boringssl/ssl
David Benjamin 2908dd141f Add bssl::UpRef.
bssl::UniquePtr and FOO_up_ref do not play well together. Add a helper
to simplify this. This allows us to write things like:

   foo->cert = UpRef(bar->cert);

instead of:

   if (bar->cert) {
     X509_up_ref(bar->cert.get());
   }
   foo->cert.reset(bar->cert.get());

This also plays well with PushToStack. To append something to a stack
while taking a reference, it's just:

   PushToStack(certs, UpRef(cert))

Change-Id: I99ae8de22b837588a2d8ffb58f86edc1d03ed46a
Reviewed-on: https://boringssl-review.googlesource.com/29584
Commit-Queue: David Benjamin <davidben@google.com>
CQ-Verified: CQ bot account: commit-bot@chromium.org <commit-bot@chromium.org>
Reviewed-by: Adam Langley <agl@google.com>
2018-07-03 22:47:36 +00:00
..
test Add bssl::UpRef. 2018-07-03 22:47:36 +00:00
bio_ssl.cc Switch a number of files to C++. 2017-07-12 20:54:02 +00:00
CMakeLists.txt Add initial, experimental support for split handshakes. 2018-01-31 22:24:17 +00:00
custom_extensions.cc Rename ssl3_send_alert and ssl3_protocol_version. 2017-10-12 16:24:35 +00:00
d1_both.cc Fix build with GCC 4.9.2 and -Wtype-limits. 2018-05-08 22:21:45 +00:00
d1_lib.cc Give DTLS1_STATE a destructor. 2017-10-25 03:23:26 +00:00
d1_pkt.cc Make SSL3_BUFFER a proper C++ class. 2017-10-24 17:32:45 +00:00
d1_srtp.cc Move srtp_profiles to SSL_CONFIG. 2018-05-03 15:20:13 +00:00
dtls_method.cc Remove trailing whitespace from ssl/. 2018-02-26 22:05:13 +00:00
dtls_record.cc Use the actual record header, rather than reassembling it. 2018-04-10 19:52:33 +00:00
handoff.cc Remove SSL 3.0 implementation. 2018-06-28 16:54:58 +00:00
handshake_client.cc Add bssl::UpRef. 2018-07-03 22:47:36 +00:00
handshake_server.cc Add bssl::UpRef. 2018-07-03 22:47:36 +00:00
handshake.cc Remove SSL 3.0 implementation. 2018-06-28 16:54:58 +00:00
internal.h Namespace SSL_X509_METHOD. 2018-07-03 21:41:36 +00:00
s3_both.cc Remove SSL 3.0 implementation. 2018-06-28 16:54:58 +00:00
s3_lib.cc SSL_CONFIG: new struct for sheddable handshake configuration. 2018-05-01 20:40:16 +00:00
s3_pkt.cc Pack encrypted handshake messages together. 2018-05-29 14:28:56 +00:00
span_test.cc Add bssl::SealRecord and bssl::OpenRecord. 2017-07-24 20:14:08 +00:00
ssl_aead_ctx.cc Remove SSL 3.0 implementation. 2018-06-28 16:54:58 +00:00
ssl_asn1.cc Add bssl::UpRef. 2018-07-03 22:47:36 +00:00
ssl_buffer.cc Move init_buf and rwstate into SSL3_STATE. 2017-10-24 18:55:05 +00:00
ssl_cert.cc Add bssl::UpRef. 2018-07-03 22:47:36 +00:00
ssl_cipher.cc Remove SSL 3.0 implementation. 2018-06-28 16:54:58 +00:00
ssl_file.cc Avoid modifying stack in sk_find. 2018-04-12 21:02:12 +00:00
ssl_key_share.cc Check for nullptr result of SSLKeyShare::Create(). 2018-04-10 22:55:53 +00:00
ssl_lib.cc Add bssl::UpRef. 2018-07-03 22:47:36 +00:00
ssl_privkey.cc Add bssl::UpRef. 2018-07-03 22:47:36 +00:00
ssl_session.cc Add bssl::UpRef. 2018-07-03 22:47:36 +00:00
ssl_stat.cc Remove trailing whitespace from ssl/. 2018-02-26 22:05:13 +00:00
ssl_test.cc Add bssl::UpRef. 2018-07-03 22:47:36 +00:00
ssl_transcript.cc Remove SSL 3.0 implementation. 2018-06-28 16:54:58 +00:00
ssl_versions.cc Remove SSL 3.0 implementation. 2018-06-28 16:54:58 +00:00
ssl_x509.cc Add bssl::UpRef. 2018-07-03 22:47:36 +00:00
t1_enc.cc Remove SSL 3.0 implementation. 2018-06-28 16:54:58 +00:00
t1_lib.cc Remove SSL 3.0 implementation. 2018-06-28 16:54:58 +00:00
tls13_both.cc Implement the client side of certificate compression. 2018-06-18 22:16:11 +00:00
tls13_client.cc Flip SSL_SESSION fields to bool. 2018-07-03 21:26:16 +00:00
tls13_enc.cc Remove draft22 and experiment2. 2018-01-31 18:07:53 +00:00
tls13_server.cc Flip SSL_SESSION fields to bool. 2018-07-03 21:26:16 +00:00
tls_method.cc Pack encrypted handshake messages together. 2018-05-29 14:28:56 +00:00
tls_record.cc Use the actual record header, rather than reassembling it. 2018-04-10 19:52:33 +00:00