ALLFIX

ALLFIX is the actual fileecho utility. If ALLFIX is run without any commandline options, then the following help screen is displayed:
-------------------------------------------------------------
Usage: ALLFIX [switches]
Commands:

AnnounceGenerate new file reports
ScanScan message base for file information requests
FileProcess inbound TIC files and create new file announcements
MgrProcess AreaMgr requests
NotifySend notify lists to all your up and downlinks
BillSend out all pending bills
FakeReqProcess a fake AreaMgr request
CreditIncrease or decrease a node's credit
ReRequestRe-send uplink request messages
ReLinkRe-link all fileechos from uplinks
RpExternal request processor

Switches
-Crash,-HoldSet crash or hold bit on all netmail
-NoCrcDo not perform a CRC check on all incoming files
-NoSizeDo not perform a Size check on all incoming files
-NoNewDo not scan the BBS file areas for new files
-NoDupeSkip dupe checking when importing/hatching files
-NoKillDo not delete any old .TIC and queue files
-TossBadProcess files in bad tic directory
-FileUsed to specify an alternative template for the Notify command
-GroupsUsed to specify the groups to include in a Notify message
-NoSpaceChkDo not check for sufficient disk space
-NoMagicDo not process any Magic filename entries
-SRIFUsed with the Rp command to signal that the next option passed on the commandline is an SRIF file.
The commands and switches can be in any order. The first letter of the command may also be used instead of the command.
Example: ALLFIX F A
instead of: ALLFIX File Announce

Announce

The new file reports database is stored in the files TOBEREP.FIX and TOBEREP.IDX. If there are any files in the database that have not yet been reported, then this command will tell ALLFIX to generate the necessary new file reports.
ALLFIX can store up to 8000 files in the new file reports database. ALLFIX will announce all of the files in the database each time that the Announce command is given. The database files will be truncated to 0 bytes when ALLFIX has announced all of the files.

Scan

This command tells ALLFIX to scan the message base for FileFind requests. ALLFIX will scan the BBS file areas for any file specifications and/or keywords requested. If any matching files are found, then appropriate replies will be generated.

File

This command tells ALLFIX to process incoming .TIC files, process magic filenames, process AreaMgr requests and scan the BBS file areas for new files.
The following switches can be used with this command: -Crash,-Hold Force the crash or hold bit on all generated outbound mail. -NoCrc Force ALLFIX to skip the CRC check for each incoming file. -NoSize Force ALLFIX to skip the File size check for each incoming file. ALLFIX checks the file size by comparing it with the size listed in the .TIC file (if one is listed). T-Mail marks files that have not been transferred completely by making them Hidden. If you use T-Mail, then ALLFIX will also check the status of the Hidden flag. This switch will disable that check as well. -NoNew Force ALLFIX to skip the search for new files in the BBS file areas. -NoDupe Force ALLFIX to skip the duplicate file checking for those fileechos where that option has been enabled. ALLFIX will write a warning to the log file when processing duplicate files. -NoKill Force ALLFIX to not delete any old .TIC and queue files. Normally ALLFIX will delete all the .TIC and queue files that have been sent. This switch can be used to disable that feature. -TossBad Force ALLFIX to process files in the bad tics and duplicate files directories. When processing .TIC files in those two directories, ALLFIX will also look in the inbound directories and in the received file directory for the associated files. This is necessary when the .TIC files are received before the actual files. The actual files can then still be located in the inbound directories or they may have been moved to the received files directory.
ALLFIX uses intelligent searching techniques to make sure that the correct files are processed. It often happens that a file transfer session is aborted, due to a bad connection. When the session is restarted, the mailer sometimes does not realize that the file being received was aborted. Therefore, it will automatically rename the incoming file. Usually the last letter of the extension of the file is changed to a number, ranging from 1 to 9. In order to make sure that ALLFIX proesses the correct file, it will look for these renamed archives. The last one it finds should be the correct one, and it will then process that file. The following example will help clarify this:
Let's assume that a file is being sent with the name FILE.ZIP. During the transmission, something goes wrong and the session is aborted. Your system re-asserts the connection and your mailer starts receiving the same file again. Your mailer will rename the file to FILE.ZI1. When you run ALLFIX, it will look for FILE.ZIP, since that is the filename in the .TIC file. However, ALLFIX is now smart enough to also find FILE.ZI1.
When ALLFIX has found an alternative file (i.e. FILE.ZI1 in the above example) then it will swap the file names. In terms of our example above, FILE.ZIP will become FILE.ZI1 and FILE.ZI1 will become FILE.ZIP.

Mgr

