>> I might rip out the OOB stuff just to find and fix anything trying
>> to use it, though.
> I think ripping it out would be the right thing. And I suspect very
> little would notice.
I just did a first pass, doing
find . -type f -print0 | xargs -0 mcgrep -H -l MSG_OOB
in /usr/src.
Most of it is no surprise, or is irrelevant here: telnet and ftp,
documentation, the kernel support that backends it, sys/compat, those
are expected.
But I got one surprise: rlogin{,d}. And I had a quick look at the
code - it actually _uses_ it. It is not a case where completely
ignoring URG will work. (It actually uses it as out-of-band data, too.
You'd almost think it came from the same people who tried to turn the
urgent pointer into out-of-band data in the first place.)
Fortunately or unfortunately, I don't care about rlogin. I would ditch
it when eliminating MSG_OOB. In theory, eliminating MSG_OOB is wrong,
because TCP may not be the only protocol that uses it. My sweep found
sys/netiso/tp_usrreq.c, and searching for SSD_RCVATMARK under sys/
finds hits in netiso as well as netinet. But I care about netiso about
as much as I care about rlogin; I certainly don't mind losing it for
long enough to find everything using TCP "OOB".
/~\ The ASCII Mouse
\ / Ribbon Campaign
X Against HTML [email protected]
/ \ Email! 7D C8 61 52 5D E7 2D 39 4E F1 31 3E E8 B3 27 4B