home *** CD-ROM | disk | FTP | other *** search
/ PC Online 1997 March / PCO3_97.ISO / filesbbs / dos / xor115.arj / XOR.DOC < prev    next >
Encoding:
Text File  |  1997-01-23  |  54.4 KB  |  1,500 lines

  1.  
  2.                         ╒══╕ ╒══╕ ╒═══════╕ ╒═══════╕
  3.                         │░░│ │░░│ │░░░░░░░│ │░░░░░░░│
  4.                         ╘══╛ │░░│ │░░╒════╛ ╘════╕░░│
  5.                         ╒════╛▒▒│ │▒▒│ ╒══╕ ╒════╛▒╒╛
  6.                         │▒▒▒▒▒▒▒│ │▒▒│ │▒▒│ │▒▒▒▒▒▒╘╕
  7.                         │▓▓▓▓▓▓▓│ │▓▓│ │▓▓│ │▓▓╒═╕▓▓│
  8.                         │▓▓╒════╛ │▓▓╘═╛▓▓│ │▓▓│ │▓▓│
  9.                         │██│ ╒══╕ │███████│ │██│ │██│
  10.                         │██│ │██│ │███████│ │██│ │██│
  11.                         ╘══╛ ╘══╛ ╘═══════╛ ╘══╛ ╘══╛
  12.  
  13.                        An online request processor
  14.  
  15.                       for McMail, FrontDoor, Intermail
  16.                          and compatible systems
  17.  
  18.                            V e r s i o n  1.15
  19.  
  20.                         Program and documentation
  21.  
  22.                         Copyright (c) 1993-97 by
  23.  
  24.                              Mirko K. Mucko
  25.  
  26.  
  27.  
  28. Overview
  29.     0   Overview / legal notes
  30.     1   Introducing this software
  31.     1.1 Hardware requirements
  32.     1.2 Software requirements
  33.     1.3 Other requirements
  34.  
  35.     2   Getting started....
  36.     2.1 xOR.CFG - the configuration file(s)
  37.  
  38.     3.1 Command line parameters
  39.     3.2 Calling from McMail
  40.     3.3 Calling from FRONTDOOR
  41.     3.4 Calling from INTERMAIL
  42.  
  43.     4.1  FBBS2IDX
  44.     4.2  RA2_IDX
  45.     4.3  xORUTIL
  46.     4.4  Special macros
  47.     4.5  Command line parameters for xOR
  48.  
  49.     5.1 Trademarks
  50.     5.2 Thanks 'n such stuff
  51.     5.3 Contact the author
  52.     5.4 Registration sites
  53.  
  54. Legal notes
  55.  
  56. xOR  is  neiter public domain nor sales-war. I wrote it  in  the
  57. spirit of shareware, which means you may use it for 30 days, and
  58. if  you like to continue, you must register or stop using it.  I
  59. spent  over 3000  hours working on this project, so  registering
  60. will keep myself working on new features :-)
  61.  
  62. Even so, xOR, it's documentation, executable and source code  is
  63. protected by international law and both, written and copyrighted
  64. by Mirko K. Mucko, Duesseldorf, Germany.
  65.  
  66. The distribution packet, originally stamped with my PKware's ZIP
  67. authentitiy verification, may be freely distributed as  long  as
  68. no  modifications on the archive, the contens of the  archve  or
  69. the single codes, includung the text files, will appear.
  70.  
  71. I  cannot  guarante for the errorfree function of xOR,  nor  for
  72. neither implicied or explicied failures succeeding of the  usage
  73. or  even owning of xOR. But I tried my best to avoid any damages
  74. to you, the user, as long as you do not start hacking in the EXE
  75. files.
  76.  
  77. All functions introduced with this  sign "{+}" are features only
  78. avail in the fully registered version.
  79.  
  80. 1. Introducing this software
  81.  
  82. I guess, it was in late september '93, my file base was grown to
  83. a  maximum  of 15.000 files with 2 GB in size, and my front  end
  84. mailer, FrontDoor, was no longer able to handle on the one  hand
  85. such  lots of files and on the other hand, there was the  highly
  86. demand  from friends and also from my site to reduce the  number
  87. of requests for several people (called "sucker" :-). It was also
  88. my  impression, FrontDoor is  too unflexible concerning passwort
  89. protected file requests, limits, events and so on.
  90.  
  91. At  the same time, I got FrontDoor 2.20.a.ml, which was the very
  92. first  mailer  supporting external file request processors  like
  93. you're  about to install. So, I tried to design such a  program,
  94. and  hopefully I may say, it's a success. Within the  first  few
  95. weeks after releaesing gamma 1, I got lots of registrations, and
  96. nearly everyone  who took  time enough  to install this programm
  97. said it's "great stuff". So I collected new feature requests and
  98. checked  over and over the damn source code, which  is  actually
  99. about 2.1 MByte in size.
  100.  
  101. The  version you hold actually on your [hard] disk is the latest
  102. release  of  an external request processor,  which provides many
  103. features such as  multiline awareness, extensively  fast speeded
  104. search in own  indexed file databases, an  file, time and number
  105. counting system including  different limitations  for  different
  106. users,   event  management,  also   password   management   with
  107. in/excluding  different users or groups of  users  from  special
  108. pathes  or files and so on. You see, it's worth continue reading
  109.  
  110.  
  111.  
  112. 1.1 Software requirements
  113.  
  114. Required is as operating system
  115.  
  116.        MS-DOS version 3.3 or higher
  117.     or DOS Box of WIN'95 build 950 or higher
  118.     or PC-DOS version 3.3 or higher
  119.     or DR-DOS version 5.0 or higher
  120.     or Novell DOS version 7.0 or higher
  121.     or any compatible operating system
  122.  
  123.     Also, you need a mailer such as
  124.  
  125.        McMail 1.00g1 or higher
  126.     or FrontDoor version 2.20 or higher
  127.     or FrontDoor version 2.11/reg or higher
  128.     or Intermail version 2.27 or higher
  129.     or any compatible mailer system
  130.  
  131. xOR has been extensively tested with this software :
  132.  
  133.     MS-DOS 5.0, 6.0 up to 6.22
  134.     MS-DOS 7.0
  135.     DR-DOS 6.0
  136.     Novell DOS 7.0 up to patch level 9
  137.  
  138.     NOVELL Netware 3.11, 3.12, 4.02 and 4.1 with SFT-III 4.1
  139.  
  140.     4DOS 4.00, 4.01, 5.0f and 5.50
  141.  
  142.     QEMM 7.01 up to 8.00 and many other high memory driver
  143.  
  144.     Quarterdeck's DESQview version 2.42 and 2.63
  145.  
  146.  
  147. 1.2 Hardware requirements
  148.  
  149. xOR  requires intel processor 80386 or any higher or  compatible
  150. processor and min. 350 KByte during run-time.
  151.  
  152. To  make  this  possible, we suggest a absolute minimum  of  one
  153. megabyte RAM for swapping features of your mailer and xOR.
  154.  
  155. xOR  needs  a  minimum  of  400 KByte on  your  hard  disk  plus
  156. additional storage for the compiled index, which may increase to
  157. an  unlimited size [with 20.000 files, the index  is  7   MB  in
  158. size].
  159.  
  160. It is  recomendet but  not  required  to have some EMS avail for
  161. buffering operations.
  162.  
  163. 1.3 Other requirements
  164.  
  165. Also,  you need either a "FILES.BBS" in each directory  or  must
  166. have  your  files  in  one  of the supported  indexed  filebase.
  167. Actually, xOR does support from startup these indices :
  168.  
  169.     FILES.BBS    included
  170.     RA 2.0x      included
  171.     RA 2.5x      included as BETA version ( I didn't get any feedback)
  172.     EzyCom 1.10  Ezy2xOR 0.5x written by B. Huertgen
  173.  
  174. If  your  favourite software is not yet included,  pass  me  the
  175. structures and we will see whether it's neccessary to  implement
  176. these structures.
  177.  
  178.  
  179. 2.0 Getting started
  180.  
  181. It seems you're still interested in xOR - OK, I'll warn you:
  182. xOR  is  not easy to configure if you want make use of  all  its
  183. features, but I can tell you : it's realy worth it !
  184.  
  185. To  run xOR, you need in single line environments a config  file
  186. called  xOR.CFG  which must be found in the  same  directory  as
  187. xOR.EXE. If you're running multiline environments, you have  two
  188. choices :
  189.  
  190. 1) You may use the same config file for all lines
  191.     -> it's ok. Just call it xOR.CFG
  192.  
  193. 2)  You  want  different configs, perhaps due to different  AKAs
  194. [even if xOR will handle unlimited] or have some other mad thing
  195. in mind : null problemo!
  196.  
  197. The  names are xOR<TASK>.CFG. During startup, xOR determines the
  198. CFG  name by the environment variable "TASK". So on startup, xOR
  199. checks the configs in this way :
  200.  
  201.     1) xOR<TASK>.CFG avail ? If no,
  202.     2) xOR.CFG avail ? If no - > abort!
  203.  
  204.  
  205. 2.1 xOR.CFG - the configuration file
  206.  
  207. Now,  I'll  explain  the sample configuration file  accomplished
  208. with this package line by line .....
  209.  
  210. Note for all records : all AKAs, Passwords, path entries and  so
  211. on  are  only limited by the free memory, RAM and on hard  disk.
  212. So, xOR handles all memory usage dynamically!
  213.  
  214.     MAINAKA 2:2433/920 TXT
  215.  
  216. This  defines  your MAIN aka. This AKA is used whenever  no  AKA
  217. matching  is possible for response mails, either due to  missing
  218. configuration lines or due to unknown AKAs on the  remote  site.
  219. The  last  parameter is the extension for all  response  message
  220. texts.  So,  as default, all responses will be taken from  files
  221. with  extension  ".TXT". For usage of these files,  please  read
  222. late on.
  223.  
  224.     AKA 144:4913/0     144:*/*.*         GAM
  225.     AKA 144:4913/410   144:4915/*.*      GA2
  226.     AKA 95:2408/0      95:*/*.*          RAF
  227.  
  228. Now,  we  have  three more AKAs. For all users  requesting  with
  229. "144" as zone,my AKA 144:4913/0 is used and ".GAM" as extension,
  230. but if there're nodes/points from within my network, I'd like to
  231. use other text files and my normal node AKA. Also, the extension
  232. ".RAF" and my AKA 95:2408/0.0 is taken for the RA File Network.
  233.  
  234.  
  235.     LOGFILE F:\LOG\xOR$%TASK%$.LOG
  236.  
  237. This is the name and path of xOR's logfile. This is the "long"
  238. versions for muoltiline systems, but may be used also on single
  239. line systemes if TASK as environment variable is set.
  240.  
  241. The same  applies to OLILOGFILE, which  is used for the off line
  242. interface of xOR.
  243.  
  244.  
  245.     INBOUND C:\MCM\INBOUND.SEC
  246.  
  247. INBOUND  is you *.pkt directory. xOR posts here several text files
  248. to be imported either as netmail or as echomail. Therefor, if you have
  249. a "secure" inbound for your mail tosser, use that one.
  250.  
  251.  
  252.  
  253.     NETMAIL F:\SHRD\NETMAIL
  254.  
  255.  NETMAIL defines the path to your *.MSG (="Matrix") messages.
  256.  
  257.  
  258.     HOMEPATH D:\TP\PRG\FIDO\xOR
  259.  
  260. This  is  xOR's  main path. Here xOR will try to find  it's  CFG
  261. files and other more or less important files :-)
  262.  
  263.  
  264.     PKTPATH C:\TEMP\xOR
  265.  
  266. This  is the path for temporary storing files such as SWAP files
  267. or  temporary response packets. This dir may point also to a RAM
  268. disk.
  269.  
  270. Now, let's come to some data bases and related files :
  271.  
  272.     ALIASFILE      D:\ALIAS.IDX
  273.     ALIASDESCBASE  D:\ALIAS.DSC
  274.  
  275. Use  these statements to define the name and  path  of  the  xOR
  276. internal database holding all ALIASes you will define. Now,  you
  277. don't  have to have a FILES.BBS in this directory since xOR will
  278. evaluate during compiling  time  the  description  of your ALIAS
  279. files. Note these things:
  280.  
  281.       The aliases name *AS DEFINED IN xOR* must be in your
  282.       description file (FILES.BBS,RAindex or what so ever)
  283.       So, if you define "POINTLST   PR24LIST.###", be sure
  284.       that "PR24LIST.###" is listed in your FILES.BBS !!!!
  285.  
  286.     DATABASE C:\TEMP\xOR\xOR.FDX
  287.  
  288. This  is  the name and path of your "primary" database. It  will
  289. contain after compiling the index files an quick index with  all
  290. file NAMEs.
  291.  
  292.  
  293.     DESCBASE C:\TEMP\xOR\xOR.DSF
  294.  
  295. This  is  perhaps the largest database. Due to the circumstances
  296. xOR  will  support  ANY kind of external file  database,  it  is
  297. required  due to speed on the one hand and due to the fact  also
  298. other  programmers  may support xOR's index files  to  keep  all
  299. descriptions in one file.
  300.  
  301.  
  302.     CDINDEX C:\TEMP\xOR\xOR.CDX
  303.  
  304. This  file  will contain all files which are included  from  the
  305. CD's if you're using CDs for file request.
  306.  
  307.  
  308.     CDDESCBASE C:\TEMP\xOR\xOR.DCD
  309.  
  310. This  is,  if  you're  using xOR also for  CD  file  areas,  the
  311. description database for these files.
  312.  
  313.  
  314.     CDPATHINDEX C:\TEMP\xOR\xOR.CDP
  315.  
  316. This  file  contains all pathes from which files are requestable
  317. concerning CDs.
  318.  
  319.  
  320.     PATHBASE C:\TEMP\xOR\xOR.PDX
  321.  
  322. This file will contain all pathes xOR will send files from.
  323.  
  324.  
  325.     USERBASE C:\TEMP\xOR\xOR.USR
  326.  
  327. In  this file, xOR will keek it's statistical records concerning
  328. the user's bahaviour to determine the free amount per day and so
  329. on.
  330.  
  331.  
  332.     ResumeIndexPath C:\TEMP\xOR\RESUME
  333.  
  334. As you may see, this is not a file but a PATH. Be sure this path
  335. DO  exist  when  you  run xOR ! In this path, information  about
  336. requested files will kept, e.g. for determining whether  a  user
  337. requests one file twice due to CARRIER LOST or similar reasons.
  338.  
  339.  
  340.     StatisticBase  C:\TEMP\xOR\STATIS.DAT
  341.     DLStatisticBase C:\TEMP\xOR\DLSTATIS.DAT
  342.  
  343. These statements are required if you wish to use statistic
  344. funtions for requested files (number of accesses, last time ect)
  345. and update the download counter in your BBS software.
  346.  
  347. If you wish to use DLStatisticBase in conjuntion with FILES.BBS
  348. via FBBS2IDX, use also these statments :
  349.  
  350.         DLDigits    3
  351.         DLBrackets  []
  352.  
  353. With these statements, a download counter will be inserted with
  354. three digits (filled with "0") and in these brackets : [ and ].
  355.  
  356.  
  357.     CDBUFFER C:\TEMP\xOR
  358.  
  359. If you enable this switch, and users request files from CDs, due
  360. to  speed  reasons  the files are copied  before  sent  by  your
  361. Mailer.  Its advantage over "unbuffered" sending is  that  after
  362. the  file  has been copied, you may do everything you want  with
  363. the  CD,  including change it (e.g. if you have a CD ROM changer
  364. like me).
  365.  
  366. Warning  :  if you're running multi line environments (e.g.  via
  367. SET  TASK=<Task>), xOR will *not* copy the files from CD to this
  368. path  but to a path defined by the environment variable TASK  as
  369. extension.
  370.  
  371. So,  if TASK is 3, the diretory to which xOR will copy the  file
  372. would be "C:\TEMP\xOR.3". Be *sure* this directory exist !
  373.  
  374.  
  375.     SYSOP Mirko Mucko
  376.  
  377. This  is  your name. It should be equal to the name in  the  key
  378. file.
  379.  
  380.  
  381.     OLICFG     D:\TP\PRG\FIDO\OLI.CFG
  382.  
  383. OLICFG defines an alternate configuration file for xOR. This
  384. file is passed to XOR, *not* to XOROLI on calling. Use it e.g.
  385. if you have different pathes for online / offline requests or similar.
  386. The file will be passed to XOR via "/C<FILE>" command line argument.
  387. Ommit this to use the default cfg file.
  388.  
  389.  
  390.  
  391.     AliasList F:\SHRD\FILES\ALIAS.LST
  392.  
  393. This  is  the  name and path to your raw alias  input  file.  It
  394. defines  the  context  of  the file  someone  requests  ans  the
  395. resulting response. The syntax within this within this file is
  396.  
  397.     <ALIAS> <Corresponding file(s)> [!password] [#Release-Time]
  398.  
  399. The "[" "]" are not required of cause :-) You may also  define
  400. wildcards within the list, like "ALLNLIST NODELIST.*" would do.
  401.  
  402. Also,  if  you  do  not want include secondary  files,  you  may
  403. specify the aliases within xOR.CFG with this dtatement:
  404.  
  405.     ALIAS CD F:\SHRD\FILES\XFILES\CDROM.ZIP
  406.     ALIAS NODELIST F:\SHRD\NODELIST\ORG\NODELIST.>*
  407.     ALIAS 24000 G:\FILES\ANTR\24000.ZIP !PNTLIST
  408.  
  409. Here,  we  have  also a very important macro for aliases  :  the
  410. extension  ">*" will be translatet to the latest file  matching
  411. "NODELIST.*"  in  this case.
  412.  
  413. To explain the "Release-Time" thing, look at this example :
  414.  
  415.     ALIAS  xOR   C:\FILES\xOR115.ZIP   #230197-0000
  416.  
  417. This means, starting on Jan, 23rd 1997 at 00:00h,with the  magic
  418. "xOR" you  may get  the version 1.15. This  is useful  if you're
  419. about to  spread files by magic starting on a special date/time.
  420. Note  that date/time is expressed in European format, not in US.
  421.  
  422. The description for aliases is taken from  RA or FILES.BBS. Note
  423. that  the  description  must fit  to  the file, not to the entry
  424. in  xOR  (concerning  wildcards and "latest file" function ), so
  425. if you specify "NODELIST.>*", and  "NODELIST.A93" is the current
  426. one,  be sure  that in FILES.BBS  or RA is NODELIST.A93 defined.
  427. If not, the alias compiler will note you.
  428.  
  429. I'd like to explain how the alias description is taken:
  430. in FILES.BBS environment, it's no problem to take the desc. from
  431. the FILES.BBS which is in the same path as the alias file itself.
  432. In RA2.xx environment, xOR saerches in the path database from RA
  433. for  an matching path and then searches in the file database for
  434. the matching entry. So, the fastes way is to have file area 1 in
  435. RA  as an  "invisible"  area  in which you summarize all of your
  436. alias files.
  437.  
  438. To grant users access to files, you have to use three statements.
  439. First of all, you have to define groups:
  440.  
  441. UserGroup  AllUser    ALL
  442. UserGroup  PROT       Protected
  443. UserGroup  UNPROT     Unprotected
  444. UserGroup  Unlist     Unlisted
  445. UserGroup  MyNet      2:2433/*.* 2:2440/*.*
  446. UserGroup  MyPoints   2:2433/920.* 2:2433/921.*
  447. UserGroup  Friends    2:2433/1800 2:2433/500 2:2433/503 2:2426/2004
  448. UserGroup  MCMBETA    2:2426/2004 2:2426/2090
  449. UserGroup  Sysop      2:2433/920.0
  450.  
  451. Then, you have to define Groupnames for Pathes:
  452.  
  453. PathGroup  AllFiles    g:\Files
  454. PathGroup  CDFiles     L:\ M:\ N:\ O:\ P:\ NW312SVR\FILES:\PUBFILE
  455. PathGroup  Erotic      K:\ g:\Files\xgif
  456.  
  457.  
  458. Note   that   xOR   fully    supports   Netware   Server\Volume:
  459. specifications  like in sample above! In the next step,we concat
  460. both groups with  each other [very simply, just belive in it :-]
  461.  
  462. Grant      AllFiles   EXCEPT Erotic   TO AllUser
  463. Grant      CDFiles                    To AllUser
  464. Grant      Erotic                     To MyNet
  465. Grant      Erotic                     To Friends
  466.  
  467. Examining these statements, you should come to this conclusion:
  468.  
  469. 1) all files in g:\files [group "AllFiles] EXCEPT the files in
  470.    g:\files\erotic are accessable to all user
  471. 2) all CD ROM files [Group CDFILES] are ok for all user
  472. 3) the files in K:\ and g:\files\xgif are only valid for my
  473.    friends, defined in group FRIENDS.
  474.  
  475. Ths provides very simple, fast and flexible operations.
  476.  
  477. Now, I'd like to show you how to define different request limits
  478. for different requesting systems.
  479.  
  480.     Line User     Baud    Time         minutes  files  kbytes   minutes  files  kbytes
  481.          Group    Group   Group                per day                  per request
  482.  
  483. DEFINE 0 Mypoints ALLSPEED ALLTIMES       -1       50     50000    60       50     50000
  484. DEFINE 0 Friends  ALLSPEED ALLTIMES       30       20        -1    15       20        -1
  485. DEFINE 0 MyNet    ALLSPEED ALLTIMES       25       20        -1    15       20        -1
  486. DEFINE 0 UNLISTED ALLSPEED ALLTIMES       10       10       512    10       10       512
  487. DEFINE 0 PROT     ALLSPEED ALLTIMES       50       50      5120    25       50      5120
  488. DEFINE 0 UNPROT   ALLSPEED ALLTIMES       20       10      1024    10       70      1024
  489.  
  490.  
  491. In the first last lines, I define a more or less "global" setting
  492. for  all users. DO NOT MISS THESE SETTINGS, also no one will  be
  493. able  to  request until defined later on ! All users, which  are
  494. "unprotected"  may request 10 files with 1 MB in size,  using  a
  495. maximum of 20 min per day. A "day" starts actually at 00:00h  at
  496. your local time.
  497.  
  498. For  all  nodes within my net (line 3), I grant 25  minutes,  20
  499. files  and an unlimited ammount of kbyte . In that way it's  for
  500. ISDN nodes within our net possible to get about 20 MB/day :-)
  501.  
  502. Perhaps you noted already : the "-1" is a special number,  which
  503. doesn't  represent a negativ abount of time, size or files,  but
  504. an  UNLIMITED.  So,  be  carefull  when  you  use  it.  To  deny
  505. completely a special user, you may set his/her limit to "0".
  506.  
  507. Ok,  that's  it. Now, we come to some mathematical stuff.  Since
  508. different  BBSes have different line qualities, you may  specify
  509. for  your  own BBS a transfer rate based on your own experience.
  510. Be  *sure*  to define here all rates your modem can connect  at,
  511. elso  it  will  result in a failure if this non-defined  CONNECT
  512. string appears !
  513.  
  514.     CONNECT       CPS
  515.     string        rate
  516.  
  517.     BAUD 1200     110
  518.     BAUD 2400     235
  519.     BAUD 4800     400
  520.     BAUD 7200     600
  521.     BAUD 9600     800
  522.     BAUD 12000    1100
  523.     BAUD 14400    1250
  524.     BAUD 16800    1450
  525.     BAUD 19200    1900
  526.     BAUD 38400    3500
  527.     BAUD 64000    7500
  528.  
  529. This  means e.g. if you do have a CONNECT 64000/REL, 7500  bytes
  530. of  data  will  be  transfered each second [in generall]. If you
  531. forget to enter  a baud rate, xOR  assumes "Baud / 10"  as a CPS
  532. rate for that request.
  533.  
  534. A related command is
  535.  
  536.   OLIBAUD    64000
  537.  
  538. OLI (as  abbrevication for Off  Line Interface)  has to  receive
  539. "virtual baud rate",  which  could  represent  the  highest baud
  540. rate your system  supports  or any other numeric variable. Based
  541. on that speed, the  off line  interface of xOR handles requests.
  542.  
  543. After  we've defined the more limits, let's come to the  general
  544. limitations and event behaviour:
  545.  
  546.     TimeGroup   DAYTIMES    0800   1800   All
  547.     TimeGroup   ALLTIMES    0000   2400   All
  548.     TimeGroup   NIGHTTIMES  1800   0800   All
  549.  
  550.  
  551. For FILES.BBS systems and EZY2xOR, these pathes and statements
  552. are required:
  553.  
  554.     FILELIST D:\TP\PRG\FIDO\xOR\FDOKFILE.LST
  555.     FILELIST D:\TP\PRG\FIDO\xOR\ADD.LST
  556.     FILELIST D:\TP\PRG\FIDO\xOR\ADD.UN
  557.  
  558. This statement defines the list(s) to include if your files  are
  559. based  of  FILES.BBS (it's xOR's default).
  560.  
  561. Note that all statements are additive, so do NOT define a path
  562. twice ! Also, **DO NOT INCLUDE CD ROM PATHES HERE** since CDs are
  563. handed in another way !
  564.  
  565. For CD's, use these statements :
  566.  
  567.     CD j:\MSDOS\4DOS j:\MSDOS\4DOS\FILES.BBS
  568.     CD j:\MSDOS\ABC  J:\MSDOS\ABC\FILES.BBS
  569.  
  570. The  first  parameter defines, as usually, the group  which  has
  571. access to this path. Then, you define the PATH, and later on the
  572. index file in which we can find the files listed. Normally, this
  573. is  a  FILES.BBS.  If  you  use FILES.BBS index routines,  these
  574. statements are REQUIRED for CD access!
  575.  
  576. For  RemoteAccess  2.xx  index compiler,  these  statements  are
  577. required
  578.  
  579.     RALIST <=20
  580.     RALIST >=20 A6+
  581.     RALIST <20
  582.  
  583. If you're familiar with RA, there should no problem.The flags
  584. refer to the "DOWNLOAD FLAGS" in the area configuration of RA,
  585. the number rtepresents the level of area to include.
  586.  
  587.      <X or <=X  means all areas less (and equal) to level "X"
  588.                 will be included
  589.      >X or >=X  means all areas greater (and equal) to level
  590.                 "X" will be included
  591.         =X      means all areas with level "X" will be included
  592.         <>X     means all areas with level "X" won't included
  593.  
  594. But note: this statement
  595.  
  596.     RALIST <=65535
  597.     RALIST <>20
  598.  
  599. won't   exclude  areas with level 20 'cause the first  statement
  600. overrides the last one !
  601.  
  602. Also  note:  you don't have to handle CDs and local files  in  a
  603. different  way since CD areas are automatically excluded  during
  604. FILE indication and vice versa.
  605.  
  606. Ok,  the  next statement is very intersting and enables the  TIC
  607. file  generator. Yes, it IS possible for users to request a  TIC
  608. file  altogether  with the file, the name of  the  TIC  area  is
  609. specified by :
  610.  
  611.         TICAREA  NEW_REQ
  612.  
  613. You may define what ever you want, but do a favour to your users
  614. and don't change it dayly .-) This area will be taken under two
  615. circumstances :
  616.  
  617.         1) the user has not defined an "own" area via the %PWD macro
  618.         2) You have set this command
  619.  
  620.         SAVETICDATAS  OFF
  621.  
  622. Why  this ?  Well.... whenever a user requests and uses a  macro
  623. concerning the TIC area or the TIC password, these datas will be
  624. stored in the user database. To avoid this (I dunno why, but one
  625. sysop requested to do so..) you may disable storing the datas to
  626. make user's life harder .-)
  627.  
  628. To treat your  user in a bad way, you can also DISable some nice
  629. features, namely TIC and FILES.BBS by these statements:
  630.  
  631.  
  632.         AllowTIC        OFF
  633.         AllowBBS        OFF
  634.  
  635. The meaning should be clear. In that way, you disable completely
  636. support  for  generating  TIC  files  ans  FILES.BBS lists for a
  637. requesting system.
  638.  
  639.  
  640. Hey,  dude, you got it nearly. Now, we come to a very  important
  641. and  perhaps most dangerous part. It's the possiblity to execute
  642. external programs DURING run time (which means while the user is
  643. online).
  644. xOR  gives  all  control to the external  program,  so  YOU  are
  645. responsible for the correct execution and return IN TIME !
  646.  
  647.  
  648. COMMAND SYSOP TEST DIR /W \BAD\*.TIC >\TMP\TEST.TXT ^=\TMP\TEST.TXT !BOSS
  649.  
  650. Starting with this sample, we have all possibilities in one run.
  651. The first parameter is, once again, the group. Than you tell xOR
  652. the  "magic"  or "alias" which have to be requested  to  execute
  653. this  command.  The  next  parameters are  the  command  itself,
  654. including the redirection to "\TMP\TEST.TXT". The next parameter
  655. for xOR starts right after the "^" and must be one of this chars:
  656.  
  657.  
  658.     = -> delete file if successfully transfered by mailer
  659.     - -> delete file in ANY case after transfer
  660.     + -> do no not and never delete this file !
  661.  
  662. Since  Intermail unfortunately does NOT support  such  commands,
  663. the "do after.." parameter won't be passed to Intermail but only
  664. to Frontdoor and compatible systems. The last parameter ("!BOSS"
  665. in this sample) it to protect the execution and transfer of this
  666. external command.
  667.  
  668. You may also transfer several meta commands passed by the mailer
  669. to xOR to the external program by these keywords :
  670.  
  671.     =A is the AKA of remote's system, e.g. "2:2433/900"
  672.     =B is the current BAUD rate, e.g. "19200"
  673.     =O is the operator's name of the remote system
  674.     =P is the session passwort or none if not defined
  675.     =S is the requested "magic" word
  676.     =X is "SECURE" or "UNSECURE"
  677.  
  678.  
  679.  
  680.  
  681. Now,  we come to the text files. Note that no file must have  an
  682. extension  since the extension is added by the  AKA  or  MAINAKA
  683. statement described earlyer !
  684.  
  685.  
  686.     FOOTER D:\TP\PRG\FIDO\xOR\TXT\FOOTER
  687.  
  688. This  file  will  be added right after the list of  successfully
  689. requested files.
  690.  
  691.     HEADER D:\TP\PRG\FIDO\xOR\TXT\HEADER
  692.  
  693. This  it the file which is shown before the list of files.  Note
  694. that within ALL text files so called "macros" are available! For
  695. these  features, pls refer to the MACRO.DOC and the  the  sample
  696. text files!
  697.  
  698.  
  699.     NOMAILER D:\TP\PRG\FIDO\xOR\TXT\NOTERM
  700.  
  701. This  is an etremely powerful statement. Since some  mailers are
  702. used  by  rare  TWITs  (e.g.  TERMINATE)  it's  nearly  possible
  703. for  everyone to get your files, even if he/she is no point/node
  704. in  your network. If you ENable this statement,  selected mailer
  705. will never get ANY file of your system, but instead receive this
  706. text file. Pls take a look at the sample file :-))
  707.  
  708.  
  709.     NOREQNOW D:\TP\PRG\FIDO\xOR\TXT\SENDFAIL
  710.  
  711.  
  712. This  text  file  will  be sent in events where  no  request  is
  713. allowed
  714.  
  715.     DENYTWITTEXT D:\TP\PRG\FIDO\xOR\TXT\NOTWIT
  716.  
  717. This  text  file will be sent if a user or an AKA is defined  as
  718. "TWIT" (see later on).
  719.  
  720.     TOOSLOWTEXT D:\TP\PRG\FIDO\xOR\TXT\TOOSLOW
  721.  
  722. This  text file will be sent if the requesting user is too  slow
  723. for  your system. To set the minimum required speed, read  later
  724. on!
  725.  
  726.  
  727.     BREAKTIMETEXT D:\TP\PRG\FIDO\xOR\TXT\BREAK
  728.  
  729. Since WaaZoo, EMSI and any known protocol won't wait eternal for
  730. the  responding system, you should set a "break time".  If  this
  731. time  is  overrun, xOR will send this text file. For  the  time,
  732. keep on reading !
  733.  
  734.     FIRSTTIMETEXT D:\TP\PRG\FIDO\xOR\TXT\FIRSTTIME
  735.  
  736. This is a textfile sent to all users on their first request. It
  737. should contain important information about your request limits,
  738. about your online  ours or anything like that, and will be sent
  739. as a netmail.
  740.  
  741.  
  742.     NoNewerFound   No file later than the required time found
  743.     NoMatching     No matching file found
  744.     PswdFailure    Password failure
  745.     TooMuchFiles   Per day too much file numbers requested
  746.     TooMuchSize    Per day too much file size requested
  747.     TimeOut        Per day too less time left for this file
  748.     RTooMuchFiles  Per request too much file numbers requested
  749.     RTooMuchSize   Per request too much file size requested
  750.     RTimeOut       Per request too less time left for this file
  751.     CDFileRemoved  CD no more presend, dismounted or changed!
  752.     FileRemoved    File no more found, perhaps removed
  753.     DupRequest     Duplicate  file  requested.  Check  your brain!
  754.     NotReleased    This file is not released yet, try later !
  755.  
  756. These  statements  are samples for the texts which  will  appear
  757. after  each  file  in  case of the result  during  request.  The
  758. meaning of the templates are:
  759.  
  760.     NoNewerFound   on UPDATE REQUEST, no newer file is found
  761.     NoMatching     no file is found during request
  762.     PswdFailure    a file is found, but password protected
  763.     TooMuchFiles   the  user tried to  request  more  files  by
  764.                    number than allowed
  765.     TooMuchSize    the user tried to request more  files  by
  766.                    size than allowed
  767.     TimeOut        the transfer time would be larger than
  768.                    allowed either by definition or by next event
  769.                    which does not allow file requests
  770.     RTooMuchFiles  the  user tried to  request  more  files  by
  771.                    number than allowed in one session.
  772.     RTooMuchSize   the user tried to request more  files  by
  773.                    size than allowed in one session.
  774.     RTimeOut       the transfer time would be larger than
  775.                    allowed either by definition or by next event
  776.                    which does not allow file requests. This
  777.                    belongs to the current session.
  778.     CDFileRemoved  if a requested and found file is on CD,and
  779.                    either the CD or the file is no more found,
  780.                    ths is sent
  781.     FileRemoved    if the file is still in index, but
  782.                    not more physically found on your disk(s)
  783.     NotReleased    in conjunction with ALIASes, you may define release
  784.                    datas, and if you too early, this is the result.
  785.     DupRequest     the user requested more  than  one  time
  786.                    the same file during one request
  787.  
  788. Reflecting  about  the last point, you may choose  the  way  xOR
  789. checks for duplicate request :
  790.  
  791.     ShowDupRequest ON
  792.  
  793. Only  if ShowDupRequest is set to  ON, xOR will show to the user
  794. he/she  requested one or more files twice or more. If  not,  the
  795. user   will   receive   the  file  one  time   without   further
  796. notification.
  797.  
  798. There're  4 levels of dup checking now avail definable with  the
  799. key
  800.  
  801.     DupCheckLevel <0..3>
  802.  
  803. It's meaning is
  804.  
  805.     0   No Dupcheck at all
  806.     1   strict check. The path and file name must be equal.
  807.         This  is  only  possible if you include the  same  path
  808.         twice to your filebase
  809.     2   normal check. The filename including the extension must
  810.         be equal to stamp a file as DUPlicate
  811.     3   relaxed check. Only the file NAMES must be equal. Since
  812.         this could result in a problem during request of the
  813.         latest 3 NODEDIFFs e.g., you have to define the
  814.         extensions which may be there to determine a file as
  815.         duplicate. This is done by the IGNOREEXTONDUP statement:
  816.  
  817.  
  818.     IgnoreEXTonDUP ARJ
  819.     IgnoreEXTonDUP ZIP
  820.     IgnoreEXTonDUP ARC
  821.     IgnoreEXTonDUP LHA
  822.     IgnoreEXTonDUP LZH
  823.     IgnoreEXTonDUP RAR
  824.  
  825. So, if you request xOR*.*, xOR114.ZIP and xOR114.ARJ would  be
  826. the  "same file" for xOR and therefor determined as an duplicate
  827. request.  But  on the other hand, NODELIST.A69 and  NODELIST.A76
  828. would be treated as different files.
  829.  
  830.  
  831.  
  832. WEEKDAYS   Sunday  Monday  Tuesday  Wednesday  Thursday   Friday Saturday Everyday
  833.  
  834. For  several  reasons you may need to output the current  dayte,
  835. including  the  day of week. So, define here the days,  e.g.  in
  836. your native language.
  837.  
  838.  
  839. Now,  the stuff with the response text files is hopefully ready,
  840. so let's come to internal specifications....
  841.  
  842.  
  843.     UseEMS ON
  844.     UseEMSBuffer ON
  845.     UseXMS OFF
  846.     UseXMSFirst OFF
  847.  
  848. With these four statements, you may define the usage of EMS and
  849. XMS during run time. On my system, EMS management is faster than
  850. XMS, so I make only EMS memory avail for xOR.
  851.  
  852. USEEMSBuffer belongs only to one single part: whether you want
  853. xOR to copy the whole FILE INDEX to  EMS  during runtime for a
  854. very fast access. If you haven't enough EMS, xOR will tell you
  855. so and proceed in the normal way.
  856.  
  857.     BreakTime 60
  858.  
  859. This statement defines the absolute maximal time in seconds  xOR
  860. will spend for searching files in indices, copy files from CD to
  861. disk  ect...  I decided it's better to break at a special  point
  862. than  searching for eternity, since the user's mailer will  drop
  863. carrier  in  EMSI/WaaZoo sessions since 60 seconds  without  any
  864. response from your site.
  865.  
  866.     Twit 241:*/*.*
  867.  
  868. With  this  statement, you may define a single user  or  even  a
  869. whole zone as "twit", which meanse you absolutely deny any  kind
  870. of request.
  871.  
  872.     TwitName Ron Dwight
  873.  
  874.  
  875. Instead of AKAs, you may also exclude users by name.
  876.  
  877. With the following keyword, you may also exclude special strings
  878. presented  by remote system in the SITEINFO field. This  may  be
  879. TERMINATE e.g.
  880.  
  881.     TWITMAILER    TERMINATE
  882.  
  883.  
  884. With the following keyword, you may also exclude requester by their
  885. (ISDN) phone number delivered by the PTT e.g.
  886.  
  887.     TWITNUMBER   0211987654321
  888.  
  889.  
  890. Here, you define the minimum speed file file requests:
  891.  
  892.     MinReqSpeed 19200
  893.  
  894.  
  895. Since  commercial  environment immigrates into file  requesting,
  896. you  may  place  some addvertisement in the response  mails  :-)
  897. Pleas, be so kind and KEEP IT SMALL. I guess if you attach  a  3
  898. MB  *.FLI annimation to show your users who smart you look like,
  899. they'll swear to kick your ass to hell sometimes....
  900.  
  901. You have 2 ways to make such adds:
  902.  
  903.  
  904.     AddFilePKT G:\FILES\XMAIL\*.* F:\SHRD\FILES\XMAIL.REG
  905.  
  906. Each    time    a    users    requests   any    file    matching
  907. "G:\FILES\XMAIL\*.*", I'd like to send the latest register  form
  908. to   the  user  as  netmail.  So,  the  text  file  taken   from
  909. "F:\SHRD\FILES\XMAIL.REG"  will  be  converted  to  an  PKT  and
  910. appended to the files sent afterwards.
  911.  
  912.  
  913.     AddFile G:\FILES\GIF\*.* F:\FILES\VPIC.ZIP
  914.  
  915. If  you cannot send a netmail, e.g. because the file you want to
  916. send  if  of binary code, you may also attach it as a file.  The
  917. syntax is same as on ADDFILEPKT.
  918.  
  919.  
  920. Also intersting for your users could be a short descrioption of
  921. the current request event. You may add files or pkts using these
  922. statemtnts:
  923.  
  924.  
  925. AddTime       F:\ANYTEXT
  926. AddTimePKT    F:\ANYTEXT
  927.  
  928. Note that these files are once again without extension since the
  929. extension is defined by remote system's AKA!
  930.  
  931.  
  932.     FreeFile F:\FILES\LISTEN\24330920.ZIP
  933.     FreeFile I:\FILES\XRATE\*.GIF
  934.     FreeFile xOR114.ZIP
  935.  
  936. Now,  let's say you will give all users the possibility  to  get
  937. "special" files of your BBS, perhaps the dayly updated  filelist
  938. or any sililar files. You may define these files as "free" which
  939. means  the ammount of size and numbers during file request won't
  940. be increased by these datas! A "freefile" statement may refer to
  941. either  a file  with path (and wirldcards) or  to  a single file
  942. WITHOUT any wildcards (as shown above).
  943.  
  944.  
  945. The  final  "tuning" belongs to the password manager in  xOR.  A
  946. password definition block starts with "REQUESTPASSWORD" and  has
  947. several commands in the folowing lines. Take an example :
  948.  
  949.     RequestPassword
  950.         PATH G:\FILES\XRATE
  951.         PSWD EROTIC
  952.         INCLUDE ALL
  953.  
  954. Here  I  define for all files in path "G:\FILES\XRATE" AND  IT'S
  955. SUBDIRECTORIES  !!!!!!!  the  password  "erotic"  [case  doesn't
  956. matter].
  957.  
  958. It's   very  important  to  realize  it's  a  "string  matching"
  959. comparison I do here, so with "G:\" you will protect  the  whole
  960. volume with a single password (for special CD's very good !!)
  961.  
  962. This password is required for all requesting systems.
  963.  
  964.  
  965. This  was  the  easy  way, not let's have fun  with  the  expert
  966. settings. Take another sample :
  967.  
  968.  
  969.     RequestPassword
  970.         PATH I:\
  971.         PATH F:\FILES
  972.         ShowBad OFF
  973.         PSWD HIDDEN
  974.         INCLUDE ALL
  975.         EXCLUDE Friends
  976.         EXCLUDE McMBeta
  977.  
  978. I  protect  with this statement all files on disk "I:"  and  all
  979. files in path "F:\FILES" and its subdirectories.
  980.  
  981. The  password is set to "hidden". Since there might be  files  I
  982. never  want  show to "unauthorized persons", I set "ShowBad"  to
  983. "NO"  which means IF the user requests a asswort protected  file
  984. which  is  found on "I:\" or "F:\FILES", the user will  get  the
  985. normal  message for "file not found", else the user will receive
  986. the  full  file name and "password failure". Imagine  what  will
  987. happens  if you have e.g. some pirate software in your  BBS  and
  988. want  share  it  with good friends only. Now,  a  "normal"  user
  989. requests  "QEMM*.*", perhaps to get the QEMM manuals. What  will
  990. happen?  In case of "ShowBad ON", which is default (!), the user
  991. might get a response like
  992.  
  993. QEMM704.ZIP Password failure
  994.  
  995. which could result in a visit at the local prison cell :-)
  996.  
  997. Note  the  EXCLUDE  statement. Let's say I  do  have  a  session
  998. password with 2:2433/1200. Than via this password  the  user  is
  999. already  "verified". And now we assume the user  might  get  all
  1000. files  from  these  pathes, so why I should annoy  him/her  with
  1001. nasty passwords ?
  1002.  
  1003. I  do  know this user (via EMSI handshake) and he/she's verified
  1004. via  password  protected  session  (hopefully,  else  a  session
  1005. handshake  failure must have occured before!) and the user  will
  1006. get files from this path without any password.
  1007.  
  1008. To  go  away from illegal stuff, take another sample which might
  1009. be more representative to explain the EXCLUDE statement :
  1010.  
  1011.     RequestPassword
  1012.         PATH F:\FIDO\NET_DIFF\*.Z??
  1013.         PSWD SECRET2433
  1014.         INCLUDE *:/*.*
  1015.         EXCLUDE 2:2433/*.*
  1016.  
  1017. Now,  all users presenting the AKA of my network my request  the
  1018. lastest    version    of    network   update    file    matching
  1019. "F:\FIDO\NET_DIFF\*.Z??".
  1020.  
  1021. You got it ?
  1022.  
  1023. Ok,  then  let's come to the very last statements,  which  might
  1024. represent  a bonbon for registered users. Sometimes, it  may  be
  1025. important  to be informed whenever special files are  requested,
  1026. either  just  to check xOR's password entrys or to  be  reminded
  1027. when  a  user requests "*.GIF" or any other non public programms
  1028. or datas. So, let's include this statement:
  1029.  
  1030. ExecOnAccess
  1031.     EXECFORPATH       I:\FILES\GIF
  1032.     EXECFORPATH       C:\FILES\PRIVATE
  1033.     EXEC              SEND.EXE  "=A  requests  special  files!"  TO
  1034.                       SUPERVISOR
  1035.     OnlyIFPSWDOK      YES
  1036.  
  1037. This  have to be explained. EXECFORPATH is the keyword, followed
  1038. by  a file, path or parts of both (as usually). EXEC defines the
  1039. program called by xOR whenever a file is requested from  one  of
  1040. the  matching pathes. "OnlyIfPswdOK" means, the function is only
  1041. executed, if user┤s limts as well as the password is ok,  so  in
  1042. short words, if the file will be transfered in fact. You may  of
  1043. course   use   all   macros  explained  on   "COMMAND"   before.
  1044. Additionally,  there are three functions implemented internal in
  1045. xOR:
  1046.  
  1047.         EXEC  #SEND   <USERNAME>
  1048.         EXEC  #SEND    SERVER
  1049.         EXEC  #NETMAIL <AKA> <UserName>
  1050.  
  1051. The first command will send a broadcast message to <USER> within
  1052. a  NOVELL  Netware environment on the default file  server.  The
  1053. second command displays the corresponding message on the default
  1054. server's  operator console. Both commands will only be  executed
  1055. IF the general statement
  1056.  
  1057.         USENETWAREFEATURES YES
  1058.  
  1059. is  configured.  Even if xOR will check presence of  IPX/ODI/VLM
  1060. shell on startup, do not use this function unless you're running
  1061. NOVELL   or  any  100%  compatible  environment.(xOR  uses   for
  1062. broadcasts Intr 21h, function e1, subfunction 00h and 09h.)
  1063.  
  1064.  
  1065. The last command requires one additional line:
  1066.  
  1067.         MAILTEXT  <TextFile WITH extension>
  1068.  
  1069. This  textfile  is  converted to pkt and placed in your inbound.
  1070.  
  1071. A  new  feature  since  1.07 is support of the *not documented*
  1072. feature of some mailers. I just call it "Time Request". In fact
  1073. it  is  a ASCII #0  during  xOR  searches  for  files  in large
  1074. databases which causes remote mailers not to drop  carrier even
  1075. if no datas are received for several seconds. Currently, McMail
  1076. and even FrontDoor supports  this feature, InterMail  does NOT.
  1077.  
  1078. To activate this, either SRIF must be used or the command line
  1079. parameter /CP<COMPORT> with COMPORT in range from 1 to 8  must
  1080. be used in conjuntion with these parameters:
  1081.  
  1082.         TimeRequest     ON|OFF
  1083.  
  1084. Use  this to enable / disable this feature and  the  following
  1085. to set the time between two "time requests":
  1086.  
  1087.         TimeRequestDelay  5
  1088.  
  1089. The parameter is time in seconds. 5 is OK for Hydra as well as
  1090. old Z-Modem by Frontdoor.
  1091.  
  1092. Starting with version 1.08, you may limit xOR's search pattern
  1093. with this command:
  1094.  
  1095.         MATCHSTOP 1
  1096.  
  1097. This funcion is only activ if a file w/o wildcard is requested.
  1098. If  so, the  search run stops after the first matching file. If
  1099. a remote user requests e.g. "xOR111.EXE", after the first valid
  1100. entry  in your  databse, xOR stops searching  for that file and
  1101. continues action either with  next file or with  generating the
  1102. response  mails  ect. But if  a  user requests "xOR111.*", this
  1103. function is *not* active and xOR will search the whole database.
  1104.  
  1105. Finally, I implemented a command which should never be used .-)
  1106. Whenever a critical error in xOR occures, xOR starts beeping and
  1107. sounds like hell to draw your attention. To avoid such run time
  1108. error sounds, use that parameter
  1109.  
  1110.         ERRORSOUND  OFF
  1111.  
  1112.  
  1113. 3.1 Calling from McMail
  1114.  
  1115. Up to version 1.00 Gamma 1:
  1116.  
  1117. McMail has as sample in its latest CFG already included the sample line
  1118. for usage of xOR. You should have this line (with an adapted path) in
  1119. your master configuration file :
  1120.  
  1121. ReqProcessor  f:\mailer\xOR.exe /A=PA /B=BR /P=PW /O=RS /H=MR /X=SU /R=FL /T=XL
  1122.  
  1123. That's enough. If you're running v1.00 gamma 1 of McMail, it may be McMail
  1124. says something like "no request control file present". To fix this behaviour,
  1125. use that line in MCMAIL<TASK>.CFG:
  1126.  
  1127.  
  1128.         RequestCfg     f:\mailer\request.cfg
  1129.  
  1130. And be sure this file exist. It should contain only one semicolon (";").
  1131.  
  1132. McMail Version 1.00 Gamma 2 and above:
  1133.  
  1134. The  calling syntax  is the  same  except  this,  remove all internal
  1135. request processor statements and call xOR by
  1136.  
  1137.         ReqProcessor  f:\mailer\xOR.exe /M=SRIF
  1138.  
  1139.  
  1140. That's enough for a good mailer :-)
  1141.  
  1142.  
  1143. 3.2 Calling from FRONTDOOR
  1144.  
  1145. For  proper  installation,  you may  run  the  FD  Install  tool
  1146. distributed with that package, or enter it manually. If you  run
  1147. the  tool,  be  sure  xOR is in your path or  update  the  datas
  1148. manually.  If you're running a multiline system, it's more  easy
  1149. to  run  the tool since it discovers multiline systems and  ASKs
  1150. you whether it may update all lines seperatly or not.
  1151.  
  1152. For proper usage with FrontDoor 2.20.c.ml and 2.12 S/W reg., use
  1153. these  settings  in  FDSETUP.EXE,  Mailer/File  requests/Request
  1154. processor:
  1155.  
  1156.  
  1157.    ╔════════════════════════════════════════════ Request processor ╗
  1158.    ║                                                               ║
  1159.    ║ Program  D:\FD\xOR\xOR.EXE /R=R /F=F /T=T /X=X /H=H           ║
  1160.    ║ Enabled  Yes                                                  ║
  1161.    ║ Swapping Yes                                                  ║
  1162.    ║                                                               ║
  1163.    ╚═══════════════════════════════════════════════════════════════╝
  1164.  
  1165. It's  very  important to activate FD's swap features  since  xOR
  1166. needs as much memory as possible. To avoid interference with FD,
  1167. turn off all request limits like I did :
  1168.  
  1169.          ╔═══════════════════════════ Request limits ╗
  1170.          ║                                           ║
  1171.          ║ Allowed systems        Any                ║
  1172.          ║ Stop after first match No                 ║
  1173.          ║ Maximum match (files)  0                  ║
  1174.          ║ Maximum time (minutes) 0                  ║
  1175.          ║ Maximum size (kb)      0                  ║
  1176.          ║ Minimum speed (bps)    0                  ║
  1177.          ║ Limited hours          No                 ║
  1178.          ║ Start time             00:00              ║
  1179.          ║ End time               00:00              ║
  1180.          ║ Days                   -------A           ║
  1181.          ║                                           ║
  1182.          ╚═══════════════════════════════════════════╝
  1183.  
  1184.  
  1185. 3.3. Calling from INTERMAIL
  1186. For proper setup of Intermail's door, use this screenshot as  an
  1187. example:
  1188.  
  1189.     Exit   Global   Mailer   Editor   Terminal   Modem   Printer   Manager
  1190.  ═══════════════════┌──────────────────┐══════════════════════════════════
  1191.  ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒│ Miscellaneous    │▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
  1192.  ╔════════════════════════════════════════════════════════ File requests ╗
  1193.  ║                                                                       ║
  1194.  ║ Mode      Anyone can request                                          ║
  1195.  ║ List      D:\IM\LIST.LST                                              ║
  1196.  ║ Alias     D:\IM\MAGIC.LST                                             ║
  1197.  ║ Message   D:\IM\BADREQ.MSG                                            ║
  1198.  ║ Max match 0                                                           ║
  1199.  ║ Max time  0                                                           ║
  1200.  ║ Max size  0                                                           ║
  1201.  ║ Min speed 2400                                                        ║
  1202.  ║ Limited   No                                                          ║
  1203.  ║ Start     00:00                                                       ║
  1204.  ║ End       00:00                                                       ║
  1205.  ║ Days      -------A                                                    ║
  1206.  ║ External  D:\IM\xOR\xOR.EXE /A%A /B%B /X%X /R%F /O%O /P%P /IM         ║
  1207.  ║                                                                       ║
  1208.  ╚═══════════════════════════════════════════════════════════════════════╝
  1209.  ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
  1210.  ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
  1211.  ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
  1212.  ────────────────────────────────────────────────────┤ Mail server: 001 ├─
  1213.  Ext. request processor (parameters: %A-node#, %P-password, %F-list Datei)
  1214.  
  1215. The  settings  in  "LIST",  "ALIAS" and  "MESSAGE"  are  not  of
  1216. importance,  but  it seems some versions of Intermail  do  realy
  1217. need there a VALID
  1218.  name.
  1219.  
  1220.  
  1221. 4.0 Additional programms / maintenance
  1222.  
  1223. Actualy, the number of utilities for xOR is still growing.  Here
  1224. are  the  utilities  explained which are distributed  altogether
  1225. with the xOR package.
  1226.  
  1227.  
  1228. 4.1 FBBS2IDX
  1229.  
  1230. FBBS2IDX  is the main program to generate the index files  based
  1231. on  FILES.BBS  in  each directory defined via  in  corresponding
  1232. statements in xOR.CFG. There are three parameters
  1233.  
  1234.     /C create index for FILE base
  1235.     /R create index for Readonly Media such as CD ROMs
  1236.     /A create ALIAS index
  1237.     /S update download counter in FILES.BBS
  1238.  
  1239. Usually,  the  CD ROM index will be created only one  time,  and
  1240. that's  good since creating index for more than 70.000 files  is
  1241. not  as  fast as other things. The normal FILE index  should  be
  1242. created  whenever  you  receive  new files, at least once a day.
  1243. As optional  second  parameter,  you  may use /Cfilename for  an
  1244. alternate configuration file.
  1245.  
  1246.  
  1247. 4.2. RA2_IDX
  1248.  
  1249. RA2_IDX  transfers the files from RA database to xOR's database.
  1250. The  switches /C, /R, /A  and /S  are possible like in FBBS2IDX.
  1251. To  speed  up  RA2_IDX, you  may   add   a   numeric  parameter
  1252. representing your maximal description length, e.g.
  1253.  
  1254. RA2_IDX /C 512
  1255.  
  1256. which results in that you longest description is 512 chars. That
  1257. speeds up the compiler a little bit.
  1258.  
  1259.  
  1260. 4.3 xORUTIL
  1261.  
  1262. xORutil  is  the maintenance utility for the RESUME indices  and
  1263. for  the user base. It also contains the statistical functions.
  1264.  
  1265.         Command line parameters for XxORUtil are
  1266.  
  1267.                 /M runs maintenance. Additional parametes are
  1268.                         /D=<Days>
  1269.                    This function purges the user base and erase
  1270.                    old RESUME file record
  1271.  
  1272.                 /US runs user statistic. By default, xOR posts
  1273.                     statistic to netmail. REQUIRED parameters
  1274.                     are:
  1275.                      /I=<AKA>      the AKA(s) included in
  1276.                                    statistic,e.g. /I=*:*/*.*
  1277.                                    for all users
  1278.  
  1279.                     Optional parameters are:
  1280.                      /F=<FileName> posts results in that file
  1281.                      /A=<AREA>     posts statistic to EchoArea
  1282.                                    instead of Netmail
  1283.                      /D=<Days>     care only about x days
  1284.  
  1285.                 /FS runs file statistic. By default, xOR posts
  1286.                     statistic to netmail. Optional parameters are:
  1287.                      /F=<FileName> posts results in that file
  1288.                      /A=<AREA>     posts statistic to EchoArea
  1289.                                    instead of Netmail
  1290.                      /D=<Days>     care only about x days
  1291.  
  1292.  
  1293. 4.4. Special macros
  1294.  
  1295. During  file  request, xOR scanns different "macros".  Actually,
  1296. there are 6 macros defined yet :
  1297.  
  1298.     %TIC
  1299.     %TICOFF
  1300.     %BBS
  1301.     %BBSOFF
  1302.     %PWD=<Password> or %PSWD=<Password>
  1303.     %AREA=<Tic_Area>
  1304.     %AKA=<AKA> or %ADDR=<AKA> or %ADR=<AKA>
  1305.  
  1306.  
  1307. TIC  and  TICOFF handles whether the user gets TIC  files  along
  1308. with  the requested files or not, BBS and BBSOFF are responsible
  1309. for  creation  of  a  FILES.<LineNr>. That improoves  speed  of
  1310. processing files at the requesting site since by many  programs,
  1311. TIC files may be evaluated and distributed to other systms.
  1312.  
  1313. PWD and PSWD  are equal  keywords  and  define the area  the TIC
  1314. password, AREA  defines  the area the file  is sent in. This may
  1315. vary from  the area defined  by the sysop.  Normaly, these datas
  1316. are  stored  in  the  user  base  until  denied  by the sysop by
  1317. SAVETICDATAS OFF (see above).
  1318.  
  1319. ADR,ADDR and AKA set the sender's AKA in TIC files.
  1320.  
  1321. Within  all textfiles which  are posted, these macros are valid,
  1322. but may, depending on the situation, stupid to use and therefor
  1323. not initialized by a real value.
  1324.  
  1325.      %FOUND.SIZE         \
  1326.      %FOUND.FILES         -- refers to THIS request (how much found..)
  1327.      %FOUND.TIME         /
  1328.  
  1329.      %TODAY.SIZE         \
  1330.      %TODAY.FILES         -- refers to the current day (how much found ..)
  1331.      %TODAY.TIME         /
  1332.  
  1333.      %TOTAL.SIZE         \
  1334.      %TOTAL.FILES         -- refers to the life time (if user base ok)
  1335.      %TOTAL.TIME         /
  1336.  
  1337.      %REMAINING.SIZE     \
  1338.      %REMAINING.FILES     -- refers to the current day
  1339.      %REMAINING.TIME     /
  1340.  
  1341.      %REQUEST.SIZE       \
  1342.      %REQUEST.FILES       -- refers to the current request
  1343.      %REQUEST.TIME       /
  1344.  
  1345.      %REQUEST.DAYS        -- on these days, this event is active
  1346.      %REQUEST.STARTTIME   \  The start and end time of
  1347.      %REQUEST.ENDTIME     /  current Request Event
  1348.  
  1349.  
  1350.      %FIRSTREQ           --  first listed day of request
  1351.  
  1352.      %USER.AKA           \  Requester's AKA and NAME as transfered in
  1353.      %USER.NAME          /  EMSI handshake
  1354.  
  1355.      %SESSION.TYPE       - can be PROTECTED or UNPROTECTED
  1356.      %SESSION.NEXTEVENT  - minutes til next event w/o file request allowed
  1357.      %SESSION.BAUD       - current baud rate (e.g. 19200)
  1358.      %SESSION.CPS        - current CPS (e.g. 1800)
  1359.      %SESSION.PASSWORD   - current session password (if any)
  1360.  
  1361.      %TICAREA            - name of ticarea or none
  1362.      %TICPSWD            - TIC password or none
  1363.  
  1364. 4.5 All Command line switches
  1365.  
  1366.    Valid parameters for xOR are
  1367.  
  1368.       /M<FILE>   Standarized Request Information file
  1369.  
  1370.    or
  1371.  
  1372.       /C<FILE>             use alternate config file
  1373.       /A<AKA>              primary AKA of remote system
  1374.       /B<BAUD>             current connect rate
  1375.       /T<FILE>             filename of xOR return file
  1376.       /R<FILE>             filename of request list file
  1377.       /H<MIN>              minutes till next event which denies requests in min.
  1378.       /X<SECURE|UNSECURE>  the corresponding string
  1379.       /W<LISTED/UNLISTED>  the corresponding string
  1380.  
  1381.   IM  /IM                  activate INTERMAIL mode
  1382.   FD  /F<FD-SREQ-File>     This file can be found via the "=F" macro
  1383.  
  1384.       /P                   Session password
  1385.       /L<Loc>              Remote's location
  1386.       /N<Name>             Remote's site info
  1387.       /O<Name>             Remote operator's name
  1388.       /CP<Port>            Communication (=modem) port [1..8]
  1389.  
  1390.       /T<FILE>             filename of xOR return file
  1391.       /R<FILE>             filename of request list file
  1392.  
  1393.       In <Loc> and <Name>, replace spaces by "_" !');
  1394.  
  1395.  
  1396. 5.1 Trademarks
  1397.  
  1398. MS-DOS is a registered trademark of Microsoft Corporation
  1399. Win95 is a registered trademark of Microsoft Corporation
  1400. DR-DOS is a registered trademark of Digital Research, Inc.
  1401. Novell DOS and NetWare are registered trademarks of NOVELL,Inc.
  1402.  
  1403. DESQview and QEMM are registered trademarks of
  1404. Quarterdeck Office Systems, Inc.
  1405.  
  1406. Ezycom is a registered trademark of Peter Davies
  1407.  
  1408. McMail is a trademark of Albert Freriks and Gordian Schuermann
  1409.  
  1410. FrontDoor is a registered trademark of Joaquim Homrighausen
  1411.  
  1412. Intermail  is a registered trademark of Scandinavian PC  Systems
  1413. AB and InterZone Software, Inc.
  1414.  
  1415. RemoteAccess is a registered trademark of WanTree Development
  1416.  
  1417. 4DOS is a registered trademark of Rex Conn & JP Software Inc.
  1418.  
  1419. PKZIP is a registered trademark of PKWare Inc.
  1420.  
  1421. Terminate is a registered trademark of Strathrory Systems Limited
  1422.  
  1423. The xOR logo is performed by B. Huertgen
  1424.  
  1425. All  brands  and  product  names are  trademarks  or  registered
  1426. trademarks of their respective holders.
  1427.  
  1428.  
  1429. 5.2 Thanks
  1430.  
  1431. I'd  like  to thank Borland, Inc. and Borland Deutschland  GmbH,
  1432. for Borland Pascal.
  1433.  
  1434. My  thanks goes also to the beta team. The guys who were in  the
  1435. most  time  of  xOR, even before version 0.99  gamma1  has  been
  1436. released, are
  1437.  
  1438.     Abels, Wim
  1439.     Dueker, Sven
  1440.     Freriks, Albert
  1441.     Huertgen, Boris
  1442.     Schuermann, Gordian
  1443.  
  1444. Special thanks to  Gordian  and Albert for very good cooperation
  1445. concerning the   Standarized    Request    Information  File and
  1446. publishing them as FSC-0086 document.
  1447.  
  1448. Also,  other  persons helped me developing the  latest  release,
  1449. some of these soldiers for bug-free software are :
  1450.  
  1451.     Frank Weber
  1452.     Frank Cremers
  1453.     Uwe Boettjer
  1454.     Marc M. Braun
  1455.     Thomas Bahr
  1456.  
  1457.  
  1458. Thank you very much.
  1459.  
  1460. 5.3. Contact the author
  1461.  
  1462. My AKA  is  2:2433/920 till  /928 in FIDONet, but you may reache
  1463. me  also  via  other networks, currently via :
  1464.  
  1465.     9:49/0       VirNet           16:16/0      ZyXELNet
  1466.     21:497/900   GerNet           73:7491/0    RANet
  1467.     95:2408/0    RAFileNet        100:494/300  BorlandNet
  1468.     144:490/0    GamesNet         InterNet mirko.mucko@technet.net
  1469.  
  1470. Or via my BBS at these phone numbers
  1471.  
  1472.      +49-211-9083300   ZyXEL  19.2       +49-211-9083491   ISDN X75
  1473.      +49-211-9083301   USR V.Every       +49-211-9083492   ISDN X75
  1474.      +49-211-9081685   ZyXEL  V.34       +49-211-9081686   ISDN X75
  1475.      +49-211-9081687   ZyXEL  V.34       +49-211-9083026   ISDN X75
  1476.      +49-211-9083026   ZyXEL  19.2
  1477.  
  1478. Also, in Germany the FidoNet Mailarea "xOR.GER" is avail from many sites.
  1479.  
  1480. 5.4. Registration sites
  1481.  
  1482. Germany / REGISTER.GER
  1483.         Mirko K. Mucko                       Netmail
  1484.         Thomas-Mann-Str. 43
  1485.         40470 Duesseldorf                    FIDO 2:2433/920.0
  1486.  
  1487. DANMARK / REGISTER.DK
  1488.  
  1489.             Kåre O. Markussen                 Netmail
  1490.             Nordborggade 21, 6mf
  1491.             8000  Århus C                     FIDO  2:238/92
  1492.             DANMARK                           CMN      10:450/105
  1493.  
  1494.  
  1495. All other countries  /  REGISTER.TXT
  1496.         Mirko K. Mucko                       Netmail
  1497.         Thomas-Mann-Str. 43
  1498.         D-40470 Duesseldorf                   FIDO 2:2433/920.0
  1499.         Germany
  1500.