Vircom's MajorTCP/IP Release Notes.
===================================

NOTE: Latest docs are in tcp200.doc. Text versions will be availlable
      from our support BBS.
NOTE: The Worldgroup 3 (FOR DOS) version of MajorTCP/IP is in the file
      tcp3xx-y.zip in the library TCPWGDOS.
-----


Changes July1st/97 -- Release 2.10-14. (Re-Release)
======================================

Fixed vulnerability to the SSPING program.

Changes May 6th/97 -- Release 2.10-14. (Official Release)
======================================

FTPD: Added a hook allowing third party programs like WebBlaster and WebMaster
      to limit the size of a user's webhome directory. (such third party
      programs will need to be modified by their author to take advantage
      of that hook).

SMTP: Will now automatically add a "message-id:" field when an incoming
      message does not have one. (this is so that POP3 will recognize the
      header as a valid message header).

TCPLIB: Did some fine tuning to fix slowdown problem with Worldsock depending
        on MSS used. This also yielded very big performance improvment when
        doing FTP transfers over a LAN. (I should say BIG).

TCPLIB: Added some protections against SYN-Flooding attacks. If you are
        attacked, enter SYNTRESHOLD:2 (or maybe 3) in one of the special
        hardware configuration options.

TCPLIB: Fixed possible cause of GP when MSS was set to 1024.

WEB2: Web-Signup could fail sometimes depending on the MSS of the connection.
WEB2: Fixed potential security problem for pages protected by keys that
      were in directories of 8 characters.
WEB2: You can now protect web root directories with keys.

Added the following mime types:
    audio/x-pn-realaudio          ram
    audio/x-pn-realaudio-plugin   rpm
    audio/x-pn-realaudio          ra

Slip/Cslip/PPP: After lots, and lots of research, including writing a new
                custom GP handler, nailed down a recursivity problem in
                tcpslip2 that could cause GPs at 0017:A4B9. This could
                occur when there were lots of packets that were queued
                to multiple PPP interfaces.


Changes April 2nd/97 -- Release 2.10-13. (Debug Limited Release)
========================================

IRC: Rewriten part of the parser, to attempt fixing sources of GPs once for
     all.
Slip/Cslip/PPP: If connected in this mode sent a TCP or UDP packet with
                forged (or bad) source IP address and bad UDP or TCP
                data length fields, there was a chance the BBS would GP.

Slip/Cslip/PPP: Fixed synchronization issue when someone is trying to log
                in PAP mode using a non-existant userid. Should prevent
                the "decusp->cltptr == NULL" audit trail message.

Slip/Cslip/PPP: Per KChar charge accrued up to the last 14 seconds
                of a S/C/P connection may not have always been charged.

Slip/Cslip/PPP: New option, SKCHGLOC, defines if per KChar charges should
                apply to packets received and sent to LAN.

Slip/Cslip/PPP: Will now display in the audit trail the total number of
                KILOCHARs charged for a S/C/P session. (In the S/C/P END
                message.)

Slip/Cslip/PPP: Added checking for incoming packets that exceed the maximum
                incoming MRU. (1500).

TCPLIB: Added KEYNREM a not key for telnet/rlogin/ftp out connections to
        remote destinations.




Changes March 5th/97 -- Release 2.10-12.
========================================
FTPD: Found possible cause of GP in the FTP server. (this one would be
      a real strange GP)

SMTP: MAXLRCPT was maxed out to 69 (and MAXRRCPT to 70). Now it will
      really use the value programmed in.

TCPLIB: More optimisation of tcp/ip stack.
TCPLIB: The output buffer size of telnet channels will now be increased
        a little bit (8 bytes) if your MSS is set to 1024. This is to give
        a slight increase of throughput.

FTPD/POP3/WEB2: after lots of research, I came to the conclusion that
                for low speed users (14.4K and 28.8K) it was much better
                to have buffer size settings set at a maximum of 4096. I
                also noted that the difference in speed for LAN users with
                larger buffer sizes didn't make it work the speed penality
                they would impose on low speed users. For that reason, all
                buffer settings in the 3 modules won't go higher than
                4096 (automatically).

DMA: Automatic account creation wasn't working on WG3.0/DOS DMA Servers.

Changes February 24th/97 -- Release 2.10-11.
============================================
WG3: Fixed packaging problem, was not creating empty .DAT files
     when needed.

FTP: (WG3) Was not downloading the file under the right extention.

IRC: Should now address the problem that was preventing IRC from being able
     to charge credit exempt users while being able to charge users that
     can go in debt. (Note that it should not be possible for a credit
     exempt user to be able to go in debt, since you can't specify a debt
     limit when creating  credit-exempt class).

IRC: Possible source of GP in parser fixed.

Changes February 14th/97 -- Release 2.10-10.
============================================

TCPLIB: There was still a problem with performance under certain conditions
        in 2.10-9. Mandatory upgrade for everyone.

