FIDOGATE Part 1/6
Martin Junius
mj at dfv.rwth-aachen.de
Mon Jan 28 20:15:52 AEST 1991
This is FIDOGATE, a Gateway between the worlds of FIDO NetMail/EchoMail
and UNIX mail/news. It is capable of converting FIDO mail packets to
RFC822 messages and vice versa. It does _not_ include a FIDO mailer.
The software is based on rfmail 0.3.3, which came over the net one or
two years ago. Since about one year by now I've been working on it and
using it as a gateway between my FIDO node 2:242/6 and my XENIX machine,
which is connected via UUCP to mail/news.
It is still in a very experimental state and may need some modifications
when porting to a system other then XENIX (especially BSD-UNIX). But
because some people have asked for it, I'm posting it to alt.sources to
share it with you.
As mentioned above, the FIDO mailer fcall, as included in the original
version, is not supported. fcall only supported Diet-IFNA (no WaZOO),
so IMO it isn't usable at all. Christian Seyb (root at gold.doit.sub.org)
has worked on an improved version of fcall, which is WaZOO capable.
Contact him for further information.
Flames >/dev/null
Improvements, suggestions etc. >mail mj at dfv.rwth-aachen.de
Martin
---- Cut Here and feed the following to sh ----
#!/bin/sh
# This is a shell archive (produced by shar 3.49)
# To extract the files from this archive, save it to a file, remove
# everything above the "!/bin/sh" line above, and type "sh file_name".
#
# made 01/28/1991 08:06 UTC by mj at hippo
# Source directory /u/mj/mail+news/fidogate
#
# existing files will NOT be overwritten unless -c is specified
#
# This shar contains:
# length mode name
# ------ ---------- ------------------------------------------
# 1370 -rw-r--r-- Version
# 49 -rw-r--r-- Version.id
# 3549 -rw-r--r-- README
# 2727 -rw-r--r-- HISTORY
# 7439 -rw-r--r-- INSTALL
# 874 -rw-r--r-- LICENCE
# 1716 -rw-r--r-- DOCU
# 333 -rw-r--r-- PROBLEMS
# 2482 -rw-r--r-- XENIX.mail
# 1409 -rw-r--r-- Alias
# 12545 -rw-r--r-- Areas
# 5739 -rw-r--r-- Makefile
# 13426 -rw-r--r-- getdate.y
# 1655 -rwxr-xr-x frecv
# 7068 -rw-r--r-- config.h
# 2561 -rw-r--r-- packet.h
# 1637 -rw-r--r-- shuffle.h
# 1760 -rw-r--r-- sysexits.h
# 3209 -rw-r--r-- nodelist.h
# 4281 -rw-r--r-- fidogate.h
# 34750 -rw-r--r-- rfmail.c
# 15826 -rw-r--r-- funcs.c
# 13476 -rw-r--r-- rmail.c
# 10480 -rw-r--r-- fpack.c
# 32138 -rw-r--r-- funpack.c
# 17722 -rw-r--r-- nodelist.c
# 1592 -rw-r--r-- gethost.c
# 9474 -rw-r--r-- address.c
# 1670 -rw-r--r-- sprintfs.c
# 1919 -rw-r--r-- strempty.c
# 1474 -rw-r--r-- listscan.c
# 2067 -rw-r--r-- xalloc.c
# 1206 -rw-r--r-- msgidseq.c
#
# ============= Version ==============
if test -f 'Version' -a X"$1" != X"-c"; then
echo 'x - skipping Version (File already exists)'
else
echo 'x - extracting Version (Text)'
sed 's/^X//' << 'SHAR_EOF' > 'Version' &&
This is FIDOGATE version 2.1
X
Versions of FIDOGATE files:
X
X Id: Alias,v 1.3 91/01/26 13:27:04 mj Exp
X Id: Areas,v 1.4 90/11/23 21:51:07 mj Exp
X Id: INSTALL,v 1.1 91/01/26 15:36:52 mj Exp
X Id: Makefile,v 1.9 91/01/26 15:36:59 mj Exp
X Id: README,v 1.1 91/01/26 15:37:14 mj Exp
X Id: Version.id,v 2.1 91/01/26 15:37:26 mj Exp
X Id: address.c,v 1.11 90/12/13 20:04:41 mj Exp
X Id: config.h,v 1.14 91/01/05 13:05:29 mj Exp
X Id: fidogate.h,v 1.8 90/12/02 21:21:47 mj Exp
X Id: fpack.c,v 2.2 90/12/09 18:35:27 mj Exp
X Id: frecv,v 1.3 90/12/09 17:33:17 mj Exp
X Id: funcs.c,v 1.7 90/12/02 21:21:57 mj Exp
X Id: funpack.c,v 2.12 91/01/26 13:27:37 mj Exp
X Id: gethost.c,v 1.2 90/12/02 21:22:08 mj Exp
X Id: listscan.c,v 1.2 90/12/02 21:22:09 mj Exp
X Id: msgidseq.c,v 1.1 90/11/05 20:50:47 mj Exp
X Id: nodelist.c,v 1.8 90/12/13 20:05:57 mj Exp
X Id: nodelist.h,v 1.2 90/12/02 21:22:18 mj Exp
X Id: packet.h,v 1.3 90/12/09 18:36:16 mj Exp
X Id: rfmail.c,v 2.18 91/01/05 13:07:34 mj Exp
X Id: rmail.c,v 1.9 91/01/05 13:08:58 mj Exp
X Id: shuffle.h,v 1.3 90/12/02 21:22:39 mj Exp
X Id: sprintfs.c,v 1.2 90/12/02 21:22:41 mj Exp
X Id: strempty.c,v 1.2 90/12/02 21:22:42 mj Exp
X Id: sysexits.h,v 1.2 90/12/02 21:22:44 mj Exp
X Id: xalloc.c,v 1.4 90/11/05 20:51:14 mj Exp
SHAR_EOF
chmod 0644 Version ||
echo 'restore of Version failed'
Wc_c="`wc -c < 'Version'`"
test 1370 -eq "$Wc_c" ||
echo 'Version: original size 1370, current size' "$Wc_c"
fi
# ============= Version.id ==============
if test -f 'Version.id' -a X"$1" != X"-c"; then
echo 'x - skipping Version.id (File already exists)'
else
echo 'x - extracting Version.id (Text)'
sed 's/^X//' << 'SHAR_EOF' > 'Version.id' &&
$Id: Version.id,v 2.1 91/01/26 15:37:26 mj Exp $
SHAR_EOF
chmod 0644 Version.id ||
echo 'restore of Version.id failed'
Wc_c="`wc -c < 'Version.id'`"
test 49 -eq "$Wc_c" ||
echo 'Version.id: original size 49, current size' "$Wc_c"
fi
# ============= README ==============
if test -f 'README' -a X"$1" != X"-c"; then
echo 'x - skipping README (File already exists)'
else
echo 'x - extracting README (Text)'
sed 's/^X//' << 'SHAR_EOF' > 'README' &&
-:ts=8------------------------------------------------------------------------
$Id: README,v 1.1 91/01/26 15:37:14 mj Exp $
------------------------------------------------------------------------------
X
X F I D O G A T E
X ----
X Gateway Software UNIX <-> FIDO
X
X
X General Information
X
------------------------------------------------------------------------------
X
This is FIDOGATE, a gateway software between the worlds of FIDONET and the
UNIX mail/news system. FIDOGATE will convert FIDO mail packets to RFC822-style
messages and vice versa.
X
Requirements for FIDOGATE:
X
X o Something that gets you FIDONET mail.
X The original version of this software included fcall, a very base
X FIDONET mailer. Because fcall was only capable of FTS-0001 handshake
X (doesn't support YooHoo / WaZOO) and I'm not using a FIDO mailer on
X the UNIX system at all, the sources for fcall have been deleted from
X this distribution. Lately I got a modified version of rfmail 0.3.6
X from Christian Seyb (root at gold.doit.sub.org), which includes also a
X WaZOO capable fcall. So if you desperately want a FIDO mailer try this
X one, it's available for FRequest at 2:242/6 (RFMAILCS.TAZ, 180K, HST/V.32).
X Otherwise I recommend using a UNIX version BinkleyTerm, which should
X be there (at least corresponding to `Latest Version' in FIDO News).
X
X o Installed news system. (BNews or CNews, I recommend the later one)
X
X o A mail user agent. (I use elm, but you can use mail, if it calls
X rmail to deliver mail)
X
Optional:
X
X o A domain based mail transport agent. (e.g. smail 3.1)
X
X
X
FIDOGATE basically consists of three programs:
X
X funpack unpacks FIDO mail packets in single RFC messages.
X
X frecv feeds output of funpack to rnews or rmail, also
X does some domain checking for the mail gateway.
X
X rfmail reads RFC messages and converts them into an intermediate
X formats suitable for FIDO.
X
X fpack packs these intermediate messages to a FIDO mail packet.
X
Further included is
X
X rmail a replacement for rmail. This one looks out for mail addressed
X to the FIDO domain and passes them to rfmail, other mail is
X handed over to the original version of rmail. It also does some
X rudimentary UUCP rerouting of domain addresses.
X (This program is for those people who don't have sendmail
X or smail.)
X
X msgidseq a message id number generator for the news system.
X
X
X
See file INSTALL for information about installing the software.
X
X
X
------------------------------------------------------------------------------
X
This stuff is a derived version of a posting to Usenet's alt.sources
some time ago. I rewrote much of the code and enhanced it in several
places, so it had changed a lot.
X
The original authors are:
X Teemu Torma wrote the first version.
X Heikki Suonsivu did some changes and improvements and posted version
X 0.3.3 to the net.
X EMail: FIDO 2:504/1
X ...!mcsun!santra!hsu
X HSU at FINGATE.BITNET
Also used is the getdate.y date/time parser written by
X Steven M. Bellovin (unc!smb).
X
X
$Date: 91/01/26 15:37:14 $, Martin Junius
--
X _____ _____
| |___ | Martin Junius FIDO: 2:242/6.1 2:242/6.0
| | | | | | Republikplatz 3 DOMAIN: mju at dfv.rwth-aachen.de
|_|_|_|_____| D-5100 Aachen Tel. (Voice) 0241-86931
SHAR_EOF
chmod 0644 README ||
echo 'restore of README failed'
Wc_c="`wc -c < 'README'`"
test 3549 -eq "$Wc_c" ||
echo 'README: original size 3549, current size' "$Wc_c"
fi
# ============= HISTORY ==============
if test -f 'HISTORY' -a X"$1" != X"-c"; then
echo 'x - skipping HISTORY (File already exists)'
else
echo 'x - extracting HISTORY (Text)'
sed 's/^X//' << 'SHAR_EOF' > 'HISTORY' &&
0.3.3
X
- WAITCLEAR.
- PREWAIT, WAITCLEAR, MAX_SEND_RETRIES. Makes it more configureable, though
configuration file would be far better for this kind of purpose.
X
- Fixed bugs in sealink, which caused transfers on bad lines
to stop with too many retries message.
X
- Fixed bug in funpack which could cause terminating too early. It was
a bug in get_string, which didn't read the terminating null char if
string was too long just equal to maximum length (someone had 35 char
name :-), and it read one null more, thought it had no subject, sent
subject as message body to mail and got something else than message magic (2),
and thought here is the end. Also now reports if it got something else
than 2, and stops then.
X
0.3.2
X
- Receiver is now Sealink capable (if that means just adding blocknum
and its complement after naks and acks?). It seems to work? I did it
because I had problems when communicating with Binkley, which says
'timeout' in long transfers, with no apparent reason, message appears
without any delay which could be the reason for such message? Maybe
this works better? Sender is not capable of Sealink, though it
wouldn't be difficult?
X
- Some minor changes.
X
0.3.1
X
- Line wrap now according to FSC-0001.TXT.
X
- rnews can be replaced by command in fnews.cf. This makes possible
forwarding sysop-echos and such restricted echos to selected users or
converting echos to mailing lists.
X
- 'of (node-specification)' will be now removed from name if it is
there and node-specification specified an existing node. This node-spec
will be saved and used if originator cannot be found for some reason
for reply-to path. Order to use is nodelist, orig in name, origin line
in message, echo feed.
X
- Zone support has gone giant step forward. For points I need more info,
ie where they are located in fidonet structures. There shouldn't be
net-node combinations anywhere, its all Node structures.
X
- Packet names have been changed to a very strange format, and files
are stored in in and out directories. Specially the name format may change
in future again, now its really strange.
X
- Special characters will be removed user names and scandinavian chars will
be converted to a and o. Neither conversion happens in usenet format
messages, but I'll work on it (news software may take care if it itself?).
X
- REMOVE_ID_IN_PARENTHESIS and SEARCH_NAME_IN_NODELIST are no more
options, they will be forced in this version.
X
- Some bug fixes.
X
- Maybe something else too but I dont remember what.
X
0.2.3
X
- Echomail origin, seenby and so on will be partially printed by
program, makes maintaining easier as admin doesn't need to change
node numbers in many places, and version number will be up to date.
X
- Some bugs fixed.
SHAR_EOF
chmod 0644 HISTORY ||
echo 'restore of HISTORY failed'
Wc_c="`wc -c < 'HISTORY'`"
test 2727 -eq "$Wc_c" ||
echo 'HISTORY: original size 2727, current size' "$Wc_c"
fi
# ============= INSTALL ==============
if test -f 'INSTALL' -a X"$1" != X"-c"; then
echo 'x - skipping INSTALL (File already exists)'
else
echo 'x - extracting INSTALL (Text)'
sed 's/^X//' << 'SHAR_EOF' > 'INSTALL' &&
-:ts=8------------------------------------------------------------------------
$Id: INSTALL,v 1.1 91/01/26 15:36:52 mj Exp $
------------------------------------------------------------------------------
X
X F I D O G A T E
X ----
X Gateway Software UNIX <-> FIDO
X
X
X Installation Instructions
X
------------------------------------------------------------------------------
X
1. Edit `config.h'
X
X FIDONET addresses
X o Your system:
X Change the REAL_{ZONE,REGION,NET,NODE,POINT} defines to your
X real FIDONET address, e.g. 2:242/6.1.
X Chnage the MY_{ZONE,REGION,NET,NODE,POINT} defines to your
X fake address, if you're a point system, e.g. 2:6000/1. Must
X be the same as REAL_* for a FIDO node.
X Define MY_NAME as the name of your FIDO system (max. 19 chars).
X o Other systems:
X Change the REM_{ZONE,REGION,NET,NODE,POINT} defines to the
X FIDONET address, where mail packets are send to (Default for
X fpack). Put bossnode here for point systems.
X Define ECHOFEED_{NET,NODE} as the address of your FIDO
X EchoMail feed, i.e. bossnode for point systems.
X
X UNIX addresses
X o Your system:
X Define MY_HOSTNAME as the UNIX hostname of your system.
X (Same as UUCP hostname)
X Define MY_DOMAIN as the address domain of your system, e.g.
X ".uucp".
X o Other systems:
X Change UUCPFEED to the name of the UUCP system you want mail
X to be routed to. Change UUCPFEED_DOMAIN to the domain of this
X system. (Both definitions are used by the rmail replacement.)
X o FIDO domain:
X Change FIDODOMAIN to the domain you want to use for FIDO
X domain addresses. (".fidonet.org" is the standard)
X
X Directories:
X Edit the defines of spool and lib directories to meet your
X taste, e.g. replace "/u/spool/fidonet" with "/usr/spool/fido"
X or whatever you want. (SPOOL ... AREAS)
X
X Mail/News programs:
X Change RFMAIL to the full path of the FIDOGATE rfmail program,
X normally "LIBDIR/rfmail".
X Change RNEWS to the full path of the news receiver, normally
X "/usr/bin/rnews".
X Change RMAIL to the full path of the mail receiver, normally
X "/usr/bin/rmail" or "/bin/rmail". (This may be the installed
X replacement)
X If you want to install the rmail replacement, change RECVMAIL
X to the full path of the real mail receiver, normally
X "/usr/bin/ormail" (the renamed original rmail) or
X "/usr/lib/mail/execmail" for XENIX (done automatically in
X rmail.c).
X Define RETURN_FAILED_MAIL if you want rfmail to return
X undeliverable FIDO mail.
X
X System dependencies:
X Define USG if you're running a System V UNIX, or BSD if you're
X UNIX is more BSDish. (BSD not tested yet.)
X Define LOCK_LOCKF if file locking is done via the lockf() call,
X else locking() will be used.
X
X The following defines are parameters for fcall, leave them alone!
X
X
X
2. Edit `Makefile'
X
X Directories:
X Change NEWSBINDIR to the directory, where the inews related
X programs are found (CNews' anne.jones etc.). Used for the
X installation of msgidseq.
X Change LIBDIR to the directory, where you want to put the
X FIDOGATE executables.
X Change SPOOLDIR to the top level spool directory. (Must be
X the same as in config.h!)
X Change RMAILDIR to the directory, where rmail is to be found
X (normally "/usr/bin").
X
X Owner/Group:
X Change OWNER/GROUP to the user/group id for the FIDOGATE
X directories and files. (Normally `news')
X
X Compiler:
X Change CC to your C compiler (or comment it out).
X Change CFLAGS and LDFLAGS to the compilation/linking
X flags (e.g. `-g' for debug information).
X Change LIBS to the libraries to link with. (e.g. XENIX
X needs -lx)
X
X
X
3. Edit `frecv'
X
X Change the define of SPOOL and the address matching patterns to
X be sufficient for your system. SPOOL must be the same as in
X config.h and Makefile.
X
X
X
4. Here we go ...
X
X Main installation:
X Compile the beast by entering
X make
X If everything works, you can continue the installation. Log in
X as super user and enter
X make install.dirs
X This will create the necessary working directories for the
X FIDOGATE software. Now type
X make install
X to copy the programs to the appropiate directories.
X
X rmail installation:
X Type
X make install.rmail
X to install the replacement for rmail. This will move the
X original version of rmail to `ormail' and install the
X replacement as the systems rmail command.
X
X msgidseq installation:
X Type
X make install.msgidseq
X to install the message id number sequencer in the news
X inject directory. This program will enable the FIDOGATE
X software to use the RFC `Message-Id:' in FIDO `^AMSGID'
X kludges. You also must edit `anne.jones' (CNews) or
X similar to use msgidseq for id generation:
X
*** /u/lib/newsbin/inject/anne.jones.ori Sat Aug 18 15:51:02 1990
--- /u/lib/newsbin/inject/anne.jones Sat Aug 18 16:06:44 1990
***************
*** 117,120 ****
X defpath="$badsites$USER" \
X deffrom="$FROM" deforg="$deforg" \
X defdate="` set $date; echo $1, $3 $2 \` echo $6 | sed 's/^..//' \` $4 $5`" \
! defmsgid="`set $date; echo \<$6$2$3.\` echo $4 | tr -d : \`.$$@$host\>`" -
--- 117,124 ----
X defpath="$badsites$USER" \
X deffrom="$FROM" deforg="$deforg" \
X defdate="` set $date; echo $1, $3 $2 \` echo $6 | sed 's/^..//' \` $4 $5`" \
! defmsgid="`echo \<\`msgidseq\`@$host\>`" -
! #
! # defmsgid changed for FIDO gateway software
! # Original version:
! # defmsgid="`set $date; echo \<$6$2$3.\` echo $4 | tr -d : \`.$$@$host\>`" -
X
X
X
5. News forwarding
X
X Put something similar to
X
# export to fidonet
f1.n6000.z2.fidonet.org:all/fidonet::/u/lib/fidonet/rfmail -n
X
X in your news `sys' file (CNews) to forward locally created postings
X to the FIDONET receiver rfmail. The FIDONET address must be identical
X to the one generated by funpack in the `Path' header.
X
X
X
6. Areas/Alias
X
X Edit the file Areas for the newsgroup <-> EchoMail area conversion,
X change the entries for your favorite newsgroups/areas and distribution.
X Also edit the file Alias, which is used for conversion between
X UNIX user names and FIDO real names.
X If done, copy these files to the FIDOGATE lib directory (e.g.
X "/u/lib/fidonet".
X
X
X
7. Testing
X
X Copy a FIDO mail packet addressed to your system into the directory
X SPOOL/in, then execute LIBDIR/funpack as user news. You should get
X the unpacked messages in SPOOL/unpacked: M.* for mail and N.* for
X news. Execute LIBDIR/frecv to feed them to rmail or rnews.
X
X Post a message to a FIDO linked newsgroup. You should find the
X FIDO message in directory SPOOL as M.*. Execute fpack as user news
X to create a FIDO mail packet in SPOOL/out.
X
X
X
8. Connecting with FIDO
X
X At the current state, FIDOGATE isn't able to act as a mailer, so
X you have to transfer FIDO mail to and from the UNIX system by some
X other means.
X
X The solution I'm using is a seperate PC running DOS and BinkleyTerm
X as a mailer. Currently the PC is a real FIDO node, online 24 hours
X a day, but in former times I've used it in a dual point setup. FIDO
X mail packets for the UNIX system are packed at the PC and transferred
X via a direct serial line to and from the UNIX machine. This is done
X on a time schedule driven by BinkleyTerm.
X
X
X
$Date: 91/01/26 15:36:52 $, Martin Junius
--
X _____ _____
| |___ | Martin Junius FIDO: 2:242/6.1 2:242/6.0
| | | | | | Republikplatz 3 DOMAIN: mju at dfv.rwth-aachen.de
|_|_|_|_____| D-5100 Aachen Tel. (Voice) 0241-86931
SHAR_EOF
chmod 0644 INSTALL ||
echo 'restore of INSTALL failed'
Wc_c="`wc -c < 'INSTALL'`"
test 7439 -eq "$Wc_c" ||
echo 'INSTALL: original size 7439, current size' "$Wc_c"
fi
# ============= LICENCE ==============
if test -f 'LICENCE' -a X"$1" != X"-c"; then
echo 'x - skipping LICENCE (File already exists)'
else
echo 'x - extracting LICENCE (Text)'
sed 's/^X//' << 'SHAR_EOF' > 'LICENCE' &&
If there is a COPYRIGHT file also, check it out.
X
I have used getdate.y and ftime.c from news package, thanks for Steven
M. Bellovin (unc!smb) and Chapel Hill. I hope they don't mind even
though I didn't ask for it!
X
-------------------------------------------------------------------------
This software should be used in friendly and lawful manner!
X
If using this in Finland, I personally recommend joining network 504.
X
You may not sell this software, you must give it free! Idea is to keep
this and all derived versions as free and source-distributed.
X
We take absolutely no responsibility on any trouble caused by using this,
so you are on your own risk if you use this.
X
Comments, new features and bug fixes can be sent to hsu at clinet,
hsu at santra, 2:504/1, 2:504/7, ...!mcvax!santra!hsu, HSU at FINGATE.BITNET
Heikki Suonsivu / Kuutamokatu 5 A 7 / 02210 Espoo / FINLAND
X
X
SHAR_EOF
chmod 0644 LICENCE ||
echo 'restore of LICENCE failed'
Wc_c="`wc -c < 'LICENCE'`"
test 874 -eq "$Wc_c" ||
echo 'LICENCE: original size 874, current size' "$Wc_c"
fi
# ============= DOCU ==============
if test -f 'DOCU' -a X"$1" != X"-c"; then
echo 'x - skipping DOCU (File already exists)'
else
echo 'x - extracting DOCU (Text)'
sed 's/^X//' << 'SHAR_EOF' > 'DOCU' &&
This file describes briefly, how the fidogate software must be
put to work.
X
Sat Sep 15 19:26:36 MEST 1990 / Martin Junius
X
--------------------------------------------------------------
X
Directories:
X
X Main spool directory SPOOL (/u/spool/fidonet)
X ./ M.* packets generated by rfmail
X in/ incoming mail packets
X out/ outgoing mail packets
X unpacked/ unpacked messages
X bad/ messages rejected by rmail or rnews
X
X Lib directory LIBDIR (/u/lib/fidonet)
X Alias aliases fido <-> unix user names
X Areas newsgroup <-> echo mail area
X fnews.cf echo mail config file
X idseq message-id sequence file
X seq mail message-id sequence file
X msgidseq news message id sequence file
X log error messages
X
X
--------------------------------------------------------------
X
FIDO mail --> news | mail
X
X - fido mail packet must be in SPOOL/in (any name)
X - program FUNPACK splits this packet into single
X messages (either mail or news) in SPOOL/unpacked
X - program FRECV feeds these messages to either
X rmail or rnews
X
X
news ---> FIDO echo mail
X
X - relaynews (CNews) calls rfmail -n with the article
X as standard input. Put a line similar to the
X following in news sys file:
X
X fidonet:all/all:L:/u/lib/fidonet/rfmail -n
X
X rfmail creates a spool file in SPOOL.
X
X - fpack creates a outbound packet in SPOOL/out
X
X
mail --> FIDO mail
X
X - mail or similar program calls rmail, which
X passes the message to the real rmail (mail
X for unix) or to rfmail (mail for FIDO).
X - same as above
SHAR_EOF
chmod 0644 DOCU ||
echo 'restore of DOCU failed'
Wc_c="`wc -c < 'DOCU'`"
test 1716 -eq "$Wc_c" ||
echo 'DOCU: original size 1716, current size' "$Wc_c"
fi
# ============= PROBLEMS ==============
if test -f 'PROBLEMS' -a X"$1" != X"-c"; then
echo 'x - skipping PROBLEMS (File already exists)'
else
echo 'x - extracting PROBLEMS (Text)'
sed 's/^X//' << 'SHAR_EOF' > 'PROBLEMS' &&
Users in fidonet are allowed to enter private messages in echos,
which causes trouble, how to handle those messages?
X
Packet name can be longer than maximum filename length in system V,
could there be some really fancy idea of creating names or just make
them fido compatible, though that doesn't show zone and point in
packet name?
SHAR_EOF
chmod 0644 PROBLEMS ||
echo 'restore of PROBLEMS failed'
Wc_c="`wc -c < 'PROBLEMS'`"
test 333 -eq "$Wc_c" ||
echo 'PROBLEMS: original size 333, current size' "$Wc_c"
fi
# ============= XENIX.mail ==============
if test -f 'XENIX.mail' -a X"$1" != X"-c"; then
echo 'x - skipping XENIX.mail (File already exists)'
else
echo 'x - extracting XENIX.mail (Text)'
sed 's/^X//' << 'SHAR_EOF' > 'XENIX.mail' &&
XFrom: chip at tct.uucp (Chip Salzenberg)
Newsgroups: comp.mail.uucp,comp.unix.xenix
Subject: Re: Xenix Mail
Keywords: Xenix, Mail, Tandy
Date: 26 Jun 90 17:35:18 GMT
Organization: ComDev/TCT, Sarasota, FL
X
According to nanook at rwing.UUCP (Robert Dinse):
>I have a Tandy 6000 running Tandy's bizzare version of Xenix 3.02.00.
>I would appreciate any help in understanding how mail works on this system,
>specifically, how the various componenets, mail.local, execmail, main.mn,
>daemon.mn, and /bin/mail itself all devide the labor of delivering mail.
X
Okay, here's the rundown. Note that this description is based on SCO
XXenix 2.2 and 2.3; your milage may vary.
X
/usr/bin/mail: A user agent, aka user interface, with delusions of
X being a transfer agent. It should just show you mail and let
X execmail handle delivery. However, unless you say "set
X execmail" in the file "/usr/lib/mail/mailrc", it likes to
X deliver local mail on its own. Unfortunately, it thinks that
X everything without a bang or a colon is local.
X
/usr/bin/rmail: Itty bitty program that runs execmail. Invoked only
X for incoming mail from your UUCP neighbors; not something
X you'd run yourself. It may be smart enough to run uux
X directly; I don't know. Smail 2.5 and 3.1 replace rmail with
X a link to smail.
X
/usr/lib/mail/execmail: The brains [sic] of the outfit. The central
X part of the Xenix mail transport system. Execmail does
X aliasing, and then runs one of mail.local, mail.cln or uux to
X do the dirty work. Parameters include -m (me too on aliases),
X -n (no aliasing), -r (remote?), -h # (max UUCP hop count) and
X -f user (who the message is supposed to be from).
X
/usr/lib/mail/mail.local: Delivery of local mail. I *think* it also
X understands UUCP addresses, but don't quote me on that. My
X Deliver program is a plug-in replacement for mail.local.
X (I suppose that this rates as a plug-in plug. :-))
X Parameters include -r user (who the message is supposed to be
X from -- yes, that's "-r").
X
/usr/lib/mail/mail.cln: Deliver of Micnet or other network mail, i.e.
X mail with a CoLoN in the address. No details here, except
X that the parameters "-h 0 'targethost' 'sender' 'recipient'"
X seem to work for me on Micnet. (Gads, I hate Micnet.)
X
> I have smail and am trying to figure out how to interface it properly
>with this version of Xenix.
X
I'll E-Mail my Xenix patches; that should fix you right up.
X
--
Chip, the new t.b answer man <chip at tct.uucp>, <uunet!ateng!tct!chip>
X
X
SHAR_EOF
chmod 0644 XENIX.mail ||
echo 'restore of XENIX.mail failed'
Wc_c="`wc -c < 'XENIX.mail'`"
test 2482 -eq "$Wc_c" ||
echo 'XENIX.mail: original size 2482, current size' "$Wc_c"
fi
# ============= Alias ==============
if test -f 'Alias' -a X"$1" != X"-c"; then
echo 'x - skipping Alias (File already exists)'
else
echo 'x - extracting Alias (Text)'
sed 's/^X//' << 'SHAR_EOF' > 'Alias' &&
#
# $Id: Alias,v 1.3 91/01/26 13:27:04 mj Exp $
#
# File for aliases.
#
# Each line contains alias-name, followed by optional net/node information.
# If alias is followed by net/node information, alias is used only if
# mail is going to that net/node. There may be more than one net/node
# specification for one alias, in that case they are separated by commas.
#
# If net is missing from net/node specification, e.g. net/node is only
# single number, node is to be considered on our net. If node is missing,
# e.g. it is empty string, all nodes in that net are valid.
#
# First alias found will be used, so if there are aliases with same name,
# that alias that doesn't have net/node limits or has wider limits that
# some other alias, should ba after later alias.
#
#
# username,net/node real name
# ----------------- ---------
mj,6000/ Martin Junius
mj,242/ Martin Junius
sub,6000/ Susanne Bueter
sub,242/ Susanne Bueter
mj,6000/1 Sysop
leo,242/2 Leo Moll
jan,242/2 Jan Egner
X
dec at dfv.rwth-aachen.de,6000/1 Peter Decker
stefanb at informatik.rwth-aachen.de,6000/1 Stefan Becker
SHAR_EOF
chmod 0644 Alias ||
echo 'restore of Alias failed'
Wc_c="`wc -c < 'Alias'`"
test 1409 -eq "$Wc_c" ||
echo 'Alias: original size 1409, current size' "$Wc_c"
fi
# ============= Areas ==============
if test -f 'Areas' -a X"$1" != X"-c"; then
echo 'x - skipping Areas (File already exists)'
else
echo 'x - extracting Areas (Text)'
sed 's/^X//' << 'SHAR_EOF' > 'Areas' &&
#
# $Id: Areas,v 1.4 90/11/23 21:51:07 mj Exp $
#
# Echomail <-> newsgroup conversions.
#
# area newsgroup distribution flags
# ------------ ---------------------- ------------ --------------
24000.GER fidonet.net24000.ger fidonet accept-private
386.GER fidonet.i386.ger fidonet accept-private
4DOS fidonet.p4dos fidonet accept-private
ACAD.CH fidonet.acad.ch fidonet accept-private
AIDS/ARC fidonet.aids_arc fidonet accept-private
AMIGA fidonet.amiga fidonet accept-private
AMIGA.GER fidonet.amiga.ger fidonet accept-private
AMY_POINT fidonet.amy_point fidonet accept-private
ANTIFA.GER fidonet.antifa.ger fidonet accept-private
ASIAN_LINK fidonet.asian_link fidonet accept-private
ASTRONOMIE.GER fidonet.astronomie.ger fidonet accept-private
ATARI.GER fidonet.atari.ger fidonet accept-private
ATARIST fidonet.atarist fidonet accept-private
AUTOCAD fidonet.autocad fidonet accept-private
AVIATION.GER fidonet.aviation.ger fidonet accept-private
BASAR fidonet.basar.ger fidonet accept-private
BASTELECKE_IBM fidonet.bastelecke_ibm fidonet accept-private
BATPOWER fidonet.batpower fidonet accept-private
BERLIN fidonet.berlin fidonet accept-private
BINKLEY fidonet.binkley fidonet accept-private
BINKLEY.GER fidonet.binkley.ger fidonet accept-private
BITRIS.GER fidonet.bitris.ger fidonet accept-private
BNU fidonet.bnu fidonet accept-private
BOERSE.GER fidonet.boerse.ger fidonet accept-private
BOOK.GER fidonet.book.ger fidonet accept-private
BTX.GER fidonet.btx.ger fidonet accept-private
CCC.GER fidonet.ccc.ger fidonet accept-private
CDROM fidonet.cdrom fidonet accept-private
CHAMELEON fidonet.chameleon fidonet accept-private
CHAUVI.GER fidonet.chauvi.ger fidonet accept-private
CLIPPER fidonet.clipper fidonet accept-private
CLIPPER.GER fidonet.clipper.ger fidonet accept-private
CLONE fidonet.clone fidonet accept-private
COMMS fidonet.comms fidonet accept-private
COMMS.GER fidonet.comms.ger fidonet accept-private
COOKING fidonet.cooking fidonet accept-private
CPM.GER fidonet.cpm.ger fidonet accept-private
CXL fidonet.cxl fidonet accept-private
CYBERSPACE.GER fidonet.cyberspace.ger fidonet accept-private
C_ECHO fidonet.c_echo fidonet accept-private
C_ECHO.GER fidonet.c_echo.ger fidonet accept-private
C_PLUSPLUS fidonet.c_plusplus fidonet accept-private
C_PLUSPLUS.GER fidonet.c_plusplus.ger fidonet accept-private
DARC.GER fidonet.darc.ger fidonet accept-private
DBASE fidonet.dbase fidonet accept-private
DBASE.GER fidonet.dbase.ger fidonet accept-private
DBRIDGE fidonet.dbridge fidonet accept-private
DBRIDGE.GER fidonet.dbridge.ger fidonet accept-private
DECONONET fidonet.decononet fidonet accept-private
DEMOCRACY fidonet.democracy fidonet accept-private
DESQVIEW fidonet.desqview fidonet accept-private
DEUTSCH fidonet.deutsch fidonet accept-private
DIRTY_DOZEN fidonet.dirty_dozen fidonet accept-private
DR_DEBUG fidonet.dr_debug fidonet accept-private
EBBAUSER.GER fidonet.ebbauser.ger fidonet accept-private
ECHOPOL fidonet.echopol fidonet accept-private
EECH fidonet.eech fidonet accept-private
EMBBS fidonet.embbs fidonet accept-private
ENET.SOFT fidonet.enet.soft fidonet accept-private
ENET.SYSOP fidonet.enet.sysop fidonet accept-private
EURO4 fidonet.euro4 fidonet accept-private
EUROPUS fidonet.europus fidonet accept-private
FDECHO fidonet.fdecho fidonet accept-private
FDECHO.GER fidonet.fdecho.ger fidonet accept-private
FIDOGUIDE fidonet.fidoguide fidonet accept-private
FIDOGUIDE.GER fidonet.fidoguide.ger fidonet accept-private
FLEA.GER fidonet.flea.ger fidonet accept-private
FN_SYSOP fidonet.fn_sysop fidonet accept-private
FRANCENET fidonet.francenet fidonet accept-private
FRAUEN.GER fidonet.frauen.ger fidonet accept-private
FTSC fidonet.ftsc fidonet accept-private
GAMING fidonet.gaming fidonet accept-private
GATEWAYS.GER fidonet.gateways.ger fidonet accept-private
GAY.GER fidonet.gay.ger fidonet accept-private
GENEALOGY.EUR fidonet.genealogy.eur fidonet accept-private
GREEN.029 fidonet.green.n029 fidonet accept-private
GREENP.GER fidonet.greenp.ger fidonet accept-private
HARDWARE.GER fidonet.hardware.ger fidonet accept-private
HDCONF fidonet.hdconf fidonet accept-private
HST fidonet.hst fidonet accept-private
HST.GER fidonet.hst.ger fidonet accept-private
HS_MODEMS fidonet.hs_modems fidonet accept-private
IBM fidonet.ibm fidonet accept-private
IBM.GER fidonet.ibm.ger fidonet accept-private
INTERCOOK fidonet.intercook fidonet accept-private
INTERNAT.EUR fidonet.internat.eur fidonet accept-private
INTERUSER fidonet.interuser fidonet accept-private
INTL.QL fidonet.intl.ql fidonet accept-private
JOKES.GER fidonet.jokes.ger fidonet accept-private
KIRCHE.GER fidonet.kirche.ger fidonet accept-private
KOMMERZ.GER fidonet.kommerz.ger fidonet accept-private
LADIES.GER fidonet.ladies.ger fidonet accept-private
LAN fidonet.lan fidonet accept-private
LAN.GER fidonet.lan.ger fidonet accept-private
M2AMIGA.AUS fidonet.m2amiga.aus fidonet accept-private
MACDEV fidonet.macdev fidonet accept-private
MAGIE.GER fidonet.magie.ger fidonet accept-private
MAINFRAME fidonet.mainframe fidonet accept-private
MAUSGAMES fidonet.mausgames fidonet accept-private
MAUSMATHE fidonet.mausmathe fidonet accept-private
MEADOW fidonet.meadow fidonet accept-private
MIDI.GER fidonet.midi.ger fidonet accept-private
MINIX.GER fidonet.minix.ger fidonet accept-private
MITFAHR.GER fidonet.mitfahr.ger fidonet accept-private
MODERATOR.GER fidonet.moderator.ger fidonet accept-private
MODULA-2.GER fidonet.modula-2.ger fidonet accept-private
MOVIE.GER fidonet.movie.ger fidonet accept-private
MSGED_ECHO fidonet.msged_echo fidonet accept-private
MTASK fidonet.mtask fidonet accept-private
MUSIC fidonet.music fidonet accept-private
MUSIK.GER fidonet.musik.ger fidonet accept-private
NET_DEV fidonet.net_dev fidonet accept-private
NET_DEV.GER fidonet.net_dev.ger fidonet accept-private
OECHER fidonet.oecher fidonet accept-private
OECHER.PRIV fidonet.oecher.priv fidonet accept-private
OS2.GER fidonet.os2.ger fidonet accept-private
OSTWEST fidonet.ostwest fidonet accept-private
PASCAL fidonet.pascal fidonet accept-private
PASCAL.GER fidonet.pascal.ger fidonet accept-private
PENPAL fidonet.penpal fidonet accept-private
PERSYS2 fidonet.persys2 fidonet accept-private
PGMRS fidonet.pgrms fidonet accept-private
PGMRS.GER fidonet.pgmrs.ger fidonet accept-private
PHILO.GER fidonet.philo.ger fidonet accept-private
PHOTO.GER fidonet.photo.ger fidonet accept-private
PINBALL.GER fidonet.pinball.ger fidonet accept-private
POINTS.242 fidonet.points.net242 fidonet accept-private
POINTS.AC fidonet.points.ac fidonet accept-private
POLITIK.GER fidonet.politik.ger fidonet accept-private
QUICKBBS fidonet.quickbbs fidonet accept-private
QUICKBBS.GER fidonet.quickbbs.ger fidonet accept-private
QUICKPRO fidonet.quickpro fidonet accept-private
RA.GER fidonet.ra.ger fidonet accept-private
RA_HELP.GER fidonet.ra_help.ger fidonet accept-private
RA_SUPPORT fidonet.ra_support fidonet accept-private
RA_UTIL fidonet.ra_util fidonet accept-private
RECHT.GER fidonet.recht.ger fidonet accept-private
REGCON.EUR fidonet.regcon.eur fidonet accept-private
REQUEST.GER fidonet.request.ger fidonet accept-private
RPG.GER fidonet.rpg.ger fidonet accept-private
SCHROTT fidonet.schrott fidonet accept-private
SOUNDKARTEN.GER fidonet.soundkarten.ger fidonet accept-private
SPIELE.GER fidonet.spiele.ger fidonet accept-private
ST_EMUL.GER fidonet.st_emul.ger fidonet accept-private
ST_FIDO.GER fidonet.st_fido.ger fidonet accept-private
SYSOP.242 fidonet.sysop.net242 fidonet accept-private
SYSOPS.GER fidonet.sysops.ger fidonet accept-private
TELIX fidonet.telix fidonet accept-private
TEST fidonet.test fidonet accept-private
TEX.GER fidonet.tex.ger fidonet accept-private
TPBOARD fidonet.tpboard fidonet accept-private
TRAPDOOR fidonet.trapdoor fidonet accept-private
UMWELT.GER fidonet.umwelt.ger fidonet accept-private
UNIX fidonet.unix fidonet accept-private
UNIX.GER fidonet.unix.ger fidonet accept-private
URTEILE.GER fidonet.urteile.ger fidonet accept-private
USA_EURLINK fidonet.usa_eurlink fidonet accept-private
VAX fidonet.vax fidonet accept-private
VIRUS fidonet.virus fidonet accept-private
WINDOWS fidonet.windows fidonet accept-private
WISSEN.GER fidonet.wissen.ger fidonet accept-private
YUPPIE.GER fidonet.yuppie.ger fidonet accept-private
SHAR_EOF
chmod 0644 Areas ||
echo 'restore of Areas failed'
Wc_c="`wc -c < 'Areas'`"
test 12545 -eq "$Wc_c" ||
echo 'Areas: original size 12545, current size' "$Wc_c"
fi
# ============= Makefile ==============
if test -f 'Makefile' -a X"$1" != X"-c"; then
echo 'x - skipping Makefile (File already exists)'
else
echo 'x - extracting Makefile (Text)'
sed 's/^X//' << 'SHAR_EOF' > 'Makefile' &&
#:ts=4
#
# $Id: Makefile,v 1.9 91/01/26 15:36:59 mj Exp $
#
# Makefile for fidogate software
#
#
SHELL = /bin/sh
X
#
# For installation ...
#
NEWSBINDIR = /u/lib/newsbin/inject
LIBDIR = /u/lib/fidonet
SPOOLDIR = /u/spool/fidonet
RMAILDIR = /usr/bin
X
SPOOLDIRS = bad in out sent unpacked
X
#LIBBINS = funpack fpack rfmail rfnews fcall frecv
#LIBBINS = funpack fpack rfmail rfnews frecv
LIBBINS = funpack fpack rfmail frecv
SETUIDBINS = rfmail
RMAILBIN = rmail
ORMAILBIN = ormail
X
OWNER = news
GROUP = news
X
CC = gcc
#CFLAGS = -g -DDEBUG
#LDFLAGS = -g
CFLAGS = -g
LDFLAGS = -g
X
#LIBS = -lPW -ldial
LIBS = -lx
X
X
FUNPACK = funpack.o funcs.o nodelist.o gethost.o address.o \
X getdate.o sprintfs.o listscan.o strempty.o xalloc.o
X
RMAIL = rmail.o address.o funcs.o sprintfs.o gethost.o\
X xalloc.o
X
RFMAIL = rfmail.o funcs.o nodelist.o gethost.o address.o getdate.o\
X sprintfs.o strempty.o xalloc.o
X
RFNEWS = rfnews.o funcs.o nodelist.o address.o sprintfs.o xalloc.o
X
FPACK = fpack.o funcs.o nodelist.o address.o sprintfs.o xalloc.o
X
MSGIDSEQ = msgidseq.o funcs.o sprintfs.o
X
CFILES = rfmail.c funcs.c rmail.c fpack.c funpack.c\
X nodelist.c gethost.c address.c sprintfs.c strempty.c\
X listscan.c xalloc.c msgidseq.c
X
HFILES = config.h packet.h shuffle.h sysexits.h nodelist.h fidogate.h
X
OTHERFILES = Version Version.id README HISTORY INSTALL LICENCE DOCU PROBLEMS XENIX.mail\
X Alias Areas Makefile getdate.y frecv
X
X
#ALL = funpack fcall fpack rfmail rfnews rmail msgidseq
#ALL = funpack fpack rfmail rfnews rmail msgidseq
ALL = funpack fpack rfmail rmail msgidseq frecv recvfido
X
X
all: ${ALL}
X
X
getdate.c: getdate.y
X @echo "expect 8 shift/reduce conflicts"
X yacc getdate.y
X mv y.tab.c getdate.c
X
getdate.o: getdate.c
X $(CC) -DUSG -c getdate.c
X
funpack: ${FUNPACK}
X $(CC) ${LDFLAGS} -o funpack ${FUNPACK} ${LIBS}
X
rfmail: ${RFMAIL}
X $(CC) ${LDFLAGS} -o rfmail ${RFMAIL} ${LIBS}
X
rfnews: ${RFNEWS}
X $(CC) ${LDFLAGS} -o rfnews ${RFNEWS} ${LIBS}
X
fpack: ${FPACK}
X $(CC) ${LDFLAGS} -o fpack ${FPACK} ${LIBS}
X
rmail: ${RMAIL}
X $(CC) ${LDFLAGS} -o rmail ${RMAIL} ${LIBS}
X
msgidseq: $(MSGIDSEQ)
X $(CC) $(LDFLAGS) -o msgidseq $(MSGIDSEQ) $(LIBS)
X
frecv: frecv.sh
X sed -e 's+??SPOOL??+$(SPOOLDIR)+' frecv.sh >frecv
X chmod +x frecv
X
recvfido: recvfido.sh
X sed -e 's+??SPOOL??+$(SPOOLDIR)+' recvfido.sh >recvfido
X chmod +x recvfido
X
X
install: $(LIBBINS)
X @for i in $(LIBBINS); do \
X echo "Installing $$i in $(LIBDIR)"; \
X cp $$i $(LIBDIR); \
X done
X @echo "Setting owner and group"
X @cd $(LIBDIR); chown $(OWNER) $(LIBBINS); chgrp $(GROUP) $(LIBBINS)
X @echo "Setting setuid bit for $(SETUIDBINS)"
X @cd $(LIBDIR); chmod u+s $(SETUIDBINS)
X
install.rmail: rmail
X @if [ ! -f $(RMAILDIR)/$(ORMAILBIN) ]; then \
X echo "Moving $(RMAILDIR)/$(RMAILBIN) to $(RMAILDIR)/$(ORMAILBIN)"; \
X mv $(RMAILDIR)/$(RMAILBIN) $(RMAILDIR)/$(ORMAILBIN); \
X fi
X @echo "Installing $(RMAILBIN) in $(RMAILDIR)"
X @cp $(RMAILBIN) $(RMAILDIR)
X
install.msgidseq: msgidseq
X @echo "Installing msgidseq in $(NEWSBINDIR)"
X @cp msgidseq $(NEWSBINDIR)
X @echo "Setting owner, group and setuid bit"
X @chown $(OWNER) $(NEWSBINDIR)/msgidseq
X @chgrp $(GROUP) $(NEWSBINDIR)/msgidseq
X @chmod u+s $(NEWSBINDIR)/msgidseq
X
install.dirs:
X @if [ ! -d $(SPOOLDIR) ]; then\
X echo "Creating $(SPOOLDIR)";\
X mkdir $(SPOOLDIR);\
X chown $(OWNER) $(SPOOLDIR);\
X chgrp $(GROUP) $(SPOOLDIR);\
X echo "Creating sub dirs $(SPOOLDIRS)";\
X cd $(SPOOLDIR);\
X mkdir $(SPOOLDIRS);\
X chown $(OWNER) $(SPOOLDIRS);\
X chgrp $(GROUP) $(SPOOLDIRS);\
X fi
X
tar:
X ver=`awk '{ print $$3 }' Version.id`;\
X dosver=`echo $$ver | sed -e 's/\.//'`;\
X tar cvf - $(OTHERFILES) $(HFILES) $(CFILES) | compress > fgate$${ver}.tar.Z;\
X ln fgate$${ver}.tar.Z fgate$${dosver}.taz
X
shar:
X shar -c -o fidogate -l 50 $(OTHERFILES) $(HFILES) $(CFILES)
X
X
Version:
X rm -f /tmp/Version.*
X cd RCS;\
X find . -name '*,v' -print | sed -e 's/,v$$//' >/tmp/Version.files
X for f in `cat /tmp/Version.files`; do\
X ident $$f | grep '$$Id:' >>/tmp/Version.ident;\
X done
X echo 'This is FIDOGATE version \c' >Version
X awk '{ print $$3 }' Version.id >>Version
X echo '\nVersions of FIDOGATE files:\n' >>Version
X sed -e 's/\$$//g' /tmp/Version.ident | sort >>Version
X rm -f /tmp/Version.*
X
X
clean:
X rm -f funpack rfmail rfnews fpack fcall rmail msgidseq
X rm -f *.bak *.o tags
X rm -f fgate*.tar.Z fgate*.taz
X
depend:
X @echo '/^# DO NOT/+1,$$d\nw\nq' | ed - Makefile; \
X echo '# DEPENDENCIES MUST END AT END OF FILE' >> Makefile; \
X for i in ${CFILES} ; \
X do \
X if [ -r $$i ]; \
X then \
X echo "Finding dependences for $$i ... \c"; \
X for j in `grep '^#[ ]*include[ ]*"[^"]*"' < $$i | \
X sed 's/^#[ ]*include[ ]*"\([^"]*\)".*/\1/'`; \
X do \
X if [ -r $$j ]; \
X then \
X echo "`basename $$i .c`.o: $$j" >> Makefile; \
X else \
X echo "`basename $$i .c`.o: ${HEADERS}/$$j" \
X >> Makefile; \
X fi; \
X done; \
X echo "done."; \
X else \
X echo "Can't open $$i." 1>&2; \
X fi; \
X done; \
X echo '# DEPENDENCIES MUST END AT END OF FILE' >> Makefile; \
X echo '# IF YOU PUT STUFF HERE IT WILL GO AWAY' >> Makefile; \
X echo '# see make depend above' >> Makefile
X
X
fidogate.h: config.h packet.h nodelist.h sysexits.h
X touch fidogate.h
X
X
# DO NOT DELETE THIS LINE -- make depend uses it
# DEPENDENCIES MUST END AT END OF FILE
rfmail.o: fidogate.h
funcs.o: fidogate.h
funcs.o: shuffle.h
rmail.o: fidogate.h
fpack.o: fidogate.h
funpack.o: fidogate.h
nodelist.o: fidogate.h
gethost.o: fidogate.h
address.o: fidogate.h
address.o: shuffle.h
sprintfs.o: fidogate.h
sprintfs.o: shuffle.h
strempty.o: fidogate.h
listscan.o: fidogate.h
xalloc.o: fidogate.h
msgidseq.o: fidogate.h
# DEPENDENCIES MUST END AT END OF FILE
# IF YOU PUT STUFF HERE IT WILL GO AWAY
# see make depend above
SHAR_EOF
chmod 0644 Makefile ||
echo 'restore of Makefile failed'
Wc_c="`wc -c < 'Makefile'`"
test 5739 -eq "$Wc_c" ||
echo 'Makefile: original size 5739, current size' "$Wc_c"
fi
true || echo 'restore of getdate.y failed'
echo End of part 1, continue with part 2
exit 0
--
_____ _____
| |___ | Martin Junius FIDO: 2:242/6.1 2:242/6.0
| | | | | | Republikplatz 3 DOMAIN: mju at dfv.rwth-aachen.de
|_|_|_|_____| D-5100 Aachen Tel. (Voice) 0241-86931
More information about the Alt.sources
mailing list