Time for a new release announcement of TCP/IP for RSX-11M-PLUS.
This is version 2.17 of BQTCP/IP.
It's been a while since the last release, and quite some improvements
have been done in several subsystems. Some of them are rather
significant, and a recommendation to update to this new version soon is
recommended.
Highlights:
. Improved handling of situation when there is a resource shortage in
the IPPOOL which could lead to the system stopping communication.
. Rewritten DNS resolver with much better functionality.
. Improved DHCP handling which now makes the system properly handle if
the network address changes (for example, if network cable is unplugged
and plugged into a different network).
Detailed information on things that have been done since the last release:
ETHACP:
. Added a timer in ETHACP in case we don't have any active receivers
because pool full.
. Rewritten DHCP trigger conditions in ARP handler.
IF:
. Bugfix in IF: driver. IO.SIF function accidentally could set the
interface to DHCP managed.
. Added DHCP server information to IF: UCB.
. Added detecting of interface network change and request DHCP if needed.
IP:
. Added trimming of incoming packets when forwarded to higher level
protocols.
IGMP:
. Expanded IGMP with more statistics. Fixed small bugs.
. Added support for IGMP V3.
UDP:
. Changed UDP buffer size limits to be in packets instead of bytes.
. Added IO.SRS function to UD: to be able to set receive buffer size.
TCP:
. The logic of TCP high throughput and high latency was reversed.
. In TCP push-on-read handling, an unconditional push was requested,
while it should just a push at the end of currently outstanding data.
. Bugfix in TCP. Sometimes the retransmit timer was being activated when
there was no actual outstanding data.
. Improved TCP sending to flush full buffers in more circumstances.
IFCONFIG:
. Bugfix in IFCONFIG. Changing parameters on an interface could
accidentally enable DHCP on the interface.
. Fixed IFCONFIG to force RESOLVER rescan when routing table change.
. Bugfix in IFCONFIG. When showing multicast table, we could show some
garbage.
NETSTAT:
. Added showing buffer size of UDP sockets in NETSTAT.
DNS/RESOLVER:
. Added setting a larger UDP buffer size for resolver.
. Improved DNS resolver to clean out bad servers list if IP address changes.
. Improved DNS resolving to handle caching better.
. Corrected a few details in the mDNS protocol based on RFC 6762.
. Rewritten DNS name resolver. Improved response handling, CNAME
following and mDNS querying and response processing.
. Fixed RESACP to always do multicast join. It might not have worked on
first attempt, if no default routed existed.
. Cleaned up DHCP and RESACP more for handling changing addresses.
. Added new logicalname for DNS served from DHCP.
. Added that DHCP force reevaluation of own address in DNS when IP
address changes.
DHCP:
. Added sanity checks to DHCP renew time.
. Bugfix DHCP receive function. Timeout was missing.
. Correct DHCP to fall back to broadcast requests if renew is failing.
. Correct which fields are included in a DHCP request based on which
state it is in.
. Improved DHCP behavior. Some retry mechanisms were broken, and some
fields in packets were not set up optimally.
. Improved DHCP resilience against badly formatted packets.
. Improved DHCP messages.
. Fixed so that DHCP don't request a refresh of RESACP until all done.
. Correct DHCP handling if DHCP server stops answering.
. Correct DHCP handling of renew to work from scratch.
. Cleaned up DHCP and RESACP more for handling changing addresses.
. Bugfix in DHCP. If we got a new IP address, DHCP crashed.
. Added new logicalname for DNS served from DHCP.
. Added that DHCP force reevaluation of own address in DNS when IP
address changes.
TELNETD:
. Added a reset of the CLI for a terminal if needed when a telnet
connection is closed.
. Bugfix in telnetd. Under some circumstances, telnetd could hang.
. Additional improvemnts on telnet server buffering.
. Improve telnet daemon to better buffer output.
MAILD:
. Added supression of newline at end of mail program running.
. Improved mail submission to detect if there are any actual problems
talking to the submission task by the client.
. Bugfix. Mail submission from unprivilged users had become broken.
. Fixed a cleanup in MAILD when we get an error while receiving a mail
over DECnet. We got a register dump because of it.
. Bugfix in smtp sending. If there are multiple MX hosts, and the first
ones accepts a connection, but gives an error, the mail is marked as
pending with a connect fail, even if a later MX host connection worked fine.
. Changed mail server task to not allow any operation by non-priv.
. Improved smtp sent mail header processing.
Multinet:
. Improved multinet to not have outstanding I/O when accepting passive
TRACERT:
. Bugfix in TRACERT. End detection was looking at the result of the last
ping instead of the actual address.
PDP-11 C header files:
. Added a couple of external ints in the PDP-11 C inet.h header file, to
expand the interfacing to the resolver.
Some additional notes:
As usual, I would recommend people to update as soon as possible.
The changes are somewhat critical, but will also lead to a much better
experience.
The patches to the TT: driver cannot be applied automatically, but
requires users to apply the patches themselves, and then run SYSGEN to
generate a new system.
Once added, the TNC2 task can be run at login, and will define logical
names for the user telling where he is connected from, if using telnet
or LAT.
TNC2 can get information about remote connections over DECnet as well,
but this requires updates to DECnet. Such patches are not available
separately at this time, but are included in the RSX image provided from
Johnny Billquist.
The TT: driver patches also allows the updated MCR to give more
information with the DEV command (SHOW TERMINAL in DCL).
The patched TT: driver also makes is possible to get telnetd fully
vectorized, as this version provides two more addresses that are
required by telnetd to access information in the kernel.
The other patches to RSX can be applied automatically by IPGEN, either
if used interactively when answering YES to the question about applying
RSX patches, or by running IPGEN explicitly to do the patches, with the
command:
@IPGEN PATCH
Specific information about the patches:
LAT: Fixes a memory leak, and adds the ability to read where a terminal
connection comes from when using LAT, using SF.GMC.
RMSDAP: Fixes a bug in getting the file protection, so the XAB gets
filled in correctly for remote files.
RMSDSP: Fixes that some numbers were displayed in signed octal, which
should have been displayed in decimal or unsigned octal, depending on
number.
DCL: Added terminal attributes for COLOR.
MCR: Too many fixes to be listed here...
INS: Fixes that users cannot circumvent protection on common regions.
HEL: Fix that users can login with session ID, or with directory, in
addition to name and UIC.
ACNT: Add no password change attribute to accounts.
PSW: Add no password change handling.
SYL (SYSLOG): Add terminal idle tracking on accounts without idle logout.
ECL: If the receiving machine is very slow, and the sending machine is
very fast, and the receiver announce several large buffers available,
ECL cannot keep up, and drops packets. This is a problem with the DECnet
flow control, as it is used in RSX. The simple solution is to allow more
outstanding buffers when receiving. A more complex solution would be to
change how RSX DECnet do flow control, but that would require rewriting
a fair chunk of the ECL module.
NMVACP: Fix handling of "show known nodes" command, which could skip
some nodes.
NVP: Add ability to use session ID or directory name for user identity
in DECnet nodename specifications.
EPM: Fix handling of ethernet multicast.
NTDEMO: Fix that hosts without names should display DECnet address.
NCP: Parse of additional information types in NICE messages.
As usual, the distribution is available from:
ftp://mim.stupi.net/bqtcp.dsk
ftp://mim.stupi.net/bqtcp.tap
!!! BQTCP is also available through RPM !!!
(As an additional note, if there are any problems communicating with Mim
using port 21, the ftp service is also available at port 10021)
The documentation is also available through ftp on Mim, or also at
http://mim.stupi.net/tcpipdoc
I hope people find this update useful.
Johnny
--
Johnny Billquist || "I'm on a bus
|| on a psychedelic trip
email: bqt(a)softjar.se || Reading murder books
pdp is alive! || tryin' to stay hip" - B. Idol