Thu Jun 29 08:54:43 1995  Martin Junius  <mj@orodruin.fido.de>

	* ********** Released as FIDOGATE 3.9.3 **********

	* util/logreport.pl: report "circular path" messages.

	* src/rfc2ftn.c (print_origin): don't put node number twice into
	  SEEN-BY if address and uplink are the same.

Wed Jun 28 20:04:39 1995  Martin Junius  <mj@orodruin.fido.de>

	* ----- Installed this version -----

	* ./ src/ util/: RCS check in: update 3.9.2.1

	* src/patchlevel.h (PATCHLEVEL): set to 3.

	* src/rfc2ftn.c (MIMEInfo): struct for storing MIME header.
	  (get_mime): new function retrieving MIME header.
	  (snd_mail): pass MIME info to snd_message().
	  (snd_message): set mime_qp if QUOTED-PRINTABLE encoding, decoded
	  by mime_dequote().

Mon Jun 26 13:10:21 1995  Martin Junius  <mj@orodruin.fido.de>

	* rules.make: use ./mksubst, `.' may not be in PATH.

Fri Jun 23 07:11:00 1995  Martin Junius  <mj@orodruin.fido.de>

	* src/ftninpost.pl: replace "@NEWS@" with "::NEWS::", perl 5.000
	  complains about the old one (it is right).

Tue Jun 20 20:21:15 1995  Martin Junius  <mj@orodruin.fido.de>

	* ----- Installed this version -----

	* src/node.c (pfnz_to_node): total rewrite of this function
	  without using strtok(). The old function had severe reentrancy
	  problems.

Fri Jun 16 20:54:29 1995  Martin Junius  <mj@orodruin.fido.de>

	* src/ffxmail.sh (nocmpr): add `--' (end of options) to ffx
	  command line before $faddr.

Thu Jun 15 12:13:15 1995  Martin Junius  <mj@orodruin.fido.de>

	* util/runii2.sh: new script sequentially running runin, ftnin,
	  ftn2ftn. 

	* util/runfso.sh: new script sequentially running ffxqt,
	  send-fidogate, runout.

Mon Jun 12 19:09:14 1995  Martin Junius  <mj@orodruin.fido.de>

	* ********** Released as FIDOGATE 3.9.2 *********

	* ./ src/ util/: everything seems to work, ready for the 3.9.2
	  release. RCS check in: 3.9.2.0

Fri Jun  9 09:03:41 1995  Martin Junius  <mj@orodruin.fido.de>

	* util/areamgr.pl: use LOGDIR.

Thu Jun  8 12:43:07 1995  Martin Junius  <mj@orodruin.fido.de>

	* util/recvuu.pl: close UUD pipe after reading input, die if error.

	* src/ftninpost.pl: check return value of unlink(), rename().
	  Pass directory name and file name as separate arguments to
	  &do_file(), fixed renaming of bad mail/news messages.

Wed Jun  7 09:09:03 1995  Martin Junius  <mj@orodruin.fido.de>

	* src/runout.sh (LOGFILE): set LOGFILE to "<LOGDIR>/log-out".

	* src/runin.sh (LOGFILE): set LOGFILE to "<LOGDIR>/log-in".

	* src/ftntoss.c (usage): fixed usage text.

	* ----- Installed this version -----

	* src/ftntoss.c (do_echomail): corrected log() output for circular
	  path.

	* src/rfc2ftn.c (snd_mail): make X-Flags work for EchoMail (news)
	  as well.

	* ./ src/: RCS check in: update 3.9.0.6
	  Almost all features for release 3.9.2 implemented, seems to work
	  so far.

Tue Jun  6 18:32:00 1995  Martin Junius  <mj@orodruin.fido.de>

	* src/rfc2ftn.c (snd_message): disabled MIME quoted printable
	  decoding. Decoding without checking the header will badly
	  interfer with e.g. uuencoded messages.

	* src/ftn2rfc.c (get_from): check From line first, then ^AREPLYADDR.

	* src/ftnaf.c (cmd_remove): log `-' if removed from area.

	* src/ffxqt.c (parse_ffx): new field `ffx.status', set to TRUE if
	  `# EOF' is read from ffx control file.
	  (do_ffx): only test for BSY file, if status flag is not TRUE.

Mon Jun  5 16:36:23 1995  Martin Junius  <mj@orodruin.fido.de>

	* ./ src/: RCS check in: update 3.9.0.5

	* src/mime.c (mime_dequote): new function decoding MIME-style
	  quoted printables in string. Improved version of old
	  msgid.c:msgid_mime_dequote().

	* src/ftn2rfc.c (unpack): output of X-FTN-Xxxx headers depending
	  on x_ftn_X flags setting.

	* config.h (X_FTN, X_FTN_FROMTO): removed, replaced by `X-FTN'
	  config statement.

	* src/ftn2rfc.c (main): implemented new config statement `X-FTN'
	  controlling output of X-FTN-Xxxx headers:
	      f    X-FTN-From
	      t    X-FTN-To
	      T    X-FTN-Tearline
	      O    X-FTN-Origin
	      V    X-FTN-Via
	      D    X-FTN-Domain
	      S    X-FTN-Seen-By
	      P    X-FTN-Path

	* src/rfc2ftn.c (receiver): convert recipient "postmaster" (RFC
	  standard) to "Sysop" (Fido standard).

	* src/ftntoss.c (is_local_addr): new function checking for local
	  address, optionally ignoring zone (only3d=TRUE).
	  (do_echomail): use is_local_addr().
	  (do_netmail): use is_local_addr().
	  (main): new -j --toss-local option. If this option is set and
	  the AREAS.BBS file contains one of the local addresses, mail for
	  this address will be tossed even if the address is already in
	  the SEEN-BY lines.
	  (do_seenby): implemented -j feature, suggested by Jochen Linkohr
	  <stuka@al.lms.tynet.sub.org>.
	  (do_check_path): new function check for circular path.
	  (main): log output and counter for circular path.

Sun Jun  4 18:16:56 1995  Martin Junius  <mj@orodruin.fido.de>

	* src/ffxmail.sh: changed script to accept Z:N/F.P addresses as
	  well as proper host names. sendmail configuration/log files look
	  much better without the ugly FTN addresses. ;-)

Tue May 30 22:23:35 1995  Martin Junius  <mj@orodruin.fido.de>

	* src/ftntoss.c (main): new config statement `CheckPath' and
	  corresponding flag `check_path'.

Tue May 30 21:28:49 1995  Martin Junius  <mj@morannon.fido.de>

	* src/ftnaf.c (main): ignore SIGPIPE.

Tue May 23 08:38:59 1995  Martin Junius  (mj@sungate)

	* src/: replaced all calls to free() with xfree(), removed all
	  checks for NULL pointer before calling free().

	* src/xalloc.c (xfree): changed to return void (Standard-C).

Mon May 22 18:26:42 1995  Martin Junius  (mj@sungate)

	* src/tick.c (tick_delete): delete Tick struct.

	* src/xalloc.c (xfree): free() with NULL pointer check.
	  (xmalloc, xrealloc): pointer type changed to void *.

	* src/textlist.c (tl_addtl): renamed old Textlist_add(),
	  conflicting with already existing tl_add().

	* src/: renamed all Textlist_xx() functions to tl_xx().

	* src/tick.c: started tick/hatch functions.
	  (Tick): struct for .TIC files.
	  (tick_init): initialize Tick struct.

Sun May 21 10:48:35 1995  Martin Junius  (mj@sungate)

	* src/ftnaf.c (cmd_add): added checking for access level and key.

	* src/areasbbs.c (areasbbs_new): added option processing to
	  AREAS.BBS. New format:
	      <DIR> <AREATAB> [-options] <NODE> ...
	  Options:
              -a Z:N/F.P    alternate AKA for this area
              -z ZONE       alternate zone AKA for this area
              -l LVL        Areafix access level
              -k KEY        Areafix access key

	* src/ftnaf.c (do_mail): added parsing of pwd->args for access
	  level, key, and sysop name stored in authorized_lvl,
	  authorized_key, authorized_name.
	  (usage): removed command help.

	* src/areas.c (areas_init): new option -R lvl, setting level for
	  ^ARFC headers.
	  (area_build): initialize ret.addr/rfc_lvl fields from pa.

	* ./ src/: RCS check in: update 3.9.0.4

	* src/message.c (is_blank_line): use is_space().

	* src/ftn2rfc.c (main): set rfcaddr_dot_names(TRUE) if `DotNames'
	  is set in CONFIG file.

	* src/rfcaddr.c (rfcaddr_from_ftn): if dot_names==TRUE, replace
	  spaces in user name with `.' not `_'.
	  (rfcaddr_dot_names): new function setting dot_names flag.

	* src/rfc2ftn.c (receiver): if user name part of an address
	  doesn't contain `_', dots `.' will be converted to spaces as
	  well, thus supporting the `User.Name@p.f.n.z.fidonet.org'
	  addressing style.

	* src/config.c: correctly set scf_c_uplink when scf_c_addr is
	  changed. 

	* src/rfc2ftn.c (snd_mail): if -a Z:N/F.P is set in AREAS, set as
	  the current address.

	* src/areas.c (areas_init): added -a Z:N/F.P option to AREAS file.

Sat May 20 17:11:25 1995  Martin Junius  (mj@sungate)

	* src/rfc2ftn.c (main): same.

	* src/out-attach.c (main): same.

	* src/ftntoss.c (main): same.

	* src/ftnroute.c (main): same.

	* src/ftnpack.c (main): same.

	* src/ftnin.c (main): same.

	* src/ftnbounce.c (main): same.

	* src/ftnaf.c (main): same.

	* src/ftn2rfc.c (main): same.

	* src/ftn2ftn.c (main): same.

	* src/ffxqt.c (main): same.

	* src/ffxbatch.c (main): same.

	* src/ffx.c (main): removed -z option.

	* src/log.c (log_file): rewritten to use new str_expand_name().
	  (log): use LOGDIR/LOG for the default log file.

	* src/misc.c (str_expand_name): new function expanding %X at start
	  of filenames (%S=SPOOLDIR, %L=LIBDIR, %O=LOGDIR).

	* config.h (PERMISSIONS): removed (will be replaced with -k option
	  in AREAS.BBS). 

	* src/message.c (msg_format_buffer): replaced is_space() with
	  is_blank(). That's what really meant.

	* src/: replace all isspace() with is_space().

	* src/misc.c (xtol): removed.
	  (is_space): isspace() replacement, standard <ctype.h> isspace()
	  seems to broken in several implementions (chars with high bit
	  set).
	  (is_blank): check for SPACE or TAB only.

