IBM TFTP Server - Readme

Beta 1 (version 1.13) - August 27, 1998

Copyright (C) IBM Corporation and others 1996, 1998

Licensed Materials - Property of IBM and others - All rights reserved.

US Government Users Restricted Rights - Use, duplication or
disclosure restricted by GSA ADP Schedule Contract with IBM Corp.

Contents


1.0 Trademarks and Service Marks
2.0 Introduction to TFTP Server (TftpSvr)
3.0 Supported Platforms
4.0 Prerequisites
5.0 Contents of the Package File
6.0 Installing TftpSvr
7.0 Configuring TftpSvr
8.0 Running TftpSvr
9.0 Uninstalling TftpSvr
10.0 Tips
11.0 New Features Since the Last Release
12.0 Changes Since the Last Release
13.0 IBM License Agreement

1.0 Trademarks and Service Marks

* Trademark or registered trademark of International Business Machines Corporation.

** Company, product or service may be a trademark or service mark of others. Java and all Java-based trademarks and logos are trademarks or registered trademarks of Sun Microsystems, Inc. in the U.S. and other countries. Windows and Windows NT is a registered trademark of Microsoft Corporation.

2.0 Introduction to TFTP Server

IBM* TFTP Server (TftpSvr) implements the Trivial File Transfer Protocol (TFTP) as a server process. It allows TFTP clients running on any host to read and write files to the server.

On Windows/NT**, TftpSvr installs as an NT** Service, which means that it runs in the background whether or not a user is logged onto the workstation.

Configuration options allow you to restrict clients from reading or writing files.

3.0 Supported Platforms

TftpSvr supports the following platforms:

TftpWin.zip:
Windows** NT
Windows** 9x
TftpAix.tar:
AIX* 4.1.3 or higher
TftpOs2.zip
OS/2* Warp 4 - Fix Pack 5 is recommended

Other platforms

This TFTP server should run on any Java capable platform. You should be able to create a variation of Svr9x.bat to launch the server on other platforms.

4.0 Prerequisites

Processor: Windows and OS/2 - Pentium** or greater

Disk Space: Windows - 4 MB, OS/2 and AIX - 1 MB

5.0 Contents of the Package File

Depending on which package you downloaded, the contents vary.

The following list describes the directory structure and the most
important contents of the ZIP file.

tftp

The tftp directory is the root directory for the TftpSvr product.
It includes the main program which varies by platform:

In the TftpWin.zip package:

Windows/NT - TftpSvr.exe
Windows/9x - Svr9x.bat


In the TftpOs2.zip package:

SvrOs2.cmd


In the TftpAix.tar package:

TftpSvr


This directory also includes a configuration file, TftpSvr.cfg,
and a java archive (Tftp.jar), which contains the java classes for the
application.


tftp/jre (TftpWin.zip package only)

The jre subdirectory includes the Java Runtime Environment** for the
TftpSvr application for the Windows platform only.


tftp/SvrRoot

This is an empty subdirectory which is the default location for the
files to be served. Modify the TftpSvr.cfg file to
specify different directories for the server to use.


tftp/Logs

This is an empty subdiretory which is the default location for storing
log information. Modify the TftpSvr.cfg file to specify
a different location for log information.

6.0 Installing TftpSvr

Windows/NT:

1. Ensure that you have unpacked the TftpWin.zip file in an appropriate
directory, e.g.:

c:\

2. Ensure that you have unpacked the TftpWin.zip file in an appropriate
directory, e.g.:

c:\

3. (Windows/NT only) Install the TftpSvr as an NT Service by running the
TftpSvr.exe program with "-install" as its argument, e.g:

c:\tftp> TftpSvr -install

It should respond with "TFTP Server installed".

Windows/9x:


Ensure that you have unpacked the TftpWin.zip file in an appropriate
directory, e.g.:

c:\



OS/2:

Ensure that you have unpacked the TftpOs2.zip file in an appropriate
directory, e.g.:

c:\


AIX:

1. Ensure that you are installing TftpSvr from the root user id

2. Ensure that you have unpacked the TftpAix.tar file in an appropriate
directory, e.g.:

/usr/local

7.0 Configuring TftpSvr

Edit the TftpSvr.cfg file in the install directory to change configuration parameters.

These are the configurable parameters:

