Permalink
Commits on Jun 28, 2018
  1. Update QUIC transport parameters extension codepoint

    ghedo authored and CQ bot account: commit-bot@chromium.org committed Jun 28, 2018
    This was changed in draft-ietf-quic-tls-13 to use a codepoint from the
    reserved range.
    
    Change-Id: Ia3cda249a3f37bc244d5c8a7765ec34a5708c9ae
    Reviewed-on: https://boringssl-review.googlesource.com/29464
    Reviewed-by: David Benjamin <davidben@google.com>
    Commit-Queue: David Benjamin <davidben@google.com>
    CQ-Verified: CQ bot account: commit-bot@chromium.org <commit-bot@chromium.org>
Commits on Jan 10, 2018
  1. tool: update selection of draft22 TLS 1.3 variant

    ghedo authored and CQ bot account: commit-bot@chromium.org committed Jan 10, 2018
    Change-Id: I7085a07dd2f3d802ada049a2f771ff0c74f4f902
    Reviewed-on: https://boringssl-review.googlesource.com/24764
    Reviewed-by: Steven Valdez <svaldez@google.com>
    Commit-Queue: Steven Valdez <svaldez@google.com>
    CQ-Verified: CQ bot account: commit-bot@chromium.org <commit-bot@chromium.org>
