home *** CD-ROM | disk | FTP | other *** search
/ The Hacker's Encyclopedia 1998 / hackers_encyclopedia.iso / zines / phrack2 / phrack45.t16 < prev    next >
Encoding:
Text File  |  2003-06-11  |  22.8 KB  |  748 lines

  1.                               ==Phrack Magazine==
  2.  
  3.                  Volume Five, Issue Forty-Five, File 16 of 28
  4.  
  5. ****************************************************************************
  6.  
  7.                                 DCL BBS PROGRAM
  8.  
  9. -------cut here-------cut here------cut here------cut here------cut here------
  10.  
  11. $ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
  12. $ ! Well, this is just a little bbs program, a skeleton on wich u can work,    !
  13. $ ! add stuff, subroutines, and so on.                                         !
  14. $ ! I am SURE there are bugs, anyway the only I use to know 'till now is in    !
  15. $ ! the editor, where anything u write after a "!" will not be saved           !
  16. $ ! If sumbody wants to help/cooperate/exchange ideas about this program and/or!
  17. $ ! any Dcl stuff/trick, just write at:                                        !
  18. $ ! SSGRR@pol88a.polito.it   for internet e-mail                               !
  19. $ ! (0) 22221122878::SSGRR   for PSI MAIL                                      !
  20. $ ! Mbx RAOUL on Qsd chat system, x.25 nua (0) 208057040540                    !
  21. $ ! ANY kind of help and suggestion will be accepted !                         !
  22. $ ! ANY kind of cooperation with SERIOUS italian and/or european hackers,      !
  23. $ ! especially concerning x.25 networks, vax/vms, unix, cisco systems will be  !
  24. $ ! appreciated.                                                               !
  25. $ !                                                                            !
  26. $ !                             Raoul / SferraNet Inc.  for Phrack Magazine    !
  27. $ ! Many thanks to: Nobody. I usually work on my own.                          !
  28. $ !                                                                            !
  29. $ !                                                                            !
  30. $ ! Remember to add the files the program requires, such as:                   !
  31. $ ! INVI.EXE                                                                   !
  32. $ ! goodbye.txt                                                                !
  33. $ ! files.txt                                                                  !
  34. $ ! etc.....                                                                   !
  35. $ ! And remember to create the subdirectories the program requires, AND to     !
  36. $ ! create a [bbs] directory, otherwise to rename [bbs] string, in this        !
  37. $ ! program, to a different name.                                              !
  38. $ !                                                                            !
  39. $ ! I am sorry if program documentation is poor, but this program is mainly    !
  40. $ ! intended as a skeleton for future developments.                            !
  41. $ ! I swear next time it will came up with a installation.com file :)          !
  42. $ !                                                                            !
  43. $ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
  44. $! BBS PROGRAM RELEASE 2.0
  45. $! ADDED CALL FUNCTION TO SPEED UP PROCESSES
  46. $! LAST MODIFIED ON 15/10/1993 BY RAOUL/SFERRANET
  47. $! BBS PROGRAM
  48. $! Coded By Raoul/SferraNet
  49. $!
  50. $! Featuring:
  51. $! Internal Mbx option
  52. $! Kermit (Vms default) and Zmodem download protocols options
  53. $! internal editor
  54. $! password change option
  55. $! logs of dtes, calls source etc
  56. $! "post a banner" option
  57. $ ! "BBS" account requires:
  58. $ ! Privileges: NETMBX, TMPMBX, CMKRNL
  59. $ ! Defprivileges: NETMBX, TMPMBX, CMKRNL
  60. $ ! Flags: disnewmail, disctly, restricted
  61. $ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
  62. $ !This next 3 lines put away error messages ( remove it when testing the
  63. $ !program, so that you will be able to see wich errors you are getting
  64. $ set messa /nofac
  65. $ set messa /notext
  66. $ set messa /nosev
  67. $ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
  68. $ ! Defines CLS
  69. $ ESC[0,8] = 27
  70. $ CLC == ESC+"[H"+ESC+"[J"
  71. $ cls := "write sys$output CLC"
  72. $ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
  73. $!define user's terminal
  74. $ ! here we check what kind of terminal user has, knowing that for Vms
  75. $ ! a good graphic mode will be from VT100 on, using this list:
  76. $ ! unknown = 0
  77. $ ! VT52    = 64
  78. $ ! VT100   = 96
  79. $ ! VT101   = 97
  80. $ ! VT102   = 98
  81. $ ! VT105   = 99
  82. $ ! VT125   = 100
  83. $ ! VT200   = 110
  84. $ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
  85. $ cls
  86. $ write sys$output " Checking Terminal Type....Please Wait...."
  87. $ set terminal /inquire
  88. $ ttype = f$getdvi("SYS$COMMAND", "DEVTYPE")
  89. $ if ttype .ge. 96
  90. $ then
  91. $   vt100_flag = 1
  92. $ else
  93. $   vt100_flag = 0
  94. $ endif
  95. $!
  96. $ if vt100_flag .eq. 1
  97. $ then
  98. $ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
  99. $! This is a list of escape sequences definitions
  100. $   reverse      == ESC+"[7m" ! turns on inverse video attribute
  101. $   blink        == ESC+"[5m" ! turns on blinking attribute
  102. $   blankfromtop == ESC+"[1J" ! blanks screen from top to cursor
  103. $   blankline    == ESC+"[2K" ! blanks current line
  104. $   blankendline == ESC+"[0K" ! blanks from cursor to end of line
  105. $   normal       == ESC+"[0m" ! Resets to normal video attribute
  106. $   bold         == ESC+"[1m" ! turns on Bold attribute
  107. $   underline    == ESC+"[4m" ! turns on underline attribute
  108. $ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
  109. $   write sys$output reverse
  110. $   write sys$output blink
  111. $   write sys$output " Your Terminal Is DEC-VTxxx Series Compatible ! "
  112. $   write sys$output " This Will Help You To Get even MORE&MORE From This Bbs ! "
  113. $   write sys$output normal
  114. $   wait 0:00:03
  115. $ else
  116. $   write sys$output " Sorry, Your Terminal Isn't DEC-VTxxx Series Compatible "
  117. $   write sys$output " "
  118. $   write sys$output " Try to Get a Better Emulation Next Time Dude!!! "
  119. $   wait 0:00:05
  120. $   cls
  121. $ endif
  122. $ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
  123. $! USER.COM VERSION 1.0 BETA
  124. $ on error then goto nouser
  125. $ on severe_error then goto nouser
  126. $ in  := "inquire /nopunctuation"
  127. $ out := "write sys$output"
  128. $ user:
  129. $ cls
  130. $ out " "
  131. $ out "  ** Sferra Bbs Logon ** (C) 1993 Raoul / SferraNet Inc. "
  132. $ out " "
  133. $ in usr  "Username: "
  134. $ if usr .eqs. "" then goto user
  135. $ if usr .eqs. " " then goto user
  136. $ open /read mailfile [bbs]'usr'.mail /error=nouser
  137. $ set term/noecho
  138. $ in pass "Password: "
  139. $ set term/echo
  140. $ read mailfile pw
  141. $ close mailfile
  142. $ if pw .eqs. pass then goto bbs
  143. $ out " "
  144. $ out "Wrong Password."
  145. $ wrong:
  146. $ out " "
  147. $ in test "Retry or Login as a New User ? (R/N) "
  148. $ if test .eqs. "N" then goto newusr
  149. $ cls
  150. $ goto user
  151. $ goto bbs
  152. $ nouser:
  153. $ out " "
  154. $ out " User ''usr' Not Found In Users File "
  155. $ out " "
  156. $ wait 0:00:02
  157. $ goto wrong
  158. $!% author Raoul/SferraNet
  159. $!% language DCL
  160. $! Bbs program for Vax/Vms
  161. $!
  162. $ bbs:
  163. $ cls
  164. $ type [bbs]welcome.txt
  165. $ wait 00:00:04
  166. $ user == usr
  167. $ tt == f$getdvi("TT","DEVNAM")!-"-"
  168. $! l1 == f$locate(":",TT)
  169. $! l1 == l1 -1
  170. $ device == tt
  171. $ start == f$cvtime(,,"time")
  172. $ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
  173. $ ! Here we show user bbs in full mode, to get his/her dte, inet address or
  174. $ ! Decnet node, and put it in a file, then we run invisible.exe to
  175. $ ! make the user "BBS" invisible
  176. $ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
  177. $ sh u bbs /f /out=[bbs]'user'.dte
  178. $ open/append output_file [bbs]users.dat
  179. $ write output_file "Bbs Users Log on: ",F$time()
  180. $ write output_file "User: ''user' connected on ''device' at ''start'"
  181. $ close output_file
  182. $ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
  183. $! Here we run INVI.EXE, to get invisible at a sh users command, and to avoid
  184. $! System Manager to detect the bbs user
  185. $ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
  186. $ run [bbs]invi.exe;1
  187. $ errcheck:
  188. $ on control_p then goto mainmenu
  189. $ on control_y then goto mainmenu
  190. $ on control_t then goto mainmenu
  191. $ on control_c then goto mainmenu
  192. $ on error then goto mainmenu
  193. $ on severe_error then goto mainmenu
  194. $ on warning then goto mainmenu
  195. $ write sys$output " "
  196. $ out reverse
  197. $ write sys$output "           Welcome To <BBS NAME>         "
  198. $ out normal
  199. $ write sys$output " "
  200. $ out blink
  201. $ write sys$output "           Running on a Vax/Vms <VMS VERSION>"
  202. $ out normal
  203. $ write sys$output " "
  204. $ out reverse
  205. $ write sys$output "          You are connected on line ''device' at ''start'  "
  206. $ out normal
  207. $ write sys$output " "
  208. $ out blink
  209. $ write sys$output "           Please Wait...   "
  210. $ out normal
  211. $ wait 0:00:05
  212. $ cls
  213. $ write sys$output " User ''user' connected on ''device' at ''start' "
  214. $ write sys$output " "
  215. $ out reverse
  216. $ write sys$output "           PLEASE POST ME A MESSAGE "
  217. $ out normal
  218. $ write sys$output " "
  219. $ write sys$output "   IF U FIND ANY BUGS OR HAVE ANY SUGGESTION"
  220. $ wait 0:00:02
  221. $ cls
  222. $ write sys$output " "
  223. $ write sys$output " *** Banner Message *** Read it or Die ! *** "
  224. $ write sys$output " "
  225. $ type [bbs]banner.txt
  226. $ write sys$output " "
  227. $ inquire /nopunct banner "Press [ENTER] To Continue..."
  228. $ mainmenu:
  229. $ cls
  230. $ write sys$output " "
  231. $ write sys$output "                         HackTown Bbs   "
  232. $ write sys$output "                     "
  233. $ write sys$output "                          Main Menu                "
  234. $ write sys$output "  "
  235. $ write sys$output " "
  236. $ write sys$output " "
  237. $ write sys$output " "
  238. $ write sys$output "                        [F] Files Area "
  239. $ write sys$output "                        [M] Mailboxes Area "
  240. $ write sys$output "                        [I] Informations About This System "
  241. $ write sys$output "                        [B] Leave a Banner
  242. $ write sys$output "                        [U] List Users "
  243. $ write sys$output "                        [P] Post a Message To SysOp "
  244. $ write sys$output "                        [L] Logout "
  245. $ write sys$output " "
  246. $ write sys$output " "
  247. $ inquire topmenu "(F,M,I,B,P,L)==>"
  248. $ if topmenu .eqs. "L" then goto L
  249. $ if topmenu .eqs. "F" then goto F
  250. $ if topmenu .eqs. "I" then goto I
  251. $ if topmenu .eqs. "P" then goto P
  252. $ if topmenu .eqs. "M" then goto M
  253. $ if topmenu .eqs. "U" then goto U
  254. $ if topmenu .eqs. "B" then goto B
  255. $ if topmenu .eqs. "" then goto mainmenu
  256. $ if topmenu .eqs. " " then goto mainmenu
  257. $ goto mainmenu
  258. $! Banner Message
  259. $ B:
  260. $ cls
  261. $ write sys$output " Editing Banner! End With a Dot (.) "
  262. $ write sys$output " Notice: Pirating or Incorrects Messages Will Be "
  263. $ write sys$output " Accepted...Don't Be Clean! ;) "
  264. $ write sys$output "
  265. $ del [bbs]banner.txt;* /nolog
  266. $ open/write banner_file [bbs]banner.txt
  267. $ write banner_file " Banner Message From user ''usr' Posted at ''start' "
  268. $ write banner_file " "
  269. $ write banner_file "***********************************************************"
  270. $ line=1
  271. $ more:
  272. $ inquire /nopunctu text "''line': "
  273. $ if text .eqs. "." then goto endbanner
  274. $ write banner_file text
  275. $ line=line+1
  276. $ goto more
  277. $ write banner_file "***********************************************************"
  278. $ close banner_file
  279. $ write sys$output " "
  280. $ write sys$output " Banner Saved! "
  281. $ wait 0:00:02
  282. $ goto mainmenu
  283. $!
  284. $ U:
  285. $ cls
  286. $ type [bbs]users.lis
  287. $ write sys$output " "
  288. $ write sys$output " "
  289. $ inquire /nopunctuation komodo "                            Press [ENTER] To Continue..."
  290. $ goto mainmenu
  291. $!
  292. $ L:
  293. $ goto bbsbye
  294. $ logout/full
  295. $!
  296. $!
  297. $! option F
  298. $!
  299. $ F:
  300. $ write sys$output " "
  301. $ write sys$output " "
  302. $ cls
  303. $ write sys$output " "
  304. $ write sys$output "                          Files Menu "
  305. $ write sys$output " "
  306. $ write sys$output "                          [1]  List files "
  307. $ write sys$output "                          [2]  Type a file "
  308. $ write sys$output "                          [3]  Download a file "
  309. $ write sys$output "                          [4]  Upload a file "
  310. $ write sys$output "                          [5]  Go back to main menu "
  311. $ inquire files "(1,2,3,4,5)==>"
  312. $ if files .eqs. "1" then goto 1
  313. $ if files .eqs. "2" then goto 2
  314. $ if files .eqs. "3" then goto 3
  315. $ if files .eqs. "4" then goto 4
  316. $ if files .eqs. "5" then goto 5
  317. $ if files .eqs. "" then goto F
  318. $ if files .eqs. " " then goto F
  319. $ goto F
  320. $!
  321. $ 1:
  322. $ goto fileslist
  323. $ inquire/nopunct tasto "Press [ENTER] to continue..."
  324. $ goto F
  325. $!
  326. $ 2:
  327. $ write sys$output "U can't type files such as .ZIP .EXE .ARJ etc..."
  328. $ inquire file "File to type ? "
  329. $ if file .eqs. "" then goto f
  330. $ if file .eqs " " then goto f
  331. $ if file .eqs. "login.com" then goto F
  332. $ inquire page "do you want the file to be typed with or without page pause ? (A/B) "
  333. $ cls
  334. $ if page .eqs "a" then goto nopage
  335. $ if page .eqs. "b" then goto page
  336. $ goto 2
  337. $ page:
  338. $ type [bbs]'file' /nopage
  339. $ inquire/nopunct tasto "Press [ENTER] to continue..."
  340. $ cls
  341. $ goto F
  342. $!
  343. $ nopage:
  344. $ type [bbs]'file' /page
  345. $ inquire/nopunct tasto " Press [ENTER] to continue..."
  346. $ cls
  347. $ goto F
  348. $!
  349. $ 3:
  350. $ cls
  351. $ write sys$output " "
  352. $ inquire dl "File to download ?  "
  353. $ inquire protocol "Protocol ? (Z=Zmodem, K=Kermit) "
  354. $ if protocol .eqs. "z" then goto zmodem
  355. $ if protocol .eqs. "k" then goto kermit
  356. $ goto F
  357. $ kermit:
  358. $ if dl .eqs. "" then goto F
  359. $ if dl .eqs. "login.com" then goto F
  360. $ if dl .eqs. "bbs.com" then goto F
  361. $ mcr kermit send [bbs.files]'dl'
  362. $ exit
  363. $ goto F
  364. $!
  365. $ zmodem:
  366. $ !!!!! Put here your zmodem program download string, etc
  367. $!
  368. $ goto F
  369. $!
  370. $ 4:
  371. $ cls
  372. $ write sys$output " "
  373. $ out blink
  374. $ write sys$output " Thanks for your upload! "
  375. $ out normal
  376. $ out reverse
  377. $ write sys$output " Default transfer protocol is Kermit "
  378. $ out normal
  379. $ inquire ul "File to upload ?  "
  380. $ if ul .eqs. "" then goto F
  381. $ if ul .eqs. "login.com" then goto F
  382. $ if ul .eqs. "bbs.com" then goto F
  383. $ mcr kermit rec [bbs.files]'ul'
  384. $ exit
  385. $ open/append [bbs.files]files.txt
  386. $ write [bbs.files]files.txt "File ''ul' sent by ''user' at ''start' on ''device' "
  387. $ close [bbs.files]files.txt
  388. $ inquire desc " Please type a short description for your file "
  389. $ open/append [bbs.files]files.txt
  390. $ write  'desc'' [bbs.files]files.txt
  391. $ write [bbs.files]files.txt "----------------------------------------------------------------------"
  392. $ close [bbs.files]files.txt
  393. $ goto F
  394. $!
  395. $ 5:
  396. $ goto mainmenu
  397. $!
  398. $ M:
  399. $ cls
  400. $ write sys$output "                    MailBox Menu   "
  401. $ write sys$output " "
  402. $ write sys$output " "
  403. $ write sys$output "                    [S] Send a Message "
  404. $ write sys$output "                    [R] Read Messages in Your Mailbox "
  405. $ write sys$output "                    [C] Clear Your Mailbox "
  406. $ write sys$output "                    [D] Delete Your Mailbox "
  407. $ write sys$output "                    [M] Go Back To Main Menu "
  408. $ write sys$output " "
  409. $ write sys$output " "
  410. $ inquire mailmenu " (S,R,C,D,M)==> "
  411. $ if mailmenu .eqs. "S" then goto smail
  412. $ if mailmenu .eqs. "R" then goto rmail
  413. $ if mailmenu .eqs. "C" then goto cmbx
  414. $ if mailmenu .eqs. "D" then goto delmail
  415. $ if mailmenu .eqs. "M" then goto mainmenu
  416. $ if mailmenu .eqs. "" then goto M
  417. $ goto M
  418. $!
  419. $!
  420. $ delmail:
  421. $ write sys$output "                      W A R N I N G ! ! !   "
  422. $ write sys$output "  "
  423. $ write sys$output "                Deleting Your Personal Mailbox "
  424. $ write sys$output "             Will Remove You From The Users File "
  425. $ write sys$output " "
  426. $ inquire del "Do You Want To Delete Your Mailbox ? (Y/N) "
  427. $ if del .eqs. "Y" then goto mbxdely
  428. $ if del .eqs. "N" then goto mbxdeln
  429. $ goto M
  430. $!
  431. $ mbxdely:
  432. $ goto dmbx
  433. $ goto M
  434. $!
  435. $ mbxdeln:
  436. $ cls
  437. $ write sys$output " "
  438. $ write sys$output "   Mailbox not Deleted "
  439. $ wait 0:00:02
  440. $ goto M
  441. $!
  442. $ I:
  443. $ cls
  444. $ write sys$output " We're sorry if this system isn't 100% working fine. "
  445. $ write sys$output " We keep on to work at it. If you find bugs and/or errors, "
  446. $ write sys$output " please send me an URGENT mail (P option at Main Menu) "
  447. $ write sys$output " Thanks."
  448. $ write sys$output " "
  449. $ write sys$output "                              Bbs Staff "
  450. $ wait 0:00:03
  451. $ goto mainmenu
  452. $!
  453. $P:
  454. $ cls
  455. $ write sys$output " "
  456. $ define/user_mode sys$input sys$command
  457. $ mail sys$command <YOUR ACCOUNT> !!!!!!!<-- your VMS account, where you can
  458. $! receive regular vms mail via the vms mail utility
  459. $ goto mainmenu
  460. $!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
  461. $ newusr:
  462. $!
  463. $! NEWUSR.COM VERSION 1.0 BETA
  464. $!
  465. $ on warning then goto ok
  466. $ on control_y then goto ok
  467. $ on error then goto ok
  468. $ on severe_error then goto ok
  469. $ set on
  470. $ in  :== "inquire /nopunctuation"
  471. $ out :== "write sys$output"
  472. $!
  473. $ cls
  474. $ write sys$output " "
  475. $ out blink
  476. $ out " Welcome New User ! "
  477. $ out normal
  478. $ out " "
  479. $ out " "
  480. $!
  481. $ in usr  "Username: "
  482. $ open /read mailfile [bbs]'usr'.mail /error=ok
  483. $ out " "
  484. $ out "This Username already Exists."
  485. $ out " "
  486. $ wait 0:00:02
  487. $ exit
  488. $ ok:
  489. $ set term/noecho
  490. $ in pass "Password: "
  491. $ set term/echo
  492. $ open /write mailfile [bbs]'usr'.mail
  493. $ write [bbs]mailfile pass
  494. $ close [bbs]mailfile
  495. $ out " "
  496. $ out "User ''usr' Added To Users File."
  497. $ out " "
  498. $ wait 0:00:02
  499. $ exit
  500. $ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
  501. $ ! bsbbye, displays a ascii file and logs user out of the system
  502. $ bbsbye:
  503. $ cls
  504. $ type [bbs]goodbye.txt /nopage
  505. $ FINISH = F$CVTIME(,,"TIME")
  506. $ WRITE SYS$OUTPUT " "
  507. $ WRITE SYS$OUTPUT " "
  508. $ WRITE SYS$OUTPUT " "
  509. $ WRITE SYS$OUTPUT " "
  510. $ WRITE SYS$OUTPUT " "
  511. $ WRITE SYS$OUTPUT " "
  512. $ WRITE SYS$OUTPUT " "
  513. $ WRITE SYS$OUTPUT "                  S F E R R A  B B S  ( C )  1 9 9 3 "
  514. $ WRITE SYS$OUTPUT " "
  515. $ WRITE SYS$OUTPUT "                             L O G O U T "
  516. $ WRITE SYS$OUTPUT " "
  517. $ WRITE SYS$OUTPUT " "
  518. $ WRITE SYS$OUTPUT " "
  519. $ WRITE SYS$OUTPUT "                 C A L L  B A C K  S O O N ! ! !"
  520. $ write sys$output " "
  521. $ write sys$output  " "
  522. $ write sys$output  " "
  523. $ write sys$output  " "
  524. $ write sys$output  " "
  525. $ open/append output_file [bbs]users.dat
  526. $ write output_file "User: ''user' disconnected from ''device' on ''finish'" 
  527. $ write output_file "-----------------------------------------------------"
  528. $ close output_file
  529. $ exit
  530. $!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
  531. $ smail:
  532. $!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
  533. $! SENDMAIL.COM VERSION 1.0 BETA
  534. $!
  535. $!
  536. $!
  537. $ on error then goto nouser
  538. $ on severe_error then goto nouser
  539. $ in  :== "inquire /nopunctuation"
  540. $ out :== "write sys$output"
  541. $!
  542. $ cls
  543. $ out " Write Your Message Below. End With a Dot (.) "
  544. $!
  545. $ pass=""
  546. $ in usr  "From  : "
  547. $ open /read checkpw [bbs]'usr'.mail /error=wronguspw
  548. $ set term/noecho
  549. $ in pw "Password: "
  550. $ set term/echo
  551. $ read checkpw pass
  552. $ if pass .nes. pw then goto wronguspw
  553. $ if pass .nes. "" then close checkpw
  554. $ in dest "To    : "
  555. $ open /append mailfile [bbs]'dest'.mail /error=nouser
  556. $ in obj  "Object: "
  557. $ write mailfile "From    : ",usr
  558. $ write mailfile "To      : ",dest
  559. $ write mailfile "Object  : ",obj
  560. $ write mailfile " "
  561. $ write mailfile "Text  :"
  562. $ write mailfile " "
  563. $ line=2
  564. $ previous:
  565. $ line=line-1
  566. $ if line .eq. 0 then line=1
  567. $ again:
  568. $ in text "''line': "
  569. $ if text .eqs. "c" then goto previous
  570. $ if text .eqs. "." then goto endinput
  571. $ write mailfile text
  572. $ line=line+1
  573. $ goto again
  574. $ endinput:
  575. $ write mailfile "------"
  576. $ close mailfile
  577. $ out " "
  578. $ out "Mail Sent."
  579. $ wait 0:00:02
  580. $ exit
  581. $ nouser:
  582. $ out "The user does not exists, please check the name."
  583. $ out " "
  584. $ wait 0:00:02
  585. $ exit
  586. $ wronguspw:
  587. $ out " "
  588. $ out "You have entered a wrong Username/Password."
  589. $ out " "
  590. $ wait 0:00:02
  591. $ if pass .nes. "" then close checkpw
  592. $ exit
  593. $!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
  594. $ rmail:
  595. $!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
  596. $!
  597. $!
  598. $! READMAIL.COM VERSION 1.0 BETA
  599. $!
  600. $!
  601. $!
  602. $ on error then goto finished
  603. $ on severe_error then goto finished
  604. $ in  :== "inquire /nopunctuation"
  605. $ out :== "write sys$output"
  606. $!
  607. $!
  608. $ out " "
  609. $ in usr  "Username: "
  610. $ set term/noecho
  611. $ in pass "Password: "
  612. $ set term/echo
  613. $ open /read mailfile [bbs]'usr'.mail /error=wronguspw
  614. $ mails=0
  615. $ read mailfile pw
  616. $ if pw .nes. pass then goto wronguspw
  617. $ again:
  618. $ read mailfile text /end=finished
  619. $ if text .eqs. "------" then gosub pause
  620. $ out text
  621. $ goto again
  622. $ finished:
  623. $ close mailfile
  624. $ if mails .eq. 0 then goto nomails
  625. $ out " "
  626. $ out "End of Mails."
  627. $ wait 0:00:02
  628. $ exit
  629. $ nomails:
  630. $ out "You have no mails."
  631. $ out " "
  632. $ wait 0:00:02
  633. $ exit
  634. $ pause:
  635. $ out " "
  636. $ in more "Press any key to read next mail, press X to exit."
  637. $ if more .eqs. "X" then goto exitmail
  638. $ text=CLC
  639. $ mails=mails+1
  640. $ return
  641. $ wronguspw:
  642. $ out " "
  643. $ out "You have entered a wrong Username/Password."
  644. $ out " "
  645. $ close mailfile
  646. $ exit
  647. $ exitmail:
  648. $ close mailfile
  649. $ exit
  650. $!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
  651. $ cmbx:
  652. $!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
  653. $!
  654. $! CLEARMAIL.COM VERSION 1.0 BETA
  655. $!
  656. $!
  657. $!
  658. $ on error then goto mistake
  659. $ on severe_error then goto mistake
  660. $ in  :== "inquire /nopunctuation"
  661. $ out :== "write sys$output"
  662. $!
  663. $ cls
  664. $!
  665. $ pass=""
  666. $ in usr  "Username: "
  667. $ open /read mailfile [bbs]'usr'.mail /error=wronguspw
  668. $ set term/noecho
  669. $ in pass "Password: "
  670. $ set term/echo
  671. $ mails=0
  672. $ read mailfile pw
  673. $ if pw .nes. pass then goto wronguspw
  674. $ close mailfile
  675. $ open /write newfile [bbs]usr.tmp /error=wronguspw
  676. $ write newfile pw
  677. $ close newfile
  678. $ delete [bbs]'usr'.mail;*
  679. $ rename [bbs]usr.tmp [bbs]'usr'.mail /nolog
  680. $ cls
  681. $ out " "
  682. $ out "Mailbox Cleared."
  683. $ wait 0:00:02
  684. $ exit
  685. $ mistake:
  686. $ cls
  687. $ out " "
  688. $ out "An error has occurred, contact Sysop."
  689. $ out " "
  690. $ exit
  691. $ wronguspw:
  692. $ cls
  693. $ out " "
  694. $ out "You have entered a wrong Username/Password."
  695. $ out " "
  696. $ wait 0:00:02
  697. $ if pass .nes. "" then close mailfile
  698. $ exit
  699. $!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
  700. $ Dmbx:
  701. $!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
  702. $!
  703. $! DELETEMBX.COM VERSION 1.0 BETA
  704. $!
  705. $!
  706. $!
  707. $ on error then goto nouser
  708. $ on severe_error then goto nouser
  709. $ in  :== "inquire /nopunctuation"
  710. $ out :== "write sys$output"
  711. $ out " "
  712. $!
  713. $!
  714. $ in usr  "Username: "
  715. $ open /read mailfile [bbs]'usr'.mail /error=nouser
  716. $ set term/noecho
  717. $ in pass "Password: "
  718. $ set term/echo
  719. $ read mailfile pw
  720. $ close mailfile
  721. $ if pw .eqs. pass then goto deleteit
  722. $ out " "
  723. $ out "Wrong Password."
  724. $ wait 0:00:02
  725. $ exit
  726. $ deleteit:
  727. $ delete [bbs]'usr'.mail;* /nolog
  728. $ out " "
  729. $ out "Mailbox Deleted."
  730. $ out " "
  731. $ wait 0:00:02
  732. $ exit
  733. $ nouser:
  734. $ out " "
  735. $ out "This Mailbox doesn't exists!"
  736. $ out " "
  737. $ wait 0:00:02
  738. $!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
  739. $ fileslist
  740. $!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
  741. $ fileslist: subroutine
  742. $ cls
  743. $ type [bbs.files]files.txt
  744. $ write sys$output " "
  745. $ exit
  746.  
  747.  
  748.