Fix a segfault that bluhm@ found on his i386 regress machine.
Even in the "out:" code path of the escape sequence parser,
for rval == ESCAPE_SPECIAL, some of the parsing results are
still used for error reporting purposes, specifically to
distinguish valid and invalid character names.
So, when parsing fails so badly that there is no name whatsoever,
it is not sufficient to bail out via "goto out;" but in addition,
we must make sure that the return value does not remain ESCAPE_SPECIAL.
However, other return values must remain intact even in case of
extremely bad parsing errors. For example, an \A escape sequence
still qualifies as an ESCAPE_EXPAND sequence and must expand
to the string "0" even if it lacks any argument whatsoever.
Move /tmp clearing earlier in /etc/rc
Moving pruning above relinking and early daemon startup to be able
to clear everything old without removing entries that are in use.
The goals are:
1) free up at least one inode, because mkstemp needs at least one
2) free up a few more, just in case. We settled on 50.
3) With an inode freed up for mktemp, create a directory and move all the
deleteable files into that directory and remove it asyncronously.
The first two goals were very fiddly to get right.
Much help and discussion with deraadt@ plus dlg@ and kn@
ok for an earlier diff from kn@
Skip the OpenURI portal when /proc/self/fd is unavailable so GTK uses the
in-process gtk_show_uri_full()/GAppInfo path instead.
This unbreaks opening files and directories when a portal is running.
net/tdesktop: update to 7.1.3
fido's patches came from Nazarenko Mykyta's 64gram port
I also drop my X11 scroll patches, because usptream had fixed scroll
and now it works out of the box.
OK: kn@ (maintainer)
relayctl: rework show output and add -v flag
- Added -v flag for more detailed output.
- Replaced tab separators with space-padded, truncated columns (%.Ns) for
stable alignment.
- Added a new "Checks" column for host checks (N/N), replacing the total: N/N
checks sub-line.
- Shortened redirect to rdr in the Type column to stay under 80 columns.
- Without -v: compact status (down); with -v: error inlined (down (tcp connect
timeout)).
- Table status shows host count (N hosts) only with -v.
- retries sub-line only appears with show hosts -v.
- show hosts no longer lists tables; use show summary for that.
OK kirill@
libssl: fix API misuse in legacy finished handling
This looks like a potential out of bounds read or allowing trailing garbage
in peer_finished. It's harmless because CBS_len() is compared against the
s->s3->hs.peer_finished_len a few lines up, thus it is only cosmetic.
discussed with jsing
ok kenjiro
uaudio: Ignore transfer completions if audio is halted
When audio is halted, the pipes are closed and the corresponding usb
transfer completion functions are called immediately. For certain
devices the status of the feedback pipe is USBD_NORMAL_COMPLETION,
which triggers further processing of the received data.
Fixes the harmless "uaudio0: sync play xfer, err = 6" messages on
the console.
Disable the -fomit-frame-pointer optimisation by default.
The frame-pointer is needed to have good backtraces from e.g ddb or
ptrace / btrace. Many other distros did something like this as well since
the benfit of havving easy to work with backtraces outweights the little
overall speedup gained by having an extra register.
Also disable -mno-omit-leaf-frame-pointer by default on llvm.
OK kettenis@
libssl: ensure server selected ALPN was advertised
Per RFC 7301, section 3.2, "In the event that the server supports no
protocols that the client advertises, then the server SHALL respond
with a fatal "no_application_protocol" alert.
If a server does not do that and chooses a protocol that we have not
advertised, we should abort the handshake. The RFC does not specify
an alert for this case. BoringSSL chose illegal_parameter and OpenSSL
decode_error. I slightly prefer illegal_parameter, so went with that.
Reported by Acts1631 with a similar diff.
ok jsing kenjiro