						   -*- Indented-Text -*-
	************** TODO list for FIDOGATE development **************


DONE	* ftntoss: option to disable dupe check for mail only tossing.

	* new implementation of strtok(), xstrtok() function, using
	  reentrant common routine.

DONE	* areas.bbs: option for area description.
	  Better parser for areas.bbs entries and options needed!
	
DONE	* tests: ftntoss echomail problems and Kill* config.

DONE	* ftn2rfc: option to *not* delete input packet for usage with
	  ftnpack and the prog packing command.

	* ^ACHRS default configurable per area + character translation
	  for RFC -> Fido.

4.3.x	* Different Message-ID and sender Internet domain
	  configuration (extended Zone config).

	* rfc2ftn: mail split limit configurable per host.

	* Allow config option on command line for all programs.
	  rfc2ftn: command line option for enabling X-Flags.

4.3.x	* rfc2ftn: different output dirs for mail and news.

4.3.x	* log.c: add alternate logging via openlog(), syslog().

	* Direct mailing list support, gateway EchoMail <-> mailing
	  list.

4.3.x	* config: different lib and sbin directory?

	* scripts: check that process which created lock file still
	  exists.

	* lock.c:lock_lockfile_id(): implement safer variant, see man 2
	  open, NFS related bug with O_EXCL.

4.3.x	* ftn2rfc: ^ARFC-<mime> import.

4.3.x	* ftn2rfc/rfc2ftn: MAIL-log messages configurable.

4.3.x	* config: move config files to /etc/fidogate, %C for config dir.

	* ftnaf: option to sort areas.bbs, including zone/keys.

	* rfc2ftn: filter function for SPAM.

	* ftntoss: remove duplicate addresses from SEEN-BY
	  (postprocessing for PASSTHRU_ECHOMAIL).

	* ftn2rfc: allow Newsgroups, Followup-To: header.

	* rfcheader.c: rewrite all *header_get* functions using the
	  new rfcheader_geth().

	* config: run-time configuration for FTN_RFC_HEADERS,
	  RFC_LVL_1_HEADERS, and text headers put into FTN message by
	  rfc2ftn.

STARTED	* areas.bbs: read-only/vacation flag for downlinks,
	  e.g. Z:N/F.P=flags 
	  ftnaf: commands for vacation flag.

	* rfc2ftn: check for multiple entries of the same groups in
	  the Newsgroups header.

	* ftn2rfc: send bounce mails directly as FTN messages, not via
	  the mail system.
 	  ftn2rfc: bounce messages should include the complete FTN
	  message with all kludges etc. to ease debugging.

	* rfc2ftn: save large mails to file, fattach on hold for
	  recipient?

	* ftn2rfc/rfc2ftn: mail log + size / message date

	* rfc2ftn: configuration option for mail RFC level *per*
	  *host*, e.g. option in HOSTS.

	* ftntick: call script for incoming TICs, passing file area,
	  name, ... for announcements

	* ftnaf: marker in areas.bbs to show if an area is subscribed
	  at the uplink (option or using directory), regularly check
	  if area is subscribed by any downlink and send add/del
	  request to uplink.
	  #+ AREA is subscribed
	  #- AREA is not subscribed

STARTED * Replace calls to strncpy0/strncat0 with str_copy/str_append.

	* Generic alias matching: name@Z:N/F.P <-> user@do.main (Name),
	  recipient *and* sender

	* rfc2ftn: improve parser for 1st line. Use regexp library?

	* rfc2ftn: option to use node address, not gateway point
	  address for local users.

	* "BestMatchAKA" parameter for all programs. Similar to
	  setting AKA based on current zone, using the AKA with best
	  fits the sender/receiver. For multi-point operation.

DONE	* rfc2ftn: config parameter to disable/enable X-Flags
	  processing. Add config parameter for specifying addresses
	  allowed to use X-Flags.

	* ftn2rfc: process ^ARFC headers. If RFC level 1, import
	  important headers such as Date, Message-ID. If RFC level 2,
	  import all headers present.

	* ftnflo: pipe to program processing the entries (e.g. send
 	  with FTP), new scripts senduu, senduumail.

	* ftntick: remove FILES.BBS entry for old replaced file.

	* ftntick: if node is busy, put necessary data for
	  bink_attach() into separate file, don't wait, retry on the
	  next run.

	* ftnpack: remove 0-size arcmail from previous days.
	
	* ftnroute: new command "xroute" allowing routing based on
	  source *and* destination address.

	* ftnhatch: copy option: copy file to file area and put entry
	  into files.bbs (standard hatch behavior).

	* ftnpack: runtime configuration of arcmail extension
	  usage. Use XX0-9 only, XX0-9 + XXA-F, wrap around to XX0 if
	  last one is too large, etc.
	  ArcMail extensions: mo[0-9], plus mo[a-f], maybe mo[a-z]?
	  runtime configuration of arcmail extensions usage.

	* ftn2rfc: restrict gateway to certain *Internet* addresses.

MOSTLY	* ftnpack: better file attach processing, -F DIR option. Don't
DONE	  copy netmail packets (do_noarc()), use rename(). If archiver
	  fails, move packets back to toss/out directory.

	* Check packet passwords of incoming packets.

	* ftntoss: check # of ^AVia lines

DONE	* ftn2rfc, rfc2ftn: passthru operation for FTN messages, in
	  particular EchoMail control information.

	* ftntoss: strip ^APATH for ZoneGate

	* ftntoss: ZoneGateFrom as suggested by <slapic@fido.hu>:
-------------------------------------------------------------------------
i receive mail from 1:270/101 as 1:270/104 (so i'm 1:270/104)
my normal address is 2:371/2000
i must forward/pack echomail as 2:371/2000
i should strip seen-by and path when forwarding mail from 1:270/101 
regardless whom i'm sending to.

at this moment i have two installed fidogate, one with aka 1:270/104, and 
one with aka 2:371/2000
my 1:270/104 system receives from 1:270/101, and packs for 2:371/2000
2:371/2000 receives from 1:270/104 and processes mail as normal.
and at the end, 2:371/2000 exports to 1:270/101...
it's not so nice... working, but not nice... i'd like to use one system 
on a phisical system.
so if i can do something like this:
ZoneGateFrom    1:270/101       270/101 104 371/2000
ZoneGate        1:270/101       270/101 371/2000
and as the zonegatefrom specifies, fidogate should strip seen-by and path 
every mail _from_ 1:270/101
-------------------------------------------------------------------------
	  This requires setting the sender address for the particular
	  area. Something else?
