In this section we will identify all standard directories of a normal IPS installation as well as describe their contents.
This is the IPS root directory, it contains all other IPS sub-directories as well as a few files.
Filename |
Description |
---|---|
file_id.diz |
Standard archive description file. |
setupos2.cmd |
Rexx script for setup under OS/2. |
setupw32.bat |
Batch file for setup under Windows. |
startips.bat |
Batch file for startup under Windows. |
startips.cmd |
Rexx script for startup under OS/2. |
This directory contains all executables needed to run IPS and use all of its features, you should probably include this directory in your PATH and LIBPATH environment settings.
Filename |
Description |
---|---|
chgrp.exe |
UNIX alike utility to control group access (EA based access in OS/2 only). |
chmod.exe |
UNIX alike utility to control access access (EA based access in OS/2 only). |
chown.exe |
UNIX alike utility to control owner access (EA based access in OS/2 only). |
ips2.exe |
Main IPS executable currently in use (OS/2 version). |
ips2old.exe |
Main IPS executable used before last update (OS/2 version). |
ips2upd.exe |
Main IPS executable to be installed on next restart (OS/2 version). |
ips32.exe |
Main IPS executable currently in use (Windows version). |
ips32old.exe |
Main IPS executable used before last update (Windows version). |
ips32upd.exe |
Main IPS executable to be installed on next restart (Windows version). |
ipsmon.exe |
Prototype connection monitor for Windows (Not supported). |
isos2.exe |
Utility to check if we are running under OS/2. |
ls.exe |
UNIX alike utility to list directories with IPS access (EA based access in OS/2 only). |
pwd2.exe |
OS/2 utility to encrypt or verify IPS passwords. |
pwd32.exe |
Windows utility to encrypt or verify IPS passwords. |
startos2.cmd |
Rexx script running IPS under OS/2. This script runs IPS in a loop to automatically restart IPS in case of software failures. You should never call this file directory but instead call the same file in the parent directory. |
startw32.bat |
Batch file running IPS under Windows. This script runs IPS in a loop to automatically restart IPS in case of software failures. You should never call this file directory but instead call the same file in the parent directory. |
Filename |
Description |
---|---|
ips.ico |
Icon for IPS executables. |
ipsfldr1.ico |
Icon for IPS folders. |
ipsfldr2.ico |
Icon for IPS folders. |
All IPS configuration files is located in the directory three starting with this directory. Each sub-directory will contain one site personality.
Filename |
Description |
---|---|
ips.cfg |
Main IPS configuration file. This file is actually not very interesting as IPS implement multiple site personalities and there for the site configuration file(s) is the interesting one. IPS shits with one default site personality named "main". |
ipsftp |
Response message used by the FTPd service component. |
ipshttp |
Response message used by the HTTPd service component. |
ipspop3 |
Response message used by the POP3d service component. |
ipssmtp |
Response message used by the SMTPd service component. |
Filename |
Description |
---|---|
<site_personality>.cfg |
Site personality configuration file. This file specifies a "site" with the possibility of multiple services active. You may host multiple instances of a service component on each site to achieve multi-homing/hosting. One <site_personality> may only have one set of users. |
IPS documentation as well as the default configuration directories are stored in this directory.
Filename |
Description |
---|---|
index.html |
Main documentation entry point. Open this file in your web browser to view the IPS documentation. |
* |
All other files are documentation files and sub-directories containing default configuration directories. |
Filename |
Description |
---|---|
ips.log |
Main IPS log file. Important errors are logged here, please keep an eye on this one. |
*.log |
Service log files defined in the site personality configuration file(s). |
Filename |
Description |
---|---|
<datetime>.zip |
Archived log files. All files in the parent directory are automatically archived here on each IPS startup (or restart). |
Multiple response message files and online help files are placed in this directory.
Filename |
Description |
---|---|
ftp.hlp |
Help file for SITE HELP command of FTPd service component. The file name is defined in the site personality configuration file. |
login-anon.msg |
Message displayed when a guest logs in to the FTPd service component. The file name is defined in cfg\ipsftp. |
login.msg |
Message displayed when a user logs in to the FTPd service component. The file name is defined in cfg\ipsftp. |
retr0.msg |
Message displayed when a user has retrieved a file from the FTPd service component. The file name is defined in cfg\ipsftp. |
sitestat.msg |
Message displayed when a user execute the SITE STAT command to the FTPd service component. The file name is defined in cfg\ipsftp. |
stor0.msg |
Message displayed when a user has stored a file to the FTPd service component. The file name is defined in cfg\ipsftp. |
This directory contains various queues used by IPS. You should not modify files in this directory while IPS is running.
Filename |
Description |
---|---|
|
RexxHooks used by the FTPd service component is stored in this directory.
Filename |
Description |
---|---|
rxOnConnect.rexx |
Examples RexxHook script called whenever a connection is made to the FTPd service component. This script is configured in the site personality configuration file. |
rxOnPass.rexx |
Examples RexxHook script called whenever a guest users has sent a password to the FTPd service component. This script is configured in the site personality configuration file. |
rxOnSite.rexx |
Examples RexxHook script called whenever a SITE command is sent to the FTPd service component before internal SITE commands are processed. This script is configured in the site personality configuration file. |
rxOnUser.rexx |
Examples RexxHook script called whenever a used has sent his/her username to the FTPd service component. This script is configured in the site personality configuration file. |
RexxHooks used by the POP3d service component is stored in this directory.
Filename |
Description |
---|---|
|
RexxHooks used by the SMTPd service component is stored in this directory.
Filename |
Description |
---|---|
|
This section describes which specifications the various service components are based on and in what degree they support those specifications.
RFC |
Category |
Relationship |
Document title |
---|---|---|---|
959 |
|
Obsoletes 765 |
FILE TRANSFER PROTOCOL (FTP) |
1579 |
Informational |
|
Firewall-Friendly FTP |
1635 |
Informational |
|
How to Use Anonymous FTP |
1639 |
Experimental |
Obsoletes 1545 |
FTP Operation Over Big Address Records (FOOBAR) |
2228 |
Standards Track |
Updated 959 |
FTP Security Extensions |
2389 |
Standards Track |
|
Feature negotiation mechanism for the File Transfer Protocol |
2428 |
Standards Track |
|
FTP Extensions for IPv6 and NATs |
2577 |
Informational |
|
FTP Security Considerations |
RFC |
Category |
Relationship |
Document title |
---|---|---|---|
1945 |
Informational |
|
Hypertext Transfer Protocol -- HTTP/1.0 |
2068 |
Standards Track |
|
Hypertext Transfer Protocol -- HTTP/1.1 |
2069 |
Standards Track |
|
An Extension to HTTP : Digest Access Authentication |
2109 |
Standards Track |
|
HTTP State Management Mechanism |
2145 |
Informational |
|
Use and Interpretation of HTTP Version Numbers |
2169 |
Experimental |
|
A Trivial Convention for using HTTP in URN Resolution |
2227 |
Standards Track |
|
Simple Hit-Metering and Usage-Limiting for HTTP |
2295 |
Experimental |
|
Transparent Content Negotiation in HTTP |
2296 |
Experimental |
|
HTTP Remote Variant Selection Algorithm -- RVSA/1.0 |
2518 |
Standards Track |
|
HTTP Extensions for Distributed Authoring -- WEBDAV |
RFC |
Category |
Relationship |
Document title |
---|---|---|---|
1734 |
Standards Track |
|
POP3 AUTHentication command |
1939 |
Standards Track |
Obsoletes 1725 |
Post Office Protocol - Version 3 |
1957 |
Informational |
Updates 1939 |
Some Observations on Implementations of the Post Office Protocol (POP3) |
2195 |
Standards Track |
Obsoletes 2095 |
IMAP/POP AUTHorize Extension for Simple Challenge/Response |
2384 |
Standards Track |
|
POP URL Scheme |
2449 |
Standards Track |
Updates 1939 |
POP3 Extension Mechanism |
RFC |
Category |
Relationship |
Document title |
---|---|---|---|
821 |
|
|
SIMPLE MAIL TRANSFER PROTOCOL |
876 |
|
|
Survey of SMTP Implementations |
1047 |
|
|
DUPLICATE MESSAGES AND SMTP |
1428 |
|
|
Transition of Internet Mail from Just-Send-8 to 8bit-SMTP/MIME |
1652 |
Standards Track |
Obsoletes 1426 |
SMTP Service Extension for 8bit-MIMEtransport |
1830 |
Experimental |
|
SMTP Service Extensions for Transmission of Large and Binary MIME Messages |
1845 |
Experimental |
|
SMTP Service Extension for Checkpoint/Restart |
1846 |
Experimental |
|
SMTP 521 Reply Code |
1869 |
Standards Track |
Obsoletes 1651 |
SMTP Service Extensions |
1870 |
Standards Track |
Obsoletes 1653 |
SMTP Service Extension for Message Size Declaration |
1891 |
Standards Track |
|
SMTP Service Extension for Delivery Status Notifications |
1985 |
Standards Track |
|
SMTP Service Extension for Remote Message Queue Starting |
2034 |
Standards Track |
|
SMTP Service Extension for Returning Enhanced Error Codes |
2197 |
Standards Track |
Obsoletes 1854 |
SMTP Service Extension for Command Pipelining |
Here we provide you with an alphabetical list of all variables which can be used in FIBs expressions. The table below lists the system wide variables valid for all service types, and below there is a section for each service component listing additional variables available only in that service.
Variable |
Description |
---|---|
configfile |
Path of service configuration file. |
configsection |
Section in service configuration file. |
connectduration |
Duration of current session (seconds). |
connecttime |
Starttime of session (seconds since 1980). |
connections |
Number of active connections at current service. |
clientaddress |
Service allowed client addresses. |
ctid |
Client TID. |
date |
Current date. |
debugflag |
Debugflag from the site personality configuration file. |
idle |
Current time idle. |
localhost |
Local hostname. |
logfile |
LogFile from the site personality configuration file. |
logflag |
LogFlag from the site personality configuration file. |
recv |
Files received from user during this client connection. |
recvkb |
KBytes received from user during this client connection. |
remotehost |
Client host name. |
remoteip |
Client IP address. |
sent |
Files sent to user during this client connection. |
sentkb |
KBytes sent to user during this client connection. |
sock |
Main socket of current client connection. |
sock.first |
Main socket of first client connection on this service. |
sock.next |
Main socket of next client connection on this service. |
sock.prev |
Main socket of previous client connection on this service. |
time |
Current time. |
timeout |
Idle time-out value of current client connection. |
uptime |
Server uptime string. |
usr.admin |
Administrative user. |
usr.aliases |
User aliases. |
usr.anon |
Anonymous user. |
usr.changepassword |
User allowed to change password? |
usr.clientaddress |
User allowed client addresses. |
usr.ftp.recv |
Files received from user by FTP. |
usr.ftp.recvkb |
KBytes received from user by FTP. |
usr.ftp.recvkbs |
Maximum received speed by FTP (KBytes/s). |
usr.ftp.sent |
Files sent to user by FTP. |
usr.ftp.sentkb |
KBytes sent to user by FTP. |
usr.ftp.sentkbs |
Maximum send speed by FTP (KBytes/s). |
usr.fullname |
Full(Real) name of user. |
usr.logindir |
User initial login directory. |
usr.maxbandwidth |
Maximum bandwidth used for each FTP transfer. |
usr.smtp.recv |
Messages received for user. |
usr.smtp.recvkb |
KBytes of message data received for user. |
usr.username |
Name of user connected. |
vers |
IPS version. |
vers.compile |
IPS version, compilation date/time. |
Variable |
Description |
---|---|
curdir |
Directory of current client connection. |
curdisk |
Root and current directory of current client connection in OS format. |
curpath |
Full path of current/last file/directory action. |
curroot |
Root directory of current session. |
password |
Password typed by Anonymous user. |
status |
Status of client connection. Possible values include: |
timeoutmax |
TimeoutMax from the group configuration file. |
type |
Transfer type setting of client connection.. |
Variable |
Description |
---|---|
|
Variable |
Description |
---|---|
messages |
Number of message in mailbox. |
messagessize |
Total size of messages in mailbox (Bytes). |
status |
Status of client connection. Possible values include: |
Variable |
Description |
---|---|
messagefile |
Path of message body file. |
The following FTP commands are implemented according to various rfc's:
Command |
Date |
Access |
Notes |
---|---|---|---|
ABOR |
1999/05/16 |
--- |
|
ACCT |
Not implemented |
|
|
ALLO |
Not implemented |
|
|
APPE |
1999/05/16 |
rw- |
|
CDUP, XCUP |
1999/05/16 |
--x |
|
CWD, XCWD |
1999/05/16 |
--x |
|
DELE |
1999/05/16 |
rw- |
|
FEAT |
1999/05/16 |
--- |
As defined in rfc2389 |
HELP |
1999/05/16 |
--- |
|
LIST |
1999/05/16 |
--x |
|
MDTM |
1999/05/16 |
r-- |
|
MKD, XMKD |
1999/05/16 |
-wx |
|
MODE |
1999/05/16 |
--- |
|
NOOP |
1999/05/16 |
--- |
|
PASS |
1999/05/16 |
--- |
|
PASV |
1999/05/16 |
--- |
|
PORT |
1999/05/16 |
--- |
|
PWD, XPWD |
1999/05/16 |
--- |
|
REIN |
1999/05/16 |
--- |
|
REST |
1999/05/16 |
--- |
|
RETR |
1999/05/16 |
r-- |
|
RNFR |
1999/05/16 |
rw- |
|
RNTO |
1999/05/16 |
-w- |
|
RMD, XRMD |
1999/05/16 |
-wx |
|
SMNT |
Not implemented |
|
|
SITE |
1999/05/16 |
--- |
|
SIZE |
1999/05/16 |
r-- |
Not implemented for sub-directories |
STAT |
Not implemented |
|
|
STOR |
1999/05/16 |
-w- |
|
STOU |
Not implemented |
|
|
STRU |
Not implemented |
|
|
SYST |
1999/05/16 |
--- |
|
TYPE |
1999/05/16 |
--- |
|
USER |
1999/05/16 |
--- |
|
Command |
Date |
Access |
Description |
---|---|---|---|
SITE IDLE |
1999/12/29 |
Any user |
View/set current idle time-out. |
SITE LANG |
1999/05/16 |
Any user |
Change current response language. |
SITE LIST |
1999/12/29 |
Any user |
List a directory using the control connection. |
SITE NAME |
1999/12/29 |
Any user |
View/set fullname. |
SITE NLST |
1999/12/29 |
Any user |
List a directory using the control connection. |
SITE PASS |
1999/05/16 |
Any user with ChangePassword setting enabled |
Change password. |
SITE RADM CGET |
1999/12/30 |
Administrator |
Get any value from any configuration file. |
SITE RADM CSET |
1999/12/30 |
Administrator |
Set any value to any configuration file. |
SITE RADM KILL |
1999/05/16 |
Administrator |
Kill listed sockets. |
SITE RADM LIST SOCKETS |
1999/05/16 |
Administrator |
List active sockets. |
SITE RADM LIST SERVICES |
1999/05/16 |
Administrator |
List active services. |
SITE RADM LIST USERS |
1999/12/30 |
Administrator |
List users. |
SITE RADM MONITOR |
1999/05/16 |
Administrator |
Start a real-time site monitor. |
SITE RADM RESTART |
1999/05/16 |
Administrator |
Restart IPS when all sockets are closed or at once if done twice. |
SITE RADM SHUTDOWN |
1999/05/16 |
Administrator |
Shutdown IPS when all sockets are closed or at once if done twice. |
SITE RADM UDUPE |
1999/12/29 |
Administrator |
Duplicate an existing user. |
SITE RADM UGET |
1999/12/29 |
Administrator |
Get user setting. |
SITE RADM USET |
1999/12/29 |
Administrator |
Set user setting. |
SITE STAT |
1999/12/29 |
Any user |
View user information and statistics. |
SITE WHO |
1999/05/16 |
Any user |
List active sockets. |
SITE XIPS XCMD |
1999/05/16 |
Any user |
Active IPS specific extended command connection. |
This collection of commands are used to remotely administer the IPS server. The format of the commands are:
SITE RADM CGET [cfg-file] {[section] [ident]} SITE RADM CSET [cfg-file] [section] [ident] [new-value] SITE RADM UDUPE [user] [newuser] SITE RADM UGET [user] {[section] [ident]} SITE RADM USET [user] [section] [ident] [new-value]
They will return the value or error messages as found in the [SITE] section of the ipsftp file. The UGET command can be given only a user name as the input and will the return a printout of the whole user file.
After issued this setting will make IPS send various information on the control connection even if they are not a response to a specific command. Well activated, the session using this feature is no longer rfc compliant.
The responses sent after this is enables has the format:
IPS <command>|<code>|<parameter>|
<command> is the FTP command this response shall be associated
with.
<code> is the sub-code.
<parameter> is a
response specific value.
There may be any number of parameters, and extra parameters can be added to responses without further notice. Each parameter is always terminated with a | (pipe) character.
Defined extended command responses are:
Command |
Response |
Description |
---|---|---|
APPE |
IPS APPE|0|<xfered>| |
<xfered> is a decimal number of bytes transferred so far. |
RETR |
IPS RETR|0|<xfered>| |
<xfered> is a decimal number of bytes transferred so far. |
RETR |
IPS RETR|1|<filesize>|<filedate>| |
<filesize> is a decimal number of bytes describing the
size of the file. |
STOR |
IPS STOR|0|<xfered>| |
<xfered> is a decimal number of bytes transferred so far. |
System Variables
IPS has a lot of variables available for getting more information from a running server. These variables can be used in system texts, response files and RexxHook-scripts. To identify a variable you have to insert the variable name within two percent signs in your text.
So, to insert the make a string with the current IPS version you could make something like this:
"This site is running InetPowerServer/2 %(vers)"
cfg(file,section,ident) fill(text,size[,pad])