   .
   .
   .                                                           RELEASE.TXT
   .                                                     InJoy Release 2.3
   .                                                       October 1, 1999
   .                          
   .
   .
   .
   .
   .
   .
   .
   .
   .
   .
   .   ___           _
   .  |_ _|_ __     | | ___  _   _
   .   | || '_ \ _  | |/ _ \| | | |
   .   | || | | | |_| | (_) | |_| |
   .  |___|_| |_|\___/ \___/ \__, |
   .                         |___/
   .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .
   .                                          The Best Way To The Internet
   .
   .
   .
   .
   .
   .
   .
   .
   .
   .
   .
   .
   .
   .
   .
   .                                                    F/X Communications
   .                                                       DK-4300 Holbaek
   .                                                               Denmark
   .                                                   E-mail: injoy@fx.dk
   .                                                      http://www.fx.dk
   .
   .
   .
   .
   .
   .
   .
   .
   .
   .
   .
   .
   .
   .
   .
   .  Copyright (c) 1999-2001, F/X Communications, All Rights Reserved.
   .
   .


==========================================================================
 R E L E A S E   N O T E S
==========================================================================


   o Release 2.3 

      - New: IPSec support.
      - New: Specification of [multiple] service port ranges in firewall
             rules. Also exclusion of individual ports and port ranges 
             are now possible.
      - New: New and improved filter and firewall rule samples.
      - New: IP addresses of DNS servers now listed in Connect Box.

      - Fixed: Minor problem with dynamic DNS used in combination with
               a fixed DNS address.

   o Release 2.2 - June 1, 1999

      - New: Dialer API for embedded systems - seperately available. 
      - New: NAT support for TRACERTE. 
      - New: NAT support for CUSEEME. 
      - New: NAT support for IDENTD. 
      - New: Server assigned DNS addresses (RFC1877). 
      - New: UserID and Password prompting at dial up. 
      - New: Cached support for the mptn/etc/services file. 
      - New: Firewall and filter updates on the fly. 
      - New: Keyword to replace the dynamic IP address in firewall rules. 
      - New: Using new IBM header files (with whatever benefits/problems
             that can cause). 
      - New: Command line option /X to turn off title bar updating in
             registered versions. Necessary for TSHELL. 

      - Fixed: Autostarting at disconnect was only executed if InJoy 
               initiated hangup. 
      - Fixed: UDP Len errors removed. 
      - Fixed: Bug in traffic accounting when using mega byte notation. 
      - Fixed: ISP assigned 0.0.0.0 IP addresses now triggers InJoy to try
               an alternative negotation. 
      - Fixed: Port redirecting of telnet and www protocols. 
      - Fixed: IRC DCC SEND improved. 
      - Fixed: Improved stability for leased lines, even when CARRIER is not
               stable. 
      - Fixed: Filtering required a connection before put into operation. 
      - Fixed: Using Warp 3 IP stack, DoD could result in two default routes. 
      - Fixed: DoD interface options were greyed out when starting InJoy
               from an icon. 
      - Fixed: problem when COM port was set to be always open. Could cause
               selection of the Terminal window with no dialing to follow. 
      - Fixed: Long time idle tcp/udp connections going through NAT could
               timeout. 
      - Fixed: Switching between InJoy 1.x and 2.x may no longer be possible
               without booting.

   o Release 2.0b (Beta) - Sep 1, 1998

      - DOD improved.
        -- Instant DOD removes need for an initialization call. 
        -- DOD trigger packet in the DOD.DMP file.
        -- Implemented filtering plugin.
      - Numerous PPP implementation changes to meet requirements of a PPP
        Server and allow shared PPP code between projects.
      - New registration scheme (includes expiration of 1.x and earlier
        Basic registrations).
      - Introduced new way of adding the PPP0 interface on Warp 4. Got rid
        of the annoying .0 route.
      - Support for PING from NAT clients. Done by broadcasting 
        ICMP replies to all NAT clients.
      - Support for IRC DCC CHAT and IRC DCC SEND via NAT.
      - If InJoy sees a default route at startup, it is now removed
        at connect and restored at disconnect.
      - TCP/IP 4.1 support.
      - New internal code libraries (DLL's) for:
        -- Common OS/2 functions used in all F/X products
        -- Low level IP
        -- NAT/Masquerading
        -- Filtering
        -- Firewall
      - Autostart section
        -- "Hangup and Exit", now runs the programs set up to autostart at
           InJoy Disconnect.
        -- Fixed the problem of not being able to start programs after a
           while (caused by InJoy "remembering" every started program, even
           when it didn't need too).
        -- No longer mandatory to specify a working directory. If not
           specified the path name from the .EXE name will be used. (Just
           like OS/2 usually does it.)
      - InJoy no longer prompts for user-action when RESOLV file could not
        be updated. The situation is just logged!
      - Added date to IN-JOY.TRC file.
      - Fixed the bug causing the following two settings to be swapped: 
        -- Average CPS based on data sent.
        -- Average CPS based on data received.
      - If the COM port can't be opened, InJoy will now retry till a key 
        is pressed.
      - Added the option for showing or removing the "connected box".
      - The "connected box" now shows the number of FCS errors in the 
        session.
      - A press of SHIFT-F9 now dumps the NAT table (masqed users).
      - Added an option to allow a "send terminate request" prior to InJoy
        initiating the hang up.
      - Added triggered dialing capability from SETJOY.EXE.
      - Multi-homed environment for hostid (known in DOIP as the 
        "Primary Interface") is now available in General Options.

   o Release 1.20 (Beta) 

      - Fixed a problem with SetJoy's password command line switch.
      - Squashed a bug causing MS-CHAP setting to be ignored. (If the 
        server requested it, it would always run.)

   o Release 1.14 (Beta) 

      - Found and fixed a nifty trap that would occur if the ISP sends a 
        packet with a size bigger than the MRU on the serial interface, yet 
        smaller than the maximum sized PPP packet.
      - Hostnames starting with 'H' used to be ignored if specified on
        command line.
      - Fixed a trap that is very unlikely to happen on most installations.
        Would only happen if the TCP/IP stack delivers packets bigger than
        MTU. Seemed to happen sometimes in the middle of backup procedure.
      - Added a SetJoy /P: switch to allow a password to be passed in
        combination with the /O:<host> parameter.


   o Release 1.13 (Beta) 

      - Reworked the ticker summary to accommodate differences in FAT and
        HPFS considered.
      - Redial attempts made 4 digits wide (1-9999).


   o Release 1.12b (Beta) 

      - Removed Visual Age (tm) optimization as that caused all InJoy 
        disconnect actions to be grayed out, even when registered at the 
        "Extended Client" level, or higher.


   o Release 1.11b (Beta)

      - Bug in SLIP idle timeout tracked down.
      - Registration processing is now faster and and more secure. 
      - Since changing an unnamed ticker caused a trap, it is now 
        impossible to save a ticker with no name.
      - Stopping a dial attempt with the ESC key, after a script had 
        started running caused a redial instead of a simple dial abort. 
        Bug found and exterminated.
      - Ported InJoy to VisualAge - enabling a fair amount of optimization,
        both to InJoy itself and the user-interface.
      - InJoy now uses the OS2_SHELL environment variable to know which 
        *.CMD to spawn when autostarting *.CMD files.


   o Release 1.1 

      - Created Host Triggered Dialing - a Dial on Demand, in reverse.
        With the correct code, a server, ISP or laptop connected 'road 
        warrior' can trigger a reboot and/or dial-back on command.
      - Completely reworked the autostarting section. It is now possible 
        to start/stop selected programs with F9/F10 keys; at InJoy launch,
        just prior to dialing, at host connect, just prior to disconnect,
        at disconnect and at InJoy exit. (Any other needs? <G>)
      - Developed a 'work around' for a bug in the auto-stopping of an 
        auto-started program. 
      - Created SetJoy utility to change InJoy's operating parameters 
        while loaded and running. Options available now are changing 
        the Idle Timeout or Timer values or causing a disconnect.
      - With SetJoy and the new autostarting routines it is possible to 
        pause InJoy and allow autostarted program launch and operation
        PRIOR to dialing and/or disconnect.
      - Added feature to allow InJoy to access NT servers running the MS 
        version of CHAP
      - Fixed SLIP (it switched to PPP in some circumstances) 
      - Made the GUI Ticker's browser file name longer
      - Added non-scaled bitmap support to GUI Ticker
      - GUI Ticker's "VCR" controls now work
      - Created new default scheme for the GUI Ticker
      - Fixed a bug which allowed an opening screen to react to a previous
        screen's mouse click
      - Fixed a cursor movement problem for some input fields
      - Minimum redial attempt value cannot be set to less than one 
      - Fixed a trap that occurred when attempting to shut down while the
        'About Box' was opening.
      - Added function key support for starting and stopping tickers. Use
        F7 to start and F8 to stop tickers.
      - Added text to the bottom line of the terminal window which lists
        function key usage. Text changes periodically.
      - Changed the dial timeout value to 3 digits
      - Ticker protocol updated and bug-fixed.
      - Ticker text begins 'crawl' from the right edge and and clears 
        during font resizing.
      - Fixed the EXCEPTQ.DLL sharing problem. 
      - Fixed trap caused by calling a non-Dial on Demand host and then
        switching to a Dial on Demand host.
      - Added option to turn off screen tracing.
      - Program now removes the x.x.x.0 route generated and left by OS/2's
        TCP/IP. (However, this does not solve the entire problem.)
      - Added IPTRACE support.
      - Added option to turn off screen tracing. To save CPU usage when
        looking for a problem.
      - Fixed a trap that happened on some computers out of the blue.
      - Fixed the www.microsoft.com connection problem for IP Masqueraded 
        LAN clients.
      - Hang-up string now accepts changes.
      - Reformatted the trace output screen and altered a few sounds.
      - Repaired connection log decimal point shifting bug which yielded an
        invalid number of hours connected for some long connections.
      - Fixed a problem that allowed MTU to not always be set correctly for 
        SLIP.
      - Added option on the communications setup page to automatically
        launch packet mode when dialing via Terminal Mode (e.g. on a
        leased line or NULL modem).
      - Changed the maximum allowable setting for MRU from 4096 to 4136.
      - Added option to ignore ISP sent ECHO requests (testing for "live" 
        connections) allowing timeout clock to continue running.
      - Fixed bug which caused round robin dialing to call selected numbers 
        only.
      - Fixed a bug that caused auto-started *.CMD files to not have 
        parameters passed to them at start up
      - Reset COM port stopbit to +1.
      - Added incoming and outdated ticker types. New articles go into
        incoming, and outdated ticker postings go into the outdated ticker
        type.


   o Release 1.00

      - Lots of small changes that could easily double the size of this
        README.
      - Implemented IP masquerading.
        Share a SLIP/PPP connection simultaneously with work stations on
        your LAN, including Mac's's, Win95, 3.1 and all other TCP/IP clients.
        Only a normal, single user, dialup account with either a static
        or dynamic IP address is needed.
      - Option implemented for not masquerading the InJoy, allowing
        for any possible protocol or server.
      - Added autostart per host.
      - Releases COM port when not really in use.
      - PAP/CHAP can now be individually enabled/disabled.
      - Added option to make the scripts interactive, so they can
        prompt for input (e.g. a constantly changing password).
      - Implemented the graphical ticker. Several instances of the
        ticker can be run with individual schemes.
      - Implemented SLIP and Compressed SLIP.
      - Script handling extended with automatic IP number grabbing
        for SLIP.
      - Implemented Dial On Demand.
      - Port speeds configurable to 345,600 (hardware and driver permitting)
      - Auto line drop if modem negotiates a low speed connection.
        Feature known as minimum connect speed.
      - Disconnect actions. Exit at any of these events:
          -- Any disconnect
          -- Any unprovoked disconnect
          -- Idle TIMEOUT
          -- TIMER expire
          -- Dialing failure
      - Changed re-connect for operation even if the SLIP/PPP connection
        was not fully established.
      - Added phone number list with up to 10 phone numbers.
      - Added option for PPP FLAG, allowing you to specify how big
        the interval between packets must be, for InJoy to insert a 0xFF
        at start of the PPP packet!
      - Added several new fields to the connection log. A few are shown on
        connection log screen, the rest can be seen in CONNECT.TXT, while 
        online . . . it has lots of information about your connection.
      - Better support for sharing a single modem within an IBM PEER
        workgroup
      - Added option to disable all sounds.
      - Added options for disabling the timeout and timer warnings.
      - Graceful logoff - use ALT-T to do a graceful logoff as described in
        the PPP protocol.
      - Configurable user confirmations.
      - Added dial timeout. Disconnect if dialing is not done within
        x seconds.
      - Added configurable hang-up string.
      - Lots of new CPS options, like smart notation, idle sensitivity, etc.
      - Added option for NOT giving warning box at hang-up fail.
      - Better support for leased line with DCD constantly high!


   o Release 0.09

      - Fixed a bug in ACCM handling. ACCM specifies a table of characters
        that must be escaped. If the table was zeroed, I optimized by not
        escaping anything and used the quick memory copy functions.
        However, I had temporarily forgotten that two bytes must always be
        escaped.
      - Introduced the 'General Setup' section which allows user to specify
        confirmation and 'About Box' setup.
      - Fixed minor bugs in the screen library which sometimes let the
        'Connected Box' show through the other screens. That has has been
        partly fixed. There is still a known problem if you invoke some
        screen dialogs during negotiating phase of log on, so DON'T!!
      - Updated documentation and added info for changing parity within
        scripts.
      - When auto selecting a host (from either the command line or the
        auto connect flag), that host is now highlighted in the 'Host List
        Box'.
      - Auto connecting to a host disables the start up 'About Box'.


   o Release 0.08

      - InJoy converted to shareware.
      - Added commercial server/announcement ticker (OFF is default).
      - Started the documentation.
      - Added BETA support for PM patrol (PM Patrol 4.2d).
      - Added parity switching within the script, making InJoy the best
        choice for CompuServe users.
      - Moved the CPS information near the bottom, just above status line
        (as users wanted).
      - Check box added to switch CPS monitors on or off. (Turning the
        monitor off releases more CPU resources for other uses.)
      - Can now abandon current dial attempt by pressing the SPACE key.
      - Fixed a bug regarding forcing ACCM to 0.
      - Did some limited software optimization.
      - KILLJOY.EXE included in archive. Allows killing of InJoy while
        connection log is still updated.
      - Added an InJoy icon (Can you design a better one?)
      - Added use of [$PASSWORD] and [$USERID] in scripts to protect
        encrypted passwords.
      - No longer is 0.0.0.0 accepted as gateway address. This could cause
        TCP/IP stack related traps due to an error in a few (old) servers.
      - Worked to make InJoy more trap proof.
      - Did some more tests using COM.SYS and learned it cannot handle
        simultaneous writes from two or more threads. For now I serialize
        just a bit more, but it will cost on performance. Later I will
        make put it a user selectable option. This will solve the
        "reading/writing port" problem.
      - MRU wasn't used properly and an MRU of 0 was indicated on first
        configure request.
      - 'Connected Window' shows IP addresses and timer/timeout info.
      - Speed now reported correctly when doing a 'netstat -n'.
        The speed reported is the one of the COM port.
      - Made an important change for the CHAP negotiation which will only
        have effect connections to a Windows NT server. The ones I have
        explored handle CHAP/PAP negotiations very interestingly!
      - InJoy now supports host name directly on command line.
      - When learning a script, it now remembers what was received just
        before pressing ESC. It didn't before and that caused problems.
      - A 'Check Box' added to autostart dialog to allow easy means to
        disable a program from being autostart started.
      - Redial is now working as follows:
          -- Primary phone number is called as many times as specified by
             the redial attempts.
          -- Secondary phone number is called as many times as specified by
             the redial attempts.


   o Release 0.07

      - This version shows IP addresses in the 'Connected Box'.
      - MRU was always set to 0 in first negotiation block, now fixed.


   o Release 0.06

      - Autostarting of programs added.
      - PPP options now available:
          -- Priority (for the PPP threads)
          -- MRU
          -- FCS check (disable)
          -- Automated pinger (not ready)
          -- Interface attachment name (e.g. 'PPP')
          -- Force ACCM to 0
          -- Protocol compression
          -- Address and control field compression
          -- Restart timer (can really improve cut negotiation time)
          -- Max tries (of times to send a negotiation block)
      - Auto re-connect now works
      - Negotiation times should be very small. I negotiate with my host in 
        2 seconds! (Use care with restart timer under PPP options. See 
        USERGUID.TXT)
      - Connect strings shown in 'Connected Box'. Only works if InJoy makes
        call, or if terminal mode dialing uses a script that waits for
        something after the CONNECT string.
      - Automatic rejection of unknown protocols should make sure the user
        no longer sees a series of 'unknown protocol' being reported.
      - Graceful logoff added. Pressing ALT-T makes InJoy send a
        "PPP Terminate Request", which is good for those hosts that
        do not deal with a carrier drop very well.
      - Added ability to automatically dial and connect to host upon start 
      - Now encrypting password in data files
      - Fixed IP addressing now works 
      - Added a connection log, with accumulated time usage
      - Reset button added to the trace setup (deletes the trace file)
      - No more external calls to IFCONFIG and ROUTE (saves some time)
      - New hangup algorithm (awaits your test)
      - Now shows disconnect message in 'Terminal Mode Window' at 
        disconnect
      - Added version number to data files so user should never have to
        create hosts from scratch, again.
      - This version required re-creation of hosts one last time. Sorry! 
      - Redial bug fixed.
      - Time stamp added to trace lines.
      - Now clearing 'Output' and 'Terminal Window' at [Dial] press
      - Total time connected added to the 'Connected Box'
      - Phone number field made longer
      - Unknown IPCP option problem fixed . . .


   o Release 0.05

      - Fixed some giant bugs concerning IP address negotiation
      - Changed the ACCM to shifting all control characters, so this
        version could seem a bit slower . . . I'll fix that later.
      - Problem with second dialing attempt (the timeout could occur at any
        time) fixed.
      - Trapping with full trace fixed.
      - Corrected problem with the script starting before the connection 
        was stable (right after retrieval of the CONNECT string, without
        having waiting for DCD).
      - Pesky IPCP bug search is on. If you experience an "Unknown IPCP
        option...", mail me for a fix!
      - Found a bug when selecting port speed. If the speed is reported
        correctly in the status bar, then you don't have the problem.


   o Release 0.04

      - Fixed timing problems when going from LCP to IPCP.
      - Fixed a CHAP problem using algorithm's different from 5
      - Now you see no hard errors if InJoy cannot open the COM port.
      - Added netmask setup and support.
      - Dialing and scripting ready . . . in an early state.
      - 'Timeout' and 'Timer' functions available . . . in an early state.
        Both functions includes a warning prior to line drop.
      - Now beeps when connected and disconnected (unprovoked)
      - Improved the screen library so mouse works better
      - Enhanced some negotiation options: For now, InJoy attempts to
        change the ACCM option to 0, which improves performance, but it
        can increase the time needed to negotiate a host connection.
      - Changed the way handling of unsupported CHAP protocols
        are negotiated. I'll now try to NAK to the normal algorithm MD5.
      - Added trace date and version to the trace file.
      - Still have cursor problems in the 'Terminal Mode Window', why?
      - Hang Up changed so it uses both DTR drop and +++ATH.
        ATH is only used if DTR drop didn't do the job
      - And much more.


   o Release 0.03

      - Speed improvement (sometimes doubled, at least when high speed 
        connected, such as ISDN)
      - Selecting Hang Up no longer changes focus from the 'Terminal Mode 
        Window'
      - Color improvement of the line usage bar.
      - The dialing and host setup problems of the first two releases still
        persist!


   o Release 0.02

      - Tracing made configurable
      - Line usage monitoring enabled
      - Domain name server field is now 50 bytes


   o Release 0.01

      - Cursor in 'Terminal Mode Window' is not handled correctly
      - After changing a configuration, you have to select it before making the
        changes active


   o First release (ever)

      - 'Save as Default' gives the host you are creating the name default
      - Selecting a host in the 'Host List Box' using the ENTER key while
        connected to a host, causes a trap.
      - Cursor in the 'Terminal Mode Window' is always there (even when 
        the window is not active).
      - 'Your hostname' is not handled correctly. If a correct hostname is
        essential for you, then make sure to have 'SET HOSTNAME=<your host
        name>' in your CONFIG.SYS file
      - After changing a configuration, you have to select it before making the
        changes active
      - Selecting Hang Up changes the focus from the 'Terminal Mode Window'




==========================================================================
 A C K N O W L E D G E M E N T S
==============================================Giving Credit Where Due=====



   I would like to thank all the people who helped during the beta test
   phase. Without their motivation I would have stopped this long ago. A
   few of those deserving special recognition for their service are now
   members of the InJoy Team and more information on them is found on my
   Web site.

   See http://www.fx.dk/





   Copyright (c) 1999-2001,  F/X Communications.  All rights reserved.

