NAME tftpd - DARPA Trivial File Transfer Protocol server NLM for the Novell Netware Operating System 3.11 SYNOPSIS tftpd.nlm [-c num] [-d [path]] [-l [file]] [-p port] [-s psize] [-r] [-v 0-2] DESCRIPTION Tftpd is a server that supports the DARPA Trivial File Transfer Protocol (TFTP as defined in RFC783). The TFTP server operates at the port indicated in the tftp service description; see the SYS:\ETC\SERVICES file. The server is loaded once and runs standalone until it is unloaded from the NetWare OS. The use of tftpd does not require an account or password on the remote system. Due to the lack of authentication information, tftpd will allow only public readable files to be accessed. Files may be written only if they already exist and are publicy writeable. OPTIONS -c num Sets the number of concurrent TFTP transfers possible. If the number of TFTP transfers exceed the specified limit, the server rejects new TFTP connections until running transfers finish. The default value used by tftp is 16. The 3.11 version of the Netware OS can not handle more than 16 concurrent transfers. -d [path] Specifies the directory to change to so that relative path names may be used. If path is not specified, the default path name is SYS:\TFTPBOOT. All files are handled relative to the path tftpd has been started from if this option is not used. This option does not affect files with absolute paths. -l [file] Enables error logging. File points to a filename where all errors are logged to. If file is omited the default filename SYS:\TFTPBOOT\TFTPD.LOG is used. No error logging to a file is done if the -l option is not been used. This option does not affect the screen logging. -p port Sets the UDP port TFTPD is listening for new requests. If -p is not specified TFTPD uses the standard UDP port number 69. -r Turns on restricted access. With this option enabled, also absolute path names are restricted to the path specified in the -d option. The -r option strips off the Netware volume and absolute path name from the file requested by the client. The following examples show how -r maps filenames if the default path SYS:\TFTPBOOT is choosen: Client request Server filename BACKUP:\FOOBAR SYS:\TFTPBOOT\FOOBAR BACKUP:FOOBAR SYS:\TFTPBOOT\FOOBAR \FOOBAR SYS:\TFTPBOOT\FOOBAR FOOBAR SYS:\TFTPBOOT\FOOBAR BACKUP:\FOO\BAR SYS:\TFTPBOOT\FOO\BAR BACKUP:FOO\BAR SYS:\TFTPBOOT\FOO\BAR \FOO\BAR SYS:\TFTPBOOT\FOO\BAR FOO\BAR SYS:\TFTPBOOT\FOO\BAR If -d is not specified in conjunction with the -r option, the default path SYS:\TFTPBOOT is used. -s psize Sets the size of the TFTP packet. The standard packet size is 512 bytes. Increasing the size enlarges the performance but violates the RFC783 specification. Not every TFTP client may be able to handle packet sizes larger than 512 bytes. The maximum packet size is 1408 bytes. -v 0-2 Specifies the amount of diagnostic information the server should print. If -l is specified this information is also logged to a file. The following number are possible. 0: Removes NetWare OS tftpd screen Shows only errors which prevent tftpd from beeing started All errors are printed to the System Console 1: All messages from 0 Version and Copyright information Errors that affect NetWare OS system calls All errors are printed to the tftpd screen 2: All messages from 1 Server configuration Connection states, retries and statistic data All errors are printed to the tftpd screen The default verbosity level is 1. NOTES The path used for restricted file access (-r option) is case sensitive. That is -r -d SYS:\TFTPBOOT won't allow to access the file SYS:\tftpboot\X. Slahshes are always mapped to backslashes, e.g. SYS:/TFTPBOOT\X equals to SYS:\TFTPBOOT\X. If the port number can not be obtained via the service name database, port number 69 is used to listen for TFTP requests. Tftpd implements the protocol specified in RFC783. It does not support the mail transfer mode. The netascii mode is not mapped since NetWare OS stores text files in the netascii format. If the number of concurrent TFTP transfers allowed is exhausted, tftpd does not acknowledge new requests. The client has to keep track of this situation and try again at a later time. The situation is logged by tftpd. It's not advisable to unload the NLM if TFTP transfers are active. Unload will disable new TFTP connections but not abort active ones. The user should reuse the unload command after the active TFTP transfers are finished. INSTALLATION 1. Copy the file TFTPD.NLM into your SYS:\SYSTEM directory. 2. If there is no file SYS:\ETC\SERVICES copy the template from SYS:\ETC\SAMPLES\SERVICES to SYS:\ETC\SERVICES. 3. Verify that SYS:\ETC\SERVICES includes a line like: tftp 69/udp 4. If you want to restrict file access to a specific directory verify that it exists. By default the directory SYS:\TFTPBOOT is used to place files to. 5. Load the tftpd NLM. This can also be done by editing the SYS:\SYSTEM\AUTOEXEC.NCF file. The following lines give a sample AUTOEXEC.NCF: file server name NW ipx internal net DEADBEEF load ne2000 port=300 int=3 name=ne0 frame=ETHERNET_II load tcpip bind ipx to ne0 net=BABEFACE bind ip to ne0 addr=192.1.1.1 load tftpd -l -r -v 2 KNOWN PROBLEMS Rejects files related to Microsoft products. FILES SYS:\TFTPBOOT default path for file storage SYS:\TFTPBOOT\TFTPD.LOG default filename for error logging SYS:\ETC\SERVICES service name database COPYRIGHT Copyright (c) 1992,93 Dirk Koeppen EDV-Beratungs GmbH D-63073 Offenbach, Germany REVISION VERSION 1.50 - File requests with no NetWare volume name are now mapped into the restricted directory if restriction is enabled. - All file requests are now converted to uppercase. - Options to set UDP port and TFTP packet size SEE ALSO RFC783 the TFTP protocol revision (2)