Age | Commit message (Collapse) | Author |
|
|
|
Test & assign and use ret instead of rv.
ok jsing
|
|
Use better variable names, split the success from the error path and
return directly rather than using an ok variable.
ok jsing
|
|
ok jsing
|
|
Use better variable names. X509_REQ_new() sets the version to the only
specified version, so there is no point to set it. Extract the subject
name, then assign to make it more obvious that we error happens if the
cert has a missing subject. Switch to X509_get0_pubkey() to avoid some
strange dance with a strangely named variable to adjust the refcount.
ok jsing
|
|
Instead of inlining a poor version of ASN1_TYPE_unpack_sequence() with
missing error checks, just call the real thing. It's safer and simpler.
ok jsing
|
|
|
|
SSL2_CF_8_BYTE_ENC was set by things such as RC4_64_WITH_MD5, which fell
victim to tedu's axe a decade ago. Zap that.
ok jsing
|
|
The way the CBB API is used, CBB_add_u16() and CBB_finish() can't actually
fail here, but if they could, cbb->base would leak. Rewrite this code with
the proper idioms to make it look right.
ok jsing
|
|
|
|
with the help of jmc
|
|
Now that we know the two OIDs we need to look for when checking for the
extension list attribute in a certification request, we can simplify this
quite a bit. There is one change of behavior. Attribute value sets are not
supposed to be empty and it makes no sense to return an empty stack of
extensions in that case, return NULL instead, matching BoringSSL.
This removes last use of ext_nids and ext_nid_list[], so these two bits
of unprotected global mutable state can now join the party in the attic.
ok jsing
|
|
Now that the global ext_nids[] array can no longer be modified by the
application, we can simplify this by returning the two possible NIDs
that we accept in the extension list attribute in PKCS#10 certification
requests.
The year is 2024. This API is entirely unused by the ecosystem. Well not
entirely! One small village of indomitable rare API use still holds out
against the cleansers. You may have guessed it: security/xca.
ok jsing
|
|
These fiddle with unprotected global state, so aren't thread safe and
of course there was no good reason to have this API in the first place.
Nothing uses it, so it becomes a noop and will be removed in the next
major bump.
ok jsing
|
|
ok florian@
|
|
This old [...] routines use [...] -> These old [...] routines [...]
|
|
No functional change.
|
|
|
|
It is not safe to unconditionally call contract() - when called repeatedly
it will shrink the bucket array to zero and then attempt to access that
allocation on the next call. Use the same guard that is used in
lh_delete().
Issue found when investigating haproxy crashes reported by wizard-it on
GitHub.
ok tb@
|
|
The only caller that could potentially call these with NULL has been fixed.
This way an ugly hack that was needed to plug a memory leak can go away and
the functions again behave as intended without OpenSSL-style workarounds.
ok beck
|
|
If s is NULL, the only thing the tm_to_*() functions do is a check that
a GeneralizedTime has a four digit year (between 0000 and 9999) and a
UTCTime has a year between 1950 and 2050. These checks are already done
in ASN1_TIME_parse() itself: the century is 100 times a two-digit value
(or 19 in the UTCTime case) plus another two-digit value.
ok beck
|
|
ASN1_time_parse() takes a mode argument. If mode != 0, there is a check
that mode is the same as the time type returned by asn1_time_parse_cbs()
otherwise ASN1_time_parse() fails. Therefore the type == mode checks in
ASN1_set_string_internal() are redundant and can be removed.
ok beck
|
|
The CBS version asn1_time_parse_cbs() handles a NULL tm gracefully, so
there is no need to avoid it by passing a pointer to a tm on the stack.
ok beck
|
|
Only print specified 0-based versions and print them with the 1-based
human interpretation. Use a colon and error check the BIO_printf()
calls. (There's a lot more to clean up in here, but that's for another
day).
Notably, X509_CRL_print_ex() is missing... I guess that's better than
having one with signature and semantics differing from X509_print_ex()
und X509_REQ_print_ex().
ok beck
|
|
ok beck (as part of a larger diff)
|
|
Avoids segfaults with an argument of 0, NaN, or Inf.
Problem reported by Colin Ian King. ok miod@ kettenis@
|
|
improvements from kettenis and jca
ok millert, jca, guenther
|
|
Clarify that %G and %g produce the rarely needed ISO week-numbering
year rather than the Gregorian calendar year.
With millert@ and Evan Silberman.
Some of the wording is from the upstream version.
ok tb@
|
|
This can vastly improve write performance. For unbuffered writes,
we now write up to INT_MAX instead of BUFSIZE. For buffered writes,
write the largest multiple of the buffer size (which may be st_blksize).
From Apple via enh at google. OK tb@
|
|
Complete precision will lead to complete confusion, however outright lies
are also bad.
|
|
|
|
/*
* This header only exists to break a circular dependency between pem and err
* Ben 30 Jan 1999.
*/
25 years of uselessness is about a quarter century more than enough.
discussed with jsing
|
|
|
|
|
|
|
|
ok jsing
|
|
|
|
|
|
|
|
|
|
The case in point is the incompatibility of the very ergonomic X509_ALGOR
API with the RC2-derived API massacre that is EVP_CIPHER_asn1_to_param()
and its "inverse".
ok jsing
|
|
This makes things slightly less gross since it involves less reaching
into nested ASN.1 structures. But don't get the idea that this means
the code is now clean.
ok jsing
|
|
ok jsing
|
|
ok jsing
|
|
|
|
|
|
|
|
ok tb@
|
|
We get an implementation of this for free by having bn_bin2bn_cbs() use
CBS_get_u8() instead of CBS_get_last_u8().
ok tb@
|
|
These will be used in upcoming changes.
ok tb@
|