                    Datalight Sockets (Revision 4.10.1155)
                           Software Developer's Kit
                   Copyright (c) 1989-2001 Datalight, Inc.
                                June 27, 2001

					 Datalight - System Software for Bright Ideas!

---[ Contents ]-------------------------------------------------------------

          1.0 Welcome
          2.0 Licensing and Distribution
          3.0 System Requirements
          4.0 Installation
          5.0 What's New
          6.0 Format of SOCKET.UPW
          7.0 CHAP Support


---[ Welcome! ]---------------------------------------------------[ 1.0 ]---

        Welcome to Sockets! Scan this README.TXT to see the latest
        changes in Sockets, and any notes that did not make it into
        the manual.

        You may contact Datalight at:

             Datalight, Inc.
             251520 30th Avenue SE Suite 110
             Bothell, WA 98021
             USA

             (800) 221-6630 (voice)
             (425) 951-8086 (voice)
             (425) 951-8094 (FAX)

             http://www.datalight.com
             sales@datalight.com
             support@datalight.com


        We appreciate all comments and suggestions regarding the
        software, manuals, packaging and technical support of our
        products.  If there are any features you would like to see in
        the package, or any changes we can make to improve our
        software or service, please let us know.  For those who have
        told us already, thank you!


---[ Licensing and Distribution ]---------------------------------[ 2.0 ]---

        Datalight Sockets is a licensed product. You must execute a
        license agreement with Datalight prior to shipping Sockets in
        any product.

---[ System Requirements ]----------------------------------------[ 3.0 ]---

        Sockets requires at a minimum:
             512 KB of RAM
             ROM-DOS 7.1, ROM-DOS 6.22, or MS DOS 6.22

        Network requirements for Sockets requires one or more of the
        following, dependingon the network configuration:
             Ethernet
             Token Ring
             Any network supporting Novell NetWare
             Asynchronous Point-to-Point link (PPP, SLIP, or CSLIP)
             Any network supporting the packet driver specification
             Any network supporting the NDIS specification


---[ Installation ]-----------------------------------------------[ 4.0 ]---

        Insert the Datalight ROM-DOS Developer's Kit CD-ROM into the
        CD-ROM drive and run SETUP.EXE

        The install program will lead you through the installation
        process.  Datalight Sockets comes as a stanard part of the
        ROM-DOS Developer's Kit.  The ROM-DOS Developer's Kit comes
        standard on a CD-ROM, but is also available in other formats
        upon request from Datalight.

