FDSEND  v1  A binary file encoding program (with encryption  
            option) for file transfer via FTSC network  
            email systems.


What is FDSEND?
---------------
FDSEND enables sending binary files as Ascii messages via 
PC networks that utilize the OPus/Fido message format (.MSG 
files).  The method is identical to the uuencode/uudecode 
algorithms that have been used in the Unix world for many 
years.  This is an important difference between the Unix 
and PC-based mail networks; at the time of release, no 
known PC networks provide the capability of transmitting 
binary files using standard message channels.

How does FDSEND work?
---------------------
In simply terms, FDSEND converts a binary file into Ascii 
form such that network mailing software can handle the file 
without causing **ANY** problems to the network. In more 
detail, FDSEND uses a method  *identical* to the Unix 
encoding algorithm:  every 6 bits of the binary file is 
written as an Ascii character.

FDSEND converts the binary file into smaller encoded files 
having the extension UUE.  The total space of the encoded 
files will be  about 25% larger than the single binary 
original.  The last letter of the filename (not including 
the uue extension) represents that file's position in the 
decoding sequence.   Having said that, note that FDSEND 
does NOT produce the individual UUE files; rather Opus/Fido 
style .MSG files are produced containing the encoded files.

The receiving utility, FDRECV, then scans the netmail 
directory for any files containing encoded files and 
extracts the .UUE file members.  ANY decode utility can 
decode the .UUE files including the UUD.C file distributed 
with FDSEND (compilable with most any C compiler).

What does a .UUE file look like?
--------------------------------
The following is the beginning of an encoded file:

 begin 644 FDRECV.exe
 M35K@ !< C@ F $,$0Z3K @!   #U!0    $\   !C    E@  )L "Ja
 MP@ -$   #H    \@   /<   #\    #P$  !0!   I 0  2@$ %@ !a
 M!C 0  < $  (D!  "5 0  #@(  !T" S @ . (  $8"  !5 @ <0( a

How do I use FDSEND?
--------------------
Simply select SEND from the menu and you will be prompted 
to select the filename from a list.  You can press F1 to 
change drives.

In order to ensure that FDSEND does not send messages to 
the wrong address, FDSEND does not accept fidonet style 
addresses. You must enter the last name of the person to 
whom you are sending a message.

FDSEND will then search the FD userlist indexes and display 
a list of all names that match.  For example, if you enter 
the name MCDANIEL, using the current nodelist you'd find 
two matches:  SAM and JIM. If you entered  MCDANIEL JA 
instead, you'd only get the one match.

Also, since FDSEND send binaries, it is suggested that ANY 
binary be compressed and the compressed version be sent to 
conserve network usage as much as possible.

Also note that FDSEND generated messages have the 
hold_for_pickup flag set.  You MUST select to send the 
messages directly OR turn the hold flag OFF.  The local bit 
is set to prevent *behaved* importers from importing FDSEND 
messages.

FDSEND recognizes 4 command line arguments:

    /M  to run in monochrome mode
    /K  to KILL (erase) .MSG files as encoded messages are   
        extracted
    /F  to FORCE scanning ALL .msg files for FDSEND          
        messages. Ordinarily, FDRECV will not extract files  
        that YOU have created to send out. If you use the  
        /F option, FDRECV won't care who sent what.
    /C  to process the encoded message line by line and add  
        a CRLF after each line (necessary for use with       
        TosScan.).

Each of these arguments can be changed from the menu option  
RECEIVE/CHANGE.

File Encryption
---------------
FDSEND also provides the ability to password protect 
encoded files. Each time you select a file to FDSEND, you 
will be prompted for a password to protect that file. If 
you don't want to encrypt the selected file, simply press 
[ENTER] without entering a password.

If you *DO* enter a password, only FDSEND can be used to 
decode the file (FDRECV can't be used) and the receiver 
must enter the EXACT same password or the file will not be 
decoded correctly.

File encryption is intended for use ONLY in private 
networks  and should not be used with public-only networks 
such as FidoNet.

How do I decode FDSEND messages?
--------------------------------
FDRECV scans incoming netmail and extracts any FDSEND 
encoded files to their original forms while ALSO creating 
uue files. FDRECV will not overwrite existing files!  If a 
file exists in the current area having the same name as the 
binary file being extracted by FDRECV, FDRECV will rename 
the last letter of the filename.  For example, if someone 
sends you a copy of the FDSEND.pak file and you already 
have a copy, FDRECV will extract the file as FDSEND.PA0.

FDRECV recognizes one argument:

    /K  This argument will cause FDRECV to KILL the .msg     
        files after extraction.

By default, FDRECV does not kill (erase) .msg files from 
which it has extracted .UUE files. If you import netmail 
into your bbs, you'll want to erase them or move them from 
the reaches of your importer.

FDRECV recognizes 4 command line arguments:

    /?  to display a help screen
    /K  to KILL (erase) .MSG files as encoded messages are   
         extracted
    /F  to FORCE scanning ALL .msg files for FDSEND          
        messages
    /C  to process the encoded message line by line and add  
        a CRLF after each line.

Ordinarily, FDRECV will not extract files that YOU have 
created to send out. If you use the /F option, FDRECV won't 
care who sent what.

The last option was added because some mail handlers or 
tossers manipulate the body of a message in such a way that 
UUD cannot function. UUD expects a hard return (CRLF) after 
every line in the .uue file. If your mailer extracts the LF 
from the CRLF, run FDRECV with this option. You will know 
if this is a problem with your system if UUD is unable to 
decode the .uue files produced by FDRECV.