inboundDirectory
The location for files which are written by TFTP clients. You can use forward slashes to separate the subdirectories. If you wish to use backslashes instead, you must double them because java interprets a single backslash as an escape character. For example, you can specify:
c:/foo/inbound
or:
c:\\foo\\inbound
The default is ./SvrRoot


If you omit a value for this parameter, clients are not allowd to write files to the server.

outboundDirectory
The location for files which are to be read by TFTP clients. See above for how to specify paths.

The default is ./SvrRoot
If you omit a value for this parameter,
clients are not allowed to read files
from the server.

logFile
The filename for the log.

The default is ./Logs/TftpSvr.log

If you omit a value for this parameter, no information is logged.

appendToLog
true or false, to specify whether the log entries are added to an existing log or the log file is created afresh
address
The IP address for the TFTP server to use.


If omitted, the default local host is used.


You should normally leave this parameter unspecified. If you have multiple IP addresses configured for your system, e.g. if you have two LAN cards, you might want to configure this parameter.

timeout
The number of milliseconds to wait for an acknowledgement before retransmitting
maxRetries
The maximum number of retransmissions before giving up
overwrite
true means it's okay to overwrite existing files, false otherwise
createDirectories
true means the server will create non-existent directories needed to write a file


NOTE for OS/2 users: Your editor may insert a control-Z character at the end of the properties file. The control-Z character is an obsolete end-of-file indicator which tends to confuse programs like TftpServer. You should turn off this option in your editor, or if you can't turn it off, you should make sure the last line in your properties file is a comment. A comment is any line whose first non-blank character is '#'.

8.0 Running TftpSvr

8.1 Windows/NT

To start TftpServer, you can use the Services control panel or the NET command.


To use the Control Panel:

  1. Open the Control Panel by selecting Start->Settings->Control Panel from the taskbar.
  2. Open the Services Applet by double clicking "Services" on the Control Panel.
  3. Select "TFTP Server" in the list of services. If it isn't there, you should follow the steps in 6.0 to install TftpSvr as a service.

    If the Status column is blank, you can start the TFTP Server by pushing the Start button. If the status is "Started", you can stop the TFTP Server by pushing the Stop button.

    The default startup type is "Manual". To have the TFTP Server start automatically when NT is booted, push the "Startup..." button and select "Automatic".

To start the server with the NET command:

c:>net start "TFTP Server"


To stop the server with the NET command:

c:>net stop "TFTP Server"

8.2 Windows/9x

Run the Svr9x.bat file in the install directory.

8.3 OS/2

Run the SvrOs2.cmd file in the install directory.

8.4 AIX

Run the TftpSvr script in the install directory.

9.0 Uninstalling TftpSvr

Windows/NT:

To uninstall TFTP Server:

  1. Ensure that you are uninstalling TftpSvr from the Administrator account, or an account which has Administator privileges.
  2. Remove the TftpSvr as an NT Service by running the TftpSvr.exe program with "-remove" as its argument, e.g:
    c:\tftp> TftpSvr -remove

    It should respond with "TFTP Server removed".

  3. Delete the install directory and everything in it


Windows/9x, OS/2 and AIX:

Delete the install directory and everything in it.

10.0 Tips

Using directories from a client


When the tftp client includes a directory path as part of the filename in a read or write request, that path is appended to the outboundDirectory (in case of a read request) or the inboundDirectory (in case of a write request). The resulting path is always relative to one of these two directories, even if the client indicated an absolute path.

Clients should not use logical drive letters or backslashes in the filename.


If your client interface expects you to supply a directory parameter (e.g. the 2216 TFTP commands), you can indicate the root directory as a single forward slash '/'. As noted above, '/' will resolve to the inboundDirectory or outboundDirectory.

Examples:

Assume the properties file contains:

inboundDirectory=c:/foo/inbound
outboundDirectory=c:/foo/outbound
1. tftp myHost put baz.txt 

Creates c:\foo\inbound\baz.txt

2. tftp myHost put /baz.txt

Creates c:\foo\inbound\baz.txt even though /baz.txt looks like an absolute path

3. tftp myHost get bar.txt

Retrieves c:\foo\outbound\bar.txt

4. tftp myHost get x/y/bar.txt

Retrieves c:\foo\outbound\x\y\bar.txt

5. On a 2216, you can specify the inboundDirectory or outBoundDirectory
by using '/':

