ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»ÚÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ¿ ºpudpudpudpudpudpudpudpudº³ PUD: Pizza Underground Digest (c)1993 Oooga Inc. ³ ºpudp²ÛÛÛdpÛdpÛdpÛÛ²udpudºÃÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ´ ºpudp²dp²dp²dp²dpÛdp²dpudº³ PUD Number 13, Volume 02, Chapter 17, Epic 01 ³ ºpudp±±²²dp±dp²dp²dp±dpudº³ Release on the Date: Whatever month this is 3 ³ ºpudp°dpudp±dp±dp²dp°dpudº³ Lines contained in the issue: 0ý ³ ºpudp°dpudp°°°±dp±±°udpudº³ PUD Serving the modem public since Late Feb. '93 ³ ºpudpudpudpudpudpudpudpudº³ For Help and Info look elsewhere. ³ ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ "Special SuperEdition!" -Baphomet þ SO what's up with this issue??? Well I have included some various files related to SBBS 1.17g2. The best bbs software there is. Read it and enjoy. I know it's not usual pud fare, but then again I haven't been my usual self lately... þ What's new in SuperBBS 1.17. Welcome to SuperBBS 1.17. First of all we would like to appologise for the delay there was between 1.16 and 1.17. This was not due to any special reason, more because of more than many reasons . However, now this version is released and 1.18 betas will be out pretty soon. This version doesn't contain so many new features, but please note that all new features compared to 1.17 gamma-1 have been added in late February 1993. There are probably a few SysOps who have sent their regs. directly to SBBS HQ, but haven't received their codes yet. If that's your situation, please contact us immediately. Here comes a list of new features compared to SuperBBS 1.16 : - File flagging has been enchanged SuperBBS now creates/reads FileDoor/EFT/etc. compatible BBSTAGFL.? file (the file is read from/written to the directory of current node). There are also some little improvement in file flagging. - Today / last callers menutype has been enchanged SCALLERS.BBS file is no longer used. SBBS now writes CALLERS.BBS instead and the format for this file is new (please refer STRUCT.117 for more detailed information). Two new parameters have been added to menutype 58 /A displays users alias instead of his/her name. /W displays information about what the user did in the BBS. - Added an option to use own yell tunes for some users/sec. levels It's now possible to define specific tunes for some users/security levels to a file named YELLTUNE.CTL (stored in the main SBBS directory). The format is , for example : Aki Antman AKITUNE.CTL 2500 SEC2500.CTL - Added an option to edit already posted messages A new SysOp option to edit already posted messages has been added. This option can be enabled by pressing dit (or whatever it's in your language) when reading messages and then number 6. The message can be edited using the full screen editor (this is the suggested way) or the built-in line editor. Please note that all full screen editors aren't yet able to read the old message automaticly to editor. If that's the case with your editor, you'll have to quote the original message back to the editor. At least GEdit 1.00.05â supports the automatic quote option at the moment. When copying a message it's now possible to edit it with the full screen editor, too. - Added support for guest user SBBS now supports one "guest user". Guest user means an user who is guest in your BBS and probably many different people use that same guest account. Creating a guest user is quite simply. -Create GUEST.CTL file and add the name of your guest user to the file. Only one name is allowed! -Logon to BBS as guest and change all informations like password (you'll might want to set it empty using ALT-E so no password will be asked from guest users), security level etc. -Logout After that when guest user logons all values are always set to those values you have decided. Guests can change any settings they like, but the old settings are always restored for the next guest. If you want to change an already defined guest profile, just delete GUESTU.BBS and GUESTE.BBS files from your main SBBS directory, login as guest and change the profile. - Added an option to select how long FILES.BBS lines are wrapped. There is now an option in config to specify to which X position long FILES.BBS description lines are wrapped. With this option you can make you file lists look a bit nicer. When using this option it's suggested to use long line descriptions rather than " >" ones. - Added an option to add download counters automaticly. There is now an option in config to add automaticly download counters to FILES.BBS when a file is uploaded. Please note that this option works only when using long line descriptions! - Added an option to deny non-ARQ calls There is now an option in config to deny all non-ARQ calls (calls without error correction). There is also "ARQ string" option in config. To this field you'll have to enter the string which your modem returns when an ARQ call is detected (ie. /ARQ). A new command line parameter has been added to BBS.EXE. -A???? species the ARQ connect string (ie. /ARQ) returned by your mailer. !!! No spaces are allowed in this string !!! A new control code CTRL-K-\ shows whether error correction is enabled or not. - Added an option to use a new user password There is now an option in config to specify a new user password. If that password is specified in config, a password is automaticly asked from new users. If the password given by the user doesn't match, then the user is hang-up immediately. NUSERPWD.A?? picture (if it's present) is shown to the user before SBBS asks for the password. - Added an option to verify users city at logon SuperBBS can now ask ie. "Aki Antman from Helsinki, Finland " after user has entered his/her name. If user answers NO he/she can enter his/her name again. This option is pretty useful ie. when someone tries to logon to BBS and there is already an user with same name in the BBS. This option can be enabled/disabled from config and the prompt string is configurable from lconfig. - Added an option to use external chat program It's now possible to use external chat program instead of built-in (full) screen chat. External chat program option can be enabled by configuring the external chat command line to config. If the line has been configured old chats can be still used by pressing right shift key when entering chat mode. - Added an option to show RULES.A?? to new users SuperBBS can now show RULES.A?? text file to new users configurable number of times. - Added an option to specify min BPS rate for file areas There is now a new min. BPS rate field in the file area config. This option is pretty useful if you have some file areas which contain ie. big files and you don't want users with slow modems to access those areas. This option is functional only for template areas! - Added toggle option to SETFLAG Q-A command A toggle option has been added to questionaire command SETFLAG. For example SETFLAG D8 TOGGLE would toggle the flag D8. - Added an option to disable users from "users online" list By pressing ALT-7 the SysOp can disable the current user from the users online list. Please note that this option is valid for current call only! Users listed in a new .CTL file HIDETHEM.CTL are always hidden when they logon. - Added new options to "select combined boards" menutype Two new commands have been added to menutype 28. Commands like X-Y ON/OFF can be used to toggle multiple areas via one command. For example : 1-35 ON toggles all boards from 1 to 35 ON 47-187 OFF toggles all boards from 47-187 OFF - pdate user message reading command has been updated When using pdate command (or whatever it's in your language) locally it's now possible to use SBBSUSER.EXE (must be found from the main SBBS path) to edit users information. - Added view text option to file list more prompt It's now possible to view text files while reading file list. The command to view text files is same which is used to display archive contest. If the file is archive, then archive list is displayed, otherwise the file is displayed. - Random birthday verify has been replaced with verify after # calls There is now a new option in config to enable users birthday verification after x days. If the check fails once then the check is executed until the user is able to enter the correct birthday. - Added a new auto display file It's now possible to view a different .A?? picture for different BPS rates. For example B2400.A?? would be displayed to a 2400 BPS caller, B14400.A?? would be displayed to 14400 BPS caller etc. - Added a new auto display file A new auto display file SUBWARN.A?? has been added. SUBWARN.A?? is shown when the user has under 31 days left until his/her expiration date. - Added two new control codes CTRL-K-= can be used to show current number of tagged files, CTRL-K-? can be used to show size of tagged files in bytes. - SBBS now checks FILES.BBS date before checking the file dates. If FILES.BBS date is older than users last date then that FILES.BBS isn't scanned at all - this speeds up new files check if there are no new files. This option can be enabled/disabled from config. Added new FILEDATE option to SBBSUTIL.EXE. This option touches all FILES.BBS dates to date of the newest file in area. This option is useful when using external programs which touch FILES.BBS date ie. when updating it. SuperBBS no longer updates FILES.BBS date when adding download counters. - Added a new .CTL file A new .CTL file FILE-OK.CTL has been added. To this file you can list all extensions which are allowed in your BBS. Files with extension NOT listed in this file will be rejected. The format of FILE-OK.CTL is one extension per line, including the point. For example : .LZH .ARJ .ZIP .ARC .EXE - Added a new .CTL file A new .CTL file NOSOUND.CTL. When user listed in this file tries to page the yell sound is not plaid. - Added a new .CTL file A new .CTL file SLOWUSER.CTL has been added. If users name is found from this file, he/she is allowed to logon even if his/her BPS rate is slower than the minimum BPS rate to logon. - Menutype 30 has been enchanged Menutype 30 (DOS directory) now prompts for path if the data field is empty. - When reading selected messages it's now possible to choose more than one selecting criteria. - SBBS now overwrites the file area name if no files has been found in file searches. - SBBS now correctly reminds you when you are in DOS shell (ALT-J) from SBBS. - Added an option to automaticly delete bad QWK messages by entering 0 to the default QWK board setting in config. - Added an option to use zero padded download counters - Added an option to display FILEAREA.A?? (if found) instead of the hard coded file area list. - Added an option to disable SBBS from giving back time spent in chat - Added an option to allow multi word names without allowing one word names. - Added an option to force new users to use an alias. - Added an option to use ^C??? color control codes in menu prompts. - If users name is listed in trashcan.ctl he/she is no longer able to logon using alias. - QWK system now gives some statistics about received messages - The nodelist browser is now a bit better, for example commands like 2:220/? work now OK. - CTRL-B (view an ANSI/ASCII picture) works now in full screen chat, too. - CTRL-S, CTRL-U and CTRL-T message reading options can now be enabled/disabled from config. - It's no longer possible to copy a password protected file to tempdir without entering a correct password. - /NOEXPIRE parameter is now automaticly added to the default command line of SCAN.EXE . - Added some new string to LCONFIG, please edit your *.LNG files. - USERSORT.EXE is now completely rewritten. We decided to include a new USERSORT.EXE written by Pasi Talliniemi to SuperBBS package. This new USERSORT.EXE should work much better than the ones included in the earlier SBBS packages and there are many new sorting options, too. - STOP.EXE has been updated to read BOARDS.BBS. - Added security search option to SBBSUSER.EXE. - It's now possible to read any .ASW file from SBBSUSER.EXE by pressing SHIFT-F5. - A new utility named SNOOPER.COM has been included in this package. With SNOOPER.COM and SNETMGR.EXE you are able to monitor/use all remote work stations from one computer. To use this new remote maintenance system SNOOPER.COM must be loaded on every work station you are going to use with SNETMGR.EXE. SNOOPER.COM works only in NETBIOS (tm) environment. SuperBBS Group Aki Antman & Risto Virkkala PS. When you have sent crashmail to SuperBBS HQ (FidoNet : 2:220/620, SuperNet : 42:1201/102) please remember to poll for reply in 24-48 hours. þ SuperBBS 1.17 Structures. Type MsgToIdxRecord = String[35]; FlagType = Array[1..4] of Byte; Msgtxtrecord = String[255]; Lastreadrecord = Array[1..200] of integer; LineIdxRec = Record (* SUSERON.BBS *) User: MsgToIdxRecord; Attribute, Status: Byte; Baud: Word; City: String[25]; Infobyte: byte; ExtraSpace: Array[1..9] of byte; End; (* Attribute : Bit 0 = Line in use 1 = Do not disturb mode 2 = waiting for call 3 = disabled from the list Status (Not bit-mapped) : Nr 0 = Doing nothing 1 = Downloading file(s) 2 = Uploading file(s) 3 = Reading messages 4 = Entering message (also onlinemsg) 5 = Chatting with SysOp 6 = Using external program, etc... 7 = Logging on 8 = using qwk system 9 = browsing filelist 10 = In node chat (conference number is in infobyte) *) NameIdxRec = Record (* NAMEIDX.BBS *) NameCRC32: LongInt; AliasCRC32: LongInt; Attrib: Byte; End; BoxListRec = Record (* BBSLIST.BBS *) BBSName: String[40]; Sysopname: MsgToIdxRecord; Number: String[15]; Baud: Word; OpenTimes: String[11]; Net: String[15]; BBSSoft: String[10]; Other: String[60]; ExtraSpace: Array[1..150] of byte; End; FLSearchRec = Record (* FLSEARCH.BBS *) Name: String[60]; Directory: String[79]; Security: Integer; Flags: Flagtype; PFilesSec: Integer; { Not yet used } PFlags: Flagtype; { Not yet used } Attrib: Byte; Age: Byte; ListName: String[67]; (* If begins with * character then the rest of the string shows the upload path *) RequiredBPSrate: Word; ExtraSpace: Array[1..28] of Byte; End; (* Attrib: Bit 0 : Exclude from template Bit 1 : No downloads { Used in template system only } Bit 2 : No uploads { Used in template system only } Bit 3 : No virus check Bit 4 : No dupe scan Bit 5 : No new files check Bit 6-7: Unused *) DoorRec = record Name: String[35]; (* DOORCFG.BBS *) CmdLine: String[127]; Security: Word; Flags: Flagtype; StartTime, EndTime: String[5]; Active: Boolean; ExtraSpace: Array[1..30] of Byte; End; CommentRecord = Record (* COMMENT.BBS *) Txt : Array[1..2] of String[76]; FromName : MsgToIdxRecord; FromCity : String[25]; PostTime : String[5]; PostDate : String[8]; End; LastCallerRec = Record (* CALLERS.BBS *) Name, alias: MsgToIdxRecord; City: String[25]; Line, Age: Byte; Baud: Word; LastDate: String[8]; LogOn, LogOff: String[5]; Attrib: Byte; Extraspace: Array[1..30] of byte; End; (* Attrib: Bit 0 : Downloaded Bit 1 : Uploaded Bit 2 : Read messages Bit 3 : Wrote message(s) Bit 4 : Paged SysOp Bit 5 : New user Bit 6 : Used QWK system Bit 7 : Unused *) ExtraConfig = Record (* SCONFIG.BBS *) SystemPath, MsgBasePath, TempPath: String[66]; RedirectDevice: String[12]; Resp19200, Resp38400: String[40]; ShowSecurity: Boolean; ShowPswdAtLogon: Boolean; BetaCode: Longint; Unused: Array[1..200] of boolean; Empty1: Array[1..284] of byte; AllowCat: Boolean; Answerboard: Byte; Use7bitChars: Boolean; BufferSize: Word; Empty2: Array[1..45] of byte; EntryColor: Byte; FilesBeforeRatio: Byte; MinSpace: Word; ClearTemp: Boolean; Empty3: Array[1..163] of byte; UseAliasSystem: Byte; Ansilogon: Byte; {0 = No,1 = Yes,2 = Auto detect} ExcludeSysOp: Boolean; Empty4: Array[1..122] of byte; AltFkeys: Array[1..10] of string[60]; Checkfiles: Boolean; PasswordBoard: Byte; Alt_J_Swaptoems: Boolean; MaxTimeInBank: Word; NoBirthDayAsk: Boolean; MaxDescLines: Byte; Empty5: Array[1..45] of byte; FastMailCheck: Boolean; DefaultColors: Array[1..10] of byte; Empty6: Array[1..45] of byte; LinesInSystem: Byte; CommonDir: String[79]; VersionNumber: Word; FullScrChatBaud: Word; PressEnterColor: Byte; AreaSelectColor: Array[1..3] of byte; StatusLineColor: Byte; VirusChkMode: Byte; WorkPath: String[79]; WatchCDatDos: Boolean; UseCtrlX: Boolean; MsgAfterPageBoard: Byte; SearchAliases: Boolean; EchoConvert: Boolean; SwapAtPackers: Boolean; InternalProtocols: Byte; { bit 0 : Zmodem bit 1 : Ymodem batch bit 2 : Xmodem bit 3 : Xmodem 1K (Ymodem) bit 4 : Xmodem 1K G bit 5 : Ymodem-g } FirstMenuInSystem: String[8]; ColoredQuoteText: Boolean; AddUploadersName: Boolean; DaysUntilExpiration: Word; QWKBBSID: String[6]; QWKDefaultBoard: Byte; QwkMaxNrToPack: Integer; StatuslineStr: Array[1..2] of string[100]; Location: String[40]; UsPhoneNrFormat: Boolean; DlCounterLBracket, DlCounterRBracket: Char; QWKAllowTagLines: Byte; {0=no, 1=yes, 2=only local areas} LogonSecLvl: Word; LogonAge: Byte; LogonPassword: String[15]; NoGroupMailCheck, NoUserListIntype27: Boolean; GroupMsgSecLvl: Word; AskSex: Boolean; AskAnsi, {0=ask, 1=yes, 2=no} AskMailCheck, {0=ask, 1=yes, 2=no} AskNewFilesCheck, {0=ask, 1=yes, 2=no} AskFullScrEditor, {0=ask, 1=yes, 2=no} AskFullScrViewer, {0=ask, 1=yes, 2=no} AskPagePause, {0=ask, 1=yes, 2=no} AskScreenClears: Byte; {0=ask, 1=yes, 2=no} PageStart: Array[0..6] of string[5]; PageEnd: Array[0..6] of string[5]; UseIEMSI: Boolean; CapitalizeCity, CapitalizeAlias: Boolean; VirusScannerCmd: string[127]; NoExtractBeforeScan: Boolean; VirusFoundErrorLvl: Byte; SysOpsFscrChatClr, UsersFscrChatClr: Byte; ScanForDupePhones: Byte; {0 = no, 1 = log entry, 2 = don't allow} NormalLongDesc: Boolean; NodelistPath: String[72]; MinCrashMailSec: Word; NoDorinfo1: Boolean; NoTouch: Boolean; ZoneMatching: Boolean; strictdupecheck: Boolean; noextendednodeinfo: Boolean; Birthdayverify: Byte; realmsgnumbers: boolean; LocalAttachPath: String[66]; NoLACheckAtLogon: Boolean; AllowedPackers: Byte; {Bit 0 : ZIP Bit 1 : ARC Bit 2 : LZH Bit 3 : ARJ} BoardsFileToCurDir: Boolean; UnLockPwd: String[15]; Resp7200, Resp12000, Resp14400: String[40]; LineEditorQuote: Byte; {0=intelligent, 1=normal, 2=no} SevenBitOnly: Boolean; nofileflagging: boolean; ReplyingToStr: String[80]; FreeFileTimeCheck: Byte; {0 = NO, 1 = YES, 2 = EVENT} PageReasonToSubj: Boolean; AgeGraphStartAge: Byte; ETGCLocalAttrib, ETGCRemoteAttrib: word; {Not yet used} {BIT 0 : 320x200x16 BIT 1 : 640x200x16 BIT 2 : 640x350x16 BIT 3 : 640x480x16 BIT 4 : 320x200x256} AskCombinedBoards: Boolean; AskCombMailCheck: Byte; {0=ask, 1=yes, 2=no} UseNewFilesCheckDate:Boolean; BurnOutSecs: Word; NoNamesInGroupMail: Boolean; AutoChatCapture: Boolean; AskDefProto: Boolean; AskHotkeys: Byte; {0=ask, 1=yes, 2=no} FreeAttaches: Boolean; LogonFlags: Flagtype; NoRemoteSysOp: Boolean; FscrReaderColors: Array[1..12] of byte; NewsDateCheck: Boolean; NoNameIdx: Boolean; AkaZone, AkaNet, AkaNode, AkaPoint: Array[1..15] of integer; MinorVersionNumber: Byte; {ie. 1 = Gamma-1, 2 = Gamma-2 100 = official} Resp16800: String[40]; DlCounterDigits: Byte; MultiWordNames: Boolean; AllowCtrlKeysInMsgs: Boolean; NoChatTimeCredit: Boolean; verifycity: boolean; FilesBBSdatecheck: boolean; Newuserpassword: string[15]; ShowRulesTimes: byte; FilesBBSWrapPos: Byte; AutoAddDlCounters: boolean; ExtChatCmdLine: string[79]; ArqResp: string[14]; Arqrequired: boolean; Extraspace: Array[1..2547] of Byte; End; Limitsrecord = Record (* LIMITS.BBS *) Security: Word; Downlimit: Array [1..7] of word; Timelimit: Word; Ratiok: Word; Ratio: Word; Callsperday: Byte; Description: String[35]; ExtraSpace: Array [1..14] of byte; End; ExtraUserRec=Record (* SUSERS.BBS *) Name: MsgToIdxRecord; Birthday: String[8]; Attrib: Word; Flags: Array[1..4] of Byte; { Not yet used } Firsttime: String[5]; FirstDate: String[8]; CombinedBoards: Array[1..25] of Byte; SysOpComment: String[79]; DefaultProto: Char; UserRecPtr: Integer; Colors: Array[1..10] of byte; FileListType: Byte; { Not yet used } Alias: MsgToIdxRecord; MinutesUsed: Longint; ViewFileName: String[12]; { SeeAlso attrib bits 4 - 6 } MenuToRun: String[8]; Timeinbank: Word; TodayCalls: Byte; LanguageFileN: String[8]; { *.LNG } Expirationdate: String[8]; CurrentFArea, CurrentMArea, CurrentDoor: Byte; DefaultPacker: Byte; {not bit mapped ! 1 = ZIP 2 = ARC 3 = LZH 4 = ARJ} LastNewFilesCheck: String[8]; CallsSinceBverify: Byte; {255 = verify failed} ExtraSpace: Array[1..402] of Byte; End; (* Attrib: 1 Bit 0: MailCheck at logon 2 Bit 1: Newfiles Check at logon 4 Bit 2: No downloadratio 8 Bit 3: Female 16 Bit 4: Delete file after viewing 32 Bit 5: Display file only once 64 Bit 6: File viewed 128 Bit 7: Fullscreen viewer 256 Bit 8: Combined mail check 512 Bit 9: No hotkeys Bit 10: Bit 11: Bit 12: Bit 13: Bit 14: Bit 15: *) UserRecord = Record (* USERS.BBS *) Name: MsgToIdxRecord; City: String[25]; Password: String[15]; DataPhone, HomePhone: String[12]; LastTime: String[5]; LastDate: String[8]; Attrib: Byte; Flags: FlagType; Credit, Pending: Integer; MsgsPosted, HighMsgRead, SecLvl, Times, Ups, Downs, UpK, DownK: Word; TodayK: Integer; Elapsed: Integer; Len: Integer; ExtraSpace1: Array[1..2] of byte; Age: Byte; ExtraUserrecPtr: Integer; ExtraSpace2: Array[1..3] of Byte; End; (* Attrib: bit 0: Deleted user bit 1: Screen clear codes bit 2: More prompt bit 3: ANSI graphics bit 4: No-Kill bit 5: Ignore Download Hours bit 6: ANSI editor bit 7: Do not disturb mode ON *) NetNode = Record Zone, Net, Node : Word; end; NetAddress = record Zone, Net, Node, Point : Word; end; InfoRecord = Record (* MSGINFO.BBS *) LowMsg: Integer; HighMsg: Integer; TotalActive: Integer; ActiveMsgs: Array[1..200] of Integer; End; IdxRecord = Record (* MSGIDX.BBS *) MsgNum: Integer; Board: Byte; End; HdrRecord = Record (* MSGHDR.BBS *) MsgNum, ReplyTo, SeeAlsoNum, TimesRead: Integer; { Not used } StartRec: Word; NumRecs, DestNet, DestNode, OrigNet, OrigNode: Integer; DestZone, OrigZone: Byte; Cost: Integer; MsgAttr, NetAttr, Board: Byte; PostTime: String[5]; PostDate: String[8]; WhoTo, WhoFrom: MsgToIdxRecord; Subj: String[72]; End; (* Msg Attributes: Bit 0: Deleted Bit 1: Unsent net mail message Bit 2: Net mail message Bit 3: Private message Bit 4: Received Bit 5: Unsent echomail message Bit 6: Local message Bit 7: Not used Net Attributes: Bit 0: Kill after sent Bit 1: Sent OK Bit 2: File attach Bit 3: Crash mail Bit 4: Request Receipt Bit 5: Audit Request Bit 6: Is a Return Receipt Bit 7: Not used *) SysInfoRecord = Record (* SYSINFO.BBS *) CallCount: LongInt; LastCaller: MsgToIdxRecord; ExtraSpace: Array[1..128] of Byte; End; TimeLogRecord = Record (* TIMELOG.BBS *) StartDate: String[8]; BusyPerHour: Array[0..23] of Integer; BusyPerDay: Array[0..6] of Integer; End; MenuRecord = Record (* ????????.MNU *) Typ: Byte; Sec: Integer; Flags: FlagType; Str: String[75]; Key: Char; Data: String[80]; Fg, Bg: Byte; End; EventRecord = Record Status: Byte; { 0=Disabled 1=Enabled } RunTime: String[5]; ErrorLevel: Byte; Days: Byte; Forced: Boolean; LastTimeRun: String[8]; End; BoardRecord = Record Name: String[16]; Typ: Byte; { 0=Standard 1=Net 3=Echo } Kinds: Byte; { 0=Private & Public 1=Private 2=Public 3=Read-Only } Combined: Boolean; Aliases: Byte; {0=no aliases,1=yes,2=ask alias,3=Alias/name} ReadSecLvl: Integer; ReadFlags: FlagType; WriteSecLvl: Integer; WriteFlags: FlagType; SysopSecLvl: Integer; SysopFlags: FlagType; End; ConfigRecord = Record (* CONFIG.BBS *) CommPort: Integer; InitBaud, InitTimes, AnswerWait: Word; ModemInitStr, ModemBusyStr: String[70]; ModemInitResp, ModemBusyResp, Resp300, Resp1200, Resp2400: String[40]; MenuPath, TextPath, NetPath: String[66]; MinBaud, GraphicsBaud, XferBaud: Integer; LowBaudStart, LowBaudEnd, DownloadStart, DownloadEnd, PagingStart, {!! Not used anymore !!} PagingEnd: String[5]; {!! Not used anymore !!} MatrixZone, MatrixNet, MatrixNode: Integer; OldAkaNet, OldAkaNode: Array[1..5] of Integer; {not used} NetMailBoard: Integer; DefaultSec: Integer; DefaultCredit: Integer; DefaultFlags: FlagType; EditorCmdStr: String[70]; OriginLine: String[60]; SysopName: MsgToIdxRecord; AutoLogonChar, FastLogon, ScreenBlanking, UseLastRead, MonoMode, DirectWrite, SnowCheck, NetEchoExit, OneWordNames, CheckMail, AskHomePhone, AskDataPhone, GraphicsAvail: Boolean; InactiveTimeOut: Integer; LogonTime: Integer; DefFgColor: Integer; DefBgColor: Integer; PasswordTries: Integer; MaxPageTimes: Integer; PageBellLen: Integer; Use_Xmodem: Boolean; Use_Xmodem1k: Boolean; Use_Ymodem: Boolean; Use_YmodemG: Boolean; Use_Sealink: Boolean; Use_Zmodem: Boolean; Inp_Fields: Boolean; QuoteStr: String[3]; UploadCredit: Integer; LoadingMessage: String[70]; SelectionPrompt: String[70]; VersionID: Word; Resp4800, Resp9600: String[40]; OldAkaZone: Array[1..5] of Integer; {not used} MatrixPoint: Integer; OldAkaPoint: Array[1..5] of Integer; {not used} OldUseAka: Array[1..200] of Byte; {not used} AskAge: Boolean; { Not used } SystemName: String[40]; RegKey: Longint; EntryfieldColor: Byte; MenuBorderColor: Byte; SysOpSeclvl: Integer; AllowDelMsgs: Boolean; EventRec: Array[1..30] of EventRecord; UnusedBoards: Array[1..200] of BoardRecord; End; GosubDataType = Array[1..20] of String[8]; ExitRecord = Record (* EXITINFO.BBS *) BaudRate: Word; SysInfo: SysInfoRecord; TimeLogInfo: TimeLogRecord; UserInfo: UserRecord; EventInfo: EventRecord; NetMailEntered: Boolean; EchoMailEntered: Boolean; LoginTime: String[5]; LoginDate: String[8]; TmLimit: Integer; LoginSec: LongInt; Credit: LongInt; UserRecNum: Integer; ReadThru: Integer; PageTimes: Integer; DownLimit: Integer; WantChat: Boolean; GosubLevel: Byte; GosubData: GosubDataType; Menu: String[8]; End; ProtocolRecord = Record (* SPROTO.BBS *) Name : String[15]; Key : Char; LogFileType : Byte; { 0=OTHER,1=ICOM,2=DSZ} ProtocolType : Byte; { 0=other,1=opus,2=BIMODEM} MaxFiles, Effic, Attribute : Byte; { Bit 0: Actived Bit 1: Batch Bit 2: FullDuplex (Check for uploads) } DnCmdString, UpCmdString : String[127]; LogFileName, CtlFileName : String[66]; UpLogKeyword, DnLogKeyword : String[20]; NameWordNr : Byte; DnCtlString, UpCtlString : String[60]; ExtraSpace : Array[1..64] of byte; end; ProtocolPtr = Array[1..20] of ProtocolRecord; MsgBoardRecord = Record (* BOARDS.BBS *) Name: String[30]; QwkName: String[12]; Typ: Byte; { 0=Standard 1=Net 3=Echo } Kinds: Byte; { 0=Private & Public 1=Private 2=Public 3=Read-Only} Aliases: Byte; {0=no aliases,1=yes,2=ask alias, 3=Alias/name} ReadSecLvl: Integer; ReadFlags: FlagType; WriteSecLvl: Integer; WriteFlags: FlagType; SysopSecLvl: Integer; SysopFlags: FlagType; Group: Char; Replystatus: byte; {0 = normal, 1 = net/normal 2 = net only, 3 = no replies} Age: Byte; Attrib: Byte; UseAka: Byte; End; (* Attributes : bit 0 : Combined bit 1 : Default combined bit 2 : Allow message deleting bit 3 : Allow taglines bit 4 : Use in template system bit 5 : Convert 8bit -> 7bit bit 6 : forced ON in the mail check *) LanguageRecord = Record VersionNr: Word; Description: String[227]; (* ie. SF - Suomi / Finnish *) InputFieldDateFormat: String[8]; DateFormat: String[9]; TimeFormat: String[8]; AnsiFilesPath: String[79]; MenuFilesPath: String[79]; (* Logon strings *) AskAnsiLogon: String[50]; AskNameStr: String[40]; NameEnteredStr: String[40]; AskCorrectStr: String[60]; AskAliasStr: String[40]; AskUseAliasStr: String[60]; AskCityStr: String[50]; AskSexStr: String[60]; MaleChar, FemaleChar: Char; AskAnsiGraphicsStr, AskMailCheckStr, AskNewFileCheckStr, AskEditorStr, AskScreenLenStr, AskBirthDayStr, AskPagePausingStr, AskScreenClearStr, AskHomePhoneStr, AskDataPhoneStr, AskNewPswdStr, AskCheckPswdStr, AskIfCorrectStr, AskPasswordAtlogon, MailCheckStr, MailCheckSorryStr, AskReadMessagesStr: String[60]; AskPswdFailureMsgStr: String[60]; AskFullScrReaderStr: String[60]; ExtraSpace1: Array[1..183] of byte; (* Messagebase strings *) BoardInfoStr1, BoardInfoStr2, AskStartNumberStr, AskPauseAfterEachStr, AskAreYouSureStr, EndofrepliesStr, EndOfMessagesStr, AskPrivateMsgStr, AskUseAliasInMsgs, MessageAbortedStr, AskJumpNumberStr, InvalidMsgNumberStr, ChooseMsgAreaStr, MessageToAllStr: String[60]; AskWhoToStr: String[40]; AskSubjectStr: String[9]; AskAliasInmsgs: String[40]; NameNotFoundStr: String[60]; NoWriteSecurityStr: String[60]; ShowNewAreasStr: String[60]; NoNewMessagesStr: String[60]; AskHowManyLatestStr: String[60]; ShowNewMsgsNewStr: String[20]; ShowNewMsgsToYouStr: String[20]; Received1Str, Received2Str, KillSentStr, MsgPrivateStr, MsgPublicStr, FilesAttachedStr, SentOKStr, CrashMailStr, ToFieldStr, FromFieldStr, SubjFieldStr, DateFieldStr: String[20]; ExtraSpace2: Array[1..11] of byte; (* Filearea strings *) AskFileMaskStr, AskBatchFilenamesStr, AskFilenameStr: String[60]; AskKeySearchStr: String[40]; AskFnameSearchStr, AskNewFileSearchStr, AskNewFSearchDateStr, ChooseFileAreaStr, AskFilesToPackStr, FileNotFoundStr, AskFilesToDelStr: String[60]; AskFilesToUpldStr: String[60]; TransferInfoStr1: String[80]; TransferInfoStr2: String[70]; PleaseDescribeStr1: String[30]; (* Other Strings *) MonthStr: Array [1..12] of String[10]; ShortWeekDay: Array [0..6] of String[10]; LongWeekDay: Array [0..6] of String[20]; PressEnterStr, PressSorPStr, PleaseWaitStr: String[60]; YesOrNoStr: String[6]; YesChar, NoChar: Char; ReasonForChatStr: String[17]; ChatStartStr1, ChatStartStr2, ChatEndStr, DosShellStr1, DosShellStr2, UpdateStr1, UpdateStr2, FullPhoneNrMsg, PswdNotChangedMsg, AskCurrentPswdStr: String[60]; CurrentAliasStr: String[40]; CombinedStr1, CombinedStr2: String[60]; AskUserSearchStr, AskAliasSearchStr: String[60]; MoreStr: String[40]; MoreYesChar, MoreNoChar: Char; InactivityStr, InactivityWarningStr, TimeLeftWarningStr, TimeLimitExceededStr, AliasInUseStr, InvalidScrLenStr, ShortPswdStr, PswdCheckFailedStr, PswdChangedStr, WrongStr: String[60]; YesStr, NoStr: String[10]; AskEnterMsgToSysOpStr: String[60]; NoDwnldsFromAreaStr, NoUpldsToAreaStr: String[60]; AskLineNumberStr: String[60]; FullScrChatHelpStr: String[80]; PleaseDescribeStr2: String[30]; PleaseDescribeStr3: String[70]; PleaseDescribeStr4: String[60]; DescTooShortStr: String[60]; FileExistsStr: String[60]; FileContainsVirusStr: String[60]; FileNotReceivedStr: String[60]; MinutesInBankStr, TimeLeftStr: String[60]; DepositAskStr: String[60]; WithDrawAskStr: String[60]; YouCanDepositStr: String[60]; FileNotWantedStr: String[60]; FilesRcvdStr: String[60]; FilesSentStr: String[60]; NoFilesFoundStr: String[60]; NotEnoughTimeStr: String[60]; AskPwdForFileStr1: String[70]; AskPwdForFileStr2: String[70]; AskMsgAfterPageStr: String[60]; CommentToNextUserStr: String[60]; AskSaveCommentStr: String[60]; SelectFileAreaStr1: String[60]; SelectFileAreaStr2: String[60]; AskVirusChkFileStr: String[60]; OnStr, OffStr: String[20]; ScreenClearStr, MoreStatStr, AnsiStr, AnsiEditorStr, MailCheckStatStr, NewFilesCheckStatStr, DisturbmodeStr, FullScrViewerStr: String[60]; AvailableStr, UnavailableStr: String[20]; CurrentTimeStr, CurrentDateStr, ConnectTimeStr, TimeUsedStr, TimeRemainingStr, CallLimitStr: String[45]; AliasListTopStr: String[78]; MsgReaderHeaderStr: String[60]; FilesFieldStr: String[20]; MsgNextReplyStr, MsgPrevReplyStr, MsgQuitRepliesStr, MsgAgainStr, MsgNextStr, MsgBackStr, MsgJumpStr, MsgReplyStr, MsgWriteStr, MsgDeleteStr, MsgKeepStr, MsgCopyStr, MsgXportStr, MsgEditStr, MsgTogglePrivateStr, MsgUpdateUserStr, MsgStopStr: String[25]; UsageGraphInfoStr: String[60]; BBSListNameStr, BBSListPhoneStr, BBSListMaxBPSStr, BBSListOpenTimesStr, BBSListSoftwareStr, BBSListNetaddrStr, BBSListSysopStr, BBSListOtherStr: String[15]; AskBBSToDeleteStr: String[35]; FileOfflineStr: String[18]; Status0Str, Status1Str, Status2Str, Status3Str, Status4Str, Status5Str, Status6Str, Status7Str: String[36]; { 0 : 'Doing nothing special' 1 : 'Downloading file(s)' 2 : 'Uploading file(s' 3 : 'Reading messages' 4 : 'Writing message' 5 : 'Chatting with SysOp' 6 : 'Using external program' 7 : 'Logging on' } TimeinBankStr: String[45]; OptionNotAvailableStr, ChooseDoorStr, TooYoungStr, QwkRepNotFound, QwkAskQwkFormat, QwkLimitReached, QwkMessagesExported, QwkPackingMessages, QwkNoNewMessages, QwkMessageMoved, QwkDoYouWantToUpld, QwkMaxNrToPackQ, ScanningForDupePhoneStr: String[60]; CallOrEventStr, downstr: String[36]; NoReadAccess, NoNewMessagesinArea, JumpingToArea: String[60]; MsgJumpToNextArea: String[25]; QWKUpdPointers: String[60]; QwkChoosePacker: String[60]; Status8Str: String[36]; { 8 : 'Using QWK system' } ChooseMsgAreaStr2: String[60]; AgeGraphTopStr: String[60]; QwkPackerSelected: String[60]; MoreContinuousChar: Char; NoRepliesToAreaStr: String[60]; MoreStr2: String[60]; MoreFlagChar: Char; FilesTaggedStr: String[60]; TagDlLimitExceededStr: String[60]; WildCardsNotValidStr: String[60]; AskFileToFlagStr: String[60]; AskCombinedMailCheckStr: String[60]; CombMailCheckStatusStr: String[60]; HotKeysStatusStr: String[60]; AskHotKeysStr: String[60]; DownloadFlaggedStr: String[60]; RemoveFlaggedStr: String[60]; MoreViewArchiveChar: Char; Status9Str: String[36]; Status10Str: String[36]; { 9 : 'Browsing filelist' 10 : 'In nodehcat' } readcommentStr: String[60]; CommentLeftStr: String[60]; LeaveCommentQues: String[60]; RemoveCommentQues: String[60]; CommentRemovedStr: String[60]; DownLoadMoreFilesQues: String[60]; QwkMessageReceived: String[60]; Availlanguagesstr: string[60]; Chooselanguagestr: string[60]; UsingLanguageStr: String[60]; VerifyCityStr: String[40]; ExtNotAllowedStr: string[60]; End; þ Send Mail to: T0UCAN S0N 0F SAM Food WarEz, kroGer's. NO COURiER 36@2506 WWIVNET Mooga the Whale South of Bermuda, Jamica, ooh I want... The BLT Home-WaReZ Department, JoHn's ThEmE FruIts Baphomet the Limbo King 14@2506 fReD tHe HiTmAn Virtual Technologies BBS ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜßßßßßßßßßßßßßÜÜÜÜÜÜÜÜ ÜÛßßßßßßßßßßß Ending Qoute ßßßßßßßßßßßßßßßßÜÜÜÜÜ ÞÝ Û Û "Damn what a waste of download credit this was!!!!!!!!!!!!!!!" ÞÝ ÞÝ -Anyone ÜÜß ÛÛÜÜÜÜÜÜÜÜÜßßßßßßßßßßßßßßßßßßßÜÜÜÜÜÜÜÜÜÜÜÜ ÜÜÜÜÜÜÜÜÜÜßßßßßßßß ßßßßßßßßßßßß