Age | Commit message (Collapse) | Author |
|
Output is mostly the same apart from some space differences.
OK tb@ job@
|
|
CMS_get0_SignerInfos() only returns a non-NULL pointer if the CMS object
contains SignedData. The subsequent assert can trigger if we parse an
object that is not of this type. Nothing ensures this up to this point,
so we have no way of knowing that the assertion is actually true. If we
get a CMS object without SignedData, we should ignore it, not abort the
rpki-client run. With this check in place it is also clear that we
actually check point 1a of the list of things to check in RFC 6488,
section 3.
ok claudio job
|
|
|
|
ok dv@
|
|
|
|
accordingly zap the extra blocks that are no longer needed making
this look less funky
|
|
|
|
|
|
|
|
and is definitely worthy of a comment)
|
|
|
|
until all old packages are gone
|
|
|
|
explicitly return undef from check,
which will prevent casual me from 'fixing' it later
|
|
to decide a default right away (I should apply this
everywhere I go to read a plist actually)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
delegating the choice of the class to a separate method
- zap/improve meaningless comments
- mark ntogo as a focus for improvements
|
|
|
|
OK tb@ (from a larger diff)
|
|
the remaining data around.
There is an improbable case where a NOTIFICATION is received while also
reaching the MSG_PROCESS_LIMIT. In this case rbuf is NULL when breaking
out of the for loop and hitting this code.
sthen@ is the (un)lucky person to hit that improbable case
OK tb@ sthen@
|
|
|
|
are done when the full repo path is available. Without this all repo
lookups returned NULL and the code did not work as intended.
OK tb@
|
|
last PROC_COUNT use was removed with the switch to fork+exec by eric@ in
2016, CA_FILE with the removal of cert.c two years ago.
ok tb@, kn@
|
|
|
|
The former is broken by design and should not be used. The latter allows
for unambiguous error checking. Add a few casts to print uint64_t without
the PRIu64 monstrosity.
ok claudio
|
|
Instead of decoding an ASN1_INTEGER by hand because ASN1_INTEGER_get()
is broken by design and would report an error on LP32 architectures for
the reserved ASid UINT32_MAX, we can simplify this ugliness and use the
ASN1_INTEGER_get_uint64() API, available since LibreSSL 3.6.
ok claudio
|
|
Second step of moving away from ASN1_time_parse(). Being an OpenSSL API,
ASN1_TIME_to_tm() supports a variety of things. In this specific case we
don't really want it to parse anything but a GeneralizedTime expressed in
Zulu time. Unfortunately, OpenSSL make this annoying. So punt on this and
only do checks for the correct type and length. LibreSSL only accepts Zulu
time, so there is no change of behavior.
ok claudio job
|
|
Instead of using the LibreSSL-specific ASN1_time_parse(), we can use
OpenSSL's ASN1_TIME_to_tm() which LibreSSL provides since 3.6.0. The
latter has a few API quirks such as silently falling back to being a
timegm() replacement if called with a NULL ASN1_TIME. We don't want
that, so just return an error instead.
rpki-client portable now needs LibreSSL >= 3.6. This is a small price
to pay for rather significant smiplifications in regress and portable
(which will be possible after the next commit).
Also adjust a couple of error strings.
ok claudio job
|
|
We convert these struct tm into time_t in the next few lines, so we can
simply use > instead.
ok claudio job
|
|
|
|
just until one accepts the TCP connection. In multi server environments,
this makes ypldap more resilient when some servers are misbehaving.
While here, add the server address to log messages relating to connection
errors to make it easier to identify which server is failing.
ok tb@
|
|
|
|
accordingly, load it "just in time" in State.
Most calls get simplified, and we can save more state for later.
|
|
export part, and be explicit about how we call code refs.
|
|
instead of defined/undefined, so that the code sub is called with
the right number of parameters.
|
|
|
|
on a BSD system anyhow (duh moment, thx semarie@)
|
|
pathname and junk are both optional, but indipendently so.
ok aisha, millert
|
|
|
|
|
|
|
|
Use execv(3) instead of system(3) to run external commands.
This avoids problems with whitespace and shell metacharacters
in path names. OK op@
|
|
|
|
|
|
(for try/catch)
signatures will be much more powerful once I move to 5.36
|