Import devel/py-stevedore 5.8.0
Python makes loading code dynamically easy, allowing you to configure
and extend your application by discovering and loading extensions
("*plugins*") at runtime. Many applications implement their own
library for doing this, using ``__import__`` or ``importlib``.
stevedore avoids creating yet another extension mechanism by building
on top of `setuptools entry points`. The code for managing entry
points tends to be repetitive, though, so stevedore provides manager
classes for implementing common patterns for using dynamically
loaded extensions.
ok caspar@
Handle allocation failure and track correct mbuf length in IPComp.
In swcr_compdec() m_copyback(M_NOWAIT) may fail, but the error is
not checked. The mbuf chain could be too short, but the expected
length is returned as result. Then ipcomp_input() will not set
m->m_pkthdr.len to the actual length of the mbuf chain. This only
affects decompression, other cases do not need additional memory
for enlarging.
OK deraadt@
sysv_sema: Use better sleep addresses
the sema array itself is used to derive wait channels. It may be re-
allocated when resized. The old array gets lost and so do the wait
channels. Thus waiters will never be woken up again. The sema array
holds pointers. Use those as wait channels instead, the backing objects
live long enough.
ok mvs@
sys/cnmac: increase command buffer pool from 32 to 256 entries.
With the current limit, two stalled output ports can exhaust this shared
resource and eventually prevent all ports from transmitting packets.
OK: visa@
Remove adjout_prefix_free() and its use in adjout_prefix_unlink() instead
use tombstones in the adjout array for empty/unlinked entries and collect
them later via adjout_prefix_collect().
adjout_prefix_first() and adjout_prefix_next() return direct pointers
into the adjout prefix array and adjout_prefix_free() reshuffles entries
so the pointers returned by first/next are no longer valid. By using
tombstones the array pointers remain intact and it is possible to walk
the array.
Once done with the pt_entry adjout_prefix_collect() is called and it will
collect all tombstones. Again after calling adjout_prefix_collect() any
pointer into the adjout array is most probably invalid.
While this solves the problem with prefix withdraw it does not solve
addition of new entries. The good thing is that there is no code path
that would require such an operation.
On top of this the adjout_prefix_dump_r() has to walk all prefixes since
[3 lines not shown]
rpki-client: simplify absence of SIA handling for BRK and RSC
While RFC 6487, 4.8.8.2 clearly mandates the presence of the SIA extension
for all EE certificates, there are two exceptions. BGPsec router keys are
known to be special for no good rason, and they uphold this tradition and
the EE cert of RSCs doesn't have a SIA since that makes sense for things
that aren't distributed via the RPKI repository system.
The logic allowing these special snowflakes is currently quite contorted.
Simplify the comment to omit unnecesary fluff and implement the logic to
match the comment precisely, also suppressing a duplicated warnx(). This
does not really change anything but is much easier to follow.
ok claudio