TNOS Release Notes - Release 2.22
Brian A. Lantz, brian@lantz.com
v1.00, June 28, 1997
These are the FINAL Release Notes for release 2.22 of TNOS. Hope-
fully, this list of changes will give you an idea of the scope of work
that has occured since the release of TNOS 2.21.
______________________________________________________________________
Table of Contents:
1. Bug Fixes
2. Improvements and Enhancements
3. Minor Changes
4. Remaining Known Bugs
5. To-Do List
______________________________________________________________________
1. Bug Fixes
The following bugs have been squashed.
o Minor browser fix to use only the LAST
tag, if multiples
exist
An old HTML trick was to define multiple TITLEs on a page, to get a
kinda scrolling marquee effect from the title in the window's
titlebar changing. The TNOS browser wasn't set up to properly
discard all but the final one.
o Cleanup up some code conditionals when forwarding and converse are
omitted
o Cleanup to again allow MBFWD flag to be undefined
o Proper treatment of PBBS messages with callsign fields > 6
characters long When trying to send via PBBS forwarding messages
with Internet addresses that had the user or first section of the
hostname with more than 6 characters, previously this would be re-
addressed as 'areaname@areaname', using the current area's name.
This was NEVER correct. Since non-ham messages should NOT be
passing via PBBS forwarding, such messages will now be marked as
deleted (if in personal areas) and removed from the forwarding
queues.
o Fixed where rejected personal messages weren't being deleted from
mailboxes
o Corrected formatting of TCB in 'tcp view' command
o Fixed a linking problem if HTTP defined but not BROWSER
o A workaround for a libc bug in free()
Some versions of GNU libc (at least some for Linux) have a bad bug
that once it happens, a call to __libc_free() never returns. I have
added code to the Unix version to keep this from disabling a system
indefinitely. While I cannot recover gracefully from this, if a
call to free takes longer than 60 seconds to return, then TNOS is
exited. This allows properly configured systems with restart
scripts (or an entry in the inittab file) to only be 'locked up'
for one minute due to this libc bug.
I have no idea why this is happening in the library, but it SEEMS
to be related to a free getting called while the OS is swapping to
disk.
o Fixed an incompatibility between SETPSINFO flag an environment
variables
The SETPSINFO code does it's magic by basically trashing the
command line arguments and environment variables. While I knew this
when I added the code for the SETPSINFO, I hadn't thought of
possible problems.
A couple of places in the code used environment variables (if they
existed) while we now effectively disabled. In addition, depending
on the timing on startup, the TERM environment variable would (at
times) be cleared before the NCURSES code had a chance to read it.
o Re-enabled '412 No newsgroup selected' NNTP server message
o Fixed a bug in the HTTP server that preventing using ports other
than 80
o Fixed crash if used from Command Session
o FBB forwarding problem if all messages in a transfer refused
It seems that on occasion with FBB, if an entire negotiated
transfer is rejected (all are answered as '-'), and there are more
in that section, then the rest would be ignored and also marked as
deleted.
o FBB/Xfwd problem if 'SB'ed message in personal area
Also, if a message in a negotiated transfer (contained in a
personal mail area) was original sent as a 'SB', then the other
messages in that transfer were also marked as 'SB'. This one, while
VERY rare, was a bear to find ;-)
And, messages MARKED as 'SB' (as above, in a personal area) were
NOT getting properly deleted (because of the 'B').
o Fixed a buglet with unusually 'Sx' lines in reject checking
o Fixed the 'time' server to properly adjust to UTC
o Made a few minor forwarding mods, to handle rare quirks
o Fixed the 'ping of self' resource contention buglet
If from your TNOS console you ping'ed your self, a crash would
usually follow. This was caused by a timing problem. When the raw
IP socket was opened to send the ping, it added an entry into a
table. That same table is traversed when an incoming packet is
received. When the send of the ping is complete, that entry is
removed. What was happening was that the table was having the entry
removed WHILE it was being traversed.
This timing was only 'just right' when pinging from the console;
pinging yourself from the PBBS didn't cause the problem.
o Fixed a problem of occasional non-clearing of HTTP connections
This occured when the 'http simult' value was reached, a connection
was waiting for a 'slot' to get it's data with, and the user
impatiently disconnected the socket. It was compounded by trying to
have one counter doing two functions (obviously, not very well ;-)
o Fixed a bug when 'conv entrychannel' wasn't being used for telnet
connects
o Fixed bug where bad rewrite file could abort forwarding session
o All the above included in 2.22b1
o Added patch from Gareth to do White Page lookups properly w/out
ASKHOME
o Minor fix for NNTPCLI support
o Minor fix for newer LIBC jmp_buf.h file under Linux
o Minor fix to area cleanup code, when exiting BBS
o Minor fix in rspf.c to prevent calling set_timer from a null route
o Minor fixed in wildmat.c to prevent calling with empty or null
string
o Fix for obscure statline problem
o All the above included in 2.22b2
o Fixed a problem with large SOA's being output if 'dom tr on'
o Fixed an improperly dereferenced pointer in fbbfwd.c
o Added code to convert to lowercase username in HTTP PBBS code
o Fixed an obscure bug with forward sessions and keyboard locking
o Workaround for bug where some PBBSs send an extra forwarding
prompt
o Fixed a rare problem with F9'ing from Command to Trace session
o Fixed a fwding problem if more than one Message-Id lines in a
message
o Fixed a problem with AXUI and digis
o All the above included in 2.22b3
o Plugged an obscure security hole with PBBS finger command
o Fixed a problem accessing sockets with TNOS/DOS
2. Improvements and Enhancements
The following optimizations and improvements have occurred.
o Added support to the Browser for