For any binary linked against libc, compare the file setuid/setgid bits
against the internal global variable _permit_setugid.
If either bit is set in the file mode, but the same bit is not set in
the variable, generate a syslog message, output the same to stderr.
It looks like this: /usr/bin/x: not supposed to be setuid, aborting
It does not abort yet because some packages need the correct variable
to be added. Soon, soon, soon...
AuxInfo[ELF_AUX_ENTRIES] is filled based upon a collection of MI and
MD enums. Addition of a new auxval without increasing ELF_AUX_ENTRIES
happened twice to me, and the failure mode is way too subtle. Add
KASSERT() for every enum storage into the array, which the compiler
completely eliminates if it notices the number of array stores is
<= the array size.
ok kettenis
unfortunately ypbind's daemon() call happens after it has done network
binding to interlock parent exit to stall /etc/rc, so it would need to
carry pledge "proc" during network speaking. proposed by jmatthew. i also
forgot pledge cpath and flock.
Instead of holding "proc", I've used a pipe[] and fork() early on to
interlock the parent until the child has a binding, and closes the pipe.
ok jmatthew, who tested
set ifp->if_link_state to LINK_STATE_DOWN in attach.
aq doesn't complete packet transmission if the link is down, so
aq_start uses LINK_STATE_IS_UP(ifp->if_link_state) to decide if it
should drop the queued packets or actually put them on the ring.
however, LINK_STATE_IS_UP() returns true if the link state is
LINK_STATE_UNKNOWN, which is the default value for the link state
in struct ifnet (because it's 0). this means if aq(4) is booted
without being plugged into the network, the link state handler
doesnt run and change the state to UP or DOWN, which leaves it
UNKNOWN. that's enough to confuse aq_start though.
defaulting the state to down properly represents the state of the
link, which in turn makes aq_start do the right thing with the
packets. if the network is plugged in on boot, the phy layer notices
and moves it to UP as expected.
found by Paul de Weerd on bugs@
[2 lines not shown]
Add RX queues/RSS/TSO support and update microcode for RTL8127.
On the RTL8127, the RX and TX descriptors use the 16-byte format
instead of the 32-byte one.
Fix TLV handling which lacks the check length checks for padding.
This could out-of-bounds memory write, stack disclosure, and SIGSEGV.
Reported and fix provided by Franz Bettag
For tree mode, hold a reference to prompt and other bits across command
to avoid crashing when killing the session with the mode's pane. GitHub
issue 5728.