Copyright (c) 1993 by Eugene G. Crosser This is a README file for ifmail - another Internet/FidoNet gateway You may do virtually what you wish with this software, but you must preserve the explicit reference to its original author: Eugene G. Crosser , 2:5020/23.14@FidoNet This should be considered a beta release. Use it on your own risk. No warranty of any kind... OK, ya know all that stuff :-) This piece of software was developed to fit into my current mail/news environment: Smail 3.1 and Cnews. I honestly beleive that it also can be easily used with sendmail, but I had no chance to try it. I can tell nothing about INN, if you make it work (or fail to make it work) with INN, please let me know. Ifmail program must run setuid owner of fidonet related stuff. The current packet naming is BinkleyTerm, with file/directory names in lowcase. Naming conventions are implemented in a separate source file, pktname.c, to make modifications easier. (I think that multizone/multipoint naming is currently incorrect. Please let me know what it _must_ be.) I am very sorry, but I really have no stomach to write any docs, so here is a description of keys and files reference: usage: ifmail -h -n -x -I -r ... -h get this help -n set news mode -x set debug level to [0] -I use config file [/usr/local/lib/fnet/ifconfig] -r address to route packet list of receipient addresses Default is mail mode operation. In mail mode you must specify recepient(s) address(es) in the command line, in the form: "Eugene.Crosser@p6.n5020.z2.fidonet.org". When the news mode is in effect, i.e. "-n" key is specified or the program is called as "ifnews", a news article (or batch) is expected on stdin. "-r" key is used to specify the destination of the packet, in the form "[pNN.]fNN.nNN[.zNN[.domain]]". In news mode if -r key is omitted the first recepient address is used as routing address, and if it is absent, $NEWSSITE environment variable is used as routing adderss. The opposite way program is called iftoss. It expects a non-arcmail packet on stdin. usage: iftoss -h -x -I -h get this help -x set debug level to [0] -I use config file [/usr/local/lib/fnet/ifconfig] Both programs try to preserve as much information as possible in "X-FTN-..." headers and "^ARFC-..." kludges, and restore messages more or less accurately to their original form when double-gatewaying. A dbm-based alias database is supported, so if a message passes from a newsgroup to echo, the author's free form name and domain address are stored, and when a netmail reply comes from fidonet to that free form name, it is passed to the remembered domain address. Several addresses may be specified in the config file, netmail from fidonet addressed to any of those addresses is assumed local and resolved through the mentioned database, otherwise the mail will be routed through the normal MTA (and presumably packed to some other fidonet node). If there is a "To:" line at the beginning of the fido message, address is taken from it (ONLY THE FIRST ONE!). Message IDs are converted as follows: "^AMDGID:
" is converted to "@
". If there was no MSGID in the fidonet message, messageid of the form @ is generated, so that when a single message is gatewayed twice, it will have the same messageid anyway (for some (little) risk of having two different messages with the same messageid). RFC822 Message-IDs are converted back when they can be, otherwise the messageid "@" is converted to "^AMSGID crc32("")". When an RFC message is split, unique MSGIDs are generated for all parts after the first one. In any case, the original "Message-ID:" header is preserved in the "^ARFC-Message-ID:" kludge and used if the message comes back to usenet on some (other) gateway. SEEN-BYs are not currently treated anyhow, only preserved and passed back if neccessary. ^APATH information is included into the "Path:" header. I have plans to use this information more intelligently in the next release of the package. There is also a feature to define "forbidden" groups. If a usenet message is crossposted to some of the gated groups _and_ to some of the forbidden groups it will not be gated to fidonet. I am also going to write "ifpack" and "ifunpack" shells and include them into the next release. (Currently these functions are performed by simple shell scripts at my node). OK, try it... Files reference --- Example ifmail configuration files config Areas --- Example news batch and mail messages and Fidonet packet newsin test pkt --- Example Smail configuration files routers transports ftnpaths --- Example cnews configuration files sys batchparms --- Perl scripts to maintain the alias database a2dbm ldbm --- Source code Makefile, Version, *.c, *.h