---[ What's New ]-------------------------------------------------[ 5.0 ]---

        This section of the readme.txt describes what is new in this
        Sockets release. The items toward the front of the section are
        the most important changes, with minor changes and bug fixes
        toward the end of the sections.

        ******* New in this release ********

        DOS APPLICATIONS:
        1) A new makefile has been added to the UTILS directory.  UTILS.MS
           is a Microsoft Visual C++ compatible makefile which allows the
           source code for the provided utilities to be built with Microsoft
           Visual C++ version 1.52.  The utilities, XCOPY and FTPTEST have
           also been updated to provide support for MSVC 1.52.
        2) A new makefile has been added to the EXAMPLES directory.  EXAMPLE.MS
           is a Microsoft Visual C++ compatible makefile which allows the
           source code for the provided examples to be built with Microsoft
           Visual C++ version 1.52.
        3) Corrected a problem with IOCTL.EXE that would cause Sockets to hang
           during unload after using IOCTL to disable the port.
        4) Fixed compatibility error with ReadSocket API.  If a NULL buffer is
           specified or both the NET_FLG_PEEK and NET_FLG_NON_BLOCKING flags
           are specified, the number of bytes on the receive queue is returned.
        5) FTPAPI.EXE now has the ability to override

        ******* New in 4.00.1121 ********

        SOCKETP.EXE, SOCKETM.EXE:
        New features were added to the DOS protocol stacks.
        1) Multicast
           Sockets now supports multicast groups! See the
           Sockets manual for documentation on the new
           JoinGroup and LeaveGroup CAPI calls.
        2) Sockets Busy Flag
           Sockets now supports applications retrieving the
           current busy state of the protocol stack. This
           should be used similarly to the InDos call for TSRs
           to avoid getting the ERR_RE_ENTRY error. See the Sockets
           manual for documentation on the new GetBusyFlag low-
           level API call.
        3) SOCKETM.EXE CHAP support implemented.
        4) SOCKETM.EXE PPP ignoring any input after a COMMS error fixed
        5) SOCKETM.EXE IPCP reset interface IP address
        6) SOCKETM.EXE / SOCKETP.EXE LPD server added to kernel
           and controled through .cfg file.
        7) User control over modem and serial port operations has been
           added. See the IOCTL documentation in CAPI.H and the sample
           utility IOCTL.EXE provided with full source code in IOCTL.C.

        DOS APPLICATIONS:
        1) Terminal Emulators have been removed from the standard
           release.  SOCKETS still supports emulators but none are
           provided.
        2) FTP
           Sockets/DOS now has FTP support, either in
           application form or in API form:
           a) FTP Server
              FTPD.EXE runs either as an application or a TSR
              to share files with other Internet hosts.
              LFN support has been added.
              Added the /n= option to FTPD to set the maximum number
              of connections
           b) FTP Client
              FTP.EXE runs as an application to send and
              retrieve files with other Internet hosts.
              LFN support has been added.
           c) FTP API
              FTPAPI.EXE runs as a TSR and replaces both the
              FTP.EXE and FTPD.EXE programs. All of their
              functionality is supported via a programming
              interface to build FTP support directly into
              your application.
              Added the /n= option to set maximum number of connections.
        3) HTTP plus Remote Console
           LFN support has been added.  Web services and
           remote DOS prompt interaction are available through
           this package.
           a) Web Server
              HTTPD.EXE runs either as an application or a TSR
              to serve data to web browsers. Simultaneously,
              it supports a remote console session through one
              of two included clients:
              1. Sockets/DOS client
                 RCCLI.EXE is a DOS application that works
                 with Sockets/DOS to connect to a Sockets/DOS
                 server running HTTPD. The client machine sees
                 the server machine's DOS screen as its own
                 and can send keystrokes through to modify the
                 state of the server.
              2. Java client
                 RC.JAR is a Java applet that works like RCCLI
                 but in a web browser. A sample demonstration
                 of this functionality is included in the CGI
                 subdirectory.
           b) Web File Retrieval Client
              HTTPGET.EXE will copy the contents of a passed
              URL to the local drive. This can be used to
              retrieve batch updates, advertisements, or any
              number of other data types.
        4) Mail applications
           LFN support has been added.  E-mail send and retrieve
           services are supported by these three applications:
           a) POP3 mail retrieval
              GETMAIL.EXE supports downloading of POP3 messages
              to a local drive. Those files can be read and
              parsed by your application to support countless
              configuration options.
           b) SMTP mail preparation
              MAKEMAIL.EXE packages a body text file plus
              optional attachment files into a "Mail File" for
              use with SENDMAIL.EXE.
           c) SMTP mail transfer
              SENDMAIL.EXE transmits a "Mail File" created with
              MAKEMAIL.EXE to an Internet mail server for
              distribution to various recipients.
        5) NetBIOS services
           NETBIOS.COM runs as a TSR and enables local NetBIOS
           applications to communicate with Microsoft File
           Sharing hosts.
        6) Remote print clients
           Sockets now supports remote printing to either UNIX
           or Sockets based hosts with the following 
           applications:
           a) UNIX host printing
              LPR.EXE sends a local file to a remote UNIX LPD
              host for printing. LPR can also query the status
              of sent jobs and delete them.
           b) Sockets host printing
              SPRINT.EXE sends a local file to a remote Sockets
              host for printing. See the manual for information
              about configuring Sockets as a print server.
        7) FINDFTPS has been removed. If your application needs to determine
           whether FTPD is resident, contact Datalight for a solution.
        8) IOCTL controls have been added to improve serial
           control and allow for modem sharing between SOCKETS
           and other applications.
        9) IFSTAT has been added as a diagnostic tool.
           
        
---[ Format of SOCKET.UPW ]---------------------------------------[ 6.0 ]---

        This is the same file used for the FTP server's (ftpd.exe) 
        permissions.  This file consists of lines where each line contains 
        a user's information.  A line starting with a # is considered a 
        comment and is ignored.  Each line consists of four fields:

        username
                The name of this user. If it is *, it will be used when the 
                client does not specify a username.

        password
                This user's password. If it is *, no password is required.

        working directory
                The user will only have access to this directory and its 
                subdirectories.  If it is '/', this user has access to the 
                whole system.  HTTP_DIR can be referred to as '\'.  If a 
                relative path is specified, it is appended to HTTP_DIR.

        permissions
                IMPORTANT When a user is granted both FTP and HTTP 
                permissions, the FTP permissions should appear first, 
                otherwise they will be ignored. HTTP Operations allowed
                may contain any combination of the following tokens:
                e - User may 'get' files
                p - User may 'post' files
                g - User may use cgi
                m - User may use Remote Console

        * Fields should be separated by single spaces.
        * If any field is missing the entry is ignored.
        * A comment may follow the last field (permissions) of the line.
        * IMPORTANT If a default user is supplied, it should always appear 
          first in the list of users. Only users below the default user 
          will be considered.


---[ CHAP Support ]-----------------------------------------------[ 7.0 ]---

        To increase security for PPP authentication, the Internet standard
        CHAP MD5 has been implemented.  To activate CHAP support in Sockets,
        add one of the following lines to your configuration file:

        * For Sockets as Client:
        par <p> lcp remote authen chap

        * For Sockets as Server:
        par <p> lcp local authen chap

        <p> is the name of the interface used for PPP.

        To specify the CHAP <username> and <password> add one of the following 
        lines to your configuration file:
        
        * for outgoing PPP connections:
        par <p> ap user <username> <password>
     
        * for incoming PPP connections
        par <p> apin user <username> <password>
                
                
---[ End of README.TXT ]----------------------------------------------------
