home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Usenet 1994 October
/
usenetsourcesnewsgroupsinfomagicoctober1994disk2.iso
/
misc
/
volume44
/
rocat
/
part03
< prev
next >
Wrap
Internet Message Format
|
1994-08-01
|
97KB
From: shaw@stortek.stortek.com (Greg Shaw)
Newsgroups: comp.sources.misc
Subject: v44i003: rocat - Roman Catacombs BBS System v.0.75, Part03/09
Date: 1 Aug 1994 12:08:37 -0500
Organization: Sterling Software
Sender: kent@sparky.sterling.com
Approved: kent@sparky.sterling.com
Message-ID: <31ja6l$avv@sparky.sterling.com>
X-Md4-Signature: 7d728ca6d90ab899cd87c83d40f6abc0
Submitted-by: shaw@stortek.stortek.com (Greg Shaw)
Posting-number: Volume 44, Issue 3
Archive-name: rocat/part03
Environment: Linux, GNU C++/libg++
#! /bin/sh
# This is a shell archive. Remove anything before this line, then feed it
# into a shell via "sh file" or similar. To overwrite existing files,
# type "sh file -c".
# Contents: rocat-0.75/doc/bbsinstl.ps.A rocat-0.75/src/bbsint.C
# Wrapped by kent@sparky on Mon Jul 11 22:22:50 1994
PATH=/bin:/usr/bin:/usr/ucb:/usr/local/bin:/usr/lbin:$PATH ; export PATH
echo If this archive is complete, you will see the following message:
echo ' "shar: End of archive 3 (of 9)."'
if test -f 'rocat-0.75/doc/bbsinstl.ps.A' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'rocat-0.75/doc/bbsinstl.ps.A'\"
else
echo shar: Extracting \"'rocat-0.75/doc/bbsinstl.ps.A'\" \(83289 characters\)
sed "s/^X//" >'rocat-0.75/doc/bbsinstl.ps.A' <<'END_OF_FILE'
X%!PS-Adobe-3.0
X%%Creator: Windows PSCRIPT
X%%Title: Microsoft Word - BBSINSTL.DOC
X%%BoundingBox: 18 19 593 774
X%%DocumentNeededResources: (atend)
X%%DocumentSuppliedResources: (atend)
X%%Pages: (atend)
X%%BeginResource: procset Win35Dict 3 1
X/Win35Dict 290 dict def Win35Dict begin/bd{bind def}bind def/in{72
Xmul}bd/ed{exch def}bd/ld{load def}bd/tr/translate ld/gs/gsave ld/gr
X/grestore ld/M/moveto ld/L/lineto ld/rmt/rmoveto ld/rlt/rlineto ld
X/rct/rcurveto ld/st/stroke ld/n/newpath ld/sm/setmatrix ld/cm/currentmatrix
Xld/cp/closepath ld/ARC/arcn ld/TR{65536 div}bd/lj/setlinejoin ld/lc
X/setlinecap ld/ml/setmiterlimit ld/sl/setlinewidth ld/scignore false
Xdef/sc{scignore{pop pop pop}{0 index 2 index eq 2 index 4 index eq
Xand{pop pop 255 div setgray}{3{255 div 3 1 roll}repeat setrgbcolor}ifelse}ifelse}bd
X/FC{bR bG bB sc}bd/fC{/bB ed/bG ed/bR ed}bd/HC{hR hG hB sc}bd/hC{
X/hB ed/hG ed/hR ed}bd/PC{pR pG pB sc}bd/pC{/pB ed/pG ed/pR ed}bd/sM
Xmatrix def/PenW 1 def/iPen 5 def/mxF matrix def/mxE matrix def/mxUE
Xmatrix def/mxUF matrix def/fBE false def/iDevRes 72 0 matrix defaultmatrix
Xdtransform dup mul exch dup mul add sqrt def/fPP false def/SS{fPP{
X/SV save def}{gs}ifelse}bd/RS{fPP{SV restore}{gr}ifelse}bd/EJ{gsave
Xshowpage grestore}bd/#C{userdict begin/#copies ed end}bd/FEbuf 2 string
Xdef/FEglyph(G )def/FE{1 exch{dup 16 FEbuf cvrs FEglyph exch 1 exch
Xputinterval 1 index exch FEglyph cvn put}for}bd/SM{/iRes ed/cyP ed
X/cxPg ed/cyM ed/cxM ed 72 100 div dup scale dup 0 ne{90 eq{cyM exch
X0 eq{cxM exch tr -90 rotate -1 1 scale}{cxM cxPg add exch tr +90 rotate}ifelse}{cyP
XcyM sub exch 0 ne{cxM exch tr -90 rotate}{cxM cxPg add exch tr -90
Xrotate 1 -1 scale}ifelse}ifelse}{pop cyP cyM sub exch 0 ne{cxM cxPg
Xadd exch tr 180 rotate}{cxM exch tr 1 -1 scale}ifelse}ifelse 100 iRes
Xdiv dup scale 0 0 transform .25 add round .25 sub exch .25 add round
X.25 sub exch itransform translate}bd/SJ{1 index 0 eq{pop pop/fBE false
Xdef}{1 index/Break ed div/dxBreak ed/fBE true def}ifelse}bd/ANSIVec[
X16#0/grave 16#1/acute 16#2/circumflex 16#3/tilde 16#4/macron 16#5/breve
X16#6/dotaccent 16#7/dieresis 16#8/ring 16#9/cedilla 16#A/hungarumlaut
X16#B/ogonek 16#C/caron 16#D/dotlessi 16#27/quotesingle 16#60/grave
X16#7C/bar 16#82/quotesinglbase 16#83/florin 16#84/quotedblbase 16#85
X/ellipsis 16#86/dagger 16#87/daggerdbl 16#89/perthousand 16#8A/Scaron
X16#8B/guilsinglleft 16#8C/OE 16#91/quoteleft 16#92/quoteright 16#93
X/quotedblleft 16#94/quotedblright 16#95/bullet 16#96/endash 16#97
X/emdash 16#99/trademark 16#9A/scaron 16#9B/guilsinglright 16#9C/oe
X16#9F/Ydieresis 16#A0/space 16#A4/currency 16#A6/brokenbar 16#A7/section
X16#A8/dieresis 16#A9/copyright 16#AA/ordfeminine 16#AB/guillemotleft
X16#AC/logicalnot 16#AD/hyphen 16#AE/registered 16#AF/macron 16#B0/degree
X16#B1/plusminus 16#B2/twosuperior 16#B3/threesuperior 16#B4/acute 16#B5
X/mu 16#B6/paragraph 16#B7/periodcentered 16#B8/cedilla 16#B9/onesuperior
X16#BA/ordmasculine 16#BB/guillemotright 16#BC/onequarter 16#BD/onehalf
X16#BE/threequarters 16#BF/questiondown 16#C0/Agrave 16#C1/Aacute 16#C2
X/Acircumflex 16#C3/Atilde 16#C4/Adieresis 16#C5/Aring 16#C6/AE 16#C7
X/Ccedilla 16#C8/Egrave 16#C9/Eacute 16#CA/Ecircumflex 16#CB/Edieresis
X16#CC/Igrave 16#CD/Iacute 16#CE/Icircumflex 16#CF/Idieresis 16#D0/Eth
X16#D1/Ntilde 16#D2/Ograve 16#D3/Oacute 16#D4/Ocircumflex 16#D5/Otilde
X16#D6/Odieresis 16#D7/multiply 16#D8/Oslash 16#D9/Ugrave 16#DA/Uacute
X16#DB/Ucircumflex 16#DC/Udieresis 16#DD/Yacute 16#DE/Thorn 16#DF/germandbls
X16#E0/agrave 16#E1/aacute 16#E2/acircumflex 16#E3/atilde 16#E4/adieresis
X16#E5/aring 16#E6/ae 16#E7/ccedilla 16#E8/egrave 16#E9/eacute 16#EA
X/ecircumflex 16#EB/edieresis 16#EC/igrave 16#ED/iacute 16#EE/icircumflex
X16#EF/idieresis 16#F0/eth 16#F1/ntilde 16#F2/ograve 16#F3/oacute 16#F4
X/ocircumflex 16#F5/otilde 16#F6/odieresis 16#F7/divide 16#F8/oslash
X16#F9/ugrave 16#FA/uacute 16#FB/ucircumflex 16#FC/udieresis 16#FD/yacute
X16#FE/thorn 16#FF/ydieresis ] def/reencdict 12 dict def/IsChar{basefontdict
X/CharStrings get exch known}bd/MapCh{dup IsChar not{pop/bullet}if
Xnewfont/Encoding get 3 1 roll put}bd/MapDegree{16#b0/degree IsChar{
X/degree}{/ring}ifelse MapCh}bd/MapBB{16#a6/brokenbar IsChar{/brokenbar}{
X/bar}ifelse MapCh}bd/ANSIFont{reencdict begin/newfontname ed/basefontname
Xed FontDirectory newfontname known not{/basefontdict basefontname findfont
Xdef/newfont basefontdict maxlength dict def basefontdict{exch dup/FID
Xne{dup/Encoding eq{exch dup length array copy newfont 3 1 roll put}{exch
Xnewfont 3 1 roll put}ifelse}{pop pop}ifelse}forall newfont/FontName
Xnewfontname put 127 1 159{newfont/Encoding get exch/bullet put}for
XANSIVec aload pop ANSIVec length 2 idiv{MapCh}repeat MapDegree MapBB
Xnewfontname newfont definefont pop}if newfontname end}bd/SB{FC/ULlen
Xed/str ed str length fBE not{dup 1 gt{1 sub}if}if/cbStr ed/dxGdi ed
X/y0 ed/x0 ed str stringwidth dup 0 ne{/y1 ed/x1 ed y1 y1 mul x1 x1
Xmul add sqrt dxGdi exch div 1 sub dup x1 mul cbStr div exch y1 mul
XcbStr div}{exch abs neg dxGdi add cbStr div exch}ifelse/dyExtra ed
X/dxExtra ed x0 y0 M fBE{dxBreak 0 BCh dxExtra dyExtra str awidthshow}{dxExtra
XdyExtra str ashow}ifelse fUL{x0 y0 M dxUL dyUL rmt ULlen fBE{Break
Xadd}if 0 mxUE transform gs rlt cyUL sl [] 0 setdash st gr}if fSO{x0
Xy0 M dxSO dySO rmt ULlen fBE{Break add}if 0 mxUE transform gs rlt cyUL
Xsl [] 0 setdash st gr}if n/fBE false def}bd/font{/name ed/Ascent ed
X0 ne/fT3 ed 0 ne/fSO ed 0 ne/fUL ed/Sy ed/Sx ed 10.0 div/ori ed -10.0
Xdiv/esc ed/BCh ed name findfont/xAscent 0 def/yAscent Ascent def/ULesc
Xesc def ULesc mxUE rotate pop fT3{/esc 0 def xAscent yAscent mxUE transform
X/yAscent ed/xAscent ed}if [Sx 0 0 Sy neg xAscent yAscent] esc mxE
Xrotate mxF concatmatrix makefont setfont [Sx 0 0 Sy neg 0 Ascent] mxUE
XmxUF concatmatrix pop fUL{currentfont dup/FontInfo get/UnderlinePosition
Xknown not{pop/Courier findfont}if/FontInfo get/UnderlinePosition get
X1000 div 0 exch mxUF transform/dyUL ed/dxUL ed}if fSO{0 .3 mxUF transform
X/dySO ed/dxSO ed}if fUL fSO or{currentfont dup/FontInfo get/UnderlineThickness
Xknown not{pop/Courier findfont}if/FontInfo get/UnderlineThickness get
X1000 div Sy mul/cyUL ed}if}bd/min{2 copy gt{exch}if pop}bd/max{2 copy
Xlt{exch}if pop}bd/CP{/ft ed{{ft 0 eq{clip}{eoclip}ifelse}stopped{currentflat
X1 add setflat}{exit}ifelse}loop}bd/patfont 10 dict def patfont begin
X/FontType 3 def/FontMatrix [1 0 0 -1 0 0] def/FontBBox [0 0 16 16]
Xdef/Encoding StandardEncoding def/BuildChar{pop pop 16 0 0 0 16 16
Xsetcachedevice 16 16 false [1 0 0 1 .25 .25]{pat}imagemask}bd end/p{
X/pat 32 string def{}forall 0 1 7{dup 2 mul pat exch 3 index put dup
X2 mul 1 add pat exch 3 index put dup 2 mul 16 add pat exch 3 index
Xput 2 mul 17 add pat exch 2 index put pop}for}bd/pfill{/PatFont patfont
Xdefinefont setfont/ch(AAAA)def X0 64 X1{Y1 -16 Y0{1 index exch M ch
Xshow}for pop}for}bd/vert{X0 w X1{dup Y0 M Y1 L st}for}bd/horz{Y0 w
XY1{dup X0 exch M X1 exch L st}for}bd/fdiag{X0 w X1{Y0 M X1 X0 sub dup
Xrlt st}for Y0 w Y1{X0 exch M Y1 Y0 sub dup rlt st}for}bd/bdiag{X0 w
XX1{Y1 M X1 X0 sub dup neg rlt st}for Y0 w Y1{X0 exch M Y1 Y0 sub dup
Xneg rlt st}for}bd/AU{1 add cvi 15 or}bd/AD{1 sub cvi -16 and}bd/SHR{pathbbox
XAU/Y1 ed AU/X1 ed AD/Y0 ed AD/X0 ed}bd/hfill{/w iRes 37.5 div round
Xdef 0.1 sl [] 0 setdash n dup 0 eq{horz}if dup 1 eq{vert}if dup 2 eq{fdiag}if
Xdup 3 eq{bdiag}if dup 4 eq{horz vert}if 5 eq{fdiag bdiag}if}bd/F{/ft
Xed fm 256 and 0 ne{gs FC ft 0 eq{fill}{eofill}ifelse gr}if fm 1536
Xand 0 ne{SHR gs HC ft CP fm 1024 and 0 ne{/Tmp save def pfill Tmp restore}{fm
X15 and hfill}ifelse gr}if}bd/S{PenW sl PC st}bd/m matrix def/GW{iRes
X12 div PenW add cvi}bd/DoW{iRes 50 div PenW add cvi}bd/DW{iRes 8 div
XPenW add cvi}bd/SP{/PenW ed/iPen ed iPen 0 eq iPen 6 eq or{[] 0 setdash}if
XiPen 1 eq{[DW GW] 0 setdash}if iPen 2 eq{[DoW GW] 0 setdash}if iPen
X3 eq{[DW GW DoW GW] 0 setdash}if iPen 4 eq{[DW GW DoW GW DoW GW] 0
Xsetdash}if}bd/E{m cm pop tr scale 1 0 moveto 0 0 1 0 360 arc cp m sm}bd
X/AG{/sy ed/sx ed sx div 4 1 roll sy div 4 1 roll sx div 4 1 roll sy
Xdiv 4 1 roll atan/a2 ed atan/a1 ed sx sy scale a1 a2 ARC}def/A{m cm
Xpop tr AG m sm}def/P{m cm pop tr 0 0 M AG cp m sm}def/RRect{n 4 copy
XM 3 1 roll exch L 4 2 roll L L cp}bd/RRCC{/r ed/y1 ed/x1 ed/y0 ed/x0
Xed x0 x1 add 2 div y0 M x1 y0 x1 y1 r arcto 4{pop}repeat x1 y1 x0 y1
Xr arcto 4{pop}repeat x0 y1 x0 y0 r arcto 4{pop}repeat x0 y0 x1 y0 r
Xarcto 4{pop}repeat cp}bd/RR{2 copy 0 eq exch 0 eq or{pop pop RRect}{2
Xcopy eq{pop RRCC}{m cm pop/y2 ed/x2 ed/ys y2 x2 div 1 max def/xs x2
Xy2 div 1 max def/y1 exch ys div def/x1 exch xs div def/y0 exch ys div
Xdef/x0 exch xs div def/r2 x2 y2 min def xs ys scale x0 x1 add 2 div
Xy0 M x1 y0 x1 y1 r2 arcto 4{pop}repeat x1 y1 x0 y1 r2 arcto 4{pop}repeat
Xx0 y1 x0 y0 r2 arcto 4{pop}repeat x0 y0 x1 y0 r2 arcto 4{pop}repeat
Xm sm cp}ifelse}ifelse}bd/PP{{rlt}repeat}bd/OB{gs 0 ne{7 3 roll/y ed
X/x ed x y translate ULesc rotate x neg y neg translate x y 7 -3 roll}if
Xsc B fill gr}bd/B{M/dy ed/dx ed dx 0 rlt 0 dy rlt dx neg 0 rlt cp}bd
X/CB{B clip n}bd/ErrHandler{errordict dup maxlength exch length gt
Xdup{errordict begin}if/errhelpdict 12 dict def errhelpdict begin/stackunderflow(operand stack underflow)def
X/undefined(this name is not defined in a dictionary)def/VMerror(you have used up all the printer's memory)def
X/typecheck(operator was expecting a different type of operand)def
X/ioerror(input/output error occured)def end{end}if errordict begin
X/handleerror{$error begin newerror{/newerror false def showpage 72
X72 scale/x .25 def/y 9.6 def/Helvetica findfont .2 scalefont setfont
Xx y moveto(Offending Command = )show/command load{dup type/stringtype
Xne{(max err string)cvs}if show}exec/y y .2 sub def x y moveto(Error = )show
Xerrorname{dup type dup( max err string )cvs show( : )show/stringtype
Xne{( max err string )cvs}if show}exec errordict begin errhelpdict errorname
Xknown{x 1 add y .2 sub moveto errhelpdict errorname get show}if end
X/y y .4 sub def x y moveto(Stack =)show ostack{/y y .2 sub def x 1
Xadd y moveto dup type/stringtype ne{( max err string )cvs}if show}forall
Xshowpage}if end}def end}bd end
X%%EndResource
X/SVDoc save def
X%%EndProlog
X%%BeginSetup
XWin35Dict begin
XErrHandler
Xstatusdict begin 0 setjobtimeout end
Xstatusdict begin statusdict /jobname (Microsoft Word - BBSINSTL.DOC) put end
X/oldDictCnt countdictstack def {statusdict begin 0 setpapertray end
X}stopped
X{ countdictstack oldDictCnt lt { Win35Dict begin }
X{1 1 countdictstack oldDictCnt sub {pop end } for } ifelse } if
X/oldDictCnt countdictstack def {letter
X}stopped
X{ countdictstack oldDictCnt lt { Win35Dict begin }
X{1 1 countdictstack oldDictCnt sub {pop end } for } ifelse } if
X[{}
X/exec load currenttransfer /exec load] cvx settransfer
X/setresolution where { pop 300 300 setresolution } if
X%%EndSetup
X%%Page: 1 1
X%%PageResources: (atend)
XSS
X0 0 25 25 798 1100 300 SM
X32 0 0 83 83 0 0 0 77 /Helvetica-Bold /font13 ANSIFont font
X0 0 0 fC
X812 1332 925 (The Roman Catacombs) 925 SB
X32 0 0 58 58 0 0 0 53 /Helvetica-Bold /font13 ANSIFont font
X972 1430 605 (BBS System for Linux) 605 SB
X32 0 0 38 38 0 0 0 36 /Helvetica-Bold /font13 ANSIFont font
X1118 1498 314 (By Gregory Shaw) 314 SB
X32 0 0 29 29 0 0 0 27 /Helvetica /font12 ANSIFont font
X1103 1544 343 (shaw@manwe.fmsoft.com) 343 SB
X1 #C
Xstatusdict begin /manualfeed false store end
XEJ RS
X%%PageTrailer
X%%PageResources: font Helvetica
X%%+ font Helvetica-Bold
X%%Page: 2 2
X%%PageResources: (atend)
XSS
X0 0 25 25 798 1100 300 SM
X32 0 0 58 58 0 0 0 53 /Helvetica-Bold /font13 ANSIFont font
X0 0 0 fC
X1032 227 485 (Table of Contents) 485 SB
X32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
X300 296 209 (Introduction) 209 SB
X32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
X517 296 352 (................................) 352 SB
X869 296 352 (................................) 352 SB
X1221 296 352 (................................) 352 SB
X1573 296 352 (................................) 352 SB
X1925 296 99 (.........) 99 SB
X2025 296 21 (3) 21 SB
X32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
X450 346 205 (Background) 205 SB
X32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
X660 346 352 (................................) 352 SB
X1012 346 352 (................................) 352 SB
X1364 346 352 (................................) 352 SB
X1716 346 308 (............................) 308 SB
X2025 346 21 (3) 21 SB
X32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
X450 396 233 (Requirements) 233 SB
X32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
X693 396 352 (................................) 352 SB
X1045 396 352 (................................) 352 SB
X1397 396 352 (................................) 352 SB
X1749 396 275 (.........................) 275 SB
X2025 396 21 (3) 21 SB
X32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
X450 446 360 (Multiline capabilities) 360 SB
X32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
X814 446 352 (................................) 352 SB
X1166 446 352 (................................) 352 SB
X1518 446 352 (................................) 352 SB
X1870 446 154 (..............) 154 SB
X2025 446 21 (4) 21 SB
X32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
X450 496 377 (External requirements) 377 SB
X32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
X836 496 352 (................................) 352 SB
X1188 496 352 (................................) 352 SB
X1540 496 352 (................................) 352 SB
X1892 496 132 (............) 132 SB
X2025 496 21 (4) 21 SB
X32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
X450 546 285 (Design decisions) 285 SB
X32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
X737 546 352 (................................) 352 SB
X1089 546 352 (................................) 352 SB
X1441 546 352 (................................) 352 SB
X1793 546 231 (.....................) 231 SB
X2025 546 21 (4) 21 SB
X32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
X300 596 532 (Compilation and Configuration) 532 SB
X32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
X836 596 352 (................................) 352 SB
X1188 596 352 (................................) 352 SB
X1540 596 352 (................................) 352 SB
X1892 596 132 (............) 132 SB
X2025 596 21 (4) 21 SB
X32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
X450 646 158 (Pre-setup) 158 SB
X32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
X616 646 352 (................................) 352 SB
X968 646 352 (................................) 352 SB
X1320 646 352 (................................) 352 SB
X1672 646 352 (................................) 352 SB
X2025 646 21 (4) 21 SB
X32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
X600 696 646 (Adding the BBS User and BBS Group) 646 SB
X32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
X1254 696 352 (................................) 352 SB
X1606 696 352 (................................) 352 SB
X1958 696 66 (......) 66 SB
X2025 696 21 (4) 21 SB
X32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
X450 746 289 (Where to install?) 289 SB
X32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
X748 746 352 (................................) 352 SB
X1100 746 352 (................................) 352 SB
X1452 746 352 (................................) 352 SB
X1804 746 220 (....................) 220 SB
X2025 746 21 (5) 21 SB
X32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
X450 796 383 (Unpacking the archive) 383 SB
X32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
X836 796 352 (................................) 352 SB
X1188 796 352 (................................) 352 SB
X1540 796 352 (................................) 352 SB
X1892 796 132 (............) 132 SB
X2025 796 21 (6) 21 SB
X32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
X450 846 376 (Compiling the System) 376 SB
X32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
X836 846 352 (................................) 352 SB
X1188 846 352 (................................) 352 SB
X1540 846 352 (................................) 352 SB
X1892 846 132 (............) 132 SB
X2025 846 21 (6) 21 SB
X32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
X450 896 473 (Adding the 'new' user logon) 473 SB
X32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
X924 896 352 (................................) 352 SB
X1276 896 352 (................................) 352 SB
X1628 896 352 (................................) 352 SB
X1980 896 44 (....) 44 SB
X2025 896 21 (6) 21 SB
X32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
X450 946 237 (Configuration) 237 SB
X32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
X693 946 352 (................................) 352 SB
X1045 946 352 (................................) 352 SB
X1397 946 352 (................................) 352 SB
X1749 946 275 (.........................) 275 SB
X2025 946 21 (7) 21 SB
X32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
X600 996 211 (Linux FAQs) 211 SB
X32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
X814 996 352 (................................) 352 SB
X1166 996 352 (................................) 352 SB
X1518 996 352 (................................) 352 SB
X1870 996 154 (..............) 154 SB
X2025 996 21 (7) 21 SB
X32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
X600 1046 367 (Modem configuration) 367 SB
X32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
X968 1046 352 (................................) 352 SB
X1320 1046 352 (................................) 352 SB
X1672 1046 352 (................................) 352 SB
X2025 1046 21 (7) 21 SB
X32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
X600 1096 337 (Serial configuration) 337 SB
X32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
X946 1096 352 (................................) 352 SB
X1298 1096 352 (................................) 352 SB
X1650 1096 352 (................................) 352 SB
X2002 1096 22 (..) 22 SB
X2025 1096 21 (8) 21 SB
X32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
X600 1146 222 (Initial Logon) 222 SB
X32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
X825 1146 352 (................................) 352 SB
X1177 1146 352 (................................) 352 SB
X1529 1146 352 (................................) 352 SB
X1881 1146 143 (.............) 143 SB
X2025 1146 21 (9) 21 SB
X32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
X600 1196 236 (Logon Scripts) 236 SB
X32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
X836 1196 352 (................................) 352 SB
X1188 1196 352 (................................) 352 SB
X1540 1196 352 (................................) 352 SB
X1892 1196 132 (............) 132 SB
X2025 1196 42 (10) 42 SB
X32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
X600 1246 289 (System messages) 289 SB
X32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
X891 1246 352 (................................) 352 SB
X1243 1246 352 (................................) 352 SB
X1595 1246 352 (................................) 352 SB
X1947 1246 77 (.......) 77 SB
X2025 1246 42 (10) 42 SB
X32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
X600 1296 114 (Menus) 114 SB
X32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
X715 1296 352 (................................) 352 SB
X1067 1296 352 (................................) 352 SB
X1419 1296 352 (................................) 352 SB
X1771 1296 253 (.......................) 253 SB
X2025 1296 42 (10) 42 SB
X32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
X600 1346 190 (Files Areas) 190 SB
X32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
X792 1346 352 (................................) 352 SB
X1144 1346 352 (................................) 352 SB
X1496 1346 352 (................................) 352 SB
X1848 1346 176 (................) 176 SB
X2025 1346 42 (14) 42 SB
X32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
X600 1396 94 (Users) 94 SB
X32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
X704 1396 352 (................................) 352 SB
X1056 1396 352 (................................) 352 SB
X1408 1396 352 (................................) 352 SB
X1760 1396 264 (........................) 264 SB
X2025 1396 42 (15) 42 SB
X32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
X600 1446 448 (The Options \(bbsinfo\) File) 448 SB
X32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
X1056 1446 352 (................................) 352 SB
X1408 1446 352 (................................) 352 SB
X1760 1446 264 (........................) 264 SB
X2025 1446 42 (16) 42 SB
X32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
X600 1496 601 (Interfacing with External Programs) 601 SB
X32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
X1210 1496 352 (................................) 352 SB
X1562 1496 352 (................................) 352 SB
X1914 1496 110 (..........) 110 SB
X2025 1496 42 (18) 42 SB
X32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
X600 1546 489 (Uploading and Downloading) 489 SB
X32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
X1089 1546 352 (................................) 352 SB
X1441 1546 352 (................................) 352 SB
X1793 1546 231 (.....................) 231 SB
X2025 1546 42 (18) 42 SB
X32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
X300 1596 454 (Testing and Normal Usage) 454 SB
X32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
X759 1596 352 (................................) 352 SB
X1111 1596 352 (................................) 352 SB
X1463 1596 352 (................................) 352 SB
X1815 1596 209 (...................) 209 SB
X2025 1596 42 (19) 42 SB
X32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
X450 1646 295 (Using the System) 295 SB
X32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
X748 1646 352 (................................) 352 SB
X1100 1646 352 (................................) 352 SB
X1452 1646 352 (................................) 352 SB
X1804 1646 220 (....................) 220 SB
X2025 1646 42 (19) 42 SB
X32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
X300 1696 138 (Security) 138 SB
X32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
X440 1696 352 (................................) 352 SB
X792 1696 352 (................................) 352 SB
X1144 1696 352 (................................) 352 SB
X1496 1696 352 (................................) 352 SB
X1848 1696 176 (................) 176 SB
X2025 1696 42 (20) 42 SB
X32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
X450 1746 548 (How the BBS uses Unix security) 548 SB
X32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
X1001 1746 352 (................................) 352 SB
X1353 1746 352 (................................) 352 SB
X1705 1746 319 (.............................) 319 SB
X2025 1746 42 (20) 42 SB
X32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
X450 1796 588 (Security Holes - external programs) 588 SB
X32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
X1045 1796 352 (................................) 352 SB
X1397 1796 352 (................................) 352 SB
X1749 1796 275 (.........................) 275 SB
X2025 1796 42 (20) 42 SB
X32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
X300 1846 571 (Being a System Operator \(SysOp\)) 571 SB
X32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
X880 1846 352 (................................) 352 SB
X1232 1846 352 (................................) 352 SB
X1584 1846 352 (................................) 352 SB
X1936 1846 88 (........) 88 SB
X2025 1846 42 (20) 42 SB
X32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
X450 1896 255 (SysOp Utilities) 255 SB
X32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
X715 1896 352 (................................) 352 SB
X1067 1896 352 (................................) 352 SB
X1419 1896 352 (................................) 352 SB
X1771 1896 253 (.......................) 253 SB
X2025 1896 42 (20) 42 SB
X32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
X450 1946 392 (Watching for Problems) 392 SB
X32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
X847 1946 352 (................................) 352 SB
X1199 1946 352 (................................) 352 SB
X1551 1946 352 (................................) 352 SB
X1903 1946 121 (...........) 121 SB
X2025 1946 42 (22) 42 SB
X32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
X300 1996 277 (Troubleshooting) 277 SB
X32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
X583 1996 352 (................................) 352 SB
X935 1996 352 (................................) 352 SB
X1287 1996 352 (................................) 352 SB
X1639 1996 352 (................................) 352 SB
X1991 1996 33 (...) 33 SB
X2025 1996 42 (23) 42 SB
X32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
X450 2046 318 (Potential Problems) 318 SB
X32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
X770 2046 352 (................................) 352 SB
X1122 2046 352 (................................) 352 SB
X1474 2046 352 (................................) 352 SB
X1826 2046 198 (..................) 198 SB
X2025 2046 42 (23) 42 SB
X32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
X300 2096 394 (Additional Information) 394 SB
X32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
X704 2096 352 (................................) 352 SB
X1056 2096 352 (................................) 352 SB
X1408 2096 352 (................................) 352 SB
X1760 2096 264 (........................) 264 SB
X2025 2096 42 (23) 42 SB
X32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
X450 2146 214 (File Formats) 214 SB
X32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
X671 2146 352 (................................) 352 SB
X1023 2146 352 (................................) 352 SB
X1375 2146 352 (................................) 352 SB
X1727 2146 297 (...........................) 297 SB
X2025 2146 42 (23) 42 SB
X32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
X450 2196 473 (How to connect to FIDONet) 473 SB
X32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
X924 2196 352 (................................) 352 SB
X1276 2196 352 (................................) 352 SB
X1628 2196 352 (................................) 352 SB
X1980 2196 44 (....) 44 SB
X2025 2196 42 (25) 42 SB
X32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
X450 2246 388 (UUCP, Mail and News) 388 SB
X32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
X847 2246 352 (................................) 352 SB
X1199 2246 352 (................................) 352 SB
X1551 2246 352 (................................) 352 SB
X1903 2246 121 (...........) 121 SB
X2025 2246 42 (25) 42 SB
X32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
X450 2296 380 (Other useful programs) 380 SB
X32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
X836 2296 352 (................................) 352 SB
X1188 2296 352 (................................) 352 SB
X1540 2296 352 (................................) 352 SB
X1892 2296 132 (............) 132 SB
X2025 2296 42 (25) 42 SB
X32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
X450 2346 107 (To Do) 107 SB
X32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
X561 2346 352 (................................) 352 SB
X913 2346 352 (................................) 352 SB
X1265 2346 352 (................................) 352 SB
X1617 2346 352 (................................) 352 SB
X1969 2346 55 (.....) 55 SB
X2025 2346 42 (25) 42 SB
X32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
X450 2396 442 (More than two serial lines) 442 SB
X32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
X902 2396 352 (................................) 352 SB
X1254 2396 352 (................................) 352 SB
X1606 2396 352 (................................) 352 SB
X1958 2396 66 (......) 66 SB
X2025 2396 42 (25) 42 SB
X32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
X450 2446 624 (Multiple Machines and Large Setups) 624 SB
X32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
X1078 2446 352 (................................) 352 SB
X1430 2446 352 (................................) 352 SB
X1782 2446 242 (......................) 242 SB
X2025 2446 42 (26) 42 SB
X32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
X600 2496 517 (Monitoring through IP sockets) 517 SB
X32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
X1122 2496 352 (................................) 352 SB
X1474 2496 352 (................................) 352 SB
X1826 2496 198 (..................) 198 SB
X2025 2496 42 (26) 42 SB
X32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
X600 2546 293 (Terminal Servers) 293 SB
X32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
X902 2546 352 (................................) 352 SB
X1254 2546 352 (................................) 352 SB
X1606 2546 352 (................................) 352 SB
X1958 2546 66 (......) 66 SB
X2025 2546 42 (26) 42 SB
X32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
X450 2596 500 (The Roman Catacombs Setup) 500 SB
X32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
X957 2596 352 (................................) 352 SB
X1309 2596 352 (................................) 352 SB
X1661 2596 352 (................................) 352 SB
X2013 2596 11 (.) 11 SB
X2025 2596 42 (27) 42 SB
X32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
X300 2646 191 (Conclusion) 191 SB
X32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
X495 2646 352 (................................) 352 SB
X847 2646 352 (................................) 352 SB
X1199 2646 352 (................................) 352 SB
X1551 2646 352 (................................) 352 SB
X1903 2646 121 (...........) 121 SB
X2025 2646 42 (28) 42 SB
X32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
X300 2696 254 (To Contact Me) 254 SB
X32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
X561 2696 352 (................................) 352 SB
X913 2696 352 (................................) 352 SB
X1265 2696 352 (................................) 352 SB
X1617 2696 352 (................................) 352 SB
X1969 2696 55 (.....) 55 SB
X2025 2696 42 (28) 42 SB
X32 0 0 33 33 0 0 0 31 /Helvetica /font12 ANSIFont font
X300 3034 484 (The rocat BBS System, copyright ) 484 SB
X32 0 0 33 33 0 0 0 33 /Symbol font
Xgs 810 3144 0 0 CB
X784 3032 26 (\323) 26 SB
Xgr
X32 0 0 33 33 0 0 0 31 /Helvetica /font12 ANSIFont font
X810 3034 883 ( 1994 by Gregory Shaw and fmSoft, Inc. All Rights Reserved ) 883 SB
X32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
X2079 3027 21 (2) 21 SB
X1 #C
Xstatusdict begin /manualfeed false store end
XEJ RS
X%%PageTrailer
X%%PageResources: font Helvetica
X%%+ font Helvetica-Bold
X%%+ font Symbol
X%%+ font Times-Roman
X%%Page: 3 3
X%%PageResources: (atend)
XSS
X0 0 25 25 798 1100 300 SM
X32 0 0 50 50 1 0 0 47 /Helvetica-Bold /font13 ANSIFont font
X0 0 0 fC
X300 336 291 (Introduction) 291 SB
X32 0 0 42 42 0 0 0 38 /Helvetica /font12 ANSIFont font
X450 396 1622 (Welcome to the newest \(working\) BBS package available for Linux \(Unix\)! The Roman) 1622 SB
X300 444 846 (Catacombs BBS offers the following features:) 846 SB
X32 0 0 42 42 0 0 0 42 /Symbol font
Xgs 319 3144 0 0 CB
X300 536 19 (\267) 19 SB
Xgr
X32 0 0 42 42 0 0 0 38 /Helvetica /font12 ANSIFont font
X375 540 1167 (A familiar BBS interface for those who do not understand Unix.) 1167 SB
X32 0 0 42 42 0 0 0 42 /Symbol font
Xgs 319 3144 0 0 CB
X300 584 19 (\267) 19 SB
Xgr
X32 0 0 42 42 0 0 0 38 /Helvetica /font12 ANSIFont font
X375 588 1218 (Batch upload and download through the use of external protocols.) 1218 SB
X32 0 0 42 42 0 0 0 42 /Symbol font
Xgs 319 3144 0 0 CB
X300 632 19 (\267) 19 SB
Xgr
X32 0 0 42 42 0 0 0 38 /Helvetica /font12 ANSIFont font
X375 636 652 (Automatic user addition to the BBS) 652 SB
X32 0 0 42 42 0 0 0 42 /Symbol font
Xgs 319 3144 0 0 CB
X300 680 19 (\267) 19 SB
Xgr
X32 0 0 42 42 0 0 0 38 /Helvetica /font12 ANSIFont font
X375 684 1217 (A very configurable BBS with many levels of security and access.) 1217 SB
X32 0 0 42 42 0 0 0 42 /Symbol font
Xgs 319 3144 0 0 CB
X300 728 19 (\267) 19 SB
Xgr
X32 0 0 42 42 0 0 0 38 /Helvetica /font12 ANSIFont font
X375 732 376 (Multiline capabilities) 376 SB
X32 0 0 42 42 0 0 0 42 /Symbol font
Xgs 319 3144 0 0 CB
X300 776 19 (\267) 19 SB
Xgr
X32 0 0 42 42 0 0 0 38 /Helvetica /font12 ANSIFont font
X375 780 1073 (Professional code quality with future maintenance in mind) 1073 SB
X32 0 0 42 42 0 0 0 42 /Symbol font
Xgs 319 3144 0 0 CB
X300 824 19 (\267) 19 SB
Xgr
X32 0 0 42 42 0 0 0 38 /Helvetica /font12 ANSIFont font
X375 828 1854 (An elegant design that allows many additional features to be added without requiring a major rewrite) 1854 SB
X375 876 220 (of the code.) 220 SB
X300 972 587 (And many many more features.) 587 SB
X32 0 0 50 50 0 0 0 47 /Helvetica-Bold /font13 ANSIFont font
X300 1094 292 (Background) 292 SB
X32 0 0 42 42 0 0 0 38 /Helvetica /font12 ANSIFont font
X450 1154 1747 (I've been running a BBS since late 1987. I started on Macintosh computers, and proceeded to) 1747 SB
X300 1202 1894 (write some externals for the BBS package that I was using. I wrote one game and a couple of utilities,) 1894 SB
X300 1250 1589 (most of which were shareware, and brought in enough money to keep the habit going.) 1589 SB
X450 1298 1040 (In 1993, I got fed up with the Macintosh for two reasons:) 1040 SB
X600 1346 1340 (1. The BBS was down if any sort of error occurred \(e.g. a system crash\)) 1340 SB
X600 1394 1465 (2. The software was very limited and didn't do what I wanted to do with a BBS.) 1465 SB
X450 1490 1777 (At that point, I was doing serious software development under Unix \(Interactive SysVr3.2 for the) 1777 SB
X300 1538 1848 (curious\). I was using C++, and thought that an object oriented design for a BBS would allow a lot of) 1848 SB
X300 1586 785 (flexibility. So, I started developing a BBS.) 785 SB
X450 1634 1796 (I cut over to the BBS package late in 1993. It was a bit bare, and full of bugs, but it was a usable) 1796 SB
X300 1682 1901 (BBS system. I loved how any error in the BBS \(e.g. a crash\) logged out the user, and reset the line for) 1901 SB
X300 1730 1074 (the 'next' caller rather than crashing the operating system.) 1074 SB
X450 1778 1730 (Late in the year, I got caught up in Linux. One of the major problems with writing the BBS for) 1730 SB
X300 1826 1880 (Interactive Unix was the number of users using the OS. I didn't want to create a BBS for a very small) 1880 SB
X300 1874 973 (market. So, I cut over to Linux, and started the port.) 973 SB
X450 1922 1747 (After a few months of pulling my hair out because POSIX is different than BSD and SVID \(and) 1747 SB
X300 1970 1884 (there are a few gaps in POSIX\), I believe I've worked around most of the problems caused by POSIX.) 1884 SB
X450 2018 1683 (That brings me to the present. The BBS is reliable, and I run a 3 line BBS on the software.) 1683 SB
X450 2066 1759 (Of course, I don't claim that the BBS is bug free. FAR FROM IT! I do claim, however, that the) 1759 SB
X300 2114 1588 (BBS is a good solution, and really offers many options to a person wanting to setup a ) 1588 SB
X32 0 0 42 42 0 0 0 38 /Helvetica-Oblique /font19 ANSIFont font
X1888 2114 145 (reliable ) 145 SB
X32 0 0 42 42 0 0 0 38 /Helvetica /font12 ANSIFont font
X2033 2114 96 (BBS.) 96 SB
X32 0 0 50 50 0 0 0 47 /Helvetica-Bold /font13 ANSIFont font
X300 2189 333 (Requirements) 333 SB
X32 0 0 42 42 0 0 0 38 /Helvetica /font12 ANSIFont font
X450 2249 1722 (The BBS has very few requirements, machine wise. Most of this has to do with Linux. If you) 1722 SB
X300 2297 1936 (can get Linux to run on your machine, and you've got a modem, you can generally use the rocat system.) 1936 SB
X300 2345 521 (The basic requirements are:) 521 SB
X450 2393 237 (386 or better) 237 SB
X450 2441 141 (modem) 141 SB
X450 2489 1407 (development system installed \(GNU c and c++\) \(for compiling from scratch\)) 1407 SB
X450 2537 580 (5 megabytes of free disk space) 580 SB
X450 2585 572 (familiar with basic Linux \(Unix\)) 572 SB
X450 2633 521 (TCP/IP installed \(minimally\)) 521 SB
X450 2681 263 (root privileges) 263 SB
X450 2729 372 (man pages installed) 372 SB
X300 2777 413 (Not required, but nice:) 413 SB
X450 2825 828 (8 megabytes RAM or better \(for compilation\)) 828 SB
X32 0 0 33 33 0 0 0 31 /Helvetica /font12 ANSIFont font
X300 3034 484 (The rocat BBS System, copyright ) 484 SB
X32 0 0 33 33 0 0 0 33 /Symbol font
Xgs 810 3144 0 0 CB
X784 3032 26 (\323) 26 SB
Xgr
X32 0 0 33 33 0 0 0 31 /Helvetica /font12 ANSIFont font
X810 3034 883 ( 1994 by Gregory Shaw and fmSoft, Inc. All Rights Reserved ) 883 SB
X32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
X2079 3027 21 (3) 21 SB
X1 #C
Xstatusdict begin /manualfeed false store end
XEJ RS
X%%PageTrailer
X%%PageResources: font Helvetica
X%%+ font Helvetica-Bold
X%%+ font Helvetica-Oblique
X%%+ font Symbol
X%%+ font Times-Roman
X%%Page: 4 4
X%%PageResources: (atend)
XSS
X0 0 25 25 798 1100 300 SM
X32 0 0 50 50 0 0 0 47 /Helvetica-Bold /font13 ANSIFont font
X0 0 0 fC
X300 227 491 (Multiline capabilities) 491 SB
X32 0 0 42 42 0 0 0 38 /Helvetica /font12 ANSIFont font
X450 287 1771 (Due to the inherent multi-user capabilities of Linux \(Unix\), it should be possible to have multiple) 1771 SB
X300 335 1828 (persons using your BBS at the same time. rocat was designed with this in mind. It takes very little) 1828 SB
X300 383 856 (system resources to run rocat on your system.) 856 SB
X32 0 0 50 50 0 0 0 47 /Helvetica-Bold /font13 ANSIFont font
X300 505 527 (External requirements) 527 SB
X32 0 0 42 42 0 0 0 38 /Helvetica /font12 ANSIFont font
X450 565 1752 (External programs are a major part of the BBS. Due to the flexibility available in editors, news) 1752 SB
X300 613 1867 (readers and mail systems, all of this capability has been left out of the BBS, so that you can pick and) 1867 SB
X300 661 1331 (choose your own 'flavor' of BBS. The externals that are necessary are:) 1331 SB
X450 709 792 (editors \(vi, emacs, pico ... pick your flavor\)) 792 SB
X450 757 596 (mail readers \(elm, mailx, mh ...\)) 596 SB
X32 0 0 50 50 0 0 0 47 /Helvetica-Bold /font13 ANSIFont font
X300 879 413 (Design decisions) 413 SB
X32 0 0 42 42 0 0 0 38 /Helvetica /font12 ANSIFont font
X450 939 1797 (I made some design decisions regarding this BBS. In other words, I wanted the BBS to be what I) 1797 SB
X300 987 1777 (envisioned to be the 'perfect' BBS for myself. Some of the more esoteric features of some BBS) 1777 SB
X300 1035 1850 (packages haven't been built into rocat simply because I didn't feel they were necessary for my BBS.) 1850 SB
X300 1083 793 (Some of the critical design decisions were:) 793 SB
X32 0 0 42 42 0 0 0 42 /Symbol font
Xgs 469 3144 0 0 CB
X450 1178 19 (\267) 19 SB
Xgr
X32 0 0 42 42 0 0 0 38 /Helvetica /font12 ANSIFont font
X469 1182 1716 ( The Linux \(Unix\) system is used whenever possible. This is due to the sophistication of the) 1716 SB
X300 1234 1835 (system \(and those features\) as a whole. The following subsystems are not part of the BBS, but are) 1835 SB
X300 1282 610 (expected to be used by the BBS:) 610 SB
X32 0 0 42 42 0 0 0 42 /Symbol font
Xgs 619 3144 0 0 CB
X600 1329 19 (\267) 19 SB
Xgr
X32 0 0 42 42 0 0 0 38 /Helvetica /font12 ANSIFont font
X619 1333 743 ( Mail \(sendmail, smail, elm, mailx, etc.\)) 743 SB
X32 0 0 42 42 0 0 0 42 /Symbol font
Xgs 619 3144 0 0 CB
X600 1384 19 (\267) 19 SB
Xgr
X32 0 0 42 42 0 0 0 38 /Helvetica /font12 ANSIFont font
X619 1388 508 ( News \(fido, Internet news\)) 508 SB
X32 0 0 42 42 0 0 0 42 /Symbol font
Xgs 619 3144 0 0 CB
X600 1439 19 (\267) 19 SB
Xgr
X32 0 0 42 42 0 0 0 38 /Helvetica /font12 ANSIFont font
X619 1443 702 ( Chatting \(talk, irc, etc.\) \(at this point\)) 702 SB
X32 0 0 42 42 0 0 0 42 /Symbol font
Xgs 619 3144 0 0 CB
X600 1494 19 (\267) 19 SB
Xgr
X32 0 0 42 42 0 0 0 38 /Helvetica /font12 ANSIFont font
X619 1498 948 ( Download protocols \(rz, sz, kermit, xmodem, etc.\)) 948 SB
X32 0 0 42 42 0 0 0 42 /Symbol font
Xgs 619 3144 0 0 CB
X600 1549 19 (\267) 19 SB
Xgr
X32 0 0 42 42 0 0 0 38 /Helvetica /font12 ANSIFont font
X619 1553 638 ( Background processing \(at, cron\)) 638 SB
X32 0 0 42 42 0 0 0 42 /Symbol font
Xgs 619 3144 0 0 CB
X600 1604 19 (\267) 19 SB
Xgr
X32 0 0 42 42 0 0 0 38 /Helvetica /font12 ANSIFont font
X619 1608 626 ( Login facilities \(getty, login, etc.\)) 626 SB
X32 0 0 42 42 0 0 0 42 /Symbol font
Xgs 619 3144 0 0 CB
X600 1659 19 (\267) 19 SB
Xgr
X32 0 0 42 42 0 0 0 38 /Helvetica /font12 ANSIFont font
X619 1663 555 ( Modem control \(flow control\)) 555 SB
X32 0 0 42 42 0 0 0 42 /Symbol font
Xgs 619 3144 0 0 CB
X600 1714 19 (\267) 19 SB
Xgr
X32 0 0 42 42 0 0 0 38 /Helvetica /font12 ANSIFont font
X619 1718 224 ( Passwords) 224 SB
X32 0 0 42 42 0 0 0 42 /Symbol font
Xgs 469 3144 0 0 CB
X450 1769 19 (\267) 19 SB
Xgr
X32 0 0 42 42 0 0 0 38 /Helvetica /font12 ANSIFont font
X469 1773 1711 ( The BBS uses a modified 'system\(\)' function. This assumes that the command executed is) 1711 SB
X300 1825 1787 (available and will behave properly. This has been done to allow interfacing with external system) 1787 SB
X300 1873 1467 (commands \(see above\). This is also a HUGE security hole, if used improperly.) 1467 SB
X32 0 0 50 50 1 0 0 47 /Helvetica-Bold /font13 ANSIFont font
X300 2068 735 (Compilation and Configuration) 735 SB
X32 0 0 50 50 0 0 0 47 /Helvetica-Bold /font13 ANSIFont font
X300 2154 231 (Pre-setup) 231 SB
X375 2215 891 (Adding the BBS User and BBS Group) 891 SB
X32 0 0 42 42 0 0 0 38 /Helvetica /font12 ANSIFont font
X450 2275 1771 (A BBS administrator login and BBS administrator group is necessary for the BBS to be installed) 1771 SB
X300 2323 1201 (correctly. Do the following steps to add the BBS user and group:) 1201 SB
X450 2371 233 (1. su to root) 233 SB
X600 2419 43 (su) 43 SB
X600 2467 440 (< enter root password >) 440 SB
X450 2515 850 (2. Execute the groupadd program in /usr/sbin) 850 SB
X600 2563 422 (/usr/sbin/groupadd bbs) 422 SB
X450 2611 1742 (3. Look at the file /etc/group. There is a number in the third field that is the GID \(group id\) for) 1742 SB
X300 2659 1601 (group BBS. Remember this number, you'll need it for adding the BBS Admin account.) 1601 SB
X600 2707 254 (cat /etc/group) 254 SB
X450 2755 767 (4. Execute the adduser program in /sbin.) 767 SB
X600 2803 249 (/sbin/adduser) 249 SB
X450 2851 756 (5. The name of the user should be 'bbs'.) 756 SB
X32 0 0 33 33 0 0 0 31 /Helvetica /font12 ANSIFont font
X300 3034 484 (The rocat BBS System, copyright ) 484 SB
X32 0 0 33 33 0 0 0 33 /Symbol font
Xgs 810 3144 0 0 CB
X784 3032 26 (\323) 26 SB
Xgr
X32 0 0 33 33 0 0 0 31 /Helvetica /font12 ANSIFont font
X810 3034 883 ( 1994 by Gregory Shaw and fmSoft, Inc. All Rights Reserved ) 883 SB
X32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
X2079 3027 21 (4) 21 SB
X1 #C
Xstatusdict begin /manualfeed false store end
XEJ RS
X%%PageTrailer
X%%PageResources: font Helvetica
X%%+ font Helvetica-Bold
X%%+ font Symbol
X%%+ font Times-Roman
X%%Page: 5 5
X%%PageResources: (atend)
XSS
X0 0 25 25 798 1100 300 SM
X32 0 0 42 42 0 0 0 38 /Helvetica /font12 ANSIFont font
X0 0 0 fC
X450 226 1772 (6. The full name should be 'BBS Administrator', but can be anything you like \(BBS Admin, etc.\)) 1772 SB
X450 274 1332 (7. The GID should be the same as you saw in the /etc/group file above.) 1332 SB
X450 322 1565 (8. The UID \(user id\) can be anything, but I set mine up to start at 1000. Enter 1000.) 1565 SB
X450 370 842 (9. The home directory should be /bbs/admin.) 842 SB
X450 418 1732 (10. The shell can be your favorite shell \(I prefer /bin/tcsh\). You'll be using this account in the) 1732 SB
X300 466 913 (future, so use something that you're familiar with.) 913 SB
X450 514 1735 (11. Enter a password you can remember. Please don't make it simple; crackers LOVE to eat) 1735 SB
X300 562 531 (BBSs for breakfast \(at 3am\).) 531 SB
X450 610 1714 (12. In the unpacking step, the .cshrc and .profile for the BBS Administrator will be unpacked) 1714 SB
X300 658 317 (from the archive.) 317 SB
X300 754 1922 (NOTE: All further steps \(unless otherwise noted\) should be done by the BBS Administrator account. He) 1922 SB
X300 802 1921 (will 'own' all of the files involved with the BBS, so you should get used to being 'him' \(or 'her'\). You may) 1921 SB
X300 850 790 (get to that user by the following command:) 790 SB
X450 898 147 (su - bbs) 147 SB
X450 946 712 (< enter BBS Administrator password >) 712 SB
X450 1042 743 (Or, alternatively, you may login as 'bbs'.) 743 SB
X450 1138 1799 (\(sub-note: don't do it until the BBS Administrator's account is available. It won't be available until) 1799 SB
X300 1186 502 (the next step is completed\)) 502 SB
X32 0 0 50 50 0 0 0 47 /Helvetica-Bold /font13 ANSIFont font
X300 1260 404 (Where to install?) 404 SB
X32 0 0 42 42 0 0 0 38 /Helvetica /font12 ANSIFont font
X450 1320 1748 (Installation of the BBS should be done on a separate disk partition, if possible. This allows the) 1748 SB
X300 1368 1847 (BBS to exist in it's own 'area'. The following is the setup of The Roman Catacombs BBS \(my BBS\):) 1847 SB
X450 1416 12 (/) 12 SB
X600 1416 167 (boot disk) 167 SB
X450 1464 69 (/usr) 69 SB
X600 1464 227 (another disk) 227 SB
X450 1512 78 (/bbs) 78 SB
X600 1512 252 (the BBS disk.) 252 SB
X450 1608 1603 (The BBS disk contains everything relating to the BBS, executables, headers, files, etc.) 1603 SB
X450 1704 1725 (I'd recommend using a separate partition, if at all possible. This will allow the BBS to use the) 1725 SB
X300 1752 495 (disk caching of the device.) 495 SB
X450 1800 1561 (If that isn't possible, pick a place to install the bbs, and make a symbolic link to /bbs.) 1561 SB
X450 1848 813 (This is accomplished by the following steps:) 813 SB
X600 1896 391 (1. mkdir my_bbs_dir) 391 SB
X600 1944 127 (2. cd /) 127 SB
X600 1992 1233 (3. su \(you need root privileges to make a link in the root directory\)) 1233 SB
X600 2040 846 (4. ln -s path_to_my_bbs_dir/my_bbs_dir /bbs) 846 SB
X450 2136 1786 (You'll also want to make sure that the BBS Administrator and the BBS group own the BBS home) 1786 SB
X300 2184 173 (directory:) 173 SB
X600 2232 893 (chown bbs.bbs path_to_my_bbs_dir/my_bbs_dir) 893 SB
X450 2328 1631 (Note: At this point, you'll want to make the directory /bbs/admin. This is where the BBS) 1631 SB
X300 2376 1917 (Administrator's home directory is found. You won't be able to login as 'bbs' without a home directory. It) 1917 SB
X300 2424 1094 (should also be owned by the BBS Administrator and group.) 1094 SB
X32 0 0 50 50 0 0 0 47 /Helvetica-Bold /font13 ANSIFont font
X300 2498 533 (Unpacking the archive) 533 SB
X32 0 0 42 42 0 0 0 38 /Helvetica /font12 ANSIFont font
X450 2558 1647 (The archive will come in a file named 'rocat.tar.gz' or 'rocat.tgz'. Both of these filenames) 1647 SB
X300 2606 1010 (represent the same file compression. To uncompress:) 1010 SB
X450 2654 1464 (1. su to the BBS Administrator \(all files should be owned by the administrator\):) 1464 SB
X600 2702 121 (su bbs) 121 SB
X600 2750 758 (<enter the BBS Administrator password>) 758 SB
X450 2798 692 (2. Copy the file to the BBS directory.) 692 SB
X600 2846 586 (cp /some_path/rocat.tar.gz /bbs) 586 SB
X32 0 0 33 33 0 0 0 31 /Helvetica /font12 ANSIFont font
X300 3034 484 (The rocat BBS System, copyright ) 484 SB
X32 0 0 33 33 0 0 0 33 /Symbol font
Xgs 810 3144 0 0 CB
X784 3032 26 (\323) 26 SB
Xgr
X32 0 0 33 33 0 0 0 31 /Helvetica /font12 ANSIFont font
X810 3034 883 ( 1994 by Gregory Shaw and fmSoft, Inc. All Rights Reserved ) 883 SB
X32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
X2079 3027 21 (5) 21 SB
X1 #C
Xstatusdict begin /manualfeed false store end
XEJ RS
X%%PageTrailer
X%%PageResources: font Helvetica
X%%+ font Helvetica-Bold
X%%+ font Symbol
X%%+ font Times-Roman
X%%Page: 6 6
X%%PageResources: (atend)
XSS
X0 0 25 25 798 1100 300 SM
X32 0 0 42 42 0 0 0 38 /Helvetica /font12 ANSIFont font
X0 0 0 fC
X450 226 514 (3. Change directory to /bbs) 514 SB
X600 274 134 (cd /bbs) 134 SB
X450 322 339 (4. Untar the BBS.) 339 SB
X600 370 385 (tar xvfoz rocat.tar.gz) 385 SB
X600 418 1537 (Note: If tar complains about 'unknown option z', you need to gunzip the file prior to) 1537 SB
X300 466 315 (untarring the file:) 315 SB
X600 514 289 (gunzip rocat.tar) 289 SB
X450 610 1733 (At this point, much of the BBS structure will be created. Additionally, the BBS Administrator's) 1733 SB
X300 658 1950 (setup information \(.cshrc, .profile, etc\) will be copied to /bbs/admin. You'll want to log out and log back in) 1950 SB
X300 706 1041 (as the BBS Administrator before continuing the process.) 1041 SB
X32 0 0 50 50 0 0 0 47 /Helvetica-Bold /font13 ANSIFont font
X300 830 525 (Compiling the System) 525 SB
X32 0 0 42 42 0 0 0 38 /Helvetica /font12 ANSIFont font
X450 890 1624 (Compiling the system is the easy part. There is very little that needs to be done prior to) 1624 SB
X300 938 1950 (compiling the code. There are some limits setup in the main header file and spread out here and there in) 1950 SB
X300 986 1894 (the code. For the most part, you won't need to mess with these settings. If you really feel you need to) 1894 SB
X300 1034 1879 (muck around with the code, feel free. Be warned, however, that the rocat system is a complex beast,) 1879 SB
X300 1082 1930 (and a very fickle one, if changed indiscriminately. Save an original copy of the BBS prior to making any) 1930 SB
X300 1130 168 (changes.) 168 SB
X450 1178 1144 (The following steps should result in a set of BBS executables:) 1144 SB
X450 1226 488 (1. CD to the src directory.) 488 SB
X600 1274 216 (cd src/rocat) 216 SB
X450 1322 424 (2. Do a make depend.) 424 SB
X600 1370 253 (make depend) 253 SB
X450 1418 931 (3. Do a make. This should start the build process.) 931 SB
X600 1466 103 (make) 103 SB
X450 1514 1686 (Come back in a couple minutes \(on a 486/66 with 20 megabytes of memory\) or a couple of) 1686 SB
X300 1562 1732 (hours \(386SX-16 with 2 megabytes of memory\). If you get errors, make sure of the following:) 1732 SB
X450 1658 1729 (1. The development system is installed. This includes GNU C, GNU C++ and GNU LIBG++.) 1729 SB
X300 1706 1308 (rocat is written in C++, and requires all of the C++ facilities to compile.) 1308 SB
X450 1754 1791 (2. Your path has the compilers in it. 'make' depends on your path to execute commands. If you) 1791 SB
X300 1802 1926 (can't execute the command, make won't be able to execute it either. Your path should contain \(at least\)) 1926 SB
X300 1850 582 (/bin, /usr/bin, and /usr/local/bin.) 582 SB
X450 1898 1772 (3. bbs owns the entire rocat directory structure. If bbs doesn't own the directories, you won't be) 1772 SB
X300 1946 1947 (able to make any changes to the files and/or directories. \(and generally, things will be pretty broken from) 1947 SB
X300 1994 155 (here on\)) 155 SB
X32 0 0 50 50 0 0 0 47 /Helvetica-Bold /font13 ANSIFont font
X300 2116 666 (Adding the 'new' user logon) 666 SB
X32 0 0 42 42 0 0 0 38 /Helvetica /font12 ANSIFont font
X450 2176 1791 (The 'new' user logon must be added to allow users to log into your BBS for the first time. To add) 1791 SB
X300 2224 805 (the 'new' user logon, do the following steps.) 805 SB
X450 2272 233 (1. su to root) 233 SB
X600 2320 43 (su) 43 SB
X600 2368 440 (< enter root password >) 440 SB
X450 2416 1742 (2. Look at the file /etc/group. There is a number in the third field that is the GID \(group id\) for) 1742 SB
X300 2464 1476 (group BBS. Remember this number, you'll need it for adding the 'new' account.) 1476 SB
X600 2512 254 (cat /etc/group) 254 SB
X450 2560 767 (3. Execute the adduser program in /sbin.) 767 SB
X600 2608 249 (/sbin/adduser) 249 SB
X450 2656 765 (4. The name of the user should be 'new'.) 765 SB
X450 2704 1658 (5. The full name should be 'New BBS User', but can be anything you like \(New User, etc\)) 1658 SB
X450 2752 1332 (6. The GID should be the same as you saw in the /etc/group file above.) 1332 SB
X450 2800 1764 (7. The UID \(user id\) can be anything. You'll be changing the UID, so enter something that isn't) 1764 SB
X300 2848 507 (already in use. Say 10000.) 507 SB
X32 0 0 33 33 0 0 0 31 /Helvetica /font12 ANSIFont font
X300 3034 484 (The rocat BBS System, copyright ) 484 SB
X32 0 0 33 33 0 0 0 33 /Symbol font
Xgs 810 3144 0 0 CB
X784 3032 26 (\323) 26 SB
Xgr
X32 0 0 33 33 0 0 0 31 /Helvetica /font12 ANSIFont font
X810 3034 883 ( 1994 by Gregory Shaw and fmSoft, Inc. All Rights Reserved ) 883 SB
X32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
X2079 3027 21 (6) 21 SB
X1 #C
Xstatusdict begin /manualfeed false store end
XEJ RS
X%%PageTrailer
X%%PageResources: font Helvetica
X%%+ font Helvetica-Bold
X%%+ font Symbol
X%%+ font Times-Roman
X%%Page: 7 7
X%%PageResources: (atend)
XSS
X0 0 25 25 798 1100 300 SM
X32 0 0 42 42 0 0 0 38 /Helvetica /font12 ANSIFont font
X0 0 0 fC
X450 226 715 (8. The home directory should be /bbs.) 715 SB
X450 274 1168 (9. The shell should be /bbs/scripts/login.scr. This is important.) 1168 SB
X450 322 938 (10. Enter a simple password to setup the account.) 938 SB
X450 370 686 (11. Now comes the tricks. cd to /etc) 686 SB
X450 418 455 (12. Edit the passwd file.) 455 SB
X600 466 183 (vi passwd) 183 SB
X450 514 545 (13. search for the 'new' user.) 545 SB
X600 562 87 (/new) 87 SB
X450 610 1763 (14. You need to change the 10000 in the 'new' user's ID line to 0. The third field is the number) 1763 SB
X300 658 803 (to change \(the file is delimited with colons\).) 803 SB
X450 706 1620 (15. Delete the password found in the second field. The final entry should look like this:) 1620 SB
X32 0 0 42 42 0 0 0 33 /Courier /font0 ANSIFont font
X300 801 1375 (new::0:104:New User Account:/bbs:/bbs/scripts/login.scr) 1375 SB
X32 0 0 42 42 0 0 0 38 /Helvetica /font12 ANSIFont font
X450 892 1773 (The new user is now installed. However, if you have shadow passwords installed, you'll need to) 1773 SB
X300 940 1030 (edit the file /etc/shadow to delete the password for new.) 1030 SB
X450 1036 1716 (If you do not delete the 'new' user's password, nobody will be able to log in as 'new', because) 1716 SB
X300 1084 1570 (they won't know the password. If there is no password, it skips the password prompt.) 1570 SB
X32 0 0 50 50 0 0 0 47 /Helvetica-Bold /font13 ANSIFont font
X300 1158 328 (Configuration) 328 SB
X375 1219 280 (Linux FAQs) 280 SB
X32 0 0 42 42 0 0 0 38 /Helvetica /font12 ANSIFont font
X600 1279 1588 (Note: In the below configuration and examples, I'm assuming that you're familiar with) 1588 SB
X450 1327 732 (adding modems and configuring gettys.) 732 SB
X600 1375 1631 (If you're not familiar with these items, I recommend the Linux FAQs. They're invaluable) 1631 SB
X450 1423 1718 (information for those starting from scratch. The FAQs are available as part of the Slackware) 1718 SB
X450 1471 1759 (distribution, and, should you install them, are found in /usr/doc/faq. If you don't use Slackware,) 1759 SB
X450 1519 1722 (and have access to news, please look in the comp.news.answers newsgroup for Linux FAQs.) 1722 SB
X32 0 0 50 50 0 0 0 47 /Helvetica-Bold /font13 ANSIFont font
X375 1568 509 (Modem configuration) 509 SB
X32 0 0 42 42 0 0 0 38 /Helvetica /font12 ANSIFont font
X600 1628 1446 (Configuration of the modems is very important to the BBS. If the modem isn't) 1446 SB
X450 1676 1486 (configured correctly, the BBS will never know that there is a user on the system!) 1486 SB
X600 1724 1531 (At this point, I'm using a ZyXEL U-1496+ on my BBS. However, I won't go into the) 1531 SB
X450 1772 1754 (configuration of the modem in detail; all you really need to know is the generic parameters that) 1754 SB
X450 1820 1770 (are necessary for the modem to work. I've included the items that are generic to most modems) 1770 SB
X450 1868 1720 (in parenthesis at the end of the description. The following are the key configuration items for) 1720 SB
X450 1916 246 (your modem:) 246 SB
X32 0 0 42 42 0 0 0 39 /Helvetica-Bold /font13 ANSIFont font
X600 1964 498 (A GOOD MODEM CABLE) 498 SB
X32 0 0 42 42 0 0 0 38 /Helvetica /font12 ANSIFont font
X1098 1965 928 ( \(one that has all pins straight through is the best\)) 928 SB
X600 2014 1443 (Serial speed \(DTE-DCE\) speed should be locked at 19.2Kbps or faster speed.) 1443 SB
X600 2062 666 (Hardware flow control should be on.) 666 SB
X600 2110 985 (The modem should reset upon loss of DTR. \(AT&D3\)) 985 SB
X600 2158 1113 (The modem should respond to carrier-detect \(CD\). \(AT&C1\)) 1113 SB
X600 2206 1196 (The modem should answer the phone on the first ring. \(ATS0=1\)) 1196 SB
X600 2254 1174 (If possible, error-free and data compression should be enabled.) 1174 SB
X600 2350 1525 (It's possible \(and sadly, probable\) that some of the above items will go by different) 1525 SB
X450 2398 137 (names.) 137 SB
X600 2446 1458 (Remember the speed you've locked the modem at. You'll need it for the serial) 1458 SB
X450 2494 253 (configuration.) 253 SB
X32 0 0 50 50 0 0 0 47 /Helvetica-Bold /font13 ANSIFont font
X375 2591 470 (Serial configuration) 470 SB
X32 0 0 42 42 0 0 0 38 /Helvetica /font12 ANSIFont font
X600 2651 1574 (Serial configuration involves telling the computer where your modems are, and, what) 1574 SB
X450 2699 1770 (speed they're running at. At this point, I'm assuming you've got your modem\(s\) configured, and) 1770 SB
X450 2747 1030 (are ready to test the logon capabilities of your machine.) 1030 SB
X600 2795 896 (Serial configuration involves the following steps:) 896 SB
X600 2843 686 (1. Configuring the /etc/gettydefs file.) 686 SB
X32 0 0 33 33 0 0 0 31 /Helvetica /font12 ANSIFont font
X300 3034 484 (The rocat BBS System, copyright ) 484 SB
X32 0 0 33 33 0 0 0 33 /Symbol font
Xgs 810 3144 0 0 CB
X784 3032 26 (\323) 26 SB
Xgr
X32 0 0 33 33 0 0 0 31 /Helvetica /font12 ANSIFont font
X810 3034 883 ( 1994 by Gregory Shaw and fmSoft, Inc. All Rights Reserved ) 883 SB
X32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
X2079 3027 21 (7) 21 SB
X1 #C
Xstatusdict begin /manualfeed false store end
XEJ RS
X%%PageTrailer
X%%PageResources: font Courier
X%%+ font Helvetica
X%%+ font Helvetica-Bold
X%%+ font Symbol
X%%+ font Times-Roman
X%%Page: 8 8
X%%PageResources: (atend)
XSS
X0 0 25 25 798 1100 300 SM
X32 0 0 42 42 0 0 0 38 /Helvetica /font12 ANSIFont font
X0 0 0 fC
X600 226 897 (2. Turning on 'getty' processes for your modem.) 897 SB
X600 274 563 (3. Changing the /etc/issue file) 563 SB
X600 322 423 (4. Testing \(if possible\)) 423 SB
X600 418 1548 (Configuration of the /etc/gettydefs file is easy. Simply add the following line to your) 1548 SB
X450 466 250 (gettydefs file:) 250 SB
X32 0 0 42 42 0 0 0 33 /Courier /font0 ANSIFont font
X450 561 625 (# Modem locked at 38400:) 625 SB
X450 603 25 (#) 25 SB
X450 645 1650 (38400# B38400 CS8 CRTSCTS # B38400 SANE -ISTRIP CRTSCTS #@S login:) 1650 SB
X450 687 150 (#38400) 150 SB
X32 0 0 42 42 0 0 0 38 /Helvetica /font12 ANSIFont font
X600 778 1435 (Of course, if you are running at a different baud rate, you'll want to change all) 1435 SB
X450 826 1151 (occurrences in the above file to the baud rate you wish to use.) 1151 SB
X600 922 1544 (To turn on a 'getty' process for your modem, edit the /etc/inittab file. In that file you) 1544 SB
X450 970 552 (should see something similar:) 552 SB
X32 0 0 42 42 0 0 0 33 /Courier /font0 ANSIFont font
X450 1065 350 (# Serial lines) 350 SB
X450 1107 1100 (s1:45:respawn:/etc/uugetty -t 90 ttyS0 38400) 1100 SB
X450 1149 1100 (s2:45:respawn:/etc/uugetty -t 90 ttyS1 38400) 1100 SB
X32 0 0 42 42 0 0 0 38 /Helvetica /font12 ANSIFont font
X600 1234 1522 (The above two lines are for COM1 and COM2 ports \(DOS-style\). The above lines) 1522 SB
X450 1282 117 (mean:) 117 SB
X600 1330 1618 (1. Spawn a 'getty' for the port ttyS0 running from the '38400' gettytab entry when in run) 1618 SB
X450 1378 220 (level 4 or 5.) 220 SB
X600 1426 1625 (2. If you get a carrier detect on the line, and nothing happens for 90 seconds, go ahead) 1625 SB
X450 1474 440 (and hang up the phone.) 440 SB
X600 1570 1289 (Note: The system goes into mode 4 or 5 by default on most systems.) 1289 SB
X600 1618 1568 (Note: Make sure that the files /dev/ttyS0 and /dev/ttyS1 exist. They should look like) 1568 SB
X450 1666 77 (this:) 77 SB
X32 0 0 42 42 0 0 0 33 /Courier /font0 ANSIFont font
X450 1761 1625 (crw-rw-rw- 1 root root 4, 64 May 21 19:43 /dev/ttyS0) 1625 SB
X450 1803 1625 (crw-rw-rw- 1 root root 4, 65 May 21 19:43 /dev/ttyS1) 1625 SB
X32 0 0 42 42 0 0 0 38 /Helvetica /font12 ANSIFont font
X600 1894 1553 (If these files don't exist, the 'getty' program will error off, and you'll see errors on the) 1553 SB
X450 1942 1772 (console regarding the problem entry. If they don't exist, see the Linux FAQs for creating device) 1772 SB
X450 1990 88 (files.) 88 SB
X600 2038 1576 (If you make any changes in the /etc/inittab file, be sure to issue a 'init q' command so) 1576 SB
X450 2086 1016 (that init will re-read the file and recognize the changes.) 1016 SB
X600 2134 1632 (Note: For new users to log on \(via the 'new' account\), the tty line must be entered in the) 1632 SB
X450 2182 1783 (/etc/securetty file. The 'new' user runs as root, and without the securetty entry, root logon will be) 1783 SB
X450 2230 1061 (denied on that tty. Do a 'man login' for more information.) 1061 SB
X600 2326 1625 (A default issue file can be found in /bbs/text/issue. Edit this file and copy it to /etc/issue) 1625 SB
X450 2374 713 (to activate the message prior to logon.) 713 SB
X600 2470 1538 (If possible, you should have a friend log into your BBS. If you have trouble, please) 1538 SB
X450 2518 982 (reference the FAQs about turning on dialup services.) 982 SB
X32 0 0 50 50 0 0 0 47 /Helvetica-Bold /font13 ANSIFont font
X375 2609 298 (Initial Logon) 298 SB
X32 0 0 42 42 0 0 0 38 /Helvetica /font12 ANSIFont font
X600 2669 868 (The initial logon process is documented below:) 868 SB
X600 2717 526 (1. The user logs in as 'new'.) 526 SB
X600 2765 1012 (2. The user is given a 'welcome to the BBS' message.) 1012 SB
X600 2813 1257 (3. He is asked if he already has an account, and is unable to logon.) 1257 SB
X32 0 0 33 33 0 0 0 31 /Helvetica /font12 ANSIFont font
X300 3034 484 (The rocat BBS System, copyright ) 484 SB
X32 0 0 33 33 0 0 0 33 /Symbol font
Xgs 810 3144 0 0 CB
X784 3032 26 (\323) 26 SB
Xgr
X32 0 0 33 33 0 0 0 31 /Helvetica /font12 ANSIFont font
X810 3034 883 ( 1994 by Gregory Shaw and fmSoft, Inc. All Rights Reserved ) 883 SB
X32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
X2079 3027 21 (8) 21 SB
X1 #C
Xstatusdict begin /manualfeed false store end
XEJ RS
X%%PageTrailer
X%%PageResources: font Courier
X%%+ font Helvetica
X%%+ font Helvetica-Bold
X%%+ font Symbol
X%%+ font Times-Roman
X%%Page: 9 9
X%%PageResources: (atend)
XSS
X0 0 25 25 798 1100 300 SM
X32 0 0 42 42 0 0 0 38 /Helvetica /font12 ANSIFont font
X0 0 0 fC
X600 226 1572 (4. If this is the case, he's asked for some information, and is able to send mail to the) 1572 SB
X450 274 782 (SysOp of the BBS. He is then logged out.) 782 SB
X600 322 1649 (5. If the above was not the case, he's shown a file \(/bbs/text/bbswelcome\) describing the) 1649 SB
X450 370 326 (focus of the BBS.) 326 SB
X600 418 1135 (6. He is asked "Would you like to become part of the BBS?".) 1135 SB
X600 466 1645 (7. If anything other than 'Yes' \(or something starting with 'y'\) is entered, he is logged out.) 1645 SB
X600 514 1499 (8. He is then asked his first name and last name. Checking is done from the file) 1499 SB
X450 562 1793 (/bbs/text/badwords to make sure that there isn't an illegal word in his name. This prevents logins) 1793 SB
X450 610 1342 (of the form 'Doctor Death' and 'Joe Mama' from becoming usable logins.) 1342 SB
X600 658 1616 (9. His first name and last name are place together to form a unique login ID for him. It) 1616 SB
X450 706 1794 (generally takes the form first inital and last name, but if you should have a logon of that nature, it) 1794 SB
X450 754 1719 (will attempt to put additional first name characters along with the last name. Note that only 8) 1719 SB
X450 802 590 (characters are used. A sample:) 590 SB
X32 0 0 42 42 1 0 0 38 /Helvetica /font12 ANSIFont font
X600 850 112 (Name) 112 SB
X1200 850 115 (Logon) 115 SB
X32 0 0 42 42 0 0 0 38 /Helvetica /font12 ANSIFont font
X600 898 211 (John Smith) 211 SB
X1200 898 111 (jsmith) 111 SB
X600 946 469 (John Smith \(number two\)) 469 SB
X1200 946 134 (josmith) 134 SB
X600 994 304 (Alfred Neumann) 304 SB
X1200 994 197 (aneumann) 197 SB
X600 1042 408 (Alfred Neumann \(two\)) 408 SB
X1200 1042 184 (alneuman) 184 SB
X450 1138 1713 (Note: It is possible to get in a loop. If you have a short name, and all possible combinations) 1713 SB
X450 1186 1755 (have been used, it will cycle endlessly, trying for a combination. Since this is very improbable,) 1755 SB
X450 1234 581 (I've left this 'bug' in the system.) 581 SB
X600 1282 634 (10. The user is given his login ID.) 634 SB
X600 1330 1615 (11. The user is prompted for a password. It will loop until a valid password \(as defined) 1615 SB
X450 1378 690 (by the password program\) is entered.) 690 SB
X600 1426 1312 (12. The user account is added \(via the /bbs/scripts/addbbsuser script\).) 1312 SB
X600 1474 1650 (13. The user is given a "please log in again with your new account" message and logged) 1650 SB
X450 1522 61 (off.) 61 SB
X450 1618 1238 (When he logs back in with his new account, the following happens:) 1238 SB
X600 1666 1598 (1. Since he is not found in the userlog \(/bbs/admin/userlog\), the BBS asks whether he) 1598 SB
X450 1714 522 (wants to be part of the BBS.) 522 SB
X600 1762 462 (2. If not, he's logged off.) 462 SB
X600 1810 826 (3. He is asked for the city he is calling from.) 826 SB
X600 1858 852 (4. He is asked for the state he is calling from.) 852 SB
X600 1906 1493 (5. He is shown a message describing what terminal types are, and asked for the) 1493 SB
X450 1954 658 (terminal type his software supports.) 658 SB
X600 2002 1474 (6. He is asked whether his software supports color. \(this isn't used at this time\)) 1474 SB
X600 2050 1584 (7. He is shown a file describing the editors available on the system \(/bbs/text/editors\)) 1584 SB
X450 2098 692 (and asked which one he'd like to use.) 692 SB
X600 2146 506 (8. He is asked for an alias.) 506 SB
X600 2194 1099 (9. He is asked how many lines are available on his screen.) 1099 SB
X600 2242 1192 (10. He is asked how many columns are available on his screen.) 1192 SB
X600 2290 1638 (11. He is prompted with the above information, and asked whether it is correct. If not, it) 1638 SB
X450 2338 283 (goes back to 3.) 283 SB
X600 2386 724 (12. He is logged into the BBS \(saved\).) 724 SB
X600 2434 1150 (13. He is shown the 'welcome' message. \(/bbs/text/welcome\)) 1150 SB
X600 2482 777 (14. His personal information is displayed.) 777 SB
X600 2530 1152 (15. He is walked through system1.msg through system3.msg.) 1152 SB
X750 2578 961 (\(Note: this can be turned off through the config file\)) 961 SB
X600 2626 679 (15. He is given an optional 'fortune'.) 679 SB
X600 2674 1495 (16. At this point, the BBS runs the menu 'main', and the BBS operates normally.) 1495 SB
X32 0 0 50 50 0 0 0 47 /Helvetica-Bold /font13 ANSIFont font
X375 2723 338 (Logon Scripts) 338 SB
X32 0 0 33 33 0 0 0 31 /Helvetica /font12 ANSIFont font
X300 3034 484 (The rocat BBS System, copyright ) 484 SB
X32 0 0 33 33 0 0 0 33 /Symbol font
Xgs 810 3144 0 0 CB
X784 3032 26 (\323) 26 SB
Xgr
X32 0 0 33 33 0 0 0 31 /Helvetica /font12 ANSIFont font
X810 3034 883 ( 1994 by Gregory Shaw and fmSoft, Inc. All Rights Reserved ) 883 SB
X32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
X2079 3027 21 (9) 21 SB
X1 #C
Xstatusdict begin /manualfeed false store end
XEJ RS
X%%PageTrailer
X%%PageResources: font Helvetica
X%%+ font Helvetica-Bold
X%%+ font Symbol
X%%+ font Times-Roman
X%%Page: 10 10
X%%PageResources: (atend)
XSS
X0 0 25 25 798 1100 300 SM
X32 0 0 42 42 0 0 0 38 /Helvetica /font12 ANSIFont font
X0 0 0 fC
X600 226 1535 (You'll want to edit your logon script to represent 'your' BBS. The script I am talking) 1535 SB
X450 274 1641 (about is found in /bbs/scripts/login.scr. There is a 'Welcome to The Roman Catacombs!') 1641 SB
X450 322 1285 (message found in there that you'll want to change to your BBS name.) 1285 SB
X600 370 1640 (You'll also want to edit the '/bbs/bbs' file. This file is the pipe that allows users to use the) 1640 SB
X450 418 713 (BBS effectively. The file is as follows:) 713 SB
X32 0 0 42 42 0 0 0 33 /Courier /font0 ANSIFont font
X450 513 1300 (# file to execute prior to starting main bbs program) 1300 SB
X450 555 25 (#) 25 SB
X450 681 150 (IFS="") 150 SB
X450 723 1325 (PATH=/bin:/usr/bin:/usr/games:/usr/local/bin:/usr/ucb) 1325 SB
X450 765 275 (export PATH) 275 SB
X450 807 275 (BBSDIR=/bbs) 275 SB
X450 849 250 (SYSOP=shaw) 250 SB
X450 891 275 (VISUAL=pico) 275 SB
X450 933 275 (EDITOR=pico) 275 SB
X450 975 925 (export BBSDIR SYSOP VISUAL EDITOR IFS) 925 SB
X450 1017 475 (SHELL=$BBSDIR/rocat) 475 SB
X450 1059 300 (export SHELL) 300 SB
X450 1143 1625 (# hack to get around the getty's problem with not setting CRTSCTS) 1625 SB
X450 1185 825 (# setup default terminal settings) 825 SB
X450 1269 1100 (stty erase "^H" kill "^U" intr "^C" eof "^D") 1100 SB
X450 1311 725 (stty hupcl ixon ixoff crtscts) 725 SB
X450 1395 275 (exec $SHELL) 275 SB
X32 0 0 42 42 0 0 0 38 /Helvetica /font12 ANSIFont font
X600 1486 1646 (In the above file, you should change the SYSOP variable, and any other options you feel) 1646 SB
X450 1534 1689 (it is necessary to change. I've got the editor set to 'pico' at this point, as it is an easy to use) 1689 SB
X450 1582 473 (editor with excellent help.) 473 SB
X32 0 0 50 50 0 0 0 47 /Helvetica-Bold /font13 ANSIFont font
X375 1681 434 (System messages) 434 SB
X32 0 0 42 42 0 0 0 38 /Helvetica /font12 ANSIFont font
X600 1741 758 (Note: All text files are found in /bbs/text.) 758 SB
X600 1789 1417 (There are quite a few text files that are used regularly in the BBS. They are:) 1417 SB
X32 0 0 42 42 1 0 0 38 /Helvetica /font12 ANSIFont font
X600 1885 174 (Filename) 174 SB
X900 1885 166 (Contents) 166 SB
X32 0 0 42 42 0 0 0 38 /Helvetica /font12 ANSIFont font
X600 1933 178 (badwords) 178 SB
X900 1933 954 (those words deemed inappropriate for logon names) 954 SB
X600 1981 135 (bbsinfo) 135 SB
X900 1981 926 (a short description of the BBS hardware \(optional\)) 926 SB
X600 2029 231 (bbswelcome) 231 SB
X900 2029 1136 (a short blurb on the BBS used prior to logging in the first time) 1136 SB
X600 2077 125 (editors) 125 SB
X900 2077 724 (a list of editors available on the system) 724 SB
X600 2125 105 (logoff) 105 SB
X900 2125 861 (the logoff message given to the user upon exit) 861 SB
X600 2173 246 (newuser.msg) 246 SB
X900 2173 609 (shown to the user on initial logon) 609 SB
X600 2221 283 (system1-3.msg) 283 SB
X900 2221 779 (status messages about the BBS \(optional\)) 779 SB
X600 2269 165 (welcome) 165 SB
X900 2269 880 (a mood-setting intro blurb shown on each logon) 880 SB
X600 2365 1197 (All of the above files are customizable in any fashion you see fit.) 1197 SB
X600 2461 792 (You'll end up modifying almost all of them.) 792 SB
X32 0 0 50 50 0 0 0 47 /Helvetica-Bold /font13 ANSIFont font
X375 2560 157 (Menus) 157 SB
X32 0 0 42 42 0 0 0 38 /Helvetica /font12 ANSIFont font
X600 2620 1606 (The menus are how a user interacts with the BBS program. Because of this, the entire) 1606 SB
X450 2668 1719 ('feel' of your BBS is how you setup the menus. This is the place where you differentiate your) 1719 SB
X450 2716 1214 (BBS from other BBSs. Well, enough soap-box. Let's get started.) 1214 SB
X600 2764 1588 (When the BBS program starts, it displays the user information, the system messages,) 1588 SB
X450 2812 1768 (and then calls the mandatory 'main' menu. This menu serves as the keystone menu; a place to) 1768 SB
X450 2860 93 (start.) 93 SB
X32 0 0 33 33 0 0 0 31 /Helvetica /font12 ANSIFont font
X300 3034 484 (The rocat BBS System, copyright ) 484 SB
X32 0 0 33 33 0 0 0 33 /Symbol font
Xgs 810 3144 0 0 CB
X784 3032 26 (\323) 26 SB
Xgr
X32 0 0 33 33 0 0 0 31 /Helvetica /font12 ANSIFont font
X810 3034 883 ( 1994 by Gregory Shaw and fmSoft, Inc. All Rights Reserved ) 883 SB
X32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
X2058 3027 42 (10) 42 SB
X1 #C
Xstatusdict begin /manualfeed false store end
XEJ RS
X%%PageTrailer
X%%PageResources: font Courier
X%%+ font Helvetica
X%%+ font Helvetica-Bold
X%%+ font Symbol
X%%+ font Times-Roman
X%%Page: 11 11
X%%PageResources: (atend)
XSS
X0 0 25 25 798 1100 300 SM
X32 0 0 42 42 0 0 0 38 /Helvetica /font12 ANSIFont font
X0 0 0 fC
X600 226 1558 (Let me start with what a menu does. Basically, a BBS menu shows the user a list of) 1558 SB
X450 274 1779 (options, and, when an option is selected, tells the BBS to do something. That something can be) 1779 SB
X450 322 1719 (as simple as 'transfer to another menu', or as complex as 'call the external mailer program to) 1719 SB
X450 370 1742 (send a message to the SysOp'. It is all up to you on how complex you wish your menus to be.) 1742 SB
X600 418 1574 (A menu, as described above, is made up of 'options'. These options take the form of) 1574 SB
X450 466 1662 (individual items, each found on an individual line. A typical menu looks like the following:) 1662 SB
X32 0 0 42 42 0 0 0 33 /Courier /font0 ANSIFont font
X450 561 600 (0||||||| Roman Catacombs) 600 SB
X450 603 275 (Entry Vault) 275 SB
X450 645 1800 (0||||||| ---------------------------------------------------------------) 1800 SB
X450 687 300 (------------) 300 SB
X450 729 200 (0|||||||) 200 SB
X450 771 1175 (0||||||| Exit) 1175 SB
X450 813 200 (0|||||||) 200 SB
X450 855 1225 (0||||||| <G>) 1225 SB
X450 897 1500 (0||||||| ----------------------------) 1500 SB
X450 939 925 (0||||||| H>elp) 925 SB
X450 981 1550 (0||||||| <W> P>rivate Mail <E>) 1550 SB
X450 1023 1750 (0||||||| Art Studio -- R>egistration Instructions -- Computer) 1750 SB
X450 1065 125 (Files) 125 SB
X450 1107 1050 (0||||||| U>tilities) 1050 SB
X450 1149 1250 (0||400|>|||| S<Y>sop's Area) 1250 SB
X450 1191 1200 (0||||||| C>hat with SysOp) 1200 SB
X450 1233 1500 (0||||||| ----------------------------) 1500 SB
X450 1275 1225 (0||||||| <S>) 1225 SB
X450 1317 200 (0|||||||) 200 SB
X450 1359 1325 (0||||||| News and Games) 1325 SB
X450 1401 200 (0|||||||) 200 SB
X450 1443 1800 (0||||||| ---------------------------------------------------------------) 1800 SB
X450 1485 300 (------------) 300 SB
X450 1527 1775 (0||||||| <-> Previous Menu <F> Feedback to SysOp <G> Quick Logout) 1775 SB
X450 1569 225 (1|g||||||) 225 SB
X450 1611 225 (3|-||||||) 225 SB
X450 1653 225 (8|c||||||) 225 SB
X450 1695 450 (2|y|400|>|||sysop|) 450 SB
X450 1737 550 (2|e|||||computerfiles|) 550 SB
X450 1779 475 (2|w|||||art_studio|) 475 SB
X450 1821 475 (2|s|||||newsngames|) 475 SB
X450 1863 450 (2|u|||||utilities|) 450 SB
X450 1905 750 (21|f|||||elm -s feedback shaw|) 750 SB
X450 1947 325 (2|p|||||mail|) 325 SB
X450 1989 475 (10|r|||||reg.instr|) 475 SB
X450 2031 400 (2|h|||||helptop|) 400 SB
X450 2073 400 (2|h|||||helptop|) 400 SB
X32 0 0 42 42 0 0 0 38 /Helvetica /font12 ANSIFont font
X600 2164 1060 (The above is the main menu for The Roman Catacombs.) 1060 SB
X600 2212 537 (Let's dissect a particular line:) 537 SB
X32 0 0 42 42 0 0 0 33 /Courier /font0 ANSIFont font
X450 2307 600 (0||||||| Roman Catacombs) 600 SB
X450 2349 275 (Entry Vault) 275 SB
X32 0 0 42 42 0 0 0 38 /Helvetica /font12 ANSIFont font
X600 2440 1635 (In the above line, there is a number, followed by a number of pipe-letters \(|\), followed by) 1635 SB
X450 2488 1757 (some text. In the above line, you find eight fields separated by the pipe letters. The fields are:) 1757 SB
X600 2536 414 (1. Command Number) 414 SB
X600 2584 493 (2. Key used to select item) 493 SB
X600 2632 511 (3. Access level to see item) 511 SB
X600 2680 457 (4. Access level modifier) 457 SB
X600 2728 544 (5. Flags required to see item) 544 SB
X600 2776 325 (6. Flags modifier) 325 SB
X600 2824 309 (7. Optional data) 309 SB
X600 2872 449 (8. The text for the item.) 449 SB
X32 0 0 33 33 0 0 0 31 /Helvetica /font12 ANSIFont font
X300 3034 484 (The rocat BBS System, copyright ) 484 SB
X32 0 0 33 33 0 0 0 33 /Symbol font
Xgs 810 3144 0 0 CB
X784 3032 26 (\323) 26 SB
Xgr
X32 0 0 33 33 0 0 0 31 /Helvetica /font12 ANSIFont font
X810 3034 883 ( 1994 by Gregory Shaw and fmSoft, Inc. All Rights Reserved ) 883 SB
X32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
X2058 3027 42 (11) 42 SB
X1 #C
Xstatusdict begin /manualfeed false store end
XEJ RS
X%%PageTrailer
X%%PageResources: font Courier
X%%+ font Helvetica
X%%+ font Symbol
X%%+ font Times-Roman
X%%Page: 12 12
X%%PageResources: (atend)
XSS
X0 0 25 25 798 1100 300 SM
X32 0 0 42 42 0 0 0 38 /Helvetica /font12 ANSIFont font
X0 0 0 fC
X600 274 1616 (In the above line, 0 is the command number \(which is a text-only command\), and fields) 1616 SB
X450 322 1114 (2-7 are blank \(e.g. unused\), and field 8 is the text to display.) 1114 SB
X600 370 1437 (The user doesn't see anything but field 8. If field 8 is empty, he sees nothing.) 1437 SB
X600 418 1649 (When a field is blank, it's assumed that everything is available. For example, field 2 was) 1649 SB
X450 466 1700 (the key to select the item. Since it's an output only item, having a key there would be pretty) 1700 SB
X450 514 477 (useless, hence it's empty.) 477 SB
X600 562 751 (Let me define the fields in human terms:) 751 SB
X32 0 0 42 42 1 0 0 38 /Helvetica /font12 ANSIFont font
X450 658 92 (Field) 92 SB
X600 658 353 (Formal Description) 353 SB
X1200 658 73 (Use) 73 SB
X32 0 0 42 42 0 0 0 38 /Helvetica /font12 ANSIFont font
X450 706 35 (1.) 35 SB
X600 706 355 (Command Number) 355 SB
X1200 706 725 (Tell the BBS what operation to perform) 725 SB
X450 754 35 (2.) 35 SB
X600 754 257 (Selection Key) 257 SB
X1200 754 563 (Key used to select menu item.) 563 SB
X450 802 35 (3.) 35 SB
X600 802 247 (Access Level) 247 SB
X1200 802 707 (Access level required to see/use item.) 707 SB
X450 850 35 (4.) 35 SB
X600 850 247 (Access Flags) 247 SB
X1200 850 593 (Define how to use Access Level) 593 SB
X450 898 35 (5.) 35 SB
X600 898 102 (Flags) 102 SB
X1200 898 610 (Flags necessary to see/use item.) 610 SB
X450 946 35 (6.) 35 SB
X600 946 265 (Flags Modifier) 265 SB
X1200 946 460 (Define how to use Flags.) 460 SB
X450 994 35 (7.) 35 SB
X600 994 257 (Optional Data) 257 SB
X1200 994 490 (\(command specific usage\)) 490 SB
X450 1042 35 (8.) 35 SB
X600 1042 83 (Text) 83 SB
X1200 1042 341 (Text to show user.) 341 SB
X600 1138 611 (Let me do a few more examples:) 611 SB
X32 0 0 42 42 0 0 0 33 /Courier /font0 ANSIFont font
X450 1233 550 (2|e|||||computerfiles|) 550 SB
X32 0 0 42 42 0 0 0 38 /Helvetica /font12 ANSIFont font
X600 1318 1589 (In the above line, 2 is the command \(which means change to another menu\), 'e' is the) 1589 SB
X450 1366 1732 (key used to activate the item, and all the rest of the fields are null. Note how the 'e' goes with) 1732 SB
X450 1414 441 (the item found above it:) 441 SB
X32 0 0 42 42 0 0 0 33 /Courier /font0 ANSIFont font
X450 1509 1550 (0||||||| <W> P>rivate Mail <E>) 1550 SB
X450 1551 1750 (0||||||| Art Studio -- R>egistration Instructions -- Computer) 1750 SB
X450 1593 125 (Files) 125 SB
X32 0 0 42 42 0 0 0 38 /Helvetica /font12 ANSIFont font
X600 1684 1499 (The user would select 'e' to go to the 'Computer Files' area \(a menu in this case\).) 1499 SB
X600 1732 1489 (This is how menus work. They define the text that a user sees, and, define what) 1489 SB
X450 1780 878 (happens when a user activates that menu item.) 878 SB
X600 1876 1589 (Of course, there are times when you want certain users to be able to use a command,) 1589 SB
X450 1924 1731 (and, times when only you should be able to use a command. Generally, these are defined by) 1731 SB
X450 1972 1759 (the security of the BBS. There are commands that should only be executed only by the SysOp) 1759 SB
X450 2020 1764 (\(or someone very trustworthy\). For this reason, there are fields 3 through 6. These fields allow) 1764 SB
X450 2068 1800 (you to define who gets to see and use what commands, based on access level and flags. Let me) 1800 SB
X450 2116 704 (define fields 3 through 6 a little better:) 704 SB
X600 2212 1614 (Field 3 sets the access level for the command. This and field 4 define the access level) 1614 SB
X450 2260 894 (required to see/use the command. An example:) 894 SB
X32 0 0 42 42 0 0 0 33 /Courier /font0 ANSIFont font
X450 2355 450 (2|y|400|>|||sysop|) 450 SB
X32 0 0 42 42 0 0 0 38 /Helvetica /font12 ANSIFont font
X600 2446 1579 (The above item defines a switch to another menu, the 'SysOp' menu. Of course, you) 1579 SB
X450 2494 1762 (don't want just anybody accessing this menu. That is why the 400 and the '>' symbol are there.) 1762 SB
X450 2542 1798 (The 400 is the access level \(ACL\), and the '>' means that the user's access level must be greater) 1798 SB
X450 2590 1017 (than or equal to 400 to see and access this menu item.) 1017 SB
X600 2638 1569 (By the same token, the flags required to see/use an item are selected the same way:) 1569 SB
X32 0 0 42 42 0 0 0 33 /Courier /font0 ANSIFont font
X450 2733 400 (2|y|||1|=|sysop|) 400 SB
X32 0 0 42 42 0 0 0 38 /Helvetica /font12 ANSIFont font
X600 2824 1634 (The above item has flag 1 in the flags area and '=' in the modifiers. This means that the) 1634 SB
X450 2872 1082 (user must have flag 1 set before he may see/use the item.) 1082 SB
X32 0 0 33 33 0 0 0 31 /Helvetica /font12 ANSIFont font
X300 3034 484 (The rocat BBS System, copyright ) 484 SB
X32 0 0 33 33 0 0 0 33 /Symbol font
Xgs 810 3144 0 0 CB
X784 3032 26 (\323) 26 SB
Xgr
X32 0 0 33 33 0 0 0 31 /Helvetica /font12 ANSIFont font
X810 3034 883 ( 1994 by Gregory Shaw and fmSoft, Inc. All Rights Reserved ) 883 SB
X32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
X2058 3027 42 (12) 42 SB
X1 #C
Xstatusdict begin /manualfeed false store end
XEJ RS
X%%PageTrailer
X%%PageResources: font Courier
X%%+ font Helvetica
X%%+ font Symbol
X%%+ font Times-Roman
X%%Page: 13 13
X%%PageResources: (atend)
XSS
X0 0 25 25 798 1100 300 SM
X32 0 0 42 42 0 0 0 38 /Helvetica /font12 ANSIFont font
X0 0 0 fC
X600 274 647 (The fields will accept the following:) 647 SB
X32 0 0 42 42 1 0 0 38 /Helvetica /font12 ANSIFont font
X450 370 92 (Field) 92 SB
X750 370 272 (Valid Contents) 272 SB
X1200 370 160 (Meaning) 160 SB
X32 0 0 42 42 0 0 0 38 /Helvetica /font12 ANSIFont font
X450 418 81 (ACL) 81 SB
X750 418 152 (0-32767) 152 SB
X450 466 244 (ACL Modifier) 244 SB
X750 466 25 (>) 25 SB
X1200 466 834 (User must have ACL greater or equal to ACL) 834 SB
X750 514 25 (<) 25 SB
X1200 514 658 (User must have ACL less than ACL) 658 SB
X750 562 25 (=) 25 SB
X1200 562 641 (User must have ACL equal to ACL) 641 SB
X450 610 102 (Flags) 102 SB
X750 610 83 (1-32) 83 SB
X450 658 265 (Flags Modifier) 265 SB
X750 658 25 (=) 25 SB
X1200 658 442 (User must have flag set) 442 SB
X750 706 14 (!) 14 SB
X1200 706 512 (User must not have flag set) 512 SB
X600 802 1476 (Based on the above, you can have all sorts of permutations based on the user's) 1476 SB
X450 850 220 (capabilities.) 220 SB
X600 946 1334 (The official definitions for the command numbers \(the first field\) follows:) 1334 SB
X32 0 0 42 42 1 0 0 38 /Helvetica /font12 ANSIFont font
X450 1042 194 (Command) 194 SB
X750 1042 209 (Description) 209 SB
X1650 1042 257 (Optional Data) 257 SB
X32 0 0 42 42 0 0 0 38 /Helvetica /font12 ANSIFont font
X450 1090 23 (0) 23 SB
END_OF_FILE
if test 83289 -ne `wc -c <'rocat-0.75/doc/bbsinstl.ps.A'`; then
echo shar: \"'rocat-0.75/doc/bbsinstl.ps.A'\" unpacked with wrong size!
elif test -f 'rocat-0.75/doc/bbsinstl.ps.B'; then
echo shar: Combining \"'rocat-0.75/doc/bbsinstl.ps'\" \(173724 characters\)
cat 'rocat-0.75/doc/bbsinstl.ps.A' 'rocat-0.75/doc/bbsinstl.ps.B' > 'rocat-0.75/doc/bbsinstl.ps'
if test 173724 -ne `wc -c <'rocat-0.75/doc/bbsinstl.ps'`; then
echo shar: \"'rocat-0.75/doc/bbsinstl.ps'\" combined with wrong size!
else
rm rocat-0.75/doc/bbsinstl.ps.A rocat-0.75/doc/bbsinstl.ps.B
fi
fi
# end of 'rocat-0.75/doc/bbsinstl.ps.A'
fi
if test -f 'rocat-0.75/src/bbsint.C' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'rocat-0.75/src/bbsint.C'\"
else
echo shar: Extracting \"'rocat-0.75/src/bbsint.C'\" \(9141 characters\)
sed "s/^X//" >'rocat-0.75/src/bbsint.C' <<'END_OF_FILE'
X// Filename: bbsint.C
X// Contents: the bbs interface object methods
X// Author: Greg Shaw
X// Created: 7/12/93
X
X/*
XThis file is free software; you can redistribute it and/or modify it
Xunder the terms of the GNU General Public License as published by the
XFree Software Foundation; either version 2, or (at your option) any
Xlater version.
X
XIn addition to the permissions in the GNU General Public License, the
XFree Software Foundation gives you unlimited permission to link the
Xcompiled version of this file with other programs, and to distribute
Xthose programs without any restriction coming from the use of this
Xfile. (The General Public License restrictions do apply in other
Xrespects; for example, they cover modification of the file, and
Xdistribution when not linked into another program.)
X
XThis file is distributed in the hope that it will be useful, but
XWITHOUT ANY WARRANTY; without even the implied warranty of
XMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
XGeneral Public License for more details.
X
XYou should have received a copy of the GNU General Public License
Xalong with this program; see the file COPYING. If not, write to
Xthe Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
X
X#ifndef _BBSINT_C_
X#define _BBSINT_C_
X
X#include "bbshdr.h"
X
X#undef DEBUG
X// monitor connection object
X
Xextern moncon mon_obj;
X
X// Method: constructor
X// Purpose: initialize all variables and attempt to connect to sysop process
X// Input: none
X// Output: none
X// Author: Greg Shaw
X// Created: 7/12/93
X
Xbbsint::bbsint()
X{
X
X cur_colors[0] = cur_colors[1] = 0; // no color .. yet
X cur_pos[0] = cur_pos[1] = 0; // current position 0,0
X if (!mon_obj.connected())
X mon_obj.connect_mon(); // try to connect to monitor
X tcgetattr(0, &rbuf); // get regular mode termio stuff
X term_mode(1); // turn on nonblocking i/o
X};
X
X// Method: char_avail
X// Purpose: return true if a character is available (depending on port)
X// Input: who - 0 for IPC (from monitor) 1 for from user
X// Output: 1 for character available, 0 for no char available
X// Author: Greg Shaw
X// Created: 7/12/93
X
Xint bbsint::char_avail(int who, int timeout)
X{
X struct fd_set fds[2];
X struct timeval waittime;
X
X waittime.tv_sec = 0;
X waittime.tv_usec = 100;
X if (!who) // ipc.
X {
X#ifdef DEBUG
Xprintf("ipc check\r\n");
Xfflush(stdout);
X#endif
X if (mon_obj.connected())
X if (mon_obj.msg_avail(0))
X return(1);
X }
X else // normal user
X {
X#ifdef DEBUG
Xprintf("serial check\r\n");
Xfflush(stdout);
X#endif
X FD_SET(fileno(stdin), fds);
X if (select(1,fds,NULL,NULL,&waittime))
X return(1);
X }
X return(0);
X}
X
X// Method: clear
X// Purpose: attempt to clear the user's screen
X// Input: none
X// Output: a ctrl-l is sent to user. This should be changed to do
X// curses/text screen clearing when full screen possible
X// Author: Greg Shaw
X// Created: 7/25/93
X
Xint bbsint::clear(void)
X{
X char clrstr[] = {0xc,0}; // ctrl-l (new page)
X
X sstr(clrstr);
X return(0);
X};
X
X// Method: cr
X// Purpose: send a carriage return to the user (and sysop if applicable)
X// Input: none
X// Output: see purpose.
X// Author: Greg Shaw
X// Created: 7/12/93
X
Xvoid bbsint::cr(void)
X{
X char crmsg[] = "\r\n";
X
X mon_obj.send_monitor(crmsg);
X printf(crmsg);
X};
X
X// Method: display_file
X// Purpose: display a file to the user using the system pager
X// Input: path - path and file name (absolute path only)
X// page - use paging
X// Output: file is displayed or error returned.
X// Author: Greg Shaw
X// Created: 7/25/93
X
Xint bbsint::display_file(char *path, char page)
X{
X char pagername[30];
X char tmpstr[255];
X char c;
X int clen;
X FILE *infile;
X
X
X clear();
X if (page)
X {
X sprintf(tmpstr,"Viewing %s\n",path); // add file name
X mon_obj.send_monitor(tmpstr);
X sstrcr("Press 'q' to quit, space bar to page");
X if (strcpy(pagername,sys_pager()), pagername == NULL)
X return(-1);
X strcpy(tmpstr,pagername); // get command name
X strcat(tmpstr," "); // add space
X strcat(tmpstr,path); // add file name
X if (sysint(tmpstr) < 0)
X {
X ap_log("display_file: unable to execute sysint() call.");
X return(-1);
X }
X waitcr();
X }
X else
X {
X if (infile = bopen(path,"r"), infile == NULL)
X return(-1);
X else
X clen = 0;
X while (!feof(infile))
X {
X c = fgetc(infile);
X if (clen % 50 == 0 && clen > 0)
X {
X tmpstr[clen] = 0;
X sstr(tmpstr);
X clen = 0;
X }
X if (!feof(infile))
X tmpstr[clen++] = c;
X }
X if (clen > 0)
X {
X tmpstr[clen] = 0;
X sstr(tmpstr);
X }
X bclose(infile);
X waitcr();
X }
X return(0);
X};
X
X// Method: gstr
X// Purpose: get a string from the user
X// Input: maxlen - the maximum length of a string to enter
X// Output: str - the string (as entered by user)
X// Author: Greg Shaw
X// Created: 7/12/93
X
Xint bbsint::gstr(char *str, int maxlen)
X{
X char tstr[255];
X char c;
X int offset; // offset into string
X char bsstr[] = {0x8,0x20,0x8}; // backspace
X char bestr[] = {0x7,0}; // beep
X
X offset = 0;
X while (c = gch(1), c != '\r' && c != '\n')
X {
X if (c != 0)
X {
X if (c == '\b' || c == 0x7f)
X {
X offset--;
X sstr(bsstr);
X sstr(bsstr);
X sstr(bsstr);
X }
X else if (offset < maxlen)
X tstr[offset++] = c;
X else
X {
X sstr(bsstr);
X sstr(bestr);
X }
X }
X }
X tstr[offset] = 0;
X strcpy(str,tstr);
X return(0);
X};
X
X// Method: gch
X// Purpose: get a character from the user/sysop (if available)
X// Input: none
X// Output: a character, if available, or 0 if one not available
X// Author: Greg Shaw
X// Created: 7/12/93
X
Xchar bbsint::gch(int wait)
X{
X struct fd_set fds[2];
X char msg[255]; // room for message
X char c; // room for message
X struct timeval waittime;
X
X waittime.tv_sec = 0;
X waittime.tv_usec = 100;
X if (char_avail(0,1)) // has monitor sent something to me?
X {
X#ifdef DEBUG
Xprintf("monitor avail\r\n");
Xfflush(stdout);
X#endif
X if (c = mon_obj.get_char(), c != -1) // get message
X return(c);
X } else
X if (char_avail(1,1)) // something available at serial port?
X {
X#ifdef DEBUG
Xprintf("serial avail\r\n");
Xfflush(stdout);
X#endif
X c = fgetc(stdin);
X if (c > 0)
X {
X msg[0] = c;
X msg[1] = 0;
X mon_obj.send_monitor(msg);
X return(c);
X }
X }
X// fds[0].fd = fileno(stdin);
X// poll(fds,0,50*wait); // poll (wait 50msec)
X FD_SET(fileno(stdin), fds);
X select(1,fds,NULL,NULL,&waittime);
X return(0);
X};
X
X
X// Method: sch
X// Purpose: send a char to the user
X// Input: ch - character to send to user
X// Output: (to user)
X// Author: Greg Shaw
X// Created: 7/12/93
X
Xvoid bbsint::sch(char ch)
X{
X char newstr[2] = {ch,0};
X
X mon_obj.send_monitor(newstr);
X fwrite(newstr,2,1,stdout);
X};
X
X// Method: sstr
X// Purpose: send a string to the user
X// Input: str - the string to send
X// Output: (to user)
X// Author: Greg Shaw
X// Created: 7/12/93
X
Xint bbsint::sstr(char *msg)
X{
X if (!mon_obj.connected())
X mon_obj.connect_mon(); // try to connect (if not already connected)
X mon_obj.send_monitor(msg);
X fwrite(msg,strlen(msg),1,stdout);
X fflush(stdout);
X return(0);
X};
X
X// Method: sstr
X// Purpose: send a string to the user
X// Input: str - the string to send
X// Output: (to user)
X// Author: Greg Shaw
X// Created: 7/12/93
X
Xint bbsint::sstrcr(char *msg)
X{
X
X if (!mon_obj.connected())
X mon_obj.connect_mon(); // try to connect (if not already connected)
X mon_obj.send_monitor(msg);
X fwrite(msg,strlen(msg),1,stdout);
X cr();
X fflush(stdout);
X return(0);
X};
X
X// Method: sstr
X// Purpose: send a string to the user
X// Input: str - the string to send
X// Output: (to user)
X// Author: Greg Shaw
X// Created: 7/12/93
X
Xint bbsint::sysopstrcr(char *msg)
X{
X char crmsg[] = {'\r','\n', 0};
X
X mon_obj.send_monitor(msg);
X mon_obj.send_monitor(crmsg);
X return(0);
X};
X
X// Function: term_mode
X// Purpose: set the terminal mode to timeout on a read
X// Input: none
X// Output: none (terminal mode is changed)
X// Author: Greg Shaw
X// Created: 7/19/93
X
Xvoid bbsint::term_mode(int type)
X{
X struct termios tbuf;
X
X if (!type) // go to regular mode
X {
X if (tstate != 0)
X tcsetattr(0, TCSANOW, &rbuf);
X tstate = 0;
X }
X else
X {
X if (tstate != 1) // regular mode
X {
X tcgetattr(0, &tbuf);
X
X tbuf.c_cc[4] = 1; /* VMIN */
X tbuf.c_cc[5] = 0; /* VTIME */
X tbuf.c_lflag &= ~(ICANON);
X
X tcsetattr(0, TCSANOW, &tbuf);
X }
X tstate = 1;
X }
X return;
X}
X
X// Method: wait
X// Purpose: prompt the user to hit 'return' to continue
X// Input: none
X// Output: none
X// Author: Greg Shaw
X// Created: 7/25/93
X
Xvoid bbsint::waitcr(void)
X{
X time_t now,then;
X int inactivity;
X char c;
X
X time(&then);
X inactivity = inactivity_timeout();
X sstr(" <continue>");
X while (c = gch(1), c != '\r' && c != '\n')
X {
X time(&now);
X if ((now -then)/60 > inactivity)
X return;
X }
X cr();
X};
X
X// Method: yesno
X// Purpose: get 'y' or 'n' from user.
X// Input: none
X// Output: true for yes, false for no
X// Author: Greg Shaw
X// Created: 7/13/93
X
Xint bbsint::yesno(void)
X{
X struct fd_set fds[2];
X char found=0;
X char c;
X struct timeval waittime;
X
X waittime.tv_sec = 0;
X waittime.tv_usec = 100;
X FD_SET(fileno(stdin), fds);
X while (!found)
X {
X c = toupper(gch(1));
X if (c != 0)
X {
X if (c == 'Y')
X found = 1;
X if (c == 'N')
X found = 2;
X }
X select(1,fds,NULL,NULL,&waittime);
X }
X fflush(stdin);
X cr();
X return(found==1);
X};
X
X#endif // _BBSINT_C_
X
END_OF_FILE
if test 9141 -ne `wc -c <'rocat-0.75/src/bbsint.C'`; then
echo shar: \"'rocat-0.75/src/bbsint.C'\" unpacked with wrong size!
fi
chmod +x 'rocat-0.75/src/bbsint.C'
# end of 'rocat-0.75/src/bbsint.C'
fi
echo shar: End of archive 3 \(of 9\).
cp /dev/null ark3isdone
MISSING=""
for I in 1 2 3 4 5 6 7 8 9 ; do
if test ! -f ark${I}isdone ; then
MISSING="${MISSING} ${I}"
fi
done
if test "${MISSING}" = "" ; then
echo You have unpacked all 9 archives.
rm -f ark[1-9]isdone ark[1-9][0-9]isdone
else
echo You still must unpack the following archives:
echo " " ${MISSING}
fi
exit 0
exit 0 # Just in case...