Skip to content
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.6.0-b5 #3388

Merged
merged 18 commits into from
May 6, 2020
Merged

Proposed 1.6.0-b5 #3388

merged 18 commits into from
May 6, 2020

Commits on May 1, 2020

  1. Configuration menu
    Copy the full SHA
    567e42e View commit details
    Browse the repository at this point in the history
  2. Harden validations:

    This commit introduces the "HardenedValidations" amendment which,
    if enabled, allows validators to include additional information in
    their validations that can increase the robustness of consensus.
    
    Specifically, the commit introduces a new optional field that can
    be set in validation messages can be used to attest to the hash of
    the latest ledger that a validator considers to be fully validated.
    
    Additionally, the commit leverages the previously introduced "cookie"
    field to improve the robustness of the network by making it possible
    for servers to automatically detect accidental misconfiguration which
    results in two or more validators using the same validation key.
    nbougalis committed May 1, 2020
    Configuration menu
    Copy the full SHA
    381606a View commit details
    Browse the repository at this point in the history
  3. Report the server version in published validations:

    Currently there is no mechanism for a validator to report the
    version of the software it is currently running. Such reports
    can be useful for those who are developing network monitoring
    dashboards and server operators in general.
    
    This commit, if merged, defines an encoding scheme to encode
    a version string into a 64-bit unsigned integer and adds an
    additional optional field to validations.
    
    This commit piggybacks on "HardenedValidations" amendment to
    determine whether version information should be propagated
    or not.
    
    The general encoding scheme is:
    
    XXXXXXXX-XXXXXXXX-YYYYYYYY-YYYYYYYY-YYYYYYYY-YYYYYYYY-YYYYYYYY-YYYYYYYY
    
    X: 16 bits identifying the particular implementation
    Y: 48 bits of data specific to the implementation
    
    The rippled-specific format (implementation ID is: 0x18 0x3B) is:
    
    00011000-00111011-MMMMMMMM-mmmmmmmm-pppppppp-TTNNNNNN-00000000-00000000
    
        M: 8-bit major version (0-255)
        m: 8-bit minor version (0-255)
        p: 8-bit patch version (0-255)
        T: 11 if neither an RC nor a beta
           10 if an RC
           01 if a beta
        N: 6-bit rc/beta number (1-63)
    nbougalis committed May 1, 2020
    Configuration menu
    Copy the full SHA
    2827de4 View commit details
    Browse the repository at this point in the history
  4. Improve loading of validator tokens (RIPD-1687):

    A deliberately malformed token can cause the server to crash during
    startup. This is not remotely exploitable and would require someone
    with access to the configuration file of the server to make changes
    and then restart the server.
    
    Acknowledgements:
    Guido Vranken 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.
    
    Ripple is generously sponsoring a bug bounty program for the
    rippled project. For more information please visit:
    
        https://ripple.com/bug-bounty
    nbougalis committed May 1, 2020
    Configuration menu
    Copy the full SHA
    6c72d5c View commit details
    Browse the repository at this point in the history

Commits on May 5, 2020

  1. Clean up and modernize code:

    This commit removes obsolete comments, dead or no longer useful
    code, and workarounds for several issues that were present in older
    compilers that we no longer support.
    
    Specifically:
    
    - It improves the transaction metadata handling class, simplifying
      its use and making it less error-prone.
    - It reduces the footprint of the Serializer class by consolidating
      code and leveraging templates.
    - It cleanups the ST* class hierarchy, removing dead code, improving
      and consolidating code to reduce complexity and code duplication.
    - It shores up the handling of currency codes and the conversation
      between 160-bit currency codes and their string representation.
    - It migrates beast::secure_erase to the ripple namespace and uses
      a call to OpenSSL_cleanse instead of the custom implementation.
    nbougalis committed May 5, 2020
    Configuration menu
    Copy the full SHA
    dbee3f0 View commit details
    Browse the repository at this point in the history
  2. Prefer keylets instead of naked hashes:

    Entries in the ledger are located using 256-bit locators. The locators
    are calculated using a wide range of parameters specific to the entry
    whose locator we are calculating (e.g. an account's locator is derived
    from the account's address, whereas the locator for an offer is derived
    from the account and the offer sequence.)
    
    Keylets enhance type safety during lookup and make the code more robust,
    so this commit removes most of the earlier code, which used naked
    uint256 values.
    nbougalis committed May 5, 2020
    Configuration menu
    Copy the full SHA
    74f9ede View commit details
    Browse the repository at this point in the history
  3. Remove the built-in "sustain" watchdog:

    The built-in watchdog is simplistic and can, sometimes, cause problems
    especially on systems that have the ability to automatically start and
    monitor processes.
    
    This commit removes the sustain system entirely, changes the handling
    of the SIGTERM signal to properly terminate the process and improves
    the error message reported to the user when the command line used to
    start `rippled` is incorrect and malformed.
    nbougalis committed May 5, 2020
    Configuration menu
    Copy the full SHA
    62a3f33 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    dbd25f0 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    a00543b View commit details
    Browse the repository at this point in the history
  6. Support boost 1.73

    seelabs authored and nbougalis committed May 5, 2020
    Configuration menu
    Copy the full SHA
    57b3543 View commit details
    Browse the repository at this point in the history
  7. Correct typos in SECURITY.md

    intelliot authored and nbougalis committed May 5, 2020
    Configuration menu
    Copy the full SHA
    4fad421 View commit details
    Browse the repository at this point in the history
  8. Correct typo in comment

    RareData authored and nbougalis committed May 5, 2020
    Configuration menu
    Copy the full SHA
    11be30d View commit details
    Browse the repository at this point in the history
  9. Add descriptive comments to 'getRippledInfo.sh':

    The script, when invoked by a server operator can collect information
    useful for debugging, while attempting to redact potentially sensitive
    data.
    
    It contained no explanation or other exposition to allow people who
    look at the file but aren't familiar with shell scripts to understand
    its purpose.
    alloynetworks authored and nbougalis committed May 5, 2020
    Configuration menu
    Copy the full SHA
    d025f3f View commit details
    Browse the repository at this point in the history
  10. Cleanup the 'PeerSet' hierarchy:

    This commit introduces no functional changes but cleans up the
    code and shrinks the surface area by removing dead and unused
    code, leveraging std:: alternatives to hand-rolled code and
    improving comments and documentation.
    thejohnfreeman authored and nbougalis committed May 5, 2020
    Configuration menu
    Copy the full SHA
    5b5226d View commit details
    Browse the repository at this point in the history
  11. Extend unit testing of account_tx with deleted account:

    The unit test now verifies that if an account is not present in the
    starting account_tx ledger, account_tx still iterates down and finds
    the transaction that deletes the account (and earlier transactions).
    scottschurr authored and nbougalis committed May 5, 2020
    Configuration menu
    Copy the full SHA
    894d346 View commit details
    Browse the repository at this point in the history
  12. Configuration menu
    Copy the full SHA
    d88a7c7 View commit details
    Browse the repository at this point in the history
  13. Revert "Add PR automation for project boards"

    This reverts commit cd78ce3.
    carlhua authored and nbougalis committed May 5, 2020
    Configuration menu
    Copy the full SHA
    d9fa148 View commit details
    Browse the repository at this point in the history
  14. Set version to 1.6.0-b5

    nbougalis committed May 5, 2020
    Configuration menu
    Copy the full SHA
    9771210 View commit details
    Browse the repository at this point in the history