Boot config>tftp get load modules
Specify the server IP address (dotted decimal): :[1.2.3.4] 192.9.200.1
Specify the remote modules directory: : (/u/bin) /
Select the destination bank: (A, B): [A] a
TFTP SW load image
get: /LML.ld
from 192.9.200.1
to: bank A.

Operation completed successfully.


The above exchange will retrieve c:\foo\outbound\LML.ld

11.0 New Features Since the Last Release

8/24/98 New config parms, 'overwrite' and 'createDirectories'

8/18/98 Log unrecognized properties in the properties file as errors

8/17/98 Log the values of inboundDirectory and outboundDirectory to
help the user to catch misspellings in the properties file.

8/7/98 Added timeout, maxRetries, appendToLog configurable parms
Added timestamps to log entries.

12.0 Changes Since the Last Release

8/27/98 Fixed problem in reading a file whose length is multiple of
512, last packet sent was short by 1 byte (i.e. an invalid
tftp packet)

8/25/98 Fixed problem where old ack packets weren't being discarded

8/24/98 Fixed problem where the server would eventually misinterpret
filenames by truncating them.

8/18/98 Updated Readme.txt file to warn OS/2 users about control-Z
in the properties file.

Added tips section

8/17/98 Changed the properties file from TftpServer.properties
to TftpSvr.cfg to accommodate OS/2 FAT partition naming
restrictions.

Changed the default log filename from TftpServerLog.txt
to TftpSvr.log to accommodate OS/2 FAT partition naming
restrictions.

Changed the Readme file (this file) to make more clear that
there are three different install packages.

Fixed the misspelled "outboudDirectory" in the properties file.

13.0 IBM License Agreement

Please read this IBM license agreement (called the "Agreement")
carefully. Your use of the software or any related documentation
(called the "Software") indicates your acceptance of the
following terms and conditions. If you do not agree to these
terms and conditions, you may not install or use the Software.

Notice: The Software that is made available through the
alphaWorks project is not generally available software. It has
not undergone complete testing and may contain errors. It may
not function properly and is subject to change or withdrawal at
any time. No support or maintenance is provided with the
Software. Do not install this software if you are not
accustomed to using experimental software.

The alphaWorks Software is made available without charge in the
experimental stage in order to allow you to evaluate the
Software in its developmental stage. We encourage your feedback
and suggestions.

1. Ownership and License.

The Software is owned by International Business Machines
Corporation or one of its subsidiaries ("IBM") and is
copyrighted and licensed, not sold.

IBM grants you a non-exclusive, non-transferable license
to download the Software and use it only for your personal,
non-commercial and lawful end use. Implied licenses are
negated.

You may copy the Software for backup only. You may not:
1) merge, distribute (for free or for sale) or sublicense the
Software; 2) reverse assemble, reverse compile, or otherwise
translate the Software.

2. Term and Termination

This Agreement will terminate ninety (90) days after the date
on which you receive the Software. Upon such termination you
will delete or destroy all copies of the Software.

3. Warranty Disclaimer and Limitation of Liability

IBM licenses the Software to you on an "as is" basis, without
warranty of any kind. IBM hereby expressly disclaims all
warranties or conditions, either express or implied,
including, but not limited to, the implied warranties or
conditions of merchantability and fitness for a particular
purpose. You are solely responsible for determining the
appropriateness of using this Software and assume all risks
associated with the use of this Software, including but not
limited to the risks of program errors, damage to or loss of
data, programs or equipment, and unavailability or interruption
of operations. Some jurisdictions do not allow for the
exclusion or limitation of implied warranties, so the above
limitations or exclusions may not apply to you.

IBM will not be liable for any direct damages or for any
special, incidental, or indirect damages or for any economic
consequential damages (including lost profits or savings),
even if IBM has been advised of the possibility of such
damages. IBM will not be liable for the loss of, or damage to,
your records or data, or any damages claimed by you based on
a third party claim. Some jurisdictions do not allow for the
exclusion or limitation of incidental or consequential damages,
so the above limitations or exclusions may not apply to you.

4. License Rights

You hereby grant to IBM an irrevocable license under all
intellectual property rights (including copyright) to use,
copy, distribute, sublicense, display, perform and prepare
derivative works based upon any feedback, including materials,
fixes, error corrections, enhancements, suggestions and the
like that you provide to IBM.

5. General

This Agreement is governed by the laws of the State of New York.

This Agreement is the only understanding and agreement we have
regarding your use of the Software. It supersedes all other
communications, understandings or agreements we may have had
prior to this Agreement.