|  | Commit message (Collapse) | Author | Age | Files | Lines | 
|---|
| ... |  | 
| | |  | 
| | |  | 
| | 
| 
| 
| | of pages anymore, but also cache larger regions; ok tb@ | 
| | |  | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| | In order to fail gracefully on encountering a self-signed cert, curl looks
at the top-most error on the stack and needs specific SSL_R_ error codes.
This mechanism was broken when the tls13_alert_sent_cb() was added after
people complained about unhelpful unknown errors. Fix this by only setting
the error code from a fatal alert if no error has been set previously.
Issue reported by Christopher Reid
ok jsing | 
| | |  | 
| | 
| 
| 
| | input from bcook@, ok and comments from tb@ | 
| | 
| 
| 
| | ok and input from tb@ | 
| | |  | 
| | |  | 
| | |  | 
| | 
| 
| 
| 
| 
| 
| 
| 
| | For dynamically allocated verify parameters, param->name is only ever set
in X509_VERIFY_set1_name() where the old one is freed and the new one is
assigned via strdup(). Setting it to NULL without freeing it beforehand is
a leak.
looks correct to millert, ok inoguchi | 
| | |  | 
| | |  | 
| | |  | 
| | |  | 
| | |  | 
| | |  | 
| | 
| 
| 
| | Leaks reported by Ilya Shipitsin. | 
| | |  | 
| | 
| 
| 
| 
| | similar that have no isssues. Reported by Michael Paoli.  Failing
cases commented out for now. | 
| | 
| 
| 
| | ok jsing@ tb@ | 
| | |  | 
| | 
| 
| 
| 
| 
| | diff from robert scheck
discussed with and tweaked by sthen | 
| | |  | 
| | 
| 
| 
| | Reminded by inoguchi jsing | 
| | |  | 
| | |  | 
| | 
| 
| 
| | ok bcook inoguchi jsing | 
| | 
| 
| 
| | ok bcook inoguchi jsing | 
| | 
| 
| 
| | ok bcook inoguchi jsing | 
| | 
| 
| 
| | ok bcook inoguchi jsing | 
| | 
| 
| 
| | ok bcook inoguchi jsing | 
| | 
| 
| 
| | ok bcook inoguchi jsing | 
| | 
| 
| 
| | ok bcook inoguchi jsing | 
| | 
| 
| 
| | ok bcook inoguchi jsing | 
| | |  | 
| | 
| 
| 
| | Based on some text in OpenSSL 1.1.1's EVP_PKEY_new.pod. | 
| | 
| 
| 
| | ok tb@ | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| | When server side renegotiation is triggered, the TLSv1.2 state machine
sends a HelloRequest before going to ST_SW_FLUSH and ST_OK. In this case
we do not need the transcript and currently hit the sanity check in ST_OK
that ensures the transcript has been freed, breaking server initiated
renegotiation. We do however need the transcript in the DTLS case.
ok tb@ | 
| | 
| 
| 
| 
| 
| 
| 
| 
| | This moves the finish_md and peer_finish_md from the 'tmp' struct to the
handshake struct, renaming to finished and peer_finished in the process.
This also allows the remaining S3I(s) references to be removed from the
TLSv1.3 client and server.
ok inoguchi@ tb@ | 
| | |  | 
| | 
| 
| 
| 
| 
| 
| | This adds checks (based on the TLSv1.3 implementation) to ensure that the
TLS/DTLS sequence numbers do not wrap, as required by the respective RFCs.
ok inoguchi@ tb@ | 
| | 
| 
| 
| 
| 
| 
| | sebastia ran into this when attempting to update security/hcxtools.
This will be tested via wycheproof.go once the symbol is public.
ok jsing, tested by sebastia | 
| | 
| 
| 
| | Update comment. | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| | Currently, SSL_is_dtls exists in both libssl and apps.c,
and one in libssl is guarded by LIBRESSL_INTERNAL and not exposed yet.
This causes portable build broke with openssl(1) and optionstest.
To solve this temporarily, rename SSL_is_dtls by apps.h.
This temporary renaming will be removed when the SSL_is_dtls() is exposed.
ok jsing@ | 
| | 
| 
| 
| 
| 
| 
| | This test covers various scenarios with renegotiation and session
resumption. In particular it crashes the OpenSSL 1.1.1j server due
to the sigalg NULL deref fixed this week. We need --sig-algs-drop-ok
since we do not currently implement signature_algorithms_cert. | 
| | 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| 
| | This variable is used in the legacy stack to decide whether we are
a server or a client. That's what s->server is for...
The new TLSv1.3 stack failed to set s->internal->type, which resulted
in hilarious mishandling of previous_{client,server}_finished. Indeed,
both client and server would first store the client's verify_data in
previous_server_finished and later overwrite it with the server's
verify_data. Consequently, renegotiation has been completely broken
for more than a year. In fact, server side renegotiation was broken
during the 6.5 release cycle. Clearly, no-one uses this.
This commit fixes client side renegotiation and restores the previous
behavior of SSL_get_client_CA_list(). Server side renegotiation will
be fixed in a later commit.
ok jsing | 
| | 
| 
| 
| | ok bluhm@, inoguchi@, tb@, deraadt@ | 
| | 
| 
| 
| | This test currently fails but may soon be fixed. |