1\input texinfo  @c -*-texinfo-*-
2@c
3@c FIDOGATE documentation for 4.4
4@c
5@c $Id: fidogate.texi,v 4.55 2004/08/26 20:56:16 n0ll Exp $
6@c
7
8@setfilename fidogate.info
9
10@iftex
11@c A4 paper
12@afourpaper
13@finalout
14@end iftex
15
16
17@ifinfo
18This file documents the installation and usage of FIDOGATE version 4.4
19
20Copyright (C) 1994-2000, Martin Junius
21
22Permission is granted to make and distribute verbatim copies of
23this manual provided the copyright notice and this permission notice
24are preserved on all copies.
25
26@ignore
27Permission is granted to process this file through TeX and print the
28results, provided the printed document carries copying permission
29notice identical to this one except for the removal of this paragraph
30(this paragraph not being relevant to the printed manual).
31
32@end ignore
33Permission is granted to copy and distribute modified versions of this
34manual under the conditions for verbatim copying, provided that the
35entire resulting derived work is distributed under the terms of a
36permission notice identical to this one.
37
38Permission is granted to copy and distribute translations of this manual
39into other languages, under the above conditions for modified versions.
40@end ifinfo
41
42@c @setchapternewpage odd
43@settitle FIDOGATE
44
45@titlepage
46@title FIDOGATE
47@subtitle Fido-Internet Gateway
48@subtitle Fido FTN-FTN Gateway
49@subtitle Fido Mail Processor
50@subtitle Fido File Processor
51@subtitle Fido Areafix/Filefix
52@subtitle Version 4.4
53@author by Martin Junius
54
55@page
56
57Copyright @copyright{} 1990-2002 Martin Junius
58
59Permission is granted to make and distribute verbatim copies of
60this manual provided the copyright notice and this permission notice
61are preserved on all copies.
62
63Permission is granted to copy and distribute modified versions of this
64manual under the conditions for verbatim copying, provided that the
65entire resulting derived work is distributed under the terms of a
66permission notice identical to this one.
67
68Permission is granted to copy and distribute translations of this manual
69into other languages, under the above conditions for modified versions.
70
71@end titlepage
72@page
73
74
75@node Top, Introduction, , (DIR)
76@top Introduction
77@cindex Introduction
78
79@noindent
80This manual documents how to install and use FIDOGATE. It is the first
81step toward a concise documentation. Alas, writing documentation is a
82somewhat tedious business, so this manual is far from complete.
83
84@menu
85* Introduction::Introduction to FIDOGATE
86* Installation::Compiling and installing FIDOGATE
87* Programs::    FIDOGATE programs and scripts
88* Config files::FIDOGATE config files
89* Basic::       Basic configuration
90* Usage::       FIDOGATE usage
91
92* Index::       Index
93
94 --- The Detailed Node Listing ---
95
96Compiling and installing FIDOGATE
97
98* config.h::    The config.h header file
99* config.make:: The config.make Makefile configuration
100* Compiling::   Compiling and installing FIDOGATE
101* Integration:: Integrating FIDOGATE and the mail/news system
102* Testing::     Testing FIDOGATE operation
103* Connecting::  Connecting to FIDONET
104
105Utilities
106
107* ftnaf::       Areafix mail processor
108* ftnafmail::   Areafix mail setuid frontend
109* ftnafpkt::    Areafix packet processor
110* ftnafutil::   Areafix utility
111
112Character set translation table compiler:
113* charsetc::    Character set translation table compiler
114
115FFX programs and scripts:
116* ffx::         Remote execution via Fido mailer
117* ffxmail::     @code{ffx} frontend for sending mail
118* ffxnews::     @code{ffx} frontend for sending news
119* ffxqt::       Execute @code{ffx} requests
120* ffxrmail::    @code{rmail} command for @code{ffxqt}
121* runffx::      Script for running FFX programs
122* send-ffx::    Script for processing news via FFX
123
124Gateway programs and scripts:
125* ftn2rfc::     Fido-Internet gateway program
126* ftnin::       Frontend for @code{ftn2rfc}
127* ftninpost::   @code{ftnin} post-processing script
128* ftninrecomb:: @code{ftnin} recombining script
129* ftnmail::     @code{rfc2ftn} setuid frontend
130* rfc2ftn::     Internet-Fido gateway program
131* rungate::     Script for running gateway programs
132* send-fidogate::Script for processing news via FIDOGATE
133
134Ticker programs:
135* ftnhatch::    Hatch new file into file area
136* ftntick::     Process incoming TIC files
137* ftntickpost:: @code{ftntick} post-processing script
138
139Tosser programs and scripts:
140* ftn2ftn::     FTN-FTN NetMail gateway
141* ftnexpire::   Utility to expire MSGID history database
142* ftnpack::     Pack (ArcMail) Fido mail packets
143* ftnroute::    Route Fido mail packets
144* ftntoss::     Toss/remap/rewrite Fido mail packets
145* runin::       Script for processing inbound packets
146* runmail::     Script for processing gateway mail output packets
147* runnews::     Script for processing gateway news output packets
148* runout::      Script for processing miscellaneous output packets
149* runtoss::     Script for running the tosser programs
150* rununpack::   Script for unpacking inbound arcmail archives
151
152Utilties:
153* ftnbsy::      Create/delete Binkley busy files
154* ftnconfig::   Retrieve information from FIDOGATE config files
155* ftnfattach::  Binkley outbound file attach utility
156* ftnflo::      Process Binkley outbound FLO files and attachments
157* ftnlock::     Create/delete lock files
158* ftnlog::      Write message to log file
159* ftnoutpkt::   Create output Fido message packets
160* ftnseq::      Access sequencer file
161* pktdebug::    FTN mail packet debugger
162* pktmore::     Pager frontend for @code{pktdebug}
163* sumcrc::      CRC checksum utility
164
165FIDOGATE Config Files
166
167* Config::      Main configuration file
168* Hosts::       hosts FTN address to host name conversion
169* Aliases::     aliases user aliases
170* Areas::       areas FTN area to newsgroup conversion
171* Bounce::      Bounce messages of @code{ftn2rfc}
172* Passwd::      passwd password config file
173* Routing::     routing file for @code{ftntoss} and @code{ftnroute}
174* Packing::     packing file for @code{ftnpack}
175* Areas.bbs::   areas.bbs EchoMail distribution
176
177Basic Configuration
178
179* Sendmail::	       Sendmail configuration
180* Example Point::      Example point configuration
181* Example Point 2::    Example configuration with 2 point addresses
182* Example Node::       Example leaf node configuration
183
184FIDOGATE Usage
185
186* RFC Headers:: RFC Headers in FTN Messages
187* X Headers::   X Headers in RFC Messages
188@end menu
189
190@c ***************************************************************************
191@page
192@node Introduction, Installation, Top, Top
193@chapter Introduction to FIDOGATE
194
195@cindex Introduction
196
197
198@noindent
199FIDOGATE is a Fido-Internet gateway and a Fido tosser.  It is placed
200under the GNU General Public License, see COPYING for details.
201
202The gateway converts between the worlds of Fido NetMail/EchoMail (or
203FTNs, Fido Technology Networks in general) and the UNIX mail/news
204system. FIDOGATE will convert Fido mail packets to RFC822/1036-style
205messages and vice versa.
206
207FIDOGATE also includes a complete FIDO mail processor (NetMail/EchoMail
208tosser), an FTN-FTN gateway (NetMail only), a file processor (TIC file
209areas) and an Areafix/Filefix.
210
211
212@section How to Get FIDOGATE
213
214@noindent
215The latest version of FIDOGATE is available at the locations.
216
217@noindent
218Internet WWW FIDOGATE home page:
219@example
220http://www.fido.de/fidogate/
221@end example
222
223@noindent
224Internet anonymous ftp:
225@example
226ftp://ftp.fido.de/pub/fidogate/
227@end example
228
229@noindent
230BBS and FIDO frequest:
231@example
232@r{2:2452/110 111  242:1000/1 2  +49-241-876604  (V.34, ISDN V.110, X.75)}
233@r{Magic name }FIDOGATE
234@end example
235
236
237@section Requirements for FIDOGATE:
238
239@itemize @bullet
240
241@item
242Something that gets you FIDONET mail. If you want a Unix-based Fido
243mailer, I recommend using ifcico or BinkD.
244
245@item
246Installed news system (INN prefered)
247
248@item
249Mail transport agent (sendmail prefered)
250
251@item
252Perl (version 5 strictly required)
253
254@item
255M4 for compiling the sendmail config files
256
257@end itemize
258
259
260@section FIDOGATE Mailing List
261
262@noindent
263There is a @i{NEW} mailing list for FIDOGATE discussions and
264announcements:
265
266@example
267fidogate@@fido.de
268@end example
269
270To @i{subscribe} to this mailing list, send a message to
271
272@example
273majordomo@@fido.de
274@end example
275
276@noindent
277with the command
278
279@example
280subscribe fidogate
281@end example
282
283@noindent
284in the message @i{body} (not subject!). This will not immediately put
285your email address into the mailing list. A confirmation mail with an
286authentication code will be send to you, which must be returned to
287majordomo to finally enable your subscription.
288
289To @i{unsubscribe} from this mailing list, send the command
290
291@example
292unsubscribe fidogate
293@end example
294
295
296
297@section Credits
298Most C code has been solely hacked by me, but there are also some source
299files taken from other free software packages (GNU, INN). See the
300various source files for details. In addition, many FIDOGATE users
301provided bug fixes and patches, which found their way into the
302distribution.
303
304The ancestor of both FIDOGATE and ifmail was a Usenet posting to
305alt.sources called @code{rfmail} ages ago. None of this original code
306survived the massive rewrite and new code which makes FIDOGATE.
307
308
309
310@c ***************************************************************************
311@node Installation, config.h, Introduction, Top
312
313@chapter Compiling and installing FIDOGATE
314
315@cindex Installation
316
317@menu
318* config.h::    The config.h header file
319* config.make:: The config.make Makefile configuration
320* Compiling::   Compiling and installing FIDOGATE
321* Integration:: Integrating FIDOGATE and the mail/news system
322* Testing::     Testing FIDOGATE operation
323* Connecting::  Connecting to FIDONET
324@end menu
325
326@noindent
327This chapter describes the FIDOGATE configuration and installation.  You
328must also create and edit the config files to be installed in the
329CONFIGDIR directory, @code{fidogate.conf}, @code{areas}, @code{hosts},
330@code{passwd}, @code{routing}, @code{packing}, @code{aliases} according
331to your setup (see the examples subdirectory).
332
333The chapter on config files describes them in detail.
334
335
336
337@c ***************************************************************************
338@node config.h, config.make, Installation, Installation
339
340@section The @code{config.h} Header File
341
342@noindent
343Normally, if you want to compile a standard version of FIDOGATE on one
344of the supported platforms, it is @i{not} necessary to change anything
345in this file. Most things can be configured or overridden in
346@code{config.make} (compile-time) or @code{fidogate.conf} (run-time).
347
348@noindent
349If you really want to edit @code{config.h}, here are the gory details:
350
351@table @code
352
353@item LOCAL_FTN_ADDRESSES
354Generate ``local'' FTN addresses: @i{User_Name%p.f.n.z@@hostname.domain}
355instead of @i{User_name@@p.f.n.z.domain}.
356
357@item DO_BSY_FILES
358Create Binkley-style busy files while accessing the Binkley outbound.
359
360@item NFS_SAFE_LOCK_FILES
361Create lock / bsy files in an NFS-safe way.
362
363@item AMIGADOS_4D_OUTBOUND
364Use AmigaDOS-style outbound file names.
365
366@item MAXMSGSIZE
367Maximum size of FIDO messages generated by @code{rfc2ftn}, larger
368messages will be split. Alas, less than 16K seems to be the only safe
369setting. This is the default value.
370
371@item FTN_INVALID_DOMAIN
372Domain address to be used for invalid FTN addresses.
373
374@item FACILITY
375syslog facility used if @code{Logfile} is set to "syslog".
376
377@item CHARSET_STDFTN
378Default charset for Fido messages.
379
380@item CHARSET_STD7BIT
381Default charset for RFC messages with 7bit encoding.
382
383@item ALIASES_ARE_LOCAL
384Addresses found in the @code{aliases} config file are rewritten so
385that the sender's address is the gateway.
386
387@item PASSTHRU_NETMAIL
388Passthru operation for NetMail: if the sender of the message is an FTN
389address, the origin address of the resulting FTN message will be that
390FTN address. WARNING: enabled only if you really know what you're doing!
391
392@item PASSTHRU_ECHOMAIL
393Passthru operation for EchoMail: X-FTN-Tearline, X-FTN-Origin,
394X-FTN-Seen-By, X-FTN-Path headers will be used for tear line, * Origin,
395SEEN-BY, ^APATH, when gating from Internet to FTN. WARNING: enabled only
396if you really know what you're doing!
397
398@item AI_1
399@item AI_3
400@item AI_5
401@item AI_6
402@item AI_8
403Configuration for Andy Igoshin's patches, see
404@code{contrib/fidogate-4.3a3-ai-pl9.1/README.ai} for
405details. @code{AI_2,4,7} are now fully integrated.
406
407@end table
408
409@noindent
410System dependent configuration:
411
412This configuration contains several groups of #define/#undef. First, the
413definitions for a standard POSIX UNIX, followed by #ifdef'ed definitions
414for SunOS, Linux, FreeBSD, Interactive UNIX, MSDOS DJGPP, NextStep,
415GNU-WIN32.
416
417If you want to port FIDOGATE to a new system, please add a #ifdef'ed
418section similar to the already existing ones.
419
420The gory details:
421
422@table @code
423
424@item HAS_FCNTL_LOCK
425Define, if the system support fcntl() file locking.
426
427@item HAS_GETTIMEOFDAY
428Define, if the system has the gettimeofday() function.
429
430@item HAS_TM_GMTOFF
431Define, if the system has a tm_gmtoff field in struct tm.
432
433@item HAS_SYSEXITS_H
434Define, if the system support the @code{sysexits.h} header file.
435
436@item HAS_TM_ZONE
437Define, if the system has a tm_zone field in struct tm.
438
439@item HAS_STRFTIME
440Define, if the system has the Standard-C strftime() function.
441
442@item HAS_TZNAME
443Define, if the system has @code{extern char *tzname[2]}.
444
445@item HAS_STRCASECMP
446Define, if the system has the @code{strcasecmp()} and
447@code{strncasecmp()} functions.
448
449@item HAS_STRICMP
450Define, if the system has the @code{stricmp()} and
451@code{strnicmp()} functions.
452
453@item HAS_STERROR
454Define, if the system has the @code{strerror()} function.
455
456@item DO_BINARY
457Define, if files must be opened in binary mode.
458
459@item DO_DOSIFY
460Define, if filenames must be converted to DOS, OS2-style @code{\}.
461
462@item RECEIVED_BY_MAILER
463Define, if extra Received lines are inserted by the mail system,
464currently only used for NeXT.
465
466@item HAS_SYSLOG
467Define, if syslogd and the library function @code{syslog()},
468@code{vsyslog()} are suppored.
469
470@item HAS_SNPRINTF
471Define, if @code{snprintf()} and @code{vsnprintf()} are supported.
472
473@item HAS_HARDLINKS
474Define, if the system supports file systems with hard links and the
475library function @code{link()}.
476
477@item HAS_POSIX_REGEX
478Define, if the system supports the POSIX regex functions regcomp(),
479regexec() etc.
480
481@end table
482
483Define only one of @code{HAS_TM_ZONE}, @code{HAS_STRFTIME},
484@code{HAS_TZNAME}, and also only one of @code{HAS_STRCASECMP},
485@code{HAS_STRICMP}.
486
487
488
489@noindent
490@i{THE FOLLOWING DEFINES SHOULD REALLY BE LEFT AS IS!!!}
491
492@table @code
493
494@item MSGID_FIDONET_DOMAIN
495Default domain for standard FIDO addresses (zone 1--6). Used for
496Message-IDs only, so DO NOT CHANGE.
497
498@item PACKET_MODE
499@item BSY_MODE
500@item FLO_MODE
501@item DATA_MODE
502@item DIR_MODE
503@item CONF_MODE
504Permissions for files processed by FIDOGATE.
505
506@item FTN_RFC_HEADERS
507RFC headers recognized at the beginning of FTN messages.
508
509@item RFC_LVL_1_HEADERS
510RFC headers put into FTN messages for RFC level 1.
511
512@item R_MODE
513@item W_MODE
514@item A_MODE
515@item RP_MODE
516@item WP_MODE
517@item AP_MODE
518Modes (@code{fopen()}) for opening files.
519
520@item DATE_LOG
521@item DATE_DEFAULT
522@item DATE_NEWS
523@item DATE_MAIL
524@item DATE_FROM
525@item DATE_FTS_0002
526@item DATE_TICK_PATH
527@item DATE_VIA
528@item DATE_SPLIT
529Date format strings.
530
531@item PRODUCT_CODE
532FIDO product code used by @code{rfc2ftn}.
533
534@item MAXADDRESS
535Maximum number of @code{Address} and @code{Zone} statements in
536@code{config} file.
537
538@item MAXDOSDRIVE
539Maximum number of @code{DosDrive} statements in @code{config} file.
540
541@item MAXPATH
542Maximum length of a pathname in FIDOGATE.
543
544@item MAXINETADDR
545Maximum length of the address part of an Internet address in FIDOGATE.
546
547@item MAXUSERNAME
548Maximum length of the user name part of an Internet address in FIDOGATE.
549
550@item MAXOPENFILES
551Maximum number of packet files concurrently opened by tosser
552programs. The maximum possible value is operating system and
553configuration dependent, see UNIX ulimits.
554
555@end table
556
557
558
559@c ***************************************************************************
560@node config.make, Compiling, config.h, Installation
561
562@section The @code{config.make} Makefile Configuration
563
564@noindent
565This file is included in all FIDOGATE Makefiles.
566
567A special convention is used for defining FIDOGATE configuration macros:
568macro name starting with @code{DEFAULT_} are used by the compilation
569process to automatically generate C code.
570
571@table @code
572
573@item DEFAULT_V_@i{option}
574Creates a Makefile macro definition, substitutes @i{<option>} in shell
575and perl scripts, creates a compile-time C @code{#define
576DEFAULT_}@i{option} in @code{paths.h}, a run-time configuration option
577@i{option} in @code{fidogate.conf}, and makes FIDOGATE evaluate the
578environment variable @code{FIDOGATE_}@i{option}.
579
580@item DEFAULT_F_@i{option}
581Creates a Makefile macro definition, substitutes @i{<option>} in shell
582and perl scripts, creates a compile-time C @code{#define
583DEFAULT_}@i{option} in @code{paths.h}. No run-time override!
584
585@item DEFAULT_A_@i{option}
586Creates a @i{%X} abbreviation (can be used at the start of file names)
587for @i{option}.
588
589@end table
590
591Be very carefull not to @b{remove} any of the FIDOGATE standard macros
592and don't touch the standard abbreviations in this file!!!
593
594
595@table @code
596
597@item DEFAULT_V_CONFIGDIR
598Directory for config files.
599
600@item DEFAULT_V_LIBDIR
601Directory for FIDOGATE's internal programs.
602
603@item DEFAULT_V_BINDIR
604Directory for user programs and scripts.
605
606@item DEFAULT_V_LOGDIR
607Directory for log files.
608
609@item DEFAULT_V_VARDIR
610Directory for @code{areas.bbs}, @code{history}.
611
612@item DEFAULT_V_LOCKDIR
613Directory for lock files.
614
615@item DEFAULT_V_SPOOLDIR
616Internal spool directory (temporary files).
617
618@item DEFAULT_V_BTBASEDIR
619BinkleyTerm-style outbound base directory. This is the base directory,
620not the actual zone outbound directory.
621
622@item DEFAULT_V_INBOUND
623BinkleyTerm-style inbound directory.
624
625@item DEFAULT_V_PINBOUND
626BinkleyTerm-style protected inbound directory.
627
628@item DEFAULT_V_UUINBOUND
629BinkleyTerm-style inbound directory for the @code{recvuu} script.
630
631@item DEFAULT_V_FTPINBOUND
632BinkleyTerm-style FTP inbound directory.
633
634
635@item DEFAULT_V_ACL
636Access control list for AI patches (not used for standard FIDOGATE
637distribution).
638
639@item DEFAULT_V_ALIASES
640Configuration file for aliases.
641
642@item DEFAULT_V_AREAS
643Configuration file for areas/newsgroups gateway.
644
645@item DEFAULT_V_HOSTS
646Configuration file for registered hosts.
647
648@item DEFAULT_V_PASSWD
649Configuration file for passwords.
650
651@item DEFAULT_V_PACKING
652Configuration file for ArcMail packer (@code{ftnpack}).
653
654@item DEFAULT_V_ROUTING
655Configuration file for NetMail/EchoMail routing (@code{ftntoss},
656@code{ftnroute}).
657
658@item DEFAULT_V_HISTORY
659MSGID history file for dupe check.
660
661@item DEFAULT_V_LOGFILE
662Default log file.
663
664@item DEFAULT_V_CHARSETMAP
665Character set mapping table.
666
667
668@item DEFAULT_F_NEWSETCDIR
669INN directory: config files
670
671@item DEFAULT_F_NEWSVARDIR
672INN directory: active, history files.
673
674@item DEFAULT_F_NEWSLIBDIR
675INN directory: scripts.
676
677@item DEFAULT_F_NEWSSPOOLDIR
678INN directory: news spool.
679
680@item DEFAULT_F_IFMAILDIR
681Ifcico/ifmail directory.
682
683
684@item DEFAULT_F_CONFIG_GATE
685@item DEFAULT_F_CONFIG_MAIN
686@item DEFAULT_F_CONFIG_FFX
687FIDOGATE main configuration file @code{fidogate.conf}.
688
689
690@item DEFAULT_F_SEQ_MAIL
691@item DEFAULT_F_SEQ_NEWS
692@item DEFAULT_F_SEQ_MSGID
693@item DEFAULT_F_SEQ_PKT
694@item DEFAULT_F_SEQ_SPLIT
695@item DEFAULT_F_SEQ_FF
696@item DEFAULT_F_SEQ_TOSS
697@item DEFAULT_F_SEQ_PACK
698@item DEFAULT_F_SEQ_TICK
699Sequencer files.
700
701@item DEFAULT_F_LOCK_HISTORY
702Lock file for history access.
703
704@item DEFAULT_F_OUTRFC_MAIL
705@item DEFAULT_F_OUTRFC_NEWS
706@item DEFAULT_F_OUTPKT
707@item DEFAULT_F_OUTPKT_MAIL
708@item DEFAULT_F_TOSS_TOSS
709@item DEFAULT_F_TOSS_ROUTE
710@item DEFAULT_F_TOSS_PACK
711@item DEFAULT_F_TOSS_BAD
712@item DEFAULT_F_OUTPKT_NEWS
713Internal spool directories (temporary files).  If these directories are
714different from the default ones, the commands for the
715@code{install-dirs} target of @code{Makefile} must be changed as well.
716
717@item DEFAULT_F_TICK_HOLD	= %B/tick
718Outbound hold directory for TIC files.
719
720
721@item DEFAULT_A_CONFIGDIR
722@item DEFAULT_A_LIBDIR
723@item DEFAULT_A_BINDIR
724@item DEFAULT_A_LOGDIR
725@item DEFAULT_A_VARDIR
726@item DEFAULT_A_LOCKDIR
727@item DEFAULT_A_SPOOLDIR
728@item DEFAULT_A_BTBASEDIR
729@item DEFAULT_A_INBOUND
730@item DEFAULT_A_PINBOUND
731@item DEFAULT_A_UUINBOUND
732Abbreviations for configured directories.
733
734
735@item PERL
736Full path name of perl executable.
737
738@item SENDMAIL_CF_DIR
739Directory where the sendmail m4 configuration files are installed
740(@code{/usr/lib/sendmail-cf} on RedHat Linux systems).
741
742@item INFODIR
743Directory for installing info documentation files.
744
745@item HTMLDIR
746Directory for installing HTML documentation files.
747
748@item HTMLLOGDIR
749Directory for installing CGI files.
750
751
752@end table
753
754
755
756@table @code
757
758@item M4
759m4 macro processor (for compiling sendmail cf files).
760
761@item OWNER
762Owner of FIDOGATE files.
763
764@item GROUP
765Group of FIDOGATE files.
766
767@item PERM_PROG
768Permissions for installing programs.
769
770@item PERM_DATA
771Permissions for installing data files.
772
773@item PERM_SETUID
774Permissions for installing setuid @code{OWNER} programs.
775
776@item PERM_DIR
777Permissions for installing directories.
778
779@item CC
780C compiler.
781
782@item YACC
783@code{yacc} or a clone like @code{bison -y}.
784
785@item AR
786@code{ar} monkey ... (@@!#$%&... ouch!) ... librarian.
787
788@item RANLIB
789Library utitility, if needed.
790
791@item DEBUG
792Optimize or debugging flags for compiling.
793
794@item INCLUDE
795C include (-I) options.
796
797@item CFLAGS
798Flags for compiling FIDOGATE.
799
800@item LFLAGS
801Flags for linking FIDOGATE.
802
803@item LIBS
804Libraries for linking FIDOGATE, including the FIDOGATE library
805@code{libfidogate.a}.
806
807@item INSTALL
808Install program.
809
810@item
811Set to @code{.exe} for MSDOS, OS2, Win32.
812
813@item INSTALL_PROG
814Install command for installing programs.
815
816@item INSTALL_DATA
817Install command for installing data files.
818
819@item INSTALL_SETUID
820Install command for installing setuid programs.
821
822@item INSTALL_DIR
823Install command for installing directories.
824
825@item PREFIX
826Extra prefix directory for @code{make install}.
827
828@item LIB
829Name of the FIDOGATE library.
830
831@end table
832
833
834
835@c ***************************************************************************
836@node Compiling, Integration, config.make, Installation
837
838@section Compiling and Installing FIDOGATE
839@cindex Compiling
840@cindex Installation
841
842@noindent
843Compile the beast by entering
844@example
845make depend
846make
847@end example
848
849Alternatively an optimized version can be compiled with
850@example
851make DEBUG=-O2
852@end example
853
854
855If everything works, you must create the necessary directories:
856@example
857make install-dirs
858@end example
859Then install all FIDOGATE programs:
860@example
861make install
862@end example
863
864Next you must create the configuration files in (default)
865@code{/etc/fidogate}. Have a look at the various configuration in
866directory @code{examples/} and use them to build your own configuration.
867
868
869
870@c ***************************************************************************
871@node Integration, Testing, Compiling, Installation
872
873@section Integrating FIDOGATE and the Mail/News System
874@cindex Integration
875
876@table @code
877
878@item scripts/inn
879Scripts for INN.
880
881@item scripts/cnews
882Scripts for CNews.
883
884@item sendmail/cf
885Sendmail V8 configuration files (m4) and example .mc files for
886FIDOGATE: Fido.DE domain gateway morannon, orodruin, point setup.
887
888@end table
889
890Much more concise instructions should be here!!! ;-)
891
892
893
894@c ***************************************************************************
895@node Testing, Connecting, Integration, Installation
896
897@section Testing the FIDOGATE Installation
898@cindex Testing
899
900@subsection @code{Tosser}
901
902...
903
904
905@subsection @code{Gateway}
906
907...
908
909
910
911@c ***************************************************************************
912@node Connecting, Programs, Testing, Installation
913
914@section Connecting to FIDONET
915@cindex Connecting
916@cindex FIDONET
917
918@noindent
919FIDOGATE does NOT include a FIDO mailer, so you have to transfer FIDO
920mail to and from the UNIX system by some other means.
921
922If you want everything running on the UNIX system, you need a FIDO
923mailer for UNIX. Currently, this choice is limited to
924@itemize @bullet
925@item BinkleyTerm
926@item ifcico
927@item BinkD
928@end itemize
929
930I don't know what the current state of BinkleyTerm for Unix/Linux is,
931but ifcico and BinkD are working very well for me. See the FIDOGATE home
932page at @code{http://www.fido.de/fidogate/} for links.
933
934Another solution is a separate PC running DOS or OS/2 and BinkleyTerm as
935a mailer. The Fido.DE gateway currently comprises a LINUX PC for the
936gateway/tosser and Samba server, and an OS/2 PC running BinkleyTerm for
937the analog phone and ISDN lines. The BinkleyTerm outbound is kept on the
938LINUX server, so the OS/2 PC and the gateway have access to it.
939
940
941
942@c ***************************************************************************
943@node Programs, ftnaf, Connecting, Top
944
945@chapter FIDOGATE Programs
946@cindex Programs
947
948
949@iftex
950
951@section Overview
952
953@subsection Areafix programs and scripts
954
955@table @code
956@item ftnaf
957Areafix mail processor
958@item ftnafmail
959Areafix mail setuid frontend
960@item ftnafpkt
961Areafix packet processor
962@item ftnafutil
963Areafix utilitiy
964@end table
965
966@subsection Character set utilities
967
968@table @code
969@item charsetc
970Character set translation table compiler
971@end table
972
973@subsection FFX programs and scripts
974
975@table @code
976@item ffx
977Remote execution via Fido mailer
978@item ffxmail
979@code{ffx} frontend for sending mail
980@item ffxnews
981@code{ffx} frontend for sending news
982@item ffxqt
983Execute @code{ffx} requests
984@item ffxrmail
985@code{rmail} command for @code{ffxqt}
986@item runffx
987Script for running FFX programs
988@item send-ffx
989Script for processing news via FFX
990@end table
991
992@subsection Gateway programs and scripts
993
994@table @code
995@item ftn2rfc
996Fido-Internet gateway program
997@item ftnin
998Frontend for @code{ftn2rfc}
999@item ftninpost
1000@code{ftnin} post-processing script
1001@item ftninrecomb
1002@code{ftnin} recombining script
1003@item ftnmail
1004@code{rfc2ftn} setuid frontend
1005@item rfc2ftn
1006Internet-FTN gateway program
1007@item rungate
1008Script for running gateway programs
1009@item send-fidogate
1010Script for processing news via FIDOGATE
1011@end table
1012
1013@subsection Ticker programs and scripts
1014
1015@table @code
1016@item ftnhatch
1017Hatch new file into file echo
1018@item ftntick
1019Process incoming TIC files
1020@end table
1021
1022
1023@subsection Tosser programs and scripts
1024
1025@table @code
1026@item ftn2ftn
1027FTN-FTN NetMail gateway program
1028@item ftnexpire
1029Utility to expire MSGID history database
1030@item ftnpack
1031Pack (ArcMail) Fido mail packets
1032@item ftnroute
1033Route Fido mail packets
1034@item ftntoss
1035Toss/remap/rewrite Fido mail packets
1036@item runin
1037Script for processing inbound packets
1038@item runmail
1039Script for processing gateway mail output packets
1040@item runnews
1041Script for processing gateway news output packets
1042@item runout
1043Script for processing miscellaneous output packets
1044@item runtoss
1045Script for running the tosser programs
1046@item rununpack
1047Script for unpacking inbound arcmail archives
1048@end table
1049
1050@subsection Utilities
1051
1052@table @code
1053@item ftnbsy
1054Create/delete Binkley busy files
1055@item ftnconfig
1056Retrieve information from FIDOGATE config files
1057@item ftnfattach
1058Binkley outbound file attach utility
1059@item ftnflo
1060Process Binkley outbound FLO files and attachments
1061@item ftnlock
1062Create/delete lock files
1063@item ftnlog
1064Write message to log file
1065@item ftnoutpkt
1066Create output Fido message packets
1067@item ftnseq
1068Access sequencer file
1069@item pktdebug
1070Fido mail packet debugger
1071@item pktmore
1072Pager frontend for @code{pktdebug}
1073@item sumcrc
1074CRC checksum utility
1075@end table
1076
1077@end iftex
1078
1079
1080@menu
1081Areafix programs and scripts:
1082* ftnaf::       Areafix mail processor
1083* ftnafmail::   Areafix mail setuid frontend
1084* ftnafpkt::    Areafix packet processor
1085* ftnafutil::   Areafix utility
1086
1087Character set translation table compiler:
1088* charsetc::    Character set translation table compiler
1089
1090FFX programs and scripts:
1091* ffx::         Remote execution via Fido mailer
1092* ffxmail::     @code{ffx} frontend for sending mail
1093* ffxnews::     @code{ffx} frontend for sending news
1094* ffxqt::       Execute @code{ffx} requests
1095* ffxrmail::    @code{rmail} command for @code{ffxqt}
1096* runffx::      Script for running FFX programs
1097* send-ffx::    Script for processing news via FFX
1098
1099Gateway programs and scripts:
1100* ftn2rfc::     Fido-Internet gateway program
1101* ftnin::       Frontend for @code{ftn2rfc}
1102* ftninpost::   @code{ftnin} post-processing script
1103* ftninrecomb:: @code{ftnin} recombining script
1104* ftnmail::     @code{rfc2ftn} setuid frontend
1105* rfc2ftn::     Internet-Fido gateway program
1106* rungate::     Script for running gateway programs
1107* send-fidogate::Script for processing news via FIDOGATE
1108
1109Ticker programs:
1110* ftnhatch::    Hatch new file into file area
1111* ftntick::     Process incoming TIC files
1112* ftntickpost:: @code{ftntick} post-processing script
1113
1114Tosser programs and scripts:
1115* ftn2ftn::     FTN-FTN NetMail gateway
1116* ftnexpire::   Utility to expire MSGID history database
1117* ftnpack::     Pack (ArcMail) Fido mail packets
1118* ftnroute::    Route Fido mail packets
1119* ftntoss::     Toss/remap/rewrite Fido mail packets
1120* runin::       Script for processing inbound packets
1121* runmail::     Script for processing gateway mail output packets
1122* runnews::     Script for processing gateway news output packets
1123* runout::      Script for processing miscellaneous output packets
1124* runtoss::     Script for running the tosser programs
1125* rununpack::   Script for unpacking inbound arcmail archives
1126
1127Utilties:
1128* ftnbsy::      Create/delete Binkley busy files
1129* ftnconfig::   Retrieve information from FIDOGATE config files
1130* ftnfattach::  Binkley outbound file attach utility
1131* ftnflo::      Process Binkley outbound FLO files and attachments
1132* ftnlock::     Create/delete lock files
1133* ftnlog::      Write message to log file
1134* ftnoutpkt::   Create output Fido message packets
1135* ftnseq::      Access sequencer file
1136* pktdebug::    FTN mail packet debugger
1137* pktmore::     Pager frontend for @code{pktdebug}
1138* sumcrc::      CRC checksum utility
1139@end menu
1140
1141
1142
1143Almost all FIDOGATE programs support the following standard options,
1144which therefore aren't listed in the sections describing the individual
1145programs:
1146
1147@table @code
1148
1149@item -v --verbose
1150Increase the verbosity/debug level.
1151
1152@item -h --help
1153Help on usage and options.
1154
1155@item -c --config @i{name}
1156Read an alternate config file. @code{""} means none. @i{name} may
1157start with @i{%X/}, see below.
1158
1159@item -a --addr @i{Z:N/F.P}
1160Set the main address of this program.
1161
1162@item -u --uplink-addr @i{Z:N/F.P}
1163Set the uplink address (boss node) of this program (only useful for
1164gateway programs).
1165
1166@end table
1167
1168
1169The option @code{-a} and @code{-u} also support Internet-style FTN
1170addresses, e.g. @code{p10.f110.n2452.z2}. If any of these options is
1171specified, all addresses from the config file are disabled.
1172
1173All options and config statements which take file or directory names
1174accept the following @code{%} abbreviations:
1175
1176@table @code
1177@item %C
1178CONFIGDIR
1179@item %L
1180LIBDIR
1181@item %N
1182BINDIR
1183@item %G
1184LOGDIR
1185@item %V
1186VARDIR
1187@item %K
1188LOCKDIR
1189@item %S
1190SPOOLDIR
1191@item %B
1192BTBASEDIR
1193@item %I
1194INBOUND
1195@item %P
1196PINBOUND
1197@item %U
1198UUINBOUND
1199@end table
1200
1201
1202
1203@c ***************************************************************************
1204@node ftnaf, ftnafmail, Programs, Programs
1205
1206@section ftnaf --- Areafix
1207@cindex ftnaf
1208@cindex Areafix
1209
1210@noindent Usage:
1211
1212@example
1213ftnaf  @r{[}@i{-options}@r{]}  @r{[}@i{Z:N/F.P}  @i{command} @r{]}
1214@end example
1215
1216@noindent Options:
1217
1218@table @code
1219
1220@item -m --mail
1221Process Areafix mail message (RFC) on stdin.
1222
1223@item -r --no-reply
1224Don't send reply via mail, write to stdout.
1225
1226@item -n --no-rewrite
1227Don't rewrite AREAS.BBS.
1228
1229@item -b --areas-bbs @i{NAME}
1230Use alternate AREAS.BBS.
1231
1232@item -F --filefix
1233Run as Filefix program, using FAREAS.BBS.
1234
1235@end table
1236
1237
1238@noindent Commands:
1239
1240@table @code
1241
1242  listall                      list all available areas
1243  list                         list areas available to node
1244  query                        list subscribed areas
1245  unlinked                     list unsubscribed areas
1246  from Z:N/F.P PASSWORD        set address and password
1247  passwd Z:N/F.P PASSWORD
1248  password Z:N/F.P PASSWORD
1249  +AREA                        subscribe to AREA
1250  AREA
1251  subscribe AREA
1252  sub AREA
1253  -AREA                        unsubscribe from AREA
1254  unsubscribe AREA
1255  unsub AREA
1256  vacation AREA                set vacation flag for AREA
1257  &AREA [-options]             create new AREA
1258  new AREA [-options]
1259  create AREA [-options]
1260  ~AREA                        delete AREA
1261  delete AREA
1262  comment TEXT                 arbitrary comment (ignored)
1263  help                         this help
1264
1265AREA names are not case-sensitive and support shell-style wildcards
1266  * ? [a-z] [abc], e.g. COMP.OS.*, [A-D]*.GER
1267@item listall
1268List all areas.
1269
1270@item list
1271List areas available to node.
1272
1273@item query
1274List subscribed areas.
1275
1276@item unlinked
1277List unsubscribed areas available to node.
1278
1279@item from @i{Z:N/F.P} @i{PASSWORD}
1280@item passwd @i{Z:N/F.P} @i{PASSWORD}
1281@item password @i{Z:N/F.P} @i{PASSWORD}
1282Set address and password.
1283
1284@item +@i{AREA}
1285@item @i{AREA}
1286@item subscribe @i{AREA}
1287@item sub @i{AREA}
1288Subscribe to @i{AREA}.
1289
1290@item -@i{AREA}
1291@item unsubscribe @i{AREA}
1292@item unsub @i{AREA}
1293Unsubscribe from @i{AREA}.
1294
1295@item vacation @i{AREA}
1296Set vacation flag for @i{AREA}. NOT YET IMPLEMENTED!!!
1297
1298@item &@i{AREA}  @r{[}@i{-options} @r{]}
1299@item new @i{AREA}  @r{[}@i{-options} @r{]}
1300@item create @i{AREA}  @r{[}@i{-options} @r{]}
1301Create new area. Nodes allowed to create an area must have the @code{&}
1302key in their @code{passwd} entry. Allowed @code{areas.bbs} @i{options}:
1303@code{-#}, @code{-p}, @code{-r}, @code{-l }@i{lvl}, @code{-k }@i{key},
1304@code{-d }@i{desc}, and @code{-z }@i{zone}.
1305
1306@item ~@i{AREA}
1307@item delete @i{AREA}
1308Delete @i{AREA}. Nodes allowed to deleted an area must have the @code{~}
1309key in their @code{passwd} entry.
1310
1311@item comment  @i{text}
1312Arbitrary comment, completely ignored.
1313
1314@item help
1315Help on Areafix commands.
1316
1317@end table
1318
1319All command keywords may be prefixed by @code{%}. @code{ftnaf} also
1320recognizes the @code{-q} (= query) and @code{-l} (= list) options
1321following the password in the subject header.
1322
1323For proper operation @code{ftnaf} requires the @code{X-FTN-From} header
1324generated by @code{ftn2rfc}, thus the @code{X-FTN} configuration must
1325include the @code{f} flag.
1326
1327
1328
1329@c ***************************************************************************
1330@node ftnafmail, ftnafpkt, ftnaf, Programs
1331
1332@section ftnafmail --- Areafix Mail Frontend
1333@cindex ftnaf
1334@cindex Areafix
1335
1336@noindent Usage:
1337
1338@example
1339ftnafmail  @r{[}@i{-options}@r{]}
1340@end example
1341
1342@noindent Options:
1343
1344@table @code
1345
1346@item -F --filefix
1347Run @code{ftnaf} as Filefix program.
1348
1349@end table
1350
1351This is the setuid mail frontend for @code{ftnaf} to be run from the
1352sendmail aliases. DO NOT use @code{ftnaf} directly, as this will result
1353in security problems.
1354
1355@example
1356# Areafix/Filefix - FIDOGATE ftnaf
1357areafix: "|/usr/lib/fidogate/ftnafmail"
1358areamgr: areafix
1359filefix: "|/usr/lib/fidogate/ftnafmail -F"
1360filemgr: filefix
1361@end example
1362
1363
1364
1365@c ***************************************************************************
1366@node ftnafpkt, ftnafutil, ftnafmail, Programs
1367
1368@section ftnafpkt --- Areafix packet processor
1369@cindex ftnafpkt
1370
1371@noindent Usage:
1372
1373@example
1374ftnafpkt  @r{[}@i{-options}@r{]}  @r{[}@i{packet} @r{... ]}
1375@end example
1376
1377@noindent Options:
1378
1379@table @code
1380
1381@item -I --in-dir @i{name}
1382Set input directory. Default: PINBOUND
1383
1384@item -O --out-dir @i{name}
1385Set output directory. Default: SPOOLDIR/outpkt
1386
1387@item -l --lock-file
1388Create lock file while processing.
1389
1390@item -r --no-reply
1391Don't send reply via NetMail.
1392
1393@item -n --no-rewrite
1394Don't rewrite AREAS.BBS.
1395
1396@item -b --areas-bbs @i{NAME}
1397Use alternate AREAS.BBS.
1398
1399@item -F --filefix
1400Run as Filefix program, using FAREAS.BBS.
1401
1402@end table
1403
1404This is the packet processor frontend for the FIDOGATE Areafix, which
1405doesn't require the Unix mail system for Areafix operation. The best way
1406to use @code{ftnafpkt} is via the tosser.
1407
1408@code{routing} example:
1409@example
1410Remap  2:2499/999.*  2:2499/999.101  "Area*"
1411#      ^^^^^^^^^^^^  ^^^^^^^^^^^^^^
1412#      node addr     pseudo point
1413#                    for Areafix
1414
1415NetMail
1416Send  hold  2:2499/999.*
1417@end example
1418
1419@code{packing} example:
1420
1421@example
1422progn  areafix  "/usr/lib/fidogate/ftnafpkt %s"
1423pack   areaifx  2:2499/999.101
1424@end example
1425
1426@code{runout} must be run regularly to process messages generated by
1427@code{ftnafpkt}.
1428
1429
1430
1431@c ***************************************************************************
1432@node ftnafutil, charsetc, ftnafpkt, Programs
1433
1434@section ftnafutil --- Areafix utility
1435@cindex ftnafutil
1436
1437@noindent Usage:
1438
1439@example
1440ftnafutil  @r{[}@i{-options}@r{]}  @r{[}@i{command} @r{... ]}
1441@end example
1442
1443@noindent Options:
1444
1445@table @code
1446
1447@item -n --no-rewrite
1448Don't rewrite AREAS.BBS.
1449
1450@item -b --areas-bbs @i{NAME}
1451Use alternate AREAS.BBS.
1452
1453@item -F --filefix
1454Run as Filefix program, using FAREAS.BBS.
1455
1456@item -O --out-dir @i{name}
1457Set output directory. Default: SPOOLDIR/outpkt
1458
1459@end table
1460
1461@noindent Commands:
1462
1463@table @code
1464
1465@item delete
1466Delete dead areas from @code{areas.bbs} (no uplink and no downlinks).
1467
1468@item subscribe
1469Subscribe to area at uplink, if at least one downlink has subscribed to
1470this area (uses the @code{-s S/U} option in @code{areas.bbs}).
1471
1472@item unsubscribe
1473Unsubscribe from area at uplink, if no more downlinks are subscribed to
1474this area (uses the @code{-s S/U} option in @code{areas.bbs}).
1475
1476@end table
1477
1478Auto-subscribe/unsubscribe will only be used for areas marked with the
1479state option. State @code{-s U} means that the area is not currently
1480subscribed at the uplink, @code{-s S} means that the are is subscribed
1481at the uplink.
1482
1483
1484
1485
1486@c ***************************************************************************
1487@node charsetc, ffx, ftnafutil, Programs
1488
1489@section charsetc --- Character set translation table compiler
1490
1491@noindent Usage:
1492
1493@example
1494charsetc  @r{[}@i{-options}@r{]}  @i{charset.map}  @i{charset.bin}
1495@end example
1496
1497
1498
1499
1500@c ***************************************************************************
1501@node ffx, ffxmail, charsetc, Programs
1502
1503@section ffx --- Remote Execution via Fido Mailer
1504@cindex ffx
1505@cindex Remote execution
1506
1507@noindent Usage:
1508
1509@example
1510ffx  @r{[}@i{-options}@r{]}  @i{Z:N/F.P}  @i{command}
1511@end example
1512
1513@noindent Options:
1514
1515@table @code
1516
1517@item -b --batch-dir @i{dir}
1518Operate in batch mode, using @i{dir}. Control and data files are not
1519immediately appended to the node's FLO file, but rather written to a
1520separate batch directory SPOOLDIR/out.ZZZ/@i{dir}. Implies @code{-n}.
1521
1522@item -B --binkley @i{name}
1523Set Binkley outbound directory.
1524
1525@item -F --flavor @i{flavor}
1526Set flavor of outbound FLO file: @code{Hold}, @code{Normal},
1527@code{Direct}, or @code{Crash}.
1528
1529@item -g --grade @i{grade}
1530Set grade of control and data files to @i{grade} (single letter [a-z0-9]).
1531
1532@item -n --nocompression
1533Don't compress data files.
1534
1535@end table
1536
1537
1538
1539@c ***************************************************************************
1540@node ffxmail, ffxnews, ffx, Programs
1541
1542@section ffxmail --- ffx Frontend for Sending Mail
1543@cindex ffxmail
1544@cindex Mail
1545
1546@noindent Usage:
1547
1548@example
1549ffxmail  @i{Z:N/F.P}  @i{address} @r{...}
1550@end example
1551
1552@noindent No options.
1553
1554@code{ffxmail} calls @code{ffx} in batch mode (@code{-b}), selecting the
1555batch directory for the node address. Modify the script
1556(@code{src/ffx/ffxmail.sh}) for other addresses/batch directories.
1557
1558
1559
1560@c ***************************************************************************
1561@node ffxnews, ffxqt, ffxmail, Programs
1562
1563@section ffxnews --- ffx Frontend for Sending News
1564@cindex ffxmail
1565@cindex Mail
1566
1567@noindent Usage:
1568
1569@example
1570ffxnews  @i{Z:N/F.P}
1571@end example
1572
1573@noindent No options.
1574
1575@code{ffxnews} calls @code{ffx} in batch mode (@code{-b}), selecting the
1576batch directory for the node address. Modify the script
1577(@code{src/ffx/ffxnews.sh}) for other addresses/batch directories.
1578
1579
1580
1581@c ***************************************************************************
1582@node ffxqt, ffxrmail, ffxnews, Programs
1583
1584@section ffxqt --- Execute ffx Requests
1585@cindex ffxqt
1586@cindex Remote Execution
1587
1588@noindent Usage:
1589
1590@example
1591ffxqt  @r{[}@i{-options}@r{]}
1592@end example
1593
1594@noindent Options:
1595
1596@table @code
1597
1598@item -g  --grade @i{grade}
1599Process ffx jobs with @i{grade} only. @i{grade} must be a single letter.
1600
1601@item -I --inbound @i{name}
1602Select the input directory where the @code{f???????.ffx} control files
1603are read from. Default: PINBOUND
1604
1605@item -t --insecure
1606Process ffx files without password. Default: ffx file must contain a
1607password.
1608
1609@end table
1610
1611
1612
1613@c ***************************************************************************
1614@node ffxrmail, runffx, ffxqt, Programs
1615
1616@section ffxrmail --- Rmail Command for FFX
1617@cindex ffxrmail
1618@cindex ffxqt
1619
1620@noindent Usage:
1621
1622@example
1623ffxrmail  @i{address} @r{...}
1624@end example
1625
1626Perl script to be called by @code{ffxqt} for @code{rmail} commands to
1627receive Internet mail. This replaces @code{/bin/rmail} (UUCP), calling
1628@code{/usr/lib/sendmail} directly with appropiate options.
1629
1630
1631
1632@c ***************************************************************************
1633@node runffx, send-ffx, ffxrmail, Programs
1634
1635@section runffx --- Script for Running FFX Programs
1636@cindex runffx
1637@cindex ffxqt
1638
1639@noindent Usage:
1640
1641@example
1642runffx
1643@end example
1644
1645
1646
1647@c ***************************************************************************
1648@node send-ffx, ftn2rfc, runffx, Programs
1649
1650@section send-ffx --- Script for Processing News via FFX
1651@cindex send-ffx
1652
1653@noindent Usage:
1654
1655@example
1656ffxqt  @r{[}@i{hostname}@r{]}
1657@end example
1658
1659Processes INN news batch file
1660@code{/var/spool/news/out.going/}@i{hostname}.
1661
1662
1663
1664
1665@c ***************************************************************************
1666@node ftn2rfc, ftnin, send-ffx, Programs
1667
1668@section ftn2rfc --- FTN-Internet Gateway Program
1669@cindex ftn2rfc
1670@cindex Gateway
1671
1672@noindent Usage:
1673
1674@example
1675ftn2rfc  @r{[}@i{-options}@r{]}  @r{[}@i{packet} @r{... ]}
1676@end example
1677
1678@noindent Options:
1679
1680@table @code
1681
1682@item -1 --single-articles
1683Write single articles to output files (in @code{tmpnews}), not news
1684batches containing several articles (batch is default).
1685
1686@item -I --inbound-dir @i{NAME}
1687Set the input directory for FTN packets. Default: PINBOUND
1688
1689@item -i --ignore-hosts
1690Don't bounce unknown hosts (unknown = not registered in @code{hosts})
1691
1692@item -l --lock-file
1693Create lock file while processing.
1694
1695@item -n --no-remove
1696Don't remove or rename input packet files, return exit code 1 if
1697processing fails.
1698
1699@item -t --insecure
1700Operate in insecure mode. All messages containing a To line for gateway
1701addressing will be bounced.
1702
1703@item -x --exec-program @i{SCRIPT}
1704Run @i{SCRIPT} after processing all FTN packets. Typically this is
1705@code{%L/ftninpost}.
1706
1707@end table
1708
1709@code{ftn2rfc} reads packet files from the input directory or the
1710command line and converts the FTN packets to Internet RFC mail and news,
1711written as mail and news RFC message files to the directories
1712SPOOLDIR/outrfc/mail and SPOOLDIR/outrfc/news, respectively.
1713
1714
1715
1716@c ***************************************************************************
1717@node ftnin, ftninpost, ftn2rfc, Programs
1718
1719@section ftnin --- Frontend for @code{ftn2rfc}
1720@cindex ftnin
1721@cindex ftn2rfc
1722
1723@noindent Usage:
1724
1725@example
1726ftnin  @r{[}@i{-options}@r{]}
1727@end example
1728
1729@noindent Options:
1730
1731@table @code
1732
1733@item -n --no-toss
1734Don't call @code{ftn2rfc} for processing.
1735
1736@item -x --exec-program @i{SCRIPT}
1737Execute @i{SCRIPT} after @code{ftn2rfc} processing, typically
1738@code{%L/ftninpost}.
1739
1740@end table
1741
1742All standard options are passed to the called @code{ftn2rfc}.
1743
1744@code{ftnin} looks for mail packets addressed to the gateway addresses
1745(all @code{Address}/@code{GateAddress} statements in
1746@code{fidogate.conf}) and calls @code{ftn2rfc} for each packet.
1747
1748
1749
1750@c ***************************************************************************
1751@node ftninpost, ftninrecomb, ftnin, Programs
1752
1753@section ftninpost --- @code{ftnin} Post-processing Script
1754@cindex ftninpost
1755
1756@noindent Usage:
1757
1758@example
1759ftninpost  @r{[}@i{-options}@r{]}
1760@end example
1761
1762This script is run by @code{ftn2rfc} or @code{ftnin}, feeding the output
1763in SPOOLDIR/outrfc/mail and SPOOLDIR/outrfc/news to @code{sendmail} and
1764@code{rnews}, respectively.
1765
1766
1767
1768@c ***************************************************************************
1769@node ftninrecomb, ftnmail, ftninpost, Programs
1770
1771@section ftninrecomb --- @code{ftnin} Recombining Script
1772@cindex ftninrecomb
1773
1774@noindent Usage:
1775
1776@example
1777ftninrecomb  @r{[}@i{-options}@r{]}
1778@end example
1779
1780If @code{FTNInRecombine} is enabled in @code{fidogate.conf}, this script
1781wil be run by @code{ftninpost} to recombine split messages. NOT TESTED
1782FOR RELEASE 4.4!!!
1783
1784
1785
1786@c ***************************************************************************
1787@node ftnmail, rfc2ftn, ftninrecomb, Programs
1788
1789@section ftnmail --- @code{rfc2ftn} Setuid Frontend
1790@cindex ftnmail
1791
1792@noindent Usage:
1793
1794@example
1795ftnmail  @r{[}@i{-options}@r{]}  @r{[}@i{address} @r{...]}
1796@end example
1797
1798Setuid frontend for @code{rfc2ftn}, passes the options
1799
1800@table @code
1801
1802@item -a --addr ADDR
1803Passed to @code{rfc2ftn} as @code{-a ADDR -u ADDR}.
1804
1805@item -i --ignore-hosts
1806Passed to @code{rfc2ftn} as @code{-i}.
1807
1808@item -O --out-dir DIR
1809Passed to @code{rfc2ftn} as @code{-O %S/DIR}.
1810
1811@end table
1812
1813@code{ftnmail} should be used for sendmail mailers. DO NOT use
1814@code{rfc2ftn} directly to avoid security problems.
1815
1816
1817
1818@c ***************************************************************************
1819@node rfc2ftn, rungate, ftnmail, Programs
1820
1821@section rfc2ftn --- Internet-Fido Gateway Program
1822@cindex rfc2ftn
1823@cindex Gateway
1824
1825
1826@noindent Usage:
1827
1828@example
1829rfc2ftn  @r{[}@i{-options}@r{]}  @r{[}@i{address} @r{...]}
1830@end example
1831
1832@noindent Options:
1833
1834@table @code
1835
1836@item -b --news-batch
1837Process news batch (implies @code{-n}).
1838
1839@item -B --binkley @i{name}
1840Set Binkley outbound directory.
1841
1842@item -i --ignore-registration
1843Do not bounce mail to nodes not registered in HOSTS (if
1844@code{HostsRestricted} in @code{fidogate.conf} is enabled).
1845
1846@item -m --max-msg  @i{n}
1847Create new output packet after @i{n} messages.
1848
1849@item -n --news-mode
1850Process news message in stdin. Default: mail
1851
1852@item -o --out-packet-file  @i{name}
1853Write output to FTN packet file @i{name}.
1854
1855@item -O --out-packet-dir  @i{name}
1856Set output directory for FTN packets. Default: SPOOLDIR/outpkt/mail or
1857.../news
1858
1859@item -t --to
1860Get recipient addresses from To, Cc, Bcc headers instead of command line.
1861
1862@item -w --write-outbound  @i{flav}
1863Write output directly to Binkley .?UT packets in outbound.
1864
1865@item -W --write-crash
1866Write only crash mail directly to Binkley .CUT file.
1867
1868@end table
1869
1870
1871
1872@c ***************************************************************************
1873@node rungate, send-fidogate, rfc2ftn, Programs
1874
1875@section rungate --- Script for Running Gateway Programs
1876@cindex rungate
1877
1878@noindent Usage:
1879
1880@example
1881rungate
1882@end example
1883
1884
1885
1886@c ***************************************************************************
1887@node send-fidogate, ftnhatch, rungate, Programs
1888
1889@section send-fidogate --- Script for Processing News via FIDOGATE
1890@cindex send-fidogate
1891
1892
1893@noindent Usage:
1894
1895@example
1896send-fidogate  @r{[}@i{hostname}@r{]}
1897@end example
1898
1899Processes INN news batch file
1900@code{/var/spool/news/out.going/}@i{hostname}. If @i{hostname} is
1901omitted the default @code{fidogate} is used.
1902
1903
1904
1905
1906@c ***************************************************************************
1907@node ftnhatch, ftntick, send-fidogate, Programs
1908
1909@section ftnhatch --- Hatch new file into file area
1910@cindex ftnhatch
1911
1912@noindent Usage:
1913
1914@example
1915ftnhatch  @r{[}@i{-options}@r{]}  @i{area}  @i{file}  "@i{description}"
1916@end example
1917
1918@noindent Options:
1919
1920@table @code
1921
1922@item -b --fareas-bbs @i{NAME}
1923Use alternate FAREAS.BBS.
1924
1925@item -r --replaces @i{FILE}
1926Adds @code{Replaces }@i{FILE} header to generated tic file.
1927
1928@end table
1929
1930Please note that the @i{file} must already reside in the directory for
1931the file @i{area}. Copying and hatching a new file to a file area is not
1932yet implemented.
1933
1934
1935
1936@c ***************************************************************************
1937@node ftntick, ftntickpost, ftnhatch, Programs
1938
1939@section ftntick --- Process incoming TIC files
1940@cindex ftntick
1941
1942@noindent Usage:
1943
1944@example
1945ftntick  @r{[}@i{-options}@r{]}
1946@end example
1947
1948@noindent Options:
1949
1950@table @code
1951
1952@item -b --fareas-bbs @i{file}
1953Use alternate FAREAS.BBS.
1954
1955@item -I --inbound @i{dir}
1956Use alternate inbound directory.
1957
1958@item -t --insecure
1959Insecure processing, allow TIC files without password.
1960
1961@item -x --exec @i{script}
1962Run @i{script} after sucessfully processing the TIC file. The one and
1963only argument to @i{script} is the full path name of the TIC file.
1964
1965@end table
1966
1967
1968
1969@c ***************************************************************************
1970@node ftntickpost, ftn2ftn, ftntick, Programs
1971
1972@section ftntickpost --- ftntick Post-processing Script
1973@cindex ftntickpost
1974
1975
1976@noindent Usage:
1977
1978@example
1979ftntickpost  @r{[}@i{-options}@r{]}  @i{file.tic}
1980@end example
1981
1982@noindent Options:
1983
1984@table @code
1985
1986
1987@end table
1988
1989NOT YET COMPLETELY IMPLEMENTED! Currently the script is only a skeleton
1990with features such as announcement postings and mails to be added in the
1991future.
1992
1993
1994
1995@c ***************************************************************************
1996@node ftn2ftn, ftnexpire, ftntickpost, Programs
1997
1998@section ftn2ftn --- FTN-FTN NetMail Gateway Program
1999@cindex ftn2ftn
2000@cindex Gateway
2001
2002@noindent Usage:
2003
2004@example
2005ftn2ftn  @r{[}@i{-options}@r{]}  @r{[}@i{packet} @r{... ]}
2006@end example
2007
2008@noindent Options:
2009
2010@table @code
2011
2012@item -A --address-a @i{Z:N/F.P}
2013Set FTN address in network A.
2014
2015@item -B --address-b @i{Z:N/F.P}
2016Set FTN address in network B.
2017
2018@item -o --out-packet-file @i{NAME}
2019Set output packet file name.
2020
2021@item -O --out-packet-dir @i{NAME}
2022Set output packet directory.
2023
2024@end table
2025
2026This program provides a NetMail gateway between different FTNs, using
2027the (somewhat) standard "User Name%Z:N/F.P" addressing in the FTN from
2028and to fields.
2029
2030If no @i{packet} is given on the command line, @code{ftn2ftn} looks for
2031packets addressed to the gateway addresses (A and B) in the Binkley
2032outbound. Both gateway addresses must be specified with the @code{-A} and
2033@code{-B} options.
2034
2035If a @i{packet} name is passed on the command line, @code{ftn2ftn} will
2036gate this to the other network A. The gateway address (sender of the mails
2037in network A) is set with @code{-A} option.
2038
2039
2040
2041@c ***************************************************************************
2042@node ftnexpire, ftnpack, ftn2ftn, Programs
2043
2044@section ftnexpire --- Utility for expiring MSGID history database
2045@cindex ftnexpire
2046
2047@noindent Usage:
2048
2049@example
2050ftnexpire  @r{[}@i{-options}@r{]}
2051@end example
2052
2053@noindent Options:
2054
2055@table @code
2056
2057@item -m --maxhistory @i{days}
2058Set the maximum number of days for entries in the history database. The
2059@i{days} argument supports decimal fractions.
2060
2061@item -w --wait
2062Wait for history database lock file to be released. Default: exit, if
2063history database is locked.
2064
2065@end table
2066
2067This utility expires and rebuilds the MSGID history database, similar to
2068expire for the INN news system.
2069
2070If the MSGID history database dupe check is used, @code{ftnexpire} must
2071be run regularly to keep the history database optimized (if not,
2072accessing the history database will become very slow!). A daily cron
2073job is just the right thing.
2074
2075
2076
2077@c ***************************************************************************
2078@node ftnpack, ftnroute, ftnexpire, Programs
2079
2080@section ftnpack --- Pack Fido ArcMail Packets
2081@cindex ftnpack
2082@cindex ArcMail
2083
2084@noindent Usage:
2085
2086@example
2087ftnpack  @r{[}@i{-options}@r{]}  @r{[}@i{packet} @r{... ]}
2088@end example
2089
2090@noindent Options:
2091
2092@table @code
2093
2094@item -B --binkley @i{dir}
2095Set Binkley outbound directory.
2096
2097@item -f --ffx @i{Z:N/F.P}
2098Pack ffx control and data files for FTN address @i{Z:N/F.P}. You must
2099also set the appropiate input directory with the @code{-I} option.
2100
2101@item -F --file-dir @i{dir}
2102Set directory where @code{ftnpack} looks for file attachments. Should
2103be the appropiate inbound directory, see also the @code{runtoss}
2104script. If this option is not specified, no file attachments are
2105processed.
2106
2107If @code{-F /} is specified, @code{ftnpack} accepts a complete path name
2108in the subject and doesn't search the directory. Warning: this option
2109compromises security to some degree, because it allows @b{any} user to
2110send @b{any} file readable by the user id running the tosser and
2111mailer!!!
2112
2113@item -g --grade @i{grade}
2114Only process packets with @i{grade} (single letter).
2115
2116@item -I --in-dir @i{dir}
2117Set input directory. Default: %S/toss/route
2118
2119@item -O --out-dir @i{dir}
2120Set directory for temporary packets. Default: %S/toss/pack. This
2121is the directory, where packets to be put into arcmail archives will be
2122created.
2123
2124@item -l --lock-file
2125Create lock file while processing.
2126
2127@item -m --maxarc @i{size}
2128Set maximum size of an archive to @i{size} KByte. If an existing
2129ArcMail archive exceeds this size, @code{ftnpack} creates a new one.
2130
2131@item -p --packing-file @i{name}
2132Read alternate @code{packing} config file. Default: %C/packing
2133
2134@item -P --pkt
2135Process *.pkt files in the input directory. Default: output files of
2136@code{ftnroute}.
2137
2138@end table
2139
2140
2141
2142@c ***************************************************************************
2143@node ftnroute, ftntoss, ftnpack, Programs
2144
2145@section ftnroute --- Route Fido Mail Packets
2146@cindex ftnroute
2147@cindex Routing
2148
2149@noindent Usage:
2150
2151@example
2152ftnroute  @r{[}@i{-options}@r{]}  @r{[}@i{packet} @r{... ]}
2153@end example
2154
2155@noindent Options:
2156
2157@table @code
2158
2159@item -g --grade @i{grade}
2160Only process packets with @i{grade} (single letter).
2161
2162@item -I --in-dir @i{name}
2163Set input directory. Default: %S/toss/toss
2164
2165@item -O --out-dir @i{name}
2166Set output directory. Default: %S/toss/route
2167
2168@item -l --lock-file
2169Create lock file while processing.
2170
2171@item -r --routing-file @i{name}
2172Read alternate @code{routing} config file. Default: %C/routing
2173
2174@item -M --maxopen @i{n}
2175Set maximum number of concurrently open packet filess to
2176@i{n}. Default: @code{MaxOpenFiles} config
2177
2178@end table
2179
2180
2181
2182@c ***************************************************************************
2183@node ftntoss, runin, ftnroute, Programs
2184
2185@section ftntoss --- Toss Fido Mail Packets
2186@cindex ftntoss
2187@cindex Tossing
2188
2189@noindent Usage:
2190
2191@example
2192ftntoss  @r{[}@i{-options}@r{]}  @r{[}@i{packet} @r{... ]}
2193@end example
2194
2195@noindent Options:
2196
2197@table @code
2198
2199@item -d --no-dupecheck
2200Disabled dupe check (if @code{DupeCheck} is enabled in
2201@code{config.main}).
2202
2203@item -g --grade @i{grade}
2204Only process packets with @i{grade} (single letter).
2205
2206@item -I --in-dir @i{name}
2207Set input directory. Default: PINBOUND
2208
2209@item -O --out-dir @i{name}
2210Set output directory. Default: %S/toss/toss
2211
2212@item -l --lock-file
2213Create lock file while processing.
2214
2215@item -t --insecure
2216Insecure EchoMail tossing, don't check sender against nodes listed in
2217AREAS.BBS.
2218
2219@item -n --toss-all
2220Toss all EchoMail, even messages not addressed to one of our own AKAs
2221(most probably routed EchoMail).
2222
2223@item -p --passthru
2224Make all areas passthru (see also @code{#} in areas.bbs).
2225
2226@item -r --routing-file @i{name}
2227Read alternate @code{routing} config file. Default: %C/routing
2228
2229@item -s --strip-attribute
2230Strip Hold and Crash attribute from incoming NetMails.
2231
2232@item -m --maxmsg @i{n}
2233Flush/close all output packet files after reading @i{n} messages.
2234
2235@item -x --maxmsg-exit @i{n}
2236Flush/close all output packet files after reading @i{n} messages and
2237processing the current input packet, then exit.
2238
2239@item -M --maxopen @i{n}
2240Set maximum number of concurrently open packet filess to
2241@i{n}. Default: @code{MaxOpenFiles} config
2242
2243@item -b --fareas-bbs @i{file}
2244Use alternate areas.bbs.
2245
2246@end table
2247
2248
2249
2250@c ***************************************************************************
2251@node runin, runmail, ftntoss, Programs
2252
2253@section runin --- Script for Processing Inbound Packets
2254@cindex runin
2255@cindex Tossing
2256
2257@noindent Usage:
2258
2259@example
2260runin
2261@end example
2262
2263@noindent No options.
2264
2265Runs the tosser (unpack, toss, tick) for the inbound directories:
2266
2267@itemize @bullet
2268
2269@item
2270Insecure inbound
2271@item
2272Secure inbound
2273@item
2274UUEncoded mail inbound
2275@item
2276FTP inbound
2277
2278@end itemize
2279
2280All log messages are written to %G/log-in.
2281
2282Edit the script @code{src/toss/runin.sh} to meet your local
2283requirements.
2284
2285
2286
2287@c ***************************************************************************
2288@node runmail, runnews, runin, Programs
2289
2290@section runmail --- Script for Processing Gateway Mail Output Packets
2291@cindex runmail
2292@cindex Tossing
2293
2294@noindent Usage:
2295
2296@example
2297runmail
2298@end example
2299
2300@noindent No options.
2301
2302Runs the tosser for the gateway mail output directory %S/outpkt/mail,
2303all log messages are written to %G/log-out.
2304
2305Edit the script @code{src/toss/runmail.sh} to meet your local
2306requirements.
2307
2308
2309
2310@c ***************************************************************************
2311@node runnews, runout, runmail, Programs
2312
2313@section runnews --- Script for Processing Gateway News Output Packets
2314@cindex runnews
2315@cindex Tossing
2316
2317@noindent Usage:
2318
2319@example
2320runnews
2321@end example
2322
2323@noindent No options.
2324
2325Runs the tosser for the gateway news output directory %S/outpkt/news,
2326all log messages are written to %G/log-out.
2327
2328Edit the script @code{src/toss/runout.sh} to meet your local
2329requirements.
2330
2331
2332
2333@c ***************************************************************************
2334@node runout, runtoss, runnews, Programs
2335
2336@section runout --- Script for Processing Miscellaneous Output Packets
2337@cindex runout
2338@cindex Tossing
2339
2340@noindent Usage:
2341
2342@example
2343runout
2344@end example
2345
2346@noindent No options.
2347
2348Runs the tosser for the miscellaneous (ftnafpkt, ftnafutil, ftnoutpkt)
2349output directory %S/outpkt, all log messages are written to %G/log-out.
2350
2351Edit the script @code{src/toss/runout.sh} to meet your local
2352requirements.
2353
2354
2355
2356@c ***************************************************************************
2357@node runtoss, rununpack, runout, Programs
2358
2359@section runtoss --- Script for Running the Tosser Programs
2360@cindex runtoss
2361@cindex Tossing
2362
2363
2364@noindent Usage:
2365
2366@example
2367runtoss  @i{type}
2368@end example
2369
2370@noindent No options.
2371
2372@noindent Types:
2373
2374Please the the script source code @code{src/toss/runtoss.sh} for
2375available @i{type} parameters and feel free to adapt it to your
2376requirements.
2377
2378
2379
2380@c ***************************************************************************
2381@node rununpack, ftnbsy, runtoss, Programs
2382
2383@section rununpack --- Script for Unpacking Inbound ArcMail Archives
2384@cindex rununpack
2385@cindex Tossing
2386
2387@noindent Usage:
2388
2389@example
2390rununpack  @i{type}
2391@end example
2392
2393@noindent No options.
2394
2395@noindent Types:
2396
2397Please see the script source code @code{src/toss/rununpack.sh} for
2398available @i{type} parameters and feel free to adapt it to your
2399requirements.
2400
2401Edit the script if necessary to change unpacker program names. The
2402required programs are @code{unzip}, @code{unarj}, @code{lha},
2403@code{zoo}, @code{arc}, @code{rar}.
2404
2405
2406
2407
2408@c ***************************************************************************
2409@node ftnbsy, ftnconfig, rununpack, Programs
2410
2411@section ftnbsy --- Create/delete Binkley Busy Filess
2412@cindex ftnbsy
2413@cindex Busy files
2414
2415@noindent Usage:
2416
2417@example
2418ftnbsy  @r{[}@i{-options}@r{]}  @i{Z:N/F.P} @r{...}
2419@end example
2420
2421@noindent Options:
2422
2423@table @code
2424
2425@item -t --test
2426Test for existing busy file.
2427
2428@item -l --lock
2429Create busy file, fail if it already exists.
2430
2431@item -u --unlock
2432Remove busy file.
2433
2434@item -w --wait
2435Wait for busy file to be released (when @code{-l} option is given).
2436
2437@end table
2438
2439
2440
2441@c ***************************************************************************
2442@node ftnconfig, ftnfattach, ftnbsy, Programs
2443
2444@section ftnconfig --- Retrieve information from FIDOGATE config files
2445@cindex ftnconfig
2446@cindex Config
2447
2448@noindent Usage:
2449
2450@example
2451ftnconfig  @r{[}@i{-options}@r{]}  @i{parameter}
2452@end example
2453
2454@noindent Options:
2455
2456@table @code
2457
2458@item -l --no-newline
2459No output of newline after the parameter value.
2460
2461@item -n --no-output
2462No output, exit code only.
2463
2464@item -t --test-only
2465Output @code{1} if the parameter is present, @code{0} if not.
2466
2467@end table
2468
2469@noindent Special parameters:
2470
2471@table @code
2472
2473@item =fqdn
2474Fully qualified domain name.
2475
2476@item =hostname
2477Hostname.
2478
2479@item =domainname
2480Domainname.
2481
2482@item =hostsdomain
2483Domain for entries in @code{hosts} config files.
2484
2485@end table
2486
2487
2488
2489@c ***************************************************************************
2490@node ftnfattach, ftnflo, ftnconfig, Programs
2491
2492@section ftnfattach --- Outbound file attaches
2493@cindex ftnfattach
2494@cindex File attach
2495
2496@noindent Usage:
2497
2498@example
2499ftnfattach  @r{[}@i{-options}@r{]}  @i{Z:N/F.P}  @i{file} @r{...}
2500@end example
2501
2502@noindent Options:
2503
2504@table @code
2505
2506@item -B --binkley @i{name}
2507Set Binkley outbound directory.
2508
2509@item -F --flavor @i{name}
2510Set flavor of outbound FLO file to @i{name}: @code{Hold},
2511@code{Normal}, @code{Direct}, or @code{Crash}.
2512
2513@end table
2514
2515The file name may start with @code{^} or @code{#}, indicating that
2516the file should be deleted or truncated, respectively, after sending.
2517
2518
2519
2520@c ***************************************************************************
2521@node ftnflo, ftnlock, ftnfattach, Programs
2522
2523@section ftnflo --- Process Binkley Outbound FLO Files and Attachments
2524@cindex ftnflo
2525
2526@noindent Usage:
2527
2528@example
2529ftnflo  @r{[}@i{-options}@r{]}  @i{Z:N/F.P}  @r{...}
2530@end example
2531
2532@noindent Options:
2533
2534@table @code
2535
2536@item -B --binkley @i{name}
2537Set Binkley outbound directory.
2538
2539@item -l --list
2540List entries in FLO file.
2541
2542@item -n --no-delete
2543Don't delete FLO entries after processing.
2544
2545@item -x --exec @i{command}
2546Execute @i{command} for every FLO entry, delete entry after successful
2547processing. @code{%s} in @i{command} is replaced with the filename of
2548the FLO entry.
2549
2550@end table
2551
2552The file name may start with @code{^} or @code{#}, indicating that
2553the file should be deleted or truncated, respectively, after sending.
2554
2555
2556
2557@c ***************************************************************************
2558@node ftnlock, ftnlog, ftnflo, Programs
2559
2560@section ftnlock --- Create/Remove Lock Files
2561@cindex ftnlock
2562@cindex Lock files
2563
2564@noindent Usage:
2565
2566@example
2567ftnlock  @r{[}@i{-options}@r{]}  @r{[}@i{NAME}@r{]}  @r{[}@i{ID}@r{]}
2568@end example
2569
2570@noindent Options:
2571
2572@table @code
2573
2574@item -l --lock
2575Create lock file @i{NAME}, fail if it already exists (exit code=2). If
2576@i{NAME} is not specified, the default @code{ftnlock} is used. The
2577optional parameter @i{ID} specifies the contents of the lock file, the
2578default is @code{-none-}.
2579
2580@item -u --unlock
2581Remove lock file @i{NAME}.
2582
2583@item -w --wait
2584Wait while creating lock file. Default: immediately return, if the lock
2585file can't be created because it already exists.
2586
2587@end table
2588
2589Lock files are created as %K/@i{NAME}.
2590
2591
2592
2593@c ***************************************************************************
2594@node ftnlog, ftnoutpkt, ftnlock, Programs
2595
2596@section ftnlog --- Write Message to Log File
2597@cindex ftnlog
2598@cindex Log file
2599@cindex Logging
2600
2601@noindent Usage:
2602
2603@example
2604ftnlog  @r{[}@i{-options}@r{]}  @i{message text}
2605@end example
2606
2607@noindent Options:
2608
2609@table @code
2610
2611@item -p --program @i{NAME}
2612Set program name for logging.
2613
2614@end table
2615
2616This program is used to write a log message from a shell script. The log
2617file name may be specified with the @code{FIDOGATE_LOGFILE} environment
2618variable.
2619
2620
2621
2622@c ***************************************************************************
2623@node ftnoutpkt, ftnseq, ftnlog, Programs
2624
2625@section ftnoutpkt --- Create Fido Message Packets
2626@cindex ftnoutpkt
2627
2628@noindent Usage:
2629
2630@example
2631ftnoutpkt  @r{[}@i{-options}@r{]}  "@i{user name} @@ @i{z:n/f.p}"  "@r{...}"
2632@end example
2633
2634@noindent Options:
2635
2636@table @code
2637
2638@item -f --from "@i{user name} @@ @i{z:n/f.p}"
2639Set sender Fido address.
2640
2641@item -s --subject "@i{subject}"
2642Set message subject.
2643
2644@item -O --out-dir @i{dir}
2645Set output directory. Default: %S/outpkt
2646
2647@end table
2648
2649This utility can be used to create native Fido messages. The message
2650body text is read from stdin.
2651
2652
2653
2654@c ***************************************************************************
2655@node ftnseq, pktdebug, ftnoutpkt, Programs
2656
2657@section ftnseq --- Command Line Interface to Sequencer Files
2658@cindex ftnseq
2659
2660@noindent Usage:
2661
2662@example
2663ftnseq  @r{[}@i{-options}@r{]}  @i{sequencer}
2664@end example
2665
2666This utilitity increments the named @i{sequencer} file and prints the
2667resulting value to stdout. Useful for accessing FIDOGATE sequencer files
2668from perl and shell scripts.
2669
2670
2671
2672@c ***************************************************************************
2673@node pktdebug, pktmore, ftnseq, Programs
2674
2675@section pktdebug --- FTN mail packet debugger
2676@cindex pktdebug
2677
2678@noindent Usage:
2679
2680@example
2681pktdebug  @r{[}@i{-options}@r{]}  @i{file} @r{...}
2682@end example
2683
2684@noindent Options (standard options not supported):
2685
2686@table @code
2687
2688@item -m --msg-header
2689Print message header.
2690
2691@item -t --msg-text
2692Print message text. Implies @code{-m}.
2693
2694@item -s --short
2695Print contents in short format: packet from/to address and number of
2696NetMail and EchoMail messages.
2697
2698@item -v --verbose
2699Increase verbose/debug level.
2700
2701@item -h --help
2702Help on @code{pktdebug} usage.
2703
2704@end table
2705
2706This utility displays the packet header and optionally the message
2707header and message body contents.
2708
2709See also the @code{util/pktmore} utitility, which pipes the output of
2710@code{pktdebug} to @code{$PAGER}.
2711
2712
2713
2714@c ***************************************************************************
2715@node pktmore, sumcrc, pktdebug, Programs
2716
2717@section pktmore --- Pager frontend for @code{pktdebug}
2718@cindex pktmore
2719
2720@noindent Usage:
2721
2722@example
2723pktmore  @i{file} @r{...}
2724@end example
2725
2726@code{pktmore} uses the environment variable @code{PAGER} for the pager
2727program. Default: @code{more}
2728
2729
2730
2731@c ***************************************************************************
2732@node sumcrc, Config files, pktmore, Programs
2733
2734@section sumcrc --- CRC Checksum Utility
2735@cindex sumcrc
2736@cindex CRC
2737@cindex Checksum
2738
2739
2740@noindent Usage:
2741
2742@example
2743sumcrc  @r{[}@i{-options}@r{]}  @i{file} @r{...}
2744@end example
2745
2746@noindent Options (standard options not supported):
2747
2748@table @code
2749
2750@item -1 --skip-first-line
2751Skip first line in @i{file}. Useful for computing nodelist CRC.
2752
2753@item -3 --crc32
2754Compute 32 bit CRC checksum, using the standard 32 bit polynomial (same as
2755in ZModem, ZIP). Default: 16 bit CRC CCITT polynomial.
2756
2757@item -6 --crc16
2758Use alternate 16 bit CRC16 polynomial.
2759
2760@item -x --hex
2761Output CRC value in hex. Default: decimal
2762
2763@item -z --eof-at-ctrl-z
2764The Ctrl-Z character (@code{^Z}) indicates end-of-file (MSDOS kludge).
2765
2766@item -v --verbose
2767Increase verbose/debug level.
2768
2769@item -h --help
2770Help on @code{sumcrc} usage.
2771
2772@end table
2773
2774Use @code{sumcrc -1z} to compute the checksum for a standard Fido
2775nodelist. See also the nodelist processing scripts in
2776@code{scripts/nodelist/nl-*}.
2777
2778
2779
2780
2781@c ***************************************************************************
2782@node Config files, Config, sumcrc, Top
2783
2784@chapter FIDOGATE Config Files
2785@cindex Config files
2786
2787@noindent
2788FIDOGATE uses the following config files:
2789
2790@iftex
2791
2792@table @code
2793
2794@item fidogate.conf
2795Main configuration file
2796
2797@item aliases
2798User aliases
2799
2800@item areas
2801FTN area to newsgroup conversion
2802
2803@item bounce.*
2804Bounce messages of @code{ftn2rfc}
2805
2806@item hosts
2807FTN address to host name conversion
2808
2809@item passwd
2810Password config file
2811
2812@item permissions
2813Permissions config file
2814
2815@item routing
2816Routing file for @code{ftntoss} and @code{ftnroute}
2817
2818@item packing
2819Packing file for @code{ftnpack}
2820
2821@item areas.bbs
2822@item fareas.bbs
2823EchoMail / file echo distribution
2824
2825@end table
2826
2827
2828FIDOGATE tries to find @code{fidogate.conf} in @code{CONFIGDIR}
2829(compiled-in default), the location and name of all other directories
2830and files can be specified in this main configuration file.
2831
2832In addition, FIDOGATE 4.2.7 and newer support the environment variable
2833@code{FIDOGATE}, which tells where to find
2834@code{fidogate.conf}. FIDOGATE 4.3.0 and newer also support
2835@code{FIDOGATE_CONFIGDIR} for the very same purpose.
2836
2837
2838@end iftex
2839
2840@menu
2841* Config::      Main configuration file
2842* Hosts::       hosts FTN address to host name conversion
2843* Aliases::     aliases user aliases
2844* Areas::       areas FTN area to newsgroup conversion
2845* Bounce::      Bounce messages of @code{ftn2rfc}
2846* Passwd::      passwd password config file
2847* Routing::     routing file for @code{ftntoss} and @code{ftnroute}
2848* Packing::     packing file for @code{ftnpack}
2849* Areas.bbs::   areas.bbs EchoMail distribution
2850@end menu
2851
2852
2853For all config files, a line starting with (some white space and)
2854@code{#} character is a comment and as well as an empty line completely
2855ignored.
2856
2857All config files (with the execption of @code{areas.bbs} support an
2858@code{include} command for reading in other config files. @code{include}
2859must be the first keyword on the line, the filename is the next
2860argument.
2861
2862All options and config statements which take file or directory names as
2863arguments accept the following @code{%} abbreviations:
2864
2865@table @code
2866@item %C
2867CONFIGDIR
2868@item %L
2869LIBDIR
2870@item %N
2871BINDIR
2872@item %G
2873LOGDIR
2874@item %V
2875VARDIR
2876@item %K
2877LOCKDIR
2878@item %S
2879SPOOLDIR
2880@item %B
2881BTBASEDIR
2882@item %I
2883INBOUND
2884@item %P
2885PINBOUND
2886@item %U
2887UUINBOUND
2888@end table
2889
2890
2891
2892@c ***************************************************************************
2893@node Config, Hosts, Config files, Config files
2894
2895@section Main Configuration File
2896@cindex Config
2897@cindex fidogate.conf
2898
2899
2900@noindent
2901@code{fidogate.conf} is the main configuration file for all FIDOGATE
2902programs.
2903
2904NOTE: the new single configuration file replaces the different
2905configuration files @code{config.*} and @code{*.conf} of versions prior
2906to 4.3.0.
2907
2908The format of @code{fidogate.conf} is:
2909
2910@example
2911@i{keyword} @r{[} @i{arg ...} @r{]}
2912@end example
2913
2914Keywords and arguments may be quoted in @code{""}, keywords are
2915case-insensitive.
2916
2917See @code{examples/orodruin/fidogate.conf} for an up-to-date commented
2918version of the new config file.
2919
2920
2921
2922@c ---------------------------------------------------------------------------
2923@noindent
2924Common configuration:
2925
2926@table @code
2927
2928@item include @i{file}
2929Include another config file, may be nested.
2930
2931
2932@item ConfigDir @i{directory}
2933Directory for configuration files (default specified in
2934@code{config.make}).
2935
2936@item LibDir @i{directory}
2937Directory for FIDOGATE-internal binaries and support files (default
2938specified in @code{config.make}).
2939
2940@item BinDir @i{directory}
2941Directory for FIDOGATE user binaries and scripts (default specified in
2942@code{config.make}).
2943
2944@item LogDir @i{directory}
2945Directory for log files (default specified in @code{config.make}).
2946
2947@item VarDir @i{directory}
2948Directory for variable state files such as @code{areas.bbs},
2949@code{fareas.bbs}, @code{history} (default specified in
2950@code{config.make}).
2951
2952@item LockDir @i{directory}
2953Directory for lock files (default specified in @code{config.make}).
2954
2955@item SpoolDir @i{directory}
2956Internal spool directory for temporary files (default specified in
2957@code{config.make}).
2958
2959@item BTBaseDir @i{directory}
2960The BinkleyTerm-style outbound @b{base} directory, to be specified
2961without the actual @code{out.}@i{nnn} zone directories (default
2962specified in @code{config.make}).
2963
2964@item Inbound @i{directory}
2965The BinkleyTerm-style unprotected inbound directory (default specified
2966in @code{config.make}).
2967
2968@item PInbound @i{directory}
2969The BinkleyTerm-style protected inbound directory (default specified in
2970@code{config.make}).
2971
2972@item UUInbound @i{directory}
2973The BinkleyTerm-style inbound directory for UUENCODEd packets (default
2974specified in @code{config.make}).
2975
2976@item FTPInbound @i{directory}
2977The BinkleyTerm-style inbound directory for FTP'ed packets (default
2978specified in @code{config.make}).
2979
2980
2981@item Aliases @i{file}
2982Aliases configuration file (default specified in @code{config.make}).
2983
2984@item Areas @i{file}
2985Areas configuration file (default specified in @code{config.make}).
2986
2987@item Hosts @i{file}
2988Registered hosts configuration file (default specified in
2989@code{config.make}).
2990
2991@item Passwd @i{file}
2992Password configuration file (default specified in @code{config.make}).
2993
2994@item Packing @i{file}
2995Packing configuration file (default specified in @code{config.make}).
2996
2997@item Routing @i{file}
2998Routing configuration file (default specified in @code{config.make}).
2999
3000@item History @i{file}
3001Dupe check history database file (default specified in @code{config.make}).
3002
3003@item Logfile @i{file}
3004Standard log file (default specified in @code{config.make}).
3005
3006@item CharsetMap @i{file}
3007Charset mapping table file (default specified in @code{config.make}).
3008
3009
3010@item LogFacility @i{facility}
3011@item LogLevel @i{level}
3012Facility and level when using syslog for logging (@code{LogFile
3013syslog}). NOT YET SUPPORTED: C programs use definition from
3014@code{config.h}, syslog support in Perl scripts (which use these
3015settings) is currently commented out.
3016
3017
3018@item DosDrive @i{drive} @i{directory}
3019OPTIONAL: specify translation of a DOS @i{drive} (e.g. @code{H:}) to a
3020directory. This is useful, if you keep your outbound on a UNIX server
3021and run BinkleyTerm on a DOS client. If one or more @code{DosDrive}
3022statements are specified, FIDOGATE will automatically translate file
3023attaches to the file names seen by the DOS client. Up to 16
3024@code{DosDrive} entries may be specified (@code{MAXDOSDRIVE} from
3025@code{config.h}).
3026
3027
3028@item AreasBBS @i{name}
3029Specifies the @code{areas.bbs} EchoMail distribution file.
3030
3031@item FAreasBBS @i{name}
3032Specifies the @code{fareas.bbs} file echo distribution file.
3033
3034
3035@end table
3036
3037
3038@c ---------------------------------------------------------------------------
3039@noindent
3040Internet address configuration:
3041
3042@table @code
3043
3044@item Hostname @i{name}
3045The host name part of your Internet address.
3046
3047@item Domain @i{name}
3048The domain part of your Internet address.
3049
3050@item HostsDomain @i{name}
3051The domain used for entries in the @code{hosts} config file. Default is
3052the same as @code{Domain}.
3053
3054@end table
3055
3056
3057@c ---------------------------------------------------------------------------
3058@noindent
3059Fidonet address configuration:
3060
3061@table @code
3062
3063@item Address @i{node}
3064The main Fidonet/FTN address (Z:N/F.P). There may be up to 32 @code{Address}
3065statements (@code{MAXADDRESS} from @code{config.h}).
3066
3067@item GateAddress @i{node}
3068OPTIONAL: the Fidonet/FTN address of your gate, must be in the same
3069order as the corresponding @code{Address} statements. There may be up to
307032 @code{GateAddress} statements.
3071
3072If you're operating a Fido node, you may want to use a point addresse
3073for your gateway to avoid name problems with local users and the
3074gateway. If you're operating an official gateway in Fidonet or an
3075Othernet, you normally have a separate node address for the gateway.
3076
3077
3078@item Zone @i{zone} @i{domain} @i{ftndomain} @i{out}
3079Specifies Internet domain @i{domain}, FTN domain @i{ftndomain},
3080and outbound directory @i{out} (relative to @code{BTBaseDir}) for the
3081FTN zone @i{zone}. @i{zone} may be @code{default}, then this is the
3082default entry for not explicitely specified zones. Up to 32 @code{Zone}
3083entries may be specified (@code{MAXADDRESS} from @code{config.h}).
3084
3085The gateway will only process mails from/to zones which are explicitly
3086specified here.
3087
3088@end table
3089
3090
3091@c ---------------------------------------------------------------------------
3092@noindent
3093Areafix configuration:
3094
3095@table @code
3096
3097@item AreaFixMailer @i{command}
3098Mailer program used by @code{ftnaf} to send replies.
3099
3100@item AreaFixCC @i{user@@domain}
3101CC address added to replies sent by @code{ftnaf}.
3102
3103@item AreaFixHelp @i{file}
3104Help file for Areafix programs (@code{%help}) command.
3105
3106@end table
3107
3108
3109@c ---------------------------------------------------------------------------
3110@noindent
3111Tosser configuration:
3112
3113@table @code
3114
3115@item MaxMsg @i{n}
3116Set maximum number of messages in output files to @i{n}, restricting the
3117maximum size of packets. See also @code{-m} option.
3118
3119@item MaxOpenFiles @i{n}
3120Set maximum number of concurrently open packet files to @i{n}. Default: 10
3121(@code{MAXOPENFILES} from @code{config.h}), see also @code{-M} option.
3122
3123@item MaxArc @i{Kbyte}
3124Maximum size of ArcMail archives created by @code{ftnpack}. See also
3125@code{-m} option.
3126
3127
3128@item MinDiskFree @i{Kbyte}
3129Minimum free disk space required by the @code{runtoss}
3130script. @code{runtoss} will terminate if there is less than @i{Kbyte}
3131free disk space in SPOOLDIR.
3132
3133@item DiskFreeMethod @i{text}
3134Method to determine free disk space: @code{prog} uses program specified
3135with @code{DiskFreeProg}, @code{none} doesn't do any disk space
3136checking.
3137
3138@item DiskFreeProg @i{command}
3139Command to determine free disk space, parameter @code{%p} is replace
3140with path name of the directory to be checked.
3141
3142
3143@item KillEmpty
3144@item KillBlank
3145Kill empty (blank) messages addressed to one of our AKAs. These are
3146typically file attach and file request messages.
3147
3148@item KillUnknown
3149Kill messages for unknown EchoMail areas (not listed in
3150areas.bbs).
3151
3152@item KillRouted
3153Kill routed EchoMail messages (not addressed to one of our
3154AKAs).
3155
3156@item KillInsecure
3157Kill insecure EchoMail messages (sender not listed in @code{areas.bbs}).
3158
3159@item LogNetMail
3160@item Track
3161Log all NetMail messages in log file.
3162
3163@item CheckPath
3164Enable EchoMail circular path check (see @code{KillCircular}).
3165
3166@item KillCircular
3167Kill EchoMail with circular path (own address already in @code{^APATH}).
3168
3169@item DupeCheck
3170Enable dupe check (using @code{History} database).
3171
3172@item MaxHistory @i{days}
3173Maximum length of history database. Keep entries for @i{days} days
3174(decimal fraction allowed).
3175
3176@item KillOld
3177Kill messages with @i{date} < @i{now} - @code{MaxHistory}, i.e. treat as
3178dupes.
3179
3180@item KillDupe
3181@item KillDupes
3182Kill duplicate EchoMail messages if @code{DupeCheck} is enabled.
3183
3184@item KillNoMSGID
3185Kill EchoMail messages without a @code{^AMSGID}, i.e. treat as dupes.
3186
3187
3188@item ZoneGate @i{node} @i{seenby}
3189Zone gate operation: strip SEEN-BYs for EchoMail addressed to @i{node}
3190and replace with listed @i{seenby} nodes. @i{seenby} must include both
3191the link's and our address. Example:
3192
3193@example
3194ZoneGate  1:105/42  105/42 2452/110
3195@end example
3196
3197
3198@item AddToSeenBy @i{area} @i{nodes}
3199Add the listed @i{nodes} to the SEEN-BYs for EchoMail tossed in
3200@i{area}. @i{area} may be specified using shell-style wildcards
3201@code{*?[a-z]}.
3202
3203
3204@item TossEchoMail4D
3205Generate 4D EchoMail control lines, i.e. SEEN-BY and PATH will include
3206point addresses.
3207
3208@item NoEmptyPath
3209Do not generate an empty PATH line.
3210
3211@end table
3212
3213
3214@c ---------------------------------------------------------------------------
3215@noindent
3216Ticker configuration:
3217
3218@table @code
3219
3220@item TickFlav @i{flavour}
3221Flavour of file attaches generated by @code{ftntick}.
3222
3223@item FAttachFlav @i{flavour}
3224Flavour of file attaches generated by @code{ftnfattach}.
3225
3226@item TickReplacedDir @i{directory}
3227Directory for old files replaced by @code{ftntick}.
3228
3229@item UnknownTickArea @i{area}
3230File area to be used to TIC files with an unknown area. Incoming files
3231with an unknown area will be moved to this unknown area's directory.
3232
3233@end table
3234
3235
3236@c ---------------------------------------------------------------------------
3237@noindent
3238Gateway configuration:
3239
3240@table @code
3241
3242@item Origin @i{text}
3243FTN default EchoMail origin line, the text used for the origins line
3244generated by @code{rfc2ftn}. Quote @i{text} in @code{""} if it contains
3245spaces. Individual origin lines may be specified in the @code{areas}
3246file using the @code{-o} option.
3247
3248@item Organization @i{text}
3249Organization header for mail and news generated by
3250@code{ftn2rfc}. Quote @i{text} in @code{""} if it contains spaces.
3251
3252@item UseOriginForOrganization
3253Put the text from the * Origin line (excluding the @i{(z:n/f.p)}
3254address) into the Organization header.
3255
3256@item UseOrganizationForOrigin
3257Put the text from the Organization header into the * Origin line.
3258
3259@item UseXHeaderForTearline
3260Use text from @code{X-FTN-Tearline}, @code{X-Mailer}, @code{User-Agent},
3261or @code{X-Newsreader} for the --- tearline.
3262
3263
3264@item UseFTNToAddress
3265Use FTN to address for mail addressed to the gateway without a To line,
3266e.g. mail to
3267@example
3268Max Mueller @ 2:2452/110.2
3269@end example
3270with a HOSTS entry
3271@example
32722:2452/110.2  orodruin-ftn.fido.de
3273@end example
3274is converted to
3275@example
3276To: Max_Mueller@@orodruin-ftn.fido.de
3277@end example
3278Without this option the standard local HOST.DOMAIN is used, e.g.
3279@example
3280To: Max_Mueller@@orodruin.fido.de
3281@end example
3282
3283
3284@item EchoMail4D
3285Generate 4D EchoMail control lines, when the gateway operates at a point
3286address. @b{This is required when using the gateway and the tosser for a
3287Fido point!}
3288
3289
3290@item Gateway @i{node}
3291Specifies an FTN-Internet gateway for routing Internet mail to. If
3292enabled, FIDOGATE can be used as the default delivery agent for all
3293Internet mail.
3294
3295
3296@item DotNames
3297Generate @i{User.Name@@host.do.main} instead of
3298@i{User_Name@@host.do.main}. @code{rfc2ftn} recognizes both address
3299types.
3300
3301
3302@item KillUnknownMSGIDZone
3303Kill messages that contain a @code{^AMSGID} from an unknown zone (not
3304listed in @code{Zone} statements).
3305
3306@item KillNoMSGID
3307Kill messages that don't contain a @code{^AMSGID} kludge.
3308
3309@item KillSplit
3310Kill messages that contain a @code{^ASPLIT} kludge.
3311
3312
3313@item X-FTN @i{header}
3314Include the various X-FTN header in the output of @code{ftn2rfc}:
3315@table @code
3316@item f
3317@code{X-FTN-From}
3318@item t
3319@code{X-FTN-To}
3320@item T
3321@code{X-FTN-Tearline}
3322@item O
3323@code{X-FTN-Origin}
3324@item V
3325@code{X-FTN-Via}
3326@item D
3327@code{X-FTN-Domain}
3328@item S
3329@code{X-FTN-Seen-By}
3330@item P
3331@code{X-FTN-Path}
3332@end table
3333@code{X-FTN-From} is required for the proper operation of @code{ftnaf}.
3334
3335
3336@item MaxMsgSize @i{bytes}
3337Maximum size of FTN messages (default value), larger messages will be split.
3338
3339@item LimitMsgSize @i{bytes}
3340Maximum limit for messages (default value), larger messages will be
3341bounced (mail) and simply not gated (news).
3342
3343
3344@item NoAddressInToField
3345Do not allow @code{@@ ! %} chars in the FTN to field, thus preventing
3346users from putting Internet addresses in the to field.
3347
3348
3349@item BounceCCMail @i{user@@do.main}
3350Send CC of bounced messages to this address.
3351
3352@item TrackerMail @i{user@@do.main}
3353Forward mail from message trackers to this address.
3354
3355@item HostsRestricted
3356Restrict usage of the gateway to FTN addresses listed in @code{hosts}.
3357
3358@item FTNJunkGroup @i{name}
3359@i{name} of the FTN junk newsgroup (newsgroup for unknown FTN areas).
3360
3361@item ErrorsTo @i{user@@do.main}
3362Insert additional Errors-To header into Internet mails, sending bounced
3363mails from gateway users to @i{user@@do.main}.
3364
3365
3366@item AreasXlate @i{area-chars} @i{newsgroup-chars}
3367Automatic translation (-H option in @code{areas} file) of characters for
3368Fido area <-> Internet newsgroup name conversion.
3369
3370
3371@item RFCLevel @i{n}
3372Set the default RFC level. See also @code{-R} option in @code{areas}.
3373
3374@item NoFromLine
3375Don't generate @code{From:} header and FSC-0035 kludges. Must be set for
3376a non-gateway, point FIDOGATE configuration.
3377
3378@item NoFSC0035
3379Don't generate FSC-0035 @code{^AREPLYADDR}, @code{^AREPLYTO}.
3380
3381@item NoFSC0047
3382Don't generate FSC-0047 @code{^ASPLIT}, use old @code{ * Large message
3383split by } ... text line.
3384
3385
3386@item FTNInSendmail @i{command ...}
3387Sendmail program to be run by @code{ftninpost} with options. The option
3388@code{-fsender} will be automatically added by @code{ftninpost}. For
3389compatibility with old FIDOGATE configurations, any @code{-f%s} option
3390will be removed.
3391
3392@item FTNInRnews @i{command ...}
3393Rnews program to be run by @code{ftninpost}.
3394
3395@item FTNInRecombine
3396Automatically run @code{ftninrecomb} to recombine split messages.
3397
3398
3399@item NetMail8bit
3400Use the ISO-8859-1 MIME 8BIT character set when gating Fido NetMail.
3401
3402@item NetMailQuotedPrintable
3403@item NetMailQP
3404Use the ISO-8859-1 MIME QUOTED-PRINTABLE character set when gating Fido
3405NetMail. @code{NetMailQuotedPrintable} overrides @code{NetMail8bit} if
3406both are specified.
3407
3408
3409@item XFlagsPolicy
3410Controls policy for X-Flags processing (default is 0, no processing):
3411@table @code
3412@item n   N   0
3413No X-Flags processing at all.
3414@item s   S   1
3415X-Flags processing for local sender (check From and Received
3416headers). This is not really secure!!! If your system is directly
3417connected to the Internet and runs an SMTP daemon such as sendmail, mail
3418can easily be faked to look like local!!!
3419@item a   A   2
3420X-Flags processing for all. Totally open, totally insecure!!!
3421@end table
3422
3423@item DontUseReplyTo
3424Don't try to get real name from Reply-To header. Particularly useful for
3425mailing lists which set the Reply-To header to the mailing list.
3426
3427@item RFCAddrMode @i{mode}
3428Mode for RFC address generated by FIDOGATE:
3429@table @code
3430@item ()  p  0
3431@i{user@@do.main (Real Name)}-type addresses
3432@item <>  a  1
3433@i{Real Name <user@@do.main>}-type addresses
3434@end table
3435
3436@item ReplyAddrIfMailTX
3437Force @code{^AREPLYADDR} (if @code{FSC0035} is enabled) to only contains
3438@code{^AREPLYADDR <user@@do.main>} for compatibility with ifmail-TX.
3439
3440
3441@item CheckAreasBBS
3442Check @code{areas.bbs} when gating newsgroups, message for areas without
3443downlinks will be skipped.
3444
3445
3446@item DefaultCharset @i{default}:@i{ftn}:@i{rfc}
3447Default character set mapping for the gateway: @i{default} is the
3448charset assumed for FTN messages, if no @code{^ACHRS} kludge is present
3449in the message. @i{ftn} is the charset to be used in the FTN messages
3450when gating from RFC to FTN (use FSC-0054 names here), @i{rfc} likewise
3451when gating from FTN to RFC (use RFC 2045 names here). See also the
3452@code{-C} option in the @code{areas} config file.
3453
3454@item NetMailCharset @i{default}:@i{ftn}:@i{rfc}
3455Like @code{DefaultCharset}, but only for NetMail (mail) messages.
3456
3457@item NetMailCharsetUse1st
3458If set and no matching in/out character set is found, @code{ftn2rfc}
3459will use the first character set translation pair from
3460@code{charset.map} with in charset = Fido @code{^ACHRS} and set the
3461output character set accordingly. NOT YET IMPLEMENTED.
3462
3463
3464@item NewsPathTail @i{string}
3465String added to news Path header generated by @code{ftn2rfc}, the
3466de-facto standard is @code{not-for-mail}. Alternatively you can set this
3467to @code{fidogate!not-for-mail} making the INN @code{newsfeeds} much
3468easier and less error-prone, particularly for point systems.
3469
3470
3471@item SingleArticles
3472Write single articles to output RFC files generated by @code{ftn2rfc},
3473not news batches containing several articles (batch is default).
3474
3475
3476@item Regex1stLine @i{pattern}
3477Regular expression patterns for finding addresses in the first line of
3478the messages body. The first (...) sub-expression will be used for the
3479address (like \1 in sed, $1 in perl). POSIX *extended* regular
3480expressions are used.  The OS @b{must} support @code{HAS_POSIX_REGEX} in
3481@code{config.h}!
3482
3483As of FIDOGATE 4.3.4, the compiled-in pattern matching code is no longer
3484availabe. See @code{examples/orodruin/fidogate.conf} for a suitable list
3485of regular expressions.
3486
3487
3488@item MessageLineLength @i{number}
3489Line length for formatting long paragraphs (no explicit line break) from
3490Fido messages. This replaces the old @code{MAX_LINELEN} from
3491@code{config.h}. The default value is 72.
3492
3493
3494@item DontIgnore0x8d
3495@item DontIgnoreSoftCR
3496Normally, soft CR characters (hex 0x8d) in FTN messages are
3497ignored. When this option is turned on, they are treated as normal
3498characters. Useful e.g. for the cyrillic cp866 charset.
3499
3500
3501@item RegisteredHostsOnly
3502The opposite of the @i{-i} @i{--ignore-hosts} command line option,
3503always requiring that a node is registered in the @code{hosts} list. NOT
3504YET IMPLEMENTED.
3505
3506
3507@item RegisteredAliasesOnly
3508Allow only those addresses listed in @code{aliases}, either
3509@i{alias}@@@i{host.do.main} or @i{Full_Name}@@@i{host.do.main}, as valid
3510recipients (also including @i{postmaster}) for @code{rfc2ftn}.
3511
3512With this option, the gateway can be restricted to registered users,
3513which is also very useful for fighting Spam.
3514
3515
3516@item SilentBounces
3517Causes EX_NOHOST, EX_NOUSER errors to return OK without any message.
3518Useful in the never ending fight against spam, when your gateway
3519is flooded with messages to unknown adresses, such as Fido.DE :-(
3520
3521
3522@end table
3523
3524
3525@c ---------------------------------------------------------------------------
3526@noindent
3527FFX configuration:
3528
3529(FFX is a part of FIDOGATE, an uux-like mechanism for remote execution,
3530using a Fido mailer instead of UUCP for transport. This is a special
3531hack for my own purposes, most likely you don't want to know anything
3532about it. Simply ignore or remove this section from the config file.)
3533
3534@table @code
3535
3536@item FFXDataFlav @i{flavour}
3537Flavour to be used for file attachments created by the @code{ffx} program.
3538
3539@item FFXDataCompr @i{command ...}
3540Program to be used for creating compressed @code{ffx} data files.
3541
3542@item FFXDataExt @i{parameter}
3543File name extension to be used for compressed @code{ffx} data files.
3544
3545@item FFXDataDecompr @i{parameter}
3546Uncompressor name for compressed @code{ffx} data files (will be run by
3547@code{ffxqt}).
3548
3549@item FFXDataComprN @i{parameter}
3550Program to be used for creating uncompress @code{ffx} data files (option
3551@code{-n}).
3552
3553@item FFXDataExtN @i{parameter}
3554File name extension to be used for uncompressed @code{ffx} data files
3555(option @code{-n}).
3556
3557@item FFXDataDecomprN @i{parameter}
3558Uncompressor name for uncompressed @code{ffx} data files (option
3559@code{-n}, will be run by @code{ffxqt}).
3560
3561@item FFXCommand @i{name} @i{command ...}
3562List of command names and corresponding commands to be used by
3563@code{ffxqt}. Only the commands listed can be executed. This replaces
3564the old LIBDIR/ffxqt-dir/@i{name} structure of previous FIDOGATE
3565versions.
3566
3567@item FFXUncompress @i{name} @i{command ...}
3568List of uncompressor names and corresponding commands to be used by
3569@code{ffxqt}.
3570
3571@end table
3572
3573
3574
3575@c ***************************************************************************
3576@node Hosts, Aliases, Config, Config files
3577
3578@section @code{hosts} FTN Address to Host Name Conversion
3579@cindex Hosts
3580
3581@noindent
3582This file contains the FTN addresses and host names for registered FTN
3583nodes. If @code{HostsRestricted} is defined in @code{config.gate}, this
3584file controls the access to the gateway.
3585
3586@noindent The format of this file is
3587
3588@example
3589@i{node}  @i{hostname}  @r{[} @i{options} @r{]}
3590@end example
3591
3592@noindent Fields:
3593
3594@table @i
3595
3596@item node
3597FTN address. An address for a node will match all points of this node,
3598see example below.
3599
3600@item hostname
3601Host name, one of
3602
3603@table @i
3604@item local host name
3605A name without a trailing @code{.} is a hostname in the local
3606domain (specified by @code{HostsDomain} or default @code{Domain}
3607in @code{config}).
3608@item fully qualified domain name
3609A name with a trailing @code{.} is a fully qualified domain name
3610for this node.
3611@item @code{-}
3612A @code{-} specifies a listed node, but without a host name
3613translation, using the standard @i{p.f.n.z} address.
3614@end table
3615
3616@item options
3617
3618@table @code
3619@item -p
3620Generate addresses with point part, e.g. @code{p99.hippo.fido.de}.
3621Default is omitting the point part.
3622@item -d
3623Mark the node as down, mail to this address will be bounced with
3624an appropiate error message.
3625@end table
3626
3627@end table
3628
3629The @code{hosts} file is read into memory during startup of FIDOGATE.
3630The first entry found matches, so a host name for a point must be
3631specified @i{before} the boss node, if there are entries for both.
3632
3633Example:
3634
3635@noindent @code{config}:
3636
3637@example
3638HostsDomain   .Fido.DE
3639@end example
3640
3641@noindent @code{hosts}:
3642
3643@example
36442:2452/110    hippo
36452:2452/990    test     -p
36462:2452/991    test.wusel.org.
36472:2452/999    -
3648@end example
3649
3650@noindent
3651Resulting data base read into memory:
3652
3653@example
3654Node:     2:2452/110.0
3655Hostname: hippo.Fido.DE
3656Flags:
3657
3658Node:     2:2452/990.0
3659Hostname: test.Fido.DE
3660Flags:    POINT
3661
3662Node:     2:2452/991.0
3663Hostname: test.wusel.org
3664Flags:
3665
3666Node:     2:2452/999.0
3667Hostname:
3668Flags:
3669@end example
3670
3671@noindent This results in the following conversion of addresses from FTN
3672to Internet:
3673
3674@example
36752:2452/110     ->  hippo.Fido.DE
36762:2452/110.99  ->  hippo.Fido.DE
36772:2452/990.99  ->  p99.test.Fido.DE
36782:2452/991.1   ->  test.wusel.org
36792:2452/999.2   ->  p2.f999.n2452.z2.Fido.DE
3680@end example
3681
3682
3683
3684@c ***************************************************************************
3685@node Aliases, Areas, Hosts, Config files
3686
3687@section @code{aliases} User Aliases
3688@cindex Aliases
3689
3690@noindent
3691This file contains user aliases, the FTN address, and the full name of
3692the user.
3693
3694@noindent The format of this file is
3695
3696@example
3697@i{alias}  @i{node}  "@i{full name}"
3698@end example
3699
3700@noindent Fields:
3701
3702@table @i
3703
3704@item alias
3705Alias for the user, can be a local @code{user} or a complete Internet
3706address @code{user@@do.main}.
3707
3708@item node
3709FTN address of the user.
3710
3711@item full name
3712Full name of the user.
3713
3714@end table
3715
3716The FTN address @i{node} may be a point address. In this case mail
3717addressed to the user at the boss node address will be readdressed to
3718this point, see example below.
3719
3720Example:
3721
3722@noindent @code{aliases}:
3723
3724@example
3725mvr         2:2452/110.6    "Marc van.Rey"
3726@end example
3727
3728Using the definitions from the section on @code{hosts}, this results in
3729the following address conversion:
3730
3731@example
3732Marc van.Rey @@ 2:2452/110.6  <->  mvr@@hippo.Fido.DE
3733@end example
3734
3735
3736
3737@c ***************************************************************************
3738@node Areas, Bounce, Aliases, Config files
3739
3740@section @code{areas} FTN Area to Newsgroup Conversion
3741@cindex Areas
3742
3743@noindent
3744This file contains FTN areas with corresponding newsgroups and options.
3745
3746@noindent The format of this file is
3747
3748@example
3749@i{area}  @i{newsgroup}  @r{[} @i{options} @r{]}
3750@end example
3751
3752@noindent Fields:
3753
3754@table @i
3755
3756@item area
3757FTN area.
3758
3759@item newsgroup
3760Usenet newsgroup.
3761
3762@item options
3763IMPORTANT: there must be spaces between the option and its argument!
3764
3765@table @code
3766
3767@item -a @i{address}
3768Select alternate FTN address for this area/newsgroup.
3769
3770@item -z @i{zone}
3771Select zone AKA @i{zone} for this area/newsgroup.
3772
3773@item -d @i{distribution}
3774Use Usenet @code{distribution} for this newsgroup when gating from FTN
3775to Internet.
3776
3777@item -o "@i{origin}"
3778Use an alternate origin line for this area when gating from Internet to
3779FTN.  (Default specified in @code{config}.)
3780
3781@item -g
3782Don't send messages from another SomeNet-FTN gateway across the gateway.
3783
3784@item -l
3785Only local crosspostings are allowed in this newsgroup/area.
3786
3787@item -x
3788No crosspostings are allowed in this newsgroup/area.
3789
3790@item -8
3791Use the ISO-8859-1 MIME 8BIT character set when gating to this
3792newsgroup.
3793
3794@item -Q
3795Use the ISO-8859-1 MIME quoted-printable character set when gating to
3796this newsgroup.
3797
3798@item -H
3799Area/newsgroup matches entire hierarchy. Names are converted
3800automatically, using upper case for area names and lower case for
3801newsgroups.
3802
3803Example:
3804@example
3805GNU.    gnu.    -z 242  -H
3806@end example
3807@code{gnu.announce} will be converted to @code{GNU.ANNOUNCE},
3808@code{gnu.bug.gcc} to @code{GNU.BUG.GCC}, similar for all other.
3809
3810@item -!
3811Don't gate this area/newsgroup or hierarchy (if combined with
3812@code{-H}). Usefull to exclude certain newsgroups from a hierarchy for
3813gating.
3814
3815Example:
3816@example
3817ALT.BINARIES.    alt.binaries.    -z 242  -H -!
3818ALT.             alt.             -z 242  -H
3819@end example
3820This is roughly equivalent to INN's @code{alt.*,!alt.binaries.*}. Please
3821note that the first @code{areas} entry matches, so any @code{-!} must be
3822placed before the @code{-H} hierarchy definition.
3823
3824@item -R @i{level}
3825Select level of @code{^ARFC-}Header put into FIDO messages for this
3826area. Level:
3827@table @r
3828@item 0
3829No @code{^ARFC-}header at all.
3830@item 1
3831Only important @code{^ARFC-}header.
3832@item 2
3833All @code{^ARFC-}header.
3834@end table
3835
3836@item -m @i{bytes}
3837Sets @code{MaxMsgSize} for this area (0 = no limit).
3838
3839@item -M @i{bytes}
3840Sets @code{LimitMsgSize} for this area (0 = no limit).
3841
3842@item -X "@i{RFC-Header: text}"
3843Add extra RFC header to output of @code{ftn2rfc}. Multiple @code{-X}
3844options are possible.
3845
3846@item -C @i{default}:@i{ftn}:@i{rfc}
3847Set character set mapping table for this area, see @code{DefaultCharset}
3848config option for details.
3849
3850@end table
3851
3852@end table
3853
3854Only newsgroups listed in this file will be gated from Internet to FTN.
3855FTN area not listed in this file will be gated into the
3856@code{FTNJunkGroup} newsgroup specified in @code{fidogate.conf}.
3857
3858
3859
3860@c ***************************************************************************
3861@node Bounce, Passwd, Areas, Config files
3862
3863@section Bounce Messages of @code{ftn2rfc}
3864@cindex Bounce messages
3865
3866@noindent
3867@code{ftn2rfc} uses the following files for messages sent to the FTN
3868user when bouncing mail for some reason:
3869
3870@table @code
3871
3872@item bounce.noto
3873Message addressed to user @code{UUCP} or @code{GATEWAY} without a
3874@code{To} line at the very beginning of the message.
3875
3876@item bounce.down
3877Message addressed from/to node currently marked as @i{down} in
3878@code{hosts} (@code{-d} flag).
3879
3880@item bounce.restricted
3881Messages from nodes not listed in @code{hosts}, gateway running in
3882restricted mode.
3883
3884@item bounce.insecure
3885Messages came via an insecure (i.e. not password protected) link and
3886contain a @code{To} line. This requires the @code{-t} option to
3887@code{ftn2rfc}.
3888
3889@end table
3890
3891Within a bounce message, the following substitutions can be used:
3892
3893@table @code
3894
3895@item %F
3896FTN address of message sender.
3897@item %T
3898FTN address of message recipient (the gateway, that is).
3899@item %O
3900FTN address of message origin.
3901@item %d
3902Date/time of message.
3903@item %t
3904Name of message recipient.
3905@item %f
3906Name of message sender.
3907@item %s
3908Message subject.
3909@item %R
3910@code{To} line, Internet address.
3911@item %M
3912The entire message body.
3913
3914@end table
3915
3916
3917
3918@c ***************************************************************************
3919@node Passwd, Routing, Bounce, Config files
3920
3921@section @code{passwd} Password Config File
3922@cindex Password
3923
3924@noindent
3925This file contains passwords used by @code{ftnaf}, @code{ffx}, and the
3926tosser programs.
3927
3928@noindent The format of this file is:
3929
3930@example
3931@i{context}  @i{node}  @i{password}  @i{options}
3932@end example
3933
3934@noindent Contexts:
3935
3936@table @code
3937
3938@item packet
3939FTN packet passwords, checked by @code{ftntoss}, inserted by all
3940FIDOGATE programs which create FTN packets. Password checking for
3941incoming packets is NOT YET IMPLEMENTED.
3942
3943@item af
3944Areafix passwords for requests.
3945
3946@item ff
3947Filefix passwords for requests and password for sending/receiving TIC
3948files.
3949
3950@item ffx
3951@code{ffx} command passwords, checked by @code{ffxqt}, inserted by
3952@code{ffx} into the @code{.ffx} command files.
3953
3954@item uplink
3955Passwords for forwarding areafix/filefix request to uplink.
3956
3957@end table
3958
3959Optional stuff (@i{options}) is used for @code{af} and @code{ff}
3960permission settings:
3961
3962@example
3963@i{lvl}  @i{key}  "@i{Sysop Name}"
3964@end example
3965
3966@i{lvl} is the access level, which must be greater or equal than the one
3967in @code{areas.bbs}. @i{key} is the access key, which must be a super
3968set of the one in @code{areas.bbs}.
3969
3970Optional stuff (@i{options}) is used for @code{uplink}:
3971
3972@example
3973"@i{name}"
3974@end example
3975
3976@i{name} is the user name (normally @code{Areafix} or @code{Areamgr}) at
3977@i{node} address, where areafix requests must be forwarded to. Used by
3978@code{ftnafutil}.
3979
3980
3981Example:
3982
3983@example
3984uplink      2:2499/99       XXXXXXXX    AreaMgr
3985packet      2:1234/5678     WUERG
3986ffx         242:1111/99     BLAHBLUB
3987af          2:1234/5678     WUSEL       1   F     "Test Sysop"
3988ff          242:1234/5678   WUSEL       4   UQ    "Yet Another Sysop"
3989@end example
3990
3991
3992
3993@c ***************************************************************************
3994@node Routing, Packing, Passwd, Config files
3995
3996@section @code{routing} Config File
3997@cindex Routing
3998
3999@noindent
4000This file contains the routing commands performed by @code{ftntoss}
4001(commands @code{remap} and @code{rewrite}) and @code{ftnroute}
4002(everything else). The first routing command found matches.
4003
4004The syntax of the @code{routing} commands is very similar to the routing
4005file used by the well-known FIDO tossers QMail and SQUISH.
4006
4007@noindent The format of this file is:
4008
4009@example
4010remap      @i{src-node}  @i{dest-node}  @i{name}
4011remapto    @i{src-node}  @i{dest-node}  @i{name}
4012remapx     @i{src-node}  @i{prog}       @i{name}
4013remapfrom  @i{src-node}  @i{dest-node}  @i{name}
4014rewrite    @i{src-node}  @i{dest-node}
4015
4016echomail
4017netmail
4018
4019send       @i{flavor}    @i{nodes}
4020route      @i{flavor}    @i{dest-node} @i{nodes}
4021hostroute  @i{flavor}    @i{nodes}
4022hubroute   @i{flavor}    @i{nodes}
4023xroute     @i{flavor}    @i{dest-node} @i{from-node} @i{to-node}
4024bossroute  @i{flavor}    @i{nodes}
4025
4026change     @i{old-flavor}  @i{new-flavor}  @i{nodes}
4027
4028sendmove   @i{flavor}    @i{nodes}
4029@end example
4030
4031@noindent Commands:
4032
4033@table @code
4034
4035@item remap
4036@item remapto
4037Remaps NetMail addressed to @i{name} at @i{src-node} to the new address
4038@i{dest-node}. Most useful for remapping to points based on their name.
4039@i{name} supports shell-style wildcard patterns. Remapping to 0:0/0.0
4040means killing the message.
4041
4042@item remapx
4043Remaps NetMail addressed to @i{name} at @i{src-node} to special
4044processing with @i{prog} (actually writing it to a packet in
4045@code{%S/remapx/}@i{prog}. Most useful for processing areafix
4046messages. @i{name} supports shell-style wildcard patterns.
4047NOT YET IMPLEMENTED.
4048
4049@item remapfrom
4050Remaps NetMail from @i{name} at @i{src-node} to the new address
4051@i{dest-node}. @i{name} supports shell-style wildcard
4052patterns. Remapping to 0:0/0.0 means killing the message.
4053
4054@item rewrite
4055Rewrites NetMail from and to addresses. A node address matching
4056@i{src-node} will be changed to @i{dest-node}.
4057
4058@item echomail
4059Starts routing commands for EchoMail.
4060
4061@item netmail
4062Starts routing commands for NetMail.
4063
4064@item allmail
4065Starts routing commands for both EchoMail and NetMail. NOT YET
4066IMPLEMENTED.
4067
4068@item send
4069Send normal mail addressed to @i{nodes} with @i{flavor}.
4070
4071WARNING: e.g. @code{send hold 2:2452/110} actually is the same as
4072@code{route hold 2:2452/110.0 2452/110.*}. So @code{send hold 2:2452/110
4073110.*} will @b{not} have the desired effect, use @code{send hold
40742:2452/110.*} only instead!!!
4075
4076@item route
4077Route normal mail addressed to @i{nodes} via @i{dest-node}, using
4078@i{flavor}.
4079
4080@item hostroute
4081Route normal mail addressed to @i{nodes} via their host (i.e. Z:N/0),
4082using @i{flavor}.
4083
4084@item hubroute
4085Route normal mail addressed to @i{nodes} via their hub,
4086using @i{flavor}. NOT YET IMPLEMENTED.
4087
4088@item xroute
4089Route normal mail from @i{from-node} to @i{to-node} via @i{dest-node},
4090using @i{flavor}. NOT YET IMPLEMENTED.
4091
4092@item bossroute
4093Route @i{flavor} mail addressed to @i{nodes} via their boss node, not
4094changing the flavor.
4095
4096@item change
4097Change flavor of mail packet from @i{old-flavor} to @i{new-flavor}.
4098
4099@item sendmove
4100Like @code{send}, but @code{ftnroute} doesn't copy the mail packets,
4101they are moved instead. This requires that SPOOLDIR/toss/tmp and
4102SPOOLDIR/toss/out are on the same file system/disk drive.
4103
4104@end table
4105
4106Node addresses @i{nodes}, @i{src-node}, @i{dest-node} support wildcards
4107using @code{*} and @code{all}, which can be used for the zone, net,
4108node, and point component of an address. @code{*} alone matches all
4109addresses. @code{rewrite} wildcards in the destination address are
4110replaced with the corresponding component of the source address.
4111
4112@noindent The outbound flavor string @i{flavor} can be any of
4113@code{normal}, @code{hold}, @code{crash}, @code{direct}, @code{out},
4114@code{hut}, @code{cut}, @code{dut}.
4115
4116Example:
4117
4118@example
4119Remap     2:2452/110.0 2:2452/110.7  "Martin Koser"
4120Rewrite   242:241/*    2:241/*
4121
4122NetMail
4123send      hold         242:1000/1.all
4124change    crash  hold  242:1000/1.all 2.all
4125send      hold         242:1000/3
4126route     hold         242:1000/50 51 52 53 54 55 56 57 58 59
4127@end example
4128
4129
4130
4131@c ***************************************************************************
4132@node Packing, Areas.bbs, Routing, Config files
4133
4134@section @code{packing} Config File
4135@cindex Packing
4136
4137@noindent
4138This file contains the packer (archiver) definitions and packing
4139commands for @code{ftnpack}.
4140
4141@noindent The format of this file is:
4142
4143@example
4144arc        @i{name}  @code{"}@i{archiver}@code{"}
4145prog       @i{name}  @code{"}@i{program}@code{"}
4146progn      @i{name}  @code{"}@i{program}@code{"}
4147
4148pack       @i{name}  @i{nodes}
4149rpack      @i{name}  @i{dest-node}  @i{nodes}
4150fpack      @i{name}  @i{dest-node}  @i{nodes}
4151dirpack    @i{dir}  @i{name}  @i{nodes}
4152@end example
4153
4154@noindent Packer/program definitions:
4155
4156@table @code
4157
4158@item arc
4159Defines the archiver @i{name} as program @i{archiver}. The @i{archiver}
4160string must contain two @code{%s}, the first one is replaced with the
4161archive name, the second one with the packet name.
4162
4163@item prog
4164@item progn
4165Defines the program @i{name} as @i{program}. The @i{program} string must
4166contain a @code{%s}, which is replaced with the name of the packet to be
4167processed. @code{prog} deletes the packet after successfully running
4168@code{program}, @code{progn} doesn't.
4169
4170@end table
4171
4172
4173@noindent Packing definitions:
4174
4175@table @code
4176
4177@item pack
4178Pack all mail addressed to @i{nodes} using the archiver defined as
4179@i{name}. The archiver name @code{noarc} indicates that the mail packet
4180should not be packed, but copied to the OUT file of the node.
4181
4182@item rpack
4183Same as @code{pack}, but pack all mail addressed to @i{nodes} to the
4184archive for @i{dest-node}.
4185
4186@item fpack
4187Similar to @code{rpack}, but the packet is archived for the normal
4188arcmail packet for each node. This archive is then attached to the FLO
4189file of @i{dest-node}.
4190
4191@item dirpack
4192Archive packets for @i{nodes} in special directory @i{dir}, not the
4193standard outbound.
4194
4195@end table
4196
4197Example:
4198
4199@example
4200arc     zip     "/usr/local/bin/zip -gkj %s %s"
4201progn   gate    "/usr/lib/fidogate/ftn2rfc %s"
4202progn   areafix "/usr/lib/fidogate/ftnafpkt %s"
4203
4204rpack   zip     2:242/41 2:242/42 242:2000/* 254:*/*
4205pack    noarc   2:2452/110.1 242:4900/99 254:2410/6.1
4206pack    zip     *
4207@end example
4208
4209
4210
4211@c ***************************************************************************
4212@node Areas.bbs, Basic, Packing, Config files
4213
4214@section @code{areas.bbs} EchoMail Distribution
4215@cindex EchoMail
4216@cindex areas.bbs
4217
4218@noindent
4219This file contains the EchoMail areas and linked nodes. The file
4220@code{fareas.bbs} is used for file echos.
4221
4222The format of this file is as follows, the first line being ignored for
4223compatibility with the standard DOS AREAS.BBS. Individual fields can be
4224enclosed in "..." to allow spaces, in particular for the area
4225description.
4226
4227@example
4228@r{[}#@r{]}@i{directory}  @i{area}  @r{[}@i{options}@r{]}  @i{nodes}
4229@end example
4230
4231@table @i
4232
4233@item @t{#}
4234Marks area as pass-through, i.e. no packets for the own address (zone
4235AKA or set by @code{-a}) will be created.
4236
4237@item directory
4238The directory where the message base/file base for this area is located.
4239Currently FIDOGATE uses the directory for file areas only.
4240
4241@item area
4242The area name.
4243
4244@item options
4245Options for this area:
4246@table @code
4247@item -a @i{address}
4248Set alternate FTN AKA for this area.
4249@item -z @i{zone}
4250Set alternate zone AKA for  this area. If not  set, the zone information
4251is taken from  the first node in the  @i{nodes} list.  @code{ftnaf} will
4252automatically rewrite @code{areas.bbs}, inserting the @code{-z} option.
4253@item -l @i{lvl}
4254Set Areafix/Filefix access level for this area.
4255@item -k @i{key}
4256Set Areafix/Filefix access key for this area.
4257@item -d "@i{description}"
4258Description for this area. Enclose in @code{"..."} to allow spaces in
4259description text.
4260@item -#
4261Set pass-through flag for this area (same as @i{directory} starting with
4262@code{#}).
4263@item -r
4264Set read-only flag for this area. New downlink will have a read-only
4265status. NOT YET IMPLEMENTED.
4266@end table
4267
4268@item nodes
4269The list of downlink nodes. This is a sorted short list of nodes as in
4270FIDO EchoMail SEEN-BYs and PATH. The first node in @i{nodes} is the
4271uplink and stays at this place, though. Do @i{not} put your own main
4272address into the @i{nodes} list. (If the gateway has a different
4273address, then it must be included in @code{nodes}!)
4274
4275@end table
4276
4277
4278
4279
4280@c ***************************************************************************
4281@page
4282@node Basic, Sendmail, Areas.bbs, Top
4283@chapter Basic Configuration
4284
4285@cindex Configuration
4286
4287There seems to be some confusion about the basic configuration of the
4288mail/news system, the gateway, and the tosser, so I added this
4289chapter. Hopefully this will help ...
4290
4291@menu
4292* Sendmail::	       Sendmail configuration
4293* Example Point::      Example point configuration
4294* Example Point 2::    Example configuration with 2 point addresses
4295* Example Node::       Example leaf node configuration
4296@end menu
4297
4298
4299
4300@c ***************************************************************************
4301@node Sendmail, Example Point, Basic, Basic
4302
4303@section Sendmail Configuration
4304@cindex Configuration
4305@cindex sendmail
4306
4307@noindent
4308This section describes the FIDOGATE additions to the sendmail V8 m4
4309configuration.
4310
4311FIDOGATE adds two new mailer files, @code{ftn.m4} and @code{ffx.m4}. Use
4312@code{MAILER(ftn)} and/or @code{Mailer(ffx)} to include these mailer
4313definitions. (See the comment above for what ffx is good for. Most
4314likely you won't need it.)
4315
4316Please note that the new FIDOGATE mailers are based on the SMTP mailer
4317sender/recipient rewrite rules, so including @code{MAILER(smtp)} is
4318mandatory!
4319
4320@noindent
4321FIDOGATE ftn mailers (using the @code{ftnmail} wrapper for
4322@code{rfc2ftn}):
4323
4324@table @code
4325
4326@item ftn
4327Mailer for sending to systems registered in the @code{hosts} config
4328file. @code{ftn} will bounce mails if the receiving host is not
4329registered or marked as down.
4330
4331@item ftni
4332Mailer for sending to a typical p.f.n.z domain,
4333e.g. @code{.fidonet.org}. @code{ftni} will send the mail to any system,
4334regardless of the registration in @code{hosts}.
4335
4336@item ftna
4337Like @code{ftni}, but the @code{ftna} mailer also sets the address and
4338uplink of the gateway to the relay host passed to this mailer.
4339
4340@item ftno
4341Like @code{ftna}. In addition, this mailer sets the directory for
4342packets created by @code{rfc2ftn} to SPOOLDIR/outpkt/@i{relayhost}.
4343
4344@end table
4345
4346@noindent
4347FIDOGATE ffx mailer (using the @code{ffxmail} utitility):
4348
4349@table @code
4350
4351@item ffx
4352Mailer for sending via the FIDOGATE ffx sub-system.
4353
4354@end table
4355
4356
4357
4358@c ***************************************************************************
4359@node Example Point, Example Point 2, Sendmail, Basic
4360
4361@section Example Point Configuration
4362@cindex Configuration
4363@cindex Example
4364@cindex Point
4365
4366@noindent
4367@b{Please note that this point configuration uses the FIDOGATE
4368tosser. Thus, it's different from the point configuration described in
4369Roland Rosenfeld's old Point HOWTO!!! The Point HOWTO configuration will
4370definitely NOT work with FIDOGATE version 4!!!}
4371
4372Actually, this point configuration is very similar to the node
4373configuration described in the next section.
4374
4375Let's assume the following addresses:
4376
4377Fido point address 2:2499/999.9
4378
4379Boss node (NetMail and EchoMail) 2:2499/999
4380
4381
4382@noindent
4383Address configuration @code{fidogate.conf} (gateway and point address
4384are the same!), gateway configuration @code{EchoMail4D} is stricly
4385reqired:
4386
4387@example
4388...
4389Address 2:2499/999.9
4390...
4391EchoMail4D
4392...
4393@end example
4394
4395@noindent
4396Routing configuration @code{routing}: mail for the local address on
4397hold, everything else is send to the boss node.
4398
4399@example
4400NetMail
4401route    hold   2:2499/999.9
4402route    normal 2:2499/999 1:* 2:* 3:* 4:* 5:* 6:*
4403
4404EchoMail
4405sendmove hold   2:2499/999.9
4406sendmove normal *
4407@end example
4408
4409
4410@noindent
4411Packer configuration @code{packing}: no packing (noarc, this is very
4412important) for own address, @code{zip} is the default archiver for
4413everything else.
4414
4415@example
4416arc  zip    "/usr/bin/zip -9gkjq %s %s"
4417
4418pack noarc  2:2499/999.9
4419pack zip    *
4420@end example
4421
4422@noindent
4423Next, the EchoMail areas must be listed in the @code{areas.bbs} file. Do
4424@i{not} put your point address into @code{areas.bbs}! Example with two
4425areas (the directory @code{X} is not used for EchoMail areas), which
4426must be non-passthrough:
4427
4428@example
4429Example Point!User Name
4430X LINUX.GER 2:2499/999
4431X UNIX.GER  2:2499/999
4432@end example
4433
4434In the gateway configuration, these areas must be listed in the
4435@code{areas} config file:
4436
4437@example
4438LINUX.GER fido.ger.linux -8
4439UNIX.GER  fido.ger.unix  -8
4440@end example
4441
4442
4443The example configuration files for this configuration can be found in
4444@code{examples/point/}. See also @code{scripts/run/runpoll} for a
4445suitable poll script, which does everything necessary for a FIDOGATE
4446point.
4447
4448
4449
4450@c ***************************************************************************
4451@node Example Point 2, Example Node, Example Point, Basic
4452
4453@section Example Configuration with 2 Point Addresses
4454@cindex Configuration
4455@cindex Example
4456@cindex Point
4457
4458@noindent
4459This section describes a point setup with 2 different point addresses
4460and 2 different boss nodes. Thanks to Stephan Zellerhoff
4461<stephan@@poi.westfalen.de> for contributing some stuff.
4462
4463Let's assume the following addresses:
4464
4465Primary point address 2:2499/999.9, boss node 2:2499/999
4466
4467Secondary point address 2:2498/888.8, boss node 2:2498/888
4468
4469@noindent
4470Setup with FIDOGATE:
4471
4472@table @b
4473
4474@item Addresses
4475Put the following address statements in @code{fidogate.conf}
4476@example
4477Address 2:2499/999.9
4478Address 2:2498/888.8
4479@end example
4480Please note that the primary point address must be the @i{first} entry!
4481
4482@item Sendmail
4483Use the sendmail @code{mailertable} feature and create the following
4484entries for routing Fidonet mail:
4485@example
4486# Mail to 2:2498/*, secondary address
4487.n2498.z2.fidonet.org    ftna:p8.f888.n2498.z2.fidonet.org
4488# Everything else 2:*/*, primary address
4489.z2.fidonet.org          ftna:p9.f999.n2499.z2.fidonet.org
4490@end example
4491Please note that in this setup, the relay host specified with the
4492@code{ftna} mailer is your @i{own} address, not your boss node!!!
4493
4494@item Areas
4495Areas send to the primary boss don't require anything special in the
4496@code{areas} config file, areas send to the secondary boss must have the
4497@code{-a 2:2498/888.8} option, e.g.
4498@example
4499LINUX.GER    fido.ger.linux    -a 2:2498/888.8 -8
4500@end example
4501
4502@item Areas.BBS
4503Likewise, areas send to the secondary boss must have the @code{-a
45042:2498/888.8} option in @code{areas.bbs} and the secondary boss as the
4505uplink, e.g.
4506@example
4507X LINUX.GER    -a 2:2498/888.8    2:2498/888
4508@end example
4509
4510@item Routing
4511The netmail routing must be adapted to send mail to the secondary boss,
4512e.g. everything for net 2498:
4513@example
4514NetMail
4515route    hold     2:2499/999.9
4516route    hold     2:2498/888.8
4517
4518route    normal   2:2498/888 2:2498/*.*
4519route    normal   2:2499/999 2:*
4520
4521EchoMail
4522sendmove hold     2:2499/999.9 2498/888.8
4523sendmove normal   *
4524@end example
4525
4526@item Packing
4527Packer configuration @code{packing}: no packing (noarc, this is very
4528important) for all of our own addressess, @code{zip} is the default
4529archiver for everything else.
4530
4531@example
4532arc  zip    "/usr/bin/zip -9gkjq %s %s"
4533
4534pack noarc  2:2499/999.9 2498/888.8
4535pack zip    *
4536@end example
4537
4538@end table
4539
4540Otherwise see the standard point configuration with a single address.
4541
4542
4543
4544@c ***************************************************************************
4545@node Example Node, Usage, Example Point 2, Basic
4546
4547@section Example Leaf Node configuration
4548@cindex Configuration
4549@cindex Example
4550@cindex Node
4551
4552
4553@noindent
4554Let's assume the following addresses:
4555
4556Fido main address 2:2499/999
4557
4558Uplink (NetMail and EchoMail) 2:2499/900
4559
4560Gateway point address 2:2499/999.1
4561
4562Two points, Max Mueller @@ 2:2499/999.10, Sabine Meier @@ 2:2499/999.11
4563
4564
4565@noindent
4566Address configuration @code{fidogate.conf}:
4567
4568@example
4569Address     2:2499/999
4570GateAddress 2:2499/999.1
4571@end example
4572
4573@noindent
4574Routing configuration @code{routing}: NetMail for the two points will be
4575remapped to their point addresses, everything else to the gateway (where
4576you will be reading your mail). NetMail for all points is @code{send}
4577onto hold, everything else @code{route}d to your uplink. EchoMail is
4578alway put onto hold.
4579
4580@example
4581remap    2:2499/999.0 2:2499/999.10 "Max Mueller"
4582remap    2:2499/999.0 2:2499/999.11 "Sabine Meier"
4583remap    2:2499/999.0 2:2499/999.1  "*"
4584
4585NetMail
4586send     hold   2:2499/999.*
4587route    normal 2:2499/900 1:* 2:* 3:* 4:* 5:* 6:*
4588
4589EchoMail
4590sendmove hold   2:2499/999.*
4591sendmove normal *
4592@end example
4593
4594
4595@noindent
4596Packer configuration @code{packing}: @code{noarc} packing for the
4597gateway address, @code{zip} is the default archiver for everything else.
4598
4599@example
4600arc      zip    "/usr/bin/zip -9gkjq %s %s"
4601
4602pack     noarc  2:2499/999.1
4603pack     zip    *
4604@end example
4605
4606@noindent
4607Next, the EchoMail areas must be listed in the @code{areas.bbs} file. Do
4608@i{not} put your node address into @code{areas.bbs}! Example with two
4609areas, both subscribed by the gateway and your points (the directory
4610@code{X} is not used for EchoMail areas):
4611
4612@example
4613Your system name!sysop name
4614#X LINUX.GER 2:2499/900 999.1 .10 .11
4615#X UNIX.GER  2:2499/900 999.1 .11
4616@end example
4617
4618@code{#} denotes a @i{passthrough} area, i.e. no packets for the own
4619address (2:2499/999) are created. All EchoMail will be send to the
4620gateway (.1).
4621
4622In the gateway configuration, these areas must be listed in the
4623@code{areas} config file:
4624
4625@example
4626LINUX.GER fido.ger.linux -8
4627UNIX.GER  fido.ger.unix  -8
4628@end example
4629
4630For regular processing, the following scripts should be run from cron
4631every 20 min or so:
4632@table @code
4633
4634@item rungate
4635Inbound gateway (Fido -> Internet and FTN -> FTN) processing
4636
4637@item runin
4638Inbound tosser and ticker processing
4639
4640@item runmail
4641Outbound gateway for mail (Internet -> Fido) processing.
4642
4643@item runnews
4644Outbound gateway for news (Internet -> Fido) processing.
4645
4646@item runout
4647Outbound packet processing (various sources).
4648
4649@end table
4650
4651To use the areafix, the gateway and the mail system must be working. You
4652can then install suitable aliases in @code{/etc/aliases}:
4653
4654@example
4655# Areafix/Filefix - FIDOGATE ftnaf
4656areafix: "|/usr/lib/fidogate/ftnafmail"
4657areamgr: areafix
4658filefix: "|/usr/lib/fidogate/ftnafmail -F"
4659filemgr: filefix
4660@end example
4661
4662That's it. I hope that this short chapter on basic configuration clarifies
4663some of the darker point of the FIDOGATE configuration. Anyway, please
4664help to improve the FIDOGATE documentation.
4665
4666
4667
4668
4669@c ***************************************************************************
4670@page
4671@node Usage, RFC Headers, Example Node, Top
4672@chapter FIDOGATE Usage
4673
4674@cindex Usage
4675
4676@menu
4677* RFC Headers:: RFC Headers in FTN Messages
4678* X Headers::   X Headers in RFC Messages
4679@end menu
4680
4681
4682@c ***************************************************************************
4683@page
4684@node RFC Headers, X Headers, Usage, Usage
4685@section RFC Headers in FTN Messages
4686
4687@cindex RFC header
4688@cindex Header
4689
4690@noindent
4691FIDOGATE's @code{ftn2rfc} supports the following RFC headers at the
4692start of an FTN message. RFC headers must be the first text lines,
4693max. 3 empty lines before the RFC headers are allowed. Only one header
4694line of each type is allowed.
4695
4696@table @code
4697
4698@item From: @i{address}
4699Sets From header line. If set and the @code{areas} flag @code{-g} is on,
4700messages will not be gated, because they are considered comming from
4701another FTN-RFC gateway.
4702
4703@item Reply-To: @i{address}
4704Sets Reply-To header line.
4705
4706@item To: @i{address}
4707Sets To header line.
4708
4709@item Cc: @i{address}
4710Sets Cc header line.
4711
4712@item Bcc: @i{address}
4713Sets Bcc header line.
4714
4715@item Newsgroups: @i{groups}
4716Sets Newsgroups header line. NOT YET IMPLEMENTED.
4717
4718@item Sender: @i{address}
4719Sets Sender header line. NOT YET IMPLEMENTED.
4720
4721@item Content-Transfer-Encoding: 7bit @r{|} 8bit @r{|} quoted-printable
4722Sets content encoding type, overriding the default configured in
4723@code{fidogate.conf} (@code{NetMail8bit}, @code{NetMailQuotedPrintable})
4724or @code{areas} (@code{-8}, @code{-Q}).
4725
4726@end table
4727
4728@code{ftn2rfc} sends mail to all addresses listed in To, Cc, and Bcc. It
4729support the RFC1036 standard address formats:
4730
4731@example
4732user@@do.main
4733user@@do.main (Real Name)
4734Real Name <user@@do.main>
4735@end example
4736
4737Multiple addresses can be separated by a @code{,}.
4738
4739
4740
4741@c ***************************************************************************
4742@page
4743@node X Headers, Index, RFC Headers, Usage
4744@section X Headers in RFC Messages
4745
4746@cindex X header
4747@cindex Header
4748
4749@noindent
4750FIDOGATE's @code{rfc2ftn} supports the following X headers in RFC
4751messages:
4752
4753@table @code
4754
4755@item X-Comment-To: @i{name}
4756Use for the recipient's name in news articles.
4757
4758@item X-Flags: @i{flags}
4759@table @code
4760@item c
4761Message is crash.
4762@item p
4763Message is private (default for mail).
4764@item h
4765Message is hold.
4766@item f
4767Subject contains file attachment name.
4768@item r
4769Sets return receipt request.
4770@item m
4771Generates a FTN style @code{^MSGID}, i.e. @code{^AMSGID: }@i{Z:N/F.P
47721234abcd}. In addition, no @code{^AREPLY} kludge is generated. THIS FLAG
4773IS NOT RECOMMENDED FOR NORMAL OPERATION!!!
4774@item n
4775Do not generate a From line, and the @code{^AREPLYADDR}, @code{REPLYTO}
4776kludges.
4777@end table
4778
4779@end table
4780
4781
4782
4783@c ***************************************************************************
4784@page
4785@node Index, , X Headers, Top
4786@unnumbered Index
4787
4788@printindex cp
4789
4790
4791@c @summarycontents
4792@contents
4793
4794@bye
4795