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