boringssl/ssl
Adam Langley 01797e309f psk_client_callback, 128-byte id bug.
Fix a bug in handling of 128 byte long PSK identity in
psk_client_callback.

OpenSSL supports PSK identities of up to (and including) 128 bytes in
length. PSK identity is obtained via the psk_client_callback,
implementors of which are expected to provide a NULL-terminated
identity. However, the callback is invoked with only 128 bytes of
storage thus making it impossible to return a 128 byte long identity and
the required additional NULL byte.

This CL fixes the issue by passing in a 129 byte long buffer into the
psk_client_callback. As a safety precaution, this CL also zeroes out the
buffer before passing it into the callback, uses strnlen for obtaining
the length of the identity returned by the callback, and aborts the
handshake if the identity (without the NULL terminator) is longer than
128 bytes.
2014-06-20 13:17:37 -07:00
..
pqueue Inital import. 2014-06-20 13:17:32 -07:00
test Inital import. 2014-06-20 13:17:32 -07:00
CMakeLists.txt Inital import. 2014-06-20 13:17:32 -07:00
d1_both.c Inital import. 2014-06-20 13:17:32 -07:00
d1_clnt.c Inital import. 2014-06-20 13:17:32 -07:00
d1_enc.c Inital import. 2014-06-20 13:17:32 -07:00
d1_lib.c Inital import. 2014-06-20 13:17:32 -07:00
d1_meth.c Inital import. 2014-06-20 13:17:32 -07:00
d1_pkt.c CBC record splitting. 2014-06-20 13:17:35 -07:00
d1_srtp.c Inital import. 2014-06-20 13:17:32 -07:00
d1_srvr.c Fix TLS-PSK identity hint implementation issues. 2014-06-20 13:17:36 -07:00
dtls1.h Inital import. 2014-06-20 13:17:32 -07:00
s3_both.c ChannelID support. 2014-06-20 13:17:33 -07:00
s3_cbc.c Inital import. 2014-06-20 13:17:32 -07:00
s3_clnt.c psk_client_callback, 128-byte id bug. 2014-06-20 13:17:37 -07:00
s3_enc.c Fallback SCSV. 2014-06-20 13:17:36 -07:00
s3_lib.c Equal preference cipher groups. 2014-06-20 13:17:35 -07:00
s3_meth.c Inital import. 2014-06-20 13:17:32 -07:00
s3_pkt.c Fix use-after-free after a deferred alert. 2014-06-20 13:17:36 -07:00
s3_srvr.c Fix TLS-PSK identity hint implementation issues. 2014-06-20 13:17:36 -07:00
s23_clnt.c TLS extension limit check fixes. 2014-06-20 13:17:36 -07:00
s23_lib.c Inital import. 2014-06-20 13:17:32 -07:00
s23_meth.c Inital import. 2014-06-20 13:17:32 -07:00
s23_pkt.c Inital import. 2014-06-20 13:17:32 -07:00
s23_srvr.c Inital import. 2014-06-20 13:17:32 -07:00
srtp.h Inital import. 2014-06-20 13:17:32 -07:00
ssl2.h Inital import. 2014-06-20 13:17:32 -07:00
ssl3.h Add SSL_get_client_certificate_types. 2014-06-20 13:17:36 -07:00
ssl23.h Inital import. 2014-06-20 13:17:32 -07:00
ssl_algs.c Inital import. 2014-06-20 13:17:32 -07:00
ssl_asn1.c ChannelID support. 2014-06-20 13:17:33 -07:00
ssl_cert.c Add SSL_get_client_certificate_types. 2014-06-20 13:17:36 -07:00
ssl_ciph.c Const correctness. 2014-06-20 13:17:36 -07:00
ssl_error.c Early callback support. 2014-06-20 13:17:36 -07:00
ssl_lib.c Fix TLS-PSK identity hint implementation issues. 2014-06-20 13:17:36 -07:00
ssl_locl.h Early callback support. 2014-06-20 13:17:36 -07:00
ssl_rsa.c Inital import. 2014-06-20 13:17:32 -07:00
ssl_sess.c Fix TLS-PSK identity hint implementation issues. 2014-06-20 13:17:36 -07:00
ssl_stat.c Add support for asynchronous session lookup. 2014-06-20 13:17:32 -07:00
ssl_txt.c SSL AEAD support. 2014-06-20 13:17:34 -07:00
ssl.h Add SSL_get_client_certificate_types. 2014-06-20 13:17:36 -07:00
t1_clnt.c Inital import. 2014-06-20 13:17:32 -07:00
t1_enc.c Fallback SCSV. 2014-06-20 13:17:36 -07:00
t1_lib.c Move ECC extensions to end. 2014-06-20 13:17:36 -07:00
t1_meth.c Inital import. 2014-06-20 13:17:32 -07:00
t1_reneg.c Inital import. 2014-06-20 13:17:32 -07:00
t1_srvr.c Inital import. 2014-06-20 13:17:32 -07:00
tls1.h Implement ECDHE-PSK-WITH-AES-128-GCM-SHA256. 2014-06-20 13:17:35 -07:00