Note from uploader:-
This is the last free version of AmiTCP that I am aware of.
Even if you use Miami you need to have the AmiTCP: assign with stuff in it
to run programs such as the BitchX IRC client.
End of my note. ;)
Please read the NOTE_TO_BETA_TESTERS on the archive before you do
AmiTCP/IP is the first publicly available TCP/IP protocol stack for
the SANA-II interface. AmiTCP/IP provides an application level socket
interface to the Internet protocol suite as an Amiga shared library.
AmiTCP/IP 3.0 beta 2 is distributed in 3 archives:
AmiTCP-bin-30b2.lha AmiTCP/IP package
AmiTCP-api-30b2.lha Include files and link libraries
AmiTCP-src-30b2.lha Source for AmiTCP/IP and utilities
If you just want to use AmiTCP/IP you need just bin and one of
document files. If you want to write your own applications or compile
AmiTCP/IP you need api/src, too. Number in the name corresponds to
distribution version. Printed documentation is currently up to release
Unpack archive(s), then read README.FIRST and HowToInstall.
* Bug reports
Send any bug reports to <AmiTCP-Bughut.fi>.
* New Features, enchancements and bug fixes on each release:
New Features on 3.0 beta 2:
* binary distribution:
- all files which are installed to non-AmiTCP directories are
now placed in AmiTCP:export. After the installation is done
you can delete all these files.
- Added "INACTIVE" to the log window parameters (suggested by
- Added new callback functionality to coordinate fd tables
with the link library. (SocketBaseTags() tag
- Added simple (but efficient) access control to the protocol
stack. Now it is possible to deny TCP connections to
given/any ports from given/any machine.
- Made name server resolving multithreaded. Now each
application has it's own set of resolver state variables.
Before any name resolvation would block if another
resolvation was in progress.
- Added h_errno setting via a pointer (SocketBaseTags() tag
- New configuration file for Internet access control. Includes
- Added arpa protocol headers (arpa/ftp.h, arpa/nameser.h,
arpa/tftp.h and arpa/telnet.h) to the distribution.
- Added/deleted some files.
- Moved usr.lib functionality to here.
- Added implementation of SAS/C level 1 I/O functions, which
allows stdio on sockets (printf(), and a like).
- Integrated inetd daemon startup code to here. Includes
functions init_inet_daemon() and set_socket_stdio(). See
src/examples/serv for an example.
- Added some unix style functions (utime(), popen(), sleep()
etc.). See doc/netlib.doc for a full list and a reference.
- Added real h_errno variable.
- Added a new function call getcredentials() which returns all
credential for a process, updated library version to 4.
- Carsten Heyl's (SUN NFS compatible) NFS client added to the
- Upgraded to version 3.8, merged enchanchements made by R. Knop
(tektronix emulation). Major new feature is support of the
- Updated version.
- Updated version.
- Updated version.
- Totally new version.
- Added resolving the IP addresses (by Pavel Troller
<patrolk332.feld.cvut.cz>). The resolving is done with
AmiTCP command 'resolve', and can be bypassed with command
line switch '-n'.
- Added caching the resolved addresses (jraja).
- New example of stdio and inetd usage.
- removed from the distribution. Use NcFTP instead.
(Hint: alias ftp ncftp -u )
Fixed Bugs on 3.0 beta 2:
- Fixed bug in getservbyname() which now checks the protocol
- Fixed the bug in log file/console name change notify
function (NETTRACE's DosBase is no more used before
- Fixed bugs in server argument parsing. Before any more than
one argument would not have worked. (Thanks to Magnus Lilja
for pointing this out).
- Added copying of the "libs" dir.
- Fixed bug which caused sending to stop if input was redirected
from a (not small) file.
New Features on 3.0 beta:
- Changed the AmiTCP ARexx port (AMITCP) to show only after the API
is up and running (no need to "wait" on the bin/startnet).
- Added functions sendmsg() and recvmsg() for scatter/gather I/O.
- First parameter to Dup2Socket() can now be -1 to mark the fd
(the second parameter) as not to be used by AmiTCP.
- Added function SocketBaseTagList(). Tag definitions for it are
- Added function gethostid(), which returns the primary IP
address of the host as the unique host id.
- Implemented gethostname() API function and HOSTNAME ARexx variable
(QUERY/SET). The host name is queried from the netdb and/or name
server, if it is not explicitly given in db/AmiTCP.config _or_ set
with the ARexx SET command.
- Added support for the BSD %m feature to the syslog() (%m is
replaced by the error description of current errno value), Also
changed the formatting code to not use the Exec's RawDoFmt()
allowing 32 bit values to be printed without the 'l' size
- Only the sizes 1, 2 and 4 are now allowed for the errno
- SetErrnoPtr() has now return value. 0 on success and -1
otherwise. The _old_ errno indicates the error causing the
- "new" interface naming style (eg. slip.device/0 -> sl0)
- New configuration file to allow easy extension to new sana2
devices. Maps interface names to sana2 parameters.
- Added SocketBaseTagList() definitions to
- GCC: Added inline functions from clib/socket_inlines.h to
inline/socket.h, since those had to be modified for gcc.
Generated big list of defines to make possible to use local
`SocketBase' variable in calls to bsdsocket.library calls.
This feature is invoked defining SOCKETBASE_IN_CONTEXT.
- Added syslog.h (includes sys/syslog.h) for source
- SAS/C: inline functions are defined only if OPTINLINE is
used, netlib stubs are used otherwise.
- Added new prototypes and declarations for the
usergroup.library and its link library (grp.h, pwd.h,
unistd.h, utmp.h, clib/netlib_protos.h)
- Changes for the short interface names, removed interface
- Added include files for the netinfo.device
- Added RPC include directories rpc and rpcsvc
- Added rcmd() and resvport(), removed getpwuid() and getgrgid().
- Added syslog() support functions: openlog(), closelog() and
- Removed errlst.c (error tables are now inside the AmiTCP to
decrease overall memory usage).
- Removed gethostname(), now implemented in the AmiTCP.
- Added strerror().
- Added perror() and stubs for the inline functions (if the
inlining is not done).
- Program name is passed to the AmiTCP at startup. It is used
in the syslog() messages.
- New function herror() will print the host error code set
after host resolving failure (uses SocketBaseTags()).
- New function GetHErrno() will return the host error code
using the SocketBaseTags().
- New library managing the user/group information.
- New device, which handles the actual user/group database
- AmiTCP implementation of the Sun RPC 4.0.
- Full documentation for the RPC in the AmigaGuide format.
- Added configureable MTU and EOFMODE.
- Added sending of custom packet to ABORT pending read packet
when network closes the connection. This packet is FIFO
spesific and won't do anything when using another handler.
Anyway, it works with emacs which uses FIFO to communicate
with spawned processes.
- New loose routing option (-L).
- New version, has some bugs fixed and uses the
usergroup.library for user information.
- Uses usergroup.library to find the user name _and_ home
* id, login, passwd, umask and whoami:
- New usergroup.library oriented utilities
- New utility, trying to return host name from the IP address.
- New utility to execute commands on remote hosts, note that
the server program is not included.
- New development utility, which creates standard _rev.h files
from some files RCS id.
* src/devtools, src/examples, src/doc:
- New directories to clean up the directory structure.
- RPC program,version to port mapper, needed to be run before
any RPC based servers.
- Utility to show RPC bindings on a portmap on some host.
Fixed Bugs on 3.0 beta:
- Fixed the route dumping bug.
- Logging information is now appended to the end of the old
- record routing (-R) now works.
New Features on 2.3:
- New ARexx command "KILL" and a new script, bin/stopnet,
which sends this command to AmiTCP, causing it to try to
stop all networking applications, and if successfull,
- Faster I/O on binary transfers.
Fixed Bugs on 2.3:
- Removed the incorrect use of M_EOR, which caused fragmented
packets to be truncated.
New Features in 2.2:
- The interactive sessions have now a higher priority when
- Arp table dumping is now working
- Routing table can be dumped
New Features in 2.1:
- With Inet-Handler you can use AmigaDOS IO to access TCP protocol
- New application, prints information about local and remote users
- Calls now finger when asked for local users. (This feature requires
Apipe-handler by Per Bojsen, Apipe-handler can be found e.g. on Fish
- New application, an imitation of Unix directory lister. Supports
multiuser filesystems. Included as an example of user and group
- Default window title is now the name of the remote host
- A public screen can be used with -S switch (thanks trossi!)
- A simple script which synchronize clock in Amiga with
specified host in network
- A timestamp is added to the log messages
- Faster checksum calculation implemented in assembler
- User and group database handling routines are added to the
net.lib. Release includes example databases for `ls' and `finger'
utilities, which use these databases
- A real gettimeofday() using locale is also added