Commits on Oct 12, 2017
  1. Re-add hmac.h include to ssl.h.

    ghedo authored and davidben committed Oct 11, 2017
    Commit 9a4876e broke NGINX builds with
    BoringSSL due to this missing include (OpenSSL builds work fine):
    
      src/event/ngx_event_openssl.c: In function ‘ngx_ssl_session_ticket_key_callback’:
      src/event/ngx_event_openssl.c:3065:13: error: implicit declaration of function ‘HMAC_Init_ex’; did you mean ‘SHA1_Init’? [-Werror=implicit-function-declaration]
               if (HMAC_Init_ex(hctx, key[0].hmac_key, size, digest, NULL) != 1) {
                   ^~~~~~~~~~~~
    
    Change-Id: Ie7170f05034d5fd8c85d1948b4ab9c9bb8447d13
    Reviewed-on: https://boringssl-review.googlesource.com/21664
    Reviewed-by: Adam Langley <agl@google.com>
Commits on May 17, 2017
  1. tool: don't explicitly disable SSLv3 in the server

    ghedo authored and CQ bot account: commit-bot@chromium.org committed May 17, 2017
    Since SSLv3 is disabled by default now this is not needed anymore, but
    it makes enabling SSLv3 using -min-version impossible.
    
    At some point this should be removed anyway (when SSLv3 support is
    removed), so might as well do it now and fix this tiny problem.
    
    Change-Id: Ie3f7453b5b5198f33fcc4d4294102f116b8843ae
    Reviewed-on: https://boringssl-review.googlesource.com/16404
    Reviewed-by: Adam Langley <agl@google.com>
    Commit-Queue: Adam Langley <agl@google.com>
    CQ-Verified: CQ bot account: commit-bot@chromium.org <commit-bot@chromium.org>
Commits on May 15, 2017
  1. Add SSL_CIPHER_has_SHA384_HMAC.

    ghedo authored and CQ bot account: commit-bot@chromium.org committed May 12, 2017
    Change-Id: I7d8f9098038a82b29ab0eff8a3258975d8804a68
    Reviewed-on: https://boringssl-review.googlesource.com/16264
    Reviewed-by: David Benjamin <davidben@google.com>
    Commit-Queue: David Benjamin <davidben@google.com>
    CQ-Verified: CQ bot account: commit-bot@chromium.org <commit-bot@chromium.org>
Commits on Apr 24, 2017
  1. Remove test vectors for old ChaCha20-Poly1305 AEAD.

    ghedo authored and CQ bot account: commit-bot@chromium.org committed Apr 24, 2017
    Looks like this file was forgotten when the old suites were removed.
    
    Change-Id: Ied8d82e23ae5db0257add3c18eee46ee1a366637
    Reviewed-on: https://boringssl-review.googlesource.com/15444
    Reviewed-by: David Benjamin <davidben@google.com>
    Commit-Queue: David Benjamin <davidben@google.com>
    CQ-Verified: CQ bot account: commit-bot@chromium.org <commit-bot@chromium.org>
Commits on Apr 19, 2017
  1. Enforce max_early_data_size on the server.

    ghedo authored and CQ bot account: commit-bot@chromium.org committed Apr 17, 2017
    BUG=76
    
    Change-Id: I8b754ba17b3e0beee425929e4b53785b2e95f0ae
    Reviewed-on: https://boringssl-review.googlesource.com/15164
    Reviewed-by: David Benjamin <davidben@google.com>
    Commit-Queue: David Benjamin <davidben@google.com>
    CQ-Verified: CQ bot account: commit-bot@chromium.org <commit-bot@chromium.org>
Commits on Apr 3, 2017
  1. Support enabling early data on SSL

    ghedo authored and CQ bot account: commit-bot@chromium.org committed Mar 30, 2017
    This moves the early data switch to CERT to make this
    |SSL_set_SSL_CTX|-proof.
    
    Change-Id: Icca96e76636d87578deb24b2d507cabee7e46a4a
    Reviewed-on: https://boringssl-review.googlesource.com/14545
    Reviewed-by: David Benjamin <davidben@google.com>
    Commit-Queue: David Benjamin <davidben@google.com>
    CQ-Verified: CQ bot account: commit-bot@chromium.org <commit-bot@chromium.org>
Commits on Mar 26, 2017
  1. tool: show if early data was accepted

    ghedo authored and CQ bot account: commit-bot@chromium.org committed Mar 26, 2017
    Change-Id: I5e1302d75f863fb2e531d431a4e3ecfd90e0dca1
    Reviewed-on: https://boringssl-review.googlesource.com/14376
    Reviewed-by: David Benjamin <davidben@google.com>
    Commit-Queue: David Benjamin <davidben@google.com>
    CQ-Verified: CQ bot account: commit-bot@chromium.org <commit-bot@chromium.org>
Commits on Mar 22, 2017
  1. Name |select_certificate_cb| return values

    ghedo authored and CQ bot account: commit-bot@chromium.org committed Mar 14, 2017
    The |select_certificate_cb| return values are somewhat confusing due
    to the fact that they don't match the |cert_cb| ones, despite the
    similarities between the two callbacks (they both have "certificate" in
    the name! well, sort of).
    
    This also documents the error return value (-1) which was previously
    undocumented, and it expands the |SSL_CTX_set_select_certificate_cb|
    documentation regarding retrial (by shamelessly copying from
    |SSL_CTX_set_ticket_aead_method|).
    
    Also updates other scattered documentation that was missed by previous
    changes.
    
    Change-Id: Ib962b31d08e6475e09954cbc3c939988b0ba13f7
    Reviewed-on: https://boringssl-review.googlesource.com/14245
    Reviewed-by: David Benjamin <davidben@google.com>
    Commit-Queue: David Benjamin <davidben@google.com>
    CQ-Verified: CQ bot account: commit-bot@chromium.org <commit-bot@chromium.org>
Commits on Mar 20, 2017
  1. Fix typo in the |ssl_ticket_aead_success| documentation

    ghedo authored and CQ bot account: commit-bot@chromium.org committed Mar 14, 2017
    Change-Id: I6d07a8e146a925a14dbf5d11b4e8a57ef6eee39c
    Reviewed-on: https://boringssl-review.googlesource.com/14244
    Reviewed-by: David Benjamin <davidben@google.com>
    Commit-Queue: David Benjamin <davidben@google.com>
    CQ-Verified: CQ bot account: commit-bot@chromium.org <commit-bot@chromium.org>
  2. tool: fix typo in -root-certs description

    ghedo authored and CQ bot account: commit-bot@chromium.org committed Mar 15, 2017
    Without the space the help output is:
    
        Implies thatverification is required.
    
    Change-Id: If7ff91ef70f2d968da5f8c76de562996c83dff2f
    Reviewed-on: https://boringssl-review.googlesource.com/14246
    Reviewed-by: David Benjamin <davidben@google.com>
    Commit-Queue: David Benjamin <davidben@google.com>
    CQ-Verified: CQ bot account: commit-bot@chromium.org <commit-bot@chromium.org>
Commits on Feb 24, 2017
  1. Allow multiple IDN xn-- indicators

    ghedo authored and CQ bot account: commit-bot@chromium.org committed Feb 22, 2017
    Update the X509v3 name parsing to allow multiple xn-- international
    domain name indicators in a name.  Previously, only allowed one at
    the beginning of a name, which was wrong.
    
    (Imported from upstream's 31d1d3741f16bd80ec25f72dcdbf6bbdc5664374)
    
    Change-Id: I93f1db7a5920305569af23f9f2b30ab5cc226521
    Reviewed-on: https://boringssl-review.googlesource.com/13984
    Reviewed-by: Adam Langley <agl@google.com>
    Commit-Queue: Adam Langley <agl@google.com>
    CQ-Verified: CQ bot account: commit-bot@chromium.org <commit-bot@chromium.org>
Commits on Feb 16, 2017
  1. tool: show if server sent SCT staple

    ghedo authored and CQ bot account: commit-bot@chromium.org committed Feb 16, 2017
    Change-Id: I02e33a89345eaa935c06e3e6d88f7611049f1387
    Reviewed-on: https://boringssl-review.googlesource.com/13884
    Reviewed-by: David Benjamin <davidben@google.com>
    Commit-Queue: David Benjamin <davidben@google.com>
    CQ-Verified: CQ bot account: commit-bot@chromium.org <commit-bot@chromium.org>
Commits on Feb 7, 2017
  1. Support setting per-connection SCT list

    ghedo authored and CQ bot account: commit-bot@chromium.org committed Feb 6, 2017
    Right now the only way to set an SCT list is the per-context function
    SSL_CTX_set_signed_cert_timestamp_list. However this assumes that all the
    SSLs generated from a SSL_CTX share the same SCT list, which is wrong.
    
    In order to avoid memory duplication in case SSL_CTX has its own list, a
    CRYPTO_BUFFER is used for both SSL_CTX and SSL.
    
    Change-Id: Id20e6f128c33cf3e5bff1be390645441be6518c6
    Reviewed-on: https://boringssl-review.googlesource.com/13642
    Reviewed-by: David Benjamin <davidben@google.com>
    Commit-Queue: David Benjamin <davidben@google.com>
    CQ-Verified: CQ bot account: commit-bot@chromium.org <commit-bot@chromium.org>
  2. Remove support for setting per-connection default session timeout

    ghedo authored and CQ bot account: commit-bot@chromium.org committed Feb 6, 2017
    As previously discussed, it turns out we don't actually need this, so
    there's no point in keeping it.
    
    Change-Id: If549c917b6bd818cd36948e37cb7839c8d122b1a
    Reviewed-on: https://boringssl-review.googlesource.com/13641
    Reviewed-by: David Benjamin <davidben@google.com>
    Commit-Queue: David Benjamin <davidben@google.com>
    CQ-Verified: CQ bot account: commit-bot@chromium.org <commit-bot@chromium.org>
Commits on Jan 20, 2017
  1. Run select_certificate_cb multiple times

    ghedo authored and davidben committed Dec 20, 2016
    It's not completely clear to me why select_cetificate_cb behaves the way it
    does, however not only is it confusing, but it makes assumptions about the
    application using BoringSSL (it's not always possible to implement custom
    logic outside of the callbacks provided by libssl), that make this callback
    somewhat useless.
    
    Case in point, the callback can be used for changing min/max protocol versions
    based on per-site policies, and select_certificate_cb is the only place where
    SSL_set_min/max_proto_version() can be used (e.g. you can't call them in
    cert_cb because it's too late), but the decision on the specific versions to
    use might depend on configuration that needs retrieving asynchronously from
    over the network, which requires re-running the callback multiple times.
    
    Change-Id: Ia8e151b163628545373e7fd1f327e9af207478a6
    Reviewed-on: https://boringssl-review.googlesource.com/13000
    Reviewed-by: David Benjamin <davidben@google.com>
    Commit-Queue: David Benjamin <davidben@google.com>
Commits on Jan 17, 2017
  1. Add SSL_CIPHER_is_AEAD.

    ghedo authored and CQ bot account: commit-bot@chromium.org committed Jan 17, 2017
    Change-Id: Ia6598ee4b2d4623abfc140d6a5c0eca4bcb30427
    Reviewed-on: https://boringssl-review.googlesource.com/13180
    Reviewed-by: David Benjamin <davidben@google.com>
    Commit-Queue: David Benjamin <davidben@google.com>
    CQ-Verified: CQ bot account: commit-bot@chromium.org <commit-bot@chromium.org>
Commits on Dec 12, 2016
  1. tool: show if server sent OCSP staple

    ghedo authored and CQ bot account: commit-bot@chromium.org committed Dec 12, 2016
    Change-Id: Ib9df4e8f797c9af3362354cc6716171fd65600de
    Reviewed-on: https://boringssl-review.googlesource.com/12720
    Reviewed-by: David Benjamin <davidben@google.com>
    Commit-Queue: David Benjamin <davidben@google.com>
    CQ-Verified: CQ bot account: commit-bot@chromium.org <commit-bot@chromium.org>
Commits on Dec 8, 2016
  1. Support setting per-connection OCSP staple

    ghedo authored and CQ bot account: commit-bot@chromium.org committed Dec 7, 2016
    Right now the only way to set an OCSP response is SSL_CTX_set_ocsp_response
    however this assumes that all the SSLs generated from a SSL_CTX share the
    same OCSP response, which is wrong.
    
    This is similar to the OpenSSL "function" SSL_get_tlsext_status_ocsp_resp,
    the main difference being that this doesn't take ownership of the OCSP buffer.
    
    In order to avoid memory duplication in case SSL_CTX has its own response,
    a CRYPTO_BUFFER is used for both SSL_CTX and SSL.
    
    Change-Id: I3a0697f82b805ac42a22be9b6bb596aa0b530025
    Reviewed-on: https://boringssl-review.googlesource.com/12660
    Reviewed-by: David Benjamin <davidben@google.com>
    Commit-Queue: David Benjamin <davidben@google.com>
    CQ-Verified: CQ bot account: commit-bot@chromium.org <commit-bot@chromium.org>
Commits on Dec 1, 2016
  1. Support setting per-connection default session lifetime value

    ghedo authored and CQ bot account: commit-bot@chromium.org committed Nov 22, 2016
    Due to recent changes, changing the SSL session timeout from cert_cb is
    not possible anymore since the new |SSL_SESSION| is initialized *after*
    cert_cb is run. The alternative would be using |SSL_CTX_set_timeout| but
    the specific |SSL_CTX| could be shared by multiple |SSL|s.
    
    Setting a value on a per-connection basis is useful in case timeouts
    need to be calculated dynamically based on specific certificate/domain
    information that would be retrieved from inside cert_cb (or other
    callbacks).
    
    It would also be possible to set the value to 0 to prevent session
    resumption, which is not otherwise doable in the handshake callbacks.
    
    Change-Id: I730a528c647f83f7f77f59b5b21d7e060e4c9843
    Reviewed-on: https://boringssl-review.googlesource.com/12440
    Reviewed-by: David Benjamin <davidben@google.com>
    Commit-Queue: David Benjamin <davidben@google.com>
    CQ-Verified: CQ bot account: commit-bot@chromium.org <commit-bot@chromium.org>
Commits on Nov 16, 2016
  1. tool: print client's SNI value, if any.

    ghedo authored and CQ bot account: commit-bot@chromium.org committed Nov 14, 2016
    Change-Id: I4fbce046090f0b0e78c9de923643268cfe6f142f
    Reviewed-on: https://boringssl-review.googlesource.com/12241
    Reviewed-by: Adam Langley <agl@google.com>
    Commit-Queue: Adam Langley <agl@google.com>
    CQ-Verified: CQ bot account: commit-bot@chromium.org <commit-bot@chromium.org>
Commits on Oct 27, 2016
  1. Test getrandom(2) on Linux if available

    ghedo authored and CQ bot account: commit-bot@chromium.org committed Jul 9, 2016
    This patch changes the urandom PRNG to read one byte from the
    getrandom(2) Linux syscall on initialization in order to find any
    unexpected behavior.
    
    Change-Id: I8ef676854dc361e4f77527b53d1a14fd14d449a8
    Reviewed-on: https://boringssl-review.googlesource.com/8681
    Reviewed-by: Adam Langley <alangley@gmail.com>
    Commit-Queue: Adam Langley <alangley@gmail.com>
    CQ-Verified: CQ bot account: commit-bot@chromium.org <commit-bot@chromium.org>
Commits on Oct 3, 2016
  1. Bump OPENSSL_VERSION_NUMBER to latest 1.0.2

    ghedo authored and CQ bot account: commit-bot@chromium.org committed Oct 3, 2016
    Some projects (NGINX, OpenResty, ...) check for the, uhm, "alphabetic"
    part of OpenSSL versions as well.
    
    Change-Id: Iaa0809437756bc805235a1f53f4d62c900d22ca5
    Reviewed-on: https://boringssl-review.googlesource.com/11440
    Reviewed-by: David Benjamin <davidben@google.com>
    Commit-Queue: David Benjamin <davidben@google.com>
    CQ-Verified: CQ bot account: commit-bot@chromium.org <commit-bot@chromium.org>
Commits on Sep 30, 2016
  1. Implement SSL_CTX_set1_curves_list()

    ghedo authored and CQ bot account: commit-bot@chromium.org committed Sep 28, 2016
    This function is used by NGINX to enable specific curves for ECDH from a
    configuration file. However when building with BoringSSL, since it's not
    implmeneted, it falls back to using EC_KEY_new_by_curve_name() wich doesn't
    support X25519.
    
    Change-Id: I533df4ef302592c1a9f9fc8880bd85f796ce0ef3
    Reviewed-on: https://boringssl-review.googlesource.com/11382
    Reviewed-by: David Benjamin <davidben@google.com>
    Commit-Queue: David Benjamin <davidben@google.com>
    CQ-Verified: CQ bot account: commit-bot@chromium.org <commit-bot@chromium.org>
Commits on Sep 28, 2016
  1. Fix CMake negation and make error fatal

    ghedo authored and agl committed Sep 28, 2016
    Not sure if version-dependant, but with CMake 3.6 "!" doesn't work.
    
    Change-Id: I5f91234b27e340142b479b602d4102134ad55ccb
    Reviewed-on: https://boringssl-review.googlesource.com/11381
    Reviewed-by: Adam Langley <agl@google.com>
Commits on Sep 13, 2016
  1. Implement BIO_eof() for compatibility

    ghedo authored and CQ bot account: commit-bot@chromium.org committed Sep 11, 2016
    This function (actually a macro in OpenSSL) is used by several projects
    (e.g. OpenResty, OpenVPN, ...) so it can useuful to provide it for
    compatibility.
    
    However, depending on the semantics of the BIO type (e.g. BIO_pair), the
    return value can be meaningless, which might explain why it was removed.
    
    Change-Id: I0e432c92222c267eb994d32b0bc28e999c4b40a7
    Reviewed-on: https://boringssl-review.googlesource.com/11020
    CQ-Verified: CQ bot account: commit-bot@chromium.org <commit-bot@chromium.org>
    Reviewed-by: Adam Langley <agl@google.com>
    Commit-Queue: Adam Langley <agl@google.com>
Commits on Sep 12, 2016
  1. Remove trailing ';' from macros

    ghedo authored and CQ bot account: commit-bot@chromium.org committed Aug 3, 2016
    For consistency and to avoid a pedantic GCC warning (even though it's
    mostly old legacy code).
    
    Change-Id: Iea63eb0a82ff52914adc33b83e48450f4f6a49ef
    Reviewed-on: https://boringssl-review.googlesource.com/11021
    Reviewed-by: Adam Langley <agl@google.com>
    Commit-Queue: Adam Langley <agl@google.com>
    CQ-Verified: CQ bot account: commit-bot@chromium.org <commit-bot@chromium.org>
Commits on Aug 3, 2016
  1. Remove spurious ';' and fix indentation for macro arguments in one file

    ghedo authored and CQ bot account: commit-bot@chromium.org committed Aug 2, 2016
    Align closer to upstream OpenSSL 1.0.2's formatting for this file.
    
    Change-Id: Id29ebc2bbf19f18a7d3001545b0992b26206a2c0
    Reviewed-on: https://boringssl-review.googlesource.com/9052
    Reviewed-by: Adam Langley <agl@google.com>
    Commit-Queue: Adam Langley <agl@google.com>
    CQ-Verified: CQ bot account: commit-bot@chromium.org <commit-bot@chromium.org>
Commits on Jul 11, 2016
  1. Define RAND_cleanup in one place only

    ghedo authored and agl committed Jul 10, 2016
    Change-Id: I439e275394c2ad686924f4e7dfc99cfdc7bb14b9
    Reviewed-on: https://boringssl-review.googlesource.com/8682
    Reviewed-by: Adam Langley <agl@google.com>