Dies ist fidogate.info, hergestellt von Makeinfo Version 4.1 aus fidogate.texi. This file documents the installation and usage of FIDOGATE version 4.4 Copyright (C) 1994-2000, Martin Junius Permission is granted to make and distribute verbatim copies of this manual provided the copyright notice and this permission notice are preserved on all copies. Permission is granted to copy and distribute modified versions of this manual under the conditions for verbatim copying, provided that the entire resulting derived work is distributed under the terms of a permission notice identical to this one. Permission is granted to copy and distribute translations of this manual into other languages, under the above conditions for modified versions. Introduction ************ This manual documents how to install and use FIDOGATE. It is the first step toward a concise documentation. Alas, writing documentation is a somewhat tedious business, so this manual is far from complete. * Introduction::Introduction to FIDOGATE * Installation::Compiling and installing FIDOGATE * Programs:: FIDOGATE programs and scripts * Config files::FIDOGATE config files * Basic:: Basic configuration * Usage:: FIDOGATE usage * Index:: Index --- The Detailed Node Listing --- Compiling and installing FIDOGATE * config.h:: The config.h header file * config.make:: The config.make Makefile configuration * Compiling:: Compiling and installing FIDOGATE * Integration:: Integrating FIDOGATE and the mail/news system * Testing:: Testing FIDOGATE operation * Connecting:: Connecting to FIDONET Utilities * ftnaf:: Areafix mail processor * ftnafmail:: Areafix mail setuid frontend * ftnafpkt:: Areafix packet processor * ftnafutil:: Areafix utility Character set translation table compiler: * charsetc:: Character set translation table compiler FFX programs and scripts: * ffx:: Remote execution via Fido mailer * ffxmail:: `ffx' frontend for sending mail * ffxnews:: `ffx' frontend for sending news * ffxqt:: Execute `ffx' requests * ffxrmail:: `rmail' command for `ffxqt' * runffx:: Script for running FFX programs * send-ffx:: Script for processing news via FFX Gateway programs and scripts: * ftn2rfc:: Fido-Internet gateway program * ftnin:: Frontend for `ftn2rfc' * ftninpost:: `ftnin' post-processing script * ftninrecomb:: `ftnin' recombining script * ftnmail:: `rfc2ftn' setuid frontend * rfc2ftn:: Internet-Fido gateway program * rungate:: Script for running gateway programs * send-fidogate::Script for processing news via FIDOGATE Ticker programs: * ftnhatch:: Hatch new file into file area * ftntick:: Process incoming TIC files * ftntickpost:: `ftntick' post-processing script Tosser programs and scripts: * ftn2ftn:: FTN-FTN NetMail gateway * ftnexpire:: Utility to expire MSGID history database * ftnpack:: Pack (ArcMail) Fido mail packets * ftnroute:: Route Fido mail packets * ftntoss:: Toss/remap/rewrite Fido mail packets * runin:: Script for processing inbound packets * runmail:: Script for processing gateway mail output packets * runnews:: Script for processing gateway news output packets * runout:: Script for processing miscellaneous output packets * runtoss:: Script for running the tosser programs * rununpack:: Script for unpacking inbound arcmail archives Utilties: * ftnbsy:: Create/delete Binkley busy files * ftnconfig:: Retrieve information from FIDOGATE config files * ftnfattach:: Binkley outbound file attach utility * ftnflo:: Process Binkley outbound FLO files and attachments * ftnlock:: Create/delete lock files * ftnlog:: Write message to log file * ftnoutpkt:: Create output Fido message packets * ftnseq:: Access sequencer file * pktdebug:: FTN mail packet debugger * pktmore:: Pager frontend for `pktdebug' * sumcrc:: CRC checksum utility FIDOGATE Config Files * Config:: Main configuration file * Hosts:: hosts FTN address to host name conversion * Aliases:: aliases user aliases * Areas:: areas FTN area to newsgroup conversion * Bounce:: Bounce messages of `ftn2rfc' * Passwd:: passwd password config file * Routing:: routing file for `ftntoss' and `ftnroute' * Packing:: packing file for `ftnpack' * Areas.bbs:: areas.bbs EchoMail distribution Basic Configuration * Sendmail:: Sendmail configuration * Example Point:: Example point configuration * Example Point 2:: Example configuration with 2 point addresses * Example Node:: Example leaf node configuration FIDOGATE Usage * RFC Headers:: RFC Headers in FTN Messages * X Headers:: X Headers in RFC Messages Introduction to FIDOGATE ************************ FIDOGATE is a Fido-Internet gateway and a Fido tosser. It is placed under the GNU General Public License, see COPYING for details. The gateway converts between the worlds of Fido NetMail/EchoMail (or FTNs, Fido Technology Networks in general) and the UNIX mail/news system. FIDOGATE will convert Fido mail packets to RFC822/1036-style messages and vice versa. FIDOGATE also includes a complete FIDO mail processor (NetMail/EchoMail tosser), an FTN-FTN gateway (NetMail only), a file processor (TIC file areas) and an Areafix/Filefix. How to Get FIDOGATE =================== The latest version of FIDOGATE is available at the locations. Internet WWW FIDOGATE home page: http://www.fido.de/fidogate/ Internet anonymous ftp: ftp://ftp.fido.de/pub/fidogate/ BBS and FIDO frequest: 2:2452/110 111 242:1000/1 2 +49-241-876604 (V.34, ISDN V.110, X.75) Magic name FIDOGATE Requirements for FIDOGATE: ========================== * Something that gets you FIDONET mail. If you want a Unix-based Fido mailer, I recommend using ifcico or BinkD. * Installed news system (INN prefered) * Mail transport agent (sendmail prefered) * Perl (version 5 strictly required) * M4 for compiling the sendmail config files FIDOGATE Mailing List ===================== There is a NEW mailing list for FIDOGATE discussions and announcements: fidogate@fido.de To subscribe to this mailing list, send a message to majordomo@fido.de with the command subscribe fidogate in the message body (not subject!). This will not immediately put your email address into the mailing list. A confirmation mail with an authentication code will be send to you, which must be returned to majordomo to finally enable your subscription. To unsubscribe from this mailing list, send the command unsubscribe fidogate Credits ======= Most C code has been solely hacked by me, but there are also some source files taken from other free software packages (GNU, INN). See the various source files for details. In addition, many FIDOGATE users provided bug fixes and patches, which found their way into the distribution. The ancestor of both FIDOGATE and ifmail was a Usenet posting to alt.sources called `rfmail' ages ago. None of this original code survived the massive rewrite and new code which makes FIDOGATE. Compiling and installing FIDOGATE ********************************* * config.h:: The config.h header file * config.make:: The config.make Makefile configuration * Compiling:: Compiling and installing FIDOGATE * Integration:: Integrating FIDOGATE and the mail/news system * Testing:: Testing FIDOGATE operation * Connecting:: Connecting to FIDONET This chapter describes the FIDOGATE configuration and installation. You must also create and edit the config files to be installed in the CONFIGDIR directory, `fidogate.conf', `areas', `hosts', `passwd', `routing', `packing', `aliases' according to your setup (see the examples subdirectory). The chapter on config files describes them in detail. The `config.h' Header File ========================== Normally, if you want to compile a standard version of FIDOGATE on one of the supported platforms, it is not necessary to change anything in this file. Most things can be configured or overridden in `config.make' (compile-time) or `fidogate.conf' (run-time). If you really want to edit `config.h', here are the gory details: `LOCAL_FTN_ADDRESSES' Generate "local" FTN addresses: User_Name%p.f.n.z@hostname.domain instead of User_name@p.f.n.z.domain. `DO_BSY_FILES' Create Binkley-style busy files while accessing the Binkley outbound. `NFS_SAFE_LOCK_FILES' Create lock / bsy files in an NFS-safe way. `AMIGADOS_4D_OUTBOUND' Use AmigaDOS-style outbound file names. `MAXMSGSIZE' Maximum size of FIDO messages generated by `rfc2ftn', larger messages will be split. Alas, less than 16K seems to be the only safe setting. This is the default value. `FTN_INVALID_DOMAIN' Domain address to be used for invalid FTN addresses. `FACILITY' syslog facility used if `Logfile' is set to "syslog". `CHARSET_STDFTN' Default charset for Fido messages. `CHARSET_STD7BIT' Default charset for RFC messages with 7bit encoding. `ALIASES_ARE_LOCAL' Addresses found in the `aliases' config file are rewritten so that the sender's address is the gateway. `PASSTHRU_NETMAIL' Passthru operation for NetMail: if the sender of the message is an FTN address, the origin address of the resulting FTN message will be that FTN address. WARNING: enabled only if you really know what you're doing! `PASSTHRU_ECHOMAIL' Passthru operation for EchoMail: X-FTN-Tearline, X-FTN-Origin, X-FTN-Seen-By, X-FTN-Path headers will be used for tear line, * Origin, SEEN-BY, ^APATH, when gating from Internet to FTN. WARNING: enabled only if you really know what you're doing! `AI_1' `AI_3' `AI_5' `AI_6' `AI_8' Configuration for Andy Igoshin's patches, see `contrib/fidogate-4.3a3-ai-pl9.1/README.ai' for details. `AI_2,4,7' are now fully integrated. System dependent configuration: This configuration contains several groups of #define/#undef. First, the definitions for a standard POSIX UNIX, followed by #ifdef'ed definitions for SunOS, Linux, FreeBSD, Interactive UNIX, MSDOS DJGPP, NextStep, GNU-WIN32. If you want to port FIDOGATE to a new system, please add a #ifdef'ed section similar to the already existing ones. The gory details: `HAS_FCNTL_LOCK' Define, if the system support fcntl() file locking. `HAS_GETTIMEOFDAY' Define, if the system has the gettimeofday() function. `HAS_TM_GMTOFF' Define, if the system has a tm_gmtoff field in struct tm. `HAS_SYSEXITS_H' Define, if the system support the `sysexits.h' header file. `HAS_TM_ZONE' Define, if the system has a tm_zone field in struct tm. `HAS_STRFTIME' Define, if the system has the Standard-C strftime() function. `HAS_TZNAME' Define, if the system has `extern char *tzname[2]'. `HAS_STRCASECMP' Define, if the system has the `strcasecmp()' and `strncasecmp()' functions. `HAS_STRICMP' Define, if the system has the `stricmp()' and `strnicmp()' functions. `HAS_STERROR' Define, if the system has the `strerror()' function. `DO_BINARY' Define, if files must be opened in binary mode. `DO_DOSIFY' Define, if filenames must be converted to DOS, OS2-style `\'. `RECEIVED_BY_MAILER' Define, if extra Received lines are inserted by the mail system, currently only used for NeXT. `HAS_SYSLOG' Define, if syslogd and the library function `syslog()', `vsyslog()' are suppored. `HAS_SNPRINTF' Define, if `snprintf()' and `vsnprintf()' are supported. `HAS_HARDLINKS' Define, if the system supports file systems with hard links and the library function `link()'. `HAS_POSIX_REGEX' Define, if the system supports the POSIX regex functions regcomp(), regexec() etc. Define only one of `HAS_TM_ZONE', `HAS_STRFTIME', `HAS_TZNAME', and also only one of `HAS_STRCASECMP', `HAS_STRICMP'. THE FOLLOWING DEFINES SHOULD REALLY BE LEFT AS IS!!! `MSGID_FIDONET_DOMAIN' Default domain for standard FIDO addresses (zone 1-6). Used for Message-IDs only, so DO NOT CHANGE. `PACKET_MODE' `BSY_MODE' `FLO_MODE' `DATA_MODE' `DIR_MODE' `CONF_MODE' Permissions for files processed by FIDOGATE. `FTN_RFC_HEADERS' RFC headers recognized at the beginning of FTN messages. `RFC_LVL_1_HEADERS' RFC headers put into FTN messages for RFC level 1. `R_MODE' `W_MODE' `A_MODE' `RP_MODE' `WP_MODE' `AP_MODE' Modes (`fopen()') for opening files. `DATE_LOG' `DATE_DEFAULT' `DATE_NEWS' `DATE_MAIL' `DATE_FROM' `DATE_FTS_0002' `DATE_TICK_PATH' `DATE_VIA' `DATE_SPLIT' Date format strings. `PRODUCT_CODE' FIDO product code used by `rfc2ftn'. `MAXADDRESS' Maximum number of `Address' and `Zone' statements in `config' file. `MAXDOSDRIVE' Maximum number of `DosDrive' statements in `config' file. `MAXPATH' Maximum length of a pathname in FIDOGATE. `MAXINETADDR' Maximum length of the address part of an Internet address in FIDOGATE. `MAXUSERNAME' Maximum length of the user name part of an Internet address in FIDOGATE. `MAXOPENFILES' Maximum number of packet files concurrently opened by tosser programs. The maximum possible value is operating system and configuration dependent, see UNIX ulimits. The `config.make' Makefile Configuration ======================================== This file is included in all FIDOGATE Makefiles. A special convention is used for defining FIDOGATE configuration macros: macro name starting with `DEFAULT_' are used by the compilation process to automatically generate C code. `DEFAULT_V_option' Creates a Makefile macro definition, substitutes