| Commit message (Collapse) | Author | Files | Lines |
|
The conversion of X509V3_EXT_get_nid() from a table to a switch
omitted the OCSP no-check extension method.
Add the missing accessor declaration and switch case.
ok tb@
|
|
|
|
|
|
This API was removed a long time ago but I forgot to update the manpage
(probably because doing so is slightly non-trivial).
There's still a lot of API here that should be removed. OBJ_add_objects()
seems now unused while OBJ_new_nid() is used by the one consumer that is
single-handedly responsible for at least two dozen APIs that could otherwise
be removed from libcrypto with significant simplifications: security/xca.
It would appear the author is on a quest to figure out how to make use of
whatever undocumented garbage they can find in the openssl headers. That's
of course a hobby project you can pursue for decades.
|
|
OK tb@
|
|
ok kettenis@ tb@
|
|
Accept an optional roots file argument while retaining
/etc/ssl/cert.pem as the default. This allows portable regress users
to provide a CA bundle when the default path is unavailable.
ok tb
|
|
These functions are only used within their implementation files and do
not need external linkage. Mark them static.
ok tb
|
|
BUF_reverse() has no callers and is not part of the public API. Remove the
unused function, which also eliminates its -Wmissing-prototypes warning.
ok tb beck
|
|
Include the relevant internal headers in implementation files that define
internal functions.
Also make asn1_local.h and pkcs12_local.h self-contained by including their
corresponding public headers.
ok tb beck
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Both ui_open_session() implementations, open_console() in ui_openssl.c
in base, and the one in ui_openssl_win.c in portable, grab the lock of
type CRYPTO_LOCK_UI before doing anything else.
The only internal (and, as far as I can tell, the only existing) caller,
UI_process(), returns immediately on failure. The calling thread thus
keeps holding the lock and the next call to UI_process() will block
indefinitely. Fix this by using the common exit path, which calls
ui_close_session() aka close_console(), both implementations of which
release the lock.
Thanks to Kartik (@sage-mode-hunter) who proposed an alternative fix for
ui_openssl_win.c, which we would have to apply to ui_openssl.c as well.
Matches OpenSSL behavior since PR #2037
Closes https://github.com/libressl/portable/pull/1334
ok kenjiro
|
|
Replace the tiny-sha3 keccakf implementation with an unrolled and
interleaved algorithm, that is hidden away in an obsolete reference
implementation.
This gets us 3.3x speed up on arm64 (Apple M2), a 1.3x speed up on amd64
(Intel i7-1165G7) and 6x speed up on sparc64 (M3000).
ok tb@
|
|
|
|
|
|
b64_write() asserted that BIO_write() does not return more bytes than
requested in two places. Other BIO_write() call sites do not make this
check, and there is no special handling here that depends on asserting this
condition.
ok tb@ beck@ joshua@
|
|
SSL_CTX_set_options(3) no longer has a SECURE RENEGOTIATION section,
but SSL_OP_LEGACY_SERVER_CONNECT still referenced it. Replace the
dangling cross reference with a note that the option is no longer set
by default.
ok tb@ beck@
|
|
A ChangeCipherSpec message is always the same single byte. Make
dtls1_do_write_ccs() know how to send this message, which avoids the use of
buffers and needing to keep copies for retransmission.
ok kenjiro@ tb@
|
|
dtls1_set_message_header() is only called in one place - inline the write
handshake sequence number handling. Rename dtls1_set_message_header_int()
to dtls1_set_message_header().
The dtls12_write_ccs() code does not use handshake sequence numbers (since
they're not handshake messages) - stop pretending that it does.
ok kenjiro@ tb@
|
|
In the legacy stack, ensure that the server selected ciphersuite is valid
for use with TLSv1.2 - this effectively means that it is not a TLSv1.3
ciphersuite. We currently fail the handshake, but at a later stage.
Reported by Tom Gouville from the tlspuffin team.
ok tb@
|
|
We no longer negotiate any TLS version lower than TLSv1.2, so this is now
redundant.
ok tb@
|
|
|
|
An authority in a URI is only terminated by a slash, question mark or hash,
however the current code also included colons. This allows a specically
crafted userinfo to bypass name constraints host checks. Additionally, IPv6
literals may only be specified when enclosed with square brackets, which is
not enforced.
Rewrite parts of the host and IP parsing code to be more strict, fixing
both of these issues in the process.
Thanks to Jack Lloyd for reporting the userinfo bypass.
ok tb@
|
|
|
|
|
|
our hidden aliases to prevent unnecessary PLT entries (like we already do
for memmove(3), memcpy(4) and memset(3)).
ok deraadt@
|
|
|
|
While here drop pointless declaration for main()
|
|
|
|
|
|
Among CRLs with the same score prefer the one with the most recent
lastUpdate (RFC 5280 thisUpdate). This pulls in OpenSSL commits
626aa248, e032117d, 8b7c51a0 from 2016, so before the license change.
This uses the annoying ASN1_TIME_diff() API, but there is no better
way, really. Every other ASN1_TIME API will be just as awkward.
This fixes the currently failing x509_crl test cases.
ok kenjiro
|
|
|
|
References:
https://datatracker.ietf.org/doc/html/draft-ietf-sidrops-rpki-ccr
https://datatracker.ietf.org/doc/html/draft-ietf-sidrops-rpki-erik-protocol
https://datatracker.ietf.org/doc/html/draft-ietf-grow-yang-bgp-communities
OK tb@
|
|
|
|
From upstream musl:
https://git.musl-libc.org/cgit/musl/commit?id=c53e9b239418eb3e0e8be256abd0f6ad7608bbcf
OK tb@
|
|
Fix from upstream musl:
https://git.musl-libc.org/cgit/musl/commit?id=593caa456309714402ca4cb77c3770f4c24da9da
OK tb@
|
|
|
|
The EXFLAG_CRITICAL should be set on encountering a critical CRL
extension unsupported by the library. The current loop does the
opposite: it stops looking as soon as it finds the first critical
extension the library supports...
ok kenjiro
|
|
Currently expected to fail due to mishandling of unknown critical
extensions in x_crl.c, to be fixed shortly.
|
|
|
|
looks good to claudio
|
|
Also change some totally unreadable roff macros to slightly less unreadable
mdoc markup.
|