In pf(4) check AH header length.
pf_walk_header() advances the packet offset for each AH extension
header. It was not checked that this does not exceed the packet
length if no next header was processed. Fix it like in IPv6.
OK henning@ sashan@
minor polishing of macro use for consistency with port-modules(5)
and bsd.port.mk(5), no text change:
.Cm for make(1) targets, module names, and keywords/fixed strings
.Ev for make(1) variables .Pa for file names .Fl for command line flags
OK sthen@
Implement MT7925 specific mcu_set_rts_thresh and mac_tx_free functions.
With this MT7925 can associate to open APs in 11a/b/g modes. In my tests
11a works well, 2GHz 11g is very slow which is maybe because of all the
2GHz noise on that channel.
Committed over my MT7925.
vmd(8): better virtio vq validation
add some queue size checks and reject malformed descriptor chains.
also make viornd consume all pending buffers from last_avail.
ok dv
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.