summaryrefslogtreecommitdiff
path: root/usr.sbin
AgeCommit message (Collapse)Author
2019-11-29bring back CRL checks, noted by claudio@Sebastian Benoit
2019-11-29delete REAMDE.mdSebastian Benoit
ok claudio@ deraadt@
2019-11-29Improve the programs description a littleSebastian Benoit
2019-11-29add a comment noting missing functionalitySebastian Benoit
2019-11-29whitespacesTheo de Raadt
2019-11-29While we learn how the "decaying" histogram works it's helpful to showFlorian Obser
it in unwindctl status output next to the all time histogram.
2019-11-29Repurpose the "syscalls must be on a writeable page" mechanism toTheo de Raadt
enforce a new policy: system calls must be in pre-registered regions. We have discussed more strict checks than this, but none satisfy the cost/benefit based upon our understanding of attack methods, anyways let's see what the next iteration looks like. This is intended to harden (translation: attackers must put extra effort into attacking) against a mixture of W^X failures and JIT bugs which allow syscall misinterpretation, especially in environments with polymorphic-instruction/variable-sized instructions. It fits in a bit with libc/libcrypto/ld.so random relink on boot and no-restart-at-crash behaviour, particularily for remote problems. Less effective once on-host since someone the libraries can be read. For static-executables the kernel registers the main program's PIE-mapped exec section valid, as well as the randomly-placed sigtramp page. For dynamic executables ELF ld.so's exec segment is also labelled valid; ld.so then has enough information to register libc's exec section as valid via call-once msyscall(2) For dynamic binaries, we continue to to permit the main program exec segment because "go" (and potentially a few other applications) have embedded system calls in the main program. Hopefully at least go gets fixed soon. We declare the concept of embedded syscalls a bad idea for numerous reasons, as we notice the ecosystem has many of static-syscall-in-base-binary which are dynamically linked against libraries which in turn use libc, which contains another set of syscall stubs. We've been concerned about adding even one additional syscall entry point... but go's approach tends to double the entry-point attack surface. This was started at a nano-hackathon in Bob Beck's basement 2 weeks ago during a long discussion with mortimer trying to hide from the SSL scream-conversations, and finished in more comfortable circumstances next to a wood-stove at Elk Lakes cabin with UVM scream-conversations. ok guenther kettenis mortimer, lots of feedback from others conversations about go with jsing tb sthen
2019-11-29document use of /var/db/rpki-client/ and /var/cache/rpki-client/Sebastian Benoit
2019-11-29s/EXIT_SUCCESS/0/Sebastian Benoit
ok "yeeees" claudio@
2019-11-29e2k19 - above parSebastian Benoit
s/EXIT_FAILURE/1/ ok claudio@
2019-11-29not a backout commitSebastian Benoit
s/EXIT_FAILURE/1/ ok claudio@
2019-11-29commited at minus 21 degCSebastian Benoit
s/EXIT_FAILURE/1/ ok claudio@
2019-11-29You know the main street in white horse? On the left...Sebastian Benoit
s/EXIT_FAILURE/1/ kind of ok claudio@
2019-11-29The code is more what you'd call 'guidelines' than actual rules.Sebastian Benoit
s/EXIT_FAILURE/1/ ok claudio@
2019-11-29s/EXIT_FAILURE/1/Sebastian Benoit
ok claudio@ muppets@
2019-11-29s/EXIT_FAILURE/1/Sebastian Benoit
ok claudio@
2019-11-29s/EXIT_FAILURE/1/Sebastian Benoit
ok claudio@
2019-11-29normalize_name() is no longer neededClaudio Jeker
2019-11-29Use the AKI embedded in the CRL to store the crls. This way the AKI fromClaudio Jeker
the cert can be used to load the correct CRL. This simplifies the code even further. OK benno@, beck@ agrees that this is the right way to do it
2019-11-29If run as root, priv-drop to _rpki-client.Theo de Raadt
If no output file is specified, output to the bgpd/bgpd.conf-compatible /var/db/rpki-client/roa file. ok claudio and benno
2019-11-29fchmod 0644 the output roa file, since it is public information andTheo de Raadt
this will work better with upcoming privdrop rpki-client and bgpd consumption ok benno
2019-11-29Shuffle the desk chairs on this ocean linerClaudio Jeker
2019-11-29valid_as() should be as strict as valid_ip() when it comes to not-coveredClaudio Jeker
blocks. No longer bubble up the chain in the hope that something is covered. If this causes issues people need to fix the repository where it causes errors.
2019-11-29fix io_simple_read() change from earlier 'fix warnings' commitSebastian Benoit
found by deraadt in most unfunny circumstances.
2019-11-29Fix at least one cause of VMs spinning at 100% host CPUMike Larkin
After debugging with ori@, it looks like an event ends up on the wrong libevent queue, and we end continually de-queueing and re-queueing the event continually. While it's unclear exactly why this happened, a clue on libevent's github issues page for the same problem pointed us to using a different event base for the device events. This seems to have unstuck ori@'s problematic VM, and I have also seen no more hangs after this. We have not completely separated the queues; ori@ will work on setting new libevent bases for those later. But those events are pretty frequency. with help from and ok ori@
2019-11-28enable more warning flags and fix a few issues noticed.Sebastian Benoit
ok claudio@ deraadt@
2019-11-28improve snprintf overflow test; noted by bennoTheo de Raadt
2019-11-28Convert the auths array into an RB tree indexed by SKI. For fast lookupsClaudio Jeker
the parent auth struct is stored as a pointer so walking up the certificate chain remains simple. Doing this replaces a few slow lookups and speeds up rpki-client by a factor of 2. OK benno@
2019-11-28The root certs do not have a CRL distribution point extension so don'tClaudio Jeker
try to fetch it. OK benno@ (part of a larger diff)
2019-11-28Output to a temporary file, which gets renamed on success. This willTheo de Raadt
work much better with bgpd.conf include automation. ok claudio benno
2019-11-28convert the return code to be 0 for success and 1 for failure.Sebastian Benoit
ok claudio@ deraadt@
2019-11-28intentionally fclose output file, rather than relying on exit() to do it.Theo de Raadt
benno and stsp stared...
2019-11-28add missing prototypeSebastian Benoit
2019-11-28Remove -r flag and associated plumbing. We are always checking CRLs from now on.Sebastian Benoit
ok claudio@
2019-11-28Use scan_scaled(3) for memory in ldom.confkn
Replace the hand-written routing with a proper library allowing even more formats. Since ldomctl's local util.h conflicts with the now used global util.h from libutil, rename it to ldom_util.h. Manual wording from amd64's vm.conf(5). OK kettenis
2019-11-28improve on previous to only use the required CRLs.Sebastian Benoit
ok claudio@
2019-11-28Add console commandkn
"ldomctl console guest01" executes cu(1) on the domain's console. Now more device minor guessing or copying; behaviour is completely analogue to vmctl(8) on amd64. OK kettenis
2019-11-28Print guest domain vcctty(4) devices in status outputkn
The virtual console concentrator port's minor had to be infered from the guest's internal ID which corresponds to the order of listing. To lift this implementation detail, simply print the device ready to copy and use with cu(1). OK kettenis
2019-11-28build with -Wall, more -W coming, ok claudio@Sebastian Benoit
2019-11-28Check for failure of X509_get_ext_d2i() in x509_get_crl()Claudio Jeker
2019-11-28Use x509_get_crl() to get the crl distribution point out of the x509 cert.Claudio Jeker
Simplifies the code a fair bit.
2019-11-28Document x509_get_crl()Claudio Jeker
2019-11-28show median RTT in unwindctl statusFlorian Obser
2019-11-28Track all elements of a forwarder configuration individually:Florian Obser
IP address, port and authentication name. This makes print_config less awkward and fixes a bug were an alternative port number was not printed.
2019-11-28Usage on excessive select, delete, download, start, stop, panic argumentskn
2019-11-28some whitespace invaded this island, and deraadt@ demanded its removal.Sebastian Benoit
2019-11-28To verify a manifest, a roa, or a certificate, we check its signatureSebastian Benoit
against the CA one layer above it. This check just needs to use the certificate revocation list published by that CA. Instead of loading all CRLs we find into the trust store, we create a STACK_OF(X509_CRL), push the onto it and use it with X509_STORE_CTX_set0_crls(ctx, crls); The x509_get_crl() function to retrieve a crl path from an X509 object is written by claudio@. ok claudio@
2019-11-27Add list-io commandkn
list-io lists available PCIe devices to be used with ldom.conf(5)'s iodevice parameter. OK kettenis
2019-11-27use _PATH_ names for unveil if possibleTheo de Raadt
2019-11-27OpenFlow 1.3 defines packet header patterns of interest using TLVs (OXMs)akoshibe
that represent various header fields. One place where OXMs are used is in the sef_field action, which contains one OXM representing the header field to set, followed by padding to align the action in the OpenFlow message to 64 bits. Currently, we assume that a set_field action can contain multiple OXMs and that they do not need to be padded. This matches the way we handle OpenFlow messages that contain set_field actions so that we follow the specs. OK ori claudio