Add truncation detection to vmd's instruction decoder.
vmd(8) ultimately needs a way to deal with instructions that cross
page boundaries. This is a baby step to get there by fixing up the
decoder logic to detect when we're out of fetched instruction bytes
but not done decoding an instruction. Next steps will be to add in
cross-page fetching and injecting #PF if the next page is paged out
and we weren't able to decode with just the bytes from the first page.
These state machine changes uncovered some issues with 16-bit
addressing and decoding that got fixed along the way.
ok mlarkin@
In pf(4) check extension header length.
pf_walk_header6() advances the packet offset for each IPv6 extension
header. It was not checked that this does not exceed the packet
length if no next header was processed. When used with af-to rules,
this could trigger a panic: m_copydata: null mbuf.
from Acts1631; OK henning@ sashan@
This page contains the unusual case of a word that is 50 characters long.
Sprinkle some \: (optional line break points) inside that word to allow
for nicer line breaking. Normally, manual page authors do not need to
worry about such details.
While here, also break an overlong input line.
No text change.
Map \: to U+200B (breaking) ZERO WIDTH SPACE.
This isn't used for terminal output, where \: merely influences
line breaking but does not produce any output character,
but it improves HTML output.
systematically test using special character escape sequences
as argument delimiters of an escape sequence argument,
even if the argument contains a different special character;
related to roff_escape.c rev. 1.18
Fix handling of special character escape sequences
used as escape sequence argument delimiters.
When a first inner escape sequence is used as the opening delimiter
of the argument of an outer escape sequence, the code parses the
argument looking for a second inner escape sequence. If the
characters after the escape character of the first and second
matched, the code treated the second as the closing delimiter.
That resulted in prematurely ending the argument if the first
and second referred to different special characters.
Instead, if the first is a special character, only treat the second
as the closing delimiter if the first and second are completely
equal. Otherwise, threat the second as part of the argument and
keep parsing the argument for a matching delimiter.
For escape sequence argument delimiters that are not special
characters, nothing changes: non-character escapes continue to match
in a delimiter role as long as their name characters match, even
if their arguments differ.
When rendering the \l (horizontal line) escape sequence,
correctly determine whether a drawing glyph is specified
before the delimiter closing the escape sequence.
The code only compared the first input byte of the candidate
to the last input byte of the opening delimiter, treating the
candidate as a drawing glyph on mismatch, which only worked
correctly for single-byte delimiters.
When an escape sequence is used as a delimiter, that escape
sequence was erroneously used as the drawing glyph, too.
Instead of needlessly and incorrectly trying to compare the
opening and closing delimiters, use the argument information
returned from mandoc_escape(): if a2roffsu() consumed the
whole argument, use the default drawing glyph; otherwise,
use the rest of the argument as the drawing glyph.
The point of the \: escape sequence is to allow an optional output
line break, whatever the output mode may be. It is not supposed
to produce an output glyph. Consequently, even in -T utf8 output
mode, let it put the ASCII_BREAK control code into the output buffer,
which works in TERMENC_UTF8 mode just as well as in TERMENC_ASCII
mode, rather than trying to encode it as an UTF-8 code point.
Implement mediaopt monitor for MT7925
While doing so also improve mwx_dma_rx_dequeue() and remove the KASSERT
since I triggered that one on MT7925. Further reduce debug noise.
Fix refcnt bug in the tx path and ensure the node drops the refcnt once
the packet was transmitted.
Attach the ieee80211_node to the mwx_txwi struct and release the reference
in mwx_txwi_put() if set. With this the hangs seen on MT7921 are mostly
gone. Background scans would deassociate from the AP but not switch to
the new AP because of this refcnt bug.
ssh_gssapi_cleanup_global_client() needs a prototype
ok dtucker@
/usr/src/usr.bin/ssh/ssh/../ssh-gss.h:115:38: error: a function
declaration without a prototype is deprecated in all versions of C
[-Werror,-Wstrict-prototypes]
115 | void ssh_gssapi_cleanup_global_client();
| ^
| void
1 error generated.
Avoid OPENSSL_assert(s->d1->mtu >= dtls1_min_mtu()) in dtls1_do_write()
when custom BIO is used. The assert is tripped if custom BIO does not
support QUERY_MTU operation and message is being retransmitted after
timeout expires.
Issue reported and patch submitted by
"Pavel (Narayana OU)" (pd _at_ narayana _dot_ im)
OK kenjiro@
When a .Bd block is broken by an .It macro and hence implicitly ended,
restore the ROFF_NOFILL global parser state to what is was before the block.
This fixes an assertion failure in the HTML formatter triggered
by the nonsensical sequence of macros .Bl .Bd -unfilled .It
that kristaps@ found in the pam_smartcard(8) manual on macOS.
Parse terminal replies with keys and apply them only when finished, so
that a preceding Escape can be handled correctly. GitHub issue 5676 from
Joan Fabrégat.