This command tells ALLFIX to process AreaMgr requests.
The AreaMgr allows systems to connect and disconnect themselves from fileechos to which they have access.
ALLFIX will also process AreaMgr requests when the File command is used.
ALLFIX processes messages to 'ALLFIX' or any of the file 'AreaMgr recognition strings' defined in the AreaMgr options menu. Messages should originate from an address in the Node manager. The AreaMgr password should be placed on the Subject line, and should match the AreaMgr password in the Node manager. The body of message should contain at least one of the following commands.
+ To connect to an area
- To disconnect from an area
%H[ELP] To request the help screen
%L[IST] To request a list of areas available to you
%Q[UERY] To request a list of areas for which you are connected
%U[NLINKED] To request a list of areas available to you, to which you are not already connected.
%P[ASSWORD] To change your AreaMgr password
%-[ALL] To disconnect from all areas
%+[ALL] To connect to all areas
%+[GROUP] To connect to a group of fileechos
%-[GROUP] To disconnect a group of fileechos
%C[OMPRESSION]=Choose the compression type (ARC,ARJ,LZH,PAK,ZIP, and SQZ)
%NOTIFY=[On/Off] To turn the notify function on/off for your system
%MESSAGE=[On/Off] To turn the message function on/off for your system
%TICK=[On/Off] To turn the TICK file option on/off for your system
%STATUS To request a status report (notify, message etc)
%RESEND [fileecho]:[filename] To request that ALLFIX resend a certain file in a specific fileecho. Wildcards may be used.
%PAUSE To temporarily turn off all areas that are not mandatory.
%RESUME To turn any inactive areas back on
%FROM [address] Remote maintenance.
[---] Everything below the tear line is ignored
Systems can only add areas in groups for which they have authorization as defined in the Node manager. The following commands may be used on the same line, but AFTER the password: -Q, -L, -H, or -U, which stand for %QUERY, %LIST, %HELP, %UNLINKED, respectively.
Example:

By: Bob Seaborn
To: ALLFIX, 1:140/1
Re: <password>
St: Pvt Local Kill
-------------------------------------------------
+SYSOPS
-GENERAL
%QUERY
%LIST
%PASSWORD MYPWORD

Notify

The Notify command is used to send notification messages to one or more systems. The accepted format is:
ALLFIX Notify <address> <-File [template]> <-Groups [groups]>
If no address is given, then ALLFIX will send the notify message to all the systems in the Node manager that have the Notify option enabled. If an address is specified, then ALLFIX will send a notify message to that system, assuming it is defined in the Node manager, regardless of the Notify setting for that system. The address may also contain the wildcard '*'. The address specification 2:* means everything in zone 2. 2:*/2 means every node 2 in zone 2. It is possible to send a notify message to someone who is not listed in the Node manager, but may be connected to one or more fileechos.
The -File option is optional. It tells ALLFIX which template file should be used in the notification message. The NOTIFY template file is used when no other is specified. The extension of the template file should not be included.
The -Groups option can be used to specify the groups that should be included in the notify message. Multiple groups can be specified using commas to seperate the groups and two periods, "..", to indicate a range.
Example:
ALLFIX Notify 1:140/30 -File MYNOTIFY -Groups 2,5,36..58
The address specification, the -File, and the -Groups options are only available in the registered version of ALLFIX.

Bill

The Bill command can be used to force ALLFIX to send out all pending bills. The command works in the same way as the Notify command explained in section 7.5.

FakeReq

The FakeReq command can be used to simulate an AreaMgr request from the command line. This command can be used to add people to fileechos, request that certain files are resent, or for performing any other AreaMgr function. This command requires an address and at least one AreaMgr command:
ALLFIX FakeReq <address> <AreaMgr cmd, AreaMgr cmd, ...>
Example:
ALLFIX FakeReq 1:140/30 +ALLFIX %LIST
The above example has the same affect as if node 2:281/415 would send an AreaMgr request in which he requested to be added to the fileecho "ALLFIX" and also requested a list of the connected fileechos.
* note: People who use 4DOS or 4OS2 need to use two % characters whenever one would normally be used. This is necessary because 4DOS and 4OS2 use the % character for a special purpose. Using two signals to 4DOS or 4OS2 that it should not interpret the second % as a special character and leave it in the command line. When using 4DOS and 4OS2, the above example should read:
ALLFIX FakeReq 1:140/30 +ALLFIX %%LIST

Credit

The Credit command can be used to increase or decrease a node's credit from the command line. This command requires an address specification and the number of units (dollars, guilders, marks, etc) to add or subtract, from the node's current credit.
ALLFIX Credit <address_spec> <value>
Example:
ALLFIX Credit 1:140/30 +25
ALLFIX Credit 2:* -10

ReRequest

This command tells ALLFIX to re-request all of the requested areas from the uplink. Unknown areas that are requested from the uplink are put into a special database. After 30 days, they are automatically removed. This command can be used to re-request those areas if they have not been received yet. Please note, the date will be reset, so that the areas will remain in the database for another 30 days after invoking this command.

ReLink

This command tells ALLFIX to re-link all of the fileechos with the uplinks. When invoked, ALLFIX will write uplink request messages for all of the fileechos to which any of the uplinks in the Uplink menu are connected. This option is usefull when the configuration is lost due to a system crash, for example.

Rp

For an explanation of the Request Processor, please refer to section 6.9.

Log file

ALLFIX will log its activity if a log file has been specified. The log file contains information about what ALLFIX did in a particular session. The style of the log file can be changed in the global options menu.

Errorlevels

ALLFIX will exit with one of the following errorlevels depending on the type of activity that was performed.
254 An unrecoverable error occurred.
11 Netmail was generated.
10 Netmail and echomail was generated.
9 Echomail was generated.
8 Files were imported.
7 Files were hatched, but no other files were processed.
0 There was nothing to do.

ALLFIX semaphore file

ALLFIX, ASETUP, and HATCH use the ALLFIX.BSY semaphore file to make sure that only one of the previous tasks is active at any one time.
A semaphore file is nothing more than a method to send a message to another process. One of the three above mentioned processes will open the semaphore file when it starts. If the file is already open, then the process will abort because that means that there is already another process using the configuration files.
The reason this protection routine has been built is to prevent file sharing conflicts which frequently affect the integrity of the configuration files.