-
Notifications
You must be signed in to change notification settings - Fork 1.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Proposed 1.8.0-b5 #3927
Closed
Closed
Proposed 1.8.0-b5 #3927
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Under some circumstances, it is possible to induce an out-of-bounds memory read in the base58 decoder. This commit addresses this issue. Acknowledgements: Guido Vranken for discovering and 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. Ripple is generously sponsoring a bug bounty program for the rippled project. For more information please visit: https://ripple.com/bug-bounty
The Negative UNL is a feature of the XRP Ledger consensus protocol that improves liveness (the network's ability to make forward progress) during a partial outage. Using the Negative UNL, servers adjust their effective UNLs based on which validators are currently online and operational, so that a new ledger version can be declared validated even if several trusted validators are offline. The Negative UNL has no impact on how the network processes transactions or what transactions' outcomes are, except that it improves the network's ability to declare outcomes final during some types of partial outages. The feature was originally introduced with version **1.6.0** but it was only possible to manually enable this. If merged, this commit introduces the amendment associated with the feature so that server operators can vote on whether to enable this feature. For more details, please see https://xrpl.org/negative-unl.html This commit closes XRPLF#3898.
The legacy functions `cdirFirst` and `dirFirst` were mostly identical; the differences were only type-related. The same situation existed with `cdirNext` and `dirNext`. This commit removes the duplicated code by introducing new template functions that abstract away the differences that are present between each pair of functions. This commit also improves the naming of function arguments, helping to elucidate their purpose & use and to make the code self-documenting.
This commit removes the `ltINVALID` pseudo-type identifier from `LedgerEntryType` and the `ttINVALID` pseudo-type identifier from `TxType` and includes several small additional improvements that help to simplify the code base. It also improves the documentation `LedgerEntryType` and `TxType`, which was all over the place, and highlights some important caveats associated with making changes to the ledger and transaction type identifiers. The commit also adds a safety check to the `KnownFormats<>` class, that will catch the the accidental reuse of format identifiers. Ideally, this should be done at compile time but C++ does not (yet?) allow for the sort of introspection that would enable this.
The existing license file contains copyright statements and license snippets referencing code that has long since been removed from the codebase and which are not necessary any longer. The general copyright statement for the ISC License is also changed from "Ripple Labs" which is one contributor to the codebase, to the more general "XRP Ledger Developers". Remaining code which was originally taken from Bitcoin includes the relevant copyright statement(s) inline. To aid in the automated detection of the license type by GitHub and tools like `licensee`, the following statement which referenced the ISC license, and which was listed at the bottom of the file, is now incorporated at the top: >The accompanying files incorporate work covered by the following copyright >and previous license notice: > >Copyright (c) 2011 Arthur Britto, David Schwartz, Jed McCaleb, >Vinnie Falco, Bob Way, Eric Lombrozo, Nikolaos D. Bougalis, Howard Hinnant
The existing logic involves every server sending every transaction that it receives to all its peers (except the one that it received a transaction from). This commit instead uses a randomized algorithm, where a node will randomly select peers to relay a given transaction to, caching the list of transaction hashes that are not relayed and forwading them to peers once every second. Peers can then determine whether there are transactions that they have not seen and can request them from the node which has them. It is expected that this feature will further reduce the bandwidth needed to operate a server.
The most up-to-date macOS build instructions are on xrpl.org
There are two mutexes in ValidatorSite: `site_mutex_` and `state_mutex_`. Some function end up locking both mutexes. However, depending on the call, the mutexes could be locked in different orders, resulting in deadlocks. If both mutexes are locked, this patch always locks the `sites_mutex_` first.
availabe -> available
Recent changes to reject relative pathnames in DEBIAN/conffiles cause deb packages to fail on Debian 11 (Bullseye). For more details: https://git.dpkg.org/cgit/dpkg/dpkg.git/commit/?id=15416a18f7645dbb9a36edb1e52f30a9e83c6627
* Patch the soci unsigned-types.h file. If no changes are made, delete the patched file and exit. If there are changes, backup the original and replace it with the patched file. * Fixes XRPLF#3885 Patch Rocksdb only once: * The repeated patches do not appear to affect build times, but avoiding unnecessary copies is good for its own sake.
* Also refactor to use `jss` labels instead of strings for JSON fields.
Also integrates use of ripple::Expected into the code base.
Merged
Superseded by #3928 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
If merged this PR will:
close: #3892
close: #3918
close: #3909
close: #3906
close: #3910
close: #3904
close: #3896
close: #3903
close: #3894
close: #3888
close: #3869
close: #3618
close: #3788
close: #3924
close: #3923
close: #3920
close: #3915
close: #3914
close: #3916
close: #3926