INIFTP.EXE

INIFTP.EXE is a primitive ftp client for all versions of Microsoft Windows. It does not have a graphical user interface. The majority of the interactions with the application are via the command line or an INI file. It was developed to be a supplemental tool for application installation. It may also be used to perform a mirror of an ftp site if used in conjunction with a cron type facility.

INIFTP.EXE does require the use of Winsock and one other DLL, FTP4W.DLL by Phillipe Jounin (phj@ifh.sncf.fr).

Command Line Options:

Usage: iniftp [-m{A,I}] [-t] [-lfilename] [-h] filename1 [filename2 filename3 …]

-mA or -mI will force the transfer mode to be either ASCII or BINARY respectively. If this option is not used the transfer mode will be binary for all files except files with a txt or ini extension.

-t will cause a log of the ftp operations to be written to c:\mitftp.log

-lfilename will cause a log of the ftp operations to be written to the specified filename.

-h will cause a usage screen to be displayed.

Filename1 filename2 filename3 … are text files that are formatted as Windows INI files which contain the ftp instructions. The required format for these files is described below.

Logging the ftp session

The logging operation is appended to the specified or default file in all cases. This means that the log file will grow arbitrarily large from repeated use of the iniftp application unless it is deleted or edited by the user. Here is an example of a log from a successful session:

Thu Aug 29 14:53:58 1996
Connected to net-dist.mit.edu.
Thu Aug 29 14:53:58 1996
In directory /pub/dos/alpha-beta/kcomt.
Thu Aug 29 14:53:59 1996
Put file bugs.wri into C:\KCOMT\bugs.wri.
Thu Aug 29 14:54:00 1996
Put file commt.drv into C:\KCOMT\commt.drv.
Thu Aug 29 14:54:00 1996
Put file comtcfg.exe into C:\TEMP\comtcfg.exe.
Thu Aug 29 14:54:01 1996
Put file license.wri into C:\KCOMT\license.wri.
Thu Aug 29 14:54:01 1996
Put file manual.wri into C:\KCOMT\manual.wri.
Thu Aug 29 14:54:02 1996
Put file readme.txt into C:\KCOMT\readme.txt.
Thu Aug 29 14:54:02 1996
Put file regform.txt into C:\KCOMT\regform.txt.
Thu Aug 29 14:54:02 1996
Put file register.wri into C:\KCOMT\register.wri.
Thu Aug 29 14:54:02 1996
In directory /pub/dos/techmail-win.
Thu Aug 29 14:54:03 1996
Put file vs.dll into C:\TEMP\vs.dll.
Thu Aug 29 14:54:04 1996
Put file wshelper.dll into C:\TEMP\wshelper.dll.
Thu Aug 29 14:54:04 1996
In directory /pub/dos/kerberos-bin.
Thu Aug 29 14:54:06 1996
Put file krbv4win.dll into C:\TEMP\krbv4win.dll.

Format of INI file for INIFTP.EXE

The format for the iniftp command files is that of a normal Windows INI file. There are two basic section tags that should be included. These are the [Connect] and [Dirn] section tags. You will see a third section tag in the sample ini file. This is the [ExitCode] section tag. The [ExitCode] section tag actually gets written during the execution of iniftp. It is used by installation utilities to determine if the ftp operation completed successfully or if there was a problem during execution.

The [Connect] section tag includes three entries. These are the Host, User, and Passwd. These define the host to connect to, the username to be given to the server, and the password to be used with the username. Notice that this implies that each ini file can only include commands for one ftp server. Notice also that the password is saved as plain text. Since the program was developed to be used by a series of installers we do not consider this to be a problem. In our usage of the program the username will normally be annonymous. In this case the installer will either ask the user for their name or a hard coded password will be used which indicates which installer application was making the connection.

The [Dirn] section tag contains three types of entries. The Path entry defines what path to cd into on the remote server. It should normally be an absolute path. The TargetDir entry specifies where the files should be placed on the local system. Please note that the TargetDir is not always where the files are placed. If the file being ftp'd is an EXE or a DLL it will be placed in the local system's temporary directory. The temporary directory is defined by the local system's TEMP environment variable. The Filen entry designates each file to be copied from the remote system. The Filen entries must start with n=1 and be monotonically increasing. The number of entries is limited by local memory or 9,999. The numner of directory entries is limited to 10. Wildcards are not allowed in Filen entries.

Each inifile to be used must appear in your Windows directory.

Sample ini file for iniftp

; This file should be placed in your windows directory

[Connect]

Host=net-dist.mit.edu

User=anonymous

Passwd=ins-comt

[Dir1]

Path=/pub/dos/alpha-beta/kcomt

File1=bugs.wri

File2=commt.drv

File3=comtcfg.exe

File4=license.wri

File5=manual.wri

File6=readme.txt

File7=regform.txt

File8=register.wri

TargetDir=C:\KCOMT

[Dir2]

Path=/pub/dos/techmail-win

File1=vs.dll

File2=wshelper.dll

TargetDir=C:\NET\MIT

[Dir3]

Path=/pub/dos/kerberos-bin

File1=krbv4win.dll

TargetDir=C:\NET\MIT

[ExitCode]

Abort=No