Changes February 13th/97 -- Release 2.10-9.
===========================================
TCPLIB: (TCP/IP Stack Level). Noticed that there was a problem in the
        "retransmition strategy" of MajorTCP/IP. Basically, we would
        be flooding the TCP sockets. This was very good for file transfers
        on a LAN, but very, very bad for people coming in over 14.4K
        PPP connections and using the Web2, POP3 or FTPD server with
        large buffers.

        After about 36 hours of intensive work, I think I reached a very
        good balance. About a 300% speed increase for a FTP GET on
        a 14.4K PPP connection (using FTPD with 16K buffers), 250%
        on a 28.8K. The down side is a 22% speed decrease on FTP GET
        and PUT over a LAN connection, however I think that this is
        a relatively small price to pay since most callers into most
        bbs will have a slower connection than LAN speed.

        It's now safe to increase back the Buffer Sizes of POP3,FTPD
        and WEB2.

        As a side note, I've noticed that playing with ZXWINDOW in
        BBSFTF.MSG can increase the zmodem file transfer speed tremendously
        for telnet channels. (Haven't tested it with Modems).

FTPD:   When uploading a file in a file library on top of an existing
        one, the file description would be messed up.


WEB2: Bug possibly causing GP due to change to Web2 in 2.10-8. This fix
      was retrofitted in 2.10-8 at 21:30, Feb3rd/97.

RLOGIN(DMA): Would abort connection if first packet exchanged was lost and
             needed to be retransmitted.

IRC: Should not have allowed DSCMAX to be equal to TOTLST as this could
     cause GPs.

Changes February 03rd/97 -- Release 2.10-8.
===========================================

TCPSLIP2: Was not deleting static IP address assignements at cleanup.

TCPSLIP2/NT: Was sensitive to the load order of GALDNS.

TCPLIB: Will not send data to GCDI from incoming telnet/rlogin/dma channels
        until we have received some output.

WEB2: Will now wait longer when sending error messages to browser
      before closing socket.

Changes January 28th/97 -- Release 2.10-7.
==========================================
TCPSLIP2: Added SLIPTRBO option (slip turbo), giving more priority
          to tcpslip2.
TCPSLIP2: Will now try to patch WG to remove bug in worldgroup that
          prevented IEAK (or SHIVA PPP dialler) users from connecting
          properly in PPP mode on _some_ systems. (patch compatible
          with 6.25, WG1.x, 2.0, 3.0). (Bug is present in all versions
          of WG and MBBS).
TCPSLIP2/NT: spkt,m_spkt,rpkt,m_rpkt will now be updated on NT.
TCPSLIP2/NT: slstpkt was not updated on NT, thus making the idle
             zap always kill users.

Changes January 22th/97 -- Release 2.10-6.
==========================================
WG3: Had to recompile everything that had to do with messaging,
     something had gone wrong in my port. (POP3,SMTP,MIDEC,NNTPD)

TCPSLIP2: PPP dialler was not working properly if not using PAP (since
          2.10-3)

SMTP: SMTPHEAD was not always read in properly. (ie, was not read in properly
      if SMTP was the first MajorTCP/IP loaded by the bbs).

Changes January 20th/97 -- Release 2.10-5.
==========================================
SLIP2/WG3: Problem when user was already online fixed.
FTPD/WG3:  Problem when user was already online fixed.
SMTP: Notices for rejected messages will include the first 60 lines of
      the rejected message instead of the first 20 lines.
Changes January 15th/97 -- Release 2.10-4. Pre-Release.
=======================================================
TCPWEB2: Added new configuration option (SECONL, level3) that decides if
         we should prompt a user for userid/password when we already know
         who the user is since he came in from radius or the tcpslip2
         server. Note that you have to change this to YES if you want
         to make web2 work exactly as before.
TCPWEB2: Added OBUFSIZ configuration option. See discussion on buffer sizes
         below.

TCPLIB (Router): Changed packet re-assembly algorithm so that packets to be
                 routed are not re-assembled by the router, but by the end
                 point. This will make MajorTCP/IP work with QuakeWorld.
TCPLIB: Will now allow MSS to go up to 1460 bytes instead of 1400.
TCPLIB: Low level work that greatly improved speed of LAN operations, where
        MajorTCP/IP sends large amounts of data out. For example, the
        performance of a GET FTP transfer from Win95 to MajorTCP/IP over
        a local lan (my local lan) was increased from 17.10kb/sec to
        191.73kb/sec. Your milleage will vary. This should also improve
        performance of WWW (and possibly Worldsock) socket output
        operations over a LAN.

SMTP: Added configuration options MAXLRCPT and MAXRRCPT, controlling the
      number of local and remote recipients on routed emails.
SMTP: Added configuration option AUTHMSG that (when enabled) will
      record the userid of the sender (when identifiable) in the
      headers of SMTP messages routed by TCPSMTP. (enabled by default)

SLIP/CSLIP/PPP: Was doing a GP (or an access violation on NT) if module was
                not initialised (due, for example to improper PPP kernel driver
                configuration on NT or if SLIPENAB is set to NO) and a user
                tried entering the tcpslip module page (which tried to start
                a slip session even if module was disabled).
SLIP/CSLIP/PPP: Added security option SLI2NRKY, which defines a key that
                when trigger Local LAN limited routing (as opposed to
                SLIPNRKY which limits to the BBS). (default: NOROUTE2)
SLIP/CSLIP/PPP: When using slip from menu, the idle timeout was not
                reset on activity from the modem. Fixed.

MIME Types: Added 9 mime types at the end of tcpmctyp.txt

TCPMISC: Finger Server will now cycle the output of the trailer block,
         (TXTF12) so that it can be more than 2K.

POP3: Added experimental option POP3PHDR. (disabled by default). When
      enabled, POP3 will try to preserve the internet email headers
      of an incoming message (if SMTPHEAD is set to 9) so that users
      getting their email with a POP3 client can have access to the
      full headers properly.
POP3: Added configuration option POP3OBSZ. See discussion on buffer sizes
      below.
POP3: Will now have a x-tcp-forum: header with the forum number
      a message was taken from. (if it's a forum-email message).

FTPD: Added configuration option OBUFSIZ, see discussion on buffer sizes
      below.
FTPD: Wasn't loading on WG3.0/DOS.

Buffer Sizes
============

POP3, FTPD and WEB2 can now have their data transfer sockets buffer size
configured. A larger buffer size will increase the performance of a data
transfer over a slow (or laggy) link. Generally speaking, the larger the
round trip time of a packet, the more advantages you'll get from a larger
buffer size. The default is 2048, which is what MajorTCP/IP was set to
in the past. You should probably increase by increments of 1K, or just
use fixed values like 2048, 4096, 8192, 16394.

I've done some performance testing using FTP over a local lan and
a 128K ISDN compressed link. Over the local LAN, there was no performance
increase when using a buffer size of 16K instead of 2K.

Over the ISDN link, the data transfers (both directions) were TWO to THREE
times faster when using 16K buffers.

I have not tested over a PPP link.

Note that the tradeoff is that allocating more buffers does take more memory.

For example, if you have 20 concurrent WWW connections, increasing the
buffer size from 2K to 16K will make WWW use 280K more of memory during
the transfers (and only during the transfers).

In any case, Enjoy!

Changes December 17th/96 -- Release 2.10-3. Beta Release.
=========================================================

SLIP/CSLIP/PPP: Was allowing C/S users to come back on a modem line even
                if user was already logged in in PPP mode on a modem channel.

SLIP/CSLIP/PPP: Accounting would not be done properly if you were using a
                credit rate of more than about 1300 credits per minute while
                in slip/cslip/ppp.

DMA Server: Will now display menu if DMA Connection is to a menu.
MIME Importer: Under certain conditions (very specific), a MIME message
               with broken MIME encoding would cause the MIME importer
               to loop on importing a message. (causing thousands of
               imports of the same message).

IRC: IRC2 Beta is now over. New IRC has been included as part of this release.
     The following changes were made since IRC2 Beta-10.

     IRC could disturb uploads and downloads (that were done in the IRC module)
     by printing text from the IRC server on the channel during an upload or
     donwload session.

     IRC was not deducting credits from users in debt, nor was it allowing them
     to enter IRC.

     Some systems were having users disconnected during "list" outputs.

SLIP/CSLIP/PPP: A new, internally revamped, version of the slip/cslip/ppp server
                has been included in this release. The old one is no longer
                supported. The new slip/cslip/ppp server is now in tcpslip2.mdf,
                tcpslip2.dll and tcpppp.dll. If you need to go back to the old
                one, just rename tcpslip2.mdf into tcpslip2.dmd and rename
                tcpslip.dmd into tcpslip.mdf.

TCPMISC: Possible cause for GP fixed.

TCPLIB: event list will be less prone to need to be expanded.


Changes November 11th/96 -- Release 2.10-0. Beta Release.
=========================================================
FTPD: Was not displaying the userid that was tried when 3 invalid
      passwords were received.
API: Fixed problem with dnsarplookup() api. No one was using this.
API: UDP sockets that were automatically bound through "connect()" were
     not put in the thread list.
TCPSLIP: added routine tcfg.onppp. Used by RADIUS 1.15.
TCPLIB: Added TCPIDBOD and TCPIDHED level 6 text block in tcplibm.msg
        to configure the output of /tcpid.
TCPLIB/UDP: Was doing an automatic close on an UDP socket after
            receiving an ICMP destination unreachable error.
TCPMISC: Changed the internals of the /DNS global command.
SLIP/CSLIP/PPP: Fixed a bug (read out of bound) in PPP router.

Changes October 17th/96 -- Release 2.00-9. Shipping Release.
============================================================
DOCS: Updated documentation.
POP3: Account Suspension will now be enforced in POP3.
TCPLIB: increased max number of banned sites to 150.
TCPSLIP: Added configuration option PPPSNSGC that lets you disable
         PPP auto-sensing on incoming telnet/rlogin channels.
TCPSLIP: PPP auto-sensing is now always disabled on LAN channels.
TCPSLIP: Was not deleting static IP address assignment when user account
         was deleted.
TCPSLIP: UserID will now be printed in tcpppp.log log file PAP messages.
DMA: Added dmanoascpause special configuration option that will disable
     any screen pauses (from the DMA Server) from occuring when a user
     is in ascii mode.
TCPLIB: Added ESC command to slip/cslip/ppp dialler script. Will make
        it send one ESC character.
TCPLIB: Was doing ARP requests too fast.
Web2: Adjusted tcpweb2.msg so that options do not disappear when WEB2MAX
      is set to 0.
Web2: Added the hook webdended(struct webdusr *ptr, BOOL complete) that is
      called when webd is closing a socket.
RLogin: Some changes in aliasing system when using GALALIAS. ("alias" command
        is disabled, amongst other things).
SMTP: Was allowing users that were marked for deletion to receive email.
FTPD: Found bug that could cause GPs in TCPFTPD.DLL.

Changes Sept 11/96 -- Release 2.00-8. Private Release.
======================================================
SMTP: Changed ENABROUT to YES by default.
TCPLIB: Added configuration option TCPGLALS which allow you to use
        Galacticomm's ALIAS system that is built-in WG2.0 and above
        instead of MajorTCP/IP's own. If you set TCPGLALS to YES,
        you should be running WG2.0, must enable GALALIAS and read
        Galacticomm's documentation on Internet Aliasing.

        Setting GALALIAS to YES will also automatically disable
        USEMGI, MGIWRT, automcatically set USEALIAS (tcpsmtp.msg)
        to YES.

        Note, no conversion programs exist to convert MajorTCP/IP's
        alias system into the Galacticomm alias system currently.

Changes Sept 6th/96 -- Release 2.00-7. Private Release.
=======================================================
TCPLIB: Added level 4 configuration option TCPMODDF. Experimental.
TCPLIB: HEAPMEM is now default. No more 1000 memory buffer pool limit.
TCPLIB: Fixed premature TCP socket close problem seen sometimes when using
        WorldSock and our Web2 Server.

Changes August 16th/96 -- Release 2.00-6. Private Release.
=======================================================
TCPSLIP: Added PPPFORC, if a user owns that key, he'll be forced
         into PPP mode when logging in even if he didn't enter
         ppp:userid. Also, FORCED users were not allowed to telnet
         back in because of a problem, fixed.

Changes August 15th/96 -- Release 2.00-5. Beta Release.
=======================================================
TCPLIB: Changed patch for equinox incompatibility to work with 6.25


Changes August 14th/96 -- Release 2.00-4. Private Release.
==========================================================
FTPD: Can now delete files from a DOS-Only library if you are lib-op.
FTPD: Will now accept an internet alias for secured logins. (in the same
      way our SLIP/CSLIP/PPP server does).
WEB2: Also now accept an internal alias instead of a userid.
WEB2: Added application/pdf to tcpmctyp.txt
SMTP: Was loosing the last character of some messages.
POP3: Added CNF level4 option POP3MXMG.
TCPLIB: Found a major incompatibility problem between Equinox (and equinox-like
        drivers and Telnet/Telnet Dialout Channels). This affect all
        systems that have an Equinox board. Gcomm changed the way these
        channels work without informing us a long time ago. Fixed.
TCPLIB: Added hidden TCPLIB option "J" for ICMP debugging output to the
        audit trail.

Changes August 2nd/96 -- Release 2.00-3. Private Release.
=========================================================
DOCS: Some minor changes, here and there.
WEB2: Fixed problem with password protected pages.
DMA: Carrying the INVISIBILITY flag from the MASTER BBS to the DMA
     servers was causing some problems with some modules. Now, sessions
     on the DMA Servers will never be invisible.
TCPLIB and SLIP/CSLIP/PPP Server: Added a clrprf to prevent channel crosstalk
                                  if some other modules do not do their job
                                  of cleaning their output buffer when done.

Changes July 30th/96 -- Release 2.00-2. Shipping Release.
=========================================================

Finger Server: Was showing invisible slip/clsip/ppp users.

DMA Server: Added special configuration option DMASTRICTCT. When enabled
            requires that the tcpdmact.txt file be used and the IP address
            and suffix of the calling DMA client be listed there. (default
            was that if it's not there, any suffix would do).

TCPLIB: slip/cslip/ppp dialler would loose a file handle on script timeouts.

Docs: Small changes to TCP200.DOC

Changes July 15th/96 -- Release 2.00-1. Shipping Release.
=========================================================

TCPLIB: Setting the PSH flag at the wrong time on TCP packets was preventing
        telnet communication with some very limited sites. That was also
        causing some problems to a system that is behind a firewall.


Web2: Exported WEBDPTR.
Web2: implemented hdlrspbdy().
Docs: Updated tcp200.doc again. Ascii version is now available from
      our MajorTCP file library.

Web2: Fixed bug in a web2 function that will be used in a new module from
      DialSoft. Did not affect any of the current functionality.

SLIP/CSLIP/PPP Server: Added support for /SLIP and /PPP trailers for clients
                       that are moving up from ICO/AIO.

FTP Client: Had a problem with a specific (and non-standard) multi-homed
            site.

SLIP/CSLIP/PPP Server: SLIPDURT was only applicable to the credit rate.
                       Changed it so that it also applies to the maximum
                       time per call and per day for dual logins.

PPP Server: Start message is now configurable (level 6, PPPSTRT).

SMTP: Will send notice of incoming email even when recipient is invisible.

DMA Server: Will now set the "age" field properly at time of account
            creation and will update it from them on.
DMA Server: Suffix Control file (tcpdamct.txt) had a problem with
            alphabetical suffixes.
DMA Server: Was not working fine on some WG2.0 DMA Servers.

Changes June 14th/96 -- Release 2.00-0. Shipping Release.
=========================================================

Includes Shipping release of the FTP Server.
Basically same as 1.88-3.


Changes June 12th/96 -- Release 1.88-3. Beta Release.
=====================================================

MIME Importer: Would GP on a very rare error condition.
WEB2: Access control wasn't working with multi-homing.
RLogin: If credits were required for an rlogin connection (surcharged)
        then users that didn't have credits but still had access to
        the menu choice were left in limbo after seeing the message
        saying that they didn't have credits.

TCPLIB: SUROREM/SUROBBS/SUROLOC set to accept charges up to 32767
        credits.

FTP/FTPD: As long as activity is detected on the data channel, the
          inactivity time out won't be applied on the control channel.

POP3: Invalid password atttempts will now be reported in debug log level-1,
      including the actual password that was tried.

TCPLIB: possible "out-of-memory" errors when very small systems were
        connected to the Internet using a T1 and doing an FTP download
        from a very fast FTP Server.

PPP: Made sure to re-initialise PPP VJ Compressor if someone is attempting
     to renegociate VJ compression while online.

Changes May 27th/96 -- Release 1.88-1. Limited Beta Release.
============================================================

NNTPD: Fixed bug where 0 bytes attachments were created on
       long cross-posted messages when impatt was set to YES.

Changes May 24th/96 -- Release 1.88-0. Limited Beta Release.
============================================================
RLOGIN/DMA: Will now handle "relog" globals properly.
Telnet: Will now handle "relog" globals properly (ascii mode).

FTP Client: Added command "bin" as an alias for "binary"

SMTP: Will no longer accept an address of the following format:
      IN:INT:user@system.host. (ie, when wrong prefix was specified
      by user).

MIME Importer: Problems with the from address field of messages that came in
               with an absolute return path.

TCPLIB: Added TCP_BASE_IP text variable: Display the base IP address of the
        BBS.

MIME Importer: Stopped stripping lone LFs from imported mail so that
               messages written within WG2.0 in rich text format are
               imported properly.

CSLIP: Type code processing changes.

BSDAPI: fixed a problem with bind(sockfd,NULL,0) (was returning EFAULT)
        (would also affect sendto() on an unbound socket)
API: NTF_RCVD/RCVDT/WRT are now masked off _after_ the call to ntfyfun
     with NTF_CLS/CLS2. Should not affect any modules.

Finger Client: Added a /Finger global command. You must create a module
               page called FINGER in order to use this feature. See
               tcpmisc.msg and updated docs when they are availlable.

FTP: Fixed a GP.

SLIP/CSLIP/PPP Servers: If a user is in a class that is not credit exempt,
                        but doesn't have credits left (ie, not switched to
                        another class), I was allowing this user to enter
                        the server and stay there for 5 minutes. Now the
                        user won't be able to stay for more than 15 seconds.

MultiHoming: Was not working properly when your netmask in tcplibm.msg was
             set to something other than 255.255.255.0. Will now work if
             you are on a sub-net.


RLOGIN+: Added 0x96 0x87 extended script command. Returns the
         remote userid entered on the command string.

Changes April 25th/96 -- Release 1.86-11. Open BETA (tcp186-b.zip)
===================================================
SLIP/CSLIP/PPP: Fixed router problem when your BBS was on a subnet (ie,
                netmask didn't end with .0).

MIME Decoder: Fixed problem with from:@ messages.
DMA Client: /GO in ascii mode will no longer send junk to remote connection
NNTPD: Re-enabled ms2id.
CSLIP: Moved VJ compressor data area out of VDA so that CSLIP isn't affected
       by modules corrupting the VDA.

IRC: removed OLD IRC from 1.86-11. You can keep the one you have, if
     you don't want to beta test the new IRC client. The new client
     is in file tcpirc02.zip in our file library.

Changes April 15th/96 -- Release 1.86-10. Open BETA
===================================================
WEB2: There was a new update done to go along with this version.

MultiHoming: Fixed problem with telneting out to sites that end with
             the same number as an address in your multi-homing range.

BSDAPI: separated UDP/TCP local port domains.
SLIP/CSLIP: Was not accepting incoming packets of 1500 bytes.
            (maximum was 1499).

SMTP: Now using BSDAPI for server socket.
NNTPD: Now using BSDAPI for server socket.


Changes April 9th/96 -- Release 1.86-9. Open BETA
==================================================
SLIP/CSLIP/PPP: Will now update the credit rates when user changes
                classes while using the SLIP/CSLIP/PPP server (in ghosting
                mode, menu mode is controlled by standard accounting). That
                will allow you to define, for example, a class that gives 3
                hours a day of usage and then switches to the hourly class.
                *** This is in alpha testing, please test before relying on
                *** it.

PPP: Fixed GP. Improved packet processing speed. Less chances of
     a "more than 1000 buffers used" message to come up.

SMTP: mail to "root" and "postmaster" when these two accounts
      didn't exist was bouncing. This is since the introduction to
      MIME, and when ENABROUT was set to YES. Fixed.


Changes April 4st/96 -- Release 1.86-8. Open BETA
==================================================
PPP: added yet more debugging info.
PPP: Fixed crashes on very large systems with lots of activity.
PPP: Improved performance on large systems.
TCPID: Was sometime not clearing Info for a channel.
SMTP: Moved signature around in MIME messages so that AOL can
      read attachements. (AOL's MIME decoder is _very_ picky)
WEB2: There was a new release to go along with this version.

Changes April 1st/96 -- Release 1.86-7. Open BETA
==================================================
SMTP: Added TCP_MAILFROM text variable that list the email address
      of the current user.
TCPID: Will now work with multi-homing IP addresses.
TCPID: rewrote to use new BSDAPI.
BSDAPI: BIND on multi-homing addresses problem fixed.
PPP: Added some code to try to find some problems.

Changes March 27th/96 -- Release 1.86-6. Open BETA
==================================================
TCPLIB: server failed 10048/1 error messages when using
        the slip/cslip/ppp dialler to connect to the internet.

Changes March 26th/96 -- Release 1.86-5. Open BETA
==================================================
TCPLIB: If log file can't be writen to, log entry will be
        skipped, instead of disabling log file.

Changes March 25th/96 -- Release 1.86-4. BETA
==============================================
BSDAPI: 1.86-1 to 1.86-3 were not working with WorldSock. Fixed.

POP3: Will now use the proper mime content types on
      attachements.

TelnetD/RLoginD: Bug that could yield to "out of memory" errors.

RLogin: Added configuration option DMALANG in tcprlgn.msg.

Changes March 24th/96 -- Release 1.86-2. BETA
=========================================================
PPP: if SLIPNRKY is blank, the option will be totally disabled.
SMTP: fixed GP.
SMTP: No longer uses tcpopen() but uses connect() instead.
SMTP: Added level 3 option RMLKEYLO, allows you to let local users
      send email to local bbs users that don't have RMLKEY using POP3
      mail readers.

Changes March 21st/96 -- Release 1.86-1. BETA
=========================================================
DMAServer: You can now restrict which suffixes DMA clients are using by
           entering a list of IP addresses and their suffixes in the
           file tcpdmact.txt. The DMA server will check every 5 minutes
           to see if this file has changed. Maximum 200 records.
           Format is:
           NumericIPAddress suffix
           Example:
           199.84.216.2 A

           Will allow 199.84.216.2 to only use A. If a system is allowed to
           use more than one suffixes, use multiple lines. If a system is
           not listed in there, he'll be allowed to use any suffix.

SMTP: the "return-path" field of outgoing messages was using the
      userid instead of the SMTP alias.
SMTP: Was not confirming the existence of a userid when RMLKEY was empty.
SMTP: Might have fixed problem with multiple-copies of email sent.

PPP: Log will now show date.

TCPLIB: Internal changes in process_events
TCPLIB: Internal changes in tcp_pool_malloc for better allocation.

Changes March 15th/96 -- Release 1.86-0. Shipping Release
=========================================================
PPP: LCP/IPCP/PAP timeouts increased from 3 to 5 seconds.
SMTP: Was printing the "maximum size reached" too many times in the
      tcplogf.log.
SMTP: Will indicate how much data in buffers on outgoing timeouts.
TCPLIB: Problem with long aliases fixed.

Changes March 13th/96 -- Release 1.85-A. Release Candidate-2
============================================================
DOCS: New updated version of Docs in tcp186.doc

POP3: Was not truncating passwords when they were exceeding the maximum
      password length of MBBS/WG. Added strict memory checking.

NNTPD: Added strict memory checking.
Telnet: Added strict memory checking.

IRC: Possible GP fixed. Added strict memory checking.

PPP: Was ignoring the SLIPNRKY used for limited routing. Fixed.

SMTP: Speedup on sending messages.

TCPLIB: GP when running Worldsock fixed.

Changes March 11th/96 -- Release 1.85-9. Release Candidate-1
============================================================
RLogin/DMA: Was not accepting lowercase suffixes anymore. (Also made the
            change for the ICO DMA Client. If you run a DMA server, tell
            all of your ICO DMA users to upgrade to today's beta.)

POP3: Fixed some SPR overflows.

Telnet: Changed output translation of mode 'B'. Should make it work
        better with sites like iglou.com. Let me know if this did
        break any other sites.

SMTP: Was detecting email loops, but not those caused by autoforwarding.
      Now will mark every autoforwarded messages in way that will make
      them rejected if they come in again through SMTP. That means that
      if a user wants to forward email to another account on your bbs,
      they must not put the internet address of that account in the
      autoforward field, but just the account as for a local autoforward.

SMTP: Will now try to put a more precise mime type on outgoing attachements.

Changes March 5th/96 -- Release 1.85-8. BETA
================================================
DMA Server V2.2:

DMA22: Can now support 2 and 3 digits suffixes. A valid suffix is now
       0-9, a-z (except x), and 10-127. To use the 10-127 suffixes,
       the DMA server must be 1.85-8 or above, and the clients that
       have these suffixes must also run 1.85-8 or above.

DMA22: When an invalid gopage is used, a message will be printed on
       the user's session and in the DMA server's audit trail.

DMA22: Relaxed DMA login timming requirements. Some DMA Client
       for ICO sites had problems logging in.

TCPLIB: Some more DMA debugging added.

MIME:  Decoder was not importing any mail in 1.85-7. Silly bug.
MIME:  Was only routing one external recipient per message.

NNTPD: Disabled ms2id checking in ihave phase.

Changes March 1st/96 -- Release 1.85-7. BETA
================================================
TCPLIB: Found a problem that could yield to memory corruption.
        The more people were using FTP, the more chances something
        like that would occur. That was present, one way or the other
        since 1.81-2.

MIME:   Now respect SMTPGPR (level 4, tcpsmtp.msg). Will skip
        "SMTPGPR" cycles between each "work" cycle. (the higher
        SMTPGPR is, the slower the import process will run and
        the lower the impact on the BBS.

Changes February 28th/96 -- Release 1.85-6. BETA
===========================================
IMPORTANT: If you are running WG1.01, we have uploaded a patched
           GALMSG.DLL that fixes a problem in WG1.01 that will
           most likely come out with MIME. Download and install
           this GALMSG.DLL. Make a backup of the old one, just in
           case.

IMPORTANT: If you are a developper using our API, you must update
           your tcp/ip devkit and recompile your application for
           1.85-5. This should not be needed in the future.

SMTP: MIME support added both for incoming and outgoing messages for
      MBBS 6.25, WG1.x and WG2.0.
SMTP: SMTPMIME option allow you to enable or disable the sending
      of MIME encoded messages. (does not affect incoming messages,
      for them, MIME is always enabled).
SMTP: Loop detection added. Will stop processing messages after
      a message went through more than 20 hops.
SMTP: Will always record the IP address of the sender of an email
      in the "received:" header of email going through the SMTP server.
SMTP: Message router now supports up to 100 local and 10 remote recipients.
SMTP: SMTPHEAD is temporarely a toggle. Set to 0 removes all headers,
      set to non-zero records all headers. Note that the header will
      be copied also on autoforwarded emails.
SMTP: If SMTPOFST was set to YES, a catastro (message #122 out of range)
      could take place.

PPP: Yet more bug fixes.

WorldSock Users: You must get a new version of WorldSock from MurkWorks.

Changes February 26th/96 -- Release 1.85-4.
===========================================

TCPLIB: Changed the way buffers are managed in accept.
DMA Server: Added special configuration option "dma_prflin" that
            will make all DMA server users default to the line
            editor.
PPP: Was not freeing all transmit buffers if PPP user would hangup
     with lots of data queued to be sent to him.
POP3: Could catastro on SPR overflow.
PPP: An array-extension was not initialised to 0. This would occur on
     systems with heavy PPP usage and would create a GP @xxx:0B18.

Changes February 20th/96 -- Release 1.85-3.
===========================================
PPP: Changes in the way that memory is allocated, yielding two
     advantages: 1) should remove GPs, 2) better performance.
     (Some 486 systems couldn't use the PPP dialler before, they
     were getting lots of checksum errors.)

TCPLIB: Fixed problems in dynamic allocation of sockets.

NNTP: The "Date" format was slightly deviant from the standard
      for dates with NNTP, adjusted.

POP3: Changed MDF file so that that it requires SMTP to be loaded,
      since it will GP if not.

SMTP: Was not deleting messages from smtp.dir and smtp.dir\input
      under some circonstances.

SMTP: Minor change to try to diagnose the multiple-copy of
      email sent to remote systems.

Changes February 07th/96 -- Release 1.85-2.
===========================================
Internal DNS: (does not affect SLIP/CSLIP/PPP). When MajorTCP/IP would
              make a DNS query to a name server, and that server would
              take more than 1 second to answer, MajorTCP/IP was sending
              another request (which is fine). However, if the answer to
              the first query was received after the second request, it
              would be ignored. (which is wrong). This could cause problems
              on slow links that would constantly delay packets for 1 seconds
              or more. An example of this is if you were making an FTP
              transfer (download) from a site that was sending you
              packets very quickly (or with a large MSS) and your BBS
              is connected to the Internet over SLIP/CSLIP/PPP, DNS queries
              made by other users would fail during this transfer. Fixed.

SMTP/NNTP: Proper TimeZone settings, take 2.

NNTP: more debugging added.

Changes February 05th/96 -- Release 1.85-1.
===========================================
SLIP/CSLIP/PPP: Internal changes in the way userids are copied.
PPP/PAP: Truncate passwords at 9 characters before checking, since
         the normal Worldgroup password check doesn't check beyond
         9 characters.
IRC: Major Bug found. Fixed. Would GP or corrupt memory.
IRC: Should now work with Quarterdeck IRC server. Note that this server
     doesn't support the "names" function used to refresh the list
     of users in a channel. Because of that, the list of users might
     become in-accurate. To refresh, re-join the channel.
SMTP: Will fail (reject) a message that is trying to be sent
      to an email address that has two or more '@' in it.

Changes January 31st/96 -- Release 1.85-0.
===========================================
New Shipping version of MajorTCP/IP.

PPP: Adjusted MRU to be 40 bytes more than MSS.

Changes January 29th/96 -- Release 1.81-10. BETA
===========================================
IRC: change in way IRC obtain the user-id's email address.
PPP: Moved PPP structures out of the VDA, since some other modules (unknown)
     do write into it at bad times for us. This will fix GPs.
DOCS: Pre-release docs for PPP in tcp185.doc. (next shipping version
      will be called v1.85.) MS Word format. As usual, we'll upload
      text format version of the docs shortly to our support bbs.

Changes January 25th/96 -- Release 1.81-9. BETA
===========================================
SLIP/CSLIP/PPP: If one was using SLIP from the menu tree, problems could
                occur when user would hang up.

TCPLIB: Will now log a DNS change (because the current one doesn't
        answer within DNSTMO seconds) in the audit-trail.

PPP Server: Will now negociate the current DNS server with the PPP
            clients that connect to us instead of always the PRIDNS. That
            way, if our PRIDNS is down currently, new PPP clients will be
            told to use the SECDNS, if defined. (only at the time the PPP
            call is setup).

Changes January 24th/96 -- Release 1.81-8. BETA
===========================================
PPP: reworked memory allocater, fixing at least 1 source of
     memory overwrites that could lead to lockups.

Changes January 23th/96 -- Release 1.81-7. BETA
===========================================
PPP: Changed the PPP autosensor, could give problems under 6.25 and
     WG, depending on the timming of success of the autosensing.
PPP: Would say that the user was already logged in, sometimes, depending
     of the timming of the PPP connection, if the user was using ppp:userid
     or his internet userid in the PAP configuration.

SMTP: Will no longer retry sending a message when the actual message
      is missing. (DATA0 can't open)
SMTP: Could be eating up a file handle when the above condition would
      occur (and other similar error conditions).

Changes January 22th/96 -- Release 1.81-6. BETA
===========================================
BSDAPI: recvfrom was missing from import lib.
PPP: was GP-ing when trying to look at the detailled PPP stats
     of a SLIP channel.
PPP: The debug version of WG didn't like free(NULL) and was giving
     a catastro. Fixed.
SLIP/CSLIP/PPP: Added IP address to the SLIP/PPP start message that
                is recorded in the audit trail.

PPP Dialler: Still one more site wasn't able to negociate the PPP
             dialler connection. Fixed.

Changes January 19th/96 -- Release 1.81-5. BETA
===========================================
PPP: Source of GPs removed.

Changes January 19th/96 -- Release 1.81-4. BETA
===========================================
TCPLIB: Forgot to change version number.

PPP/X.25: New optional configuration options in level4 tcpslip.msg
          for BBS that have X.25 links with remote PAD echo. Very
          experimental. Won't affect anyone else.

Changes January 19th/96 -- Release 1.81-3. BETA
===========================================
PPP: Open BETA release of the PPP server and PPP dialler. Documentation
     changes haven't been made yet. Please read the notes on other revisions
     below.

IRC: Found a problem were a socket could remain allocated in the
     background lister.
PPP: Added PPPKEY, an extra key that can be configured as a requirement
     to PPP, in addition to all the other keys that are defined in
     tcpslip.msg. If this is non-blank, and a user doesn't have that key,
     then they will only be able to do slip/cslip.

Changes January 18th/96 -- Release 1.81-2. ALPHA
===========================================
BSDAPI: Problems with sendto() and udp sockets in general.
BSDAPI: Problems with recv() on unconnected UDP sockets.
BSDAPI: recvfrom was returning a bogus s_type.
BSDAPI: setsockopt now accepts SO_SNDBUF/RCVBUF up to 8192 bytes.

SMTP: was not recognizing default aliases properly. (' '->'.' and '.'->'..')
SMTP: was still not deleting some aborted files, under some
      circonstances.

PPP/PAP: Will now accept login using Internet Aliases. (under PAP mode only)
PPP: auto-sense message, abort message, abort delay now configurable in
     tcpslip.msg.
PPP Dialler: Changed the way LCP/IPCP options are negociated, to address
             problems with some PPP servers.

TCPLIB: NBTCP removed, now automatically configured. (You'll only run out
        of sockets if you run out of memory, or if you exceed your license
        count.)

FTP: (experimental) now using a receive buffer size of 8192 bytes. Initial
     benchmarking show ftp transfer speeds (get) on my local lan
     of about 180-190,000kcps, when using an MSS of 512.

TCPLIB: Increased the default tcp disconnection timeout from 26
        to 104 seconds.

Changes January 15th/96 -- Release 1.81-1. ALPHA
===========================================
PPP Server: NEW!
    Features: PPP Smart Sensing
              Automatic IP address negociation
              Automatic DNS Address negociation (for PPP clients that
              support it, like Win95 and WinNT using the Microsoft
              Winsock. We're probably one of the first PPP servers to
              support that feature since Microsoft only published the
              standard in December 95).
              Supports PAP under Smart-Sensing, means that your PPP users
              that have PPP clients that support PAP (PPP authentication
              protocol) will not have to write or run a login script.
              If you were running SLIP before, you can just install this
              and start offering PPP. No options need to be changed.

PPP Dialler: NEW!
              Supports all the above (you can leave your IP address and
              DNS address empty, if the PPP server you connect to supports
              these options).
              If you don't need a login script, then just don't put a tcp
              dial.scr file. See options in tcplibm.msg.

SLIP/CSLIP/PPP Dialler: Added SLIPPING, a configuration option that
                        fights inactivity timeouts that some stubborn
                        ISPs don't want to remove. (in tcplibm.msg)

SLIP/CSLIP/PPP: Added 3 new configuration options, SLIPDURT, SPDUCKIP,
                SLIPDUKY. All related to dual-logon charges, keys and
                channels. See the message file (tcpslip.msg) for more
                info.

WWW/POP3/Finger Servers: changed so that they don't start up if we
                         don't have an IP address, and restart when
                         we get one. (or get a new one, on a PPP redial).
                         This will help with Dynamic Addresses with the PPP
                         dialler.

NNTPD: email sent to "." alone (through menu concatenated commands)
       where sent to NNTP instead of "sysop". (WG only)

FTP: Possible source of GP (very remote) fixed.

SMTP: When a routed message was aborted, it was left as a .GME
      message in smtppath. .GME messages were also not deleted
      when an abort would occur because of MAXISIZE.

Changes January 5th/96 -- Release 1.80-1.
===========================================
Telnet: Back to its normal (working) behavior for 8bit mode

IRC: Source of GP fixed.

DMA: DMAMAST option was ignored. Fixed.

NNTP: On 6.25, if the MHS ADDRESS: field had a space after the NNTP
      prefix, the newsgroup name would not be exported properly.

POP3: For local email (email from a local user to a local user), POP3
      was not using the Internet alias of the user in the "From:" field.

POP3: If a connection was requested to the POP3 server, but never
      actually connected (because of network problems for example),
      then the socket would remain reserved to POP3.

POP3: Flagged the module as being "internal" to prevents sysops from
      putting POP3 in the menu tree. (It must NOT be in your menu tree).

TCPLIB: PUSH flag was not always set on the last segment of packets sent,
        could cause problems with ome hosts (rare) that were depending
        on it. (no problem with telnet/rlogin).

WWW: Updated module to use new API. Will now never loose it's base
     listening socket.

SMTP: Messages that are currently being received will now
      be in the smtppath/INPUT on 6.25 as they were on WG.
      (Except for to be routed messages).

Changes December 21th/95 -- Release 1.80-0.
===========================================
DOCS: Renamed to tcp180.doc.

DMA Server: Was now applying screen pause settings a little too harshly,
            even if a module on the DMA server disabled screen pauses
            for it's needs (like TW2002), the DMA server was re-enabling
            it. Fixed.

Changes December 20th/95 -- Release 1.79-6.
===========================================
DOCS: Renamed the documentation to tcp179.doc.

TELNET: Made programmed connections (from the message file) work
        exactly as they did in versions before 1.79-1.

NNTPD: Would loop on long messages under worldgroup if
       IMPATT is set to YES.

SMTP: Reject notices now configurable, see level 6 REJNOT0
      and REJNOT1 message blocks in tcpsmtp.msg
SMTP: Reject notices were not sent properly when the
      message delivery failed because of a wrong address (host/domain).

Changes December 19th/95 -- Release 1.79-5.
===========================================
POP3: POP3! It's there! See TCPPOP3.DOC for an MS-Word for
      windows version of the documentation.

IRC: DCC file transfers should work properly now.

NNTPD: When the connection to the remote NNTPD server is rejected,
       a message will now appear in the audit trail. Full details can
       be found in the tcplogf, if nntpd debug level is 1 or higher.


TELNET: Seems I also broke the CR/LF translation in 1.79's telnet. Fixed.
TELNET: Try mode b* or 8* if you are telnetting to a site in binary
        mode on a port other than 23. It will force us to initiate
        telnet option negocitations.

POP3: Would GP when someone had 30 messages in their mailbox that would
      be retrieved by POP3. (note, there is a limit, currently, of 30
      messages per POP3 session. This is to conserve memory).

Finger Server: Couldn't query a user based on his Internet Alias.

NNTPD/SMTP: Now using the new alias system. (no apparent change to
            you, just an API change).

NNTPD: When IMPATT was set to YES, and you were receiving a newsfeed
       that included forums you didn't want to receive, files were
       left into the MHSIN PARCEL directory or nntpd.dir PARCEL
       directory. You should probably empty these directories.

Changes December 13th/95 -- Release 1.79-4.
===========================================
SMTP: Routing was not working in some cases. (message was rejected).

TCPLIB: Would GP if a telnet dialout channel was dying at the very wrong
        time. (using RLogin on the dialout channel only)

TCPLIB: Was not timing out a socket fast enough when the end point was gone
        and the stack was not receiving an ICMP message. Will now wait up
        to 26 seconds before aborting a connection when we have
        un-acknowledged data. (26 seconds is very long, in terms of TCP
        acknowledgments).

TCPLIB: Testing a more agressive re-transmition strategy, mostly for a
        specific client that has a problem with his line to the Internet.

Telnet: Ascii mode "suspend output while typing" feature was disabled
        because or terminal type always enabled. Fixed.

Changes December 13th/95 -- Release 1.79-3.
===========================================
TCPID: Was displaying warnings about curtok: -1 in audit trail,
       when this is not a problem.

TCPIRC: Didn't include the right tcpirc.msg file in 1.79-2.

Changes December 13th/95 -- Release 1.79-2.
===========================================
TCPSMTP: Added SMTP routing. Experimentatl at this stage. To enable,
         turn on ENABROUT, and configure SMALxx options in level
         4, tcpsmtp.msg. Check that your SMTP email is working after that.

TCPSMTP: Under some circonstances, SMTP could have moved the wrong piece
         of email to the reject directory, when a piece of email was rejected
         because of an invalid recipient.

TCPSMTP: Will now generate "bounce" email messages when an email can't
         be delivered because of too many retries or because the
         destination system rejected the recipient.

IRC: Hitting X while trying to log on will now re-start the client,
     instead of exiting completly.
IRC: Colors (or characters) used to display operators in list of
     users in a channel now configurable.
IRC: Users will now be showed how an action looked like.
IRC: /FLUSH will now flush LIST output from non-default server.
IRC: QUIT message will now block out nickname for default quit message.
IRC: Will now tell user if /W of a channel returns nothing (either because
     no one is in channel, or banned from it).
IRC: Extended help for operator MODE commands.
IRC: Sites with long hostnames were not able to talk. fixed.
IRC: Incoming messages from nicknames longer than 9 characters should
     work properly.

DMAServer: Problem with the "screen pause" settings on sub-bbs.
           Now will really keep track of the settings on the MasterBBS
           when the connection is setup.

TELNET: Terminal type option now always enabled.
TELNET: Reworked the 8bit binary option negociation.
Finger Server: Will now display SLIP users in online list of users.

TCPLIB: Slip Dialler was not seeing if the dialling channel was already
        being used by someone else.

NNTPD: Was GP-ing, if used on a sub-bbs and smtp was not enabled.

Changes December 7th/95 -- Release 1.79-1.
===========================================
TELNET: 8Bits binary mode wasn't working on ports other than 23.
        (this seems to have dated back since the first version of telnet)

TCPLIB: If you were connected with SLIPPER or CSLIPPER (not the internal
        dialler), installing 1.78-F or 1.79-0 was making you loose your
        internet connectivity. Not good. Fixed.

Changes December 7th/95 -- Release 1.79-0.
===========================================
TCPMISC: Finger server was confused by finger requests that were
         requesting wide/verbose (/w) information. No harm done,
         except request was not handled properly. Fixed.

TCPLIB: IdentD information was not cleared when a user
        loggued out.

TCPLIB: New text variable: TCP_IDENTD, returns the IdentD
        information we have recieved for current user. (returns
        "" if none received).

TCPID: "Ident of" messages in the audit trail have been moved to
        the tcplogf.log file.

TCPLIB: Ansi codes now automatically stripped off the special
        configuration options (CFGTXTnn).

TCPLIB: Will to menu (instead of tcplib menu) if "U" display is selected
        from a menu.

TCPLIB: Added /tcpid global command that does same as tcplib 'u' command,
        only availlable for MASTER key holders. (future version will
        make this configurable).

NNTPD:  Might have left a GME request block open.

TCPLIB: Socket 0 (usually a telnet listening channel) could
        stop functionning.

IRC:    Temporary fixes for PRI#Wordlgroup problem and a few other
        temporary fixes.

Changes December 4th/95 -- Release 1.78-15.
===========================================
DOCS: New manual (MS Word6.0 for windows format) in tcp178.doc.

TCPMISC: finger client/server updated to use new BSD-like API.

TCPLIB: New "U" sysop command that list users that are online
        via incomming telnet/rlogin, their IP address and their
        IdentD information.

DMA Server: Some new experimental features. See revised/updated
            tcpdma.txt.

TCPLIB: if you put slip_dialler=inv in one of the level 1 CFGTXTnn
        blocks, your slip_dialler channel will be marked as invisible.

TCPLIB: removed configuration options NAGLE,FASTRET,EVTDBUG.


TCPLIB: More work on the BSD-like sockets API.

TCPSMTP: On WG, added priority bit support (surcharges not
         configurable yet, always 0) for email. An email that
         has the priority bit set will move first in the queue.

Changes November 29th/95 -- Release 1.78-14.
============================================

IRC: Would not respond to PING requests during downloads.
IRC: SPR Overflow CATASTRO errors fixed.
IRC: A bunch of other problems fixed, including the blank whisper bug and
     the LIST problem that was writing in the audit trail and possibly
     corrupting memory.

TCPLIB: UDP API related changes.
TCPLIB: BSD Sockets-like related changes.

NNTPD: Could crash with an SPR overflow (catastro), when the
       from: address of a newsgroup post would be too long.

RLOGIN: Wrong prompt was printed when entering a userid that
        doesn't exist, at the delete prompt.

TCPLIB: Activation codes are no longer case sensitive.

SMTP/NNTPD: New default system-wide signatures, see option
            SMTPDSG and NNTPDSG. Also extended the API so that
            ISVs can add user-controlled signature systems.

SMTP: Was not moving messages that were rejected by the REMOTE
      nntpd server (because of wrong recipient) into the reject
      directory.

SMTP: Was sometimes not waiting until the next retransmit time
      before trying to resend an email.

Finger Server: User "Jack.Daniel" can now be fingered by
               doing a finger to "Jack..Daniel". (one "."
               is replaced by a space, two "." are replaced
               by one ".".

NNTPD: Exporter is now enabled. Note that it will not export
       file attachments, currently. (they will be ignored).
       Configuration options related to exporter (in
       tcpnntpd.msg: SNNKEY, NNTPCHG, NNTPEFED, NNTPDORG,
       NNTPEDLY, NNTPDPFX, NNTPNAM, NNTPDSC, NNTPXMP, NNTPHLP.

IdentD: Was not sending a proper query for ports # higher
        than 32767.

Changes November 23th/95 -- Release 1.78-13.
============================================
NNTPD: TCPMSGID.DAT file now called TCPMS2ID.DAT.
NNTPD: The forum to usenet mappings were sometimes missing forums.
NNTPD: Import batches will now be deleted after being imported.

SMTP: GME is sometime not outputing a blank line at the top
      of exported messages. This would cause SMTP to miss the
      first paragraph of the message. We will now automatically
      add the blank line if needed.

IRC: "Maximum list reached" message in audit trail removed.
IRC: "Join Channel" stopped working (as opposed to "join #channel"). Fixed.
IRC:  MODE will automatically update the channel listing, in case of a
      change in channel operators.
IRC:  Will now re-prompt for nickname, if already in use, rather than
      re-starting program (and kicking user off of server).
IRC:  Could cause a user to get disconnected if the users' output buffer
      fills during a list.  Fixed.  (This was reportedly happening when
      using the WG Client over a LAN connection)

Changes November 21th/95 -- Release 1.78-12.
============================================

FTP: If nsurkey was empty, then hourly (not credit-exempt) users
     would not be surcharged ftprat or surorem. fixed.

NNTPD: On Worldgroup (not on 6.25), when importing a usenet post
       that was for multiple newsgroups, more than one mapped to
       forums, only the first instance was imported.
NNTPD: On Worldgroup (only), when importing a usenet post for multiple forums
       that was imported as an attachment because of it's size, only
       the first one would be imported, the other ones would indicate
       a GME error in the audit trail.

IRC: Won't gp anymore when HOSTNAME (in tcplibm.msg) is emtpy.
IRC: Connections on some servers were not working for userids that
     didn't have an internet alias. TCPLIB now has a new default
     ALIAS system (spaces in names converted to "." and "." converted
     to ".."). At this point, only IRC can decode these addresses, but
     SMTP will do that soon too.
IRC: Previous versions had a limit of 2000 channels stored in the default
     server channel list. However, some IRC networks often have 4000 channels
     and thus some channels were not listed, even if they exist. This is
     now configurable in tcpirc.msg. Note that the more channels you allow
     the more memory it will take. Options TOTLST and DSCMAX. Setting both
     to their maximums will take 128K of memory.
IRC: SPR overflow catastro error fixed.


Telnet: You can now fake module names in telnet as in rlogin. In
        the menu command string, put O <numeric IP> <port> <mode> #<modname>
        where modname is the module name you want the text variables
        TCP_RL_MOD and TCP_RL_MOD2 to return. modname can't have spaces.

SLIP: The tcpslip-warning for wrong IP address for a user was not
      appearing on the right channel in the audit trail.

Changes November 17th/95 -- Release 1.78-11.
============================================
NNTPD: If NNTPENAB was set to NO, on a Worldgroup system,
       there was the possibility that a GP would occur
       in cleanup. Fixed. [Only occuring if you had previously
       received batches with NNTPD].

NNTPD: Forum mapping into newsgroups was deffective, if you had put
       spaces in between the US: and the newsgroup name in the
       MHS ADDR: or Echo fields. Fixed. You SHOULD re-run the
       nntpd mapping process. (option 1 of the NNTPD menu).

IRC: If default server name can't be resolved, IRC will retry every
     15 minutes. Or if a user tries the default server and the name
     hasn't been resolved yet, it will try again.
IRC: Directed message with a full nickname sometimes would erroneously
     report that the nickname wasn't specific enough. Fixed.
IRC: When changing nicknames, some problems could potentially have
     arised (messages to server would report the old nickname). Fixed.
IRC: User kicked off would appear twice in channel.
IRC: LISTNUM wasn't working properly on default server.
IRC: User would get stuck if default channel blocked the user.
IRC: DCC file XFer was rejecting most files as being too long.
IRC: Changing your nickname was producing two responses.
IRC: Will now show error messages that arrive while logging on.
IRC: If no connections are made, user will go back to main menu.
IRC: Background lister will now try to connect less frequently
     if connection failed, to prevent bombarding the IRC Server.

NNTPD: Would catastro when receiving a message that was addressed
       to an illegal length usenet group name.

IRC: Was reporting the background listing process as being
     [none]@yourdomain. Will now report itself as root@yourdomain.
     (some IRC servers didn't like the [none]).

IDentD: Will now report system processes as root@yourdomain.

SMTP: Removed cause of _very_ unfrequent smtpo_opncb messages in the
      audit trail.

SMTP: MAXISIZE of ZERO would not accept messages bigger than 1K.
SMTP: Messages aborted because of MAXISIZE would show multiple warning
      lines in tcplogf debug log level 1 or more.

DMA Client(RLOGIN):
      If you did not ask for the sex of the users when they sign up,
      they would be unable to connect to the DMA Server until they
      had entered the "account display/edit" module. Just entering
      it would fix it. Fixed. Thanks TIMO!

Changes November 13th/95 -- Release 1.78-10.
============================================

TCPSMTP: Was GP-ing if: a) You were running 6.25
                        b) You had NNTPD hard-disabled (renamed to
                           tcpnntpd.mdf to tcpnntpd.dmd).

TCPSMTP: If a "reject rename failed" or "rename failed" occurs,
         SMTP will attempt to delete the file instead of trying
         to rename it again on the next cycle.

TCPSMTP: Added MAXISIZE, will abort a transaction is an email
         comes in bigger than that size in K. (level 4, tcpsmtp.msg)
         [To help prevent mail bombing]

TCPSMTP: Was leaving some files around, under some error conditions.

TCPLIB: Re-Added the ISERRF code. Many thanks to Yannick of TTI
        for the lead on this functionality that Gcomm forgot
        to document.

IRC: LISTNUM bug fixed.
IRC: If blocked from default channel, IRC will inform user and let
     him join another channel instead of just hanging in there.
IRC: A user kicked off a channel would still appear in list.



Changes November 13th/95 -- Release 1.78-9.
===========================================
TCPLIB: Removed ISERRF code temporarely, was GP-ing.

NNTPD: Was GP-ing on shutdown when NNTPD is disabled using NNTPENAB.

IRC: Create random nickname for background LIST process.
     Changes spaces to underlines in nicknames.
     # of characters in IRC input line now configurable.
     LIST problem(s) should be fixed.
     Topic changes now recorded properly.
     Now has "message sent and whisper sent" configuration messages.
     QUIT now lets you send an optional QUIT message.
     X will no longer do a READ ERROR to others in channel.
     Fixed source of GP.

Changes November 10th/95 -- Release 1.78-8.
==========================================
IRC: BETA version has been merged with the rest of MajorTCP/IP.
IRC: DEFNAM no longer needs to be unique.
IRC: Will wait until SLIP connection is established (over Internal SLIP
     dialler) before attempting to connect to default IRC server to start
     downloading the list.
IRC: A few other bugs fixed.

NNTPD: Importer BETA version has been merged with the rest of MajorTCP/IP.

NOTE: If you do not wish to participate in the BETA test of the above two
      products, disable the modules.

DMA: You can now go to menu pages using the DMA client (before, you could
     only go to module pages). One bad side effect is that if you try
     to go to a page that doesn't exist, it won't automatically close
     the connection anymore.

RLOGIN/DMA_CLIENT: When users were entering extra concatenated commands
                   to pick a menu item that was pointing to a DMA service
                   the DMA Client was not passing the right page name
                   to go to to the DMA Server. Fixed.

SMTP: Delay between retries will now follow an arithmetic progression
      on TRYWAIT instead of (trycount^2*trywait).

SMTP: Fix problem with auto-forward of mail coming from the internet,
      back to the internet, on Worldgroup, when SMTPFROM is also
      being used.

TCPLIB/WORLDGROUP: Added ISERRF support for TELNET and TELALT channels.

Changes October 30th/95 -- Release 1.78-7.
==========================================

SMTP: If you are using an ALIAS system and a user does not
      have an alias, SMTP will try to use the destination
      address as a real UID (applying, if possible, the "."
      to " " conversion).

SLIP Dialler: Was requiring (BUG!) that the SLIP dialler channel be defined
              as the last channel group in BBSMAJOR.MSG.

Changes October 25th/95 -- Release 1.78-6.
==========================================
SLIP: Per KCHR charges were not working (and never have been, it would
      appear). Fixed. But if you use that feature, let us know that it's
      working for you.

FTP:  Relaxed the checking of continuation lines for FTP servers that
      are not following the standard to the letter, like ftp.promise.com.

WWW:  Fully support default pages for subdirectories. The following URLs
      are now valid, and will all return the top page (as defined in
      WWWDEF) for the subdirectory.
      http://www.site.com/dir
      http://www.site.com/dir\
      http://www.site.com/dir/
      http://www.site.com/dir/top.htm (of course).

SMTP: Was using a timeout of 30 seconds when waiting for the banner from
      the remote SMTP server instead of the configurable option OUTTMOUT.
      Fixed.

Changes October 22th/95 -- Release 1.78-5.
==========================================
TCPLIB: Added new configuration option (REDIRSUP, level4), that disables
        (by default) the ICMP redirect support. You should leave this
        disabled. We've found at least one instance of a site that was
        crashing because of confused ICMP redirect packets that were sent
        by routers on the LOCAL net. (This can occur only if you have
        multiple routers on your LAN).

SLIP: (Menu Mode Only). Was not reseting the BBS inactivity timer (IDLZAP).
      Will now do so, everytime we process characters from the serial port.

DOCS: Update for MajorTCP/IP v1.78. (TCP178.MSW is MS Word6.0 format of the
      documentation. We have a freeware Word6.0 viewer available in our
      MAJORTCP file library).

TCPLIB: Removed the rs ipcheck warning message from the audit trail.

TCPLIB: Someone reported a problem where users would sometime get a
        message from one of the Majortcp/ip servers (like SMTP) in the
        beginning of a telnet or ftp session. This has been fixed.

Changes October 19th/95 -- Release 1.78-4.
==========================================
SLIP: SLIPNRKY is now checked every 5 minutes. (key for limited
      routing.)

TCPLIB: Increased the size of packet buffers to 2100 bytes, to
        accomodate some larger fragmented packets.

Internal SLIP dialler: Now supported directly connected SLIP/CSLIP lines.
                       If you have a serial (leased) line to your provider
                       that is connected directly to a serial port on your
                       BBS computer, you can define a SERIAL channel, set
                       the baud rate to the speed of your connection, and
                       use this channel with the slip dialler. The slip
                       dialler will skip the dialling phone number and will
                       execute the script right away. (you must at least
                       have a "send" in the script).
                       [This feature is considered in BETA]

Changes October 16th/95 -- Release 1.78-3.
==========================================
SLIP: Forgiving mode was only working for first 10 packets.
      This bug had been introduced in release 1.77-7. Fixed.

Changes October 15th/95 -- BETA release 1.78-2.
==============================================
SMTP: Added level 4 config option MAXTRY and TRYWAIT.
SMTP: Added support for SMTP folded continution lines in headers.

SLIP: (and others) fixed source of GPs caused by new way of allocating
      buffers in 1.78.

TCPLIB: Found a very remote bug in incoming rlogin, could cause GPs.

Changes October 14th/95 -- BETA release 1.78-1.
==============================================

TCPLIB: <sigh> had put the wrong tcplib.dll in the tcp178.zip file.

Changes October 13th/95 -- BETA release 1.78-0.
==============================================

**** NOTE *** DMA Server V2.1 needs a new activation code, entered
              in field DMACODE (tcplibm, level3). If you were running
              a sub-bbs with previous version, you'll need to obtain
              a new code from Vircom. Codes will only be available
              starting on monday Oct 16th/95. If you have installed
              this on your sub-bbs, and don't have a code, you'll
              need to bring back your tcp*.* backup (you have one,
              right?) in order to get your sub-bbs back online.

SMTP: Must reverse the sign of the time zone field in the
      email headers.

SMTP: Removed the x-wg headers, since we were not using them yet anyway.

DMASERVER: Upgraded to DMA v2.1
RLogin: Upgraded to DMA v2.1

Changes October 12th/95 -- BETA release 1.77-8.
==============================================
TCPLIB: Combo now has 256 TCP sockets limits, outgoing only and incoming
        only now have 64TCP, and unlimited is now (ouch) 1024.

SMTP: Added "message-id:" field in outgoing headers, some ISPs required
      that we had that.

SMTP: The TZ setting was ignored by SMTP and it would appear that
      it was always using EST as a time zone.

SMTP: Was GP-ing when SMTPMAXO was set to 0 (disabling SMTP) but
      someone was sending an internet email from the BBS under
      Worldgroup.

FTP: by typing an extra character in a menu selection, one was able
     to bypass programmed connections.

TCPLIB: Low level changes.

Changes October 6th/95 -- BETA release 1.77-7.
==============================================

SLIP: Slip forgiving mode will not activate after we've receive
      10 packets from a user.

SLIP: Last Login Date will now be updated when a SLIP connection
      end.

WWW: a request in the form http://host.domain/directory/ will now
     return the WWWDEF file for that directory.

Finger Server: You can now display text variables that are
               based on usracc for an offline user. (like CLASS).

TCPLIB: Low level changes. (CLS2 moved to unthread.)

TCPLIB: "Attempting to send 1514 bytes" warning should not have
        been logged.

Changes September 27th/95 -- BETA release 1.77-6.
=================================================
API: Added tcp_incsocknum.
API: Added finger server interceptor API.

SMTP: On Worldgroup systems, receiving LONG SMTP messages could
      slow down your system, even if you had SMTPGPR set quite high.
      With this version, we suggest you put back SMTPGPR to 2, and then
      experiment from there.

SMTP: Removed option SMTPGME from message file, it's now always ON when
      using Worldgroup.

TCPLIB: Low level handshaking changes.

Changes September 22th/95 -- BETA release 1.77-5.
=================================================
DMA: Incoming only version of MajorTCP/IP now works for up to 64
     TCP sessions instead of 32.

SLIP: Under some circontances, the SLIPFORGIVING mode wasn't working.

TCPLIB: Was sometime not accepting a tcpcall made from the same port number
        on multiple computers.

Note: If you experience problems with this version, you may wish to
      disable SMTPMXU and SMTPLOG. And see if the problems persist.
      In any case, let us know if you experience any problems.

Changes September 18th/95 -- BETA release 1.77-4.
=================================================
SMTP: Fixed a timeout problem preventing some incoming email to
      come in.

Changes September 14th/95 (PM)-- BETA release 1.77-3.
=====================================================
SLIP: Credits usage will now be included in module and system stats.

TCPLIB: Setting tickms to 0, in 1.77 prior to -3 would cause lots of
        functions to stop working after upgrading.

RLOGIN: Catastro when a user has a blank userid in MG/I database and
        comes into rlogin to enter a new one. Fixed.

TCPLIB: Low level changes.

Changes September 14th/95 -- BETA release 1.77-2.
=================================================
SMTP: Sockets could remain allocated when connection to an outgoing
      SMTP server would fail.

TCPLIB: Changed way incoming telnet/rlogin sockets were set to listen
        to prevent re-entrency problems.

API: Changed dnslookup,dnsmxlookup,tcpopen,arplookup calls.

Changes September 13th/95 -- BETA release 1.77-1.
=================================================
TCPLIB: Created new standard MajorTCP/IP LOG. Defined in level 4, tcplibm.msg.
SMTP: Now using standard log.

SMTP: No longer need SmartHost. See configuration of SMTP (tcpsmtp.msg).
      (this actually was in 1.76-8, but forgot to mention it).

SMTP: Removed cause for debugging message "smtpo_opncb ..." to appear
      in the audit trail. (no side effect bug).

SMTP: In debug log level 9, weird addresses could crash the system (SPR
      overflow). This came to be with 1.76-8.

Changes September 11th/95 -- BETA release 1.77-0.
=================================================

FTP: Seems I messed up FTP in 1.76-2. Fixed.
FTP: Relaxed the incoming socket rules so that FTP works
     with non-standard FTP servers.

Changes September 6th/95 -- PRE-release 1.76-8
===============================================
SMTP/WWW: Log file no longer kept closed between hits, reducing
          logging impact on the system. But this will now prevent
          you from being able to look at the log from another
          machine, while the BBS is up. This is a tradeoff for
          better performance.

TCPMISC: /DNS will now display results even if you're in "busy" mode.

RLogin: Can now accept hostnames (instead of IP addresses) in
        menu-ised command strings.

TCPLIB: TCPNEBUF can now go up to 1024 buffers. Warning: each buffer
        requires 1.6K of memory.

SMTP: New option (for 6.25 or WG if you are not using the GME handler)
      SMTPMXOC, controls the number of messages to be logged per
      OUTCYC. Default: 1.

SMTP: Will now use the from: field instead of the return path, if
      it exists in the header of the email.

SLIP: If audit trail of SLIP sessions is enabled, a "kill" code is
      now printed between square brackets. This will help us tell
      you why a user got disconnected if you have disconnections problems.

TCPLIB: Moved the event posting process to a different run queue.

TCPLIB: Added TELALT channel group type, and LOCSPC,LOCSPCM controls in
        tcplibm (level 4). Allows you to direct incoming telnet/rlogin
        calls that come from your local lan into a different channel group.
        Great with terminal servers.

SLIP: Prior to this version, you could not use pseudo-keys for the SLIPKEY
      or SLIPSKEY. This is no longer the case.

SLIP: New SLIP-MENU mode. A user that has the SLIPMENU key can now
      enter SLIP mode by just picking a menu item that points to the SLIP
      server. Since he doesn't have the SLIPSKEY, he won't be presented
      the actual sysop menu, but will enter SLIP mode. Note that _all_
      SLIP-specific accounting is disabled in this mode, but however you
      can use any accounting software and it will work with these users.

RLogin: Will now enforce the inactivity logoff timer (IDLZAP).

SLIP: Added pseudo_key (_tcp_islip) that is TRUE when the current user
      is active in the SLIP server (menu based or login based).

DMA: New option in TCPLIBM.MSG (DMAMAST) controls if the master key
     flag is being passed from a master BBS to a sub-bbs.

SMTP: Added SMTPOFST (tcpsmtp.msg, level 4) to kick start a smtp outcyc
      when a new GME (worldgroup) is sent to smtp. (this one is for you,
      Bill. <s>)

SLIP: Added SLIPFORC key in tcpslip.msg (level 3). If you give this
      key to an account, it will force the account in SLIP mode on
      each logon.

SMTP/RLOGIN: 1) MG/I blank aliases will no longer be seen as an alias.
             2) The "space" glitch shouldn't occur again.

Changes August 22th/95 -- Release 1.76-6
========================================
SLIP dialler: The send command was converting all "sent" characters
              lower case. Fixed.

SLIP dialler: Serious conflict between the SLIP dialler and
              SMTP.
SLIP server: Was, under some condition, thinking that the slip user
             that is connected was using the wrong IP address and
             was sending an email to the user.

Changes August 21th/95 -- Release 1.76-5
========================================
Heap corruption when using SLIP DIALLER. Fixed. Symptom: SLIP
was loosing the phone number to dial to.

SLIP dialler: Will skip blank lines.

SLIP dialler: New option, SLIPCON, allows you to make sure that
you connected at the expected baudrate. By default, it will
accept any connect string that starts with "connect". You could
put in there something like "connect 14400" if that's what
your modem should send.

Changes August 15th/95 -- Release 1.76-4
========================================
SLIP DIALLER was not redialling sometime after a disconnection.

Changes August 13/95 -- Release 1.76-3
======================================
Now includes revised docs for the internal SLIP dialler.
TCP176.TXT (ascii, badly formatted, version)
TCP176.MSW (MSWord 6.0 for Windows format)

Changes August 12/95 -- Release 1.76-2
======================================

Internal SLIP dialler: If you use SLIP or CSLIP to connect to your
   provider, you can now remove SLIPPER/CSLIPPER and use our
   INTERNAL SLIP DIALER. The dialler's SCRIPT file is called
   tcpdial.SCR and a sample one has been provided in your BBS
   directory by this installation. Note that this feature only
   works with the COMBO version.

FTP: MGET will be able to retrieve more than 99 files.
Finger Server: Will now properly terminate lines when printing
               files with generic finger accounts.
SLIP: New SLIPTRL option that allows audit trail logging of
      starting and ending of SLIP sessions.
SLIP: Will not allow second logon if not coming from a telnet
      channel group.

Changes August 4st/95 -- Release 1.76-1 [BETA]
=======================================
DMA2.0: Found a bug related to the use of the flags auto logoff and
        auto special off. The flags where not always honored.

Incoming Telnet/RLogin & Telnet/RLogin DIAL-OUT Channels
        Redid the whole module (within TCPLIB) to work with the new
        API. Fixed a few bugs at the same time. This is in preparation
        for an eventuall interrupt-driven incoming telnet/rlogin handler.

SLIP: SLIPNOCH wasn't really working well.

Changes August 1st/95 -- Release 1.76-0 [BETA]
=======================================
SMTP: When multiple emails were received within a single SMTP
      transaction, SMTP would sometime send copies of emails to
      all the people that received emails in that transaction.

SLIP: Daily limits were being consumed twice as fast even if the user
      was not telneting back into the BBS.

SMTP/WWW: Fixed possible source of GPs.

SLIP: Added key SLIPNOCH. If a user owns this key (and the
      key is not empty), he will be exempted from all credit
      charges related to SLIP.

SLIP: Time spent in SLIP was not included in the BBS Statistics.

SLIP: Fixed bug that required you to have at least one incoming
      telnet channel defined for the SLIP router to be able to
      be enabled.

Changes July 19th/95 -- Release 1.75-9
======================================
SLIP: Was not charging credit exempt users properly.
SLIP: Ghost account will now appear as (S###:userid) where ### is
      the last number of the IP address the user has been allocated
      and userid is as much of the user id that can fit in the
      full 29 character field.
TCPLIB: Some changes were made on how tcp channels timeout when we
        get no response back from the other host.

Changes July 18th/95 -- Release 1.75-8
======================================
SLIP: CSLIP support added. This is fully automatic,
      nothing new to configure on the BBS. SLIP will
      automatically detect if a user is using CSLIP.
      (CSLIP is also called Van Jacobson Header Compression, it
      compress the overhead on most TCP packets, reducing the overhead
      from 40 bytes to 4-6 bytes. This gives you most of the advantages
      of PPP.) PPP will be in a later release.

Changes July 17th/95 -- Release 1.75-7
======================================
DMA: RLogin was truncating userids to 16 characters. (only affects DMA2.0)
TCPLIB: Was incorrectly ignoring some IP addresses with 255 in them.


Changes July 16th/95 -- Release 1.75-6
======================================
SLIP: Really found and fixed the high system loading problem with SLIP.
SLIP: Added "forgiving" mode of SLIP. See option SLIPFORG,SLIPFORN,
      SLIPFORE, SLIPFOTO, SLIPFOBO. (all level 4).

Changes July 16th/95 -- Release 1.75-4
======================================
SLIP: Found a loop that could cause high system loading.
Finger Client: Was not releasing sockets.

Changes July 15th/95 -- Release 1.75-3
======================================
SMTP: On WorldGroup, when using the email copy or forward function
      to redirect mail that came from the internet, to another internet
      email address (but not when autoforwarding), a bug in the Galacticomm
      Messaging Engine was prepending the SMTP Prefix to the "From" address.
      Depending on your smarthost, this would prevent delivery, or would
      at least prevent a reply from being sent back to you. Fixed.

Changes July 13th/95 -- Release 1.75-2
======================================
SLIP: Found major performance problem in SLIP beta. Fixed it. Should now
      be at least as fast if not faster than TIA. (I clocked SLIP to take
      about half to 75% of the time TIA took consistently on a data
      transfer.)
SLIP: Was zapping too fast.
Changes July 13th/95 -- Release 1.75-1
======================================
SLIP: Added SLIPNZKY and SLIPIZAP which control idle SLIP
      connection zapping.
DOCS: New Docs for SLIP, in tcp175.MSW (MSWord 6.0 for windows format)
      Ascii (preliminary) docs are also in tcpslip.txt
      Some users docs are in slipuser.txt
SMTP: SMTPGPR field to adjust GME importing priority.
SLIP: SLIPPRIO field can be set to adjust slip priority.
SLIP: Per Call & Daily limits handled properly now
        - Per call time limit is applied on both the slip login and
          user login, indepently, as if they were two calls.
        - Per day time limit applied to both, concurrently. When user is
          loggued on as slip and user login, daily time limit goes by
          twice as fast.
SLIP: Pre-Release of SLIP Server. Limited docs in tcpslip.txt and
      slipusers.txt
DMA:  Pre-Release of DMA2.0. Limited docs in TCPDMA.TXT
RLOGIN: Revamped to use the new API and DMA 2.0
SLIP: Added options SLIPNRKY and SLIPDNSR to control captive SLIP users.

Changes July 11th/95  -- Release 1.53-6
=======================================
SMTP: ARGH. One reponse line was sending LF instead of CRLF. Thanks a lot
      to Bill Sobel for pointing that problem.
TCPLIB: Some more acks tuning.
TCPLIB: New pseudoKey, called _TCP_ISTELNET will return true if current user
        is coming from an rlogin/telnet/dma line.

Changes July 7th/95  -- Release 1.53-5
======================================
TCPLIB: MajorTCP/IP will now properly respond to traceroute packets.
TCPLIB: You can now telnet into the BBS, from the BBS.
TCPLIB: Fixed ack packet dance.
TCPLIB: Expanded number of fragment buffers.
TCPLIB: Was ignoring caller's MSS on listening sockets.
TCPLIB: ARP Cache will refresh entries automatically after 10 minutes.
TCPLIB: Changed Retransmition strategy slightly on busy packet driver.
TCPLIB: TCP sockets were sometime staying in FINWT2 state a long time.
SMTP: Under WG, with GME, sometime garbage was added to the end of a message.
SMTP: AutoFordward wasn't working when forwarding to some internet sites.

Changes July 2nd/95  -- Release 1.53-4
======================================

Finger Client: One could not abort finger query.

Changes June 29th/95 -- Release 1.53-3
======================================

Redone Finger Client and Server. Must reconfigure
part of TCPMISC.MSG. Finger Server disabled by default.

Recompiled all DLLs (except tcplibr.dll) because of API changes.

SMTP: Was not indicating a filename on begin line of uuencoded attachements
      when running on 6.25.

SMTP: Was sometime timing out too fast on the data transfer of the
      body of the message.

SMTP: Removed <>'s on incoming mail messages, in the "from:" field.

Changes June 12th/95 -- Release 1.53-1
======================================

DOCUMENTATION: You'll find TCP153.doc and TCP153.MSW which are
               respectively an ascii version and a Microsoft Word
               version of the documentation in the main BBS directory.

SMTP: WG specific version of SMTP.
        -- Multiple RCPT TO: supported.
        -- You MUST disable the generic MHS handler
           if you had it set to use INT as a prefix.
        -- Review the level 3 and 4 configuration of SMTP
           to enable the WG version of SMTP.
        -- Forwarding of Internet email back to the
           Internet will now work. (WG only).
        -- Attachement names will now be preserved for
           when uuencoding.

SMTP: SMTPHEAD can now control how much header information
      is saved into an email.

SMTP: SMTPFROM can be used to change the hostname/domain name
      that appears in all SMTP messages coming from your BBS.

TCPLIB: Fixing a problem regarding extremly large packet sizes,
        affecting ICMP only.

RLOGIN: When deleting an alias, enter '!' to enter a space.

Changes June 6th/95 -- Release 1.52-4
=====================================
FTP: problem doing a mget on a file name that started with
     a '.'.

SMTP: QUITMSG (in tcpsmtp.msg) had an extra '-' after the 221.

SMTP: Was aborting a message when including a line with only
      a '.' in it.

Changes May 29th/95 -- Release 1.52-3
=====================================
TCPLIB: Experimental feature for a client.

SMTP: When using the MG/I alias for outgoing mail, SMTP would
write the _real_ user ID of the sender, instead of the alias.FIXED.

SMTP: Will now accept INTERNET: as a prefix for outgoing
      internet email.

Changes May 26th/95 -- Release 1.52-2
=====================================
SMTP: When a "to" address was prefixed with IN: or
      INT:, the first character of the address could be gobled up.

Changes May 19th/95 -- Release 1.52-1
=====================================
SMTP: Look up the manual (tcplib.wpd or tcplib.doc) for how to
      set environment variable TZ.

SMTP: SHARE no longer needed!

SMTP: Date/Time are now RFC compliant.

SMTP: Will ignore (reject) FIDONET messages.

SMTP: addresses will now be converted to lowercase.

TCPLIB: Some block acknowledgment problem fixed.

SMTP: Merged in. Now work with INSTALL program.

WWW: Removed from TCPMISC, TCPWWW merged in. Must
     reconfigure WWW by configuring TCPWWW.MSG

Note: SMTP and WWW are disabled by default (unless you
      were already running a beta version of either).

First release of documentation for 1.52, including
SMTP and WWW. In tcplib.doc. Also available as
tcplib.wpd, a WP 6.0 for windows document.


Changes May 17th/95 -- Release 1.51-13
======================================
Some experimental code to test a problem that one
client is experiencing.


Changes May 15th/95 -- Release 1.51-12
======================================

Added new configuration options CFGTXT00-CFGTXT09 in
tcplibm.msg. Experimental only at this time, with
a specific client. Will become documented later on
when it is proven to be usefull (and working).


Changes May 11th/95 -- Release 1.51-11
======================================

Experimental WWW and SMTP logs will now stay _closed_
in-between adding log entries. Just make sure that you
don't open up that file and lock out the BBS from writing
from it.

RLogin now has a new entry point, used when you want the
user to only pick an internet alias (which can be used
later on by RLogin or by SMTP email). To use this entry
point, set an rlogin module page that has the string
"alias" as the module parameter string.

RLogin can now optionally write to the MG/I alias file,
if you are using this file. This is controlled by option
MGIWRT.

RLogin will now automatically limit the maximum size of
internet aliases to 8 characters when using MG/I.

Changes May 5th/95  -- Release 1.51-10
======================================

I think I have found the source of the catastro
message about eating magic cookies and tcp
chain errors. At the very least, it
should not crash anymore.


Changes May 5th/95  -- Release 1.51-9
=====================================

SMTP would sometime find itself without any
sockets allocated for listening. This should
fix it.

If you were to shutdown the BBS (delayed shutdown)
and then decide to abort (undo) the shutdown, and
SMTP connections had been attempted during that time,
SMTP would not allocate new listening sockets. Fixed.


Changes May 4th/95  -- Release 1.51-8
=====================================

Fixes the Reprime from state 0, followed by
a TCP chain error and lost of all connectivity (and
subsequent crashes) when using system with SMTP online.


Changes May 3rd/95  -- Release 1.51-7
=====================================

Internal Changes required for SMTP.

Changes May 1st/95  -- Release 1.51-5
=====================================

This release is required for SMTP.

SMTP support is explained in file TCPSMTP.DOC and is
in beta. SMTP support (and docs) can be downloaded
from Vircom support BBS, file TCPSMTP.ZIP.


Changes Apr 13th/95 -- Release 1.51-3
=====================================

TCPLIB: Option 'S' now displays the current DNS server
        that is in use.

TCPLIB: Found a condition where MajorTCP/IP would not
        update the window size on a socket, until we
        had to transmit something.

Incoming: Users will now get a message than all lines busy
          when trying to telnet/rlogin into a BBS that
          is shutting down.

Incoming RLogin: LOGMaster was GP-ing on an incoming call
                 at 0 baud. Changed incoming rlogin to fake
                 0 baud into 38400.

Changes Mar 27th/95 -- Release 1.51-0
=====================================
RLogin: Will now create a text window when entered under RIP.

Telnet: Connection mode b! now disable all cr/lf translation from
        the telnet server to your display.

TCPLIB: New option: TICKMS. Allow you to specify the maximum
        duration of a tcp/ip polling cycle, in milliseconds.
        (Level 4 configuration, tcplibm.msg).

RLogin: New option: SPCCHR. Allow you to enter a group of
        special characters you want to accept in the
        internet userid database (that the users can
        enter). (Level 4 configuration. Default: none).

TCPLIB: Fixed a ping-pong handshaking problem.

WWW Server was opening files in read/write mode instead
of read only mode. Fixed.

TCPLIB: Bug in MSS usage, the whole stack would eventually
        end up set at the FTPMSS whatever the stack's MSS was
        set to.

RLogin: Deffective setmems fixed (multiple key checks using
        rlogin-plus would fail sometime).

TCPFTP: Preventive patch in case the gcomm-reported fread/fwrite
        bug in borland C library would occur in FTP.

Changes Jan 30th/95 -- Release 1.50-9
=====================================

Fixed problems in the incoming telnet/rlogin code
that was causing disconnection problems.

Changes Jan 27th/95 -- Release 1.50-8
=====================================
Possible source of GP when using TELOUT channels with incoming
and WWW server channels.

Finger Server for users online display will now set both the
usrnum and othusn to the usrnum of the current user.



Changes Jan 24th/95 -- Release 1.50-7
=====================================
TELOUT channels no longer require that you have
incoming telnet channels defined for TELOUT to
work.

Changes Jan 23rd/95 -- Release 1.50-6
=====================================

Minor fixes related to TELOUT channels.

Testing "snappier" echo method for incoming telnet.


Changes Jan 7th/95 -- Release 1.50-5
====================================
Fixed "send ovf" problem when using TELOUT channels.

NOTE: TELOUT channels are defined by defining a MODEM Channel GROUP
and then picking up the TELOUT hardware type. DO NOT CLEAR the init
string. Or, if you insist, change it to ATZ.

Changes Jan 3rd/95 -- Release 1.50-4
====================================

RLogin: Fixed command concatenation problem. Mandatory Upgrade.

NEW! Telnet Dial-OUT channels. Allowing you to define a MODEM
channel group that will actually be placing telnet/rlogin calls. Used
to link your board using any (unmodified) linking software, like
Worldlink, Chatlink, Interlink, Dialout, ...

To do that, define a MODEM channel group, and at the hardware type
question, pick "TELOUT".

Dialing is done using ATDT<ipaddress:port>. Like:

ATDT199.84.216.2
ATDT199.84.216.2:1000           <- dial to port 1000
ATDT199.84.216.2r               <- Use rlogin instead of telnet

Note that the above is still experimental, not totally tested yet.


Changes Dec 18th/94 -- Release 1.50-3
=====================================

Stack: Fixed problem with packet fragmentation.


Changes Dec 18th/94 -- Release 1.50-2
=====================================

Incoming: New text variable (TCP_IP) that
          returns the IP address the current
          user is coming from.

WWW     : Changed the way the WWW session timeout
          was computed to fix problem with large
          graphic files.

Finger Server:
          Will now convert '.' into spaces for finger on
          specific userIDs. If you want to finger John Smith
          do a finger to John.Smith .


Changes Dec 6th/94 -- Release 1.50-1
====================================

Incoming: Will now display login from Telnet/Rlogin
          in audit trail when LONAUD is set to yes.

Stack:    Found a bug that could result in corrupted send
          packets. TCP/IP would recover, but it would cause
          delivery delays under high load. The remote host
          might choke on those packets, but only if that remote
          host was on the same ethernet lan as the BBS.

Stack:    Reworked low level packet send/receive handling
          for better efficiency.

Changes Dec 1st/94  -- Release 1.50-0
=====================================

NOTE: MajorTCP/IP V1.50 and later version
require MajorBBS 6.25 and above.

Incoming: Revamped to take advantage of GCDI. You
          must reconfigure. See the Manual.
          Highlights: Faster, less low memory used.

          Rlogin-In will now use the proper baud rate
          that's being sent to us by the remote system.

TCPLIB:   You can now use the tcpsites.ban file to list
          the sites you want to be able to talk to instead
          of the sites that you want to ban.

Telnet:   Telnet to privileged ports can now be restricted
          based on a specific key, configurable in level 3
          Configuration. Privileged ports are 0 to 1023,
          with the exception of 23. (PRIVKEY)

FTP:      Now bundled in with the outgoing and combo versions
          of MajorTCP/IP.

RLogin:   Reworked processing of urgent data.

Changes Nov 15th/94 -- Release 1.25-5
=====================================

DMA:    RLogin ascii line mode fixes.

This is the last release of the TCPLIB.DLL that will
be compatible with MajorBBSes earlier than 6.25.

MajorTCP/IP v1.50, our next release, will be designed
to take advantages of the new features of MajorBBS 6.25,
like the GCDI and new APIs. This, amongst other things,
will allow us to increase the performance of MajorTCP/IP,
reduce low memory usage (say, 100 TCP channels, in or out
with a total low-memory foot print of 4K) and remove the
need for the Advanced lan Option for Incoming telnet/rlogin.

Since I may have your attention here, I'd like to take this
opportunity to thank all of you for your support!

Sylvain Durocher
Vircom Inc.

Changes Nov 8th/94 -- Release 1.25-3
====================================

FTP   : Fixed bug with MGET, would scramble a file name
        and thus abort file transfer when one file name
        in the list of files to download was crossing
        a FTPMSS block boundary.

TELNET: Connection sub-mode for ASCII. Type mode al
        to have ascii mode with <lf><null> sent as line
        terminator. Mode "a" sends <cr><lf> and mode
        "ac" sends <cr><null>

TCPLIB: Level4 config option TCPTMO will now apply only
        to listening sockets. This will prevent long
        FTP transfers from aborting because nothing is
        exchanged on the control connection while data
        is moved on the data connection.

TCPLIB: You can now ban site(s) completly from ever
        connecting establishing connections with your
        bbs. (both ways). To do so, you create a file
        in your BBSV6 directory, called tcpsites.ban.
        Enter the numeric IP addresses you wish to ban
        in that file, one per line. You can also ban
        whole class C networks, by entering the address
        of the class C network.

        Note that the above is done at the stack level,
        that means that _no_ application based on
        MajorTCP/IP will be able to talk to that sites.
        Packets are totally ignored, at the IP level.

Changes Nov 1st/94 -- Release 1.25-2
====================================

RLogin: Will no longer accept internet userids starting
        with a space.

Slip: Fixed a possible cause for GP when using a Slip link
      directly connected to the MajorBBS.

FTP:  A session could be be disconnected by the inactivity timer
      (MajorBBS) while waiting for a long GET to complete. Fixed.

Telnet: Mode b! and 8! should work better. (experimental). This
        tells telnet to report itself as a VT100 terminal.

Changes Oct 16/94 -- Release 1.25-1
===================================
Fixed GP-generating bug if you were defining finger/www servers
and the reserved channel for MajorTCP/IP wasn't defined properly.


Changes Oct 14/94 -- Release 1.25
==========================================

RLogin/DMA: New set of special commands added.

FTP: When doing autoprot . to disable autoprotocol selection
     FTP was saying that it was disabling it but wasn't
     doing so. Fixed.

FTP: Was closing session too fast when aborted by FTP Server.

NEW: Finger Server. (Configured in tcpmisc.msg)

NEW: WWW Server. (Configured in tcpmisc.msg)

DMA: You can now define a surcharge for DMA/BBS Mode connections
     and specify the key required. This is in level 3
     configuration of tcplibm.msg.

DMA: Output-suspended-while-typing feature of MajorBBS now
     working properly while in DMA Ascii-Line Mode.

Telnet: New (experimental) connection mode: B! and 8!. Try
        if you have problems connection to a site (Like a Vax).
        Technical: This adds terminal type negociation. Returns
        VT100 as terminal type.

Telnet: Fixed a bug in option negociation, could have been causing
        connection problems with some systems.

TcpLibM: New level 4 configuration option TCPTMO. Allows you to set
         an inactivity timeout at the TCP level. Any TCP sessions
         inactive for that many minutes will be automatically closed.
         (Default to 30).

RLogin: Was sometime closing down a connection too fast, loosing the last
        few characters of the current connection.

Gateway: Performance Enhancments.

Changes Sept 16/94 -- Release 1.20
==========================================

FTP: Added PUT command to upload a file to FTP server.
FTP: Passwords will no longer echo.

RLogin: New text variable and new format for "extra
shell parameter". The text variable is TCP_RL_MOD. If
the last word of the "extra shell parameter" starts with
an '#', then this word won't be sent went queried by the
remote host, but will be returned by the TCP_RL_MOD text
variable. If no such word exist or if the user is not in
RLogin, TCP_RL_MOD will return the module name the user is
in.

Telnet modes A and B can now be followed by a 'c' to
toggle carriage return linefeed mode. Normal (without c)
sends CR/LF, alternate (with c) sends CR/NULL.

RLogin can now send a user's password if queried. This is
configurable as a level 4 option: SPCPWD. (Query is with
0x9b).

New RLogin connection mode, /k and /kd. They do the same
as /s and /sd however no output will be sent to the user's
display until the special commands are turned off by the
remote end. You can also toggle the "no output" off and on
by using special commands 0x9c and 0x9d. Note that if you
use the /k and /kd, the user will see a "Please wait..."
message instead of seeing the IP address of the destination
connection.

NEW: Finger Client software. (in TCPMISC.DLL).

NEW: DNS hostname lookup utility and global command
(/DNS by default). (in TCPMISC.DLL).

Make sure to read the manual about how to install
TCPMISC.DLL. Do not put it blindly in your menu
tree.

NEW: MajorTCP/IP Incoming Only. Supports
incoming Telnet/RLogin and gateway features
for up to 32 incoming channels. 500$US.

Gateway can now support up to 5 SPX destinations,
if more than one is defined, the user will see
a menu and will have to pick one before being
connected.

FTP now supports menu parameter strings to connect
automatically to an FTP server (and do the anonymous
autologin).

FTP now displays the number of bytes transfered instead
of the dots...

Changes / August 29th/94 -- Release 1.17-4
==========================================
Official Release of MajorTCP/IP v1.17 is the 1.17-4
version.

Fixed bugs in FTP client (output buffer overflows
on long & fast directory list). Also fixed problem
(unexpected reply from server) when connected to
a fast FTP server.

Added Fast Restransmit Algorithm to TCP layer.

Extended packet buffers are now always selected. A new method
of finding a free SWI has been implemented. Extended packet
buffers should work for everyone now.

Reworked ECB allocation routines for speed. (Incoming option)

Reworked Extended packet buffers allocation routines for
speed and reliability.

BONUS! All owners of the incoming option can now boost their
NBTCP up to 64 instead of the previous limit of 32.

FTP Module released. Free for our customers that have the
unlimited and/or incoming option. 100$US upgrade for those
that have the base outgoing TCP/IP stack only.

Fixed Telnet allowing surcharged credit exempt users to
enter telnet. Did the same for RLogin.

Changes / August 5th/94 -- Release 1.16-5
=========================================

Changes to incoming Telnet to prevent option negociations
loop from occuring with programs like Trumpet Winsock Telnet
'92.

Under very heavy loads, the incoming option could display
packets out of sequence. This version should fix this.

RLogin will now prevent monthly, credit-exempt users from
entering a surcharged connection if they have the surcharge
key and don't have credits. They will also be bumped out
(abruptly) of an rlogin connection if they run out of credits
while being connected.


Changes / July 24th/94   -- Release 1.16-4
==========================================
Some low level tcp/ip stack work.

Changed the handling of <enter> in telnet ascii
mode. It should work with more muds and similar
servers. Let me know if it breaks some.

Changes / July 16th/94   -- Release 1.16-3
==========================================
There was an incompatibility between the extended memory
packet buffers feature and expanded memory managers. This
has been fixed, however this feature might still not work
for some of you. One requirement is that INT 66h is
available. If the feature doesn't work for you, turn TCPNEBUE
to NO and let me know.


Changes / July 14th/94   -- Release 1.16-2
==========================================
NEW PRODUCT: MajorTCP/IP, incoming telnet/rlogin Gateway.
Allows you to setup a second computer to distribute the
processing of incoming telnet/rlogin calls. This second
computer only needs to run a base version of MajorBBS
with 2 user count licenses, whatever the number of incoming
lines you define at your production BBS. (You do need to
purchase user licenses for your production BBS however).
This new product has been tested on sites with 100 incoming
telnet lines defined.

NEW: Support for incoming RLOGIN, bundled with
incoming Telnet. The incoming channels you define
will automatically be able to receive both types (telnet/rlogin)
of calls, unless you disable it in CNF-Level 1 option
TCPIRLG.

TCPLIB will now respect the settings of
DSPINC (CNF-LEVEL4).

NEW: MajorTCP/IP can now use extended memory for packet buffers
reducing low memory usage by 19K and allowing you to define
up to 31 packet buffers (was 10 before) so that your BBS can
handle 3 times the number of packets per second. You can find
out what is the highest number of packets received in a second
on your BBS since startup by looking at option S of the tcplib
module. It also shows missed packets, a packet is missed when
received but no buffers are available. (it will be retransmited)
This new capability is controlled by CNF-Level 1 options
TCPNEBUE and TCPNEBUF. MajorTCP/IP has been able to process
more than 400 packets per second on a loaded 30 lines BBS
using this new option.


Change / June 28th/94   -- Release 1.15-0
=========================================

RLogin will no longer pass a negative baud rate to the remote
system for calls at 38400 bauds.

New version of MajorTCP/IP-- Incoming option.
Highlight: Use one user-count license per incoming
telnet channel. NOTE: RECONFIGURATION IS NEEDED. Please
read the (enclosed) tcpinc.doc.

Fixed bugs in the base stack that could loose some
packets under heavy load, causing un-needed retransmitions.

Removed all (I think) the code that could give problems
under 6.12.

RLogin can now (optionaly) use the MajorGateway/Internet
aliases file. This is configurable in level 4 configuration
USEMGI. Consider this experimental.

Changes/ June 14/94   -- Release 1.12
=====================================
You can now disable processing of X and X NOW on ascii mode
telnet connections. If it's a preprogrammed connection, you
can disable it from the message file (CONnXN). If it's a
direct connection (O <IP> <PORT> <MODE> in parameter string), you
can disable X NOW by using mode AN instead of mode A for ascii mode.

You can define an abort character for binary (or 8 bit binary)
mode telnet in level 4 configuration, option DISCHR. Set to
blank to disable. The default is enabled, to '='.

You can define an abort character for rlogin too, option DISCHR
in tcprlgn.msg (level 4 configuration). Since rlogin is primarely
used to connect to your local host, I suggest that you leave
this option disabled (the default).

Guess what? YES! Fragmentation again. Some packets were wrongly
interpreted as fragmented and we were waiting forever for the
fragmented parts. Fixes the never connect symptoms to some
tcp sites.

Incoming: (if you have the option). Will now try to put the caller
in 8 bit binary mode automatically.

Incoming: I'm not sure yet, but there seems to be a bug in the pre
6.21 GSBL (6.0x,6.1x) that was causing crashes upon initialisation
where it should never be. I suspect the bug is still there in 6.21
except it doesn't crash, so I wrote a workaround and incoming should
work for MBBS 6.0 and above.

Incoming: New CNF level 4 option (DSPINC, default YES), to control
if IP addresses of incoming calls should be recorded in audit trail.

Telnet/RLogin: You can now surcharge credit-exempt monthly users,
see level-3 CNF option SURKEY in both tcptelnt.msg and tcprlgn.msg.

Tcplib will now clear orphan tcp channels when it is detected that
the user vanished without calling telnet's or rlogin's hangup
entry points. This was required for an old version of WorldLink,
but TTI did fix it up since then. I left the modification in
place just in case some other module had that type of behavior.


Changes/ June 2nd,94  -- Release 1.11
=====================================
Finaly found a nasty bug related to fragmentation, packets had
to come ordered a very specific way for the tcp/ip engine to
crash. Note that you should avoid fragmentation anyway by having
a large enough MTU.

MajorTCP/IP will now cycle through new ports(sockets) before reusing
a port number.


Changes/ May 09th,94  -- Release 1.10
=======================================
Fixed problem when a user was exceeding his daily (or per call)
allocated time for it's class. If the user was in Telnet or
Rlogin in binary mode, he would be bumped out only upon exiting
the module. This has been fixed.

Increased performance of the TCP/IP transfers, will maximize
usage of the buffers when it can.

Added Incoming Telnet. <Ouaaah!> This is a separatly priced
option. Call your MajorTCP/IP distributor for an activation code.
MAKE SURE TO READ THE APPROPRIATE SECTION OF THE MANUAL BEFORE
ATTEMPTING TO CONFIGURE INCOMING TELNET. It's important. You'll
most likely catastro/GP your system if you're not carefull.

Added a new extra parameter to rlogin, optional. You don't have
to change your menu tree options. It allow you to pass a parameter
of up to 63 characters to the unix shell. That way, you can completly
avoid creating menus on the unix side and define them on the MajorBBS
side.

Fixed a possible source of GP when receiving badly fragmented TCP
packets.

Locking out input from user while processing multi-bytes (surcharge,
key lookup) to prevent an educated user from trying to echo a new
credit rate. Reminder: If you enable special commands, you must
disable them once finished (from your unix script).

RLogin: You can now configure the minimum/maximum length of the
internet UserID your users can enter. (Level 4 CNF, MINSUID MAXSUID)

RLogin: You can now use the TCP_RL_IUID text variable to display
your user's Internet userid. Will display [none] if not selected
yet.

RLogin: The pseudo key _TCP_RL_HIUID has been defined. It will be
granted when the user has selected an Internet UserID.

Changes/ April 20th,94  -- Release 1.06
=======================================
Fixed a bug when user was exiting any of the rlogin prompts
with an "X". User was getting strange menu system behavior
after that. (Note that users should NEVER use the rlogin
from prompts but always use rlogin through menu items that
have parameter strings.)

Fixed possible GP when send buffer were overflowing.

Added new rlogin query commands for total unix integration.
From Unix, you can now:
                - Find out if user has a specific key
                - Add a credit/minute surcharge
                - Get the user's full name
                - Get the user's real BBS userid
                - Get the user's Ansi flag
                - Get the user's Internet Userid.

By using protocol l/sd for Rlogin, you can now enable special
commands and force the user to have a valid internet userid before
the connection is started. (even is %ud isn't used).

Sysop can now Delete someone's Internet Userid from the TCPUIDS.DAT
database. (By answering the Rlogin protocol question with
SYSOP, you'll get into the Rlogin sysop's menu).
You probably don't want to do that while the user is using rlogin.

Changes/ April 17th,94  -- Release 1.05
=======================================
Added Internet userid database. Each user on your system can
now pick a valid unix userid that will be used to log him
on your unix box using rlogin. This will be especially
usefull for BBSes that allow userids to be longer than 16
characters. Files added: tcpuids.vir tcpuids.dat. Consumes
1 Btrieve file handle.

Validation rules:
            - Converted to lower case
            - All letters (no space, digits, ...)
            - Lenght minimum:4 Maximum:16
            - Must be unique and can't match the
              BBS userid of another user.

Added new set of special "query" commands for Rlogin, serie
0x91-0x9f. These are explained in the updated tcplib.doc file.

Changes/ April 14th,94  -- Release 1.04
=======================================
RLogin wasn't allowing you to enter the userid of the local
user as described in the tcplib.doc.

Spurious sources for tcplibm-w warning messages in the audit
trail fixed.

NOTE: You will have to update your rlogin concatened strings to
work as indicated in the tcplib.doc file. The concatened string
we have set, for example, for our irc access is:
l/s 199.84.216.1 irc_user irc_user vt100

Changes/ April 13th,94  -- Release 1.03
=======================================
Fixed possible GP source when packet with invalid urgent pointer would
come in.

Added descriptions to tcptelnt.msg level 4 cnf.

Fixed tcplibm.msg option type for level 4 cnf.

Changes/ April 5rd,94   -- Release 1.02
=======================================
Added DNS resolver for Telnet & RLogin
Telnet will no longer actively initiate option negociation
when calling a port other than 23.
Bug fixes in the TCP/IP protocol stack.

*** Verify your MSG files after installing ***
*** Especially PRIDNS and SECDNS in tcplibm.msg ***
=======================================

1) Everything should be ready to go, except the following:

    -- Add to your autoexec.bat (or make sure it's loaded before
       starting the BBS) the command required to load your
       packet driver or odipkt if you are sharing your network
       board between Novell ODI and TCP/IP.
    -- If you can't find a packet driver for your network board,
       let us know. We'll try to find one for you.
    -- We have included the Crywnr packet driver distribution
       for your convenience.
    -- This will load the packet driver, at interrupt 0x60. If
       this interrupt is not available, for any reasons, just edit
       the load_pkt.bat file and change the 0x62 to any number
       between 0x60 and 0x80. The TCP/IP stack will automatically
       find the packet driver.
    -- See Appendix C of the tcplib.doc file for information
       on configuration on a novell ODI environment.
    -- Make sure you review the message files and configure the
       appropriate keys for your system.
    -- You should add the Telnet and Rlogin modules
       to your menu pages. Restrict direct access to Sysop only. Then
       once you are familiar with the commands, define page that will
       use command concatenation to connect your users directly to
       specific services.
    -- Your menu tree must have a link to TCPLIB. Only the Sysop
       should have access to that.

2) Once your BBS is up, you can try doing a "ping" from your unix host
   to your BBS adress. You'll see that the RTT will be quite high, but
   that will decrease as soon as someone connects anywhere (on the
   BBS).

3) Read the TCPLIB.DOC file. It's still a draft, but lots of
   information in there.

You can reach me at 514-990-2532, this number will now how to find me
when I am available.
My internet email address is sysop@gamemaster.qc.ca .

Sylvain Durocher
Vircom inc.