Wed May 17 19:52:55 1995  Martin Junius  (mj@sungate)

	* src/ftnaf.c (mailer_open): add CC: header if CCMail config is
	  set.
	  log() ADD/REMOVE area.

	* src/ffxbatch.c (main): same.

	* src/ffxqt.c (main): same.

	* src/ffx.c (main): same.

	* src/ftnpack.c (main): same.

	* src/ftntoss.c (main): same.

	* src/ftnaf.c (main): same.

	* src/out-attach.c (main): same.

	* src/ftn2ftn.c (main): same.

	* src/ftnin.c (main): same.

	* src/rfc2ftn.c (main): same.

	* src/ftn2rfc.c (main): removed -f option.

	* src/charset.c: if CHARSET_DEFAULT_IBMPC is set in config.h, the
	  default char set (no ^ACHRS kludge) is the IBMPC char set.

	* config.h (CHARSET_DEFAULT_IBMPC): new #define

	* src/*.c: replaced cf_fake()/cf_n_fake() with cf_addr()/cf_n_addr().

	* src/config.c: major changes:
	  - removed all FakeNet related data and functions
	  - current address/uplink taken from scf_c_addr/uplink
	  - new function cf_set_curr() for setting current address
	  - new config verb `logdir' and related functions
	    cf_set_logdir(), cf_logdir()

Sun May 14 10:39:38 1995  Martin Junius  (mj@sungate)

	* src/config.c: new global vars scf_c_addr, scf_c_uplink for storing
	  current node address/uplink.

	* src/patchlevel.h (PATCHLEVEL): set to 2 for the new 3.9.2
	  release (still a lot to do ... ;-)

Sun Apr 30 11:07:30 1995  Martin Junius  (mj@sungate)

	* util/Makefile: added recvuu.

	* util/recvuu.pl: new utility for decoding uuencoded mail
	  packets. Packets will be put into UUINBOUND.

	* src/runin.sh: added rununpack uuin, runtoss uuin processing.

	* src/runtoss.sh: runtoss uuin processes packets from UUINBOUND as
	  well. 

	* src/rununpack.sh: rununpack uuin processes arcmail packets from
	  UUINBOUND directory.

	* mksubst.pl: process <UUINBOUND>.

	* config.make (UUINBOUND): new var: inbound directory for
	  uuencoded mail packet processing.

Sun Mar  5 13:15:03 1995  Martin Junius  (mj@sungate)

	* util/areamgr.pl: new utility combining functions of createnew.pl
	  and newareas.pl plus more:
	    - Create new areas.bbs entries from list of newsgroups
	    - Create new areas.bbs entries for unknown areas
	    - List orphan areas.bbs entries for deleted areas
	    
Sat Mar  4 09:00:30 1995  Martin Junius  (mj@sungate)

	* src/ftninpost.pl: $PROTO must be set before $SENDMAIL.

Wed Mar  1 00:09:18 1995  Martin Junius  (mj@sungate)

	* ********** Released as FIDOGATE 3.9.1 (Patch 1) **********

	* ----- Installed this version (sungate, morannon) -----

	* ./ src/ util/: RCS check in update 3.9.0.3

	* src/ffxbatch.c (ffx): same.

	* src/ffx.c (ffx): add "# EOF" end of ffx file marker.

	* src/rfcheader.c (username_from_rfcaddr): return correct user
	  name, if address is of type <user@do.main>. FIXME: the whole
	  address parsing for rfc2ftn should be rewritten!

	* util/sendmailstat.pl: new utility: detailed Fido.DE site
	  statistics from sendmail syslog entries in /var/adm/messages.

	* util/newsyslog.sh: new utility: cycle syslog files, run
	  sendmailstat.

Mon Feb 27 09:46:05 1995  Martin Junius  (mj@sungate)

	* src/patchlevel.h (PATCHLEVEL): set to 1.

	* src/message.c (msg_body_parse): only the first AREA line is
	  used for the EchoMail area tag.

	* config.h (SEQ_TICK): new sequencer for .tic files.

	* src/ftn2rfc.c (get_from): check ^AREPLYADDR for Internet from
	  address, no more check for "Reply-To".
	  (get_reply_to): new function retrieving Reply-To header from RFC
	  headers at start of message.
	  (unpack): use new get_from(), get_reply_to(), add extra Reply-To
	  header if present in RFC headers at start of message.

Thu Feb 23 09:22:12 1995  Martin Junius  (mj@sungate)

	* src/runtoss.sh (MAXARC): max archive size set to 2MB.

Sun Feb 19 20:02:35 1995  Martin Junius  (mj@sungate)

	* src/rfc2ftn.c (snd_mail): comments fixed.

	* src/config.c (cf_read_config_file): comment fixed.

Wed Feb  8 22:58:21 1995  Martin Junius  (mj@sungate)

	* doc/msgid.doc: more examples for 3.3 and 4.3, fixed some typos.

Sun Feb  5 11:30:45 1995  Martin Junius  (mj@sungate)

	* doc/: RCS check in update 3.9.0.1

	* doc/msgid.doc: clarification "NOMSGID_" Message-IDs, some
	  formatting changes.

Fri Feb  3 08:55:48 1995  Martin Junius  (mj@sungate)

	* src/rununpack.sh: new vars, xcmd = extract command for archive,
	  lcmd = list command for archive. Before unpacking, check archive
	  with list command. If the listing is not successful, skip the
	  archive.
	  Archiver unzip, lharc, zoo: extract ignores directories in archive. 

Thu Feb  2 09:03:15 1995  Martin Junius  (mj@sungate)

	* src/ffxrun.sh: process mail first.

Tue Jan 31 21:57:15 1995  Martin Junius  (mj@sungate)

	* ----- Installed this version (morannon) -----

	* ********** Released as FIDOGATE 3.9.0 **********

Sun Jan 29 12:05:40 1995  Martin Junius  (mj@sungate)

	* ----- Installed this version (sungate) -----

	* src/: RCS check in update 3.9.0.2

	* src/patchlevel.h (BETA): commented #define BETA, this will be
	  the release version of 3.9.0.

Sat Jan 28 15:05:48 1995  Martin Junius  (mj@sungate)

	* src/ftnaf.c (do_mail): ignore commands in mail message after
	  first line starting with "---". Normally this would be the
	  tearline, but people may put this in the message body to
	  indicate the end of areafix commands.

Wed Jan 25 21:26:22 1995  Martin Junius  (mj@sungate)

	* doc/fidogate.texi (Compiling): more hints on editing ftninpost.pl.

	* src/ftninpost.pl: moved $RELAY, $SENDMAIL, $RNEWS to the top of
	  this script. This variables will most likely need some editing.

Mon Jan 23 10:15:53 1995  Martin Junius  (mj@sungate)

	* ********** Released as FIDOGATE 3.9.0 beta0 **********

	* ./: RCS check in 3.9, update 3.9.0.1

	* util/: RCS check in 3.9

	* src/: RCS check in update 3.9.0.1

	* doc/: RCS check in 3.9

	* doc/fidogate.texi: many minor corrections for release 3.9

Sun Jan 22 12:04:47 1995  Martin Junius  (mj@sungate)

	* config.make (INFODIR): new macro, directory for installing info
	  files.

Thu Jan 19 22:45:19 1995  Martin Junius  (mj@sungate)

	* ----- Installed this version (sungate) -----

	* doc/fidogate.texi: updated rest of config file description.

Wed Jan 18 10:23:46 1995  Martin Junius  (mj@sungate)

	* doc/fidogate.texi (Config): updated, new config statements for
	  tosser.
	  (Permissions): new node, will describe the ftnaf
	  permissions. NOT YET IMPLEMENTED.
	  (Areas.bbs): new node describing areas.bbs file.

Sat Jan 14 09:58:14 1995  Martin Junius  (mj@sungate)

	* src/ftn2rfc.c (main): fixed missing "/" for executing
	  LIBDIR/execprog, debug() messages for execprog.

Wed Jan 11 19:51:49 1995  Martin Junius  (mj@sungate)

	* config.h (MSGID_NEW_FTNID): uncommented, the default with
	  3.9.0. "Official" date for the new FTN-Message-IDs is
	  February 1th, 1995.

	* ./: RCS check in 3.9 --- we're heading for the 3.9.0 release! ;-)

	* src/: RCS check in 3.9

	* src/version.c (version_global): use lower case "beta".

	* src/patchlevel.h (PATCHLEVEL): set to 0 (3.9.0)
	  (BETA): uncommented, first 3.9.0 beta version.

	* doc/fidogate.texi (config.h): updated to match new config.h
	  header file.
	  (config.make): updated to describe new configuration.
	  (Compiling): updated.
	  (Integration): updated.
	  (Testing): updated.
	  (Connecting): updated.
	  (Programs): updated list of FIDOGATE programs.
	  (ftninpost): new (old fidorun node).
	  (ftninrecomb): new.
	  (toaddr): removed.

	* Include config.make and rules.make in all Makefiles (src, lib,
	  lib/ffxqt-dir, util).

	* Moved this ChangeLog to the FIDOGATE root directory.

Tue Jan 10 09:25:57 1995  Martin Junius  (mj@sungate)

	* ----- Installed this version (morannon) -----

	* rfc2ftn.c (snd_message): initialize time_split, seq to avoid
	  compiler warning.

	* fidogate.h: #include "../config.h"

	* config.h: moved to ..

	* Makefile: moved configuration macros and compilation rules to
	  ../config.make and ../rules.make.

	* ----- Installed this version (sungate) -----

	* binkley.c (bink_attach): moved cf_dos_xlate() to start of
	  function, avoiding problems with flo files left open.

	* ********** Released as FIDOGATE 3.8.9 (PL9) **********

	* ----- Installed this version (sungate) -----

	* RCS check in: update 3.8.0.26

	* ftnbsy.c (main): ftnbsy ready, allowing locking, testing,
	  unlocking of multiple Binkley bsy files. 

	* binkley.c (bink_bsy_test): use check_access().

	* ftnpack.c (do_prog): implemented `prog' packing, execute program
	  with packet name on command line. Thanx to Arne Ansper <arne@ioc.ee>

Mon Jan  9 09:54:45 1995  Martin Junius  (mj@sungate)

	* ftnbsy.c: new utility, command line interface to Binkley bsy files.

	* ftnlock.c (main): --unlock fixed (== -u).

Tue Jan  3 09:16:10 1995  Martin Junius  (mj@sungate)

	* ----- Installed this version (morannon) -----

	* RCS check in: update 3.8.0.25

	* ftntoss.c (main): replaced cf_areas_bbs() with cf_get_string().

	* areasbbs.c (areasbbs_init): return ERROR for NULL name argument.

	* ftnaf.c (main): new option -F, --filefix implemented, running
	  ftnaf as program "Filefix", using alternate FAREAS.BBS
	  (specified by FAreasBBS in config.af file). Changed to use
	  cf_get_string().

	* config.c (cf_areas_bbs, cf_set_areas_bbs): removed. Call
	  cf_get_string("AreasBBS", TRUE) instead.

	* config.h (MAXMSGSIZE): back to the roots ... alas, messages >
	  16K seem to cause *severe* problems for some FIDO software.

Sun Jan  1 13:14:18 1995  Martin Junius  (mj@sungate)

	* ffxqt.c (main): use lock_program()/unlock_program() instaed of
	  BSY files for protecting do_ffx().

	* RCS check in: update 3.8.0.24

	* ffxrmail.pl: new script to be called for ffx rmail commands,
	  directly calling /usr/lib/sendmail with appropiate options.

	* ftnaf.c (do_mail): process -q and -l options in subject, running
	  QUERY and LIST, respectively.
	  (mailer_open): set return address to Areafix-Daemon, so bounced
	  messages etc. won't be processed as Areafix requests.
	  (do_mail): process -q/-l in subject after commands in message body.

	* ftninpost.pl: options processing like in ftninrecomb.pl, pass
	  -L, -S, -v options to ftninrecomb.

	* ftninrecomb.pl: some debug messages (option -v) in sub
          unsplit_mail. Rename .unsplit file to name of part processed
	  first.

Sat Dec 31 13:20:36 1994  Martin Junius  (mj@sungate)

	* ftninrecomb.pl: pass -L and -S options to ftnseq.  Fixed some
	  more bugs, seems to work now.

	* misc.c (str_copy4, str_copy5): new copy function with 4 and 5
	  string arguments.

	* prototypes.h (BUF_COPY4, BUF_COPY5): frontends for str_copy4(),
	  str_copy5(). 

	* ftninrecomb.pl: added command line options processing like
	  ftninpost.pl (-v, -L, -S, -I).

	* RCS check in: update 3.8.0.23

	* ftninrecomb.pl: new perl script recombing split messages
	  (X-SPLIT header generated from FIDO ^ASPLIT is
	  needed). Contributed by Roland Rosenfeld.

	* mail.c: BUFSIZ replaced with MAXPATH.

	* *.sh: adapted to new directory configuration via mksubst.

	* mksubst: frontend for running mksubst.pl (perl binary location
	  not yet known, alternate mksubst.bat may be used for MSDOS).

	* mksubst.pl: perl script for substituting directories in the
	  various perl and shell scripts.

	* Makefile (paths.mak): include OUTBOUDN, INBOUND, PINBOUND in
	  paths.h configuration header.

	* rfc2ftn.c (main): same.

	* ftnbounce.c (main): same.

	* ftn2ftn.c (main): replaced OUTBOUND with OUTDIR.

	* ftn2rfc.c (main): changed to use new INDIR defines and BUF_*
	  macros. 

	* prototypes.h (BUF_COPY, BUF_APPEND, BUF_COPY2, BUF_COPY3):
	  macros for easy operation with fixed char buf[somesize].

	* misc.c (str_copy, str_append, str_copy2, strcopy3): new string
	  functions.

	* ftn2rfc.c (main): use lock_program()/unlock_program() for -l
	  option. 

	* config.h (INBOUND*, INSECURE, OUTBOUND): renamed to INDIR,
	  INDIR_MAIL, INDIR_NEWS, INDIR_INSEC, OUTDIR.

	* Makefile (OUTBOUND, INBOUND, PINBOUND): new macro specifying
	  Binkley directories for scripts.

Thu Dec 29 10:06:48 1994  Martin Junius  (mj@sungate)

	* patchlevel.h (PATCHLEVEL): set to 9.

	* ftninpost.pl: new postprocessor for mail and news messages
	  spooled by ftn2rfc. Calls /usr/lib/sendmail directly with
	  appropiate options.

Wed Dec 28 18:13:53 1994  Martin Junius  (mj@sungate)

	* ftnseq.c: new command line interface for sequencer files, useful
	  to access sequencer files from shell and perl scripts.

Fri Dec 23 09:39:38 1994  Martin Junius  (mj@sungate)

	* ********** Released as FIDOGATE 3.8.8 (PL8) **********

Thu Dec 22 19:48:37 1994  Martin Junius  (mj@sungate)

	* RCS check in: update 3.8.0.22

	* Updated copyright header in all files to "1990-1995".

	* msgid.c: some more #ifdef MSGID_NEW_FTNID to avoid warnings with
	  this currently being undefined.

	* passwd.c: same.

	* maus.c: same.

	* hosts.c: same.

	* aliases.c: same.

	* areasbbs.c: same.

	* areas.c: same.

	* config.c: some debug()s adapted to DEBUGLEVEL standard.

	* message.c (msg_xlate_line): keep '\f' (^L) as is.

Wed Dec 21 09:11:10 1994  Martin Junius  (mj@sungate)

	* patchlevel.h (PATCHLEVEL): set to 8

	* ftn2rfc.c (unpack): remove first blank (empty) line from message
	  body if RFC headers are present.

	* msgid.c: extended copyright notice to allow free usage of the
	  msgid.c functions.
	  (msgid_convert_origid): removed code to preprend "Parti.n-".

Sat Dec 17 10:28:23 1994  Martin Junius  (mj@sungate)

	* ********** Released as FIDOGATE 3.8.7 (PL7) **********

Thu Dec 15 21:23:49 1994  Martin Junius  (mj@sungate)

	* ----- Installed this version (morannon) -----

	* Makefile (CFLAGS, LFLAGS): use new macro DEBUG for -g/-O2.

	* ftn2ftn.c (add_via): put "FIDOGATE/ftn2ftn" into ^AVia line.

Wed Dec 14 09:53:11 1994  Martin Junius  (mj@sungate)

	* ----- Installed this version (sungate) -----

	* wildmat.c: use #include "fidogate.h"

	* RCS check in: update 3.8.0.21

	* config.h (PERMISSIONS): new #define for permissions file to be
	  used by ftnaf. Not yet implemented.

	* ftn2rfc.c (unpack): if From line is present, parse using
	  rfcaddr_from_rfc() and use this address for the envelope
	  (addr_from).

	* rfc2ftn.c (snd_mail): if Return-Receipt-To header is present,
	  set RRREQ message flag.
	  (snd_mail): X-Flags: R sets RRREQ flag, too.

	* ftn2rfc.c (unpack): remove blank line before " * Xxx: " info
	  lines and blank last line.

Tue Dec 13 00:03:56 1994  Martin Junius  (mj@sungate)

	* message.c (msg_body_parse_echomail): return -1, if ^APATH line
	  is missing. This may be the case for echomail from 4D points.

	* rfc2ftn.c (snd_message): put sequencer(SEQ_SPLIT) number as
	  messages number into ^ASPLIT kludge, yielding a somewhat unique
	  message identification for easier recombining.

	* config.h (SEQ_SPLIT): new sequencer for message number (^ASPLIT)
	  of split messages, making identification for recombining
	  somewhat easier.

	* patchlevel.h (PATCHLEVEL): set to 7.

	* ftntoss.c (do_remap): use new wildmatch() with ic=TRUE, making
	  remapping case-insensitive.

	* ftn2rfc.c (main): use new wildmatch() with ic=TRUE.

	* ftnaf.c (cmd_add): use new wildmatch() with ic=TRUE.
	  (cmd_remove): same.
	  (upcase_line): removed.

	* message.c (msg_body_parse_echomail): look for ^APATH or SEEN-BY
	  line when searching backwards. Messages from 4D points may not
	  contain a ^APATH line.

Mon Dec 12 20:25:16 1994  Martin Junius  (mj@sungate)

	* wildmat.c (char_eq): new function for comparing to chars,
	  optionally case-insensitive.
	  (wildmat): compatibility for old function.
	  (wildmatch): new wildcard matching function with new argument
	  for case-insensitive comparison.

Tue Dec  6 09:23:52 1994  Martin Junius  (mj@sungate)

	* ----- Installed this version (morannon) -----

	* passwd.c (passwd_init): p->next must be initialized to NULL!

Sat Dec  3 10:25:06 1994  Martin Junius  (mj@sungate)

	* *********** Released as FIDOGATE 3.8.6 (PL6) **********

	* ----- Installed this version (morannon) -----

	* ----- Installed this version (sungate) -----

	* RCS check in: update 3.8.0.20

Fri Dec  2 08:37:01 1994  Martin Junius  (mj@sungate)

	* runtoss.sh ($free): use new rundf script to check for free disk
	  space. Additional error check for rundf output.

	* rundf.sh: new utility script for checking free disk space. This
	  version needs df from the GNU file utilities, but can be adapted
	  to other df output, if necessary.

Thu Dec  1 09:16:03 1994  Martin Junius  (mj@sungate)

	* ftn2ftn.c (main): same.

	* rfc2ftn.c (main): same.

	* ftnpack.c (main): same.

	* ftnroute.c (main): same.

	* ftntoss.c (main): added passwd_init().

	* RCS check in: update 3.8.0.19

	* config.h (MSGID_NEW_FTNID): seems to work, but disabled for now.

	* msgid.c (msgid_mime_quote): must quote `/', `=', too.
	  (msgid_default): `>' was missing.

	* ----- Installed ftnaf -----

	* ftnaf.c (match_area): removed.
	  (upcase_line): new function converting string to upper case.
	  (cmd_remove): use upcase_line(), wildmat() instead of match_area().
	  (cmd_add): same.
	  (cmd_query): list even if zone is different.

	* packet.c (pkt_open_node): same.
	  (pkt_create): same.

	* outpkt.c (outpkt_open): put password for node into packet header.

	* msgid.c (msgid_mime_quote): must quote control chars (< 0x20) as
	  well.
	  (msgid_default): new-style <NOMSGID_...@...> IDs implemented.

	* RCS check in: update 3.8.0.18

	* msgid.c (msgid_mime_dequote): new function converting MIME-style
	  quoted-printables. Use aux. functions is_ucx(), x2toi().
	  (msgid_rfc_to_fido): implemented conversion of new-style FTN
	  Message-IDs.

	* config.h (FIDODOMAIN): moved to Message-ID configuration part.
	  (MAXMSGSIZE): increased to 30000 (< 32K).

	* rfc2ftn.c (MAXMSGSIZE): moved to config.h

	* patchlevel.h (PATCHLEVEL): set to 6

	* msgid.c (msgid_mime_quote): new function doing MIME-style
	  quoting for ^AMSGID conversion.
	  (msgid_fido_to_rfc): implemented new-style ^AMSGID conversion,
	  #ifdef MSGID_NEW_FTNID.
	  (msgid_domain): new function return Message-ID domain for FTN
	  zone. Always "fidonet.org" for zone 1..6.

Wed Nov 30 12:44:51 1994  Martin Junius  (mj@sungate)

	* ftn2rfc.c (unpack): don't prepend "Parti.n-" to Message-IDs of
	  split messages any more.
	  (unpack): if ^ASPLIT in present in kludges or body, output as
	  X-SPLIT header.

	* msgid.c (msgid_fido_to_rfc): major rewrite of this function,
	  checking for new-style ^AMSGID: <id@do.main> abcd1234, removing
	  "..." from origaddr part, preparation for implementing new-style
	  ^AMSGID conversion using MIME quoted-printable.

	* rfc2ftn.c (snd_message): pass msg->area to msgid_rfc_to_fido().

	* msgid.c (msgid_fido_to_rfc): removed #if 0'ed MAUS kludge.
	  (msgid_rfc_to_fido): same.
	  (msgid_rfc_to_fido): new argument `area'.
	  (msgid_rfc_to_fido): major rewrite of this function implementing
	  the new ^AMSGID generation as specified in msgid.doc
	  (FIDO-Gatebau '94).

	* rfc2ftn.c (snd_message): #ifdef MSGID_ORIGID wrapping ^AORIGID/
	  ^AORIGREF output.

Mon Nov 28 08:24:52 1994  Martin Junius  (mj@sungate)

	* *********** Released as FIDOGATE 3.8.5 (PL5) **********

	* ----- Installed this version -----

	* RCS check in: update 3.8.0.17

	* ffxqt.c (do_ffx): use dir_xxx() functions to read directory,
	  sort mode DIR_SORTMTIME to process in correct order.

Sun Nov 27 18:25:36 1994  Martin Junius  (mj@sungate)

	* ----- Installed this version -----

	* patchlevel.h (PATCHLEVEL): set to 5.

	* ffxqt.c (usage, main): new -g --grade option implemented.
	  (do_ffx): if option -g G given, process only fG??????.ffx files.

Sat Nov 26 09:13:38 1994  Martin Junius  (mj@sungate)

	* ----- Installed ftnaf, ftnpack -----

	* ftnaf.c (main): use lock_program()/unlock_program() instead of
	  bink_bsy_create_all()/bink_bsy_delete_all().

	* ftnpack.c (do_pack): if flonode is different from arcnode,
	  create bsy file for flonode as  well.

Fri Nov 25 21:34:17 1994  Martin Junius  (mj@sungate)

	* ftnpack.c (do_pack): create/delete bsy file for arcnode! Must
	  create bsy file for flonode as well, if different!

Wed Nov 23 09:55:07 1994  Martin Junius  (mj@sungate)

	* ----- Installed ftntoss -----

	* ftntoss.c (addtoseenby_init): new function reading `AddToSeenBy'
	  config statements. Format:
	      AddToSeenBy AREA NODE ...
	  AREA may contains shell-style wildcards.
	  (do_seenby): allow NULL argument for LON *new.
	  (do_echomail): lookup area in AddToSeenBy list and add extra
	  nodes to SEEN-BY if matching.

Sat Nov 19 14:42:18 1994  Martin Junius  (mj@sungate)

	* *********** Released as FIDOGATE 3.8.4 (PL4) **********

	* ----- Installed this version -----

	* RCS check in: update 3.8.0.16

	* ftn2rfc.c (unpack_file): don't exit() in case of error, return
	  error code instead.
	  (rename_bad): copyied from ftntoss.c
	  (unpack_file): error handling: rename .pkt to .bad, return OK.

	* parsedate.y: added support for SEADog style FTN dates,
	  e.g. "Sun  6 Nov 94 15:17". Patch by Roland Rosenfeld.

	* message.c (is_blank_line): new function checking for blank line
	  (only white space: SPACE, TAB, CR, LF).
	  (msg_body_parse): use new function is_blank_line(), allow up to
	  3 blank lines before the RFC headers.

Fri Nov 18 13:42:18 1994  Martin Junius  (mj@sungate)

	* ----- Installed ftnpack -----

	* ftnpack.c (parse_pack): new packing command `fpack',
	  PACK_FLO. Packets are archived for the packet's destination
	  node, but the resulting archive is attached to the target node's
	  FLO file.
	  (do_pack): implemented new PACK_FLO, passing different addresses
	  arcnode, flonode to do_arcmail(). Changed log() messages
	  accordingly.
	  (do_arcmail): use new parameters arcnode (node for whom the
	  arcmail archive is to be created) and flonode (archive is
	  attached to this node FLO file).

Tue Nov 15 12:35:59 1994  Martin Junius  (mj@sungate)

	* RCS check in: update 3.8.0.15

	* patchlevel.h (PATCHLEVEL): set to 4.

Mon Nov 14 08:13:56 1994  Martin Junius  (mj@sungate)

	* ----- Installed ftntoss -----

	* ftntoss.c (seenby_eq): node_eq() ignoring zone.
	  (seenby_search): lon_search() ignoring zone.
	  (do_seenby): use seenby_search().

	* ----- Installed this version -----

	* rununpack.sh: ftnlog failed unpacking.

	* runtoss.sh (MAXARC): set to 3MB.
	  ftnlog df ERROR messages.

	* message.c (msg_body_parse): must check p for NULL pointer!

Sun Nov 13 11:37:32 1994  Martin Junius  (mj@sungate)

	* ----- Installed this version -----

	* RCS check in: update 3.8.0.14

	* config.h (NO_BRAIN_DEAD_GATEWAYS): removed.

	* ftn2rfc.c (unpack): moved GIGO check inside -g check.

	* message.c (msg_body_parse): allow up to two empty lines before
	  the RFC headers.

Thu Nov 10 22:24:34 1994  Martin Junius  (mj@sungate)

	* ftn2rfc.c (unpack): don't bounce mail to local users, if sending
	  node is not registered in HOSTS. Check using addr_is_local().

Wed Nov  9 13:35:21 1994  Martin Junius  (mj@sungate)

	* runtoss.sh: moved df $OUTBOUND check into while loop.

	* rfc2ftn.c (mail_date): don't log() unparsable date strings.

Sun Nov  6 19:45:44 1994  Martin Junius  (mj@sungate)

	* runtoss.sh: check free disk space in SPOOLDIR and OUTBOUND
	  before tossing starts. Don't do anything if below 15MB.

Tue Nov  1 08:22:21 1994  Martin Junius  (mj@sungate)

	* *********** Released as FIDOGATE 3.8.3 (PL3) **********

	* ----- Installed this version -----

	* RCS check in: update 3.8.0.13

	* ftnpack.c (arcmail_remove_old): removed, obsoleted by modified
	  arcmail_search(). 

	* packet.c: debug()s adapted to DEBUGLEVEL standard.

	* ftnpack.c: debug()s adapted to DEBUGLEVEL standard.
	  (arcmail_search): rewrote this function, now includes
	  arcmail_remove_old() function. All 0-sized archives are removed.

	* patchlevel.h (PATCHLEVEL): set to 3.

	* rfc2ftn.c (print_via): "FIDOGATE/rfc2ftn" for ^AVia line.

	* ftnpack.c (usage): new -O --out-dir option.
	  (main): implemented -O option.
	  (pkttime_name): return out_dir/nnnnnnnn.pkt name, unique name
	  for each .pkt fixing the collision problems.

	* config.h (SEQ_PACK): new sequencer file for .pkts archived by
	  ftnpack. 
	  (TOSS_PACK): new tosser directory, .pkts for packing into an
	  ArcMail archive are created here.

Mon Oct 31 09:10:12 1994  Martin Junius  (mj@sungate)

	* ----- Installed ftnpack -----

	* ftnpack.c (pkttime_name): convert GTnnnnnn.?ut to GTnnnnnn.pkt
	  for use as the packet name. Using the time stamp has several
	  drawback: on fast CPUs, ftnpack may take less than a second, and
	  simultaneously running ftnpacks may create the same packet
	  name. TEMPORARY FIX.
	  (do_arcmail): pass name argument to pkttime_name().

Sun Oct 30 10:59:06 1994  Martin Junius  (mj@sungate)

	* ********** Released as FIDOGATE 3.8.2 (PL2) **********

	* config.h: don't #define MAXPATH for MSDOS/DJGPP.

	* ----- Installed this version -----

	* RCS check in: update 3.8.0.12

	* declare.h: prototypes for strcasecmp(), strncasecmp().

	* patchlevel.h (PATCHLEVEL): set to 2.

	* misc.c (strnicmp, stricmp): don't compile, if DO_HAVE_STRCASECMP
	  or DO_HAVE_STRICMP defined.

	* prototypes.h: appropiate #if's for DO_HAVE_STR{CASE,I}CMP.

	* config.h (MSGID_ORIGID, MSGID_NEW_MSGID, MSGID_NEW_FTNID): new
	  comments, moved to end of config.h. NOT YET IMPLEMENTED.
	  (DO_HAVE_STRCASECMP, DO_HAVE_STRICMP): new #defines for
	  availability of strcasecmp() or stricmp() functions.

	* ftnroute.c (do_packet): don't add ^AVia line.
	  (add_via): changed identification to "FIDOGATE/ftnroute".

	* ftntoss.c (add_via): changed identification to "FIDOGATE/ftntoss".

	* message.c (pkt_get_body): make sure that incomplete last line is
	  terminated by "\r\n", otherwise the added ^AVia line will be
	  part of the last line.
	  (msg_body_parse): stop parsing of ^A kludges at first ^AVia
	  line, this happens with empty messages.

	* ftn2rfc.c (unpack): rfc_lvl, rfc_lines must be initialized
	  before if(...).

Thu Oct 27 19:47:14 1994  Martin Junius  (mj@sungate)

	* ----- Installed gate, tosser -----

	* areas.c (areas_init): implemented -! option.
	  (area_build): convert `_' (area) <-> `-' (newsgroup) to be more
	  compatible with the old area names.

	* ftnpack.c (do_file): only return ERROR, if sever_error set.
	  (do_arcmail): no return ERROR, if unlink() fails.

	* areas.c (areas_lookup): implemented AREA_NO option.

	* structs.h (AREA_NO): new option -!, don't gate this area/newsgroup.

Wed Oct 26 09:16:55 1994  Martin Junius  (mj@sungate)

	* areas.c (area_build): new function building Area entry with
	  complete area/newsgroup name for -H matching in
	  AREAS. Translation to lower case for newsgroup name, translation
	  to upper case for area name.
	  (areas_lookup): if AREA_HIERARCHY flag ist set, compare
	  start of area/group name with AREAS entry. Call area_build() if
	  matched.

Tue Oct 25 22:59:12 1994  Martin Junius  (mj@sungate)

	* The last 4 ChangeLog entries were the changes necessary to
	  compile FIDOGATE with DJGPP 1.12 (gcc 2.6.0) on MSDOS.

	* lock.c (lock_fd, unlock_fd): return OK for MSDOS, too. FIXME:
	  should use the function lock(), unlock() provided by DJGPP.

	* misc.c (strnicmp, stricmp): don't compile for MSDOS, either.

	* prototypes.h: no prototypes strnicmp(), stricmp() for MSDOS,
	  either.

	* config.h: #ifdef MSDOS, added definition for DJGPP GCC.
	  (MAXPATH): only if not already defined.

	* areas.c (areas_init): implemented -H option.

	* structs.h (AREA_HIERARCHY): new area flag -H, area/group names
	  match entire hierarchy, names are automatically translated
	  [A-Z]<->[a-z]. 

	* areas.c (areas_init): document AREAS options in comment.

Mon Oct 24 09:51:57 1994  Martin Junius  (mj@sungate)

	* ********** Released as FIDOGATE 3.8.1 (PL1) **********

	* ----- Installed this version -----

	* RCS check in: update 3.8.0.11

	* rununpack.sh: include /etc/magic definitions as comment,
	  redirect stdin of unpacker command to /dev/null (strange errors
	  from unzip running from LINUX cron).
	  Check $st, not $? after st=$? !!!

	* ftntoss.c (lon_to_kludge, lon_to_kludge_sorted): set zone of all
	  SEEN-BY nodes to cf_zone(), no zone addresses in SEEN-BY line!

	* ftnroute.c (do_routing): if matching routing command is found
	  (do_cmd() == TRUE), goto label ready. This way only the first
	  matching routing is applied, previously statements like "route
	  normal", "send normal" caused this packets to be processed by
	  following routing commands.
	  (do_cmd): changed return value to `int', signalling if routing
	  command was sucessfully applied.

Fri Oct 21 08:54:01 1994  Martin Junius  (mj@sungate)

	* ftn2rfc.c (unpack): extra X-FTN-Area header for unknown
	  FIDO areas (Newsgroups: fido.junk) is back. Was somehow lost
	  during the last the massive unpack() rewrite.

Thu Oct 20 00:04:41 1994  Martin Junius  (mj@sungate)

	* Will this be the final 3.8.1? This version will be installed at
	  project.fido.de.

	* RCS check in: update 3.8.0.10

	* config.h (NO_FROM_LINE): #define removed, replaced by
	  "NoFromLine" config statement.

	* rfc2ftn.c (main): implemented optional "NoFromLine" config
	  statement, replacing #define NO_FROM_LINE in config.h.
	  (snd_message): if(!no_from_line) replaced #ifdef NO_FROM_LINE.

	* ftn2rfc.c (unpack): check ^ARFC header. If format is "lines",
	  then long lines will not be filled to MAX_LINELEN, but put into
	  the RFC message as is.

	* rfc2ftn.c (snd_message): output ^ARFC: 1 lines to FIDO message,
	  see also kludge-rfc.doc.

	* ftntoss.c (toss_echomail): process messages addressed to a
	  `ZoneGate'. SEEN-BYs are stripped and replaced with the
	  addresses specified in config file. (SEEN-BYs saved before and
	  restored after tossing to zonegate address.)
	  debug() messages adapted to new DEBUGLEVEL standard.

	* config.c (cf_get_string): fixed.

	* ftntoss.c (zonegate_init): new function reading "ZoneGate"
	  config statement and storing addresses in linked list.

	* config.c (cf_read_config_file): removed debug() messages.

Wed Oct 19 12:16:16 1994  Martin Junius  (mj@sungate)

	* ftnaf.c (do_command): var `ret' wasn't set.

	* ftntoss.c (main): implemented optional config statements
	  "KillEmpty", "KillUnknown", "KillRouted", "LogNetMail".
	  (do_netmail): check log_netmail and kill_empty flags.

	* config.c (cf_debug): debug level 8.
	  (struct st_cflist): linked list storing unknown config statements.
	  (cf_get_string): new function retrieving config string(s) from
	  list of unknown config statements.

	* RCS check in: update 3.8.0.9

	* patchlevel.h (PATCHLEVEL): set to 1, still a few more things to
	  do and then for the 3.8.1 patch/release ...

	* packet.c (pkt_create): new arg `to', packet destination node.
	  (pkt_open): call pkt_open_node(), if node!=NULL and
	  name==NULL. Pass node address to pkt_create, if node!=NULL, else
	  cf_uplink().
	  Prefixed all error log() messages with "ERROR: ".

	* ftnpack.c (do_noarc): must use strrchr(). Output file attach
	  base name (msg.subject) in log() messages.

	* rfc2ftn.c (snd_message): must use strrchr().

	* ftnpack.c (do_noarc): removed fa_only arg and checks. New arg
	  `out_name' specifying .pkt file for output packet (instead of
	  .?UT in outbound). Restore file attach full path name in subject
	  to base name.
	  (do_pack): changed accordingly.
	  (do_arcmail): new arg `file', for NetMail call do_noarc(),
	  copying input packet to .pkt and processing file attaches.

Tue Oct 18 08:43:28 1994  Martin Junius  (mj@sungate)

	* ----- Installed this version -----

	* rfc2ftn.c (snd_message): if file attach message, set subject to
	  base name of the file.

	* ffxqt.c (parse_ffx): processing command string: must increment
	  buf for non-printable chars, control chars resulted in an
	  endless loop.

	* rfc2ftn.c (snd_mail): set flags=NULL, was undefined for news
	  messages.

	* ftntoss.c, ftnroute.c, ftn2rfc.c, rfc2ftn.c, ffxqt.c: prefixed
	  all error log() messages with "ERROR: ".

	* ftnpack.c (do_noarc): new argument `fa_only'. If TRUE, the
	  packet will only be scanned for file attaches, nothing will be
	  written to an outbound packet. File attaches (NetMail only) are
	  added to the destination node's FLO file (delete after send).
	  Prefixed all error log() messages with "ERROR: ".
	  (do_pack): call do_noarc(,,,TRUE) to process file attaches in
	  packet before do_arcmail().

Mon Oct 17 06:52:26 1994  Martin Junius  (mj@sungate)

	* runin.sh: run rununpack first, then runtoss.

	* runtoss.sh: pin/in names for tossing Binkley inbound.

	* rununpack.sh: unpack in Binkley inbound directories.

Sat Oct 15 14:43:49 1994  Martin Junius  (mj@sungate)

	* ----- Installed tosser, logmaint, logstat -----

	* ftntoss.c (main): use new functions from dir.c, with directory
	  sorted according to mtime, so that packets are processed in the
	  correct time order.

	* dir.c: new module with functions for reading sorted directory.
	  (dir_resize): init/resize dir_array[] to new size.
	  (dir_compare): comparison function for qsort.
	  (dir_open): open directory, read, and sort into dir_array[].
	  (dir_close): close/delete directory dir_array[].
	  (dir_sortmode): set sort mode.
	  (dir_get): get first/next entry from dir_array[].
	  (main): test program.

Tue Oct 11 08:27:16 1994  Martin Junius  (mj@sungate)

	* RCS check in: update 3.8.0.8

	* runout.sh: set LOGFILE to LIBDIR/log-out, create lock file
	  runout while processing.

	* rununpack.sh: removed ftnlock stuff.

	* runtoss.sh: removed ftnlock stuff, now done in runin/runout.

	* runin.sh: set LOGFILE to LIBDIR/log-in, create lock file runin
	  while processing.

	* ftnlog.c: new utility writing to FIDOGATE log file from
	  e.g. shell script.

	* ftnpack.c (do_pack): debug() changed to log().

	* ftnroute.c (do_routing): debug() changed to log().

	* log.c (log_file): string "%L/" is 3 chars long! ;-)

	* ftntoss.c (do_netmail): log() NetMail source and destination.
	  (unpack_file): debug() changed to log() with additional size of
	  input packet.

	* ftnpack.c (check_size, check_old): moved to binkley.c

	* log.c (log_program): check environment variable LOGFILE. If set,
	  pass it to log_file().

	* ----- Installed this version -----

	* message.c (msg_body_parse): fixed stupid programming error: only
	  the first RFC header in the FTN message was recognized.

Mon Oct 10 08:10:10 1994  Martin Junius  (mj@sungate)

	* Removed "PROGRAM: " from all log() messages.

	* ftntoss.c (unpack): premature EOF checking as in ftn2rfc.c:unpack().

	* ftn2rfc.c (unpack): several error conditions: break loop, set
	  ret=ERROR instead of return ERROR.

	* pktdebug.c (main): error checking for all pkt_get_xxx().

	* ftn2rfc.c (unpack): error checking for pkt_get_int16() and
	  pkt_get_msg_hdr(). Don't return ERROR, if the termianting 0-word
	  is missing, just log() a warning.

Sun Oct  9 11:43:27 1994  Martin Junius  (mj@sungate)

	* runin.sh: redirect output to log file LIBDIR/log-in.

Thu Oct  6 12:56:58 1994  Martin Junius  (mj@sungate)

	* ----- Installed tosser -----

	* runin.sh: new script running `runtoss' and `rununpack' for
	  .pkt's and mail archives in the normal and protected Binkley
	  inbound.

	* rununpack.sh: new script for unpacking mail archives in the
	  BinkleyTerm inbound.

	* ftntoss.c: new counter msgs_empty and statistics.
	  (do_netmail): check for empty messages and kill them. FIXME:
	  should be configurable.

	* ----- Installed ftntoss, runtoss -----

	* ftntoss.c: new flag severe_error, indicating that ftntoss should
	  exit and continue processing the renmaining packets. New counter
	  msgs_routed, msg_insecure.
	  (toss_echomail, do_netmail): set severe_error if an error occurs
	  while opening/writing output packet.
	  (unpack_file): call rename_bad(), if opening/processing packet
	  fails. Return ERROR to main() only if severe_error is set, thus
	  continuing tossing after a bad packet.
	  (main): output msgs_routed, msgs_insecure statistics.
	  New count msgs_unknown and statistics for message in unknown areas.

Wed Oct  5 13:55:59 1994  Martin Junius  (mj@sungate)

	* Makefile (install-dirs): creation of necessary directories for
	  tosser now correct.

	* ----- Installed ftntoss, runtoss -----

	* runtoss.sh: added new type `pin' and `in', tossing .pkt's from
	  BinkleyTerm inbound (protected, normal).

	* ftntoss.c (do_echomail): implemented security checks for routed
	  EchoMail (if(!n_flag) ...) and EchoMail from nodes not listed in
	  AREAS.BBS (if(!t_flag) ...). Better log() messages.

Tue Oct  4 08:00:27 1994  Martin Junius  (mj@sungate)

	* ----- Installed tosser -----

	* ftnpack.c (do_file): removed debug() message.
	  (do_pack): new debug() messages.
	  changed some debug() messages.

	* ftntoss.c (unpack_file): new debug() message.

	* ftnroute.c (do_cmd): implemented CMD_SENDMOVE.
	  (flav_to_out): new function converting flavor to Binkley
	  outbound extension (.hut, .cut, .dut, .out).
	  (do_file): fclose(), unlink() moved to do_packet().
	  (do_packet): new arg pkt_name, now this function closes the
	  packet file after reading and copying, and removes it if
	  successful.
	  (do_move): new function performing `sendmove' command by simply
	  renaming packet file.
	  (flav_to_asc): copied from ftnpack.c
	  (do_routing): new debug() message suitable for interactive
	  operation.

	* routing.c (parse_pkt_name): set desc.move_only to FALSE.

	* structs.h (PktDesc): new field move_only.

	* ftnroute.c (do_file): removed debug() message.

	* routing.c (parse_cmd): new `sendmove' command.

	* structs.h (CMD_SENDMOVE): new #define for `sendmove' routing
	  command.

	* ********** RELEASE 3.8 **********

 	* ----- Installed this version -----

	* RCS check in: update 3.8.0.7

	* patchlevel.h (BETA): commented out, this is going to be the
	  release version.

	* message.c (msg_format_buffer): line break at space only if space
	  found between MAX_LINELEN/2 ... MAX_LINELEN.

Sat Oct  1 14:39:19 1994  Martin Junius  (mj@sungate)

	* rfc2ftn.c (mail_sender): #ifdef PASSTHRU_NETMAIL: if `Gateway'
	  is set in config file, parse_address() will succeed even for
	  non-FTN addresses. Must check isfido() too.

Sun Sep 25 14:08:13 1994  Martin Junius  (mj@sungate)

	* rfc2ftn.c (usage): -B has argument.

	* out-attach.c (usage): -B and -F have arguments.

	* ----- Installed this version -----

	* ftntoss.c (usage): -g has argument.

	* ftnroute.c (usage): -g has argument.

	* ftnpack.c (usage): -B and -g have arguments.

	* *** Released as FIDOGATE 3.8 BETA 8 (diff only) ***

	* RCS check in: update 3.8.0.6

	* patchlevel.h (BETA): new beta 8.

	* rfc2ftn.c (snd_message): time of ^ASPLIT is the current time of
	  the first split message.

	* ftntoss.c (main): add "msgs processed" statistics to log().
	  (main): but only, if msgs_in > 0.

	* ftnpack.c (check_old): check for old file. Old == last modified
	  more than 24h ago.
	  (arcmail_remove_old): remove old, empty ArcMail archives for
	  this weekday, i.e. the size 0 archives from last week.
	  (do_arcmail): call arcmail_remove_old() before arcmail_search().

Fri Sep 23 08:40:24 1994  Martin Junius  (mj@sungate)

	* ftnpack.c (arcmail_name): use cf_main_aka() for computing source
	  - target for ArcMail archive names. Should be what SQUISH does.

	* binkley.c, ffx.c, ffxbatch.c, ftnpack.c, ftnroute.c, rfc2ftn.c:
	  removed #include <sys/stat.h>.

	* fidogate.h: #include <sys/stat.h>.

	* config.c (cf_main_addr, cf_n_main_addr): new functions returning
	  main aka, independent of current zone setting.

Thu Sep 22 14:03:26 1994  Martin Junius  (mj@sungate)

	* config.h: #define ROUTE_VIA_FTN_GATEWAY removed.

	* rfc2ftn.c (snd_message): same.

	* address.c (parse_address): removed #ifdef ROUTE_VIA_FTN_GATEWAY,
	  replaced with if(cf_gateway().zone), allowing runtime
	  configuration.

	* config.c (cf_debug): removed #ifdef around gateway output.

	* ftnpack.c (main): same g_flag handling as in ftnroute.

	* ftnroute.c (main): default value of g_flag is 0. If no -g option
	  is given, process all grades.

	* ftn2rfc.c (unpack): set addr_from.addr to cf_fqdn(), if
	  ALIASES_ARE_LOCAL is enabled.

	* config.h (ALIASES_ARE_LOCAL): new #define. If enabled all
	  addresses found in ALIASES will be rewritten so that the
	  sender's address is the gateway address.

	* address.c (parse_address): move vars i, dlen, diff to local
	  if scope inside #ifdef MAUS_DE_TO.

Wed Sep 21 08:35:36 1994  Martin Junius  (mj@sungate)

	* ----- Installed this version -----

	* runtoss.sh: new script for running ftntoss, ftnroute, ftnpack.

	* Makefile: updated several stuff.

	* rfc2ftn.c (snd_message): msg->subject not set yet, when doing
	  file attach. Used argument subj instead.
	  (snd_message): open output packet/file attach: return
	  EX_CANTCREAT in case of error.

Tue Sep 20 13:52:43 1994  Martin Junius  (mj@sungate)

	* config.h: using #ifdef ISC for ISC UNIX, -DISC must be passed on
	  gcc command line.

Mon Sep 19 08:10:18 1994  Martin Junius  (mj@sungate)

	* ftn2rfc.c: removed "PROGRAM: " and "ftn2rfc: " from all log()
	  messages. 

Sun Sep 18 14:49:36 1994  Martin Junius  (mj@sungate)

	* *** Released as FIDOGATE 3.8 BETA 7 ***

	* ----- Installed this version -----

	* RCS check in: update 3.8.0.5

	* config.h: #ifdef __xxxx__: definition for ISC 3.x, GNU by
	  jdeitch@jadpc.jd.com (Jim Deitch). Correct #ifdef still missing.

	* config.c (cf_set_addr, cf_set_fake, cf_set_uplink): accept FTN
	  style (Z:N/F.P) as well as Internet style (P.F.N.Z) address
	  strings. 

	* date.c (get_tz_name): DO_HAVE_TZNAME: correct field is tm->tm_isdst.

	* ftnaf.c (cmd_listall): implemented this command.
	  (cmd_unlinked): implemented this command.
	  (cmd_help): included FIDOGATE/ftnaf version number, updated help
	  text.

	* ftnlock.c (main): implemented locking und unlocking.

	* ftnpack.c (main): -l option requires no argument.

	* ftnlock.c: new utility, command line interface to lock files in
	  SPOOLDIR/locks. 

	* ftnroute.c (main): same error handling as in ftnpack.c:main().

	* ftnpack.c (usage): new -P --pkt option.
	  (do_packing): if -P option is set (pkt_flag), set packet
	  description to unknown grade/type and normal flavor.
	  (main): implemented -P option.
	  (main): file matching pattern is "*.pkt" for -P option.
	  (main): break for loop, if do_file() returns ERROR, setting exit
	  code to EXIT_ERROR.

	* rfc2ftn.c (main): implemented new option -W, write crash to
	  Binkley outbound. Added argument to option -w, default outbound
	  flavor.
	  (usage): new -W --write-crash option.
	  (snd_message): if -w option is set, use argument flavor for
	  outbound packet. If -W option is set, only write crash mail
	  directly to the Binkley outbound.

Sat Sep 17 15:01:29 1994  Martin Junius  (mj@sungate)

	* ----- Installed ftnaf -----

	* ftnaf.c (do_command): command `UNLINKED' replaces `NOTIFY'.
	  (do_command): new command `LISTALL'.
	  (cmd_listall): renamed old cmd_list().
	  (cmd_list): renamed old cmd_query().
	  (cmd_query): renamed old cmd_notify().
	  (cmd_unlinked): new function for `UNLINKED' command.
	  (cmd_help): updated help text.
	  (usage): updated usage text.

	* ----- Installed this version -----

	* patchlevel.h (BETA): 7

	* rfc2ftn.c (snd_mail): allow only true local users to use the
	  X-Flags header.

	* rfcheader.c (header_hops): return number of hops (Received:
	  ... header lines) of message.

	* address.c (addr_is_local): local address without host.domain,
	  e.g. "mj" also yields TRUE.

	* ftn2rfc.c (unpack): support for FIDO MSG_RRREQ flag, writing
	  Return-Receipt-To header.
	  (unpack): Return-Receipt-To: use address without real name
	  comment as for From_ line.

Fri Sep 16 18:24:41 1994  Martin Junius  (mj@sungate)

	* rfc2ftn.c (snd_message): info lines (" * To: ..." etc.) only in
	  first part of split message.
	  (snd_message): if -w mode and MSG_FILE attribute is set, attach
	  file, name taken from subject.
	  (snd_mail): X-Flags: F sets file attach attribute.

Wed Sep 14 13:08:18 1994  Martin Junius  (mj@sungate)

	* ftnpack.c (do_noarc): implemented this function, reading
	  messages from input packet and writing them to .OUT (or .HUT,
	  .DUT, .CUT) packet file in Binkley outbound.
	  (do_noarc): cf_set_zone() before opening outbound packet.
	  (do_pack): do ArcMail only for non-crash packets.

	* ftnroute.c (do_packet): removed "PROGRAM: " from log() messages.

	* ftntoss.c (unpack): same.

	* ftnroute.c (do_packet): error check for pkt_get_msg_hdr().

Tue Sep 13 08:23:32 1994  Martin Junius  (mj@sungate)

	* ftnpack.c (usage): new -m --maxarc option.
	  (main): implemented -m option.
	  (arcmail_search): next archive number, if size of archive file
	  exceeds maxarc (command line option -m).

Mon Sep 12 08:05:50 1994  Martin Junius  (mj@sungate)

	* RCS check in: update 3.8.0.4

	* ftnpack.c (check_size): new function returning size of file.
	  (arcmail_search): new function searching ArcMail archive in
	  outbound. It searches for the latest of the archive extensions
	  (mo0 ... mo9, 9 is latest). If the found archive is a
	  zero-length, truncated one, it will be removed and the archive
	  name is set to the next number (e.g. mo0 -> mo1).
	  (do_arcmail): call arcmail_search().

	* ftnroute.c (usage): new -M --maxopen option.
	  (main): implemented -M option.

	* fidogate.h, lock.c, log.c, misc.c, prototypes.h, rfcaddr.c:
	  applied patches for compiling FIDOGATE under OS/2.

	* config.h (MAXOPENFILES): max number of output packet files
	  concurrently opened by ftntoss/ftnroute.
	  (__EMX__, OS2): system dependent defintions for OS/2 with the
	  EMX GNU gcc.

	* Makefile: changes for OS/2 as comments.

	* ftntoss.c (usage): new -M --maxopen option.
	  (main): implemented -M.

	* outpkt.c (outpkt_fopen): renamed outpkt_open_retry(). Now checks
	  number of open packet files (outpkt_nopen) against max. allowed
	  number of open packet files (outpkt_maxopen), closing an old
	  packet file, if exceeded.
	  (outpkt_set_maxopen): new function setting value of outpkt_maxopen.
	  (outpkt_open): back to using old sequencer().
	  (outpkt_sequencer): removed.

Sun Sep 11 12:31:13 1994  Martin Junius  (mj@sungate)

	* ftntoss.c (do_echomail): return error code from toss_echomail().
	  (unpack): return ERROR if do_echomail() or do_netmail() fails.
	  (unpack_file): return ERROR, if anything fails, no more exit()'s.
	  (main): if unpack_file() fails, set return code to EXIT_ERROR
	  and terminate processing.

	* outpkt.c (outpkt_sequencer): special wrapper around
	  sequencer_nx(), retrying failed open of sequencer file by
	  closing output packet files.
	  (outpkt_open): use outpkt_sequencer().

	* sequencer.c (sequencer_nx): new version of old sequencer()
	  function, returning -1L, if the sequencer file can't be opened.
	  (sequencer): wrapper around new sequencer_nx(), terminating
	  program, if sequencer file can't be accessed.

	* kludge.c (kludge_pt_intl): removed debug() messages.

	* Changed copyright notice to include year 1994, FIDO address to
	  new 2:2452/110.1.

	* config.h (R_MODE and other): #ifdef DO_BINARY was wrong, doing
	  binary for DO_BINARY _not_ defined and vice versa. ;-)

	* packet.c (pkt_debug_msg_hdr): new argument txt for additional text.
	  (pkt_debug_hdr): dito.

	* ftntoss.c (unpack): maxmsg processing only if maxmsg != 0.

	* outpkt.c (outpkt_close): set outpkt_first, outpkt_last to NULL
	  after closing all output files.
	  (outpkt_close): debug() for close and rename.

Sat Sep 10 15:04:34 1994  Martin Junius  (mj@sungate)

	* ftntoss.c (usage): new -m --maxmsg, -x --maxmsg-exit options.
	  (main): implemented -m and -x options.
	  (msgs_in, msgs_netmail, msgs_echomail): global counters for
	  program stats.
	  (unpack): check for number of messages exceeding maxmsg. Set
	  must_exit flag or call outpkt_close().
	  (main): if must_exit is set, stop processing after current
	  packet, close output files, and exit with EXIT_CONTINUE (3).

	* outpkt.c (outpkt_close): put 0-word and renaming only if file is
	  (re)opened.
	  (OutPkt): new field `n' for counting number of messages written
	  to this packet file.
	  (outpkt_open): increment p->n for each call to function,
	  starting at 1.
	  (outpkt_close_ln): new function closing output packet with least
	  number of messages.
	  (outpkt_open_retry): new function opening output packet,
	  retrying by calling outpkt_close_ln(), if file can't be
	  opened. This is necessary because of the limited number of files
	  that may be opened with fopen() / per UNIX process.
	  (outpkt_open): use outpkt_open_retry(), reopen if necessary.
	  (outpkt_close): use outpkt_open_retury(), reopen if necessary to
	  write terminating 0-word.

Mon Aug 15 12:52:46 1994  Martin Junius  (mj@sungate)

	* *** Released as FIDOGATE 3.8 BETA 6 ***

	* RCS check in: update 3.8.0.3

	* patchlevel.h (BETA): 6

	* rfc2ftn.c (main): new option -t --to, get mail recipients from
	  To, Cc, and Bcc headers. Makes rfc2ftn behave like sendmail -t.
	  (sendmail_t): new function calling snd_mail() for each address
	  in To, Cc, and Bcc.
	  (main): call sendmail_t(), if -t option is given.

	* ffxqt.c (do_ffx): oops! Don't rename to .bad if node is
	  busy. That's the result of stupid search and replace. ;-)

Sun Aug 14 19:53:32 1994  Martin Junius  (mj@sungate)

	* ----- Installed ffxqt -----

	* ffxqt.c (do_ffx): no error, if parse_ffx() fails. This might be
	  a file, which is still being written to by BinkleyTerm.

Sat Aug 13 15:17:40 1994  Martin Junius  (mj@sungate)

	* ----- Installed this version -----

	* ffxqt.c (exec_ffx): check command, only chars [a-zA-Z0-9] are
	  allowed in first word (command name).

	* log.c (log): " " after errno.

	* ffxqt.c (parse_ffx): bug fixed.
	  (do_ffx): log() failed exec_ffx() and renaming to .bad.

	* binkley.c (bink_bsy_create): removed first debug() message.

	* RCS check in: update 3.8.0.2

	* ffxqt.c (parse_ffx): remove chars $&();<>^`| from command line.
	  The command line is passed to the shell, where these chars have
	  special meanings, leading to errors or security problems. This
	  should really fixed by _not_ using system() to execute the command.
	  (do_ffx): removed "ffxqt: " from log() messages, already done by
	  new log() function.
	  (do_ffx): rename .ffx control file to .bad, if control file
	  can't be parsed, wrong password, or exec_ffx() fails.

Fri Aug 12 12:23:45 1994  Martin Junius  (mj@sungate)

	* ftnpack.c (main): same.

	* ftntoss.c (main): -l --lock-file option and lock file processing
	  like in ftnroute.c

	* config.h (SEQ_MQ): sequencer for new program queuemail.

	* lock.c (lock_lockfile): new function creating lock file.
	  (unlock_lockfile): ... removing ...
	  (lock_program): new function creating lock file in SPOOLDIR/LOCKS.
	  (unlock_program): ... removing ...

	* config.h (LOCKS, TOSS, TOSS_IN, TOSS_TMP, TOSS_OUT): dirs in
	  SPOOLDIR used for lock files, tosser input, temporary, output.

	* sysexits.h (EXIT_OK, _ERROR, _BUSY, _CONTINUE): exit codes used
	  by ftntoss/ftnroute/ftnpack.

	* ftnroute.c (main): new -l --lock-file option, no argument,
	  creating lock file SPOOLDIR/LOCKS/PROGRAM while processing
	  do_file().
	  (main): use TOSS_TMP and TOSS_OUT for default input/output
	  directories.

	* binkley.c (bink_bsy_create): sleep() in loop only if wait==TRUE.

Thu Aug 11 00:20:18 1994  Martin Junius  (mj@sungate)

	* binkley.c (bink_mkdir): mkdir() doesn't like `/' at end of path.
	  (bink_mkdir): chmod(buf, DIR_MODE) after mkdir().

	* rfc2ftn.c (snd_message): add arg to pkt_open() call. TRUE
	  (create BSY files) when writing to outbound, FALSE else.

	* ftnbounce.c (do_message): same.

	* ftn2ftn.c (do_message): add FALSE arg to pkt_open() call.

	* packet.c (pkt_open_node): new arg `bsy' controlling creation of
	  BSY file for node.
	  (pkt_open): new arg `bsy', see pkt_open_node().

	* binkley.c (bink_bsy_create): call bink_mkdir() to ensure that
	  directories exist.
	  (bink_attach): same.

	* ftnpack.c (do_pack): create/delete BSY files. Skip packing for
	  node, if busy.

	* ftnroute.c (parse_pkt_name): removed.

Wed Aug 10 14:04:02 1994  Martin Junius  (mj@sungate)

	* RCS check in: update 3.8.0.1

	* ftnpack.c (check_access): new function checking for existing
	  file or directory using stat().
	  (bink_mkdir): new function creating zone/point directory in
	  Binkley outbound if necessary.
	  (do_noarc): "noarc" archiver, directly write to outbound .OUT
	  packet file. (not yet implemented)
	  (do_prog): call external program for packet file. (not yet
	  implemented)
	  (do_pack): check packing mode and call corresponding function.
	  (do_arcmail): set permissions of ArcMail archive to PACKET_MODE.
	  (do_pack): set all -1 desc->node fields to 0.
	  (check_access, bink_mkdir): moved to binkley.c.
	  (PktDesc): struct moved to structs.h.
	  (parse_pkt_name): moved to routing.c.

	* ----- Installed ftnaf -----

	* ftnaf.c (do_mail): strip spaces at end of lines read from mail
	  message.

Tue Aug  9 21:15:56 1994  Martin Junius  (mj@sungate)

	* ftnpack.c (parse_pkt_name): parse packet file name to PktDesc
	  struct, same function as in ftnroute.c.
	  (do_packing): search packing command for packet and do it.
	  (do_file): process one packet file.
	  (arcmail_name): return name of ArcMail archive file for node.
	  (pkttime_name): return name packet to be archived for node.
	  Packet name in UNIX time as 8 digit hex number.
	  (do_arcmail): do the actual archiving: rename packet file, add
	  to ArcMail archive, delete packet file.

	* ftnpack.c new functions for PACKING config file reading:
	  (parse_pack): parse command.
	  (parse_arc): parse archiver/program name.
	  (new_arc): add new archiver/program definition.
	  (packing_init): read file and store commands in linked list.

Mon Aug  8 08:02:09 1994  Martin Junius  (mj@sungate)

	* *** Released as FIDOGATE 3.8 BETA 5 ***

	* ftnpack.c: skeleton for new ftnpack program, packing (ArcMail)
	  output packets of ftnroute for Binkley outbound. Structure taken
	  from ftnroute.c

	* ftnbounce.c: changed program skeleton somewhat. Now takes node
	  address(es) on command line and reads these packets. Still no
	  actual bouncing code ...

	* ----- Installed this version -----

	* rfc2ftn.c (snd_message): use #ifdef FSC_0047 for new ^ASPLIT
	  kludge ./. old-style " * Large message split ...".
	  (snd_message): removed (was already commented) old signature
	  removal code.
	  (snd_message): add one empty line after To/From RFC header lines
	  and before " * " info lines to make ifgate happy.

	* config.h (FSC_0047): new #define FSC_0047 for ^ASPLIT kludge.
	  (DO_ORIGID): new #define for old ^AORIGID kludge.
	  (DO_NEW_MSGID): new #define for new ^AMSGID kludge.

	* Major RCS check in: revision 3.8 for all files.

	* outpkt.c (SEQ_TOSS): #define moved to config.h

	* ftnaf.c (do_mail): skip lines starting with " * ", skip white
	  space at beginning of line now working, passing p to do_command().

	* patchlevel.h (BETA): new BETA version 5

	* outpkt.c (outpkt_open): use decimal for numbering output packets.

	* ftntoss.c (usage): new -s --strip-attribute option.
	  (main): implemented -s option, global var s_flag.
	  (do_netmail): check s_flag when setting flavor from message
	  attribute. 
	  (change_addr): change Node address according to rewrite pattern.
	  (do_rewrite): do "rewrite" commands for message, rewriting from
	  and to Node addresses, if specified in ROUTING.
	  (do_remap): do "remap" commands for message, remapping messages
	  addressed to user to target address.

Sun Aug  7 13:27:54 1994  Martin Junius  (mj@sungate)

	* routing.c (parse_cmd): new command "rewrite".
	  (routing_init): set r->next = NULL.
	  (routing_remap): new function processing "remap" line in ROUTING
	  config file and putting Remap entry into linked list.
	  (routing_rewrite): same for "rewrite".

	* ftntoss.c, ftnroute.c: removed functions, which are now in
	  outpkt.c, routing.c, several other changes.

	* ftntoss.c (main): implemented -r --routing-file option, same as
	  in ftnroute.

	* outpkt.c: new module with function outpkt_open(), outpkt_close()
	  for ftntoss/ftnroute.

	* packet.c (pkt_get_outdir): new function returning packet_dir[].

	* structs.h (Remap, Rewrite): new structs for `remap' and
	  `rewrite' routing commands.

	* ftntoss.c (kludge_to_lon): remove lon_debug().

	* node.c (lon_debug): new function for debugging LON, taken from
	  ftnroute.c

	* routing.c: new module with functions form ftnroute.c:
	  get_rnumber(), asc_to_rnode_partial(), asc_to_rnode_diff(),
	  parse_cmd(), parse_flav(), routing_init(), node_match().

	* prototypes.h: moved all typedef's and struct's to structs.h.

	* fidogate.h: moved struct definitions and function prototypes to
	  new header files "structs.h" and "prototypes.h".

Sat Aug  6 00:11:28 1994  Martin Junius  (mj@sungate)

	* ftntoss.c (do_echomail): use msg->node_from for 4D point checking.
	  (usage): new -t --insecure, -n --toss-all options.
	  (main): implemented -t and -n option.

Fri Aug  5 23:31:57 1994  Martin Junius  (mj@sungate)

	* ftntoss.c (do_netmail): additional Packet *pkt arg.
	  (do_echomail): additional Packet *pkt arg.
	  (unpack): pass pkt as arg to do_netmail(), do_echomail().
	  (do_echomail): add pkt->from to SEEN-BY LON, if the packet
	  originates from a 4D point.
	  (lon_to_kludge, lon_to_kludge_sorted): rewrite of these
	  functions. Output is now written to a Textlist, 4D point are not
	  added to the output.
	  (toss_echomail): removed calls to lon_to_kludge/_sorted(), now
	  done in do_echomail().
	  (do_echomail): add new SEEN-BY and ^APATH lines by calling
	  lon_to_kludge_sorted(), lon_to_kludge() before toss_echomail().
	  (do_echomail): log unknown area and dump message.

Thu Aug  4 00:17:53 1994  Martin Junius  (mj@sungate)

	* *** Released as FIDOGATE 3.8 BETA 4 ***

	* Looks good so far ...
	  RCS check in: update 3.7.1.12

	* patchlevel.h (BETA): version BETA 4

	* ftntoss.c (main): outpkt_close() after processing all packet.
	  FIXME: should be done after a certain number of processed
	  messages.
	  (add_via): guess what? ;-)
	  (do_netmail): add ftntoss ^AVia line.

	* packet.c (pkt_put_msg_hdr): debug message header for verbose >= 3.
	  (pkt_get_msg_hdr): set msg->area = NULL, debug message header
	  for verbose >= 3.

	* ftnroute.c (get_rnumber, asc_to_rnode_partial,
	  asc_to_rnode_diff): special version of node string parsing,
	  allowing "*" and "all" for specifying wildcard patterns. The
	  appropiate Node field is set to -1 for "*" or "all".
	  (Routing): structure for linked list of routing commands.
	  (parse_cmd): convert command keyword to value.
	  (parse_flav): convert flavor keyword to value.
	  (routing_init): read file with routing commands and store in
	  linked list.
	  (main): new -r --routing-file option for setting routing file.
	  (node_match): compare node against pattern, using -1 for
	  wildcard match.
	  (PktDesc): structure for describing packet: to node, grade,
	  type, flavor.
	  (parse_pkt_name): parse packet name to PktDesc struct.
	  (do_routing): apply routing commands to packet and write
	  contents to output packet.
	  (do_cmd): exec one routing command.
	  (do_file): process one packet file, open, read header,
	  do_routing(), close, delete.
	  (add_via): add ftnroute to ^AVia lines.
	  (do_packet): process one packet, reading messages from input
	  packet, writing to output packet.
	  (outpkt_open, outpkt_close): ass in ftntoss.
	  (main): outpkt_close() after processing. FIXME: should be done
	  after a certain number of message processed.

Tue Aug  2 08:44:49 1994  Martin Junius  (mj@sungate)

	* All programs and utilities: inserted log_program(PROGRAM).
	  toaddr, ftnin, out-attach: added log_file("stderr").
	  pktdebug: added log_file("stdout").

	* Makefile (ffxrun): removed fakelog.o/stdoutlog.o

	* pktdebug.c (main): set log_file("stdout").

	* stdoutlog.c: removed.

	* fakelog.c: removed.

	* log.c (logname): name of log file, if not default.
	  (logfile): FILE for log file, if stdout or stderr.
	  (logprog): program name for logging, default "FIDOGATE".
	  (debugfile): FILE for debug output, default stderr.
	  (log): major rewrite using new logname, logfile, logprog,
	  debugfile.
	  (debug): rewrite using new debugfile.
	  (log_file): new function setting name for log file. "%L/xxx" is
	  file "xxx" in LIBDIR, "stdout"/"stderr" are standard output and
	  standard error, respectively. If "stdout" is set, debug output
	  will also be written to stdout.

	* ftnroute.c: new program routing output packets of ftntoss to the
	  destination node. Overall structure taken from ftntoss.c.

	* RCS check in: update 3.7.1.11

	* ftntoss.c (do_netmail): write NetMail message to output packet
	  addressed to recipient. Flavor (cut, hut, out) set depending on
	  message attributes.

	* crc32.c (main): TEST main() computing CRC32 for concat'ed argv[].

	* ftntoss.c: first version of an FTN tosser based on FIDOGATE.
	  Implemented the functions for tossing EchoMail, sending the
	  message to all nodes listed in AREAS.BBS for the specific area.
	  (OutPkt): linked list entry for keeping track of packet file in
	  output directory.
	  (outpkt_open): open new packet file in output directory/return
	  FILE * for already existing one. Packet naming scheme:
	      <G><T><NNNNNN>.<FLV>
	      G      packet grade (n=normal, i=inseucre)
	      T      packet type  (e=EchoMail, n=NetMail)
	      NNNNNN packet sequence number
	      FLV    outbound flavor: out, hut, cut, dut
	  (outpkt_close): close all output packets: writing terminating
	  end-of-packet 0-word, rename .tmp -> .out, delete OutPkt entry.
	  (lon_to_kludge): output LON as kludge line list (^APATH) to
	  packet file.
	  (lon_to_kludge_sorted): output LON as sorted list (SEEN-BY) to
	  packet file.
	  (toss_echomail): send EchoMail message to all nodes in LON new.
	  (lon_debug): debug output for LON.
	  (kludge_to_lon): convert kludge line list (SEEN-BY, ^APATH) to LON.
	  (do_seenby): compare nodes from AREAS.BBS to nodes in SEEN-BY
	  list. New nodes (not already in SEEN-BY) are put into LON new.
	  (do_path): add own address to ^APATH LON.
	  (do_echomail): process EchoMail message.
	  (do_netmail): process NetMail message (nothing done yet).
	  (unpack): unpack packet file.
	  (unpack_file): open packet file, read header, feed to unpack(),
	  and delete after processing.

	* pktdebug.c (main): -t option includes -m option.

Mon Aug  1 12:34:50 1994  Martin Junius  (mj@sungate)

	* ftn2ftn.c (do_message): added TRUE arg for change msg_put_msgbody().

	* message.c (msg_put_msgbody): new arg `term'. If TRUE,
	  terminating 0-byte will be written.

	* ftn2rfc.c: replace BUFSIZ with MAXPATH for file/dir name buffers.

	* areasbbs.c (areasbbs_lookup): new function searching area in
	  AREAS.BBS list.

	* ftn2rfc.c (unpack): use PROGRAM for log program name.
	  (usage): -t is insecure option.

	* ftnbounce.c: new utility bouncing NetMail/EchoMail addressed to
	  unknown FTN nodes.
	  (main): added -B --binkley option.

Thu Jul 28 08:14:04 1994  Martin Junius  (mj@sungate)

	* ftnaf.c (mailer_open): added missing `\n' to Subject header.

Wed Jul 27 21:46:42 1994  Martin Junius  (mj@sungate)

	* rfc2ftn.c (snd_message): implemented ^ASPLIT kludge according to
	  FSC-0047. 
	  (snd_message): new arg `subj', original subject from RFC Subject
	  header line. Generate FTN subjects with "nn: " before original
	  subject for part number >= 2. (New FIDO-Gatebau '94 specs)

	* ftnaf.c (main): bink_bsy_create_all(WAIT), not NOWAIT!

Tue Jul 26 08:56:45 1994  Martin Junius  (mj@sungate)

	* ----- Installed this version -----

	* ftn2rfc.c (unpack): X-FTN-From/To only for mail.
	  (unpack): cf_set_zone() area's zone for EchoMail, sender's zone
	  for NetMail.

	* patchlevel.h (BETA): changed to BETA 3

	* ftn2rfc.c (unpack): output extra headers X-FTN-From, X-FTN-To
	  (#ifdef X_FTN_FROMTO).
	  (unpack): put node from Origin line as FQDN into Path header.

	* config.c (cf_zones_ftn_domain): new function returning FTN
	  domain for FTN zone as configured in CONFIG.

	* ftn2rfc.c (unpack): output extra X-FTN-Domain header with zone
	  and corresponding FTN domain.

	* ftnaf.c (do_command): process commands starting with `%'
	  correctly.
	  (do_mail): also check X-FTN-From for FTN node address of sender.
	  Format: X-FTN-From: User Name @ Z:N/F.P
	  (cmd_help): add command `PASSWORD'.
	  (do_command): if line starts with `%' don't interpret unknown
	  command as area to add, output error message. Add `PASSWORD' as
	  an alias for `PASSWD'.

Mon Jul 25 13:11:55 1994  Martin Junius  (mj@sungate)

	* ----- Installed this version (complete) -----

	* passwd.c (passwd_init): bug fixed.

Sun Jul 24 11:01:03 1994  Martin Junius  (mj@sungate)

	* ----- Installed ffxbatch -----

	* ffxbatch.c (ffx): lookup passwd for node and add P line to ffx
	  control file.
	  (main): call passwd_init().

	* ----- Installed ffx -----

Thu Jul 21 00:06:58 1994  Martin Junius  (mj@sungate)

	* ftnaf.c (do_mail): don't return `access denied' mail,
	  allowing commands `PASSWORD' and `HELP' for not yet authorized
	  nodes. (#if 0 ... #endif)
	  (do_command): added `DEL' alias for `REMOVE' command.
	  (cmd_query): check authorized flag.
	  (cmd_notify): check authorized flag.
	  (cmd_add): check authorized flag.
	  (cmd_remove): check authorized flag.
	  (cmd_help): added new `DEL' command.
	  (cmd_passwd): implemented this command: set node address and
	  authorize node with password. Allows changing of the AKA on the
	  fly and helps, if the address from the From header doesn't match
	  the PASSWD entry (multiple addresses for a single hostname).
	  (do_mail): additional instructions if authorization failed.
	  
	* ----- Installed this version ----- (install-gate)

	* ftn2rfc.c (unpack): check_origin() only for EchoMail, not for
	  NetMail. 

Tue Jul 19 21:48:17 1994  Martin Junius  (mj@sungate)

	* ----- Installed this version ----- (except ffx utilities)

	* RCS check in: update 3.7.1.10

	* version.c (version_global): output beta version number (from
	  #define BETA n in patchlevel.h) after BETA, if beta version.

	* patchlevel.h (BETA): define to value, current BETA version.

	* ftnaf.c (main): reversed meaning of -r flag, now --no-rewrite,
	  reply to Areafix request will not be send by mail.
	  (main): call hosts_init().

Mon Jul 18 19:44:09 1994  Martin Junius  (mj@sungate)

	* ffxqt.c (main): call passwd_init().
	  (do_ffx): check password for all ffx files. ffx with no or wrong
	  password will not be processed. Without the -t option, a
	  password is mandatory.

	* ffx.c (ffx): lookup password for node and write as P password
	  line to ffx control file, if one is specified in PASSWD.
	  (main): call passwd_init().

	* ftnaf.c (main): processing areafix command from mail: create bsy
	  files around operations areasbbs_init(), do_mail(),
	  rewrite_areas_bbs(). 
	  (main): check return value from areasbbs_init().
	  (mailer_open): add Errors-To: POSTMASTER@FQDN header.

	* ffxqt.c (main): use new bink_bsy_create_all(),
	  bink_bsy_delete_all().
	  (create_bsy_files, delete_bsy_files): removed.
	  (FFX): new field password.
	  (parse_ffx): new ffx line P password.
	  (do_ffx): new parameter t_flag.
	  (usage): new -t --insecure option.
	  (main): implemented -t option.

	* ftnin.c (delete_bsy_files, create_bsy_files): removed.
	  (do_packets): traverse configured addresses by calling
	  cf_addr_trav().
	  (main): use new bink_bsy_create_all(), bink_bsy_delete_all().

	* binkley.c (bink_bsy_create_all): new function creating bsy files
	  for all configured addresses (CONFIG).
	  (bink_bsy_delete_all): new function deleting bsy files created
	  by bink_bsy_create_all().

	* areasbbs.c (areasbbs_init): changed return value to int, OK or
	  ERROR, no automatic abort, if AREAS.BBS can't be opened.

Sun Jul 17 11:08:27 1994  Martin Junius  (mj@sungate)

	* *** Another FIDOGATE 3.8BETA release ***

	* RCS check in: update 3.7.1.9

	* node.c (pfnz_to_node): use debug level 8.

	* packet.c (pkt_open_node): hopefully portable construct for
	  opening a packet file read/write, but creating an empty one if
	  none exists. First the file is opened in append "a" mode, then
	  in read/write "r+" mode. May require retry, if the file is
	  deleted by another process in the meantime. Terminate do {}
	  while loop after 50 retries.

	* ftnaf.c (cmd_help): new function implementing "help" command.
	  (cmd_passwd): new function for "passwd" command, currently dummy.
	  (cmd_list): new function for "list" command, currently dummy.

	* declare.h: prototype for pclose().

	* sysexits.h: reformated #define's.

	* ftnaf.c (mailer_open): new function opening pipe to mailer
	  (/usr/lib/sendmail -t) for reply.
	  (mailer_close): new function closing pipe to mailer, returning
	  exit status of it.

	* RCS check in: update 3.7.1.8

	* All programs (main): additional return 1; at end to avoid warning.

	* fidogate.h (exit): #define exit() as fidogate_exit(), calling
	  this function in all modules. This will allow cleanup of BSY
	  files at all exit()s.

	* exit.c: new module with exit() replacement fidogate_exit().

	* ftnaf.c (do_mail): new function processing mail request in
	  stdin: check From address, check password in Subject, and
	  process Areafix commands in message body.
	  (rewrite_areas_bbs): new function writing AREAS.BBS as
	  AREAS.NEW, keeping up to N_HISTORY old ones as AREAS.Onn,
	  finally renaming AREAS.NEW to AREAS.BBS.

Sat Jul 16 09:52:51 1994  Martin Junius  (mj@sungate)

	* passwd.c (passwd_init): new function reading PASSWD file and
	  storing in linked list.
	  (passwd_lookup): new function for lookup of Passwd entry by
	  context and node address.

	* packet.c (pkt_open): bug fixed: pkt_newname(name) must be called
	  before pkt_create().

	* passwd.c: new module for reading/checking PASSWD file.

	* config.h (PASSWD): new #define for password file.

	* ftnaf.c (match_area): new function matching area name against
	  pattern specified in request. The comparison is case-insensitive
	  and supports shell-like wildcard patterns * ? [].
	  (do_command): parse line in request and execute commands.
	  (cmd_query): do "query" command.
	  (cmd_notify): do "notify" command.
	  (cmd_remove): do "remove" command.
	  (cmd_add): do "add" command.

	* log.c (log): if log file can't be opened, issue error message to
	  stdout. fclose() only if successfully opened.

	* ftnaf.c (main): options ready.

	* config.c (cf_getline): use strip_crlf().
	  (cf_read_config_file): file name starting with "%L/" denotes
	  file in LIBDIR.
	  (cf_read_config_file): new config verb "areasbbs".
	  (cf_areas_bbs): new function returning name of AREAS.BBS file.
	  (cf_set_areas_bbs): new function setting name of AREAS.BBS file.

	* ftnaf.c: new program: Areafix-like AREAS.BBS EchoMail
	  distribution manager.

	* fidogate.h: #include <unistd.h>, removed in all .c files.

	* RCS check in: update 3.7.1.7

	* areasbbs.c: new module with function for processing AREAS.BBS
	  (areasbbs_new): new function converting line from AREAS.BBS to
	  AreasBBS struct.
	  (areasbbs_init): new function reading AREAS.BBS file and
	  converting to linked list.
	  (areasbbs_print): new function writing linked list of AreasBBS
	  to file in AREAS.BBS format, using sorted short format.

	* node.c (lon_init): new function initializing list of nodes.
	  (lon_delete): new function deleting list of nodes, freeing used
	  memory.
	  (lon_add): new function adding node to list of nodes, no check
	  whether node already in contained in this list.
	  (lon_remove): new function removing node from list of nodes.
	  (lon_search): new function searching node in list of nodes.
	  (lon_add_string): new function adding nodes from string with
	  several node address. This function supports the short form used
	  by SEEN-BY, ^APATH, and Areafix/SQUISH AREAS.BBS.
	  (lon_print): new function writing list of nodes to file. Support
	  long and short format.
	  (lon_sort_compare): new comparison function for lon_sort().
	  (lon_sort): new function creating array sorted[] in LON struct
	  with sorted list of nodes.
	  (lon_print_sorted): new function writing sorted list of nodes to
	  file, using short format.

	* node.h (LNode): new struct for doubly linked list of nodes.
	  (LON): new struct for doubly linked list of nodes.

	* node.c (node_invalid): new function setting Node fields to -1.
	  (asc_to_node_partial): new function parsing string with partial
	  node address, e.g. 2/3 2/4 4.10 .11. Fields not parsed from
	  string are set to -1.
	  (asc_to_node_diff): new function parsing string with partial
	  node address (using asc_to_node_partial) in relation to previous
	  address, e.g. oldnode=2:2452/110.0, new string="123.99", parsed
	  address=2:2452/123.99.
	  (node_to_asc_diff): output node address as difference to
	  previous address for short form of sorted list of nodes, e.g.
	  addresses 2:2452/110, 2:2452/110.1, 2:2452/123.99 will be output
	  as "2:2452/110 .1 123.99".
	  (node_cmp): compare to node address, return value similar to
	  strcmp().

	* ftn2rfc.c (strip_crlf): moved to misc.c
	  (strip_space): moved to misc.c

Thu Jul 14 00:03:24 1994  Martin Junius  (mj@sungate)

	* *** Released as first version of FIDOGATE 3.8BETA ***

	* RCS check in: update 3.7.1.6

	* binkley.c (bink_bsy_create, bink_bsy_delete): #ifdef DO_BSY_FILES.

	* config.h (DO_BSY_FILES): new #define controlling use of BSY files.
	  (ADD_FTNPATH_TO_PATH): new #define. If enabled, the addresses
	  from FTN ^APATH and Origin will be put into the RFC Path header.
	  (PACKET_PASSWD): removed because no longer used.
	  Major reordering of #define's: must configuration stuff to
	  beginning of file, more or less constant stuff to the end.

	* rfc2ftn.c (snd_message): if -w flag is set and the message's
	  flavor is crash, write to a .CUT packet for the node/point's
	  boss node.
	  (snd_mail): setting of message attribute from X-Flags only for
	  NetMail. 

	* packet.c (pkt_open_node): total rewrite, using technique similar
	  to bink_out_attach() for opening and locking the OUT file. This
	  function writes a packet header for a new empty packet or
	  appends to an already existing packet seeking back to the end of
	  packet position.

Wed Jul 13 00:05:09 1994  Martin Junius  (mj@sungate)

	* packet.c (pkt_open_node): create BSY file.
	  (pkt_close): delete BSY file, if output to Binkley outbound.

	* rfc2ftn.c (snd_message): pkt_open() .OUT packet in Binkley
	  outbound, if -w option is given.

	* packet.c (pkt_open_node): new function open new/old .OUT packet
	  in Binkley outbound.
	  (pkt_create): new function creating empty new packet.
	  (pkt_open): use new pkt_create().

Tue Jul 12 21:03:43 1994  Martin Junius  (mj@sungate)

	* packet.c (pkt_open): call pkt_open_node() for creating/adding to
	  packet in Binkley outbound.

	* ----- Installed this version -----

	* rfc2ftn.c (main): new -B --binkley option.
	  (usage): new -B --binkley -w --write-outbound options.
	  (main): implemented -w --write-outbound.

	* version.h: RCS check in revision 3.8 for BETA version.

	* version.c (version_global): implemented BETA.

	* patchlevel.h: set to 0, new #define BETA.

	* config.h: removed #define BINKLEY_FLO.

	* rfc2ftn.c (snd_message): last_zone moved to this function,
	  declared static last_zone, sf.
	  Removed packet_file, packet_name, etc., out_name.
	  (main): call pkt_outdir() for -O option.
	  (main): -o sets global o_flag.
	  (new_packet_name, new_packet, close_packet): removed, will be
	  replaced with new function pkt_open(), pkt_close() from packet.c.
	  BINKLEY_FLO stuff removed, will be replaced by improved pkt_open().
	  (mail_receiver): removed commented stuff in #if 0/#endif.

	* Renamed rfc2fido.c to rfc2ftn.c

Mon Jul  4 12:43:41 1994  Martin Junius  (mj@sungate)

	* ----- Installed this version -----

	* ftnin.c: replaced `fido2rfc' with `ftn2rfc'.

	* Renamed fidoin.c to ftnin.c

	* ftn2ftn.c (do_message): FILE *fp must be static, saving FILE
	  pointer for output packet across calls to this function.
	  (do_message): add ^AVia line for messages readdressed to main AKA.

	* RCS check in: update 3.7.1.5

	* ftn2rfc.c (strip_space): new function removing white space at
	  end of line.
	  (unpack): strip_space() FTN header from/to/subject after reading
	  message header.

Sat Jul  2 09:48:24 1994  Martin Junius  (mj@sungate)

	* ftn2rfc.c (unpack): strip_crlf() all ^A kludge and RFC lines. 
	  (get_from, get_to, get_cc, get_bcc): back to old ones,
	  strip_crlf() done in unpack().
	  (unpack): ^AFMPT/^ATOPT/^AINTL processing only for NetMail.
	  (unpack): #define X_FTN now controls output of all X-FTN-Xxxx
	  headers, enabled X-FTN-Seen-By.
	  (unpack): check -g flag for area, if EchoMail. If the message
	  originates from another gateway, skip it.
	  (unpack): skip messages from brain dead gateway software, GIGO
	  for now.

	* rfcaddr.c (NOT_ALLOWED_FULLNAME): () in real comment are o.k.

	* ftn2rfc.c (get_from, get_to, get_cc, get_bcc): apply
	  strip_crlf() to returned string.

	* message.c (msg_body_parse_echomail): there may be empty lines
	  between Origin and SEEN-BY. Something called O/T+ v2.41 seems to
	  be that brain damaged ... well it's FIDO ... ;-)
	  (msg_body_parse_netmail): there may be empty lines lines within
	  the ^AVia lines. Looks like again brain dead O/T-Track+ v2.41 is
	  responsible for this.

	* kludge.c (kludge_pt_intl): ^ATOPT now sets node_to.point

	* ftn2rfc.c (unpack): check ^ACHRS / ^ACHARSET while converting
	  message body.
	  (check_chrs): rewrite of old function check_ctrl_a, now only
	  checking for ^ACHRS / ^ACHARSET.

Fri Jul  1 10:05:24 1994  Martin Junius  (mj@sungate)

	* ftn2rfc.c (msg_format_buffer): moved to message.c
	  (msg_xlate_line): moved to message.c
	  (check_rfc_header): removed.
	  (get_from): retrieve From/Reply-To/UUCPFROM from text body.
	  (get_to): retrieve To from text body.
	  (get_cc): retrieve Cc from text body.
	  (get_bcc): retrieve Bcc from text body.
	  (unpack): recognize ^AMessage-Id generated by GIGO.
	  (unpack): rewrote parsing of ^A kludges for message ids,
	  references to use new function kludge_get() and kludge Textlist
	  in MsgBody.
	  (unpack): changed/added code for X-FTN-Tear, X-FTN-Origin,
	  X-FTN-Via, X-FTN-Seen-By, X-FTN-Path.
	  (check_origin): return ERROR, if buffer==NULL.
	  (strip_crlf): now does what it's supposed to. ;-)

	* rfcheader.c (rfcheader_get): new version of old function
	  header_get(), now taking additional argument, Textlist of RFC
	  headers. 
	  (header_get): calling rfcheader_get().

	* config.h (FTN_RFC_HEADERS): add Bcc to RFC headers.

	* ftn2rfc.c (strip_crlf): new function stripping CR/LF at end of
	  line.
	  (news_msg): AREA:xxxx line passed as argument.
	  (check_origin): now returning OK or ERROR, removed additional
	  check for " * Origin: ".
	  (unpack): removed old parsing of kludges and * Origin line.

	* Makefile (ftn2rfc): new target.

	* ftn2rfc.c: new version of fido2rfc, using new functions for
	  reading/parsing message body.
	  (msg_xlate_line): new function translating control and special
	  chars in text line read from FTN message body.
	  (unpack): use new functions pkt_get_body(), msg_body_parse(),
	  kludge_pt_intl(), msg_xlate_line(). Removed old message body
	  reading loop.
	  (msg_getline): removed.

Thu Jun 30 20:31:18 1994  Martin Junius  (mj@sungate)

	* ffxbatch.c (usage): new option -w --wait-bsy.
	  (main): implemented -w option.

Wed Jun 29 11:56:14 1994  Martin Junius  (mj@sungate)

	* ----- Installed this version -----

	* Makefile (UTIL): new script ffxrun.

	* ffxbatch.c (ffx): set permission of zip archive to DATA_MODE.

	* ----- Installed this version -----

	* ffxmail.sh: new utility script, mail sending frontend for ffx.

	* RCS check in: update 3.7.1.4

	* ffxqt.c (struct FFX): new field char *file for filename from ffx
	  F line.
	  (do_ffx): chdir to inbound directory.
	  (parse_ffx): read and store F line.
	  (exec_ffx): if ffx->in == NULL simply run command.
	  (exec_ffx): remove ffx->file, if != NULL.

	* ffxbatch.c (ffx): don't delete control file, if bink_attach() fails.

	* ffx.c (main): exit with return code from ffx().
	  Create BSY files around ffx() processing, if running in batch
	  (option -b) mode.

	* ffxbatch.c (main): exit with return code from ffx().

	* ffx.c (ffx): bink_attach() without BSY files, if -b option is
	  given (batch != NULL).
	  (ffx): now returns int error code. Replaced all exit()'s with
	  appropiate returns, xfopen() with normal fopen() and error check.

	* ffxbatch.c (main): create BSY file for node while archiving and
	  attaching the batched ffx files.
	  (pack_batch): use ARC_PROG_V as archiver, if verbose > 0. This
	  will display the messages from zip as well.

Tue Jun 28 13:01:14 1994  Martin Junius  (mj@sungate)

	* binkley.c (bink_attach): new parameter bsy controlling use of
	  BSY files while attaching: FALSE - no bsy files, TRUE - use bsy
	  files.

	* ffxbatch.c (ffx): open ffx control file AFTER spooled jobs were
	  archived successfully.
	  (pack_batch): new function archiving spooled ffx jobs in ZIP file.

Mon Jun 27 22:00:11 1994  Martin Junius  (mj@sungate)

	* ffxbatch.c: new utility processing spooled ffx jobs produced by
	  ffx -b. It packs all ffx jobs into a single ZIP archive and
	  attaches it for the specified node.

	* ffx.c (usage): updated, new option -b --batch-dir.
	  (main): implemented -b option. -b includes the -n (no
	  compression) option.
	  (ffx): new parameter batch, passed -b option. If batch != NULL,
	  then ffx jobs will be spooled in OUTBOUND/ZONE/batch and not
	  attached to the FLO file for the node.

Tue Jun 21 00:37:01 1994  Martin Junius  (mj@sungate)

	* misc.c (strncat0): max number for strncat() must be one char
	  less. This fixes the really nasty bug with a malformed posting
	  in comp.os.ms-windows.nt.misc (well, what'd your expect there
	  ;-) and a very long address line passed to inet_to_ftn().
	  Now strncat0() does what it's supposed to, being a _safe_
	  replacement for strncat(). ;-)

Mon Jun 20 09:26:17 1994  Martin Junius  (mj@sungate)

	* address.c (inet_to_ftn): replaced strncpy() and strncat() with
	  strncpy0() and strncat().

	* ----- Installed this version -----

	* RCS check in: update 3.7.1.3

	* pktdebug.c (main): accept "-" file name for standard input.
	  fclose() file after output of packet contents.

	* ftn2ftn.c (do_message): check return value of pkt_open().

	* packet.c (pkt_open): return NULL in case of error, no exit().

	* rfc2fido.c (snd_mail): implemented NO_CONTROL.

	* config.h (NO_CONTROL): new #define disabling passing of news
	  control messages.

	* ftn2ftn.c: moved all kludge_xxxx() functions to kludge.c,
	  moved tl_fput() to textlist.c, moved msg_xxxx() functions to
	  message.c.

	* kludge.c: new module with functions for processing FTN ^A kludge
	  lines.

	* packet.c (pkt_open): new parameter flav specifying flavour of
	  output packet in BinkleyTerm outbound.

	* ftn2ftn.c: moved all pkt_xxxx() functions to packet.c.

Sun May 29 11:13:57 1994  Martin Junius  (mj@sungate)

	* packet.c (pkt_put_msg_hdr): force ^AFMPT back again.

	* ftn2ftn.c (do_outbound): new function processing OUT packet for
	  zone gate in Binkley outbound. With support of BSY files.
	  (main): if no file args are given on command line, process
	  packets for both gateway addresses in Binkley outbound.

Sat May 28 09:23:49 1994  Martin Junius  (mj@sungate)

	* rfc2fido.c (print_via): omit point address, if 0.

	* ftn2ftn.c (tl_fput): new function to write Textlist to file.
	  (msg_put_line): new function writing single line to packet file,
	  checking passed arg for NULL.
	  (msg_put_msgbody): new function writing MsgBody to packet file.
	  (do_message): added output of gated message to packet file.
	  Output packet will be created the same way as done by rfc2fido.
	  (pkt_outdir): new function setting directory for output packets.
	  (do_message): add ^AVia lines with gate addresses.

	* packet.c (pkt_put_msg_hdr): removed comment, now only writing
	  ^AFMPT, if msg->node_from.point != 0.

	* ftn2ftn.c (main): implemented -o, -O.
	  (usage): new options -o --out-packet-file, -O --out-packet-dir
	  setting output packet file name or directory (line rfc2fido).
	  (pkt_outdir, pkt_open, pkt_close, pkt_name, pkt_tmpname,
	  pkt_isopen, pkt_newname): new function for opening/closing
	  output packet files. Similar to the function in rfc2fido.c.
	  (main): o_flag now global.

Fri May 27 08:26:16 1994  Martin Junius  (mj@sungate)

	* ftn2ftn.c (kludge_pt_intl): new function processing the ^AINTL,
	  ^AFMTP, and ^ATOPT kludges in the message body. These kludges
	  are deleted from the message body, the address information ist
	  stored in the message header.
	  (kludge_get): retrieve a kludge line from a Textlist.
	  (usage): new options -A --address-a, -B --address-b, gateway
	  addresses.
	  (main): implemented options -A, -B.
	  (unpack, unpack_file): new arg gate, gateway sender address for
	  processing packet (this is the address the NetMail will come
	  from).
	  (do_message): new function processing one message for the zone
	  gate. Will readdress and convert to/from header.

Thu May 26 14:01:43 1994  Martin Junius  (mj@sungate)

	* ftn2ftn.c: new program ftn2ftn - FTN-FTN gateway for Netmail
	  using %Z:N/F.P addressing in from/to fields. Basic structure
	  taken from fido2rfc.

Wed May 25 20:48:04 1994  Martin Junius  (mj@sungate)

	* fido2rfc.c (main): make wildmat() for *.pkt case-insensitive.

	* rfcaddr.c (rfcaddr_from_ftn): LOCAL_FTN_ADDRESSES mode: don't
	  use user%p.f.n.z@host.domain for nodes registered in HOSTS.

Sat May 21 14:26:50 1994  Martin Junius  (mj@sungate)

	* crc16.c: new module with functions for computing CRC16
	  checksums. Two polynomials implemented: x^16+x^15+x^2+1 (CRC-16)
	  and x^16+x^12+x^5+1 (CRC-CCITT).

	* sumcrc.c: new utility computing CRC32 and CRC16 (CRC-16 and CCITT
	  polynomials) checksums for files. Special options for processing
	  nodelist files: use "sumcrc -1z" to check FIDO nodelist checksum.

Wed May 11 00:01:42 1994  Martin Junius  (mj@sungate)

	* rfc2fido.c (snd_message): changed "splitted" to "split" - aehem. ;-)

	* ----- Installed this version -----

	* ***** Release as 3.7 patch 1 *****

Tue May 10 23:23:55 1994  Martin Junius  (mj@sungate)

	* RCS check in: update 3.7.1.2

	* patchlevel.h (PATCHLEVEL): changed to 1

	* fido2rfc.c (unpack): changed tear line code:
	  - only tear lines starting with "--- " and empty tear lines
	    "---\n" are recognized as possible tear lines.
	  - only non-empty tear lines are written to an X-FTN-Tearline
	    header.

Sat May  7 09:53:23 1994  Martin Junius  (mj@sungate)

	* ----- Installed this version -----

	* RCS check in: update 3.7.1.1

	* pktdebug.c: removed log(), debug(), now linking with stdoutlog.o.

	* stdoutlog.c: new log()/debug(), no output to log file, write to
	  stdout instead of stderr.

	* log.c: replaced #ifdef FAKELOG with LOG_NOFILE.
	  (LOG_OUTPUT): new #define replacing stderr debug output file
	  (set to stdout by stdoutlog.c).

	* pktdebug.c (log, debug): local log(), debug() to stdout.

Fri May  6 09:18:02 1994  Martin Junius  (mj@sungate)

	* pktdebug.c (main): use new pkt_debug_xx() functions and write to
	  stdout.
	  (main): added -v option.
	  (usage): added -v option.

	* packet.c (pkt_debug_hdr): new function for debug output of
	  packet header.
	  (pkt_get_hdr): use pkt_debug_hdr().
	  (pkt_put_hdr): use pkt_debug_hdr().

	* message.c (debug_line, msg_body_debug): additional argument out
	  specifying output file, write all output to out.

	* packet.c (pkt_debug_msg_hdr): new function for debug output of
	  message header.
	  (pkt_get_msg_hdr): use pkt_debug_msg_hdr().
	  (pkt_put_msg_hdr): use pkt_debug_msg_hdr().

	* Makefile (install-util): install out-attach setuid $(OWNER),
	  install pktdebug, too.

Mon May  2 07:34:41 1994  Martin Junius  (mj@sungate)

	* out-attach.c (main): accept -B, -F options.

	* ffx.c (main): accept -F, -g options.

	* ********** RELEASE 3.7 **********

	* RCS check in: release 3.7

	* patchlevel.h (PATCHLEVEL): 0

Sat Apr 30 09:20:08 1994  Martin Junius  (mj@sungate)

	* RCS check in: update 3.6.1.6

	* out-attach.c (main): new -F --flavor option.
	  (usage): new -F --flavor option.

	* ffx.c (usage): new -F --flavor option.
	  (main): new -F --flavor option implemented.
	  (ffx): new parameter grade setting grade of outbound ffx files
	  (passed to new_job_id()).
	  (main): new -g --grade option implemented.
	  (usage): new -g --grade option.

	* ffxqt.c (do_ffx): if opendir() fails, return ERROR. The
	  previously done exit() results in orphan bsy files.

Thu Apr 28 00:29:17 1994  Martin Junius  (mj@sungate)

	* message.c (msg_body_parse_echomail): return fatal/non-fatal
	  error code. Non-fatal error is tear line or origin line missing,
	  but SEEN-BY and ^APATH control info present.
	  (msg_body_parse_echomail): scan for ^AVia lines, origin, and
	  tear line.

Wed Apr 27 09:08:39 1994  Martin Junius  (mj@sungate)

	* fido2rfc.c (unpack): a tear line may be "---\r", with no space
	  after the "---". Changed the tear line processing accordingly.

	* message.c (debug_line): new static function printing line with
	  control chars outputed as ^X.
	  (msg_body_debug): new function for debug output of MsgBody
	  parsed by msg_body_parse().
	  (msg_body_parse_echomail): new function parsing EchoMail ctrl info.
	  (msg_body_parse_netmail): new function parsing NetMail ctrl info.

	* config.h (FTN_RFC_HEADERS): new define specifying RFC headers
	  recognized at the beginning of an FTN message body.

	* message.c (msg_body_parse): new function converting Textlist
	  message body to structured MsgBody.

	* textlist.c (tl_remove): new function removing element from
	  Textlist chain.
	  (tl_delete): new function removing element from Textlist chain
	  and deleting element.

	* message.c (msg_body_init): new function initializing MsgBody.
	  (msg_body_clear): new function clearing MsgBody.

	* fidogate.h: renamed TextBody to MsgBody.

	* textlist.c (tl_add): new function adding Textline struct to text
	  list, using doubly linked list.
	  (Textlist_append): use tl_add().

	* fidogate.h: struct TextBody: new field via for ^AVia lines in
	  NetMail messages.

Tue Apr 26 09:34:09 1994  Martin Junius  (mj@sungate)

	* RCS check in: update 3.6.1.5

	* rfc2fido.c (snd_message): pass complete Area struct as 2nd
	  argument.
	  (print_origin): pass string for origin line as 2nd argument.
	  (snd_message): use origin line from Area struct, if present,
	  else default cf_origin().
	  (print_origin): use origin text passed as argument, restrict
	  max. line length of origin line to 79 chars.

	* fido2rfc.c (unpack): removed old LOCAL_FROM code, replaced by
	  stuff in rfcaddr_from_ftn().

	* rfcaddr.c (rfcaddr_from_ftn): implemented LOCAL_FTN_ADDRESSES.

	* config.h (LOCAL_FTN_ADDRESSES): new define replacing old
	  LOCAL_FROM. 

	* address.c (addr_is_local): new function checking for local RFC
	  address. (Local == user@HOSTNAME.DOMAIN as configured.)

	* rfc2fido.c (snd_mail): implemented checking for crosspostings
	  and the AREA_NOXPOST, AREA_LOCALXPOST area flags.

	* config.c (cf_read_config_file): no more log message for unknown
	  commands in CONFIG file.

	* address.c (parse_address): remove quotes "..." around user name
	  passed via name arg.

Mon Apr 25 08:11:22 1994  Martin Junius  (mj@sungate)

	* fido2rfc.c (unpack): implemented -d DISTRIBUTION option from
	  areas.c.

	* Makefile: major rewrite of Makefile, using library libfidogate.a
	  with all modules. 

	* rfcaddr.c (rfcaddr_from_rfc): set rfc.flags to 0.
	  (rfcaddr_from_ftn): set rfc.flags to 0. SSet ADDR_MAUS, if
	  message from MAUS-FTN gateway is detected.

	* rfcheader.c: moved functions rfcaddr_from_ftn(),
	  rfcaddr_from_rfc(), rfcaddr_to_asc() to new module rfcaddr.c.

Sat Apr 23 18:13:26 1994  Martin Junius  (mj@sungate)

	* areas.c (areas_init): replaced strtok() with xstrtok().
	  (areas_init): new AREAS options: -o ORIGIN, -d DISTRIBUTION, -l,
	  -x, -m, -g, -8.

Fri Apr 22 09:21:06 1994  Martin Junius  (mj@sungate)

	* RCS check in: update 3.6.1.4

	* address.c (parse_address): rewrote address parsing using RFCAddr
	  struct and rfcaddr_from_rfc().

	* fido2rfc.c (unpack): added arg &addr_from to all calls to
	  bounce_mail(). 

	* misc.c (stripbad): removed.

	* msgid.c (msgid_fido_to_rfc): removed call to stripbad().

	* bounce.c (bounce_mail): new parameter RFCAddr *addr_from, using
	  new function rfcaddr_to_asc().

	* fido2rfc.c (unpack): new RFCAddr addr_from, addr_to, replacing
	  old msg_from, msg_to, realfrom, and realto. Using new functions
	  rfcaddr_from_ftn(), rfcaddr_to_asc().
	  (realname_convert): removed.
	  (maus_de_convert): removed, now done in rfcaddr_from_ftn().
	  (strcap): removed.

	* rfcheader.c (rfcaddr_to_asc): new function converting RFCAddr to
	  text string.
	  (rfcaddr_from_rfc): new function converting Internet address as
	  specified in RFC1036 to RFCAddr.

Thu Apr 21 08:17:53 1994  Martin Junius  (mj@sungate)

	* rfcheader.c (rfcaddr_from_ftn): added checking for addresses
	  from the FIDO-MAUSNET gateway and conversion to Internet MAUS
	  addresses. 

	* maus.c (maus_lookup): new function returning entry for named
	  MAUS system.

	* rfcheader.c (rfcaddr_from_ftn): new function creating RFCAddr
	  struct from FTN address (user name, node address).

	* msgid.c (msgid_fido_to_rfc): switched off special MAUS message
	  id handling.
	  (msgid_rfc_to_fido): same.

	* rfc2fido.c (snd_message): changed #ifdef FIDO_GATE to
	  ROUTE_VIA_FTN_GATEWAY.

	* address.c (parse_address): changed #ifdef FIDO_GATE to
	  ROUTE_VIA_FTN_GATEWAY, using new cf_gateway().

	* config.c (cf_read_config_file): new config statement `gateway',
	  specifying FTN-Internet gateway for ROUTE_VIA_FTN_GATEWAY
	  configuration.
	  (cf_gateway): new function returning gateway address.

	* config.h: #define FIDO_GATE renamed to ROUTE_VIA_FTN_GATEWAY.
	  Removed address configuration for gateway from config.h (now
	  done in CONFIG file).

	* fido2rfc.c (unpack): changed #ifdef MAUS_DE to MAUS_DE_FROM.

Wed Apr 20 09:22:36 1994  Martin Junius  (mj@sungate)

	* RCS check in: update 3.6.1.3

	* fido2rfc.c (maus_de_convert): use maus_default().
	  (main): call maus_init().

	* address.c (parse_address): rewrote MAUS handling to use new
	  function maus_default(). parse_address() will only recognize the
	  default MAUS domain.

	* config.h (MAUS_DE): new defines MAUS_DE_FROM, MAUS_DE_TO,
	  removed address configuration for MAUS-FTN gateway
	  MAUS_{ZONE,NET,NODE,POINT} and MAUS_DE_DOMAIN (now in config
	  file MAUS).

	* rfc2fido.c (main): call maus_init().

	* maus.c (maus_init): check read configuration for default entry.
	  (maus_default): new function returning default entry.
	  #ifdef MAUS_DE for entire source code.

Tue Apr 19 13:44:55 1994  Martin Junius  (mj@sungate)

	* maus.c: new module for processing MAUSNET stuff.
	  (maus_init): new function reading data from MAUS config file
	  into memory (linked list).

	* charset.c (charset_set): initialized i=0 to avoid GCC warning.

	* node.c (node_clear): new function initializing Node fields to 0.

Thu Apr 14 09:09:27 1994  Martin Junius  (mj@sungate)

	* fidogate.h: extended struct Area: new fields origin,
	  distribution, flags (not yet used). AREA_xx defines for flag
	  settings.
	  Extended struct Textline: new field prev, allowing doubly linked
	  list.
	  New struct Maus: containing data for MAUSNET - Internet domain
	  translation (will be implemented in maus.c).

Wed Apr 13 08:57:30 1994  Martin Junius  (mj@sungate)

	* rfc2fido.c (mail_sender): applied Roland Rosenfeld's patches to
	  avoid warnings with PASSTHRU_NETMAIL undefined.

	* pktdebug.c (usage): corrected usage text.

Sun Apr  3 12:22:59 1994  Martin Junius  (mj@sungate)

	* ***** Released as 3.6 patch3 *****

	* patchlevel.h (PATCHLEVEL): changed to 3

	* fido2rfc.c (unpack): use DATE_MAIL, DATE_NEWS format strings for
	  mail and news messages, respectively. Date header for news omits
	  time zone comment which CNews doesn't like at all.

	* date.c (date): use DATE_DEFAULT from config.h as default,
	  omitting time zone comment.

	* config.h (DATE_DEFAULT, DATE_NEWS, DATE_MAIL): format strings
	  for date().

Sat Apr  2 10:36:19 1994  Martin Junius  (mj@sungate)

	* ***** Released as 3.6 patch2 *****

	* RCS check in: update 3.6.1.2

Fri Apr  1 13:45:13 1994  Martin Junius  (mj@sungate)

	* version.c: commented global_state[] to avoid warning.

	* patchlevel.h: #define VERSION, STATE moved to new include file
	  version.h

	* date.c (get_tz_name): new function returning name of current
	  time zone. Hopefully portable enough.
	  (date): using old partial strftime() implementation again with
	  additional %O format, [+-]hhmm time difference to UTC. Changed
	  default format to "%a, %d %b %Y %H:%M:%S %O (%Z)". Removed BSD,
	  USG, NO_STRFTIME #ifdef's.

	* config.h: new configuration defines DO_HAVE_TM_ZONE,
	  DO_HAVE_STRFTIME, DO_HAVE_TZNAME.

Wed Mar 30 08:59:37 1994  Martin Junius  (mj@sungate)

	* rfc2fido.c (snd_mail): changed default subject to "(no subject)".

	* fido2rfc.c (unpack): removed msg_subject[], using msg.subject[]
	  instead. 

	* fidogate.h: new struct RFCAddr, for easy storing an user@do.main
	  (Real Name) type address.

	* RCS check in: update 3.6.1.1

	* fidogate.h: fixed typo in BUFFERSIZE, now exactly 16K, changed
	  declaration of buffer[] to allow sizeof(buffer).

	* packet.h (MSG_END): new define for end of packet marker, used by
	  functions in message.c.

	* packet.c (pkt_put_msg_hdr): new argument controls whether only
	  the header (kludge_flag==FALSE) or in addition the AREA:xxxx and
	  ^AINTL, ^AFMPT, ^ATOPT kludges (kludge_flag==TRUE) are written
	  to the packet.

Tue Mar 29 13:24:49 1994  Martin Junius  (mj@sungate)

	* packet.h: removed #define SIZE_xxxx, MAX_NAME, replaced with
	  proper MAX_MSGxxxx values in fido2rfc.c, rfc2fido.c, address.c.

	* message.c: new module for reading and processing FTN messages.
	  (pkt_get_line): read one line of text body from packet. This
	  function reads the raw line and doesn't do any conversions.
	  (pkt_get_body): read entire message body and put into textlist.

	* fido2rfc.c (get_string): removed (replaced with
	  packet.c:pkt_get_string()). 
	  (unpack): use pkt_get_msg_hdr().

	* packet.c (pkt_get_string): new function reading 0-terminated
	  string from packet file.
	  (pkt_get_date): new function reading FTS-0001 date from packet
	  file.
	  (pkt_get_msg_hdr): new function reading message header from
	  packet file.

	* fido2rfc.c (msg_getdate): moved to packet.c:pkt_get_date()

	* pktdebug.c: new utility pktdebug for debug output of FTN packet
	  contents. 

Mon Mar 28 08:36:18 1994  Martin Junius  (mj@sungate)

	* ***** Released as 3.6 patch1 *****

	* patchlevel.h (PATCHLEVEL): changed to 1

	* RCS check in: update 3.6.1.0

	* version.c: #include "patchlevel.h"
	  (version_global): return X.Y.PL, omit state.

	* patchlevel.h: this file now contains version number, state, and
	  patch level number. Obsoletes version.id.

Sun Mar 27 13:46:44 1994  Martin Junius  (mj@sungate)

	* parsedate.y (parsedate): correct yyTimezone by + DST_OFFSET * 60
	  if daylight savings time applies for current time.

Tue Mar 22 08:39:19 1994  Martin Junius  (mj@sungate)

	* ********** RELEASE 3.6 (PL6) **********

	* RCS check in: release 3.6

	* config.c (cf_getline): strip CR as well as LF at end of line.

Mon Mar 21 22:27:03 1994  Martin Junius  (mj@sungate)

	* attach.c: removed attach functions, using function bink_attach()
	  from binkley.c.

	* Makefile, ../lib/Makefile: clean up install targets.

Thu Mar 17 22:15:20 1994  Martin Junius  (mj@sungate)

	* ffxqt.c (parse_ffx): replaced all " \t" with #define SEP " \t\r\n".

Sat Mar 12 15:35:07 1994  Martin Junius  (mj@sungate)

	* address.c (parse_address): added bouncing of mail, if the
	  receiving node is marked as down (`-d') in HOSTS.

Fri Mar 11 13:26:06 1994  Martin Junius  (mj@sungate)

	* ffxqt.c (usage): add `-I --inbound' option to help text.

	* ffx.c (DATA_NOCOMPR, DATA_NOEXT, DATA_NODECOMPR): new defines
	  for uncompressed data files.
	  (ffx): pass compression program, compressed file extension,
	  decompression program, and file attach flavor as arguments,
	  replacing DATA_xxxx defines in this function.
	  (main): new option `-n' disabling compression of data files.

Thu Mar 10 21:00:14 1994  Martin Junius  (mj@sungate)

	* Makefile (install, install_dirs): use INSTALL_xxxx macros for
	  installation.
	  Removed SPOOLDIRS, LIBBINS, SETUIDBINS defines. Removed SYSFLAGS
	  define, all system dependent configuration will take place in
	  config.h.

Fri Mar  4 13:09:11 1994  Martin Junius  (mj@sungate)

	* packet.c (pkt_put_msg_hdr): use date() to print msg->date.
	  (pkt_put_msg_hdr): output "Date: LOCAL", if no Date header or
	  date can't be parsed by parsedate() (msg->date == -1).

Tue Mar  1 08:34:20 1994  Martin Junius  (mj@sungate)

	* packet.c (pkt_put_date): use pkt_put_string() to write date to
	  FIDO packet. The terminating '\0' was missing!!!

Mon Feb 28 08:08:34 1994  Martin Junius  (mj@sungate)

	* RCS check in: update 3.5.1.9

	* fido2rfc.c (unpack): put contents of origin line into separate
	  X-FTN-Origin header, put text from CONFIG into Organization.

	* config.h (X_FTN_ORIGIN): new #define controlling output of
	  X-FTN-Origin header lines.

	* bounce.c (print_file_subst): changed to use new arguments and
	  substitutions.
	  (bounce_mail): new common function for bouncing mails.

	* fido2rfc.c (unpack): ^AINTL checking sets msg.node_to,
	  msg.node_from, and msg.node_orig using destination and source
	  address from this kludge.
	  (unpack): replaced extra Textlist pointers theader, tbody with
	  &theader, &tbody.
	  (unpack): replaced all call to bounce_xxxx() with new function
	  bounce_mail().

	* packet.h (Message): new component storing origin address. This
	  is the address from the header (NetMail) or the origin line
	  (EchoMail).

	* fido2rfc.c (unpack): replaced msg_orignode with msg.node_orig.

Sun Feb 27 18:21:02 1994  Martin Junius  (mj@sungate)

	* fido2rfc.c (unpack): replaced msg_destnode, orig_to, orig_from,
	  orig_subject with msg components.

	* rfc2fido.c (mail_date): the old function fido_date(), now
	  returning the time_t value parsed from Date header or -1, if the
	  parse failed / no Date header is present.
	  (snd_mail): set msg.date to value returned by mail_date().

	* packet.c (pkt_put_msg_hdr): write date using pkt_put_date().

	* packet.h (Message): changed type of `date' component to time_t.

	* packet.c (pkt_put_date): new function writing date/time to file,
	  using format specified in FTS-0001.

Sat Feb 26 16:23:21 1994  Martin Junius  (mj@sungate)

	* RCS check in: update 3.5.1.8

	* rfc2fido.c (receiver): reroute message to address found in
	  ALIASES entry. This allows readdressing for point aliases.
	  (snd_mail): changed default sender name to "Gateway".

	* aliases.c (alias_lookup): change order of argumentss to
	  anodeeq(), allowing point addresses to be specified in the
	  ALIASES file. A lookup for the address without the point will
	  find the alias as well.

Thu Feb 24 13:15:15 1994  Martin Junius  (mj@sungate)

	* RCS check in: update 3.5.1.7

	* address.c (inet_to_ftn): try p.f.n.z.HOSTSDOMAIN, too.
	  (ftn_to_inet): generate p.f.n.z.HOSTSDOMAIN if node is
	  registered in HOSTS, but no hostname is specified ("-").
	  (try_pfnz): save addr in adr[] while checking.

	* hosts.c (hosts_init): check for hostname "-", set Host.name to
	  NULL in this case. This allows registered hosts with the
	  standard p.f.n.z.domain address.
	  (hosts_lookup): take into account Host.name == NULL.

Tue Feb 22 08:21:26 1994  Martin Junius  (mj@sungate)

	* address.c (inet_to_ftn): also try to add cf_hostsdomain() when
	  looking up in HOSTS.

	* hosts.c (hosts_init): use cf_hostsdomain() instead of
	  cf_domainname(). 

	* config.c (cf_hostsdomain): new function returning alternate
	  domain name for hosts in HOSTS config file.
	  (cf_read_config_file): new config statement "HostsDomain",
	  setting alternate domain name for HOSTS entries. Default is the
	  same name as set with "Domain".

	* fido2rfc.c (unpack): implemented X-FTN-Path headers for ^APATH
	  lines. Patches from Roland Rosenfeld.

	* config.h (X_FTN_PATH): new #define enabling X-FTN-Path headers
	  for ^APATH lines in EchoMail.

	* rfc2fido.c (snd_mail): changed default address error message to
	  "address/host is unknown".
	  (snd_message): #ifndef NO_FROM_LINE disables output of From:
	  line only.

	* RCS check in: update 3.5.1.6

	* ffxqt.c (do_ffx): debug() message when sender is busy.

	* ffx.c: replaced all fprintf(stderr, ...) with log(...).

Mon Feb 21 13:36:05 1994  Martin Junius  (mj@sungate)

	* ffxqt.c (do_ffx): changed wildcard for matching control files to
	  "f???????.ffx".
	  (exec_ffx): new processing for compressed data files. Execute
	  LIBDIR/ffxqt-dir/<DECOMPR> with name of the compressed data file
	  on the command line. The <DECOMPR> script is responsible for
	  writing the uncompressed data to standard output. See
	  fidogate/lib/ffxqt-dir/ for examples.

	* ffx.c (new_job_id): new function generating job ID. New optional
	  flavor char F in job ID fFNNNNNN.ffx passed as parameter. Limits
	  NNNNNN to 6 digits (if sequencer() wraps around 1e6).
	  (ffx): changed to use new_job_id(), substituting "ff%06ld"
	  format.

Wed Feb 16 20:22:58 1994  Martin Junius  (mj@sungate)

	* RCS check in: update 3.5.1.5

	* ffx.c (ffx): open data file before system() and set permissions
	  according to DATA_MODE for data and control file.

	* config.h: new #define SECURE allowing general setting of file
	  permissions to secure mode, new #define DATA_MODE for ffx data
	  and control file permissions.

Mon Feb 14 09:03:33 1994  Martin Junius  (mj@sungate)

	* RCS check in: update 3.5.1.4

	* ffxqt.c: new module for ffxqt utility, processing inbound *.ffx
	  control files and executing the requested commands.

	* config.c (cf_read_config_file): new config statement `inbound'
	  specifying Binkley inbound directory.
	  (cf_set_inbound): new function setting inbound dir.
	  (cf_inbound): new function returning inbound dir.

	* address.c (parse_address): also accept Z:N/F.P in Internet
	  addresses, e.g. mj@2:2452/110.1

	* RCS check in: update 3.5.1.3

	* Makefile (paths.mak): add #define BINDIR to paths.h

	* binkley.c (bink_bsy_test): new function testing for existence
	  of a BSY file.
	  (bink_attach): new function attaching an arbitrary file to a FLO
	  control file.

	* config.c (cf_read_config_file): implemented "DosDrive" keyword.
	  (cf_dos): new function returning TRUE, if "DosDrive" translation
	  is enabled.
	  (cf_dos_xlate): new function translating UNIX path name on server
	  to MSDOS path name with drive letter on client.

	* ffx.c: new module for ffx utility - remote execution of commands
	  via FIDO mailer. (Similar to UUCP's uux, but using a FIDO mailer
	  for file transfer.)

	* config.c (cf_set_outbound): new function setting Binley-style
	  outbound base dir.

	* config.h: removed #define FIDO_DE, FIDO_DE_DOMAIN, changed
	  FIDO_DE_RESTRICTED to HOSTS_RESTRICTED, removed OUTBOUND_BAD,
	  changed #ifdef in fido2rfc.c and address.c accordingly.

Sat Feb 12 15:07:09 1994  Martin Junius  (mj@sungate)

	* RCS check in: update 3.5.1.2

	* rfc2fido.c (argv): call alias_init().

	* fido2rfc.c (argv): call alias_init().

	* xalloc.c (xmalloc, xrealloc): output error message to stderr,
	  not log file.

	* fopen.c: new module containing xfopen(), libfopen(),
	  spoolfopen() functions from misc.c.

	* date.c: new module containing date() function from misc.c.

	* log.c (log): #ifndef FAKELOG allowing compiled fakelog.o without
	  writing log/error messages to a log file.

	* rfc2fido.c (receiver): changed to use new function alias_lookup().

	* fido2rfc.c: removed #define SEPARATORS, WHITESPACE.
	  (unpack): changed to use new function alias_lookup().

	* aliases.c (alias_by_username): removed.
	  (alias_by_fullname): removed.
	  (getalias): removed.
	  (alias_init): new function reading list of aliases from file
	  into memory.
	  (alias_lookup): new function for alias lookup.

	* config.h: removed #define DOMAINS.

	* fidogate.h: new definition of Alias, linked list similar to Area
	  and Host.

	* config.c (cf_read_config_file): new config statement `DosDrive'
	  specifying MSDOS to UNIX filename translation for file attaches.

Thu Feb 10 09:11:11 1994  Martin Junius  (mj@sungate)

	* RCS check in: update 3.5.1.1

	* address.c (get_fido_de_node): removed.

	* address.c: new address functions seems to work after some bug
	  fixes. 

	* rfc2fido.c (snd_mail): changed sendback() error message format.

	* address.c (inet_to_ftn): new function converting Internet
	  address to FTN address, using lookup in HOSTS and p.f.n.z
	  conversion. Replacement for old function parseinternode().
	  (try_pfnz): new function used internally by inet_to_ftn().
	  (parseinternode): removed.
	  (parse_address): rewrote to use new function inet_to_ftn(),
	  checking for registered node and zone now in this function.
	  Removed host!user address style support.

	* config.c (cf_read_config_file): automatically prepend "." to
	  domainname if none is specified in CONFIG.

	* address.c (ftn_to_inet): Host record now contains FQDN, don't
	  add cf_domainname().

	* hosts.c (hosts_init): add local domain to hostname in HOSTS file
	  when reading into memory. If an entry ends in `.' it is
	  considered a FQDN, and the domain is not added.

	* fido2rfc.c (unpack): fixed bug: new uplinkdomain = address of
	  uplink from packet/message used for Path header, fromdomain stays
	  the address of the sender.

	* msgid.c (msgid_default): generate Message-ID with
	  p.f.n.z.FIDODOMAIN address.

	* bounce.c: replaced all calls to node_to_domain() with
	  ftn_to_inet(). 

	* node.c (node_to_domain): removed.

	* fido2rfc.c (unpack): replaced call to get_fido_de_host() with
	  ftn_to_inet(), put message address (uplink) in Path, not address
	  from * Origin line.
	  (unpack): don't put user name in Path header, just
	  "not-for-mail" like INN.

	* address.c (ftn_to_inet): this is the old function
	  get_fido_de_host(), renamed and moved from hosts.c. Replaced
	  call to node_to_domain() with own sprintf(...).

Wed Feb  9 09:09:52 1994  Martin Junius  (mj@sungate)

	* rfc2fido.c (snd_message): don't generate ^AMSGID/^AORIGID,
	  ^AREPLY/^AORIGREF if X-Flags: M is set, just a local FTN-style
	  ^AMSGID. Helps sending mail to brain-damaged FIDO software
	  trying to get a return address from ^AMSGID.

Tue Feb  8 07:56:05 1994  Martin Junius  (mj@sungate)

	* hosts.c (get_fido_de_host): add check for point address in HOSTS
	  file, do not prepend `pX.' to these addresses even if force_flag
	  is TRUE.

	* RCS check in: update 3.5.1.0

	* rfcheader.c (addr_from_rfcaddr): parse address in <...> first.

	* fidoin.c (main): new options
	      -n         don't call fido2rfc
	      -x SCRIPT  call SCRIPT after tossing with fido2rfc
	  (usage): adapted usage message.
	  (do_packets): added checking for -n option, processing of new -x
	  option and exec of script after tossing.

	* fido2rfc.c (argv): replaced LIBDIR with cf_libdir().

Mon Feb  7 14:23:56 1994  Martin Junius  (mj@sungate)

	* RCS check in: update 3.5.0.6

	* fido2rfc.c (unpack_file): new function feeding opening a packet
	  file and feeding it to unpack().
	  (argv): allow optional names of packet files on the command
	  line. If names of packet files are given, these packets are
	  processed, otherwise the IN directory is scanned for *.pkt.

	* fidoin.c (exec_fido2rfc): call command cmd[]+args[]+name for
	  packet file.
	  (do_packets): call exec_fido2rfc() for each address and existing
	  OUT file.

Sun Feb  6 19:02:57 1994  Martin Junius  (mj@sungate)

	* binkley.c (bink_find_flo): new function searching for outbound
	  FLO files for a node.
	  (bink_find_out): new function searching for outbound OUT files
	  (packets) for a node.
	  (outb_types): list of outbound FLO/OUT files for the various
	  flavours. 

Sat Feb  5 10:41:21 1994  Martin Junius  (mj@sungate)

	* binkley.c (bink_bsy_delete): added debug messages.

	* fidoin.c (create_bsy_files): create bsy files for all addresses,
	  fail if one of the bsy files already exists.
	  (delete_bsy_files): delete bsy files for addresses, for which
	  bsy files were created.

Fri Feb  4 12:45:42 1994  Martin Junius  (mj@sungate)

	* binkley.c (bink_bsy_name): new function returning name of bsy
	  file a node.
	  (bink_bsy_create): new function creating a bsy file for a node,
	  optionally waiting for exisiting bsy file to be released.
	  (bink_bsy_delete): new function deleting bsy file for a node.

	* fidoin.c: new utility fidoin: search outbound packets for all
	  addresses of the gateway and feed them to fido2rfc, finally
	  calling fidorun. Uses .bsy files for locking.

Thu Feb  3 13:30:45 1994  Martin Junius  (mj@sungate)

	* node.c (node_eq): new function comparing to node addresses.

	* aliases.c: renamed nodeeq() to anodeeq().

	* config.c: removed #define MAX_CONFIG, replaced with MAXPATH.
	  moved #define MAX_ADDRESS to config.h, renamed to MAXADDRESS.

	* fidogate.h: mode #define MAXPATH to config.h, removed #define
	  BUFLEN. 

	* RCS check in: update 3.5.0.5

	* node.h (Node): removed #ifdef FIDO_DE components.

	* hosts.c (get_fido_de_host): removed setting of node->point_flag,
	  node->fido_de.

	* node.c (asc_to_node): removed setting of n.fido_de, n.point_flag.

	* fido2rfc.c (unpack): replaced check for msg_orignode.fido_de
	  with hosts_lookup().

	* hosts.c: removed lookup_by_xxxx() functions.
	  (get_fido_de_host): changed to use new hosts_lookup().
	  (get_fido_de_node): changed to use new hosts_lookup().

Tue Feb  1 13:11:25 1994  Martin Junius  (mj@sungate)

	* address.c: removed functions now in node.c, removed #include
	  "shuffle.h"

	* node.c: new module containing Node conversion functions from
	  address.c: pfnz_to_node(), asc_to_node(), node_to_asc(),
	  node_to_pfnz(), node_to_domain().
	  Replaced `-1' with `ERROR' where appropiate.

Mon Jan 31 08:54:32 1994  Martin Junius  (mj@sungate)

	* hosts.c (hosts_lookup): new function searching hosts entry
	  either by FTN address or Internet address.

	* fido2rfc.c (main): add hosts_init().

	* rfc2fido.c (main): add hosts_init().

Sun Jan 30 18:50:20 1994  Martin Junius  (mj@sungate)

	* hosts.c (hosts_init): new functions for reading HOSTS into
	  linked list in memory, pointer host_list, host_last for
	  maintaining this list.

	* areas.c: removed #include "getopt.h", #define MAXOPTIONS.

	* fidogate.h: new typedef `Host' for storing entry from HOSTS
	  file, HOSTS flag definitions, prototypes for new functions in
	  hosts.c.

Thu Jan 27 21:35:57 1994  Martin Junius  (mj@sungate)

	* RCS check in: update 3.5.0.4

	* rfc2fido.c (mail_sender): added #ifdef PASSTHRU_NETMAIL, allows
	  disabling the NetMail passthru code.
	  (snd_mail, snd_message): use flag `fido' for storing result from
	  isfido() test directly after mail_receiver(). This prevents
	  interference between the FIDO_GATE code in snd_message() and the
	  PASSTHRU_NETMAIL code in mail_sender().

	* fido2rfc.c (unpack): added #ifdef X_FTN_VIA.

	* config.h: #define/#undef DO_HAVE macros dependent on system type
	  (SUN, LINUX).
	  Reordered configuration defines, new defines:
	  X_FTN_VIA		Enable X-FTN-Via
	  PASSTHRU_NETMAIL	Passthru operation for NetMail
	  PASSTHRU_ECHOMAIL	Passthru operation for EchoMail (not yet
				implemented)

Tue Jan 25 13:30:01 1994  Martin Junius  (mj@sungate)

	* RCS check in: update 3.5.0.3

	* textlist.c (Textlist_appendf): use local buf[] for formatting.

	* fido2rfc.c (unpack): read ^AVia lines into tvia textlist and
	  output them as "X-FTN-Via" in the RFC header for mails.

	* textlist.c (Textlist_add): new function for adding one textlist
	  to another.

Sat Jan 22 14:43:56 1994  Martin Junius  (mj@sungate)

	* ff-seq.c (main): stand-alone sequencer.

	* log.c: new module with verbose, strerror(), log(), and debug()
	  from misc.c

	* misc.c (libfopen, spoolfopen): rewrote to use MAXPATH,
	  strncpy0(), strncat0().

	* sequencer.c: new module containing sequencer() function from
	  misc.c

Fri Jan 21 09:42:17 1994  Martin Junius  (mj@sungate)

	* RCS check in: update 3.5.0.2

	* attach.c: new functions:
	  find_bsy_file() returns the name of the BSY file for an FTN node
	  open_flo_file() opens the FLO file for an FTN node in append
	  mode, creating/checking BSY file and locking the FLO file. This
	  functions waits until it can write to the FLO file.
	  attach() actually adds an arbitrary filename to the FLO file
	  (not yet implemented).

Thu Jan 20 09:15:07 1994  Martin Junius  (mj@sungate)

	* That's enough for today! ;-)

	* attach.c: new main module for new utility `out-attach' -
	  attaching arbitrary files to a FLO file. Standard options from
	  fido2rfc/rfc2fido, function find_flo_file() searchs for a FLO file
	  for a specific node in the outbound.

	* binkley.c: new function bink_out_name(): convert FTN node
	  address to outbound file name (base name without extension).

	* config.c: new function cf_zones_out(): get outbound directory
	  for an FTN zone.

	* RCS check in: update 3.5.0.1

	* address.c (parseinternode): changed to use new function
	  cf_zones_trav(). 

	* config.c: new function cf_zones_trav() for travesting all
	  Internet domains specified via `zone'.

	* address.c: removed domains/zones stuff, replaced by functions
	  cf_zones_inet_domain() and cf_zones_check() in config.c

	* config.c: new config statement `zone', replacing old `config'
	  file. scf_zones[], scf_nzones for storing the data. Format:
	    Zone  Z  Internet-Domain FTN-Domain Outbound
	  e.g.
	    Zone  2  fidonet.org     fidonet    out

	* fidogate.h: new prototypes for config.c

	* config.c: new config statements `libdir', `spooldir',
	  `outbound', `organization', setting LIBDIR, SPOOLDIR,
	  BinkleyTerm-style outbound directory, and Organization header
	  for News. New functions cf_organization(), cf_outbound() return
	  the new settings. Increased MAX_ADDRESS to 32.

Tue Jan 11 12:40:40 1994  Martin Junius  (mj@sungate)

	* config.h: removed #define/undef LOCK_LOCKF configuration.

	* misc.c: removed functions lock() and unlock(), replaced with
	  lock_fd() and unlock_fd().

	* fidogate.h: prototypes for function in lock.c

	* lock.c: new module containing function for file locking:
	  lock_fd(), unlock_fd(), lock_file(), unlock_file() using
	  fcntl(2) and SET_LKW.

	* address.c (init_domain): increased MAXDOMAINS to 32, log error
	  message if too many zones are specified in DOMAINS.

Wed Jan 05 17:45:00 1994  Martin Junius  (mj@sungate)

	* ********** RELEASE 3.5 (PL5) **********

	* RCS check in: release 3.5

Fri Dec 31 16:34:33 1993  Martin Junius  (mj@sungate)

	* rfc2fido.c (snd_message): `X-Flags: N' also disables FSC-0035
	  ^AREPLYADDR, ^AREPLYTO.

	* RCS check in: update 3.4.0.6

	* rfc2fido.c (mail_sender): now checks RFC from address for a FTN
	  address. The sender FTN address is returned via the `node'
	  argument (gateway address for non-FTN addresses).
	  (snd_mail): use FTN address from mail_sender() for NetMail from
	  node address.

Thu Dec 30 13:35:17 1993  Martin Junius  (mj@sungate)

	* rfc2fido.c (snd_mail): update message from/to address for
	  EchoMail after setting of zone AKA.

	* RCS check in: update 3.4.0.5

	* config.h: new #define FTN_JUNK

	* fido2rfc.c (get_ng): function removed.
	  (estrtok): function removed.
	  (news_msg): changed to use new function areas_lookup().
	  news_msg() now returns the Area entry for the area if found, or
	  an entry with NULL newsgroup if not found.
	  (unpack): output `Newsgroups: FTN_JUNK' and extra `X-FTN-Area:
	  XXXX' if no corresponding newsgroup for the area is found.

	* rfc2fido.c (estrtok): function removed.
	  (snd_mail): changed to use areas_lookup().

	* areas.c (areas_lookup): new function for searching
	  area/newsgroup match in area list.

	* rfc2fido.c (main): call areas_init() at startup.

	* areas.c: new module for area <-> newsgroup translation. Function
	  areas_init() reads entire list of areas/newsgroups from AREAS
	  file and stores them in a linked list. The AREAS file now allows
	  an optional -z ZONE specification for selecting AKAs.

	* rfc2fido.c: new function new_packet() creating new output packet
	  file and writing header. The new packet is now created within
	  snd_message(), preventing the creation of empty packets if no
	  message is written to the packet (errors or no matching
	  newsgroup).
	  A new packet file will also be created if the message requires a
	  different zone AKA as the sender address.
	  New function close_packet() writing end of packet, closing and
	  renaming packet file.

	* RCS check in: update 3.4.0.4

Wed Dec 29 16:19:22 1993  Martin Junius  (mj@sungate)

	* config.c (cf_set_zone): debug output.

	* fido2rfc.c,rfc2fido.c: new command line option -z for selecting
	  aka for requested zone.

Mon Dec 27 18:27:47 1993  Martin Junius  (mj@sungate)

	* RCS check in: update 3.4.0.3

	* config.h: automatically disable FSC_0035 if NO_FROM_LINE is
	  defined. 

	* Makefile,fidogate.h,config.h: new modules getdate.y and
	  gettime.c with appropiate definitions and declarations.

	* rfc2fido.c,fido2rfc.c: changed get_date() to parsedate()

	* New date parser parsedate.y from ifmail 1.7 / inn 1.4. Modified
	  and adopted for FIDOGATE. Added support for timezone
	  specifications like `MET DST' and several aliases for `MET'.

Fri Dec 24 10:04:02 1993  Martin Junius  (mj@sungate)

	* packet.c (pkt_put_msg_hdr): always generate ^AFMPT kludge,
	  because SQUISH will add point address from packet origin
	  address, if the packet origin is a point.

Wed Dec 22 09:35:23 1993  Martin Junius  (mj@sungate)

	* config.h,rfc2fido.c: new #define NO_FROM_LINE disabling output
	  of "From: ..." line and " * Xxxx: ..." lines. Should be used by
	  FIDO points without Internet connectivity.

Sat Dec 18 10:13:01 1993  Martin Junius  (mj@sungate)

	* msgid.c: changed printf formats for msgids to %08lx.

Tue Dec  7 19:49:58 1993  Martin Junius  (mj at sungate)

	* RCS check in: update 3.4.0.2

	* packet.c: new functions pkt_put_string_padded(), pkt_put_hdr()
	  for writing 0 padded string to packet (password) and writing 2+
	  packet header.

	* config.h: removed PACKET_2PLUS (FIDOGATE now always generates 2+
	  packets according to FSC-0039).

	* rfc2fido.c: removed write_int(), write_pkt_hdr(). These
	  functions will be replaced by packet.c:pkt_put_int16() and
	  pkt_put_hdr().

	* fido2rfc.c: removed spawn_process(), using system() instead.
	  This change should ease portability.

	* fido2rfc.c: changes to use new Packet structure and packet
	  header read function from packet.c. Removed the function
	  read_header() and read_int() (obsoleted by pkt_get_hdr() and
	  pkt_get_int16()). Some clean-up in main().

	* Removed struct OldPacket from packet.h.

Sun Dec  5 22:49:24 1993  Martin Junius  (mj at sungate)

	* rfc2fido.c near end of main(): used wrong flag `f_flag' instead
	  of `o_flag', causing problems when -o optio was specified.

Sat Dec  4 15:46:00 1993  Martin Junius  (mj at sungate)

	* rfc2fido.c: fixed a severe bug in snd_mail(). Using X-Flags
	  would cause a forever loop.

Tue Nov 30 00:02:40 1993  Martin Junius  (mj at sungate)

	* packet.h: new structure Packet.

	* packet.c: new function pkt_get_int16(), pkt_get_nbytes(),
	  pkt_get_hdr() for reading a 16 bit 80x86 integer from a file,
	  reading n bytes from a file, reading a packet type 2 / 2+ header
	  from a file.
	  pkt_get_hdr() supports the FSC-0039 specifications for 2+
	  headers.

Mon Nov 29 08:29:19 1993  Martin Junius  (mj at sungate)

	* This is the final release version 3.4

	* RCS check in: update 3.4.0.1

Sat Nov 27 10:22:45 1993  Martin Junius  (mj at sungate)

	* rfc2fido.c: fixed subject line of splitted messages, the new
	  version created subjects like "C: B: A: ...".

	* ********** RELEASE 3.4 (PL4) **********

	* Seems to work, so ...
	  RCS check in: release 3.4rel

	* fido2rfc.c: more fixes :-( mail_dir[] and news_dir[] are now set
	  properly if -t option is given.

	* mail.c: fixed small, but severe bug in mail_open() causing
	  fopen() failure not to return ERROR.

	* fido2rfc.c: replaced last remainders of SPOOLDIR with
	  cf_spooldir(). 

	* fido2rfc.c: corrected "usage: ..." message in short_usage().

	* fido2rfc.c: set in_dir[] to SPOOLDIR/UNSECURE if -t option
	  (unsecure) is given.

	* fido2rfc.c: fixed option string for getopt_long().

Fri Nov 26 08:26:53 1993  Martin Junius  (mj at sungate)

	* Bug in cf_spooldir() fixed, function falsely returned libdir.

	* RCS check in: update 3.3.0.5

Thu Nov 25 09:49:41 1993  Martin Junius  (mj at sungate)

	* New config statement `origin' specifying default EchoMail origin
	  line. New function config.c:cf_origin() returns this string.

	* Using xstrtok() function from Wolfram Roesler	<wr@bara.oche.de>
	  for tokenizing config line keywords and arguments. xstrtok works
	  like Standard-C strtok, but recognized and handles quoted
	  strings "...".

	* Replaced all MY_HOSTNAME, MY_DOMAIN with cf functions. Removed
	  now unecessary address configuration #define's from config.h

	* misc.c: new function strncat0(), like strncat() but with
	  terminating '\0' and limited by the destination buffer size.

	* config.c: new functions cf_hostname(), cf_domainname(),
	  cf_fqdn() returning configured hostname, domainname, fully
	  qualified domainname.

	* RCS check in: update 3.3.0.4

	* fido2rfc.c: changed mail log entry.

	* fido2rfc.c: major changes to option parsing and config stuff,
	  just like in rfc2fido.c, prototypes for all functions in this
	  module. 

	* rfc2fido.c: further changes to options processing: o_flag,
	  b_flag local in main(), -O processed after config, default
	  packet_dir[] uses spool dir set by config or -S.

	* fido2rfc.c: added cf_set_zone() to unpack() after origin address
	  is found.

	* rfc2fido.c: added cf_set_zone() to snd_mail() after parsing of
	  to address. This will set the current zone (and therefore the
	  corresponding AKA) based on the receiver's zone.

	* packet.c: added debug() output to pkt_put_msg_hdr().

	* Major rewrite of option parsing in rfc2fido.c, using new config
	  functions. New option -c for reading alternate config file,
	  options -m, -M, -r renamed to -a, -f, -u. Removed old option -a,
	  wasn't used anyway.

	* config.c: new function cf_debug() for debug output of
	  configuration. cf_read_config_file() doesn't read a config file,
	  if an empty string "" is passed as the config file name.

Wed Nov 24 08:30:10 1993  Martin Junius  (mj at sungate)

	* RCS check in: update 3.3.0.3

	* Removed REAL_*, MY_* FTN address configuration from config.h.

	* Moved old Config.dir_mail[] to mail.c:mail_dir[], now we got rid
	  of everything from the Config structure.

	* config.c: new function cf_set_spooldir(), cf_libdir(),
	  cf_spooldir(). 

	* Renamed config.c:config_dir_lib() to cf_set_libdir(), removed
	  config_dir_mail(). 

	* Renamed config.c:cf_setzone() to cf_set_zone().

	* Renamed config.c:config_myaddr(), config_myfakeaddr(),
	  config_remoteaddr() to cf_set_addr(), cf_set_fake(),
	  cf_set_uplink().

	* Removed struct st_config and typedef from fidogate.h

	* Replaced all address information from Config.myaddr,
	  Config.myfakeaddr, Config.remoteaddr with cf_addr(), cf_fake(),
	  cf_uplink(), cf_n_addr(), cf_n_fake(), cf_n_uplink(),
	  respectively.

	* config.c: new function cf_read_config_file()
	  Currently used config file statements:
	      hostname <name>		Not yet implemented
	      domain   <.name>		Not yet implemented
	      address  <node> <node>	Main and fakenet FTN addresses
	      uplink   <node>		Uplink FTN addresses
	  Multiple `address' and `uplink' statements are allowed. They are
	  stored in the listed order, the first one being the default
	  address. There must be a corresponding `uplink' statement for
	  each `address' statement.

	* misc.c: new function xfopen(), doing fopen() and checking for
	  error. Rewrote libfopen() and spoolfopen() to use this function.

	* misc.c:getcl() renamed to cf_getline() and moved to config.c

	* config.c: new structure st_addr and array cf_addr[] for storing
	  all configured FTN addresses. Functions cf_setzone(), cf_zone(),
	  cf_defzone() now access this data.

	* Moved variable for verbose flag (-v --verbose) to misc.c.
	  Removed INIT_VERBOSE and DEBUG macros from fidogate.h.

	* Removed #define labs and extern declarations at the beginning of
	  misc.c.

Tue Nov 23 09:35:47 1993  Martin Junius  (mj at sungate)

	* Added writing of area tag / zone, point addressing kludges to
	  packet.c:pkt_put_msg_hdr(). New function cf_setzone(),
	  cf_zone(), cf_defzone() in config.c (not yet really
	  implemented). Rewrite of rfc2fido.c:snd_mail(), snd_message()
	  using new Message structure and functions.

Mon Nov 22 08:46:26 1993  Martin Junius  (mj at sungate)

	* Total rewrite of pkt_put_msg_hdr().

	* New module packet.c: function for reading/writing packets and
	  messages. Moved functions put_string(), put_line(), write_int(),
	  write_msg_hdr() from rfc2fido.c to pkt_put_string(),
	  pkt_put_line(), pkt_put_int16(), pkt_put_msg_hdr().

	* Rewrite of packet.h: new typedef Message, structure with message
	  header, new #define's MSG_* for sizes and attributes.

Sun Nov 21 17:08:08 1993  Martin Junius  (mj at sungate)

	* RCS check in: update 3.3.0.1

	* rfc2fido.c: output " * Newsgroups: ..." also for mails with
	  Newsgroups header.

	* fido2rfc.c: reset uucp_flag to FALSE when message from FIDO
	  message tracker is detected.

Thu Nov 18 09:29:10 1993  Martin Junius  (mj at sungate)

	* Dito in rfc2fido.c.

	* Removed all extern declarations at the beginning of fido2rfc.c.

Tue Nov 16 09:31:18 1993  Martin Junius  (mj at sungate)

	* Changed rfc2fido to generate `^ACHRS: LATIN-1 2' kludge according
	  to FSC-0054. (^ACHARSET is only used for old compatibility and
	  the level `2' was missing.)

Mon Nov 15 07:45:45 1993  Martin Junius  (mj at sungate)

	* ********** RELEASE 3.3 (PL3) **********

	* RCS check in: release 3.3

Sun Nov 14 14:42:29 1993  Martin Junius  (mj at sungate)

	* rfc2fido.c: changed functions mail_address() and mail_sender()
	  to use new header_getcomplete(). This solves the problems with
	  weird From lines like
		From: "Dinu C. Gherman"
		 <UKFH@IBM3090.RZ.UNI-KARLSRUHE.DE>

	* rfcheader.c: new function header_getcomplete() returns complete
	  header line with concatenated continuation lines.

	* Fixed a bug in fido2rfc.c:check_origin(), skip any non-digits
	  before FIDO address, e.g. as in "... (FidoNet 2:242/44.1)".

	* Changed processing of ^AORIGID: alas, some ZER gateways seems to
	  create Message-IDs with spaces in the id part (not allowed
	  according to RFC822), this broke the old parser in
	  msgid.c:msgid_convert_origid(). This is now fixed, and this
	  function will return NULL for an invalid ^AORIGID. Changes in
	  fido2rfc.c:unpack() according to this behaviour, too.

Mon Nov  8 16:14:00 1993  Martin Junius  (mj at sungate)
[ faked ChangeLog entry ;-) ]

	* ********** RELEASE 3.2 (PL2) **********

	* RCS check in: release 3.2

Mon Nov  8 13:50:56 1993  Martin Junius  (mj at sungate)

	* Some cleanup of the debug message in fido2rfc.c.

	* Output ^ACHARSET: LATIN-1 to FIDO messages indicating ISO-8859-1
	  character set. This is a kludge, FIDOGATE should really use the
	  MIME header lines.

	* msgid.c: added special kludges for handling MAUS message ids.
	  According to the Gatebau specifications MAUS message ids are
	  converted to <axxxxx@xx.maus.de>, using a lower case `a'. But
	  the MAUS gateways currently generate <Axxxxx@xx.maus.de>, so to
	  avoid dupes this is needed ...

Thu Nov  4 09:22:42 1993  Martin Junius  (mj at sungate)

	* Added actual processing of -i flag to rfc2fido.c ;-)

	* RCS check in: update 3.1.0.6

	* New flag -i / -ignore-registration for rfc2fido, allows mail to
	  be sent to p.f.n.z.fido.de even if the address is not registered
	  in hosts. Changes to hosts.c:get_fido_de_node().

	* Added #include <unistd.h> to rfc2fido.c for getuid().

	* Removed "External functions and variables" declaration from
	  fidogate.h. Those declarations were partly conflicting with
	  Standard C declarations in header files. New `extern int errno'
	  declaration in declare.h, prototype for time() and SUNOS.

Tue Nov  2 07:55:47 1993  Martin Junius  (mj at sungate)

	* Replaced all %X date formats with %H:%M:%S to avoid possible
	  conflicts with locale settings.

	* Rewrote misc.c:date() to use Standard C function strftime() to
	  format date. New compile flag NO_STRFTIME to use the old date
	  formatter if the C library doesn't contain strftime(). -DUSG or
	  -DBSD no longer necessary for SUNOS 4.1.x and LINUX.

	* RCS check in: update 3.1.0.5

Sun Oct 31 10:39:27 1993  Martin Junius  (mj at sungate)

	* rfc2fido.c:snd_message(): if the reply addressed looked up by
	  mail_address() is not the same as the address in the From header
	  line, the From and Reply-To header line will output a
	  " * From: ..." and " * Reply-To: ..." at the beginning of the
	  message.

	* config.h: changed #define FTN_INTL_ALWAYS to FTN_FORCE_INTL

Thu Oct 28 20:00:37 1993  Martin Junius  (mj at sungate)

	* Fixed a severe bug in rfc2fido.c:fido_date(): message was wrong
	  due to some really stupid programming error. :-( Better think
	  twice when using functions which return a pointer to a internal
	  static char [].

Wed Oct 27 09:30:39 1993  Martin Junius  (mj at sungate)

	* Fixed a severe bug in fido2rfc:unpack(): setting tear_line to
	  save_tear_line+4 and later doing a free(tear_line) caused
	  malloc() corruption and a core dump.

	* Changed mode of lock file created by fido2rfc to 0666, otherwise
	  MSDOS doesn't ``see'' this file via PC-NFS.

	* Replaced `%h' with `%b' in two wrong date() formats.

Mon Oct 25 09:07:54 1993  Martin Junius  (mj at sungate)

	* misc.c:date(): Removed wrong `+ 1' from day of month and day of
	  year output.

Thu Oct 21 08:27:33 1993  Martin Junius  (mj at sungate)

	* Added initialization of Config.dir_lib[] to config.c:config_init().

Wed Oct 20 08:48:41 1993  Martin Junius  (mj at sungate)

	* rfc2fido.c: use FIDO from name for ^AREPLYADDR.

	* Changed rfc2fido.c:fido_date() to use date() with appropiate
	  format.

	* Total rewrite of date() in misc.c using stftime() like format
	  specifiers. Changed most of the calls to date() to use the
	  default format string, the others to using the new format
	  specifiers. 

	* Removed lib_dir[] and set_libdir() from misc.c, replaced by
	  Config.dir_lib[] and config_dir_lib() in config.c.

	* RCS check in: update 3.1.0.4

	* rfc2fido.c:write_pkt_hdr() now writes correct packet date
	  (hour). 

	* Changed Organization header to use the entire origin line,
	  including the FIDO address. Output Organization header for mail
	  messages, too.

	* Added config.h #define X_FTN_TEARLINE enabling X-FTN-Tearline
	  header in the RFC messages with the information from the FIDO
	  tearline.

	* Added proper checking for tear lines to the message body reading
	  loop in fido2rfc.c:unpack(). "--- " lines in the middle of the
	  message no longer will be deleted. The same goes for "SEEN-BY"
	  lines.

Tue Oct 19 21:12:08 1993  Martin Junius  (mj at sungate)

	* Applied the changes in `little-hack.patch' by Roland Rosenfeld,
	  creating the new config.h #define FTN_INTL_ALWAYS and #define
	  FTN_4D_ECHOMAIL_WITH_POINTS.

	* rfc2fido.c:write_msg_hdr(): set ATTR_PRIVATE for all NetMails.

	* Applied `return.patch' by Kai Kretschmann.

Sat Oct 16 14:57:49 1993  Martin Junius  (mj at sungate)

	* RCS check in: update 3.1.0.3

	* Changed rfc2fido's ^AVia line date to a more SQUISH like output.

	* Added `%Y' format to misc.c:date(), yielding year including
	  century. 

Fri Oct 15 12:59:16 1993  Martin Junius  (mj at sungate)

	* Implemented FSC-0035 in rfc2fido.c:snd_message(), using address
	  from mail_address(). Also changed From RFC header in FIDO
	  message to use this address.

	* New function rfc2fido.c:mail_address() returning mail address of
	  message sender.

	* New config.h #define FSC_0035, enabling ^AREPLYADDR, ^AREPLYTO
	  kludges according to FSC-0035.

Wed Oct 13 08:33:13 1993  Martin Junius  (mj at sungate)

	* RCS check in: update 3.1.0.2

	* Removed EXTRA_DOMAIN_[12] from parseinternode() and config.h.

	* Applied domains.patch from Roland Rosenfeld, allowing all
	  domains in file `domains' as domains for FTN addresses in
	  address.c:parseinternode().

Tue Oct 12 12:57:36 1993  Martin Junius  (mj at sungate)

	* RCS check in: update 3.1.0.1

	* Removed FIDO_DE_POSTMASTER from config.h

	* fido2rfc.c: added bouncing of unsecure mails.

	* fido2rfc.c: added bouncing of mails addressed to `UUCP' or
	  `GATEWAY' without a valid To line.

	* bounce.restricted: message file for this type of bounce.

	* Change fido2rfc.c:unpack() to use bounce_restricted() for
	  bouncing mail from non-registered nodes.

	* bounce.c: new functions bounce_header(), bounce_restricted().

	* Replaced mail file open/close in fido2rfc with new functions from
	  mail.c, removed mail_* variables.

	* New Config member dir_mail[]: name of directory for RFC mail.
	  Replaces mail_dir in fido2rfc.c.

	* New file mail.c containing functions for creating RFC mail
	  messages in the FIDOGATE mail directory: mail_open(),
	  mail_name(), mail_kill(), mail_close().

	* New file bounce.c containing functions for bounce messages:
	  print_file_subst(), bounce_print_msg(), more to come.

Tue Sep 14 08:34:07 1993  Martin Junius  (mj at sungate)

	* ********** Release FIDOGATE 3.1beta (PL1) **********

	* RCS check in: release 3.1

	* Tested - o.k.

	* RCS check in: update 3.0.0.7

	* Replaced all fopen() modes with the string constants *_MODE from
	  config.h.

	* Only output RFC headers From, Reply-To, To, Cc, Newsgroups, if
	  X-Flags: N is not present. (Allows sending mail to FIDO addresses
	  which don't like this stuff, e.g. Areafix.)

Mon Sep 13 07:39:10 1993  Martin Junius  (mj at sungate)

	* Added define BINKLEY_FLO to config.h enabling and specifying the
	  extension for BinkleyTerm-style FLO files. FLO files will be
	  created in the outbound directory.

	* New define PACKET_MODE for outbound packet access mode. (0666 to
	  allow access via PC-NFS with UID=nobody.)

	* Added defines EXTRA_DOMAIN_[12] to config.h to allow more
	  domains to recognized as FIDO addresses. This really should be
	  done via the `domains' config file.

	* Started merging in Jan Niehusmann's RFCTOSS patches.

	* RCS check in: update 3.0.0.6

	* Removed function compress_spaces() from fido2rfc.c.

	* rfc2fido.c: no "i/n" in "^AORIGREF" for splitted messages.

	* rfc2fido.c: new function print_via(), generating "^AVia" line
	  for NetMail. Prototypes for all functions in this module.

	* Changed fido2rfc.c:unpack() to use the new function, also added
	  handling of ^AORIGREF kludge (wasn't implemented yet).

	* msgid.c: new function msgid_convert_origid() for processing
	  ^AORIGID/^AORIGREF with indication of splitted part "i/n". In
	  case of ^AORIGID the "i/n" will be prepended as "i.n" to the
	  message id. This gets rid of the infamous "white space in
	  Message-ID" error message.

Fri Sep 10 08:58:23 1993  Martin Junius  (mj at sungate)

	* RCS check in: update 3.0.0.5

	* Added is_fido_flag to address.c (static variable), set by
	  parse_address() according to the address type. Function isfido()
	  (wasn't used currently) returns setting of this flag.

	* Changes to allow FIDOGATE to be used as a FIDO point system on
	  UNIX without UUCP or Internet connection. All Internet mail will
	  be send via a FIDO<->Internet gateway. The #define FIDO_GATE in
	  config.h enables this feature, FIDO_ZONE, FIDO_NET, FIDO_NODE,
	  FIDO_POINT must be set to the gateway's FIDO address, FIDO_NAME
	  to the user name of the gateway, normally this is "UUCP" or
	  "GATEWAY". Thanx to Roland Rosenfeld for suggesting and sending
	  patches.

Thu Sep  9 18:00:44 1993  Martin Junius  (mj at sungate)

	* Removed static buffer[] from textlist.c.

	* New #define PRODUCT_CODE in config.h specifying the product code
	  for packets generated by FIDOGATE. 0xfe is a value reserved for
	  new products when the product code numbers ran out.

	* New function version_major(), version_minor() in version.c,
	  returning the major and the minor part of the version number,
	  respectively (currently major=3, minor=1). This functions are
	  used for writing product revision major and minor to the FIDO
	  packets.

	* New global temporary char buffer[BUFFERSIZE] in xalloc.c,
	  fidogate.h: prototypes for functions in xalloc.c, removed
	  declarations for strempty.c.

	* RCS check in version.id: release 3.1 beta

	* RCS check in: update 3.0.0.4

Fri Sep  3 08:31:51 1993  Martin Junius  (mj at sungate)

	* Enable checking of X-Comment-To for news/EchoMail messages.

	* Updated INSTALL documenting new config.h options.

	* Use fakenet address also for 2+ packets. 4D point addressing for
	  EchoMail is enabled if Config.myfakeaddr.point != 0. For 4D
	  points the fakenet address must be the same as the real 4D address.

	* Added "O/T-Track" to the message tracker recognition in
	  fido2rfc.c.

Thu Sep  2 14:26:45 1993  Martin Junius  (mj at sungate)

	* FIDOGATE now compiles with -Wall and no warnings (except one
	  from getdate.y), at least on SUN.

	* Removed #define RETURN_FAILED_MAIL from config.h and
	  corresponding code in rfc2fido.c.

	* ANSIfied function definitions of misc.c:log(), debug(),
	  rfc2fido.c:sendback() (functions with var. args).

	* Removed extern reference for not existing global vars from
	  fidogate.h.

	* New header file declare.h with function declarations/prototypes
	  for SUNOS 4.1.3.

Tue Aug 31 23:04:19 1993  Martin Junius  (mj at sungate)

	* Included patches from Kai Kretschmann: compiler warnings,
	  support for 2+ packets and 4D point addressing for EchoMail.
	  New #define's PACKET_2PLUS and PACKET_PASSWD in config.h

Mon Aug 23 08:12:20 1993  Martin Junius  (mj at sungate)

	* ********** Release FIDOGATE 3.0beta (PL0) **********

	* RCS check in: update 3.0.0.3

	* Added MSZ to getdate.y time zones.

Sat Aug 21 16:38:28 1993  Martin Junius  (mj at sungate)

	* Changed rfc2fido.c:sendback() error message. open_mailer() now
	  inside #ifdef RETURN_FAILED_MAIL.

Tue Aug 17 08:44:02 1993  Martin Junius  (mj at sungate)

	* New file patchlevel.h containing #define PATCHLEVEL, included by
	  version.id. Set state to `beta'.

	* RCS check in: update 3.0.0.2

	* Added zone checking to parseinternode().

	* Updated fidogate.h with prototypes for all functions in address.c.

	* Removed functions internode() and internodex() from address.c,
	  using function node_to_domain() instead.

	* Removed functions returnbad() and parsefnetaddress() from
	  address.c, using function asc_to_node() for parsing FIDO
	  addresses.

Mon Aug 16 18:17:10 1993  Martin Junius  (mj at sungate)

	* Removed ZONES define from config.h, zone checking will be done
	  using the information provided in the `domains' config file.
	  New functions init_domain(), check_domain() in address.c

Sat Aug 14 16:32:07 1993  Martin Junius  (mj at sungate)

	* Removed REM_REGION define from config.h

	* Removed REM_NAME define from config.h, not used either.

	* Removed REAL_REGION, MY_REGION defines from config.h, they were
	  not used anywhere.

Sun Aug  1 12:06:49 1993  Martin Junius  (mj at sungate)

	* RCS check in: update 3.0.0.1

	* Fixed a small bug in config.h, LOCK_LOCKF defines. This version
	  compiles and runs fine under LINUX with SYSFLAGS=-DUSG.

	* #define LOCK_LOCKF in config.h dependend on BSD/USG. Exceptions
	  for SUNOS and LINUX.

	* Changed newsgroups for unknown FIDO areas to `fido.junk'.
	  Removed the distribution stuff from fido2rfc, because this isn't
	  used any more.

Wed Jul 28 00:20:25 1993  Martin Junius  (mj at sungate)

	* Added remark about adding `news' as a trusted user to
	  sendmail.cf in fidorun.sh.

	* Change line break to allow a maximum of MAX_LINELEN-1 characters
	  per line.

	* Fixed handling of ^AORIGID: no more extra \n after Message-ID
	  header in output. \n at end of every ^A kludge is removed.

	* Fixed function news_msg().

	* Added new function msg_format_buffer(), which does the
	  formatting and line breaks. This function is called AFTER a \r
	  terminated line is read from the message body and does therefore
	  not disturb the reading of kludge and RFC header lines.

	* Fixed a bug in fido2rfc: addresses from ^AFMPT, ^AINTL will not
	  be used if a `` * Origin: ...'' line is present.

Tue Jul 27 23:53:27 1993  Martin Junius  (mj at sungate)

	* Rewrote fido2rfc:msg_getline() (old function ffgets()).
	  This function now only reads lines up to a \r. Output formatting
	  and word wrapping will be done separately. This makes reading of
	  the text body, including kludge lines, much easier. This
	  function is also used to read the AREA:<tab> line for
	  identifying EchoMail. news_msg() is modified accordingly.

	  The function strempty() and strsclean() are no longer needed, so
	  the module strempty.c is removed from the FIDOGATE sources.

Mon Jul 26 08:25:09 1993  Martin Junius  (mj at sungate)

	* Option -m / config_addr() sets fakenet address, too.

Thu Jul 22 20:35:40 1993  Martin Junius  (mj at sungate)

	* RCS revision numbers set to 3.0 for the new 3.0alpha release.

	* More changes to lookup_by_node() and get_fido_de_host().
	  ``hosts'' entry ``-'' no longer supported.

	* Fixed a bug hosts.c:lookup_by_node(), comparison didn't work
	  properly for hosts with point addresses.

Tue Jul 20 08:37:13 1993  Martin Junius  (mj at sungate)

	* New time zone names `MEZ', `MES', `MESZ', `METDST' in getdate.y.

	* Replaced copyright/license header in all *.h *.c files with the
	  new GPL version.

	* Initialize domain part of several Node variables to empty
	  string. Necessary for using node_to_asc().

	* Replaced all calls to ascnode(), ascnoden() with node_to_asc(),
	  removed ascnode(), ascnoden() from address.c.

Mon Jul 19 18:42:34 1993  Martin Junius  (mj at sungate)

	* New config file ``domains'' for associating FTN zones and
	  Internet domains. New function get_domain() in address.c to be
	  used by all address functions. Support for Message-ID's with
	  different domains than `fidonet.org' is still missing.

	* fido2rfc now uses command line options similar to rfc2fido,
	  using GNU getopt and long options. Many small changes and
	  cleanups to use new Config structure.

	* Some changes to the options of rfc2fido.

Wed Jul 14 08:43:48 1993  Martin Junius  (mj at sungate)

	* rfc2fido now uses GNU getopt and long options. New options for
	  setting FIDO addresses implemented. (Not yet functional)

	* Created new file config.c with function for runtime
	  configuration. Global struct Config is used to access these
	  informations. Currently implemented: FIDO address, fake net
	  address, remote address. Function config_init() to initialize from
	  config.h #define's.

	* Started using ChangeLog for documenting development of FIDOGATE.
	  RCS Logs will be deleted from source files.
