home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 January / usenetsourcesnewsgroupsinfomagicjanuary1994.iso / sources / misc / volume32 / xbbs / part02 / MAKEbbs
Text File  |  1992-09-08  |  44KB  |  1,081 lines

  1. This is the setup I used to build XBBS.  I set up the main bbs original 
  2. directory as /bbs but it could just as easily have been /usr/bbs or /user/bbs 
  3. or /usr/john/bbs.
  4.  
  5. You must, however, insure the the home directory is in the SAME filesystem as
  6. the rest of the directories.
  7.  
  8. /bbs
  9.  '---home                               /bbs/home - user login area
  10.  '---lists                              /bbs/lists - lists area
  11.  '---pgms                               /bbs/pgms/ - program & files area
  12.  
  13.         '---fls                         /bbs/pgms/files - files area
  14.               '---amiga  
  15.               '---bbs
  16.               '---c64
  17.               '---mcs
  18.               '---msdos
  19.               '---unix
  20.               '---uploads
  21.  
  22.         '---msg                         /bbs/pgms/msg  - message area
  23.                '---fsale
  24.                '---general
  25.                '---hwanted
  26.                '---special
  27.  
  28.         '---s_tech                      /bbs/pgms/s_xx - sigs
  29.                '---files
  30.                '---msgs
  31.  
  32.                                         /bbs/pgms/xx - various misc
  33.         '---xbbsgen
  34.         '---allign
  35.         '---doc
  36.         '---msgpack
  37.         '---purguser
  38.  
  39. 
  40. xbbs .bbs files
  41.  
  42. answer.bbs - A file that is generated by the bbs software ( the answers to 
  43.         the questionnaire ) question.bbs. 
  44.  
  45. areas.bbs contains the path information for uploading, downloading, and 
  46.         listing of files along with the access privilege of the download 
  47.         directory. 
  48.  
  49. bulletin.bbs contains your bulletin which is printed out whenever a user logs 
  50.         into the bbs or with the B command from the main menu. 
  51.  
  52. callers.bbs contains a time log of all of your bbs callers. In addition to the 
  53.         name and time, all uploads and downloads are logged into this file. If 
  54.         a file is uploaded as "SYSOP ONLY", the description of the file is 
  55.         also added to callers.bbs instead of files.bbs. This way, you can 
  56.         still get the description. 
  57.  
  58. dlmsg.bbs
  59.  
  60. features.bbs contains the actual programs that you make available to you 
  61.         users. 
  62.  
  63. filepriv.bbs contains the privileges assigned to the file menu options.
  64.    
  65. help.bbs contains the HELP information for your users.
  66.                 
  67. helpfile.bbs
  68.  
  69. helpmsg.bbs
  70.  
  71. helpsig.bbs
  72.  
  73. humor.bbs contains the humor file for your users!
  74.                 
  75. inval_port.bbs ports listed in this file will be refused access to the bbs.
  76.  
  77. lastcall.bbs contains the information about your last user on the system.
  78.         
  79. listfile.bbs contains the actual list files that you make available to your 
  80.         users. 
  81.  
  82. mainpriv.bbs contains the privileges assigned to the main menu options.
  83.  
  84. msgareas.bbs contains the path information for the different message bases. 
  85.  
  86. newuser.bbs contains the message you output to new users.
  87.                 
  88. question.bbs contains the questionaire for new users.  The file that is 
  89.         generated by the bbs software ( the answers to the questionnaire ) is 
  90.         called answer.bbs and is located in the same directory as 
  91.         question.bbs. 
  92.  
  93. s_tech.bbs
  94.  
  95. sigentry.bbs
  96.  
  97. sigs.bbs contains the listing of the sigs on your system.
  98.                 
  99. sigwelcome.bbs
  100.  
  101. system.bbs contains the terminate message you output to the user when he "logs 
  102.         off". 
  103.  
  104. unixmsg.bbs this file will be displayed upon entry into the unix option.
  105.  
  106. userpriv.bbs is a dynamically created/appended file which contains the 
  107.         individual user privileges along with their "delta time" allocation. 
  108.         
  109. users.bbs contains the list of all of your users, with their passwords, first 
  110.         time called, last time called, and their address in the form of city 
  111.         and state. 
  112.  
  113. welcome.bbs contains the "welcome" message you output when the user logs in. 
  114.         Please note that this is sent prior to the bulletin and may be your 
  115.         message of the day. 
  116.  
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123. FILES SECTION 
  124. =============
  125.  
  126. files.bbs contains all of the files that are available for downloading. A 
  127.         different files.bbs is required for each download directory and must 
  128.         be placed in that directory. ie '/bbs/pgms/fls/uploads/files.bbs' 
  129.  
  130.         
  131.  
  132.  
  133.  
  134.  
  135.  
  136. MESSAGES SECTION
  137. ================
  138.  
  139. messages.bbs contain all of the messages. A different messages.bbs is required 
  140.         for each message directory and will be created automatically in that 
  141.         directory. ie '/bbs/pgms/m_forsale/messages.bbs' 
  142.  
  143.         There are three codes used within this file :
  144.                         0 - The message is active and not confidential
  145.                         5 - The message is active and is confidential
  146.                         9 - The message was deleted 
  147.  
  148. 6) The file, crossref.bbs, contains the cross reference table between the
  149.    message number and file record number. This way, RAPID message access
  150.    is achieved. Presently, you can have up to 1000 messages within the system.
  151.    ( active and deleted )
  152.  
  153. 8) The file, header.bbs, contains the information to add the NEXT message
  154.    into the message file. This way, a search is not required to find the
  155.    proper entry point.
  156.  
  157.  
  158. 
  159. MESSAGES
  160.  
  161. MSGAREAS.BBS
  162.  
  163. The file, msgareas.bbs, contain the path information for the different message
  164. bases. The format is as follows:
  165.     1) The first line of the file can be used as a RULER SINCE IT IS NOT USED.
  166.     2) The following lines in the file have the following format:
  167.        a) Columns 1-13 The download path. Please note the ORGPATH is added
  168.           to the contents. An example is as follows: ORGPATH = /usr/sandy/bbs
  169.           and columns 1-13 contain general; therefore, the entire path
  170.           name = /usr/sandy/bbs/general.
  171.      3) Column 14 must be a space
  172.      4) Columns 15-55 contain the description of the download directory
  173.      5) Column 56 must be a space
  174.      6) Columns 57-61 contain the DIRECTORY PRIVILEGE - left justified.
  175.         Therefore, you can set your privileges from 1 - 32767. WARNING, if
  176.         you give your user access to the msg section from the main menu and
  177.         DO NOT give him access to any of the directories, he will NOT be able
  178.         to get out of the initial directory change!
  179.  
  180. A MAXIMUM of 99 directories can be used!
  181.  
  182.  
  183.  
  184. To select the message area to use for the "GOOD-BYE" message, immediately
  185. following the privilege level for that message base, insert an asterisk (*).
  186. This will then, automatically, select that msg base for the parting message.
  187.  
  188. When a message is sent to a user, the name is now verified. In addition to 
  189. name verification, the follow-two aliases are permitted: Sysop and ALL. If 
  190. Sysop is used as the first name, the Sysop's real name will be substituted 
  191. into the message; if All is used as the first name, All Users will be 
  192. substituted. 
  193.  
  194.  
  195.  
  196. MESSAGE BASES
  197. =============
  198.  
  199. There are multiple message bases. The three files, crossref.bbs, header.bbs, 
  200. and messages.bbs are stored in each different message base. 
  201.  
  202. The file, messages.bbs, contain all of the messages. A different messages.bbs 
  203. is required for each message directory and will be created automatically in 
  204. that directory.      ie '/bbs/pgms/m_forsale/messages.bbs' 
  205.  
  206.         There are three codes used within this file :
  207.                         0 - The message is active and not confidential
  208.                         5 - The message is active and is confidential
  209.                         9 - The message was deleted 
  210.  
  211.    ( Note: if you wish to reactivate a deleted message, just change the "9"
  212.            to either a "0" or "5" ).
  213.    ( A program will be available soon to "squeeze" the message file and
  214.      remove deleted messages )
  215.  
  216. Warning! DO NOT try to modify the following files with an editor like vi: 
  217. header.bbs, crossref.bbs, messages.bbs since they are NOT ~truly ASCII files 
  218. and the files WILL BE damaged. In the case of crossref.bbs, no ASCII 
  219. information is even stored in it ( binary file ). 
  220.  
  221.  
  222.  
  223. DAILY MESSAGES
  224. ==============
  225. A new option is available that allows you to make different daily messages for 
  226. each day of the week for a FULL year. This message is then printed out to your 
  227. users during their login process into the bbs. 
  228.  
  229. You can put whatever you wish into this file. The file can be as little as
  230. one line or as large as you desire! Page control is automatically supported
  231. during the output.
  232.  
  233. You may wish to use this option to wish your users a "Merry Christmas" or a
  234. "Happy New Year".
  235.  
  236. The file name is in the form of Month_Day.msg. An example of the file that 
  237. would be displayed on September 02, 1987 would be as follows: 
  238.  
  239.                                Sep02.msg
  240.  
  241. Please note that if the file is not found, NO message will be displayed to 
  242. your user; therefore, this is option is COMPLETELY optional and can be ignored 
  243. when not needed. 
  244.  
  245.  
  246.  
  247.  
  248. 
  249. FILES 
  250.  
  251. An option in the files menu "Z(ip new list)". This new option allows you to 
  252. scan all allowable directories for NEW, locate, raw and ~regular file list. 
  253.  
  254. There is no need of going from directory to directory, manually, and checking 
  255. for new files.  Once you get  into  the file menu, you can select the Z(ip 
  256. file  menu) option and then select the new file listing which will do the 
  257. above  operation  automatically for you.  The  software  will scan each 
  258. allowable directory for you and output the new file list. 
  259.  
  260.  
  261. If the upload directory is nolonger in the same file-system as the upload 
  262. path, a Unix style mv will be performed; however, the user will get a message 
  263. telling will to notify the sysop that the upload path is not in the same 
  264. filesystem as the bbs users' home directory. 
  265.  
  266.  
  267.  
  268.  
  269. AREAS.BBS
  270.  
  271. The file, areas.bbs, contains the path information for uploading, downloading,
  272. and listing of files along with the access privilege of the download 
  273. directory. The format of the file is as follows:
  274.     1) The first line of the file can be used as a RULER SINCE IT IS NOT USED.
  275.     2) The following lines in the file have the following format:
  276.        a) Columns 1-13 The download path. Please note the ORGPATH is added
  277.           to the contents. An example is as follows: ORGPATH = /usr/sandy/bbs
  278.           and columns 1-13 contain bbssoftware; therefore, the entire path
  279.           name = /usr/sandy/bbs/bbssoftware.
  280.      3) Column 14 must be a space
  281.      4) Columns 15-55 contain the description of the download directory
  282.      5) Column 56 must be a space
  283.      6) Columns 57-61 contain the DIRECTORY PRIVILEGE - left justified.
  284.         Therefore, you can set your privileges from 1 - 32767. WARNING, if
  285.         you give your user access to the files section from the main menu and
  286.         DO NOT give him access to any of the directories, he will NOT be able
  287.         to get out of the initial directory change!
  288.      7) Columns 62-63 must be spaces
  289.      8) Columns 64-79 contain the UPLOAD path for that download directory.
  290.  
  291. A MAXIMUM of 99 directories can be used!
  292.  
  293.  
  294. You must now have multiple versions of files.bbs. One, each, for EVERY
  295. download directory and it must be in that directory. The files.bbs file
  296. must only contain the file listing for that particular directory!
  297.  
  298. FILES.BBS
  299.  
  300. The file, files.bbs, contains all of the files that are available for 
  301. downloading. Initially, you will have to generate it; however, it is 
  302. automatically updated with each individual upload which is not for "SYSOP 
  303. ONLY".  A different files.bbs is required for each download directory and must 
  304. be placed in that directory. 
  305.  
  306. The format of the file is as follows:
  307.  
  308. Filename Description
  309.  
  310. Please remember that there is only ONE space between the file name and the
  311. description. The size and date of the file is determined at list time and is
  312. dynamically added to the listing. If the file cannot be found, the message
  313. "OFFLINE" is placed in the size field.
  314.  
  315. There are two special characters that maybe used in the filename field:
  316. . ( period ) and the ~ ( tilde ). The period is used to add comments to
  317. your listing. Please remember that a space must be used to separate the
  318. period from the comment. The comment will be printed out in the
  319. description field of the listing. An example is as follows:
  320. .
  321. . The following files are used to generate the BBS
  322. .
  323. bbsc1.c One of the files to make the BBS.
  324.  
  325. When this is listed by your users, it will look as follows:
  326.  
  327.                            The following files are used to generate the BBS
  328.  
  329. bbsc1.c       35087 Sep 14 One of the files to make the BBS.
  330.  
  331.  
  332. If column 1 has a '+' (plus) in it, the entire line, minus the plus, will be 
  333. displayed. This is a NON-FORMATTED comment which your users can see. 
  334.  
  335. The ~ ( tilde ) is used to terminate the listing at a specific spot. If you
  336. DO NOT want your users to see certain files after an entry in your listing,
  337. just place the ~ in column 1 and the listing will stop. This option is made
  338. available if you do not want your new uploads known until you can verify if
  339. they are good files or are public domain. An example of its usage is as
  340. follows:
  341.  
  342. .
  343. . New Uploads
  344. .
  345. ~
  346.  
  347. Field sizes:
  348.  
  349. The filename field:    14 characters
  350. The description field: 50 characters
  351.  
  352.  
  353. As new files are uploaded, they are appended to the end of the file. You may
  354. want to move the entries to other spots in the file.
  355.  
  356.  
  357.  
  358. A quick note on how files are handled when they are uploaded. 
  359.  
  360. Files are sent, depending on the protocol used, either to your FILES 
  361. directory or to your /usr/bbs directory. In the case of the files
  362. being sent to /usr/bbs ( KERMIT UPLOAD ), they will be moved to FILES
  363. after the transfer is completed. If the file(s) is/are marked as
  364. SYSOP ONLY, they will be moved to your BBS directory to insure complete
  365. privacy. Therefore, even if your user knows the name of the file, he
  366. can not get to it!
  367.  
  368. 
  369. SIGS
  370.  
  371. For what it is worth, here is the documentation on how to install and set up
  372. a sig............. Please NO flames!!!!
  373.  
  374. For clarity, I will be referring to a term called ORGPATH. ORGPATH is nothing
  375. more than the directory that contains the bbs software. <origination path>...
  376.  
  377. The following steps are REQUIRED to set up a sig:
  378.  
  379. 1) From ORGPATH, make a directory with the SAME name as the SIG.
  380. 2) Be sure the permissions are such so that the bbs user has rwx permission.
  381. 3) From that directory, make two new directories called files and msgs. The
  382.    files directory will be the file section for that SIG. You guessed it, the
  383.    msgs directory will be the message base for that SIG.
  384. 4) Same as step 2 but for the two new directories.
  385. 5) The files directory must contain a file called files.bbs. This is exactly
  386.    the same as the GENERAL file directories. Guess what, it uses the same code!
  387.    Actually, the message section for the SIG is controlled by the same code as
  388.    for the GENERAL message bases.
  389. 6) In ORGPATH, generate a file called sigs.bbs. This file is the listing of the
  390.    sigs on your system. The distribution contains an example sigs.bbs that you
  391.    can use as a guide.
  392. 7) Sigs.bbs is basically in the same format as features.bbs etc. The IMPORTANT
  393.    difference is that a SIG can either be "private" or "public". If you wish to
  394.    make the SIG private, put an asterisk is column 78. You will notice that
  395.    the distribution sigs.bbs has two SIGS, one is private and one is public.
  396.    The first field is the SIG name and MUST be the SAME name as the SIG
  397.    directory that you made in step 1!!!! The second field is the description
  398.    and the third field is the privilege level assigned to that SIG.
  399. 8) Each SIG MUST have a file in ORGPATH using the SAME name as the directory
  400.    but with an extension of .bbs. If the SIG is private, you will have to
  401.    make a list of each allowable user in the form of Firstname Lastname.
  402.    Remember, on user per line and CAPITALIZE the first character of the first
  403.    and last names. A string compare is performed. If the SIG is "public", you
  404.    must still make each file by simply typing "touch signame.bbs" where 
  405.    signame is that of your SIG. REMEMBER, make sure that the file has rwx
  406.    permission for the bbs user. This is very important since a public SIG
  407.    is dynamically updated by the user.
  408. 9) This is optional but nice! In the directory that you made in step one,
  409.    you can have a file called sigwelcome.bbs. This file will be displayed,
  410.    if it exists, to the SIG user once he has successfully logged into the
  411.    SIG. It is nothing more than an ASCII file an can be generated by "vi".
  412. A) This ALSO an optional but nice feature. In the directory that you made
  413.    in step one and if it is a private sig, you can have a file called
  414.    sigentry,bbs. This file is displayed to the user, if he tries to login
  415.    to the sig, and entry is not permitted because he/she is not listed in
  416.    the sig users file. It can be used to describe the way he/she can be
  417.    registered, by you, into the sig.
  418.  
  419.  
  420.  
  421. Once you have performed the above steps, you are ready to login yourself into
  422. each SIG. Go into each SIGS message section and leave a message. This will
  423. make all the necessary msgs files. REMEMBER, a "private" SIG can only be
  424. entered if the user's name is present within the appropriate .bbs file. This
  425. is ALSO true for you. You MUST enter your name too to gain access.
  426.  
  427. The msg checking code includes sigs.
  428.  
  429. An optional file called sigentry.bbs can be added which is displayed to the 
  430. user when he opts to log into a private sig and he is not registered. 
  431.  
  432. Added Additional features option to each SIG; therefore, each SIG can have its 
  433. own external programs and/or shell scripts which is independent of the main 
  434. menu A(dditional) features option. The format of the features.bbs file is 
  435. exactly the same as the one for the main menu; however, this file is stored in 
  436. the SIG directory ( same as where sigentry.bbs and sigwelcome.bbs are stored ) 
  437.  
  438. 
  439. LISTS
  440.  
  441. listfile.bbs    
  442.  
  443. To make listfile.bbs, you can use the file, listfile.bbs as a guide. 
  444.  
  445. The format of the file is as follows:
  446. LINE 1 ------------ruler
  447. Line 2 - N              The actual files that you make available to you
  448.                         users.
  449.  
  450. Each line is broken up into fields. The fields are as follows:
  451. Column 01 - 50         The full path name of the file to list.
  452. Column   51            A space
  453. Column 52 - 72         Description of the file.
  454.  
  455.  
  456. A file, /tmp/files, is generated for each and every L(ist) command that is 
  457. requested. This is a temporary file which is sent to the user. 
  458.  
  459.  
  460. 
  461. PRIVELDGES
  462.  
  463. FILEPRIV.BBS
  464.  
  465.    filepriv.bbs contains the privileges assigned to the file menu options.
  466.    The file simply contains the letter and privilege assigned to the letter.
  467.    The range of privileges can vary between 0 and 32767. The privileges are
  468.    all relative so you may want to limit the range from 1 to 9. Warning,
  469.    be sure that the G option is ALWAYS lower than the lowest individual
  470.    privilege so you user can log off! An example of the file can be found
  471.    in this download section called filepriv.bbs.
  472.  
  473. MAINPRIV.BBS
  474.  
  475.    mainpriv.bbs contains the privileges assigned to the main menu options.
  476.    It is in the same form as filepriv.bbs. An example of the file can be
  477.    downloaded and is called mainpriv.bbs.
  478.  
  479. USERPRIV.BBS
  480.  
  481.    userpriv.bbs is a dynamically created/appended file which contains the
  482.    individual user privileges along with their "delta time" allocation.
  483.    The file contains entries for each of your users in the form of:
  484.  
  485.     FIRSTNAME LASTNAME PRIVILEGE_LEVEL DELTA_TIME EXTRA_KBYTES
  486.  
  487.     An example of a particular user maybe as follows:
  488.  
  489.     John Smith 5 600 5
  490.  
  491.     Basically, the above user has a privilege level of 5 and has 10 additional
  492.     minutes allowed over the default time (RUNTIME in bbscdef.h). Also, he has
  493.     an extra 5 kilobytes of downloading allowed ( added to MAXKBYTES in
  494.     bbscdef.h ).
  495.  
  496.     An entry may also look like this:
  497.  
  498.     Joe Blow 2 -2400 -50
  499.  
  500.     This means that the above user has a privilege level of 2 and has
  501.     been disallowed 40 minutes from the default time. If the default
  502.     time is set at 60 minutes, his total usage time is only 20 minutes.
  503.     His maximum allowable download in bytes has also been reduced by
  504.     50K!
  505.  
  506.     The default privilege level can be found in bbscdef.h and is called
  507.     NEWPRIV.
  508.  
  509. The menus are variable according to the user's privilege level. If the user 
  510. DOES NOT have the privilege to use the option, the option will NOT be 
  511. displayed. 
  512.  
  513. A file, inval_port.bbs, can contain a list of the sio lines which you do 
  514. not wish bbs users to use. An example of this file is included in the 
  515. distribution. A log of the disallowed called is stored in a file called 
  516. restricted.bbs. 
  517.  
  518. 
  519. FEATURES 
  520.  
  521. To make features.bbs, you can use the file, features.bbs as a guide. 
  522.  
  523. The format of the file is as follows:
  524. LINE 1 ------------ruler
  525. Line 2 - N              The actual programs that you make available to you
  526.                         users.
  527.  
  528. Each line is broken up into fields. The fields are as follows:
  529. Column 01 - 50         The full path name of the program plus commandline
  530. Column   51            A space
  531. Column 52 - 72         Description of program
  532. Column   73            A space
  533. Column 74 - 78         Privilege level assigned to the program
  534. Column   79            An asterisk or space
  535.  
  536. If column 79 is an asterisk, '*', then the BBS software will switch back to
  537. the default terminal parameters and then execute the program. After the 
  538. program completes, it will then switch back to the BBS terminal parameters.
  539. The user will be notified of the switching so that he/she can change his/her
  540. terminal program if necessary.
  541.  
  542. If column 79 is a space, the BBS program will redirect stdout to a temporary
  543. file and then send the output to the bbs user.
  544. 
  545.  
  546. QUESTIONAIRES
  547.  
  548. This file contains the information needed to make your questionnaire.
  549. The following commands are available in column 1:
  550.  
  551. !       Output the rest of the line and wait for an input
  552. ^       is the same as '!' except that the input MUST NOT be NULL (strlen > 0 )
  553. @       Output the rest of the line and send a crlf
  554. &       Same as '@' without the terminal crlf
  555. $       Outputs a '?' and waits for an input
  556. *       is the same as '$' except that the input MUST NOT be NULL (strlen > 0 )
  557. %       Output crlf
  558. Y || y  Output the rest of the line and set FLAG true if response is a Y or y
  559. N || n  Output the rest of the line and set FLAG true if response is an N or n
  560. {       Start conditional statements ( execute the following lines if FLAG
  561.         is equal to true
  562. }       End conditional statements
  563. /       Exit questionnaire - Normally used as a conditional statement
  564.  
  565.  
  566.  
  567. An example of a questionnaire is as follows:
  568. @XBBS QUESTIONNAIRE
  569. NDo you want to continue the questionnaire (y/n)
  570. {
  571. /
  572. }
  573. !Input your full name
  574. !Input your home telephone number
  575. !Input your work telephone number
  576. &Input your full address ( 5 lines available )
  577. $
  578. $
  579. $
  580. $
  581. $
  582. !Input your profession
  583. @Thank you for answering my questionnaire
  584.  
  585.  
  586.  
  587. You may use the above example as your questionnaire.
  588.  
  589.  
  590. The file that you generate is called question.bbs and is located in the same
  591. directory as the rest of the .bbs files.
  592.  
  593. The file that is generated by the bbs software ( the answers to the
  594. questionnaire ) is called answer.bbs and is located in the same directory as
  595. question.bbs.
  596.  
  597. 
  598.  
  599. CONFIGURATION
  600.  
  601. XBBS is configured by using the program xbbsgen.
  602.  
  603. The following are the questions and sample answers you will be asked:
  604.  
  605. Input the full path name for the users home directory: /bbs/home
  606. Input the directory name where the bbs software can be found: /bbs/pgms
  607. Input the full path name for checksum: /bbs/pgms/checksum
  608. Input the full path name for crc: /bbs/pgms/crc
  609. Input the full path name for ymod: /bbs/pgms/ymod
  610. Input the full path name for rb: /u/bin/rb
  611. Input the full path name for sb: /u/bin/sb
  612. Input the full path name for rz: /u/bin/rz
  613. Input the full path name for sz: /u/bin/sz
  614. Input the full path name for kermit: /u/bin/kermitt
  615. Input the full path name for sealink: /u bbs/pgms/sealink/sealink
  616. Input the first name of the sysop: rick
  617. Input the last name of the sysop: mccalla
  618. Input the number of SECONDS you will allow for a login: 300
  619. Input the number of SECONDS you will allow for usage: 5400
  620. Input the number of SECONDS you will allow for response: 180
  621. Input the privilege level for new users: 5
  622. Input the maximum privilege level allowed to users: 32767
  623. Input the maximum number of seconds allowed to users: 32767
  624. Input the daily number of KILOBYTES allowed to users: 500
  625. Input the full path name for tar: /usr/bin/tar           bin/tar
  626. Input the full path name for zcat( link to compress): /usr/bin/zcat
  627. Input the full path name for arc: /u/bin/arc
  628. Input the full path name for unzip: /u/bin/unzip
  629. Input the full path name of the dev driver for local monitoring: /dev/tty09
  630. Input the full path name for the console device driver: /dev/tty01
  631. Input the full path name for the SHELL and command switch
  632. you wish to use for the U(nix) option in the main menu.
  633. Example: /bin/sh 
  634. ?  /bin/sh 
  635.  
  636. Do wish to have the software do a message scan when the user
  637. logs on? 1=yes, 0=no ..... 
  638. 1
  639. Input the full pathname to be used by the USENET reader.
  640. /usr/bin/readnews
  641. Input the full pathname to be used by the USENET poster.
  642. /usr/bin/postnews
  643.  
  644. 
  645. USENET
  646.  
  647. In order to allow access to usenet there must be a '.newsrc' file in the 
  648. 'orgpath'.  In this example it would be /bbs/pgms
  649.  
  650. 
  651. CHAT
  652.  
  653. By selecting this option the caller can send a beeping signal to the console 
  654. terminal to indicate that he would like to chat with the sysop.
  655.  
  656. The sysop can respond to the request for chat by running the 'chatbbs' command 
  657. from the specified console terminal.
  658.  
  659. Chats are logged into the callers file.
  660.  
  661. 
  662. SYSOP UTILITIES
  663.  
  664. USER SIGNALS that are used:
  665.  
  666. 1) SIGUSR1 Toggles the local monitoring of the BBS. An example of the SHELL
  667.    Script that can be used is "toggle". This file can be found in the
  668.    download section.
  669.  
  670. 2) SIGUSR2 Toggles the privileges and time of the present user on the system.
  671.    The time and privilege level is set to maximum so CARE should be used
  672.    with this option since the user can now enter into Unix/Xenix with the
  673.    U option in the main menu. An example of a SHELL SCRIPT that can be used
  674.    is "systoggle". This file can be found in the download section.
  675.  
  676.     The sysop, by using SIGUSR2, can now give the present user temporary
  677.     maximum privileges and time on the system. Since this is a "toggle",
  678.     by issuing this signal again, the user will be returned back to the
  679.     logon time limits and privileges. An example of a SHELL SCRIPT that can
  680.     be used is systoggle.
  681.  
  682.     You can now allow users to enter into Xenix/Unix! Care should be given
  683.     when allocating the user such high privileges. This is the U option
  684.     in the main menu. A suggestion would be to give this privilege the
  685.     maximum allowed in this BBS, 32767. Remember, when SIGUSR2 is issued,
  686.     that user WILL HAVE that privilege!
  687.  
  688. There are two different versions of program which will list the users          
  689. on your bbs: listuser and listusers.                                           
  690.                                                                                
  691. The two programs are basically the same except for how they get the file       
  692. name. Listuser expects the file to be called users.bbs and also that it        
  693. resides in the same directory. This is the version that I use as an            
  694. A(dditional features) program. Listusers prompts you for the full pathname     
  695. of the file.                                                                   
  696.                                                                                
  697. 
  698.  
  699. REGISTRATION
  700.  
  701. My address is as follows:
  702.                 Sanford Zelkovitz
  703.                 5852 Maxson Drive
  704.                 Cypress, Ca   90630
  705.  
  706. Please drop me a line and let me know how this code is working for you.
  707.  
  708. If you would like to send a donation to help cover my equipment expense, that
  709. would be greatly appreciated!
  710.  
  711. Sandy
  712.  
  713.  
  714.            ****************************************************
  715.            *               Brought to you by SJZ              *
  716.            *            24 hrs a day / 7 days a wk            *
  717.            *                714-821-9671 - Data               * 
  718.            *                714-821-9670 - Voice              *
  719.            ****************************************************
  720.  
  721.              ( For BBS, log in as bbs ) alphacm!login: bbs
  722.  
  723. Presently,  registration,  on this bbs, is not required to upload  and 
  724. download  files.   However,  this  policy may  change;   therefore,  I 
  725. strongly   suggest   that  you  fill   out  my   questionnaire.    The 
  726. questionnaire option can be found in the main menu:  Q(uestionnaire). 
  727.  
  728. If and when the policy changes, non registered users will loose their 
  729. download privilege along with the capability of entering messages. 
  730.  
  731.  
  732. The uucp system name is:  alphacm
  733. The uucp and call in data lines accept calls at 19200/9600/2400/1200 baud 
  734. < no 300 baud >. A break sequence is required to switch between the baud rates. 
  735.  
  736. The uucp mail path is: ......!att!hermix!alphacm!sandy 
  737.     ......uunet!zardoz!alphacm!sandy      ......!trwrb!ucla-an!alphacm!sandy
  738.  
  739.         *******    YOU MUST BE AT 8N1 TO LOG INTO THE BBS!   *******
  740.        The source code for this software is available for downloading.
  741.  
  742.  
  743. The modems on this system are now Telebit Trailblazer-Plus(es). Therefore, 
  744. 19.2K/9600 baud PEP protocol is now supported. 
  745.  
  746. The "PEP" tones are sent AFTER the lower baud tones; therefore, if you are
  747. connecting at 19.2K/9600, you must be sure that your Telebit DOES NOT lock
  748. onto the lower baud tones < set s7 to 60 or higher and set s50 to 255 ).
  749. The reason for sending the "lower baud" sequence first is to allow the
  750. "lower baud" users enough time for a baud rate "lock on".
  751.  
  752. RTS/CTS flow is enabled for the higher baud rates. 
  753.  
  754. There have been MANY questions left for me on how to connect to this system 
  755. via uucp to request files. Actually, the procedure is very simple. Just login 
  756. as nuucp with no password. All of the directories used by this bbs have read 
  757. privileges; therefore, you can request and receive any file or files that are 
  758. available for downloading. You must remember the full path names of the files. 
  759. Any file that is in the bbssoftware directory has the path name of 
  760.                       /user/bbsfiles/bbssoftware/. 
  761. Likewise, the unix directory has the path name of /user/bbsfiles/unix/. This 
  762. is also true for each and every file directory on the system. You can get the 
  763. directory name from the A(rea change) command while in the file section. You 
  764. will recognize the name by the first field displayed on each and every line. 
  765. Just add /user/bbsfiles/ to whatever is displayed. 
  766.  
  767. As an example, if you want the file, ALLbbs.tar.Z, the full pathname is 
  768. /user/bbsfiles/bbssoftware/ALLbbs.tar.Z. 
  769.  
  770. If you have a file that you would like to send to this system for others to 
  771. use, please send it to /usr/spool/uucppublic. 
  772.  
  773. Remember, the path is /user/bbsfiles/bbssoftware and NOT /usr/........
  774.  
  775.  
  776.            {trwrb|ucla-cs|cepu}!ucla-an\
  777.                                          \
  778.                                           \
  779.                                           |
  780.                                           |
  781.            {att|ihnp4|decvax|sco}!hermix\ |
  782.                                          \|
  783.                                           |--!alphacm!{root|sandy}
  784.                                          /|
  785.                            uunet!zardoz / |
  786.                                           |
  787.                                           /
  788.                                          /
  789.                     ucbvax!ucivax!icnvax/
  790.  
  791.  
  792. 
  793. MISC
  794.  
  795. A COMMON mistake that MANY users have been making is that ALL COMMANDS are NOT 
  796. case sensitive.  That is, you can use either upper or lower case characters.  
  797. The ONLY thing that is case sensitive are the file names used in downloading 
  798. and uploading.  Like all other BBS software, both upper and lower cases can be 
  799. used in any of the menus or options. 
  800.  
  801. Another option, which is neglected, is the capability of stacking a directory 
  802. number to the A(rea change) option from within the message and file sections.  
  803. Basically, you do not have to list out the list of directories, unless you 
  804. want to.  If you know that you want to switch to directory 3, all you have to 
  805. type is 'a 3' ( note:  the ' characters were added only for clarification ).  
  806. Actually, any of the following combinations will work: 'a 3' 'a3' 'a;3' or and 
  807. non-numeric character between the a and the 3! 
  808.  
  809.  
  810.                       Primary and Secondary Extensions
  811.                               Used on This BBS
  812.  
  813.         
  814. A) Primary Extension
  815.  
  816.    1) .arc             Use arc to "unarchive" and "uncompress the file"
  817.    2) .tar             Use tar to "unarchive" the file
  818.    3) .cpio            Use cpio to "unarchive" the file
  819.    4) .ar              Use ar to "unarchive" the file
  820.    5) .shar            Use /bin/sh to separate the file
  821.    6) .shr             Use /bin/sh to separate the file
  822.  
  823. B) Secondary Extension
  824.  
  825.    1) .Z               Use uncompress to "uncompress" the file
  826.    2) .z               Use unpack to "uncompress" the file
  827.  
  828. Note: Files that end with a .Z may be either 12 bit or 16 bit compression.
  829.       Normally, when 16 bit compression was used, it will be noted in the
  830.       file description.
  831.  
  832.  
  833.  
  834.      TO HOT KEY OR NOT TO HOT KEY, THAT IS THE QUESTION
  835.  
  836.  
  837. I have had MANY question about the "hot key" entries that are used  by the 
  838. bbs;  primarily, when are they used.  The answer is VERY simple, if an input 
  839. ONLY requires a single character, IT IS HOT.  If an input is completely 
  840. satisfied with only two characters, it will terminate after the second 
  841. character. 
  842.  
  843. Since  there  can only be a maximum of 99 message  bases,  99 file bases, 99 
  844. bulletins, and 99 questionnaires, when you are requested  to input that 
  845. particular number, the software will be  satisfied after only two characters;  
  846. however, if a  QUIT is  also  allowed (single "q" entry ), the software WILL  
  847. HOT KEY ONCE THE "Q" IS TYPED. 
  848.  
  849. Since  the  majority of the commands can be  fully  satisfied with  only a 
  850. single character, that character is ALL that  is necessary and the software 
  851. will "hot key".  The A(rea change) commands  in  the  message  and file 
  852. sections  allow  you  to specify  the base to change to;  therefore, the ARE 
  853. NOT  "hot keyed".   The  B(atch read command) allows MANY  entries  and will 
  854. not "hot key" until 80 characters are typed. 
  855.  
  856. Whenever  you  are  asked  for  an input  and  a  "ruler"  is displayed,  the  
  857. software  will  "hot  key"  after  the  LAST allowable character for that 
  858. field. 
  859.  
  860.  
  861. To  summarize the above statements;  if the software DOES NOT "hot  key"  on a 
  862. single key stroke, that means one  of  three things: 
  863.  
  864. 1) That particular option has optional secondary parameters
  865. 2) That particular option requires additional parameters
  866. 3) You typed an invalid entry
  867.  
  868. All  bases (bulletin, file, message, questionnaire) can  only have  a  maximum 
  869. of 99 entries;  therefore, the  inputs  will "hot  key"  after the second 
  870. character or the first if a  "q" was typed and allowed at that time. 
  871.  
  872.  
  873.  
  874.    ************** OPTIONAL FILE *************
  875.  
  876. An  optional file, locking.h, is now available to allow the XBBS  code to  
  877. compile  on AT&T 3Bs or other truly SysV systems.  Remember,  this file MUST 
  878. NOT be used for Xenix systems. 
  879.  
  880.  
  881.             ************************
  882.             AVAILABLE FILE PROTOCOLS
  883.  
  884. For  Uploading:  Ascii, Xmodem-checksum, Xmodem-crc, Ymodem, SEAlink*, Zmodem, 
  885. and Kermit. 
  886.  
  887. For  Downloading:  Ascii, Xmodem-checksum, Xmodem-crc, Ymodem, Kermit, 
  888. SEAlink*, Zmodem, and type. CREDITS: SEAlink is a copyrighted protocol by 
  889. System Enhancements Associates. 
  890.  
  891. Note:   The  kermit that is used on this system NOW  supports  sliding 
  892. windows!   There are TWO different Ymodem protocols available, BATCH & NON-
  893. BATCH. 
  894.  
  895.  
  896.  
  897. 
  898. CREATING THE BBS SYSTEM
  899.  
  900. The paths for all the files may be defined. You will have to modify it for 
  901. your system. When designing your system, think of what you are doing! BE 
  902. ABSOLUTELY SURE that your BBS software is NOT in the same directory as your 
  903. file section for uploads and down-loads! This way, your users.bbs file WILL BE 
  904. SECURE! The way that I have my system configured is as follows: 
  905.  
  906. My BBS software is in a directory called /bbs/pgms and my file section is in a 
  907. directory called /bbs/pgms/files. Since the file directory is the ONLY 
  908. directory available to your users, your BBS system is secure. ( No access to 
  909. callers.bbs and users.bbs ). 
  910.  
  911. Make a new user called bbs with a null password ( type a return when asked for 
  912. the password ). After this new user is generated, use vi to modify 
  913. /etc/passwd. Change the shell entry to the full pathname of bbsc1. In my 
  914. system, it is /bbs/pgms/bbsc1, and set his home to /bbs/home. This way, when a 
  915. user logs in as bbs, he will NOT have a shell behind him and therefore CANNOT 
  916. get into your system! Make another user called bbsuser. When you want to send 
  917. mail to your users, address it to bbsuser. This way, the message "you have 
  918. mail waiting" will not be displayed. 
  919.  
  920. If your Unix does not run at 8N1 and you have a file, /etc/motd, rename it to 
  921. /etc/motd.motd. This way, your user, when he logs in at 8N1 will not receive 
  922. JUNK charcters for your message. Then, modify /etc/profile as shown in 
  923. etc_profile on this system. ( Your non-bbs users will still get your message 
  924. of the day!). You can place the same file as your welcome.bbs and it will be 
  925. displayed at 8N1. 
  926.  
  927. To compile the BBS source code, just type "make". Please note that the "s 
  928. around make are just there for emphasis. 
  929.  
  930. To compile crc.c, type:     cc crc.c -O -o crc
  931. To compile checksum.c type: cc checksum.c -O -o checksum
  932.  
  933. Kermit is already in the compiled form. If you wish to get the source code, 
  934. leave me a message and I will try to comply. 
  935.  
  936. Ymodem uses rb and sb. These files are contained in the COMPRESSED archive, 
  937. rzsz.a.Z. You will have to uncompress the file, using uncompress, which is a 
  938. linked file to compress. After uncompressing the file, you must then unarchive 
  939. it using ar. To compile the files, use the following commands: 
  940.  
  941. To compile sz.c, type:   cc sz.c -O -o sz
  942. To compile rz.c, type:   cc rz.c -O -o rz
  943. To generate the proper link files, type:
  944. ln sz sb
  945. ln rz rb
  946.  
  947.  
  948. Take a look at the sample questions that will be asked by the configuration 
  949. program and have the answers ready.  If you do not have any of the modem 
  950. protocols you will have to download them.
  951.  
  952. Determine the path structure you want to use for the following sections:
  953.         files
  954.         messages
  955.         lists
  956.         sigs
  957.         bulletins
  958. Create the directories and in the case of the files sections you will have to 
  959. put a blank copy of files.bbs in each directory.  For the sigs you will have 
  960. to create a ~couple of files.  For the message areas they should be left 
  961. empty.
  962.  
  963. Using an editor modify the following files in /bbs/pgms
  964.  
  965.         areas.bbs
  966.         bulletin.bbs
  967.         features.bbs
  968.         inval_port.bbs
  969.         listfile.bbs
  970.         msgareas.bbs
  971.         system.bbs
  972.         welcome.bbs
  973.  
  974.  
  975.  
  976. In the bbs all work and users are the single login user of ,bbs,.  Internal 
  977. priveldges determine what the user is allowed to do.
  978.  
  979. Once this has been completed, do a chmod 666 *.bbs. This is necessary to 
  980. guarantee proper privileges on the bbs files. Also, change the privileges to 
  981. 777 on the directory, /tmp. This is required so that the upload/download file 
  982. listing will function properly for your users. Then, change the owner of 
  983. users.bbs to bbs and the group to root. Change the permissions for users.bbs 
  984. to 660. 
  985.  
  986. starting with /bbs all directories must be -rwxrwx---    bbs   root
  987.       all files in all directories must be -rw-rw----    bbs   root  
  988.                        or         -rwxrwx---    bbs   root
  989. If any files are not set there is a very likely chance that the bbs will not 
  990. run.  These ~privileges will also help protect the bbs from other system 
  991. users.
  992.  
  993. Check the 'bbs' has priveldges for /tmp
  994.  
  995. Run the xbbsgen program to generate the config file.  This file will be placed 
  996. in the home file specified for 'bbs' ie /bbs/home
  997.  
  998. If you have specified a device for the monitor terminal other than /dev/null
  999. when you ran xbbsgen then bbs will need permission to write to it.
  1000.  
  1001. Once the system is generated, run it for the first time as a program under 
  1002. root and enter a message to create the files required for each message base.  
  1003. To do this change to the home directory of bbs (/bbs/home) and run the command 
  1004. 'su bbs'. 
  1005.  
  1006.  
  1007. One small paragraph on how the kermit transfer path works: All kermit uploads 
  1008. are sent to /usr/bbs. After the uploads are completed, the files are moved to 
  1009. your files directory. Wildcard transfers are enabled. On downloads, ONLY the 
  1010. files that are in the files directory CAN BE TRANSFERRED. This way, again, 
  1011. your system is secure. 
  1012.  
  1013. Please remember the magic words "directory privileges"! You will have to make
  1014. sure that the following directories have modes of 777:
  1015.  
  1016. 1) The directory pointed to by USRBBS in bbscdef.h
  1017. 2) The directory pointed to by PATHFILE in bbscdef.h
  1018. 3) The directory pointed to by ORGPATH in bbscdef.h
  1019. 4) /tmp
  1020.  
  1021. A word of caution: if you have a user that uploads a file as SYSOP ONLY, and 
  1022. the file ~disappears, you DID NOT ensure proper directory privileges! You see, 
  1023. the code does a link and then an unlink from the original directory ( either 
  1024. USRBBS for Kermit or PATHFILE for the others ) to ORGPATH. ( A simulated mv in 
  1025. "C") 
  1026.  
  1027.  
  1028.                Extra Information On How the BBS Operates
  1029.  
  1030. 1) All errors that are detected that would normally go to stderr are sent,
  1031.    instead to a file called /tmp/errors_out. Under normal conditions, this
  1032.    file should always have a 0 length.
  1033.  
  1034.  
  1035. Warning! DO NOT try to modify the following files with an editor like
  1036. vi: users.bbs, header.bbs, crossref.bbs, messages.bbs since they are
  1037. NOT truely ASCII files and the files WILL BE damaged. In the case of
  1038. crossref.bbs, no ASCII information is even stored in it ( binary file ).
  1039.  
  1040. There  have  been many questions concerning how to set up the  ~ individual
  1041. message   bases  when  first  bringing  up  the  system.   Unfortunately,   my
  1042. documentation has a LOT to be desired!  You see, you should NEVER run bbsc1 as
  1043. a  stand alone program!  The proper way to run the bbs, as a local user, is to
  1044. do  a cd to the bbs's home directory and then do an su to bbs.  This way,  the
  1045. permissions  will always be correct.  Prior to running the bbs to generate the
  1046. individual  message bases, be absolutely sure that you already have the  file,
  1047. msgareas.bbs in the form that you want.  You see, this file contains the names
  1048. of the individual directories that contain the different message bases.  Also,
  1049. be   sure  that  the  directories  that   contain  the  message   bases   have
  1050. read/write/execute  permission  for the bbs user.  Once this is all done,  the
  1051. bbs  software will generate the needed files for you automatically.  You  must
  1052. manually  do the mkdir(s) to make all of the needed directories since the  bbs
  1053. software expects the directories to be there.
  1054.  
  1055.  
  1056. How  should my system look prior to running the bbs?  This is a question  MOST
  1057. often  asked  me.   To  answer  this  question,  I  will  graphically  show  a
  1058. hypothetical system.
  1059.                             |------message_base_one
  1060. /bbs/home                   |------message_base_two
  1061.    |                        |------message_base_three
  1062.    |------/bbs/bbsfiles-----|------file_base_one
  1063.                             |------file_base_two
  1064.                             |------file_base_three
  1065.                             |------my_utility_directory
  1066.  
  1067.  
  1068. The  ONLY file that should be in the hypothetical system as pictured above  in
  1069. /bbs/home  is the .config.bbs file!  There shouldn't be ANY other file in this
  1070. directory  or  any other directories made from it.  This is VERY important  so
  1071. that kermit uploads will operate properly.  All the the distribution bbs files
  1072. MUST  reside in the above hypothetical system in /bbs/bbsfiles.  This includes
  1073. all  of  the software and ALL of the .bbs files.  Within this directory,  your
  1074. users.bbs, userpriv.bbs, all of your callers files, and daily accounting files
  1075. will  be generated.  Also, as shown above, all of the message base directories
  1076. and  file  base  directories will reside.  If you set up the system  as  shown
  1077. above,  the  installation will be completely successful.  BE  ABSOLUTELY  SURE
  1078. that the bbs user has read/write/execute permission in ALL of the directories.
  1079. If this is  NOT  the case,  file generation and  read/write errors will occur.
  1080.  
  1081.