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