Time for a new release announcement of TCP/IP for RSX-11M-PLUS.
This release contains a lot of fixes and improvements in many areas.
There are a couple of very serious bugs in TCP that is fixed in this
release which is why I really encourage people to upgrade. (They do not
happen often, but if they happen, they have a high chance of crashing
the system.)
Highlights:
- Stability and reliability improvements in TCP.
- Improved logic for TCP probing, keepalive and retransmits.
Magica (a real PDP-11/70) and Mim (an emulated PDP-11/74) have been
serving traffic for several weeks without any issues, and I think I have
finally found and fixed a very obscure problem that occasionally could
crash the system. (And both of these machines are more or less fully
exposed to the internet, so they see a *lot* of connections and random
attempts to compromise them all the time.)
Detailed information on things that have been done since the last release:
TCP:
- Correct TCP reception. It could stop the retransmit timer even if
there was still data outstanding under some circumstances.
- Bugfix in data resend in TCP. Under some circumstances the retransmit
timer stopped even though there was data to send.
- Improved TCP retransmit timers to better handle probing and keepalive.
- Improved TCP keepalive timer handling.
- Improved TCP timeout handling for closing sockets.
- Improved TCP retransmit timer restart logic in received TCP ACK
processing.
- General rework of TCP retransmit logic.
- Bugfix. In TCP TimeWait state, received FIN packets did not result in
an RST packet.
- Changed TCP FinwWait2 to use keepalive timer to probe connections.
- Improvement to TCP reception to dedup received packets also for
packets that are pending.
- Bugfix in TCP packet sending. If we ran out of IP POOL, memory got
corrupted.
- Improved handling of TCP receive window if TCP receive size is shrunk.
- Add probing of socket during closing stages, since we have no other
way to tell if the remote end is still around.
- Change how TCP decides if it should probe a connection.
- Bugfix in TCP. If a socket had no window but outstanding data, and was
closed, and other end never opened up a window (for example if the
remote end is gone), then the socket would get stuck in Fin-Wait-1.
- Changed TC driver so that user ASTs are generated immediately if there
is data to be read and the AST address is changed.
- Improve TCP options processing. Some badly formatted tcp options
packets could crash the system.
- Improved TCP handling of ICMP error packets.
UDP:
- Bugfix in UDP. If several error packets were received for a socket,
several ASTs were queued, but only one error is saved, meaning the
additional ASTs could make code try to read several times, when all
except the first would not have anything to actually read.
TELNET/TELNETD:
- Improved abort handling in telnet client.
- Changed TELNETD do do spoof notifications in a simpler way.
- Rewritten TELNETD to handle fast input without loosing characters.
- Fix mapping error under special circumstances in telnetd, which could
corrupt the system.
- Added more IAC options processing in telnet and telnetd.
DNS:
- Improved name resolution handling if no UDP available.
- Improve resolver domain I/O error handling.
RWHOD:
- Added handling of no UDP available in RWHOD.
MAILD:
- Improve MAILD handling of DECnet connections.
- Improved privilege handling in MAILD.
- Improved maild unread message function.
- Added manual holding of mails.
General:
- Improved ability to stop protocols from IFCONFIG.
As usual, the distribution is available from:
ftp://mim.update.uu.se/bqtcp.dsk
ftp://mim.update.uu.se/bqtcp.tap
ftp://ftp.update.uu.se/pub/pdp11/rsx/tcpip/tcpip.dsk
The documentation is also available through ftp on Mim, or also at
http://mim.update.uu.se/tcpipdoc
The firewall for Mim have now been removed, so no need for the alternate
ports, but Mim is still listening to the alternate ports as well.
ftp: 10021
telnet: 10023
Johnny
--
Johnny Billquist || "I'm on a bus
|| on a psychedelic trip
email: bqt at softjar.se || Reading murder books
pdp is alive! || tryin' to stay hip" - B. Idol