FrontDoor 2.12 Shareware User guide For noncommercial use and distribution To the memory of Catharina Frodin and Alva Gardlund. And to Christian, Katja, and Igor Homrighausen. Party on Fred, we miss you. Table of contents 1 FRONTDOOR SHAREWARE VERSION LICENCE AGREEMENT - "FFHA194k" . . . . 1 2 Preface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 2.1 Hardware requirements . . . . . . . . . . . . . . . . . . . . 3 2.2 Software requirements . . . . . . . . . . . . . . . . . . . . 3 2.3 Additional equipment . . . . . . . . . . . . . . . . . . . . 3 2.4 BBS software . . . . . . . . . . . . . . . . . . . . . . . . 4 3 Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 3.1 CONFIG.SYS . . . . . . . . . . . . . . . . . . . . . . . . . 5 3.2 AUTOEXEC.BAT . . . . . . . . . . . . . . . . . . . . . . . . 5 3.3 Directories . . . . . . . . . . . . . . . . . . . . . . . . . 5 3.4 Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 4 Setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 4.1 FD environment variable . . . . . . . . . . . . . . . . . . . 6 4.2 FD.SYS <> SETUP.FD . . . . . . . . . . . . . . . . . . . . . 6 4.3 Getting started . . . . . . . . . . . . . . . . . . . . . . . 6 4.4 Menus . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 4.4.1 File . . . . . . . . . . . . . . . . . . . . . . . . . 6 4.4.2 Global . . . . . . . . . . . . . . . . . . . . . . . . 7 4.4.3 Mailer . . . . . . . . . . . . . . . . . . . . . . . 11 4.4.4 Editor . . . . . . . . . . . . . . . . . . . . . . . 18 4.4.5 Terminal . . . . . . . . . . . . . . . . . . . . . . 21 4.4.6 Modem . . . . . . . . . . . . . . . . . . . . . . . . 24 4.4.7 Printer . . . . . . . . . . . . . . . . . . . . . . . 24 4.4.8 Manager . . . . . . . . . . . . . . . . . . . . . . . 25 Event Manager . . . . . . . . . . . . . . . . . . . . . . . 25 Folder Manager . . . . . . . . . . . . . . . . . . . . . . 25 Security . . . . . . . . . . . . . . . . . . . . . . . . . 27 Notes regarding protocols . . . . . . . . . . . . . . . 29 Request Manager . . . . . . . . . . . . . . . . . . . . 29 5 The nodelist and the nodelist compiler . . . . . . . . . . . . . 30 Zone . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 Region . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 Net . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 Node . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 Point . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 5.1 Hosts and hubs . . . . . . . . . . . . . . . . . . . . . . 30 5.2 Compiling a nodelist . . . . . . . . . . . . . . . . . . . 31 5.2.1 FDNODE.CTL . . . . . . . . . . . . . . . . . . . . . 31 POINTLIST . . . . . . . . . . . . . . . . . . . . . . . 31 PVTLIST . . . . . . . . . . . . . . . . . . . . . . . . 31 SWEPULSE . . . . . . . . . . . . . . . . . . . . . . . 32 PHONE . . . . . . . . . . . . . . . . . . . . . . . . . 32 USE ZONE . . . . . . . . . . . . . . . . . . . . . . . 32 DIAL . . . . . . . . . . . . . . . . . . . . . . . . . 32 COST . . . . . . . . . . . . . . . . . . . . . . . . . 33 5.3 Nodelist flags . . . . . . . . . . . . . . . . . . . . . . 34 5.4 Command-line switches . . . . . . . . . . . . . . . . . . . 34 5.5 Points . . . . . . . . . . . . . . . . . . . . . . . . . . 34 5.5.1 Pointlist . . . . . . . . . . . . . . . . . . . . . . 35 5.5.2 FDNODE.CTL . . . . . . . . . . . . . . . . . . . . . 35 5.5.3 Treatment of points . . . . . . . . . . . . . . . . . 36 5.5.4 Remapping . . . . . . . . . . . . . . . . . . . . . . 36 5.5.5 POINTNET . . . . . . . . . . . . . . . . . . . . . . 36 5.6 Sharing the nodelist . . . . . . . . . . . . . . . . . . . 37 6 Modems and FOSSIL drivers . . . . . . . . . . . . . . . . . . . . 38 6.1 Basic configuration . . . . . . . . . . . . . . . . . . . . 38 Hardware . . . . . . . . . . . . . . . . . . . . . . . . . 38 Serial port . . . . . . . . . . . . . . . . . . . . . . 38 Locked port . . . . . . . . . . . . . . . . . . . . . . 38 Maximum baud rate . . . . . . . . . . . . . . . . . . . 38 Reset modem to connect speed . . . . . . . . . . . . . 39 Lower DTR when busy . . . . . . . . . . . . . . . . . . 39 Lower DTR to terminate call . . . . . . . . . . . . . . 39 Toggle DTR before dialing . . . . . . . . . . . . . . . 39 Carrier detect mask (CDMASK) . . . . . . . . . . . . . 39 Connect messages . . . . . . . . . . . . . . . . . . . . . 39 Status messages . . . . . . . . . . . . . . . . . . . . . . 39 Custom message . . . . . . . . . . . . . . . . . . . . . . 39 Command strings . . . . . . . . . . . . . . . . . . . . . . 40 Escape code . . . . . . . . . . . . . . . . . . . . . . 40 Return on-line . . . . . . . . . . . . . . . . . . . . 40 On-hook . . . . . . . . . . . . . . . . . . . . . . . . 40 Off-hook . . . . . . . . . . . . . . . . . . . . . . . 40 Dial . . . . . . . . . . . . . . . . . . . . . . . . . 40 Suffix . . . . . . . . . . . . . . . . . . . . . . . . 41 Delay . . . . . . . . . . . . . . . . . . . . . . . . . 41 Init-1..Init-3 . . . . . . . . . . . . . . . . . . . . 41 Down . . . . . . . . . . . . . . . . . . . . . . . . . 41 Reset . . . . . . . . . . . . . . . . . . . . . . . . . 41 Answer control . . . . . . . . . . . . . . . . . . . . . . 41 Manual answer . . . . . . . . . . . . . . . . . . . . . 41 Fax . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 6.2 Advanced configuration . . . . . . . . . . . . . . . . . . 42 6.3 The Modem Manager . . . . . . . . . . . . . . . . . . . . . 42 An example, the HST/DS . . . . . . . . . . . . . . . . . . 43 6.4 FOSSIL drivers . . . . . . . . . . . . . . . . . . . . . . 43 BNU . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 X00 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 OS/2 2.x . . . . . . . . . . . . . . . . . . . . . . . . . 45 7 Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 7.1 The Event Manager . . . . . . . . . . . . . . . . . . . . . 46 7.1.1 External event behavior . . . . . . . . . . . . . . . 47 7.1.2 Mail event behavior . . . . . . . . . . . . . . . . . 48 7.1.3 The @ event . . . . . . . . . . . . . . . . . . . . . 50 7.1.4 Overlapping events . . . . . . . . . . . . . . . . . 51 8 Mailer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 8.1 Menus . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 8.1.1 Programs . . . . . . . . . . . . . . . . 52 8.1.2 Utilities . . . . . . . . . . . . . . . . 52 8.1.3 Mail . . . . . . . . . . . . . . . . 53 8.1.4 Your profile . . . . . . . . . . . . . . . . . . . . 54 8.2 Mail queue . . . . . . . . . . . . . . . . . . 55 8.3 Call progress . . . . . . . . . . . . . . . . . . . . . . . 56 8.4 Semaphore indicators . . . . . . . . . . . . . . . . . . . 56 8.5 Undialable . . . . . . . . . . . . . . . . . . . . . . . . 56 9 Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 9.1 Main . . . . . . . . . . . . . . . . . . 57 9.2 Edit . . . . . . . . . . . . . . . . . . 58 9.2.1 Edit mode . . . . . . . . . . . . . . . . . . 59 9.2.2 Toggle . . . . . . . . . . . . . . . . . 60 9.3 Utilities . . . . . . . . . . . . . . . . . . 60 9.4 Purge . . . . . . . . . . . . . . . . . . 61 9.5 Help . . . . . . . . . . . . . . . . . . 62 9.6 Entering new messages . . . . . . . . . . . . . . . . . . . 63 9.7 Message survey . . . . . . . . . . . . . . . . . 63 9.7.1 Main menu . . . . . . . . . . . . . . . . . . . . . . 63 9.7.2 Continuous tagging . . . . . . . . . . . . . . . . . 64 9.7.3 Range select . . . . . . . . . . . . . . . . . 64 9.8 Keyboard macros . . . . . . . . . . . . . . . . . . . . . . 65 Examples . . . . . . . . . . . . . . . . . . . . . . . . . 65 9.9 Carbon copies (CC) . . . . . . . . . . . . . . . . . . . . 66 9.9.1 Hidden CC's . . . . . . . . . . . . . . . . . . . . . 67 9.9.2 Using files as input to CC's . . . . . . . . . . . . 67 9.9.3 Address expansion . . . . . . . . . . . . . . . . . . 67 9.10 Blind Carbon Copies (BCC) . . . . . . . . . . . . . . . . 67 9.11 Cross-posting (XC) . . . . . . . . . . . . . . . . . . . . 67 10 Terminal . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 10.1 Menus . . . . . . . . . . . . . . . . . . . . . . . . . . 69 10.1.1 File . . . . . . . . . . . . . . . . 69 10.1.2 Line settings . . . . . . . . . . . . . . 70 10.1.3 Session . . . . . . . . . . . . . . . . 71 10.1.4 Options . . . . . . . . . . . . . . . . 73 10.2 Keyboard macros . . . . . . . . . . . . . . . . . . . . . 73 10.3 Raw mode . . . . . . . . . . . . . . . . . . . . . . . . . 73 10.4 Keypad modes . . . . . . . . . . . . . . . . . . . . . . . 74 10.5 PC keyboards . . . . . . . . . . . . . . . . . . . . . . . 74 10.6 Phone directory . . . . . . . . . . . . . . . . 74 10.6.1 Queue status . . . . . . . . . . . . . . . . . . . . 75 10.6.2 Adding/changing entries . . . . . . . . . . . . . . 76 10.7 Inactivity timer . . . . . . . . . . . . . . . . . . . . . 76 10.8 File transfers . . . . . . . . . . . . . . . . . . . . . . 76 10.9 On-line timer . . . . . . . . . . . . . . . . . . . . . . 76 11 Miscellaneous . . . . . . . . . . . . . . . . . . . . . . . . . 77 11.1 Destination of messages . . . . . . . . . . . . . . . . . 77 11.1.1 Name look-ups . . . . . . . . . . . . . . . . . . . 77 11.1.2 Address browsing . . . . . . . . . . . . . . . . . . 77 11.1.3 Address macros (NAMES.FD) . . . . . . . . . . . . . 77 12 File Requests . . . . . . . . . . . . . . . . . . . . . . . . . 79 12.1 Outbound Requests . . . . . . . . . . . . . . . . . . . . 79 12.2 Requesting files with a password . . . . . . . . . . . . . 79 12.3 Requesting files from foreign file systems . . . . . . . . 80 12.4 Update Requests . . . . . . . . . . . . . . . . . . . . . 80 12.5 Inbound Requests . . . . . . . . . . . . . . . . . . . . . 80 12.5.1 Request modes . . . . . . . . . . . . . . . . . . . 80 Anyone can request . . . . . . . . . . . . . . . . . . 80 Systems in nodelist can request . . . . . . . . . . . . 81 No requests . . . . . . . . . . . . . . . . . . . . . . 81 12.5.2 Directory listings . . . . . . . . . . . . . . . . . 81 12.5.3 Alias listings . . . . . . . . . . . . . . . . . . . 81 12.5.4 Response message . . . . . . . . . . . . . . . . . . 81 12.5.5 Limiting Requests . . . . . . . . . . . . . . . . . 82 Maximum match . . . . . . . . . . . . . . . . . . . . . 82 Maximum time . . . . . . . . . . . . . . . . . . . . . 82 Maximum size . . . . . . . . . . . . . . . . . . . . . 82 Minimum speed (BPS) . . . . . . . . . . . . . . . . . . 82 12.5.6 Limited hours . . . . . . . . . . . . . . . . . . . 82 Limited . . . . . . . . . . . . . . . . . . . . . . . . 83 Start . . . . . . . . . . . . . . . . . . . . . . . . . 83 End . . . . . . . . . . . . . . . . . . . . . . . . . . 83 Days . . . . . . . . . . . . . . . . . . . . . . . . . . . 83 12.5.7 Event restrictions . . . . . . . . . . . . . . . . . 83 12.5.8 Protecting files and directories . . . . . . . . . . 83 12.5.9 Request processor . . . . . . . . . . . . . . . . . 84 13 Swapping . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 13.1 Complete path specifications . . . . . . . . . . . . . . . 85 13.2 Loading programs in a DOS shell . . . . . . . . . . . . . 85 14 CRT environments . . . . . . . . . . . . . . . . . . . . . . . . 86 15 Message Status Bits . . . . . . . . . . . . . . . . . . . . . . 87 Private . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87 Crash . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87 Hold . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87 File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87 File request . . . . . . . . . . . . . . . . . . . . . . . . . 87 Update request . . . . . . . . . . . . . . . . . . . . . . . . 87 Kill/sent . . . . . . . . . . . . . . . . . . . . . . . . . . . 87 Trunc/sent . . . . . . . . . . . . . . . . . . . . . . . . . . 88 Delete/sent . . . . . . . . . . . . . . . . . . . . . . . . . . 88 Direct . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88 Immediate mail . . . . . . . . . . . . . . . . . . . . . . . . 88 Lock . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88 Sent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88 No status . . . . . . . . . . . . . . . . . . . . . . . . . . . 88 16 Mail routing . . . . . . . . . . . . . . . . . . . . . . . . . . 89 16.1 Default routing . . . . . . . . . . . . . . . . . . . . . 89 16.2 Message status . . . . . . . . . . . . . . . . . . . . . . 89 16.3 Host/Hub/Boss routing . . . . . . . . . . . . . . . . . . 90 16.4 Qualifying systems . . . . . . . . . . . . . . . . . . . . 90 16.5 Route commands . . . . . . . . . . . . . . . . . . . . . . 91 16.6 LIST specifications . . . . . . . . . . . . . . . . . . . 93 16.7 Using nodelist flags . . . . . . . . . . . . . . . . . . . 93 16.8 File routing/forwarding . . . . . . . . . . . . . . . . . 94 16.9 Message forwarding . . . . . . . . . . . . . . . . . . . . 94 16.10 Multiple zones . . . . . . . . . . . . . . . . . . . . . 94 16.11 Examples . . . . . . . . . . . . . . . . . . . . . . . . 95 16.12 Dynamic packing . . . . . . . . . . . . . . . . . . . . . 96 16.13 Regarding points . . . . . . . . . . . . . . . . . . . . 96 16.14 Order of evaluation . . . . . . . . . . . . . . . . . . . 96 16.15 TARGET vs. qualification . . . . . . . . . . . . . . . . 97 16.16 Restrictions . . . . . . . . . . . . . . . . . . . . . . 97 16.17 Macros . . . . . . . . . . . . . . . . . . . . . . . . . 97 MYZONE . . . . . . . . . . . . . . . . . . . . . . . . . . 97 MYNET . . . . . . . . . . . . . . . . . . . . . . . . . . . 97 MYPOINTS . . . . . . . . . . . . . . . . . . . . . . . . . 97 16.18 Supported nodelist flags . . . . . . . . . . . . . . . . 97 17 EMSI and IEMSI . . . . . . . . . . . . . . . . . . . . . . . . . 98 17.1 Passwords . . . . . . . . . . . . . . . . . . . . . . . . 98 17.2 Mail . . . . . . . . . . . . . . . . . . . . . . . . . . . 98 17.3 IEMSI . . . . . . . . . . . . . . . . . . . . . . . . . . 98 18 Script language . . . . . . . . . . . . . . . . . . . . . . . . 99 18.1 What can I do with it? . . . . . . . . . . . . . . . . . . 99 18.2 Commands . . . . . . . . . . . . . . . . . . . . . . . . . 99 18.3 Labels . . . . . . . . . . . . . . . . . . . . . . . . . . 103 18.4 Node block . . . . . . . . . . . . . . . . . . . . . . . . 104 18.5 PC Pursuit . . . . . . . . . . . . . . . . . . . . . . . . 104 18.6 How do I update PCP.DAT? . . . . . . . . . . . . . . . . . 104 18.7 MNEMONICS . . . . . . . . . . . . . . . . . . . . . . . . 104 19 FDSERVER . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106 19.1 What is a FDSERVER request? . . . . . . . . . . . . . . . 106 19.2 Request message . . . . . . . . . . . . . . . . . . . . . 106 19.2.1 Internal commands . . . . . . . . . . . . . . . . . 106 19.3 Using it . . . . . . . . . . . . . . . . . . . . . . . . . 107 19.4 Keeping calls to a minimum . . . . . . . . . . . . . . . . 108 19.5 Security . . . . . . . . . . . . . . . . . . . . . . . . . 108 20 Service requests . . . . . . . . . . . . . . . . . . . . . . . . 109 20.1 Service requests vs FDSERVER . . . . . . . . . . . . . . . 109 20.2 Setting up . . . . . . . . . . . . . . . . . . . . . . . . 109 20.3 ^ - + ? . . . . . . . . . . . . . . . . . . . . . . . . . 110 20.4 Security . . . . . . . . . . . . . . . . . . . . . . . . . 110 20.5 A word of wisdom . . . . . . . . . . . . . . . . . . . . . 110 21 Global command-line switches . . . . . . . . . . . . . . . . . . 111 21.1 A word of wisdom . . . . . . . . . . . . . . . . . . . . . 115 22 Environment variables . . . . . . . . . . . . . . . . . . . . . 116 22.1 FDOPT . . . . . . . . . . . . . . . . . . . . . . . . . . 116 22.2 FDSWAP . . . . . . . . . . . . . . . . . . . . . . . . . . 116 22.3 POINTNET . . . . . . . . . . . . . . . . . . . . . . . . . 116 22.4 FMOVR and FDOVR . . . . . . . . . . . . . . . . . . . . . 116 22.5 TZUTC . . . . . . . . . . . . . . . . . . . . . . . . . . 116 23 Semaphore files . . . . . . . . . . . . . . . . . . . . . . . . 118 24 Batch files . . . . . . . . . . . . . . . . . . . . . . . . . . 121 24.1 Errorlevels . . . . . . . . . . . . . . . . . . . . . . . 121 24.2 Categories . . . . . . . . . . . . . . . . . . . . . . . . 121 24.3 Loading BBS software . . . . . . . . . . . . . . . . . . . 121 24.4 Different labels . . . . . . . . . . . . . . . . . . . . . 122 24.5 Same label . . . . . . . . . . . . . . . . . . . . . . . . 123 24.6 DOBBS.BAT . . . . . . . . . . . . . . . . . . . . . . . . 123 24.7 EXEBBS.BAT . . . . . . . . . . . . . . . . . . . . . . . . 124 24.8 Flow (batch files) . . . . . . . . . . . . . . . . . . . . 125 24.9 EXEFAX.BAT . . . . . . . . . . . . . . . . . . . . . . . . 125 25 Multi-tasking . . . . . . . . . . . . . . . . . . . . . . . . . 126 25.1 NS16550 . . . . . . . . . . . . . . . . . . . . . . . . . 126 25.2 DESQview . . . . . . . . . . . . . . . . . . . . . . . . . 126 25.3 DoubleDOS . . . . . . . . . . . . . . . . . . . . . . . . 127 25.4 Multilink . . . . . . . . . . . . . . . . . . . . . . . . 128 26 Converting from other mail systems . . . . . . . . . . . . . . . 129 27 Help systems . . . . . . . . . . . . . . . . . . . . . . . . . . 130 28 Sample (PCP) script . . . . . . . . . . . . . . . . . . . . . . 131 29 Commercial inquiries . . . . . . . . . . . . . . . . . . . . . . 134 30 Developer notes . . . . . . . . . . . . . . . . . . . . . . . . 135 31 Technical specifications . . . . . . . . . . . . . . . . . . . . 135 32 Credits . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135 1 FRONTDOOR SHAREWARE VERSION LICENCE AGREEMENT - "FFHA194k" 1. This is a licence agreement between you, the end user, and Joaquim Homrighausen, hereafter "the author". The FrontDoor 2.12 Shareware software and information attached hereto, hereafter "FD", is the property of the author. Read the terms and conditions of this licence agreement carefully before using the software. If you for any reason, whatsoever, cannot accept the conditions in this agreement, you are not permitted to use FD. 2. You acknowledge and agree that FD is a proprietary product of the author, protected by applicable copyright laws and international treaty provisions. You further acknowledge and agree that all rights, title, and interest in and to FD are and shall remain with the author. 3. FD may be used for a period of thirty (30) days on a trial basis to allow you to determine its suitability for your particular application. After this period you MUST register each copy of FD that you run simultaneously. 4. Registration entitles you to a non-transferable licence to use FD and any future versions of FD for as long as you wish, subject to any special licensing conditions and/or applicable upgrade fees attached to future versions. 5. In the event that you are in violation of this licence agreement, you agree and accept that the author may cancel your registration and any rights to use FD that you may have. In the case of a dispute over the licence agreement, you further agree and accept to fully reimburse the author for legal and other expenses resulting from the dispute, should the dispute be decided in favor of the author. 6. FD is provided "as is", without warranty of any kind or fitness for a particular purpose, either expressed or implied, all of which are hereby explicitly disclaimed. The author only guarantees that FrontDoor will occupy disk space. The author's liability resulting from your use or inability to use FD is limited to the amount that the affected party has paid for it, or in the event that FD was registered with a third party for payment to the author, liability is limited to the amount that was received by the author from that third party. 7. Neither the author nor any of his employees, agents, or other representatives are in any way obligated to provide future versions of, or support for, FD. 8. You may freely distribute and copy FD provided that no fee is charged and the FD distribution archive contains unmodified copies of the original files as produced by the author. Pay Bulletin Board Systems may, however, charge their normal fee provided that no additional charge for FD is levied. No part of FD may be modified, altered, reverse engineered, sold, or distributed in any form whatsoever which would involve some sort of trade without prior written permission from the author. 1 9. FD may only be used and registered, with taxed personal income, by physical persons for use on equipment, including but not limited to telephone lines, electricity, hardware, and software, maintained and operated 100% by means of taxed personal income. FD may not be used to provide commercial services. 10. Place of jurisdiction is the Grand Duchy of Luxembourg and this agreement is subject to the law and regulations of the Grand Duchy of Luxembourg. In the case of any of the provisions of this agreement not being legally effective or losing its legal validity due to some subsequent circumstance, or in the case of a gap in this agreement coming into light, the legal validity of the remaining provisions will not be affected. An appropriate regulation is to take place of the ineffective provisions or fill the gap, which as far as legally possible, comes nearest to fulfilling the intentions of the author had he considered the matter in question. If the invalidity of a provision is due to a scale of the performance contained therein, then a legally permissible scale is to be inserted with due regard to the aforesaid. All Joaquim Homrighausen products are trademarks or registered trademarks of Joaquim Homrighausen. Other brand and product names are trademarks or registered trademarks of their respective holders. Copyright 1986-1994 Joaquim Homrighausen; All rights reserved. Absolute Solutions March 2, 1994 2 2 Preface as used in FrontDoor indicates that the feature is only available in the commercial version; <+> indicates that the feature is only available in the registered shareware version. Footnote references are indicated by a number between double forward slashes, i.e. //nn//. Welcome to FrontDoor, the complete e-mail package. It is probably safe to say that an e-mail package, such as FrontDoor, is one of the most complex types of applications around. This manual is very straight forward and may seem hard to understand at first glance. If you get lost, or cannot understand something, go back and read the section you are having problems with, carefully. FrontDoor has been tested on more than four thousand systems for over six years. It will run under MS or PC DOS versions 3.1 and above; including OS/2 1.3, 2.0, and 2.1 DOS Mode. It runs under most LAN software; including Novell and LANtastic. It also runs under PC-MOS/386, VM/386, Windows, Windows NT, Novell DOS 7.x, and in other multi-tasking environments such as DESQview. For technical specifications, see "Technical specifications". Although FrontDoor will run on most machines, there are a few restrictions and requirements. 2.1 Hardware requirements o An IBM PC, AT, i386, i486, PS/2 or 100% BIOS compatible. o A hard disk with at least 1 MB available disk space. o An asynchronous modem capable of sending alphanumeric messages such as CONNECT 2400 //1//. o A DTE (computer-modem) interface that supports CTS/RTS handshaking (most cables/internal modems do). o A monochrome or color monitor. o 384 KB of system memory. 2.2 Software requirements o MS or PC DOS 3.10 or above. o A FOSSIL driver such as X00, BNU, OpusComm, cFos, VX00, DGFossil, or VFD. 2.3 Additional equipment FrontDoor can take advantage of, but does not require, the following: o EMS memory for overlays and EMS/XMS memory for program image swapping. ____________________ //1// An ISDN adapter in combination with a FOSSIL driver that supports the ISDN adapter may be used in place of a modem. cFos is one such FOSSIL driver. 3 o EGA/VGA extended screen modes such as 80x43/50 and 132x28. o AT-style (extended) keyboard. 2.4 BBS software FrontDoor can be used as a front-end to many popular bulletin boards including TUBBS, PC Board, RemoteAccess, Maximus-CBCS, TCL, TPBoard, QuickBBS, SuperBBS, Phoenix RCS, Fido, Opus-CBCS, ProBoard, TPCS, and WildCat!. 4 3 Installation Several files are included in the distribution archive. This manual will walk you through the installation and configuration of the system. All path names and directories suggested here are not required. You can change them as you wish, but it is suggested that you use the examples shown for a start and then move on to change things as you become more familiar with the software. In the example, it is assumed that you are about to install FrontDoor on your C drive. 3.1 CONFIG.SYS FrontDoor needs to have a few extra file handles allocated to keep some files open. Your CONFIG.SYS file should contain FILES=25 (or higher). If you do not know what handles means, that is okay, as long as you have the FILES=25 statement in your CONFIG.SYS file. If you are using multi-tasking software, your FILES= setting must usually be set to something higher than 25. You should also have BUFFERS=30 (or higher) in your CONFIG.SYS file to improve DOS' buffer performance. If you are using a disk cache, you should have BUFFERS=3 or something close to that. 3.2 AUTOEXEC.BAT Add SET FD=C:\FD to your AUTOEXEC.BAT file. This allows FrontDoor to find its system files even if you start it from another directory. You may NOT have spaces between FD and =. 3.3 Directories From your root directory (C:\) create a directory called FD. This is the main (ROOT) directory for FrontDoor. Change the active directory to FD. Create the following directories: NODELIST MAIL PACKETS FILES 3.4 Files Copy FD.EXE, FD.OVR, FM.EXE, FM.OVR, FDNC.EXE, FDNC.OVR, and FDSETUP.EXE to C:\FD. The program files are now installed. 3.5 FidoNet If you are joining (or already are active in) FidoNet, you should obtain a copy of a recent FidoNet nodelist. The FidoNet nodelist can be found on many FidoNet systems under the name NODELIST followed by a numerical extension, e.g. NODELIST.035. Place the uncompressed nodelist ASCII file in the C:\FD\NODELIST directory. 5 4 Setup The Setup program, FDSETUP hereafter, is used to configure FrontDoor. Most functions and behavior of the Editor (FM), Mailer (FD), and Terminal are controlled from FDSETUP. When you start FDSETUP, it searches for the system file, SETUP.FD, in the directory pointed to by the FD environment variable. If the FD variable has not been set, FDSETUP searches the current directory for SETUP.FD. If it cannot open SETUP.FD, it will ask you if you want to create a new file or abort. 4.1 FD environment variable The FD environment variable specifies where FDSETUP should search for SETUP.FD. It is recommended that you add SET FD= to your AUTOEXEC.BAT or other startup file. This allows FDSETUP, and the other FrontDoor programs, to locate SETUP.FD without having to be in the same directory. E.g. SET FD=C:\FD 4.2 FD.SYS <> SETUP.FD The system file used by some earlier (1.99c and 2.00) versions of FrontDoor is called FD.SYS. Some FrontDoor specific utilities (TosScan 1.00 for example) and other programs may therefore require that you maintain a copy of FD.SYS. If you are using such software, make sure you copy SETUP.FD to FD.SYS in the FrontDoor root directory. 4.3 Getting started To create a new SETUP.FD file, make the FrontDoor root directory the active directory by using the DOS command CD; type FDSETUP and press Enter. If you have set the FD variable, you do not have to change the active directory before invoking FDSETUP. FDSETUP will display a message saying something like "SETUP.FD, path or file not found". Press to create a new file. 4.4 Menus There are eight top-level (pull-down) menus. Each function and menu of FDSETUP will now be described. 4.4.1 File Write SETUP.FD 6 Forces FDSETUP to write the configuration file, SETUP.FD, to disk. This allows you to commit any changes you have made to your configuration without leaving FDSETUP. Shell to DOS Invokes a temporary DOS shell. Type EXIT and press to return to FDSETUP. You can invoke a temporary DOS shell in FDSETUP by pressing in the middle of input fields, pull-down menus, selection fields, etc. Exit Returns you to DOS or the Mailer, depending on how FDSETUP was invoked. If you made any changes to your configuration, you will be asked if you want to make your changes permanent or abandon them. You can also exit FDSETUP by pressing at any of the top-level menus. Enter your code Allows you to enter the registration code required to activate some registered-only features. Once you have successfully entered your registration code, FDSETUP will not allow you to enter it again. 4.4.2 Global Address Address Defines your network address and alternate network addresses, or "also-known-as" (AKA). You must define at least one network address (the first slot). Site info Defines your system's name, geographical location, telephone number, maximum speed, nodelist flags, and the name of your BBS software (if any). The telephone number should be specified in international format, e.g. +352 316702, or "-Unpublished-" if you do not wish to reveal this information to other systems. Domains Specifies the name of a network zone. This should be "fidonet" for all FidoNet Zones (currently 1 through 6). At the moment, this is only used for the generation of the ^AMSGID: kludge line and for inserting "^aVia" information in messages forwarded by the Mailer (FD). AKA.. 7 Allows you to specify which AKA to use when corresponding with certain zones and nets within zones. I.e. if you are writing a message to someone in zone 2 and you have specified that you wish to use your 2:270/17 AKA for this, the Editor will automatically use 2:270/17 regardless of your current AKA setting. This allows you to easily participate in multiple networks. Filenames System Where the FrontDoor system files are stored. This should NOT be a RAM disk. If you have followed the installation instructions above, this should be C:\FD. NetMail Where NetMail messages are stored, i.e. the NetMail folder. The Mailer unpacks received messages to this directory. This should NOT be a RAM disk. If you have followed the installation instructions above, this should be C:\FD\MAIL. Files Where inbound (received) files are stored. This should NOT be a RAM disk. If you have followed the installation instructions above, this should be C:\FD\FILES. SecFiles Identical to Files above except that it is only used to store files received during a secure (password protected) mail session. If SecFiles isn't specified, the Mailer will use the path specified for Files. Packets Where the Mailer stores its temporary mail packets. They are created every time the Mailer runs a mail event and are removed when the event ends. By putting the Packet directory on a RAM disk, you can greatly improve the speed of packing and scanning outbound mail. It is recommended that you use a sub-directory on your RAM disk since the number of directory entries in the root directory of a drive is usually limited to a fairly low number. If you have followed the installation instructions above, this should be C:\FD\PACKETS. Log file 8 The log file. This is a complete filename, e.g. C:\FD\FD.LOG. This is used by the Mailer (and can be used by the Terminal in the registered version) to log its activities such as received and sent files, call progress, etc. You should NOT use a RAM disk for the log file as it will disappear if the system reboots. Banner The contents of this file is displayed to human (interactive) callers before the Mailer passes control to your batch file to invoke the BBS software. This file is not used if you are running in mail-only mode. You should NOT use a RAM disk for the banner file. Nodelist Where the nodelist database is stored. The Nodelist Compiler (FDNC) expects to find its control file(s) here. The Mailer and Editor expects to find the compiled nodelist database here. If this directory is not specified, FrontDoor will use the SYSTEM directory instead. The nodelist directory should NOT be located on a RAM disk. If you have followed the installation instructions above, this should be C:\FD\NODELIST. No BBS This file is displayed to human callers if the Mailer rejects their call. I.e. if you are running in mail-only mode or if a mail event prevents interactive access to your BBS. MSG Base Where the Editor expects to find the Hudson Message Base files (MSGHDR.BBS, MSGTXT.BBS, MSGINFO.BBS, MSGIDX.BBS, MSGTOIDX.BBS and LASTREAD.BBS). If you do not have any folders with MsgBase status, you do not have to specify this. Swapping If you enable swapping to disk or there is not sufficient XMS/EMS memory available. The Mailer and the Editor will use this directory to store their swap files. This setting can be overridden by the FDSWAP environment variable (see "Environment variables"). Semaphore Where the Mailer and Editor creates and looks for the various semaphore files (see "Semaphore files"). This allows you to configure a multi-line and/or multi-user system with different configurations to use the same semaphore directory. MailExit 9 If specified, this file is created by the Mailer when it has received mail and would normally have terminated with an errorlevel indicating that mail has been received. In a multi-line and/or multi-tasking environment, this could be used to automatically invoke mail processing software and run it in the background while the Mailer continues its operation. General Your country code Your country code (e.g. USA=1, Sweden=46, Luxembourg=352). This is used for telephone number translations. This is related to the COUNTRY= command used in CONFIG.SYS. It does not, however, have to be the same as your COUNTRY= setting. FDSETUP's country code setting should always be your real country code. Screen flickers FrontDoor attempts to detect if you have a CGA card that causes flicker if software performs direct memory access (DMA). The default for this setting is NO and you should leave it alone unless you are seeing flicker on your screen when you use the Mailer, Editor, and/or the Terminal. Use "fastkey" Forces the Mailer, Editor, and the Terminal to speed up the typematic rate of your keyboard. This is only valid for machines with an AT- or compatible BIOS installed. If you are using other keyboard speed-up utilities, leave this to NO; otherwise, the FrontDoor programs will restore the typematic rate to the default (slow) when they terminate. Screen blanking Prevents screen images from "burning in". If you are using a monochrome monitor, data that is displayed often in the same location on your screen can "burn in" and leave ugly marks. Color monitors usually do not have this problem. Since the Mailer is active more than 80% of the day on most systems, it may be wise to enable this option to avoid "burn ins" of the Mailer's main display. Blackout timer Specifies how many seconds of inactivity should pass before the screen is blanked. This option is only used if screen blanking (previous page) has been enabled. You can "light up" a blanked screen by pressing a key. The screen will also be lit when the Mailer places outgoing calls and when incoming calls are answered. 10 Extended keyboard Specifies which type of keyboard you have (101/102 or 83/84). FDSETUP will attempt to "guess" which type of keyboard you have, but some BIOS flavors does not properly indicate the type. This allows you to override what FDSETUP detects. Force 24-hour fmt Allows you to force the Mailer and the Editor to display the time in 24-hour format even if you are located in a country that uses the 12-hour format, such as the USA. Monochrome mode Forces FDSETUP to assume monochrome color mode (as if you would have specified FDSETUP /M on the DOS command-line). Users Allows you to specify user names and access levels. The default name of the first user is System Operator. You should change this to your own name. <+> There are three different access levels. Supervisor, Administrator and User. //1// A user with Supervisor access can override any restrictions on folders and messages. He/she can also change all settings regardless of passwords. You should only have one user with Supervisor access, but FDSETUP will allow you to define more than one. At least one user with Supervisor access MUST exist and is required to add any additional users. A user with Administrator access cannot override any restrictions on folders and messages. He/she has to enter passwords for protected items before they can be changed. A user with User access cannot override any restrictions on folders and messages. The only setting he/she can change in FDSETUP is his/her own password. 4.4.3 Mailer Miscellaneous <+> Mail from unlisted systems Defines whether or not the Mailer should accept incoming calls from systems not listed in your nodelist database. If ____________________ //1// The unregistered shareware version only allows you to define one user and forces the access level to that of Supervisor. 11 this option is disabled (set to "NO") and an unlisted system calls in, the Mailer will terminate the call immediately. Mail from "unprotected" systems Defines whether or not the Mailer should accept incoming calls from systems for which you do not have a session level password defined. If this option is disabled (set to "NO") and an unprotected system calls in, the Mailer will terminate the call immediately. //1// <+> Mail from unlisted points The Mailer will by default accept calls from points of other systems whether or not they are present in your nodelist database; provided the point system's boss passes the required criteria. You can, however specify that you do not want the Mailer to accept calls from points that cannot be found in the nodelist database. If this option is disabled (set to NO) and a point for which you have no entry in your nodelist database calls in, the Mailer will terminate the call immediately. Kill empty received messages Specifies that you want the Mailer to kill empty messages (messages with no text in its body) when they are unpacked from received mail packets. Terminal only (no mail) If enabled, the Mailer will invoke the Terminal as soon as it is loaded. This setting can be overridden with the /M command-line switch. Mail only (no BBS) If enabled, the Mailer will not accept human callers under any circumstances. Use this option if you do not have a BBS or similar software running behind the Mailer. Match remote's zone The Mailer normally uses the AKA matching table to determine which AKA to present as your system's primary address when it is communicating with another system. This setting, when enabled, instructs the Mailer to attempt to determine which AKA should be presented as your primary address based on the remote system's primary address; this is not done if a match is made in the AKA matching table. ____________________ //1// Note that by using this option, you may be in violation of your network's policy statues. 12 Present all AKAs to remote system If you have more than one AKA address, the Mailer will by default attempt to pickup mail destined for all your addresses during a mail session. This can be disabled so that only one address is presented to the remote system. Which address is actually presented is determined by the AKA matching table and the setting of "Match remote's zone" (described above). Trigger exit upon receipt of netmail The Mailer will by default only trigger (set) the exit flag when compressed (following the ARCmail 0.60 standard) mail is received. If this option is enabled, the exit flag will be triggered (set) when NetMail packets (files ending with the extension .PKT) have been received. Whether or not the Mailer will actually exit is controlled by event behaviors (see "Events") and the mail exit errorlevels. Trigger exit upon receipt of ANY file Similar to the above option, but will trigger exit as long as any (file) data has been received. Print received messages If enabled, the Mailer will print messages unpacked from received mail packets. Busy retries Defines the maximum number of times the Mailer will attempt to call a system during an event (see "Events") if the system is busy or does not answer on the first call. See the section about the Mailer for further details regarding call progress. Resend retries Defines the maximum number //1// of times the Mailer will attempt to transfer mail to a system during an event if the first attempt fails. See the section about the Mailer for further details regarding call progress. Retry delay Defines the minimum number of seconds the Mailer will wait between outgoing calls. This is used in conjunction with a random timer to avoid two Mailers calling each other at the same time (and thus causing both telephone lines to be engaged). ____________________ //1// "Retries" means attempts after the first failed attempt. I.e. a setting of zero (0) means that at least one call will be placed. 13 Days to keep mail history Number of days to retain entries in the inbound/outbound history files. The Mailer removes all entries older than this value from the history files every morning (at first opportunity after midnight). Seconds before passing to BBS Defines the number of seconds the Mailer will wait before assuming a human caller. Unless the Mailer receives two consecutive escape (ASCII 27) characters, it will attempt to establish a mail session for the amount specified here. The default value is 30 seconds, the minimum and maximum values are 11 and 60 respectively. //1// Minimum undialable cost The minimum cost of a call for a system to be processed by the undialable handler. The undialable handler is discussed in a separate section. Honor Return Receipt Requests (RRQ) Specifies whether or not the Mailer should generate a Return Receipt for received messages with the RRQ flag set. The RRQ flag is discussed in the Editor section. Log Defines the various level of logging. All messages will appear on the screen, the log options defines which of them end up in the log file. File requests Controls how the Mailer treats inbound File and Update Requests. A separate section explains File and Update Requests in detail. <+> FDServer If no password is specified in FDSETUP, the FDSERVER function is inactive (disabled). The FDSERVER function is described in a separate section. External mail When the Mailer processes an incoming call, all received characters are processed for a possible match with any of the external mail "wake-up" sequences (strings), and if a match is ____________________ //1// Note that by setting this value too low, the Mailer may pass calls to the BBS, or other software, that are really mail calls; in particular when the established link suffers from line noise, etc. which would cause the modems to retrain in an attempt to maintain data integrity. 14 made, the Mailer exits with the specified errorlevel of the matching string. This allows you to run alternate mail handlers behind the Mailer, such as UFGATE and Waffle to process INTERNET/UUCP mail. Note that the call is not terminated when using the external mail interface, the Mailer simply exits with the specified errorlevel. This option is NOT intended for EchoMail processors, etc. To enter characters with an ASCII code below 32 (Space), hold down the key, enter the ASCII code on the numerical keypad and release the key. Display Mail waiting flashing When there is new mail waiting, the text "Mail" will flash on the Mailer screen. The flashing can be disabled with this option. Display clock Specifies whether or not you want the current date and time displayed in the top right corner of the Mailer screen. Display timestamp Specifies whether or not you want the Mailer to display the time to the left of each line displayed in the main activity window. This setting does not affect what is being written to the log file. Screen size 25 25 line mode. 43/50 43/50 line mode. Only available for systems with EGA and VGA cards. Auto Specifies that the Mailer should attempt to automatically adapt to whatever the current screen size is when it is started. This also means that the Mailer will not attempt to reset the screen mode when it is terminated. <+> Custom Allows you to specify computer register values to send to the INT 10h (Video BIOS) to set and reset the screen. 15 Colors Allows you to choose between the default monochrome (black and white) and the default color sets. You can also choose to customize the colors to your own taste. Hidden dial info Allows you to hide portions of telephone numbers that otherwise would be displayed when the Mailer places an outgoing call. E.g. The Mailer calls 352-316702, if you had one of the hidden dial info strings set to 352- the displayed number would be 316702. Function keys Allows you to define up to 20 (24) programs, etc. to invoke from the Mailer when any of the functions keys are pressed. The first 10 (12) function keys are accessed through - (F12), the second 10 (12) function keys are accessed through - (F12). //1// Title The title to appear on the screen when you press from the Mailer's main screen. This is also written to the log file when a function key is pressed. Action The program to invoke or errorlevel to exit with. To specify more than one program, separate them by semicolons (;). To exit with an errorlevel, specify ?. E.g. LIST C:\FD\FD.LOG;DEL C:\FD\FD.LOG would load the program LIST and pass C:\FD\FD.LOG as the parameter. When the LIST program terminates, the Mailer would proceed to the next command, which in this case removes C:\FD\FD.LOG. ?255 Would force the Mailer to terminate with an errorlevel of 255. Pause Specifies whether or not you want the Mailer to pause when the invoked program(s) terminates. Check ____________________ //1// To create a DOS shell that does not force a rescan of the NetMail folder, specify C:\COMMAND.COM (or wherever you have your copy of COMMAND.COM stored) as ACTION and set CHECK to NO. 16 Specifies whether or not the Mailer should rescan the NetMail folder when the invoked program(s) terminates. Swap Specifies whether or not the Mailer should swap itself out of memory prior to invoking the specified commands. Errorlevels This section allows you to invoke BBS software, or other similar software, when an incoming call is established and the Mailer has determined that it is not a mail call. It also allows you to define an errorlevel to exit with when mail has been received. If a baud rate related errorlevel is zero, the Mailer will display a message to human callers saying that your system does not support non-mail calls at that speed and then terminate the call. If you are running in mail-only mode, the Mailer will never accept non-mail (human) calls. If the RECEIVED MAIL errorlevel is zero, the Mailer will never exit when mail has been received. Whether or not the Mailer will actually exit when it has received mail is determined by the current event behavior and whether or not the received file(s) indicated mail. The CREATE .BAT FILE option allows you to simplify BBS operation. If it is enabled, the Mailer will create a batch file containing the current baud rate, the COM port used, the number of minutes left to the next system event, etc. This is described in a separate section. Audio control The Mailer can sound alarms and make other noises when certain events occur, such as received mail, incoming human callers, fatal errors, etc. This section allows you to control which sounds should be active and when audio should be active. Swapping Determines whether or not you want the Mailer to use swapping when executing external programs. You can disable the use of EMS/XMS memory for the swap function. The swap function is explained in the Miscellaneous section. Protection Allows you to protect certain functions of the Mailer, such as access to the DOS shell, Editor, Nodelist compiler, Terminal, etc. with a password. Fax Allows you to control how the Mailer should handle incoming fax calls. 17 4.4.4 Editor Miscellaneous Delete original (Conference) Delete original (Local) Delete original (NetMail) Determines if the Editor should ask "Delete original message" when replying to messages in EchoMail (Conference), Local, and NetMail-type folders. Show hard CRs If enabled, the Editor will show hard CRs in messages. The display of hard CRs is disabled by default and can be toggled from within the Editor. Margin Specifies the margin at which the Editor should automatically wrap text when you enter and quote (reply) messages. The default value, 60, should not be changed in most cases. When you read messages in the Editor, it will use all available columns (80, 132, etc.) as the wrap margin. Honor CFM Specifies whether or not the Editor should generate a Confirmation Return Receipt for received messages with the CFM (Confirmation Receipt Request) flag set. The CFM flag is discussed later in the Editor section. New mail semaphores Specifies whether or not the Editor should create the new mail semaphores FMNEWNET, FMNEWCNF, and FMNEWLOC upon exit when you have entered one or more messages. NetMail folder <+> Restricted Specifies if the NetMail folder should be restricted. If you enable this, users with User or Administrator access can only read private messages addressed to their user names. <+> Read-only Prevents users with User or Administrator access from writing messages in the NetMail folder. The definition of writing includes forwarding and moving of messages to the NetMail folder. <+> Export OK 18 Defines whether or not users with User or Administrator access can export messages from the NetMail folder. The definition of export includes moving, copying, and export to disk. Use tables Defines whether or not the translation tables should be active by default in the NetMail folder. This can be toggled from within the Editor. Crash If the Crash status bit should be set by default on locally created messages. Direct If the Direct status bit should be set by default on locally created messages. Hold If the Hold status bit should be set by default on locally created messages. Private If the Private status bit should be set by default on locally created messages. Kill/Sent If the Kill/sent status bit should be set by default on locally created messages. <+> Use Zonegates Determines if the Editor should ask you whether or not you want to send inter-zone messages via the zonegate, never send messages via the zonegate, or always send inter-zone messages via the zonegate. Keyboard macros Allows you to define up to 20 (24) strings. These can be used to insert common text, such as name signatures, etc. while editing messages. The first 10 (12) function keys are accessed through F1-F10 (F12), the second 10 (12) function keys are accessed through Shift F1-F10 (F12). The Editor macro language is discussed in the section about how to operate the Editor. Origin lines 19 Appended to messages you create in Conference-type folders to show the origin of a message. These should include the name and location of your system if possible. You can choose default origin lines for all Conference-type folders. You can also choose a different origin line from within the Editor. Whether or not the origin line is appended to messages you enter in Conference-type folders is controlled by the Echo info status bit for each folder. Display Screen size 25 25 line mode. 43/50 43/50 line mode. Only available for systems with EGA and VGA cards. Auto Specifies that the Editor should attempt to automatically adapt to whatever the current screen size is when it is are started. This also means that the Editor will not attempt to reset the screen mode when it is terminated. <+> Custom Allows you to specify computer register values to send to the INT 10h (Video BIOS) to set and reset the screen. Colors Allows you to choose between the default monochrome (black and white) and the default color sets. You can also choose to customize the colors to suit your own needs. Xlat.In and Xlat.Out Defines the translation tables to use wherever the translation table status bit is active. This is used to translate language specific 8-bit ASCII characters to 7-bit ASCII when writing messages to disk and vice versa when reading messages from disk. The In table is used when reading messages from disk and the Out table is used when writing messages to disk. FDSETUP automatically creates reasonable defaults for most countries when it creates a new SETUP.FD file. If you are located in an English speaking country, you do normally not have to worry about translation tables. 20 Swapping Determines whether or not you want the Editor to use swapping for its DOS shell. You can disable the use of EMS/XMS memory for the swap function. The swap function is explained in a separate section. Fax Settings related to internal fax support. 4.4.5 Terminal Miscellaneous Init An additional modem initialization string, sent to the modem as soon as the Terminal is started. If you start the Terminal directly from DOS (FD /TERM) or if you have enabled the Terminal-only option in FDSETUP, the Mailer's initialization strings are first sent to the modem. Download Default download path. Files that you receive (download) during a Terminal session will by default end up here. Upload Default upload path. Editor Allows you to install an Editor or file listing program and invoke it from the Terminal. The Terminal will prompt your for optional parameters, such as filenames, etc. This can also be used to invoke external protocols or external protocol menu programs. Protocol Zmodem, SEAlink, Telink, or Xmodem. Defines the default transfer protocol to use for file transfers in the Terminal. Emulation ANSI, TTY, VT100 or VT52. Defines the default Terminal emulation protocol to use in the Terminal. Note that the Terminal's ANSI protocol supports the AVATAR/0+ (AVT/0+) emulation protocol. AVATAR/0+ 21 Allows you to disable the support for AVATAR/0+ sequences in ANSI emulation. This can be toggled from within the Terminal. Buffer The size, in KB, of the scroll-back buffer. The scroll-back buffer stores information that has "rolled off" the top of the screen during Terminal sessions. Connect noise Whether or not the Terminal should make a noise when a connection has been established. Transfer noise Whether or not the Terminal should make a noise after file transfers. Use tables Whether or not the Terminal translation tables should be active by default. See Editor > Xlat.In for a detailed explanation of translation tables. Auto Zmodem Whether or not the automatic Zmodem download (receive) function should be enabled by default. Local echo Whether or not the Terminal should echo typed characters to your screen by default. Wrap around Whether or not the Terminal should move the cursor to the beginning of a new line when it reaches the end of the previous line. Delay Number of seconds to wait between outgoing calls if the number you dialed was busy or did not answer. If there is more than one entry in the dial queue, the delay is ignored and the Terminal proceeds to the next number in the queue. <+> Logging Allows you to enable logging of file transfers, dialed numbers, time spent on-line to systems, etc. Similar to the Mailer's log output. <+> Auto DW Mode 22 If enabled, the Terminal will intercept and act upon a special sequence that some software transmits when the Terminal needs to be in "raw keyboard mode" (see "Raw mode"). Timer enabled If enabled, the Terminal will automatically return to the Mailer (if you invoked the Terminal with ) after the specified amount of time has passed. As soon as you press a key, or the Terminal receives data from the modem, the timer is reset. Timer The value for the timer described above, specified in seconds. Display Screen size 25 25 line mode. 43/50 43/50 line mode. Only available for systems with EGA and VGA cards. Auto Specifies that the Terminal should attempt to automatically adapt to whatever the current screen size is when it is are started. This also means that the Terminal will not attempt to reset the screen mode when it is terminated. <+> Custom Allows you to specify computer register values to send to the INT 10h (Video BIOS) to set and reset the screen. Keyboard macros Allows you to define up to 20 (24) macro strings. These can be used to transmit common text, such as names and passwords, etc. The first 10 (12) function keys are accessed through - (F12), the second 10 (12) function keys are accessed through - (F12). This is referred to as the default macro set. To enter characters with an ASCII code below 32 (space), hold down the key, enter the ASCII code on the numerical keypad and release the key. Xlat.In and Xlat.Out 23 See Editor > Xlat.In for a detailed explanation of translation tables. The Xlat.In table is used for characters received from the modem (remote). The Xlat.Out table is used for characters typed on the keyboard. IEMSI Profile Defines the default IEMSI (Interactive Electronic Mail Standard Information) profile used to negotiate interactive EMSI sessions with BBS software supporting it. Active Determines whether or not IEMSI support should be active by default. Name The user name you wish to use. If this field is empty, the ACTIVE field (above) is automatically toggled to "NO". Handle The handle you wish to use, or empty if none. Password The password you wish to use. Hot-keys Quiet Pausing Editor News New mail New files Screen Clr Specifies default user profile options, allowing you to customize the BBS or on-line service's behavior. The Terminal allows you to configure separate profiles for each individual telephone number in the Terminal Phone Directory. 4.4.6 Modem This option is used to configure your modem for use with FrontDoor. Modems are discussed in a separate section. 4.4.7 Printer The printer configuration can only be changed in the commercial version. The shareware version defaults to using LPT1. 24 4.4.8 Manager The managers are used to define events, session level security, file protection (for file requests), your message folders, and strings to be sent to the modem when calling specific systems. All managers require that the SYSTEM path has been defined since they store their data files (EVENT.FD, PASSWORD.FD, REQUEST.FD and FOLDER.FD) in that directory. Event Manager Events are discussed in a separate section. Folder Manager Folders are used to define different areas (directories, or boards for the Hudson Message Base) so that you can use the Editor to read and write messages in those areas. The Editor only knows about one folder by default. It is defined in the Filenames section of FDSETUP (described above) and is referred to as the NetMail folder. The folder manager has two modes. The first is the view mode, which is self explanatory. The second mode is the edit/create mode and is accessed by pressing the Enter/Ins key depending on whether you want to edit an existing entry or create a new entry. It will now be described. Status The status and type of the folder. Origin The default origin line to use. This is only used for Conference-type folders with the Echo info status enabled. Origin lines are used to identify the origin of a message in Conference conferences. This is required because conference mail is not a point to point environment, like a telephone conversation or NetMail exchange. Mail conferences are usually widespread and can have an unlimited number of participating systems. Title The title appearing in the folder list when you select a new active folder in the Editor. Board/Path Depending on the type of the folder, this is either the Hudson Message Base board number or the DOS path (directory) where the messages for this folder should be stored. 25 <+> Users Defines which users should have access to this folder. If a user does not have access to a folder, it will not show up on his/her list of available folders. Password Defines whether or not access to the folder is protected by a password. You can allow users to access a folder, and then protect it with a password. Use AKA Defines which address (AKA) the Editor should use for the folder. This is only important for Conference-type folders with the Echo info status enabled. The address is a part of the origin line. Folder status Restricted If enabled, users can only read Private messages addressed to their user name. Public messages are not affected by this. Echo info Whether or not an origin line should be appended to newly created messages. See Origin (above) for more information. Export OK See NetMail folder > Export OK described above. MsgBase Specifies that the folder is of the Hudson Message Base type, rather than a directory with .MSG message files. The Hudson Message Base (HMB) is used by several BBS packages, such as RemoteAccess. Translate Enables the translation tables for the folder. They can be toggled on/off from within the Editor. Private Specifies that the Private status should be allowed (and the default) for messages created in the folder. This should NOT be used in Conference-type folders unless the conference explicitly allows this. Read-only 26 See "Netmail folder > Read-only" described above. No check Determines if the Editor should access the specified path when checking for unread mail. This allows you to create folders that hold messages on removable media, e.g. floppy disks, that are not always accessible to the Editor. Force CR Forces the Editor to append a hard CR to all lines instead of letting paragraphs flow. Some INTERNET mail environments require that the line length does not exceed a certain limit. Conference Defines the folder as a Conference folder (as opposed to a Local or NetMail-type folder). NetMail Defines the folder as a NetMail-type folder (as opposed to a Conference or Local-type folder). This enables nodelist look-ups, carbon copies, etc. Local Defines the folder as a Local folder (as opposed to a Conference or NetMail-type folder). This is usually used to access local BBS message areas. Security The security manager is used to define session level passwords for other systems. It can also be used to explicitly refuse File/Update Requests and Mail from a system, and to disable/enable specific protocol and handshake options to fine tune your outbound mail sessions. Session level passwords are used to protect the receiving (called) system in a mail session, and calling system during an outbound EMSI session, to ensure that the calling system really is what it appears to be. Anyone can setup a Mailer, like FrontDoor, and send you mail. If there is mail waiting for the address they are using, your system will by default attempt to send it. You should setup session level passwords for all your common mail links, such as conference mail distribution systems, etc. System The system address of the remote system, e.g. 2:270/17. 27 Password Defines the session level password that your system will present when calling the specified system and the password that your system requires to establish a mail session with the specified system. Note that some mailer software treat passwords case sensitive, i.e. ALLAN is not treated like AlLaN. The FrontDoor Mailer will treat passwords case insensitive on incoming (inbound) calls. They will, however, be sent EXACTLY as you have defined them here. You do not have to specify a password to use any of the other options. FREQs Whether or not the specified system is allowed to make File/Update Requests (see "File Requests"). Mail Whether or not your system will allow the specified system to call your system. //1// EMSI Whether or not you want the Mailer to attempt to negotiate an EMSI session when it calls the specified system. FTS-1 Whether or not you want the Mailer to attempt to negotiate an FTS-1 session when it calls the specified system. Zap Whether or not you want the Mailer to use the ZedZap/Zmodem protocol when negotiating an FTS-6 (YooHoo) session. If this is set to "NO", the DietIFNA protocol (Telink/SEAlink) will be used during YooHoo sessions with the specified system. YooHoo Whether or not you want the Mailer to attempt to negotiate an FTS-6 session when it calls the specified system. ____________________ //1// Note that by disabling (setting it to "NO") this option, you may be in violation of network policy. 28 Notes regarding protocols The Mailer will by default attempt to negotiate a mail session in the following order: 1. EMSI 2. FTS-6 (YooHoo), ZedZap/Zmodem 3. FTS-6 (YooHoo), DietIFNA 4. FTS-1 The Mailer will ignore any entries in the security manager with inactive status. Request Manager The request manager is used to protect file requests. File and Update Requests are discussed in a separate section. 29 5 The nodelist and the nodelist compiler The nodelist is FrontDoor's telephone directory and is used for several purposes. Among these are to allow you to perform name look-ups of other SysOps, to retrieve information about remote systems, such as the maximum supported baud rate, modem flags, and system capability flags, to check if a remote system is known to your system or should be treated as an unlisted system. The Mailer requires that a nodelist be present whereas the Editor and the Terminal can both be used without one, if so required. The typical FidoNet nodelist contains over 21000 systems and has a fairly straight forward structure as follows. Zone Usually a large geographical area, such as North America, Europe, Australia and New Zealand, etc. At the time of the release of this package, the following FidoNet Zone numbers have been allocated: 1 North America (including Canada) 2 Europe 3 Australia, Tasmania, and New Zealand 4 Latin America 5 Africa 6 Asia Region Usually a somewhat smaller geographical area, such as a country or part of a (large) country. A collection of regions make up one zone. Net Usually a collection of systems local to each other. Typically a city and in some cases including its suburbs. A collection of nets make up one region. Node A single system within a net. Point A single system belonging to a node. Typically, a point is similar to a user logging on to a BBS system using his/her terminal program, with the main difference being that a point performs most of his/her activities offline and use smart software to collect and transmit his/her mail. 5.1 Hosts and hubs The coordinator of a net is called the host or NC for Network Coordinator. The host is responsible for maintaining the nodelist segment for his/her net and to act as an inbound NetMail gateway for the systems in his/her net ("host routed mail"). 30 In a large net, it is quite common that "sub-hosts", called hubs, are set-up to aid in mail distribution within the net. In other words, a hub has the same function for systems in a network that a host has for (remote) systems outside the same network. 5.2 Compiling a nodelist Before FrontDoor can use the information in a nodelist, it must be compiled with the FrontDoor Nodelist Compiler (FDNC). FDNC will process the specified nodelist file(s) and generate database information and index files. The nodelist that FDNC needs to process is often referred to as the raw nodelist. It should not have been processed by Xlatlist, Parselst or a similar utility; but only be the nodelist you receive each week (if you are a FidoNet node) from your host. Grab a somewhat recent version of a nodelist and decompress it. Place the resulting file (such as NODELIST.228) in the NODELIST directory. Create a file called FDNODE.CTL with your a text Editor and place it in the same directory. You can also use the sample file included in the FrontDoor distribution package and modify it to suit your needs. 5.2.1 FDNODE.CTL FDNODE.CTL is FDNC's control file. It is used to control how FDNC processes the nodelist files, for dial translation and cost calculation. The order of commands does not matter. All commands are case insensitive. POINTLIST [BOSS] This option allows you to add points to your nodelist database. The optional BOSS address is required if FILENAME does not contain a BOSS entry and should not be specified if FILENAME contains a BOSS entry. If you only have one file with point entries, you can name it FDPOINT.PVT. FDNC will automatically use this file if it is found in the NODELIST directory. If you use one or more POINTLIST statements, FDNC will merge all specified files into FDPOINT.PVT, overwriting its contents. A separate chapter discusses the point concept. PVTLIST [ZONE] Similar to the POINTLIST command, but FILENAME contains one or more regular nodes. The optional ZONE number is required if FILENAME does not contain a ZONE entry and should not be specified if FILENAME contains a ZONE entry. The optional ZONE number is only supported for the first PVTLIST statement. FDNC accepts the POINT keyword in private nodelists. 31 If you only have one file with additional node entries, you can name it FDNET.PVT. FDNC will automatically use it if it is found in the NODELIST directory. Note that if you use one or more PVTLIST statements, FDNC will merge all specified files into FDNET.PVT, overwriting its contents. Note that FILENAME for POINTLIST and PVTLIST may contain wildcard characters (* and ?). FDNC will use the most recent (by comparing the timestamp of the matching files) file. SWEPULSE This command was added to handle the somewhat screwed up method Swedish pulse exchanges handles dialing. Most modem manufacturers uses the British standard for pulse dialing, which is not compatible with Swedish pulse dialing. If you use SWEPULSE in FDNODE.CTL, telephone numbers will be properly translated. Do NOT use this command unless you live in Sweden and have to use pulse dialing. PHONE
Some systems are listed as PVT (private) in the nodelist, in which case there is no telephone number available (the text -Unpublished- is used in place). This, of course, means that the Mailer cannot call a system listed as PVT. If you have the phone number of a PVT listed system, or wish to override the telephone number listed in the nodelist, you can use the PHONE command. ADDRESS is a fully qualified address (e.g. 2:270/17). NUMBER is an untranslated (raw) telephone number (e.g. 352-355-936). If the PHONE command is used, FDNC will remove possible DOWN, HOLD and PVT flags for the specified system. USE ZONE [ ..] This command controls which zones FDNC should include in the nodelist and user name index files. The default is to include all encountered zones. This does not affect the contents of raw nodelist files, only what information is written to the nodelist and user name indices. DIAL / / Indicates the start of the dial translation table. All four parameters are optional and are only used if no other translation applies for a telephone number. If you only want to use a national (NATL) prefix/suffix, you must specify the / character for the international (INTL) prefix/suffix to indicate no special treatment. The same applies if you only want to use an INTL prefix/suffix. ; prefix ; prefix/suffix ; /suffix 32 ; DIAL / 00 ; Add INTL prefix to all INTL ; numbers. 352- ; Strip country code 61- 0061-/X2 ; Send X2 to modem for ; Australia 46-8 /391 ; Append (suffix) 391 to all ; numbers in Stockholm ; Sweden. END END is required to terminate the dial translation table. If you need to strip the search value from a number, you do not have to put anything after it. In other words, if you need to strip 1-305-596 from all number, you enter that string with no translation. Comments are ignored and must be preceded by a semicolon. DIAL 12345-1- 00 .. .. END Would add (prefix) 12345-1- to all NATL numbers not otherwise translated. It would add (prefix) 00 to all INTL numbers not otherwise translated. DIAL /2222 00/1111 .. .. END Would append (suffix) 2222 to all NATL numbers not otherwise translated. It would add (prefix) 00 and append (suffix) 1111 to all INTL numbers not otherwise translated. The translation values (strings) do not have to contain number characters (0-9,.-). They can include commands such as "S25=100" etc. as long as your modem supports it. COST Indicates the start of the cost table. The two (default) parameters are NOT optional. The default cost only applies to numbers with no matching entry in the cost table. COST 5 125 ; NATL default=5, INTL=175 1- 75 ; Canada and the US 1-808- 125 ; Hawaii 46- 27 ; Sweden END An additional parameter can be added after the cost for a number entry indicating the maximum baud rate used. This is useful when calling locations with a lot of line noise etc. Please note that this does not work with several high-speed 33 modems such as the US Robotics Courier HST. You cannot force a HST modem to connect at 2400 with another HST modem by changing the baud rate. To compile your nodelist, type FDNC and press , or invoke the nodelist compiler from FD's main menu, . When FDNC is started, it will compare the date of the raw nodelist and its index files. If the dates match, and no update has been made to FDNODE.CTL, no compilation will be made and the program will ask "Nodelist files are up-to-date, compile anyway?". If you want to force compilation, run FDNC with the /F command-line switch. 5.3 Nodelist flags Most of the system entries in the nodelist contain one or more capability flags to indicate the system's capability. The Editor is capable of displaying, and the Mailer and Terminal are capable of using, any nodelist flag present in a system's nodelist entry. 5.4 Command-line switches /C Compile the nodelist if it (or FDNODE.CTL) has been updated since the last time it was compiled, otherwise exit directly. This is useful for compiling the nodelist in batch files since it avoids the "Nodelist files are up-to-date, compile anyway?" prompt. /F Forces FDNC to compile the nodelist regardless of whether or not it has been updated. 5.5 Points As mentioned before, a point is similar to a user logging on to a BBS system using his/her terminal program. A point system is addressed by specifying the BOSS system's address followed by the point number. E.g. 2:270/17.1 is point one of 2:270/17. The BOSS system is called point zero (2:270/17.0), but the .0 is normally left out. FrontDoor is a point smart software package and fully supports the "four-dimensional" (zone, net, node, point) addressing method. FrontDoor also supports the "two-dimensional" point approach used by some software. This is often called the "fakenet" or "pointnet" method. "Fake" because the software uses a non-existent network number to identify its "pointnet" and uses the node field for the point number. The maximum number of points any system can have is 65,535, not counting the BOSS, or point zero. 34 5.5.1 Pointlist A pointlist is similar to a normal nodelist, with the exception that all entries are considered point systems. FrontDoor, by default, uses the file FDPOINT.PVT to store its pointlist. It is possible to add points of other systems to your pointlist. This will allow you to enter messages to other systems' points just like you would to any other system. Here is a sample FDPOINT.PVT: ,1,FrontDoor_Development,Strassen,JoHo,-Unpublished-,9600 ,2,APX_Development,Strassen,JoHo_Too,-Unpublished-,9600 As you can see, a point list looks very much like a raw nodelist. The last field contains nodelist flags (HST, MO, CM, etc.) and if more than one flag is present, they are separated by commas. Points can also be added to systems in the master nodelist by using the POINT keyword: ,7,SuperMail_HQ,Strassen_L,Jon_Doe,352-123-456,9600,CM,XA,ZYX Point,1,Marketing,Strassen,Jon's_Uncle,-Unpublished-,9600 ,17,UseMail_HQ,Strassen_L,Jill_Doe,352-234-567,9600,CM,XA,HST Point,1,The_Lab,Strassen_L,Jill's_Uncle,-Unpublished-,9600 Assuming this was listed under the Net-270 host in zone two, we have created 2:270/7, 2:270/7.1, 2:270/17, and 2:270/17.1. The second example works well if your nodelist is not updated frequently (weekly, daily, etc). But if you have to add the "Point,#" every time you get a new nodelist, this task becomes rather tedious. FrontDoor therefore supports an additional pointlist format: Boss,2:270/7 ,1,Marketing,Strassen,Jon's_Uncle,-Unpublished-,9600 Boss,2:270/17 ,1,The_Lab,Strassen_L,Jill's_Uncle,-Unpublished-,9600 This does away with the need to constantly update the BOSS system's data in the raw nodelist and allows you to put your pointlist in a separate file. FDNC will then take the BOSS system's data from the master nodelist. 5.5.2 FDNODE.CTL If you only have one file with point definitions, you can put them in FDPOINT.PVT and use the third example (above) to add points for other systems, or your own system. If you have more than one file with point definitions, however, you should NOT name any of them FDPOINT.PVT. Assume we have two files with pointlists: 35 FDHQ.PTS: ; ; Pointlist for 2:270/17 ; Boss,2:270/17 ,1,The_Lab,Strassen_L,Jill's_Uncle,-Unpublished-,9600 ,2,The_Office,Strassen_L,Jill's_Sister,-Unpublished-,9600 and WIZOZ.PTS: ; ; Pointlist for 1:135/990 ; Boss,1:135/990 ,1,OZ_Point,Miami_FL,Dorothy,-Unpublished-,9600 We would tell FDNC to merge these two files into FDPOINT.PVT before it compiles the nodelist, by specifying the following in FDNODE.CTL: pointlist C:\FD\NODELIST\WIZOZ.PTS pointlist C:\FD\NODELIST\FDHQ.PTS The BOSS statement in FDHQ.PTS and WIZOZ.PTS can be removed if you instead specify: pointlist C:\FD\NODELIST\WIZOZ.PTS 1:135/990 pointlist C:\FD\NODELIST\FDHQ.PTS 2:270/17 You must ALWAYS specify the address of the BOSS system (as shown above) if it is not listed in the actual pointlist file. 5.5.3 Treatment of points A point system is treated just like any other system with one exception. A point system of a system other than your own is always treated as its BOSS (or point zero) system. When the Mailer creates mail packets for 1:135/990, it includes mail for any points under it by default. 5.5.4 Remapping If you have points that use "point dumb" software, i.e. which does not support the "four dimensional" (zone, net, node, point) concept fully, you must tell FrontDoor about this. Since FrontDoor supports the "four dimensional" concept, it has to remap mail from and to "point dumb" software. 5.5.5 POINTNET 36 If the POINTNET environment variable is set, mail from and to systems with the same net number as the value of POINTNET is remapped. E.g. in AUTOEXEC.BAT: SET POINTNET=1004 Would force FrontDoor to remap mail from and to 1004/1, 1004/2, 1004/3, and 1004/4 to 2:270/17.1, 2:270/17.2, 2:270/17.3, and 2:270/17.4 respectively; assuming your network address is 2:270/17. FrontDoor automatically remaps messages that it extracts from mail packets. If you use the POINTNET variable, FrontDoor will treat 1004/1 identical to 2:270/17.1; assuming your network address is 2:270/17. 5.6 Sharing the nodelist FrontDoor is capable of using the nodelist together with another program that supports sharing of the nodelist. If you are running FrontDoor under DESQview or LANtastic, for example, it is possible to run the Mailer at the same time as the Editor, sharing the same nodelist. When FDNC compiles the nodelist, you must, however, make sure that no other program (including text editors) is using any of the nodelist files (FDPOINT.PVT, FDNET.PVT, and/or the raw nodelist). 37 6 Modems and FOSSIL drivers FrontDoor works with most "Hayes-compatible" modems, including US Robotics HST and HST/DS, Telebit's Trailblazer, ANC, Everex, ZyXEL and Hayes; to name a few. The general rule is that the modem must be able to send alphanumeric result strings. For most low-speed modems, the basic configuration is all that is required. For high-speed modems such as the US Robotics HST, a few extra settings are necessary. To utilize a high-speed modem in the most efficient way, it must be properly configured for use with FrontDoor. Some high-speed modems are incorrectly configured for use with FrontDoor when they leave their factory. FrontDoor requires that your modem can return verbal result codes, such as "CONNECT 2400" and "NO CARRIER". In addition, if you want FrontDoor to answer the telephone on inbound calls, the modem must be able to return a verbal code indicating a ring signal, such as "RING". The modem must not have DCD (carrier detect) forced. It should support disconnecting by lowering DTR (data terminal ready), but it is not necessary. DTR must, however, not be forced. For high-speed modem users, it is usually recommended that you lock the DTE (computer<>modem) speed to the highest possible baud rate; which is usually 19200, 38400, 57600, or 115200 BPS. The current version of FrontDoor does not support manually operated modems with constant DTE speeds since most of them do not send any type of messages to the terminal (program). This is expected to be implemented in future versions. 6.1 Basic configuration The modem options are located in FDSETUP under the MODEM > Default settings pull-down menu. There are four sub-menus, Hardware, Messages, Command strings, and Answer control. Hardware The Hardware option screen allows you to configure things like the highest baud rate supported by your modem, the COM port to which your modem is connected, etc. Serial port The COM port your modem is attached to (1-32). Locked port Whether or not you have locked the FOSSIL driver's baud rate. Maximum baud rate The maximum supported baud rate of your modem (300-38400 BPS). If you have locked your FOSSIL driver (discussed later), this setting is not important. 38 Reset modem to connect speed This instructs the Mailer to transmit the "Escape code" string, set the baud rate, and finally transmit the "Return on-line" string to the modem; when an incoming call at ITU-T V.23 (split speed) is processed. Most modems do not require this setting to properly handle V.23 connects. Lower DTR when busy Determines how the Mailer should handle the modem when it invokes other programs, exits, and shells to DOS. If enabled, the Mailer will simply lower DTR. This means that your modem will not answer the phone, but calling systems will not get a busy signal. If you disable this, the Mailer will send the Off-hook string to the modem instead of lowering DTR. This can be used to take the modem off-hook when your system is not available so that calling systems gets a busy signal instead of no answer. //1// Lower DTR to terminate call If enabled, the Mailer will drop DTR for a short period of time to terminate calls. Most modems support this and you should only disable it if your modem does not support lowering of DTR. If disabled, the Mailer will send the Escape code string followed by the On-hook string to terminate a call. Toggle DTR before dialing Specifies that the Mailer should lower DTR, pause, and then raise DTR again every time it places an outgoing call. While this increases the chances of call collision, it may be required by some modems to reset properly, etc. Do not enable this option unless it is absolutely necessary. Carrier detect mask (CDMASK) The bitmask the Mailer should use when asking the FOSSIL driver for the port status to determine if a carrier signal is still present. Connect messages Status messages These options allow you to define the messages sent by your modem. If your modem does not send one or more of the strings you should NOT remove them. <+> Custom message ____________________ //1// It is against the law of some countries to take a modem off-hook unless actual communication is taking place. As the operator of FrontDoor, it is your responsibility to be aware of such laws in your own country. 39 Allows you to define a custom connect message and its associated baud rate in the event that your modem returns a connect message not otherwise covered by FrontDoor; such as "CONNECT FAST". Command strings The following characters have special meaning in strings sent to the modem by the Mailer (the Terminal initialization string may also contain these characters): | v Lower DTR ^ Raise DTR ~ One second pause ` 0.5 second pause Escape code Used to place the modem in command mode (as opposed to data mode). This is only used if you have disabled Hardware > Lower DTR to terminate call or if you are using the Hardware > Reset modem to connect speed option. Return on-line Used to place the modem in data mode (as opposed to command mode). This is only used if you are using the Hardware > Reset modem to connect speed option. On-hook Used to place the modem on-hook (as opposed to off-hook) if you have disabled Hardware > Lower DTR when busy or Hardware > Lower DTR to terminate call". Off-hook Used to place the modem off-hook (as opposed to on-hook) if you have disabled Hardware > Lower DTR when busy. //1// Dial Used when the Mailer places an outgoing call. The Mailer will send the dial (this) string, the Prefix, the telephone number, followed by the Suffix. I.e. ____________________ //1// It is possible to utilize the Offhook string and lower DTR at the same time, should that be necessary. Simply disable (set to "NO") the "Lower DTR when busy" option and then include a 'v' (lowercase V) somewhere in the Offhook string. If you do this, however, it is recommended that a '^' (caret) be included in your Onhook string so the Mailer raises the DTR signal again. 40 Prefix Sent before every number when the Mailer places an outgoing call (see above). Suffix Sent after every number when the Mailer places an outgoing call (see above). This should be set to the pipe (|) character to indicate a CR in most cases. Delay The delay (in 1/10 second) between every string the Mailer sends to the modem. If you have a modem that accepts commands rapidly, such as the US Robotics HST, you can set this as low as one or two, but most modems require that this is set between four and eight. Init-1..Init-3 Modem initialization strings. They are sent every time the Mailer initializes the modem in order (Init-1, Init-2, Init-3). Unused strings should not be set to anything (leave field blank). Down Sent to the modem when the Mailer terminates. This occurs when mail has been received or when the Mailer terminates execution. Reset Sent to the modem to force it to respond with an OK message. This should be set to "AT|" in most cases. Answer control Manual answer Specifies that the Mailer should wait for the RING message from the modem and then send the force answer string (below) to force the modem to answer. //1// Force answer The string forcing the modem to answer an incoming call. This should be "ATA|" in most cases. Answer delay ____________________ //1// This is the safest way to control modem answering and should be used unless your modem does not support it. For Hayes compatible modems, you should add "S0=0" to one of your init strings to prevent the modem from answering automatically. 41 When the Mailer receives the RING message from the modem, it will pause for nn 1/10 seconds before sending the force answer string. This should be set between four and eight for most modems. <+> Enable LDFRS Enables Logging of Data Following Ring Signal (DFRS). This is mainly used in areas that offer CALLER*ID as a service to their subscribers. The CALLER*ID data will be logged between the first and the second RING in most cases. Fax Used to enable or disable the internal Fax handling of the Mailer. 6.2 Advanced configuration Many modems have several different connection modes and options. The US Robotics HST/DS, for example, can be configured between several different connect modes, including ITU-T V.32, ITU-T V.32bis, and the proprietary HST protocol. Since the nodelist normally indicates a system's hardware (modem) capabilities, the Mailer can automatically reconfigure your modem depending on what type of hardware the remote system being called is using. This automatic reconfiguration feature can also be used to disable or enabled certain options for specific systems (i,e. not based on nodelist data) because of problems with noisy lines, long satellite delays, etc. This is configured in the MODEM MANAGER under the Manager pull-down menu in FDSETUP. The actual data is stored in a file called MODEM.FD in the SYSTEM directory. 6.3 The Modem Manager The entries are processed as defined, i.e. in sequential order, top to bottom. It may be important in which order these options are configured and triggered, the modem manager therefore allows you to re-arrange individual entries by using the Move (F2) option. String to match A nodelist flag, such as HST, a baud rate, such as 2400, or a complete network address, such as 2:270/17, that the Mailer should match in order to send the specified string. To specify a baud rate, place it behind an equal sign, e.g. =2400. //1// ____________________ //1// The Mailer supports any ASCII text to be entered as the String to match. The data you enter is matched verbatim with the data in the nodelist. The FidoNet user (U) flag must therefore be taken into consideration. I.e. "ISDN" does not match "UISDN", nor does "UISDN" match "ISDN". 42 NoDial This setting is toggled with ; if enabled, it will prevent the Mailer from placing an outbound when a match is made with this entry. Note that the Mailer will still go through the motions of making a call because the Modem Manager data is not accessed until the actual call is about to be placed by the Mailer. String to send The string that will be transmitted to the modem when a match is made. The pipe (|) character is translated to a CR and should terminate the string in most cases. The Mailer will ignore entries with INACTIVE status. An example, the HST/DS/V.32Terbo Most HST/DS/V.32Terbo owners will have the following lines at the beginning of their Modem Manager list: HST ATB1| V32 ATB0| H14 ATB1| V32B ATB0| H16 ATB1| V32T ATB0| These lines are basically the preferred connect options with V32T (V.32Terbo) listed last as it is the fastest of the various connect options (for this specific modem). Let us assume our modem has a problem, with incorrect busy and voice signal detection (many modems also have problems with incorrectly identifying the ring signal as a busy signal, when calling the United Kingdom and other Commonwealth countries), when it encounters a modem that answers using the PEP protocol handshake, we would then want to disable our modem's capability to detect a busy signal and/or a voice signal by adding: PEP ATX2| 6.4 FOSSIL drivers A FOSSIL (Fido/Opus/SEAdog Standard Interface Layer) driver is a memory resident program (TSR) that works as a layer between the application program and your computer's hardware. The Mailer requires a FOSSIL driver to function. One of the advantages of the standard FOSSIL interface is that programs can be ported easily to other machines and/or operating systems, or to communicate with devices that do not normally function like a "Hayes compatible" modem, such as ISDN cards. ____________________ 43 There are several FOSSIL drivers available. The Mailer has been tested with cFos, SIO/VX00, VFD, OpusComm, X00, DGFossil, and BNU with good results. X00 and BNU will be described here. BNU BNU, written by David Nugent, comes in two flavors. One is a device driver, the other is a .COM file, loaded from AUTOEXEC.BAT or another batch file. The .COM flavor is assumed in the example. For a detailed description of the BNU driver, please refer to the documentation included in the BNU distribution archive. [AUTOEXEC.BAT] BNU /R=1024 /T=512 /L1:57600 /R=1024 Specifies a receive buffer of 1024 bytes. /T=512 Specifies a transmit buffer of 512 bytes. /L1:57600 Locks COM2 at 57600 BPS //1// (for use with a high-speed modem). If you are not using a high-speed modem the above example should most likely be modified to not lock COM2. X00 X00, written by Ray Gwinn, is a device driver (later versions can also be loaded as an executable from AUTOEXEC.BAT), it is loaded from your CONFIG.SYS file when your machine is started. For a detailed description of the X00 driver, read the documentation included in the X00 distribution archive. [CONFIG.SYS] device=X00.SYS E 1 B,1,115200 T=512 R=1024 E Disable 5 second advertisement when X00 is first loaded. 1 Number of COM ports X00 should allow to be accessed at one time. ____________________ //1// To lock BNU at 115200 BPS, the baudrate parameter must be specified as 11520. 44 B,1,115200 Locks COM2 at 115200 BPS. T=512 Specifies a transmit buffer of 512 bytes. R=1024 Specifies a receive buffer of 1024 bytes. If you are not using a high-speed modem the above example may not be what you want. The most common command-line for X00 is: device=X00.SYS E 1 OS/2 2.x FrontDoor can be used in an OS/2 DOS box with excellent results. The two drivers described above, BNU and X00, should, however, not be used for optimum results. Two drivers that have been tested with good results exist. The first one, VFD for Virtual FOSSIL Driver, written by Joakim Hernberg is a FOSSIL layer that interfaces with the native OS/2 2.x COM driver (or compatible replacements thereof); the other is SIO/VX00 by Ray Gwinn. A separate FrontDoor Technical Note (FDTN), number two (2), can be found on many systems that describe the exact details of how to add these drivers to your OS/2 configuration. 45 7 Events There are two basic types of events. Mail events and external events. Mail events are used to control how the Mailer treats mail during a given time of the day. External events are used to force the Mailer to terminate with an errorlevel at a specific time. They can be used to run system maintenance programs, disk optimizers, etc. The EVENT MANAGER in FDSETUP is used to control mail and external events. There is a (required) global event, which is active when no other event is active. The @ character is used for the global event. 7.1 The Event Manager The event manager has two modes. The first is the view mode, which is self explanatory. The second mode is the edit/create mode. It will now be described. Tag (T) The event ID. A letter from A-Z or @. The @ event has special meaning and is described later. X is used for eXternal events, all other letters are used for mail events. Which letter you use is not important. They could correspond with the time of day, N for Night, E for Evening, D for Day, etc. The event tag is used to associate an event with a schedule block in the route file (see "Mail routing"). Days The days you want the event to be active on. The @ event is active on all days. Modifier (M) You can define a start time for the @ event. It is not used to control the start of the @ event. It can be added, subtracted, or ignored, when calculating the actual start time of other events. If the modifier for an event is +, the start time of the @ event is added to the start time of the event. If the modifier for an event is -, the start time of the @ event is subtracted from the start time of the event. If the modifier for an event is *, the start time of the @ event is ignored and not used to calculate the actual start time of the event. This is useful when it is time to switch between winter and summer time. Instead of having to manually go into each event and define a new start time, you could change the start time of the @ event and the start time of all other events will be changed. Let us assume that you have an event (tag=E) that starts at 08:00 in the morning with a modifier of +. Your @ event has a start 46 time of 01:00. Since the modifier was + (add), the start time of @ (01:00) will be added to the start time of the E event and the result will be that event E starts at 09:00. If you change the modifier to - (subtract), the start time of event E will be 07:00 (08:00 minus 01:00). If you set the modifier to * (ignore), the start time of E is not affected. Start time Defines the start time of an event. See Modifier (above) for an explanation on how this can be affected. Length Defines the length of the event. External events (X) always have a length of 00:01 (one minute). Errorlevel For external (X) events, this defines the errorlevel that the Mailer will terminate with. For mail events, this defines the errorlevel to exit with if mail is received (and the Mailer is triggered to exit). If the errorlevel field is set to zero, the default Mailer > Errorlevels > MAIL RECEIVED errorlevel will be used. You may use any value in the range 31-255. Min.cost Defines the minimum cost of messages that should be qualified (see "Mail routing"). Max.cost Defines the maximum cost of messages that should be qualified (see "Mail Routing"). A value of -1 forces the Mailer to ignore the cost of messages. Behavior Defines the behavior of the event. Mail events and eXternal events have different behavior options, this is described later. Retry delay Defines the delay (in seconds) the Mailer should wait between placing outgoing calls. A value of zero means that you want the Mailer to use the default delay (described above). 7.1.1 External event behavior Allow users during event Defines whether or not non-mail (human) calls are allowed to interrupt the event. 47 If a non-mail call comes in at 12:00 and you have an external (X) event scheduled for 12:30, the Mailer will take the X event into account when calculating the number of minutes left until the next event, depending on how this option is set. If it is disabled, the user would, in this case, only have 30 minutes until the next event. If it was enabled, the Mailer would instead scan ahead for the next (if any) event that does not allow users. Forced Defines whether or not the event is forced. The Mailer, by default, ignores events that it "missed" while doing something else. If you enable this option, the event will be executed even if the Mailer has "missed" it. Assume you have a non-forced external (X) event scheduled for 12:00 and a user calls in at 11:50. The call lasts for 30 minutes (12:20). When the Mailer is brought back up again, the external event will not be executed. If, however, you had this option enabled for the external (X) event, it would be executed as soon as the Mailer was brought up again. Inactive Toggles the state of the event. The Mailer will ignore any inactive events. This allows you to deactivate events without removing them from the event manager. 7.1.2 Mail event behavior Allow users during event This has the same function as for eXternal events. In addition, if this option is set to "NO" (disabled), interactive (non-mail) calls will not be accepted during the duration of the event. Exit when mail is received Defines whether or not you want the Mailer to exit when mail has been received. This allows you to process received echomail, etc. High priority (crash) mail only Forces the Mailer to ignore messages that does not have crash status. Note that messages with IMM (Immediate) status are not affected by this. Allow file requests Defines whether or not you want the Mailer to honor file requests during an event. If you disable this option, the Mailer will simply ignore file requests. Pickup file requests 48 The Mailer will by default not accept file requests received during an outgoing (outbound) mail call since you are paying for the call. This option allows you to pickup waiting file requests and process them. Whether or not they are actually honored is defined by the Allow file requests option. Hold (do not send) file requests Forces the Mailer to ignore outgoing (your own) file request messages during the event. This is useful if you do not want to send out file requests during daytime events for example. Hold (do not send) file attaches Forces the Mailer to ignore outgoing (your own) file attach messages during the event. This is useful if you do not want to send out files attached to messages during daytime events for example. Attempt to pickup waiting mail Defines whether or not you want the Mailer to pickup any waiting mail on outgoing calls. The default (YES) should be used unless you want the Mailer to terminate the mail session as soon as it has delivered its mail. If this option is disabled, your file requests (if any) will fail since the Mailer terminates the call before the remote system has a chance to process them. Allow nodes to pickup waiting mail This option is the same as using the DENY route command (see "Mail routing"). The only difference is that you cannot be selective about which systems can pickup waiting mail. If a system calls in to deliver its mail and this option is disabled (NO), your system will not release (send) any waiting mail. Prioritize outbound calls Forces the Mailer to make outgoing calls without waiting for the specified time (retry delay) between calls. The Mailer will still accept incoming (inbound) mail, but the chances of another system getting through are very small. Delay before placing first call The Mailer will by default attempt to place the first outgoing call as soon as possible. If this option is enabled, it will delay the first call. Inbound-Only Specifies that you do not want the Mailer to make any outgoing calls during the event. End event when no more mail to send 49 If you have an event with some restrictions on other systems or do not allow users, it may be useful to enable this option, forcing the Mailer to release all restrictions enforced by the event as soon as there is no more mail to send. If new mail is entered that qualifies for mailing and the event has ended (prematurely), it will be restarted. Send to CM systems only Forces the Mailer to only qualify those systems that have the CM (continuous mail) flag set in their nodelist entry. Send to non-CM systems only Forces the Mailer to only qualify those systems that Do not have the CM (continuous mail) flag set in their nodelist entry. Send to systems once only Forces the Mailer to only deliver mail to a system once during the event. If the event is interrupted or aborted, the Mailer will remember which systems it has already delivered mail to and when the event is restarted, it will not call those systems again. Assume you have mail to 1:135/20 and 2:310/11 during event A, with this behavior enabled. On the first call to 1:135/20, the Mailer sends its mail successfully. If the event is restarted for some reason (user break, human caller, mail received exit), the Mailer will not call 1:135/20 again, even if there is new mail for that system. Answer inbound calls If you have specified that you want the Mailer to force the modem to answer when it receives a RING message (see Modem > Answer control), this setting ultimately determines whether or not the Force answer string is sent to the modem, or if the Mailer should simply ignore the RING message. This allows you to control when the Mailer should answer inbound calls. Inactive The same as for eXternal events. 7.1.3 The @ event The @ event is active whenever your system is not in another mail event. The @ event is required. You do not have to tell the Mailer to send mail during the @ event, but it must be defined. You can use it to send local and/or low cost mail whenever the Mailer is not busy, etc. You can specify a schedule block (see "Mail routing"), using the @ tag and define routing rules for it just like any other mail event. If the Mailer does not find a 50 schedule block for the @ tag, it will still use any global rules defined in the route file. 7.1.4 Overlapping events Overlapping events are fully supported by the Mailer. Event B starts at 05:00 with a duration of 01:00. Event A starts at 05:01 with a duration of 00:15. The behavior for event A includes Only execute event once and End event when no more mail to send. Event B will start at 05:00, after one minute, event A will start and last for fifteen minutes (or end when there is no more mail to send). Once event A has ended, B will resume. This is a very powerful and useful concept. It can be used to start temporary or dynamic events within events that lasts for several hours. 51 8 Mailer The Mailer is the core program of FrontDoor. It is responsible for sending and receiving messages and files; and to optionally pass interactive callers to a BBS or other software. The Terminal function is located in the executable file of the Mailer and can be reached from one of its menus. Most functions of the Mailer are reached by holding down the key and pressing a key, A through Z. 8.1 Menus Each function and menu of the Mailer will now be described. 8.1.1 Programs Message Editor Loads the message Editor. Terminal Invokes the Terminal (it resides in the Mailer's overlay file, FD.OVR). Configure Loads the configuration program, FDSETUP. Nodelist Loads the nodelist compiler, FDNC. User keys Displays the 20 (24) user definable function keys and allows you to select one. DOS shell Invokes a temporary DOS shell. Type EXIT and press to return to the Mailer. Packets created with any of the temporary mail services function (File Request, Transmit file, Send mail) will be discarded when you return and the Mailer will rescan the contents of the NetMail folder. Quit Returns you to DOS or the batch file that first executed the Mailer. The Mailer will return errorlevel 10 (User Break). 8.1.2 Utilities 52 Active event Displays the settings for the currently active event. Inbound history Invokes the inbound call (mail) history management function. Outbound history Invokes the outbound call (mail) history management function. Recent activity Shows you the last two days of general activity, failed sessions, file requests, number of files/bytes sent and received, etc. Disconnect Allows you to manually terminate a call. This will also re-initialize the modem. Lock keyboard Allows you to lock the keyboard (and the Mailer) against unauthorized use. The Mailer will still perform its duties such as sending and receiving mail, etc. You must enter the specified password //1// to unlock the keyboard. If the Mailer exits (due to mail received or an interactive call is received), the keyboard lock status is retained and when the Mailer is restarted, the keyboard will remain locked. Restart event Forces the Mailer to rescan the message base and create new mail packets. All previous temporary packet information is discarded. 8.1.3 Mail Queue manager Allows you to manipulate the current mail queue. If no mail event is active, the mail queue is empty. The mail queue is described in a separate section. Undialable manager ____________________ //1// When you enter a password to lock the keyboard, note that the Mailer is case sensitive when you later enter the password to unlock the keyboard. E.g. "KEYlock" is not treated the same as "keyLOCK". 53 Allows you to manipulate systems marked as undialable. This is discussed in a separate section. Forced poll Creates a priority entry in the mail queue for the specified system. If an entry for the specified system already exists in the queue, its status is set to priority. If the Mailer has to rescan the message base, the temporary poll is removed from the mail queue. Request files Allows you to create a temporary file request to the specified system. If the Mailer has to rescan the message base, the temporary file request is removed from the mail queue. Transmit files Allows you to transmit files to the specified system. As with the poll and request function (above), this is only a temporary function. If the Mailer has to rescan the message base, the entry is removed from the mail queue. Send mail Allows you to create a temporary mail packet for the specified system. You can choose to include all or high-priority mail. If the Mailer has to rescan the message base, the entry is removed from the mail queue. 8.1.4 Your profile Answer Allows you to toggle the manual answer status. This option is only valid if you have enabled the manual answer option in FDSETUP. Note that if you manually toggle this option, the Mailer will honor the new setting until it exits. Printer Allows you to toggle the printing of new (incoming) messages. Human callers Allows you to toggle whether or not you want the Mailer to accept human callers. This option is only valid if you are not running the Mailer in mail-only mode. Exit on mail Allows you to toggle whether or not the Mailer should exit when mail has been received. This option is only valid if an errorlevel for received mail has been specified in FDSETUP 54 and the active event (if any) specifies that the Mailer should exit when mail has been received. Which AKA Allows you to select a different AKA to operate under. The specified AKA will be active until the Mailer exits or you select a new AKA to operate under. Note that this does not effect the AKA matching function of the Mailer. 8.2 Mail queue The mail queue function allows you to modify the status of one or more mail packets, temporarily change the destination of mail packets, and to unpack one or more packets. Priority Sets priority status on all selected packets. Packets with priority status are always processed before packets with crash or normal status. Verbose or Displays more information about the highlighted mail packet such as attached files, estimated transfer time, etc. Crash Sets crash status on all selected packets. Hold Sets hold status on all selected packets. Packets with hold status will never be sent by the Mailer unless the destination system calls in to pickup mail. Select all Toggles the selected status for all packets. Destination Changes the destination of all selected packets. When the Mailer processes the mail queue, it will treat all active (non-sent and non- held) packets as individual packets, including two or more different packets destined for the same system. If a connection is made (whether the destination system calls you or your system calls it), however, all packets destined for that system will be sent. Unpack Discards all selected packets from the queue. This will not delete any mail from the NetMail folder. Clear status 55 Sets normal status on all selected packets. Clear busy retries Sets the dial attempts for all selected packets to zero. Exit Returns you to the Mailer's main screen. Select Toggles the selected status of the currently highlighted packet. 8.3 Call progress When the Mailer has mail to send, it will step through the mail queue and call the systems with mail packets waiting. Packets with sent, failed, and hold status are ignored. These can, however, always be picked up by the destination system if it calls in. After every unsuccessful (BUSY, NO CARRIER, etc.) call, the busy retry counter is incremented until it reaches the value defined in FDSETUP. Once the limit has been exceeded, the Mailer puts hold status on the packet. If a connection is made but the actual transfer fails, the resend retry counter is updated and once the limit, defined in FDSETUP, is reached, the packet receives failed status. Press to force the Mailer to place the next outgoing call. 8.4 Semaphore indicators Every time the Mailer scans the NetMail folder, it looks for unread messages destined for your system. If any are found, it will enable the flashing "Mail" text in the bottom right hand corner. Once the message(s) have been marked received (read), the flashing mail text will disappear. 8.5 Undialable When the Mailer reaches the resend (session failure, transmission failure, etc.) retry limit for a system during an event. That system is added to the undialable table with a "grade" of one. When the "grade" reaches three, the system is considered undialable and will never be called again (until you manually "upgrade" it). The undialable manager is accessed by pressing from the Mailer's main menu and allows you to "upgrade" a system's status, add a system manually to the undialable list, and remove one or more undialable systems. The undialable system information is kept in NODIAL.FD in FrontDoor's SYSTEM directory. 56 9 Editor The Editor is the program used to write and read messages. It can be invoked from the command-line in DOS by typing FM followed by , or from the Mailer by pressing . The Editor has two "status" lines. The bottom status line is used to display the current message, number of messages in the current folder, the lowest and highest message numbers and the number of messages remaining to the last message (last minus current). The top status line shows the currently active AKA (address), the current time and the folder you are in. Most functions of the Editor are reached by holding down either the or key and pressing a key, A through Z. If you press a key that has no function assigned to it, it will display a message saying "Press Alt-H for help" on the bottom status line. Each function and menu of the Editor will now be described. 9.1 Main Create Allows you to create a new message in the current folder. You will be prompted for the destination (user name and possibly a network address), subject, etc. Delete Removes the currently displayed message. The Editor will ask you to confirm that you really want to remove the message. Reply Similar to the Create function. The destination of the newly created message, however, is taken from the sender of the message you are replying to. This function also allows you to quote the original message, in whole, or selected parts. NetMail reply Similar to the Reply function. If you are in a Local or Conference folder, your message (the reply) will be placed into the NetMail folder. The destination address of the message is taken from either the origin line (Conference folders) or the sender's name (Local folders). Reply comment Similar to the Reply function. It allows you to create a follow-up message with additional comments to the same destination as the original message. Forward or 57 This function allows you to redirect a message to someone else. It will also insert some additional information at the top of the redirected message, indicating who the message was originally from, etc. You can choose whether or not you want to overwrite the original message with the forwarded (redirected) message. The Forward function will also add the default message status to the message and remove the Rcvd and Sent status bits if they were set. View fax Invokes the external fax viewer, allowing you to view documents attached to a fax cover page message. Folders Allows you to change the active folder. You cannot change to another folder while editing a message, but you can view the folder list. The type of each folder is shown as 'E' for Conference, 'L' for Local and 'M' for NetMail. The commercial version allows you to configure any folder with NetMail status, the type will then be displayed as 'N'. The shareware version only has one NetMail-type folder. To select a folder, you can use the arrow keys to move the highlight bar and then press , or you can type the number of the folder followed by pressing . Folder scan Scans all folders and indicates which folders have any message number higher than the last read message. Typically, this means that new messages have arrived in a folder since you last accessed it. DOS shell Invokes a temporary DOS shell. Type EXIT and press to return to the Editor. Leave editor Returns you to DOS or to the Mailer, depending on how the Editor was invoked. If you are editing a message, you will be asked whether or not you wish to save it before exiting. 9.2 Edit Status Allows you to change the status of a message. See the separate section about Message Status Bits for a detailed description of this. Subject 58 Allows you to change the subject of a message. If you have a message with file attaches and press , the file attach list will be processed again and if you specified wild-cards or more than one file on the subject line, you will have to select the files you want to send once again. Text Allows you to edit the text (body) of a message. If you are already in editing mode, this will bring up a secondary menu with text editing related functions. Destination Allows you to change the destination of a message. This will add the default message status bits as well as the Local bit to the message and remove the Rcvd and Sent status bits if they were set. As opposed to the Forward function, using will not result in any text being added to the message body (forwarding info). Toggle Brings up the toggle menu. 9.2.1 Edit mode Import file Allows you to import an ASCII file into the text. The contents of the file will be inserted at the current cursor position. Insert line Inserts a blank line after the current line. The cursor will remain in the same position. Line to buffer Adds the current (where cursor is positioned) line to end of the temporary buffer and moves the cursor down one line. The last eighty lines of deleted/marked text is always retained in a temporary buffer and can be reinserted with or . Delete word Deletes the word to the right of the cursor. Go to line # Allows you to specify an absolute line number to place the cursor on. Delete to EOF Deletes all text from cursor to end of message. 59 Find Searches for the specified string, and if found, places the cursor on the first character of the found word. Find & Replace Allows you to replace a string with another. Note that this function will restore the cursor position whereas the Find function will not. Re-format Reformats a block of text (from cursor to the next blank line) and removes any hard CRs from the reformatted lines. It will add a hard CR to the end of the reformatted block. Line drawing Allows you to draw lines and boxes using a variety of line sets. Undelete or Inserts the last deleted line at the current cursor position. The last eighty lines of deleted/marked text is always retained in a "scratch" buffer. Save & exit or Save (or discard changes to) the current message. 9.2.2 Toggle Translation Toggles the state of the translation tables. Hard CRs Toggles whether or not hard CRs in the message text should be displayed. Echo info Toggles the state of the echo info. This function is only available in Conference folders. 9.3 Utilities Survey Invokes the message survey function. Force rescan 60 Forces the Mailer and other Editors to rescan the NetMail folder. Move/copy Allows you to move or copy the current message to another folder. Message to file Exports the current message to an ASCII file. If the specified file already exists, you will be asked if you want to overwrite its contents or append the message to the end of the file. Print message Adds the current message to the print queue. Messages added to the queue are printed in the order they were added. If you attempt to leave the Editor while messages are still being printed, it will ask you to confirm your choice to exit. If you choose to exit, the Editor will cancel the remaining messages in the print queue. //1// Renumber Renumbers the messages in the current folder so that there are no gaps in the numbering. This function is not available in Hudson Message Base-type folders. Change user name Allows you to change the current user profile. Change address Allows you to change the active network AKA (address). This will also change the address that is inserted in origin lines in Conference folders. Change origin Allows you to change the active origin line. Whether or not an origin line is appended to messages that you create is determined by the echo info setting (Conference folders only). Drop marker Allows you to drop a marker (0-9) on the current message. You can later return to these markers by pressing in combination with the digits 0 through 9. 9.4 Purge ____________________ //1// The Editor does not use any external print spooler, such as the DOS PRINT program. 61 The options on the Purge menu allow you to remove one or more messages in the current folder, based on the various criteria, as described below. From user Purge all messages FROM the specified user. To user Purge all messages TO the specified user. From net address Purge all messages that originated from the specified address. To net address Purge all messages destined for the specified address. Received Purge all received (read) messages. Sent Purge all sent messages. Age Purge all messages older than the specified date. 9.5 Help Keyboard help Displays a brief help screen about various keys (cursor keys, etc). Macro keys Displays the contents of the 20 (24) macro keys available in edit mode. Program notice Displays the program version, copyright and registration information. Show notes Displays extended information about the currently displayed message. The extended information is stored behind Ctrl-A (ASCII 1, SOH) characters in the message text. Remote Info Displays information about the originating or destination system. 62 9.6 Entering new messages Press . The screen will be refreshed and you will be prompted for the destination. If you are in the NetMail folder, you can use the name/address look-up function to specify the destination of the message; if you are in a Conference or Local folder, you must type the destination manually. Once you have specified the destination of a message, you will be prompted for the subject (Re:). If you want to send or request files to/from another system, select the proper status bits and specify the file data in the subject line. Note that the default message status (specified in FDSETUP) is always added, but can be changed. Enter the message text and press or to save the message. 9.7 Message survey The Survey function is used to perform global operations on a range of messages such as moving, printing, copying, deleting, etc. When you press for the first time in a folder, the Editor will scan all the messages in the folder and build a list of them. That list is kept in memory until you press in another folder, or when the Editor, for some reason, has to rebuild its internal message list for the folder. If you remove, add or renumber messages the list will be updated accordingly, so no rescan is necessary. 9.7.1 Main menu Kill Removes all selected messages. Print messages Prints all selected messages. Range select Allows you to select a range of messages matching a certain criteria. Select all Allows you to select all messages in the folder. Move Allows you to move all selected messages to another folder. Copy 63 Allows you to copy all selected messages to another folder. Export to file Allows you to export all selected messages to an ASCII file. Go to message Returns to view mode and makes the highlighted message the current message. Select Toggles the selected status of the highlighted message. Exit Returns you to view mode. 9.7.2 Continuous tagging If you activate Caps Lock, messages can be tagged (selected) by moving the bar with the arrow keys. 9.7.3 Range select The range select function allows you to select a range of messages matching a certain criteria. Most of the functions only require a partial match with the selected search criteria. From user Selects all messages from the specified user. To user Selects all messages to the specified user. Originating address Selects all messages originating from the specified address. Destination address Selects all messages destined for the specified address. Text Selects all messages containing the specified search string in the message body. Date Selects all messages between two dates. Re: 64 Selects all messages matching the specified subject. Rcvd Selects all messages with received (read) status. Sent Selects all messages with sent status. Exit Returns you to the main menu of the Survey function. 9.8 Keyboard macros The keyboard macros are located on - (F12) and - (F12). When a macro key is pressed, the Editor will insert its contents at the current cursor position. The following macros are supported: Sequence Expands to Key in FM --------------------------------------------------------------- ~~ ~ ~| | | CR ~B TAB ~> Cursor one step to the right ~< Cursor one step to the left ~^ Cursor one line up ~V Cursor one line down ~G Cursor to top of message ~H Cursor to end of message ~F Reformat paragraph ~L Insert line ~Y Delete line ~} Delete from cursor to EOL ~T Delete from cursor to EOF ~S Save message and keep original , 'N' ~# Save message and delete original , 'Y' ~U Current user name ~D Recipient of original message ~O Sender of original message ~A Subject (re:) of original message ~C Date of original message ~J Originating address of original msg ~K Destination address of original msg ~! Invoke DOS shell ~E; Execute program ~X; Export to file ~W; Export to file (no header) ~I; Import file ~R; Import file and remove it Examples 65 The sequence "~Edir /w>x.bak;~Rx.bak;" (without the quotes) will: o Execute "DIR /W>X.BAK" o Import X.BAK into the message text o Remove X.BAK Note that the semi-colon (;) is NOT optional for the "Execute" and "Import" macros. It determines the end of the program name and its parameters and/or the end of the name of the file to import. The sequence "|~T|~B~B~BRegards,|~B~B~B~U|" (without the quotes) will: o Insert a CR o Delete the text from the cursor to the end of the message. o Insert another CR o Insert three TAB characters (equivalent to pressing three times). o Insert the text "Regards," without the quotes followed by a CR. o Insert three TAB characters (equivalent to pressing three times). o Insert the current user's name followed by a CR. E.g. .. .. Regards, John Doe 9.9 Carbon copies (CC) The Carbon Copy function, is more or less what the name implies. A function that allows you to send the same message to two or more recipients; a distribution list. The CC function is only active in the NetMail folder. CC's can also be used for File Attach and File Request messages. To use the CC function, put the text "cc:" (case does not matter) followed by one or more SysOp names or system addresses, separated by a comma, at the top of the message. Once you select to save the message, the Editor will scan the beginning of the message text for CC: and if found, process each element of the CC list. You can have more than one line with CC's. E.g. cc: bremin,#bodger,samet cc: howard,kasza,wallin,1:135/4 Note that if you create several messages using the CC function, editing any of them will not reactivate the CC function. The Editor will only process a CC list the first time you enter a message (i.e. a new message). 66 9.9.1 Hidden CC's To hide a recipient in a CC list, put the pound (#) character in front of the SysOp name or system address. E.g. cc: #1:135/20,#1:135/990,2:310/11 9.9.2 Using files as input to CC's You can also specify a file containing SysOp names or addresses to the CC function. E.g. cc: @betanote.txt 9.9.3 Address expansion All addresses in a CC list can be entered in short form, and several macros are recognized. cc: MYNET Will process your whole net and add every system to the CC list. Note that the previously supported notation "MYNET/node" (e.g. MYNET/12) is no longer supported. cc: 2:310/*, 1:135/* Will include all systems in net 2:310 and 1:135. cc: 2:270/17.* Will include all listed point systems under 2:270/17. 9.10 Blind Carbon Copies (BCC) Blind Carbon Copies are identical to normal Carbon Copies with the exception that none of the recipients will know that the message is a Carbon Copy. 9.11 Cross-posting (XC) Although CC's are not supported for Conference and Local folders, there is an additional function that provides you with a method of broadcasting the same message to two or more folders. This function is called Cross-posting. To use the XC function, put the text "xc:" (case does not matter) followed by one or more numbers, separated by commas. Each number represents a folder number where you want the message cross-posted. If your folder list looks like: 1 BNU 2 COMP.SYS.IBM.PC 3 FDECHO 67 4 TSECHO 5 NETSYSOP And you put "xc: 1,3,5" in a message in folder two. The resulting messages will have * Cross-posted in BNU * Cross-posted in COMP.SYS.IBM.PC * Cross-posted in FDECHO * Cross-posted in NETSYSOP At the top of each message. The target folder is excluded from the list. That is, " * Cross-posted in BNU " will appear in each message not going to the first (BNU) folder. 68 10 Terminal Although FrontDoor was designed primarily as an e-mail system, it also features a powerful terminal emulator, hereafter called the Terminal. The Terminal features very accurate and efficient Terminal emulation and file transfer protocols; and several other features found in expensive and/or complex communications packages. The Terminal is invoked by pressing from the Mailer's main menu, or by specifying /TERM on the command-line when it is started. You can also choose to run the Mailer in terminal-only mode, in which case the Terminal is invoked when you start the Mailer. Most functions of the Terminal are reached by holding down the key and pressing a key, A through Z. If you press a key that has no function in the Terminal, it will display a message saying "Press Alt-H for help". 10.1 Menus Each function and menu of the Terminal will now be described. 10.1.1 File The file menu contains functions to manipulate macros, upload and download files, transmit ASCII files, invoke DOS shell and Editor, etc. Download files Receive one or more files from the remote system. Upload files Transmit one or more files to the remote system. Transmit ASCII file Allows you to transmit an ASCII file to the remote. You will be able to select the default inter-character delay and line translation. It is possible to create simple script or macro files by using this option. Macro management Allows you to create and maintain your macro key sets. Use this function to make a different macro key set the active set. Profile management Allows you to create, maintain, and select IEMSI session profiles. IEMSI is discussed in a separate section. Command history 69 The Terminal records your last ten typed lines. When you press Enter, it removes the oldest entry and adds the newly typed line to the list. You can choose any one of the ten history entries and retransmit it to the remote. Editor Invokes the program defined in the Terminal > Miscellaneous > Editor field in FDSETUP. You will be asked for optional command- line parameters, they are stored for the remainder of your Terminal session. This could also be used to bring up external protocol menus, etc. Note that the FOSSIL driver is deactivated when leaving the Terminal and reactivated upon returning to the Terminal. This is to make sure FrontDoor maintains control of the FOSSIL driver even when loading other programs that could possibly leave the FOSSIL driver in a non-desirable state. DOS shell Invokes a temporary DOS shell. Type EXIT and press to return to the Terminal. Leave Terminal Depending on how the Terminal was invoked, this will return you to the Mailer's main menu or to DOS. If you are connected to a remote system when you press , you will be asked to confirm that you want to hang up. 10.1.2 Line settings The line settings menu contains your current communications parameters. You cannot reach the options of this menu unless you press . Most of the options in this menu are self explanatory, only the not so obvious options are explained here. BPS The current DTE baud rate. If you have enabled the "Lock port" option in FDSETUP, this field will contain "Fixed" and you will not be able to change it. Wraparound Determines whether or not the Terminal should place the cursor on a new line when it is positioned at the rightmost position of the screen and a character is received. This should be set to On in most situations. There are however VT100/VT52 applications that require this setting to be Off. Note that a CR/LF will force a new line even if this is set to Off. CR expansion 70 Determines how a received CR character should be processed. If set to CR, no expansion is made. If, however, it is set to CR/LF, the Terminal will expand all received CR characters to CR/LF. Local echo Some on-line services do not echo the characters you type. It may be necessary to enable this option to see what you are typing. If the on-line service you are using does echo the characters you type and you enable this option, you will get duplicated characters. E.g. "HHEELLLLOO!!". Emulation Allows you to choose between ANSI, VT100, VT52 and TTY (no) emulation. Note that the default for ANSI emulation is to support AVT/0+ (AVATAR/0+). This is a Terminal emulation protocol designed by G. Adam Stanislav. It is extremely fast and very efficient. Translation tables If enabled, the Terminal will use the Terminal translation tables to filter any received characters. Auto-Zmodem downloads The Terminal monitors received characters for the special sequence a Zmodem transmitter sends when a Zmodem file session is started. If it detects this start-up sequence, it will automatically invoke the Zmodem receiver. If you disable this option, you must use (Download) to receive files using the Zmodem protocol. Allow AVT/0 sequences Determines whether or not you want to accept AVT/0+ emulation sequences when you are in ANSI emulation. Since AVT/0+ is based upon certain control characters, you may want to disable this option if you are using programs like Doorway, etc. which frequently transmits control characters. Clear on Form Feeds Determines whether or not the Terminal should clear the screen when receiving a Form Feed (FF, ASCII 12) character from the remote. Interactive EMSI Determines whether or not the Terminal should attempt to establish IEMSI sessions with systems you call. IEMSI is completely transparent and should not cause any problems. IEMSI is described in a separate section. 10.1.3 Session 71 Capture Allows you to capture characters, as they appear on the screen, to a disk file, or logging it to a printer. Since the Terminal filters out NUL characters (ASCII 0), they will never appear in a capture file. Other characters and control sequences may not appear either, depending on what terminal emulation protocol is active at the time. Conversation mode The conversation mode function splits the screen in half, creating two windows or sections on the screen. Data received from the remote system will be displayed in the top section, while the characters you type will be displayed in the bottom section. Dial Allows you to dial a system in the nodelist. This function is disabled if no nodelist files are detected when the Terminal/Mailer is started. Note that you cannot queue numbers dialed via the nodelist. Manual dial Allows you to enter a number manually, which will then be dialed until you press the key or a connection has been made. Note that you cannot queue manually entered numbers. Disconnect Disconnects the current call and displays the elapsed time. Phone directory Brings up the phone directory manager. //1// Reset timer Resets the on-line timer. The timer is automatically reset when a new connection is made. Scroll back buffer Allows you to view data that has scrolled off the screen. The amount of data stored in the scroll back buffer is configured in FDSETUP. ____________________ //1// If you invoke the Phone Directory and there is insufficient memory available, the Terminal will dispose of the memory allocated to the scroll back buffer in an attempt to make sufficient memory available. 72 Send BREAK Sends a (short) BREAK signal to the modem. Consult the documentation for your modem regarding BREAK signals. This is often used to terminate inquiries to commercial on-line systems, etc. but can be treated differently by your modem. Clear screen Clears the screen and moves the cursor to the upper left-hand corner. Initialize modem Transmits the Init-1..Init-3 modem strings as configured in FDSETUP under Modem > Command strings, followed by the Init string defined under Terminal > Miscellaneous, to attempt to initialize the modem. 10.1.4 Options Most Terminal emulators and communications packages have a status line, either at the top or at the bottom of the screen; on which they display various information about settings and the current connection. FrontDoor's Terminal does not have a status line, hence the options menu. 10.2 Keyboard macros Depending on how many function keys you have on your keyboard, you will have access to 20 or 24 keyboard macros for every macro set. You can have over 60000 macro sets defined, but only one can be active at any time. The macro management function is reached by pressing . The keyboard macros are located on - (F12) and - (F12). When a macro key is pressed, the Terminal will send the data specified in the macro string, uninterpreted, to the remote system. The following characters have special meaning when specified in a macro string: Sequence Expands to ---------------------------------------------------- ~~ ~ ~| | | CR ~B TAB ~! One second pause ~P The current password as defined in the Phone Directory or the current IEMSI Profile's password. 10.3 Raw mode 73 The IBM PC keyboard generates two characters for every key you press. The first character is called the ASCII code, and the second character is called the scan code. Only the ASCII code is transmitted to the remote system by default. There are, however, some situations which require the Terminal software to transmit both codes. The AVATAR emulation protocol and the Doorway programs both require the complete codes (two characters) to identify certain keys; function and arrow keys in particular. Raw mode can be enabled by activating Scroll Lock, by pressing //1//, or, if you have enabled it, when the remote transmits a specific sequence that instructs the Terminal to enter raw mode. Once raw mode has been enabled, you cannot reach any of the Terminal's regular functions until raw mode is disabled. 10.4 Keypad modes The VT100 and VT52 emulation protocols require that the cursor keys transmit different codes depending on the state of the remote application. Most on-line services follow the VT100 recommendation for this, but several Editors and other programs have their own ideas of how this should be handled. If you enable the numerical keypad (Num Lock), the white cursor keypad will transmit the numerical application codes for VT100/VT52. If you have an extended (101/102) keyboard, the grey cursor keys will not follow the numerical keypad setting. By using the key together with the white cursor keypad, you can negate the setting of Num Lock temporarily. I.e. if Num Lock is enabled and you press (8), the Terminal will transmit the up key sequence to the remote. If Num Lock is disabled and you press (8), the Terminal will transmit the numerical application keypad sequence for 8. 10.5 PC keyboards When the remote (host) requests that the Terminal enters numerical application keypad mode, the Terminal automatically enables Num Lock. On extended (101/102) keyboards, this will also enable the Num Lock LED. The Num Lock LED on IBM-PC (standard) keyboards will not change by doing this. The Options, , menu should correctly reflect the proper state of Num Lock anyway. 10.6 Phone directory ____________________ //1// This key was added in addition to Scroll Lock to allow raw mode to be enabled in environments where Scroll Lock is already used for some other function. One such environment is DESQview/X. This means that the sequence cannot be transmitted in raw mode. 74 The phone directory allows you to define up to 200 (400 in the commercial version) numbers in addition to those stored in the nodelist database. The Terminal keeps the internal phone directory in a file named TERMPHON.FD, which is located in the SYSTEM directory. The top menu in the phone directory has nine options. Clear queue Removes the queue (Q) status from all entries in the phone directory. If no entries are listed in the queue, no action is taken. Dial or Adds the current (highlighted) number to the queue and proceeds to the dial function. If no connection is made, the Terminal will proceed to the next number in the queue. If no other numbers exist in the queue, the Terminal will wait the defined (in FDSETUP) number of seconds before trying again. You can abort dialing by pressing . Edit existing entry Allows you to change an existing entry. Purge Removes all entries marked for deletion (small square) from the phone directory. There is no way to recover a removed entry, so use this option with caution. Toggle queue status or Adds/removes the current (highlighted) number to the queue. Sort (and purge) This option is similar to the Purge option with one difference. It will also sort the phone directory in ascending order, based on the name field. Add entry Allows you to add a new entry to the phone directory. Mark for deletion Marks an entry for deletion (small square). No other action is taken. You must use the or function to remove entries marked for deletion. 10.6.1 Queue status The queue status is only retained while you are in the phone directory. Once you return to the Terminal, the phone directory is removed from memory. 75 10.6.2 Adding/changing entries When you press (Edit) or (Add), the edit screen will appear. Press to save the entry and to abandon the entry/changes. 10.7 Inactivity timer If you are not connected to another system, the Terminal function will be terminated automatically after ten minutes of inactivity, if there is no carrier signal. The timer is reset if a key is pressed and when the carrier signal changes. 10.8 File transfers When you transmit or receive files in the Terminal, it will automatically set the line parameters to no parity, eight data bits and one stop bit. Once the transfer is completed, the line parameters will be reset to whatever values they had prior to the transfer. 10.9 On-line timer The on-line time displayed in the Options, , menu shows the elapsed time of the current connection. It is not intended as a precise mechanism for cost calculations, etc. but will give you a rough estimate of the time you have spent on-line. 76 11 Miscellaneous This chapter contains functions and options that are global to all programs in FrontDoor. 11.1 Destination of messages When you are prompted for an address and/or SysOp name for a message, you can use the look-up function. This is true for both the Mailer, the Editor, and the Terminal. The Editor only allows you to use the look-up function for messages written in the NetMail folder. You do not have to use the look-up function, of course. You can enter a short form address, such as 10 (for node 10 in your own net), .1 (for point one in your own point net) in which case the SysOp's name is taken from the nodelist data. This is one of the most flexible functions in FrontDoor. 11.1.1 Name look-ups If you specify "Homrig" as the destination, you will be prompted to select from a list of all users with a last name matching "Homrig" (Homrighausen for example). The network address will also be taken from the name you select. 11.1.2 Address browsing To enter the address browse mode, specify an incomplete address, such as "2:?", "2:270/?" or "2:270/17.?". You can then browse through all zones, regions, networks and pointlists known to your system. If you press (and the input field is blank) when you are prompted for an address, you will be placed in browse mode in your own net. 11.1.3 Address macros (NAMES.FD) You can also create a file containing short names which expands into a full address/SysOp name. The macros are located in a file called NAMES.FD which must be placed in the SYSTEM directory. The format of NAMES.FD follows: ,,
[,] ALIAS The name you want to use for the macro. USER NAME The name you want FM to place in the TO: user name field. ADDRESS The network address you want as the destination when using the macro. 77 SUBJECT The fourth and optional parameter can be used to insert a default subject in FM and also in the "File(s):" field in FD when using the "Mail services" options "Request files" and "Transmit files". E.g. oci,James Smith,1:132/300 am,AreaMgr,2:512/1,MyAreaMgrPassword joho,joaquim homrighausen,2:270/17 jd,Jon Doe,9:333/111 Would allow you to place "*oci", "*am", "*joho", and "*jd" anywhere you are prompted for a network address or user name, including carbon copies (CC). A special format can also be used to automatically address messages to UUCP and INTERNET gateways. By putting a commercial at character (@) as the first character of the user name field (second field), you indicate to FM that the macro should receive special treatment. E.g. jd,@INTERNET/jd@jon.doe.lu,2:241/999 Would place "INTERNET" in the message header's TO: field and address the message to 2:241/999. On the first line of the message text, it would put "TO: jd@jon.doe.lu". E.g. jd,@jd@jon.doe.lu,2:241/999 Would place "UUCP" (the default) in the message header's TO: field and address the message to 2:241/999. On the first line of the message text, it would put "TO: jd@jon.due.lu". This cannot be used for carbon copies (CC). 78 12 File Requests This section will explain and discuss the various aspects of File Requests. There are two types of Requests, File Request and Update Request. The latter is basically a File Request that triggers a mechanism to only send the requested files if they are more recent than those found on the requesting system. Two basic terms have to be explained and understood: Outbound Request A File or Update Request created and transmitted by your system to another, remote, system. Inbound Requests A File or Update Request transmitted by another system to your system. There is no mechanism in the Mailer to control how an outbound Request is treated by the remote system. The Mailer strictly deals with controlling the access to and security of your system (inbound Requests). 12.1 Outbound Requests When you want to Request one or more files from a remote system, you may do so using several different methods: 1. By using the Editor and entering a message with File or Update Request status. The files you want to request from the remote system are listed on the subject (Re:) line of the message and you set FilReq or UpdReq to indicate that the Mailer should give the message special treatment. 2. By using the Mailer's temporary mail services, which are accessed with from the main menu. Whether or not the Request is treated as an Update Request or File Request is determined by how you specify the filename(s) in the File(s): field. If you include a path, the Mailer will treat it as an Update Request, otherwise, it will be treated as a File Request. Requests created this way will not remain if the Mailer terminates (for one reason or another) as they are intended for temporary purposes only. 3. Use a robot utility, such as XRobot, to create the File or Update Request message(s). Note that an Update Request with no matching target, that is, you have attempted to Update Request a file that does not exist on your system, is automatically converted to a File Request. 12.2 Requesting files with a password 79 Since files and directories can be protected with passwords, it may be necessary for you to present a password in order to request certain files from a remote system. To add a password to an outbound File or Update Request, you simply put the password preceded by a space character and a '!' character (i.e. !). Regardless of whether you are creating the Request with the Editor or from the Mailer's Request function, this is the format used to specify passwords. 12.3 Requesting files from foreign file systems While DOS filenames may not contain underscore (_) and forward slash (/) characters, some file systems do allow this. When requesting files from remote systems, you can utilize the '~' (tilde) character to insert special characters in the file specification of your request. The following sequences are supported: ~_ Translates to a single space ~$ Translates to a single forward slash (/) ~~ Translates to a single tilde (~) To file request the file "morse code trainer.sit", specify the filename as "morse~_code~_trainer.sit". 12.4 Update Requests As mentioned before, an Update Request is really a File Request. The difference is that an Update Request is used to "update" a file that already exists on your system. The mailers accomplish this by transmitting the date and time of the existing file, the system that processes (receives) the Update Request then compares this with the requested filemask and sends any matching file that has a later date and time. 12.5 Inbound Requests You can control which directories should be accessible from the "outside world" during a Request. This is accomplished by telling the Mailer which directories should be searched for matches. How the Mailer handles inbound Requests depends on how you have configured the Mailer > File requests section in FDSETUP. 12.5.1 Request modes There are three different modes which decide how the Mailer treats a Request from a remote system. This is configured in the Mailer > File requests > Request limits section in FDSETUP. 1. Anyone can request. This means that the Mailer will allow any system to Request files from your system, subject to event behaviors and other modifiers. 80 2. Systems in nodelist can request. Similar to (1), but the Mailer will only process Requests received from systems that are listed in your nodelist database. 3. No requests. Forces the Mailer to ignore any received Requests, effectively disabling the ability to request files from your system. 12.5.2 Directory listings The directories that the Mailer searches during an inbound file request are configured in the Mailer > File requests > Filenames section of FDSETUP. Two files can be specified. Each file is a plain vanilla ASCII file with one directory (complete path) per line; this is NOT a filemask. All files in the specified directories will be available for file request. No other directories than those specified in these files will be searched. The "List" file is searched during unsecure sessions (i.e. those with systems that there is no session level password for). The "SecList" file is searched during secure sessions. This allows you to have different files available depending on whether or not the session is password protected. If no "SecList" file has been specified, the Mailer will use the "List" file. 12.5.3 Alias listings Alias files are used to set-up something often referred to as "Magic filenames". That is, the requesting system requests a specific name that expands into one or more files. The alias files are scanned before the list of requestable directories (see above), and if a match is made, the Mailer does not search the other lists. The two alias files are configured in the same section as the list of requestable directories. The alias file is a plain vanilla ASCII file with one alias definition per line. E.g. FRODO C:\FILES\FRODO\FDKIT.ARJ XR C:\FILES\FRODO\XROBOT.ARJ RA C:\FILES\RA\RA*.ARJ MYSECRET C:\TEST1.ARJ C:\TEST2.ARJ The remote system can request FRODO, XR, RA, or MYSECRET and get the above specified files. Files listed as alias names do not have to be located in requestable (see above) directories. Just like you can specify different requestable directories depending on whether or not the session is password protected, you can specify two separate alias files. 12.5.4 Response message 81 In the event that the Mailer cannot satisfy a file or update request for one reason or another, it will return a message to the requesting system telling it why the request(s) could not be satisfied. If you have specified a filename for the Message option, under Mailer > File requests > Filenames, the Mailer will attempt to open the specified file and append its contents to the end of the automatically generated response message. 12.5.5 Limiting Requests You can choose to place a limit on how many files, how many kilobytes, and/or how long a request may take. This allows you to fine tune your system for maximum efficiency. The request limits are configured in the Mailer > File requests > Request limits section of FDSETUP. Stop after first match Prevents the Mailer from searching all requestable directories as soon as one match has been made for a given request. Maximum match (files) The maximum number of files your system will send during one Request session. If the remote system requests an alias filename that expands to two files, the request is counted as two files. A setting of zero disables this feature. Maximum time (minutes) The maximum time the resulting files of a request may take to transfer. Before sending each file, a check is made to see if sending the file will cause this limit to be exceeded. If so, the file is skipped and the next file in the list will be checked. A setting of zero disables this feature. Maximum size (KB) The maximum amount of data your system will send during a request session. Note that if the remote system requests an alias filename that expands into two files, the size of both files is checked. A setting of zero disables this feature. Minimum speed (BPS) The minimum baud rate required to allow Requests. If the current connection is at a lower speed, Requests will not be honored. 12.5.6 Limited hours You may also choose to limit the access of your request functions to certain days and certain hours of those days. 82 Limited Enables limited hours. Start The time of day when your system should start honoring Requests. This setting can only be changed if the Limited hours option is enabled. End The time of day when your system should stop honoring Requests. This setting can only be changed if the Limited hours option is enabled. Days Defines on which days your system will honor requests. 12.5.7 Event restrictions Ultimately, whether or not your system will honor requests is controlled by the current event's behavior. If the Allow file requests option for an event is set to NO, requests will not be honored. 12.5.8 Protecting files and directories You may want to protect access to certain files and directories, just like another system may require you to present the proper password to request one or more files. See "Outbound Requests". The Request Manager in FDSETUP is used to protect Inbound Requests. Filename/Directory Defines the filename/directory you want to protect. This is NOT an exclusive name. If you set this field to C:\HIDDEN\ and define a password, all Requests that result in files being sent from C:\HIDDEN\ are protected. If you set this field to MYSECRET.ARJ and define a password, the file MYSECRET.ARJ will only be sent if the requesting system presented the proper password. Password Defines the password for the specified file/directory. The requesting system have to present this in its request to get the file(s). These passwords are treated case insensitive. Entries with inactive status in the Request Manager are ignored by the Mailer. Note that Alias definitions can also be protected 83 by placing the name of the Alias definition in the Filename/Directory field. <+> 12.5.9 Request processor A request processor is basically a slide-in replacement for the Mailer's internal code to handle file requests. The main difference is that it is an external program and can thus be easily replaced and updated. Other advantages include being able to access proprietary file database formats used by some BBS packages, and to handle searches for files located on CD-ROM drives which are notoriously slow if you access them directly. The Request processor is configured in the Mailer > File requests > Request processor section of FDSETUP. The Name field is the program to invoke (i.e. the name of the request processor) and any parameters it may require. Several macros can be specified to give the request processor access to some of the Mailer's internal variables and data. The Enabled field simply determines if the Mailer should call the request processor or if it should handle file requests internally. The Swapping option determines if the Mailer should swap its program image out of memory prior to invoking the request processor. The available macros are described in the FrontDoor Developer's Kit (FDDEV) and the specific macros you have to use with the request processor should be covered by its documentation. There are at least two request processors available for FrontDoor at the time of publication; one works with the Maximus BBS software and the other with RemoteAccess 2.x. 84 13 Swapping Both the Editor and the Mailer require over 220 KB of RAM. If you shell to DOS, or load another program from the Mailer, this memory is not available for other programs. You can therefore force the Editor and the Mailer to swap their program image to disk or EMS/XMS memory. If you have specified that you want the programs to use XMS/EMS memory for swapping but there is not sufficient XMS/EMS memory available, the swap image is written to disk. The swap file is placed in the SYSTEM directory and removed when you return to the program. If you enable swapping for the Mailer, it will be swapped out when you invoke a DOS shell and when you invoke other programs. The Mailer swap setting also affects the Terminal. The Terminal will not flush its scroll-back buffer to disk if any type of swapping is enabled for the Mailer. Once the swap image has been created and written to XMS/EMS memory or a disk file, all memory used by the program is freed except between three and five KB which will always remain in memory. 13.1 Complete path specifications To avoid problems when you enable swapping, it is recommended that all the filename and directory specifications under Global > Filenames in FDSETUP contain complete path specifications, including a drive specifier. If you choose to swap to a disk file, it is further recommended that you specify a complete path to where you want the swap files to be placed (Global > FileNames > Swapping). 13.2 Loading programs in a DOS shell Make sure that you do not load any TSR (Terminate and Stay Resident) programs, such as DOS' PRINT and SideKick, when you are in a DOS shell. Failure to follow this advice may lead to system lockups when you attempt to return from the DOS shell. 85 14 CRT environments All programs in the FrontDoor package are screen environment aware and most of them can adjust to most (if not all) screen sizes as long as the current screen mode has 80 or more columns (horizontally). If you have an EGA or VGA card that allows you to set the screen mode to something like 132x28 and you want to use this in the Editor, the Mailer, or the Terminal, you should specify that you want the AUTO screen mode for that particular program. This will prevent it from altering the screen mode. Please note that if you run the Mailer in AUTO mode, you must run the Editor and the Terminal in AUTO mode as well, if you plan to invoke either from the Mailer (and not just from DOS). Otherwise, the Mailer will display garbage on the screen when you return from the Terminal. The opposite (running the Terminal in AUTO and the Mailer in 25 or 43/50) is, however, properly handled. <+> The registered version also allows you to use an alternate mode referred to as Custom, which allows you to specify the exact register parameters to the INT 10H Video BIOS call. Refer to the documentation for your video adapter for further information. 86 15 Message Status Bits Message status bits determines how the Mailer will treat outbound (outgoing) messages and how the Editor will treat locally destined messages. The Message status menu is accessed by pressing in the Editor and is also displayed when entering a new message and changing the subject of a message. The keys listed refer to the status menu in FM. Private Indicates that the message should only be read by the addressee. Crash High-priority mail. Messages with crash status can never be routed or held by a route file (see "Mail routing"). Crash messages do, however, NOT override any cost restrictions for an event; they also require that the destination system has been qualified before the Mailer will call it. Hold The hold status will force the Mailer to ignore the message unless the destination system calls your system to pick up its mail. If the message is destined for a point system and the boss of the point system calls your system, the message will be given to the boss unless the message also has Direct status. File Indicates that the message has one or more files attached to it. The files are listed in the subject (Re:) line. File attach messages can be routed and held unless another status bit (Crash, Immediate, Hold, etc.) prevents it. The default treatment of a file attach message is to send it directly to its destination. File request Indicates that the message is a File Request. The requested files are listed in the subject line and may contain wild-cards characters. File request messages can be held, but are never routed. See "File Requests". Update request Similar to a File Request, but the subject line (Re:) must contain valid (existing) file specification(s). When the Mailer connects to the destination system, the requested files will only be sent by the remote if they are more recent than the matching files on your system. See "File Requests". Kill/sent Removes the message after it has been sent or picked up. If the Kill/Sent status is not set on a message, it will be marked as sent after it has been sent or picked up. 87 Trunc/sent Truncates the attached files to zero length after they have been sent or picked up. This option is only valid for file attach messages. //1// Delete/sent Removes the attached files after they have been sent or picked up. This option is only valid for file attach messages. Direct Similar to the Crash status, with the difference that they can be held. Messages with the Direct and Hold status combined require that the destination system (including points) call in to pickup their mail. Immediate mail Similar to the Crash status, but messages with immediate status will be sent at the first opportunity, ignoring all restrictions and qualifications. If there is one or more messages with immediate status to a system, all other messages (except those with hold status) to that system will be added to the mail packet. USE THIS OPTION WITH CAUTION! Lock Locks a message from further access. This is done by setting the DOS attribute to read-only and adding a special flag to the message text. The Mailer and most other utilities will ignore message files (.MSG) with read-only attribute. Messages with lock status cannot be removed by any of the purge functions and will never be sent (or picked up). The Editor can, however, renumber a folder containing one or more messages with locked status. Sent Indicates that the message has been sent or picked up by the addressee. Once a message has been flagged as sent, they cannot be sent or picked up by the addressee. No status Clears all status bits. This is actually a toggle. I.e. if you press once, the Editor will remove all status bits (except the Local bit), if you press again, the Editor will restore the previous status bits. ____________________ //1// It is nearly impossible to recover a truncated file so use this option with caution. 88 16 Mail routing This is one of the most complex parts of FrontDoor and takes considerable time to learn and understand. Make sure you understand how each routing verb affects mail routing before you use it. When the Mailer is started, it scans for any active events and when one is found, opens the route file, ROUTE.FD, and uses it to determine whom to send mail to, and how to send it. The route file must be located in the SYSTEM directory. If the timestamp of the route file is modified, the Mailer will detect it and rescan the NetMail folder (see "Semaphores"). Global routing commands are those that appear before any SCHEDULE keyword in the route file. They are always used, so you can specify routing that is identical for all your events here. Local routing commands are those that appear between two SCHEDULE keywords (a "Schedule block") in the route file. the Mailer determines which schedule block to use by searching for a schedule keyword with a tag (letter) matching the current event tag (see "Events"). Several references are made to Hold status in this chapter. Do not confuse this with the HOLD command. The Hold status refers to the message status bit (see "Message Status Bits"), or where stated, to a system's nodelist status. The Mailer allows you to insert comments in your route file. Every line with a semicolon as the first non-space (TAB/Space) character is treated as a comment. While comments may seem inadequate at first glance, it is a very useful function. Going back to a route file you wrote five months ago may not be your definition of spending a weekend in joy and happiness. Addresses specified in the route file should always be fully expressed. The * macro (implying "ALL") is supported. You can also use any combination of nodelist flags to specify a range of systems. The routing language is case insensitive (case does not matter). SCRIPT, SCripT, and scRIPt are all treated as the same command. 16.1 Default routing The Mailer has several default rules for routing that will be used if no other rules have been defined for a specific system. Some of the default rules cannot be overridden by routing commands. 16.2 Message status Messages with immediate (IMM hereafter), Crash, File/Update Request, and Direct status will normally not be routed. They are sent directly to the destination system, with the exception of systems without a telephone number, as described later. Messages with IMM or Crash status can never be held by using the HOLD command. Messages with Crash status can, however, be prevented from 89 being sent by event behavior, qualification lists, and cost restrictions. Messages with Hold status will NEVER be packed into a mail packet. They can always be picked up by the destination system (unless they also have Lock status). Messages to points with Hold status can and will be picked up if the Boss of the point calls to pickup mail, unless the message also has Direct status. Messages with IMM status will always be packed into mail packets, overriding event restrictions. If you have a message with IMM status, the Mailer will add all other qualifying messages to the same system to the same mail packet. Messages with Rcvd (read), Orphan, Lock, and/or Sent status are ignored by the Mailer. 16.3 Host/Hub/Boss routing Messages not otherwise prevented from being routed will by default be sent to the destination system's Host (see "Nodelist") if the destination system is outside your own net and to its Hub if it is within your own net. If you have mail for a system listed as DOWN in your nodelist database, it will never be packed. If the system calls your system to pick up mail, it will receive its mail. If you have mail for a system listed as HOLD or PVT (no telephone number) in your nodelist, the default behavior is to send the mail via the system's Host, Hub, or Boss. If the mail to a HOLD or PVT listed system contains file attaches, the mail packet will by default be placed on hold for the Host/Hub, or go directly to the Boss in the case of a point. Messages to systems not in your nodelist (unlisted systems) will not be Host/Hub routed by default, but they can be explicitly routed. Messages with Crash, IMM, or Direct status, destined for points to which the Mailer cannot place a call directly will retain its status (and restrictions), but the Mailer will instead assume the point system's Boss as the destination. 16.4 Qualifying systems Before the Mailer will send mail to a system, it must be qualified by specifying its address, or a macro that includes its address in a SCHEDULE block (this is not true for IMM mail as previously described). You can qualify a system by placing a SEND-TO command in the global section of a route file, but this is NOT RECOMMENDED. SEND-TO, POLL 90 and the optional SEND-LIST after a SCHEDULE command are the only available methods to qualify a system for mailing. //1// If the Mailer cannot find ROUTE.FD, mail to all systems will be put on hold for the destination system to call in and pickup its mail. 16.5 Route commands SCHEDULE [SEND-LIST] Defines the start of a schedule block. All commands following a SCHEDULE command are considered a part of the same block until another SCHEDULE command is encountered. TAG is a letter corresponding with the event tag, defined in FDSETUP (see "Events"). You should only have one schedule block per defined event tag. The optional SEND-LIST parameter should contain the systems to qualify for the event. SEND-TO Qualifies the specified systems. This is identical to the optional SEND-LIST after the SCHEDULE command. HOLD Hold mail for the specified systems. UNHOLD The opposite of HOLD. Useful if you have used the HOLD command in the global section and want to negate the effect of those for one or more systems. NO-ROUTE Send mail to the specified systems directly. This overrides the default routing rules. Some logic is applied to "directly" when using the NO-ROUTE command. Systems which the Mailer cannot mail directly will be sent "as directly as possible". E.g. if includes a system listed as PVT (no telephone number), the Mailer evaluates the "NO-ROUTE" as "NO-ROUTE this message to the system's nearest Host/Hub". DIRECT ____________________ //1// You only need to qualify the final destination - target - system for mail to be sent. I.e. if you route mail for system A and B via system C, you only need to qualify system C. 91 Unconditionally send mail to the specified systems directly (you can still place it on hold by using the HOLD command). No implied logic is applied to this command, and if the Mailer cannot call the specified systems, the resulting mail packets are placed on hold automatically. Note that a system must still exist for this to apply. If a system that is included in a DIRECT does not exist, the message will be stamped "Orphan" and not included in a mail packet, but it can still be picked up by the destination system. ROUTE-TO Route mail (excluding file attach messages) for the specified systems via TARGET. This automatically implies "NO-ROUTE ", i.e. the target system's mail will not be routed through another system, even if so previously stated. HOST-ROUTE Route messages, not otherwise prevented from being routed, for the specified systems through their Host system. HUB-ROUTE Route messages, not otherwise prevented from being routed, for the specified systems through their Hub system. ROUTE-FILES Route file attach messages (and normal mail) for the specified systems through TARGET. This automatically implies "NO-ROUTE ", i.e. the target system's mail will not be routed through another system, even if so previously stated. You should ask the SysOp of the TARGET system if he allows you to route files through his system before using this command. POLL Force the Mailer to call the specified systems even if there is no other mail destined for them. This does not effect the routing of existing mail destined for the specified systems. The POLL command unconditionally qualifies a system for mailing. Each system in LIST will only be called once. If an event is restarted, the Mailer will not call systems that it has already polled. EXCEPT Specifies an exception to the LIST of the previously used command. FORWARD-FOR Tells the Mailer that you allow the specified systems to send mail (excluding file attach messages) through your system. Note that this does not place any restrictions of the destination of the forwarded mail. FORWARD-TO 92 Tells the Mailer that you allow mail (excluding file attach messages) to be forwarded through your system ONLY if it is destined to any of the specified systems. This is a more secure alternative to the FORWARD-FOR command. FILES-FOR Identical to FORWARD-FOR, but for file attach messages. FILES-TO Identical to FORWARD-TO, but for file attach messages. DENY Allows you to prevent the specified systems from picking up waiting mail. The Mailer will still accept incoming mail from the specified systems. This can be used to prevent local (or other low-cost) systems from picking up their mail in national mail events, etc. SCRIPT