home *** CD-ROM | disk | FTP | other *** search
/ Merciful 3 / Merciful_Release_3.bin / software / a / ami_tcp / amitcpv4.3b.dms / amitcpv4.3b.adf / AmiTCP_SDK-ReadMe next >
Text File  |  1996-04-02  |  12KB  |  312 lines

  1. Short: SDK for the AmiTCP/IP protocol stack
  2. Type: comm/tcp
  3. Uploader: AmiTCP-Group@nsdi.fi
  4. Author: AmiTCP-Group@ndsi.fi (Network Solutions Development Inc.)
  5. Version: 4.3
  6.  
  7.   This archive contains include files, some development tools, link
  8.   libraries (with source) and programming examples for AmiTCP/IP 4.3.
  9.  
  10.   AmiTCP/IP is propiertary, copyrighted product of the NSDi - Network
  11.   Solutions Development Inc, Finland.  See the file 'LICENCE.SDK'
  12.   included in the archive for the licence conditions.
  13.  
  14.   See AmiTCP-demo-4x.readme for further information about AmiTCP/IP.
  15.  
  16. * Bug reports 
  17.  
  18.   Send any bug reports to <AmiTCP-Bug@nsdi.fi>.
  19.  
  20. * New Features, enchancements and bug fixes on each release of the SDK:
  21.  
  22.   NOTE: AmiTCP itself is not included in the SDK archive, but the
  23.   relevant (from the programmers point of view) new features and bug
  24.   fixes are mentioned here for completeness. 3.0 beta releases are not
  25.   mentioned in this list for clarity and to avoid unnecessary confusion.
  26.  
  27.   New on 4.3 SDK:
  28.  
  29.     * examples/httpget:
  30.     - An example code how to develop AmiTCP/IP programs without
  31.       any link libraries (and no startup code in this case).
  32.       Compiles with SAS C and GNU CC
  33.  
  34.     * netinclude:
  35.     - Refinements made to better cope GCC. This package will not fully
  36.       support GCC. There are other packages for that purpose. There are
  37.       libnix and ixemul support for AmiTCP networking. Ixemul support
  38.       is currently most complete.
  39.     - Added prototypes, pragmas, inlines and fd:s to 2 new libraries,
  40.       ifconfig.library and serscript.library. These are currently
  41.       NSDi private libraries for db/interfaces parsing and ARexx based 
  42.       serial scripting and the interface may change. These ade added to
  43.       the SDK for completeness.
  44.     - BSD Socket function names has reverted back to original standard
  45.       lowercase format. <amitcp/bignames.h> is added to bring uppercase
  46.       names available (as macros) for those who has used those.
  47.     - Added new/missing protypes, header files, definitions.
  48.  
  49.     * netlib:
  50.     - All libraries compiled w/ SAS/C 6.56
  51.     - Added checking of NIL: filehandle to _fstat.c
  52.  
  53.     * AmiTCP:
  54.     - Added optional argument for ARexx RESET command:
  55.       ALL (the default), HOSTS, NETWORKS, SERVICES, PROCOTOLS, 
  56.       NAMESERVERS, DOMAINS, ACXCESS, CACHES.
  57.     - Fixed bug in getprotobynumber(). Now it works.
  58.  
  59.   Fixes Bugs on 4.1:
  60.  
  61.     * AmiTCP:
  62.     - Made IOC_VOID ioctl's to be accepted, too.
  63.     - Fixed inconsistency in link level sockaddr.
  64.  
  65.     * usergroup.library:
  66.     - Made root to be the default user (again).
  67.  
  68.     * net.lib, netnb.lib, src/netlib/popen.c:
  69.     - Changed popen() to use SystemTags() redirection, since the
  70.       standard "more" did not work otherwise.
  71.  
  72.  
  73.   New Features on 4.0:
  74.  
  75.     * AmiTCP:
  76.     - Added new function: GetSocketEvents().
  77.     - Added the link level address handling, changed if_type to use
  78.       hardware types.
  79.     - Added new sana-II errors to the error lists.
  80.     - Configured domain names are now used on internal host
  81.       searches, too.
  82.     - Added error messages to startup failures.
  83.     - Early error messages are now printed to the console.
  84.     - db/resolv.conf is now read for DOMAIN and NAMESERVER entries.
  85.     - db/netdb is not read any more, the individual files (hosts,
  86.       protocols, networks, sercives, resolv.conf and inet.access)
  87.       are read explicitly.
  88.     - WITH keyword is removed from netdb parsing
  89.     - Removed ARexx variables TASKNAME and NTHBASE (they were
  90.       obsolete).
  91.     - Added new API function GetSocketEvents().
  92.     - Added new SocketBaseTagList() tag SBTC_SIGEVENTMASK.
  93.     - Added new socket option SO_EVENTMASK. Setting this option
  94.       will set the ASYNC mode on the socket also.
  95.     - Socket owner is now set by default, _except_ after
  96.       ObtainSocket().
  97.     - FIOSETOWN ioctl now demands the caller to set itself as the
  98.       owner.
  99.     - Added new callback functionality to coordinate fd tables
  100.       with the link library. (SocketBaseTags() tag
  101.       SBTC_FDCALLBACK).
  102.     - Made name server resolving multithreaded. Now each
  103.       application has it's own set of resolver state variables.
  104.       Before any name resolvation would block if another
  105.       resolvation was in progress.
  106.     - Added h_errno setting via a pointer (SocketBaseTags() tag
  107.       SBTC_HERRNOLONGPTR).
  108.     - Changed the AmiTCP ARexx port (AMITCP) to show only after the API
  109.       is up and running (no need to "wait" on the bin/startnet).
  110.     - Added functions sendmsg() and recvmsg() for scatter/gather I/O.
  111.     - First parameter to Dup2Socket() can now be -1 to mark the fd
  112.           (the second parameter) as not to be used by AmiTCP.
  113.     - Added function SocketBaseTagList(). Tag definitions for it are
  114.           on netinclude:amitcp/socketbasetags.h.
  115.     - Added function gethostid(), which returns the primary IP
  116.           address of the host as the unique host id.
  117.     - Implemented gethostname() API function and HOSTNAME ARexx variable
  118.       (QUERY/SET). The host name is queried from the netdb and/or name
  119.       server, if it is not explicitly given in db/AmiTCP.config _or_ set
  120.       with the ARexx SET command.
  121.     - Added support for the BSD %m feature to the syslog() (%m is
  122.           replaced by the error description of current errno value), Also
  123.           changed the formatting code to not use the Exec's RawDoFmt()
  124.           allowing 32 bit values to be printed without the 'l' size
  125.           modifier. 
  126.     - Only the sizes 1, 2 and 4 are now allowed for the errno
  127.           variable.
  128.     - SetErrnoPtr() has now return value. 0 on success and -1
  129.           otherwise. The _old_ errno indicates the error causing the
  130.           failure.
  131.     - "new" interface naming style (eg. slip.device/0 -> sl0).
  132.  
  133.     * netinclude:
  134.     - Removed KERNEL specific definitions.
  135.     - Added files stdio.h and fcntl.h supporing DOS stdio if
  136.       USE_DOSIO is defined. Otherwise they include the original
  137.       files from the INCLUDE:.
  138.       NOTE: socket stdio does not work with the USE_DOSIO. SAS/C
  139.       stdio must be used, if the sockets are to be used via the
  140.       stdio functions.
  141.     - Added files: sys/file.h, net/if_types.h, net/if_dl.h
  142.     - updated: device/sana2.h, devices/sana2.i,
  143.       devices/sana2specialstaats.h, devices/sana2specialstats.i
  144.     - Added prototype, pragma, fd entry and inline function for the new
  145.       GetSocketEvents() function.
  146.     - (sys/socket.c):
  147.       Added asynchronous socket event codes and a new socket option to
  148.       set per socket event mask.
  149.     - (amitcp/socketbasetags.h):
  150.       Added tag code for event notification signal mask
  151.       (SBTC_SIGEVENTMASK).
  152.     - (sys/syslog.h):
  153.       Removed AmiTCP's internal log path names.
  154.     - Added arpa protocol headers (arpa/ftp.h, arpa/nameser.h,
  155.       arpa/tftp.h and arpa/telnet.h) to the distribution.
  156.     - Added/deleted some files.
  157.     - Added SocketBaseTagList() definitions to
  158.       amitcp/socketbasetags.h.
  159.     - GCC: Added inline functions from clib/socket_inlines.h to
  160.       inline/socket.h, since those had to be modified for gcc.
  161.       Generated big list of defines to make possible to use local
  162.       `SocketBase' variable in calls to bsdsocket.library calls.
  163.       This feature is invoked defining SOCKETBASE_IN_CONTEXT.
  164.     - Added syslog.h (includes sys/syslog.h) for source
  165.       compatibility.
  166.     - SAS/C: inline functions are defined only if OPTINLINE is
  167.       used, netlib stubs are used otherwise.
  168.     - Added new prototypes and declarations for the
  169.       usergroup.library and its link library (grp.h, pwd.h,
  170.       unistd.h, utmp.h, clib/netlib_protos.h).
  171.     - Changes for the short interface names, removed interface
  172.       tags.
  173.     - Added include files for the netinfo.device.
  174.     - Added RPC include directories rpc and rpcsvc.
  175.  
  176.     * net.lib:
  177.     - Added tzset() to the timerinit.c to override the one from
  178.       the SAS/C sc.lib. ENV:TZ is just once, or not at all if
  179.       locale.library is present.
  180.     - Added dosio_init.c, dosio_sprintf.c.
  181.     - Added compiling the USE_DOSIO versions of the libraries (the
  182.       names of the USE_DOSIO versions contain 'd' after the base
  183.       name of the library, for example: net.lib -> netd.lib).
  184.     - Added functions: link_addr(), link_ntoa().
  185.     - Updated to open version 4 of the bsdsocket.library.
  186.     - Moved usr.lib functionality to here.
  187.     - Added implementation of SAS/C level 1 I/O functions, which
  188.       allows stdio on sockets (printf(), and a like).
  189.     - Integrated inetd daemon startup code to here. Includes
  190.       functions init_inet_daemon() and set_socket_stdio(). See
  191.       src/examples/serv for an example.
  192.     - Added some unix style functions (utime(), popen(), sleep()
  193.       etc.). See doc/netlib.doc for a full list and a reference.
  194.     - Added real h_errno variable.
  195.     - Added rcmd() and resvport(), removed getpwuid() and getgrgid().
  196.     - Added syslog() support functions: openlog(), closelog() and
  197.           setlogmask().
  198.     - Removed errlst.c (error tables are now inside the AmiTCP to
  199.       decrease overall memory usage).
  200.     - Removed gethostname(), now implemented in the AmiTCP.
  201.     - Added strerror().
  202.     - Added perror() and stubs for the inline functions (if the
  203.       inlining is not done).
  204.     - Program name is passed to the AmiTCP at startup. It is used
  205.       in the syslog() messages.
  206.     - New function herror() will print the host error code set
  207.       after host resolving failure (uses SocketBaseTags()).
  208.     - New function GetHErrno() will return the host error code
  209.       using the SocketBaseTags().
  210.  
  211.     * libs/usergroup.library:
  212.     - Added a new function call getcredentials() which returns all
  213.       credential for a process, updated library version to 4.
  214.     - New library managing the user/group information.
  215.     - The default user is now "nobody" (before it was "root").
  216.  
  217.     * devs/netinfo.device:
  218.         - New device, which handles the actual user/group database
  219.       files.
  220.  
  221.     * src/examples/serv:
  222.     - New example of stdio and inetd usage.
  223.  
  224.     * rpc.lib:
  225.     - AmiTCP implementation of the Sun RPC 4.0.
  226.     - Added support for the USE_DOSIO. Now a
  227.       special version of the rpclib using the dosio is compiled by
  228.       default (rpcdr.lib). The dosio version of the rpclib uses BPTR
  229.       file descriptors (dos.library files) instead of FILE * (link
  230.       library stdio files) with the xdrstdio_create().
  231.       Using rpcdr.lib and netd.lib with a typical RPC program makes it
  232.       5k smaller wrt. link library stdio.
  233.  
  234.     * help/RPC.guide:
  235.     - Full documentation for the RPC in the AmigaGuide format.
  236.  
  237.     * rcsrev:
  238.     - New development utility, which creates standard _rev.h files
  239.       from some files RCS id.
  240.  
  241.     * src/devtools, src/examples:
  242.     - New directories to clean up the directory structure.
  243.  
  244.     * portmap:
  245.     - RPC program,version to port mapper, needed to be run before
  246.       any RPC based servers.
  247.  
  248.     * rpcinfo:
  249.     - Utility to show RPC bindings on a portmap on some host.
  250.  
  251.   Fixed Bugs on 4.0:
  252.  
  253.     * AmiTCP:
  254.     - Fixed bug with configuration string setting. Too small buffer
  255.       restricted the configuration string sizes to less than 24 bytes.
  256.     - Fixed syslog message level handling. It was broken if the facility
  257.       code was present.
  258.     - Changed gethostbyname() not to treate the name as dot notation IP
  259.       address based on the first digit only. Full check for the dot
  260.       notation is now made.
  261.     - Fixed bug in getservbyname() which now checks the protocol
  262.       string.
  263.     - Fixed the route dumping bug.
  264.     - Logging information is now appended to the end of the old
  265.           log file.
  266.  
  267.     * net.lib:
  268.     - Added priority to usergroup autodestructor function.
  269.  
  270.     * inetd:
  271.     - Fixed bugs in server argument parsing. Before any more than
  272.       one argument would not have worked. (Thanks to Magnus Lilja
  273.       for pointing this out).
  274.  
  275.  
  276.   New Features on 2.3:
  277.  
  278.     * AmiTCP:
  279.     - New ARexx command "KILL" and a new script, bin/stopnet,
  280.           which sends this command to AmiTCP, causing it to try to
  281.           stop all networking applications, and if successfull,
  282.           itself, too.
  283.  
  284.   Fixed Bugs on 2.3:
  285.  
  286.     * AmiTCP:
  287.     - Removed the incorrect use of M_EOR, which caused fragmented
  288.           packets to be    truncated.
  289.  
  290.   New Features on 2.2:
  291.  
  292.     * AmiTCP:
  293.      - The interactive sessions have now a higher priority when
  294.       using rh(c)slip.device
  295.  
  296.   New Features on 2.1:
  297.  
  298.     * Inet-handler:
  299.         - With Inet-Handler you can use AmigaDOS IO to access TCP protocol
  300.  
  301.     * AmiTCP:
  302.     - A timestamp is added to the log messages
  303.     - Faster checksum calculation implemented in assembler
  304.  
  305.     * net.lib: 
  306.     - User and group database handling routines are added to the
  307.       net.lib. Release includes example databases for `ls' and `finger'
  308.       utilities, which use these databases
  309.     - A real gettimeofday() using locale is also added
  310.  
  311. EOF
  312.