Commit Graph

13700 Commits

Author SHA1 Message Date
Richard Holland
d4b54c20ed change hook max to 10 2023-03-20 15:07:42 +00:00
Nik Bougalis
150d4a47e4 refactor: optimize NodeStore object conversion: (#4353)
When writing objects to the NodeStore, we need to convert them from
the in-memory format to the binary format used by the node store.

The conversion is handled by the `EncodedBlob` class, which is only
instantiated on the stack. Coupled with the fact that most objects
are under 1024 bytes in size, this presents an opportunity to elide
a memory allocation in a critical path.

This commit also simplifies the interface of `EncodedBlob` and
eliminates a subtle corner case that could result in dangling
pointers.

These changes are not expected to cause a significant reduction in
memory usage. The change avoids the use of a `std::shared_ptr` when
unnecessary and tries to use stack-based memory allocation instead
of the heap whenever possible.

This is a net gain both in terms of memory usage (lower
fragmentation) and performance (less work to do at runtime).
2023-03-16 15:00:07 -07:00
Ed Hennis
1c9df69b33 fix(ValidatorSite): handle rare null pointer dereference in timeout: (#4420)
In rare circumstances, both `onRequestTimeout` and the response handler
(`onSiteFetch` or `onTextFetch`) can get queued and processed. In all
observed cases, the response handler processes a network error.
`onRequestTimeout` usually runs first, but on rare occasions, the
response handler runs first, which leaves `activeResource` empty.
2023-03-16 10:32:22 -07:00
RichardAH
10555faa92 fix(gateway_balances): handle overflow exception: (#4355)
* Prevent internal error by catching overflow exception in `gateway_balances`.
* Treat `gateway_balances` obligations overflow as max (largest valid) `STAmount`.
  * Note that very large sums of STAmount are approximations regardless.

---------

Co-authored-by: Scott Schurr <scott@ripple.com>
2023-03-16 10:25:40 -07:00
Elliot Lee
0f1ffff068 Set version to 1.10.1-b1 2023-03-14 21:21:50 -07:00
Chenna Keshava B S
9309b57364 Rectify the import paths of boost/iterator: (#4293)
- MSVC 19.x reported a warning about import paths in boost for
  function_output_iterator class (boost::function_output_iterator).
- Eliminate that warning by updating the import paths, as suggested by
  the compiler warnings.
2023-03-14 21:10:56 -07:00
RichardAH
cb08f2b6ec Allow port numbers be be specified with a colon: (#4328)
Port numbers can now be specified using either a colon or a space.

Examples:

1.2.3.4:51235

1.2.3.4 51235

- In the configuration file, an annoying "gotcha" for node operators is
  accidentally specifying IP:PORT combinations using a colon. The code
  previously expected a space, not a colon. It also does not provide
  good feedback when this operator error is made.
- This change simply allows this mistake (using a colon) to be fixed
  automatically, preserving the intention of the operator.
- Add unit tests, which test the functionality when specifying IP:PORT
  in the configuration file.
- The RPCCall test regime is not specific enough to test this
  functionality, it has been tested by hand.
- Ensure IPv6 addresses are not confused for ip:port

---------

Co-authored-by: Elliot Lee <github.public@intelliot.com>
2023-03-14 21:06:30 -07:00
drlongle
84cde3ce0b Use <=> operator for base_uint, Issue, and Book: (#4411)
- Implement the `operator==` and the `operator<=>` (aka the spaceship
  operator) in `base_uint`, `Issue`, and `Book`. 
- C++20-compliant compilers automatically provide the remaining
  comparison operators (e.g. `operator<`, `operator<=`, ...).
- Remove the function compare() because it is no longer needed.
- Maintain the same semantics as the existing code.
- Add some unit tests to gain further confidence.
- Fix #2525.
2023-03-14 20:54:54 -07:00
Mark Travis
f7b3ddd87b Reporting Mode: Do not attempt to acquire missing data from peer network (#4458)
In Reporting Mode, a server would core dump when it is not able to read
from Cassandra. This patch prevents the core dump when Cassandra is down
for reporting mode servers. This does not fix the root cause, but it
cuts down on some of the resulting noise.
2023-03-14 20:49:40 -07:00
Elliot Lee
1e7710eee2 docs: security bug bounty acknowledgements (#4460) 2023-03-14 13:08:56 -07:00
Elliot Lee
07f047b1e2 Set version to 1.10.0
Merge #4451
2023-03-14 09:30:22 -07:00
Richard Holland
190c18a7c2 fix for fyeo-46 (#49) 2023-03-14 12:29:38 +00:00
Richard Holland
4228946747 fix for fyeo-45 (#48) 2023-03-14 12:14:58 +00:00
Richard Holland
7c364377fe fix for fyeo-44 (#47) 2023-03-14 11:58:15 +00:00
Richard Holland
94d3d5a6bb fix for fyeo-43 (#46) 2023-03-14 11:04:52 +00:00
Richard Holland
8f02b24cc4 fix for fyeo-42 (#45) 2023-03-14 10:44:00 +00:00
Richard Holland
f732d724a2 fix for fyeo-41 (#44) 2023-03-14 10:30:27 +00:00
Richard Holland
cd8faf611c fix naming of URIToken jss, change IOUEscrow and URIToken to default no 2023-03-13 10:40:34 +00:00
Denis Angell
b35c23bf90 cleanup tests 2023-03-13 10:07:22 +00:00
Denis Angell
696ed4729b update account objects test 2023-03-13 10:07:12 +00:00
Denis Angell
8abfbc1ae9 ledger entry test 2023-03-13 10:07:01 +00:00
Denis Angell
6c6cd26a9a clean unused vars 2023-03-13 10:06:50 +00:00
Denis Angell
8a02a58e4b injection tests + uri tests + cleanup 2023-03-13 10:06:39 +00:00
RichardAH
9e1b969e4c Merge pull request #43 from Xahau/alloynetworks-dev
Add bacab.alloy.ee to bootstrap
2023-03-13 08:18:12 +01:00
Alloy Networks
1d75b27a1b Add bacab.alloy.ee to bootstrap
Add bootstrap hubs instead of 0.0.0.0
2023-03-11 11:05:23 +02:00
RichardAH
466c7dba9f Update build-in-docker.yml
make auto build run on release branch
2023-03-11 07:59:38 +00:00
Richard Holland
c19af115c8 fix for escrow seqID bug found on testnet 2023-03-09 11:25:29 +00:00
Richard Holland
bf41273d2f fix for non-deterministic time bug found on testnet 2023-03-09 09:21:41 +00:00
Richard Holland
39f81d0af5 fix for #40 2023-03-07 15:00:29 +00:00
Richard Holland
b5f6205f4d fix for #39 2023-03-07 14:23:32 +00:00
Richard Holland
7abfc033c0 fix for #38 2023-03-07 14:06:54 +00:00
Richard Holland
0940843766 ensure release builder is not releasing with assert enabled 2023-03-07 13:10:07 +00:00
Richard Holland
663c1bda0e fix for #35 2023-03-07 07:54:40 +00:00
Richard Holland
c0efc5ea5f fix for #34 2023-03-07 07:24:18 +00:00
Richard Holland
2b1727fb05 add optional destination tag to ttINVOKE 2023-03-06 09:48:13 +00:00
Elliot Lee
8687b5c3c9 Set version to 1.10.0-rc4 2023-03-02 14:28:08 -08:00
Kenny Lei
ecd49e1535 Rename 'NFT' to 'NFToken' in DisallowIncoming flags (#4442)
* Follow-up to #4336
* NFToken is the naming convention in the codebase (rather than NFT)
* Rename `lsfDisallowIncomingNFTOffer` to `lsfDisallowIncomingNFTokenOffer`
* Rename `asfDisallowIncomingNFTOffer` to `asfDisallowIncomingNFTokenOffer`
2023-03-02 13:01:50 -08:00
Elliot Lee
c77a8d5ec6 Update Docker.md (#4432)
* Add links to some related resources that may be helpful.
* Docker images can make testing easier to do.
2023-03-02 10:07:09 -08:00
Michael Legleux
e13676f709 Update package building scripts and images to use Conan (#4435)
* Set version to 1.10.0-rc3
* Test on Fedora 37
* Dependency builds are handled by Conan
2023-02-28 14:17:07 -08:00
Elliot Lee
74594d5348 Disable duplicate detector: (#4438)
Partially revert the functionality introduced
with #4195 / 5a15229 (part of 1.10.0-b1).

Acknowledgements:
Aaron Hook for responsibly disclosing this issue.

Bug Bounties and Responsible Disclosures:
We welcome reviews of the rippled code and urge researchers to
responsibly disclose any issues they may find.

To report a bug, please send a detailed report to:

    bugs@xrpl.org

---------

Co-authored-by: Nik Bougalis <nikb@bougalis.net>
2023-02-28 14:12:28 -08:00
Richard Holland
ae350c4390 fix for #33 2023-02-28 08:51:03 +00:00
Richard Holland
8a62a613ec fix for #31 and #32 2023-02-28 08:31:28 +00:00
Ed Hennis
caf4827c0b Undo API changes introduced in XRPFees: (#4429)
* Original changes: e4b17d1cf2
* Resolve #4425
2023-02-24 08:41:28 -08:00
Richard Holland
e5840f67e5 jss fix 2023-02-24 09:30:50 +00:00
Denis Angell
ef3272b3ad fixup! account_objects test 2023-02-24 08:55:13 +00:00
Denis Angell
bcdaca0f23 add gateway & uri test 2023-02-24 08:52:28 +00:00
Denis Angell
9998e33495 add gateway 2023-02-24 08:51:11 +00:00
Denis Angell
5fa071c833 reformat test env setup and add tests 2023-02-24 08:44:19 +00:00
Denis Angell
649a9392f5 enable noissuer guard and logs 2023-02-24 08:43:47 +00:00
Denis Angell
cfb6dfedf9 add ticket seq to uritoken txs 2023-02-24 08:41:59 +00:00