write: some small cleanup
- pledge on start, restricting to stdio later on
- annotate done as __dead and remove unreachable return in main
- use common code to remove the /dev/ prefix from a device name
- wrap the PUTC macro into do {} while (0) to avoid extra empty statement
- use strftime() instead of using an offset into the ctime() string
- pass ttyl as size_t not int in search_utmp() to match the variable
From espie@
Remove current directory from default package search path
This was surprising behavior for many and has a very low probability
of doing anything useful.
manpage changes and "removing . [...] is sane" kili@
Your funeral espie
backout to libplacebo-7.351.0, there are various issues looking like
memory corruption with 7.360.1, some fixed in newer git head but tb@
ran into another one there too. reported by Walter Alejandro Iglesias
and tb, replicated here with repeated plays of a short mkv, typically
within 20 attempts, often less (seem more common with vaapi, but does
happen without too). ok tb brad
Add route leak prevention (ASPA & RFC 9234) to the bgpd.conf example
The local node's own "role" (in relation to the other side) needs to be
specified to make ASPA work. Specifying the role also activates the very
convenient RFC 9234-based route leak prevention.
ASPA & RFC 9234 are complimentary mechanisms. ASPA uses the RPKI to help
identify implausible AS_PATHs. RFC 9234 uses an in-band signal (the OTC
attribute) to help form appropriate route propagation cones.
Just a handful of simple config lines make bgpd do carrier-grade filtering!
OK claudio@
sys_getlogin_r: Restore ERANGE behavior
Do not silently truncate the buffer, but let copyoutstr() enforce the
user-visible namelen size limit. That restores ERANGE.
ok mvs@
N_EXT is supposed to be a flag that indicates global/external symbols.
Also make sure that we add it to the type instead of overriding it.
This makes pstat -d work for static kernel variables.
ok deraadt@, jca@
Remove global variable from multicast routing.
Global variable struct sockaddr_in sin is used to pre-initialize
length and family. Changing sin_addr dynamically does not work in
a multiprocessor environment. Allocate and initialize sin on the
stack.
OK claudio@
Avoid C casts in multicast code by using correct type.
Instead of using caddr_t for if_mcast and if_mcast6 in struct ifnet,
use the correct pointer type for struct vif and mif6. This allows
to remove many casts in multicast routing code.
OK florian@
Silence gcc4 warning by setting nseg = 0. The dependency on newseg == 0,
which can only happen when nseg is also set, is to intranspatent for the
compiler to see through.
OK tb@
Avoid a bunch of useless checks, free(NULL) is valid.
While here, use a counter of type unsigned int, which is the same type
as rri_nrdatas in our termination condition. (In practice there can't
be more than 65k RRSets).
Andrew Griffiths pointed out that we'd leak memory if rri_rdatas or
rri_sigs are sparsely populated. In practice this will not happen but
it made me look.
OK deraadt