Thanks to visit codestin.com
Credit goes to github.com

Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: jruby/jruby-openssl
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: v0.15.3
Choose a base ref
...
head repository: jruby/jruby-openssl
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: master
Choose a head ref
  • 16 commits
  • 27 files changed
  • 5 contributors

Commits on Jan 19, 2025

  1. Configuration menu
    Copy the full SHA
    d95a429 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    758b62e View commit details
    Browse the repository at this point in the history

Commits on Apr 14, 2025

  1. Configuration menu
    Copy the full SHA
    9c98357 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    97798e0 View commit details
    Browse the repository at this point in the history

Commits on May 7, 2025

  1. Verify hostname by default

    This was disabled years ago while we were adding support for it,
    but it has been working for some time now. This patch re-enables
    hostname verification by default.
    
    This addresses CVE-2025-46551 and GHSA-72qj-48g4-5xgx.
    
    Users can work around this by applying this patch manually to their
    own jruby-openssl and jruby installs, or by re-enabling hostname
    verification with the following code early in application boot:
    
    ```ruby
    require 'openssl'
    
    OpenSSL::SSL::SSLContext::DEFAULT_PARAMS[:verify_hostname] = true
    ```
    headius committed May 7, 2025
    Configuration menu
    Copy the full SHA
    b1fc5d6 View commit details
    Browse the repository at this point in the history
  2. Update version for 0.15.5

    headius committed May 7, 2025
    Configuration menu
    Copy the full SHA
    a2be52f View commit details
    Browse the repository at this point in the history

Commits on Jun 9, 2025

  1. Configuration menu
    Copy the full SHA
    050856c View commit details
    Browse the repository at this point in the history

Commits on Jun 12, 2025

  1. [fix] OpenSSL::ASN1::ASN1Data encoding/decoding compatibility (#265)

    * to_der on ASN1Data should convert ruby strings into java strings before encoding
    
    * handle string in asn1data
    
    * unify how taggedobjects get decoded
    HoneyryderChuck authored Jun 12, 2025
    Configuration menu
    Copy the full SHA
    de0d96c View commit details
    Browse the repository at this point in the history

Commits on Jul 25, 2025

  1. Fix OpenSSL::X509::CRL#to_pem when building CRL from scratch (#333)

    When building an CRL from scratch, the `crl` member variable has no
    value, and when calling `to_pem` on the object, the following value is
    returned instead of the actual CRL:
    
    ```
    -----BEGIN X509 CRL-----
    MAA=
    -----END X509 CRL-----
    ```
    
    The function `getCRL()` return the `crl` member variable if it is
    non-null, and generate the CRL and store it in this variable otherwise.
    It seems adequate to use this getter function rather than accessing the
    member variable directly.
    
    Fixes #163
    smortex authored Jul 25, 2025
    Configuration menu
    Copy the full SHA
    9dd7159 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    8c8232e View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    e1b03ab View commit details
    Browse the repository at this point in the history
  4. Improving completeness of ASN1 encoding/decoding (#335)

    * uncommenting the last assertion of the application specific der test
    
    * adding the basicdata tests from upstream ruby-openssl
    
    excluding already the one that I know that I can't solve, as BC does not allow tag > 31 for UNIVERSAL tag class
    
    * inlining getConstructiveTag logic, expand on the rest of the information in the tag segment
    
    the tag segment also contains info about whether the payload is for a constructed DER, and whether it's indefinite length; this info was buried in the method, with no easy way to piggyback on, so it was easier to inline the logic (only used here anyway), and propagate the rest of the information, which allows setting the indefinite_length ivar for ASN1Data objects
    
    it also raises exceptions where it couldn't (or shouldn't?)
    
    * fixing encoding of arrays in ASN1Data structures as well as dealing with EOC
    
    empty arrays on asn1data are encoded to BERSequences, which fixed some corner cases associated with asn1data
    
    EOC isn't supported OOTB by bouncycastle, so these have to be ignored in the ASN1 part, since there's no way to use DERTaggedObject
    
    some of the logic to add the EOC bytes are inlined based on the implemented from bouncycastle, which does not allow to compose on anything, as all entities are private and unextendable
    
    * do not allow encoding asn1data with indefinite_length set and a value which is not an array
    
    this is the behaviour from upstream
    
    * making the EndOfContent class a subclass of ASN1Data
    
    this is what upstream does
    
    * fixed initialization of Primitive
    
    the logic was unaligned with upstream (see ruby rewrite here: https://github.com/ruby/openssl/blob/master/lib/openssl/asn1.rb\#L107C40-L122)
    
    * rewrote isEOC as a function of its data
    
    ruby allows EOC objects to be built via ASN1Data initialization, so one has to use the info of tag and tag class instead
    
    * implement logic to der-encode objects at the base class
    
    since ruby does not have abstract classes, instances of root/intermediate classes may be instantiated, and args will determine how those objects really have to be handled
    
    this follows the logic of upstream, which implements der-encode at the base class by outsourcing to specific impls based on ivar state
    
    * loading EndOfContent class correctly
    
    so overrides are correctly loaded
    
    * adding basic constructive tests from upstream
    
    commenting out the one I could only half port, as no BC parser supports random tagged objects
    HoneyryderChuck authored Jul 25, 2025
    Configuration menu
    Copy the full SHA
    cf64b70 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    67490b5 View commit details
    Browse the repository at this point in the history
  6. [release] prepare for 0.15.5

    kares committed Jul 25, 2025
    Configuration menu
    Copy the full SHA
    889bd6d View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    9ad979b View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    2585b09 View commit details
    Browse the repository at this point in the history
Loading