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.
