|
==Phrack Inc.== Volume One, Issue Nine, Phile #7 of 10 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ (512)-396-1120 The Shack // presents A Multi-User Chat Program for DEC-10s Original Program by TTY-Man Modified and Clarified by +++The Mentor+++ October 6th, 1986 Intro: Unlike its more sophisticated older brother, the VAX, the DEC has no easy-to-use communication system like the VMS PHONE utility. The following program makes use of the MIC file type available on most DECs. Each user that wishes to be involved in the conference needs to run the program from his area using the .DO COM command. The program can be entered with any editor (I recommend SED if you have VT52 emulation), and should be saved as COM.MIC. The program does not assume any specific terminal type or emulation. You will have to know the TTY number of any person you wish to add to the conference, but this is available through a .SYSTAT command or .R WHO (see below.) SYSTAT This is an example of a SYSTAT to used to determine TTY#... Status of Saturn 7.03.2 at 7:27:51 on 03-Oct-86 Uptime 40:41:14, 77% Null time = 77% Idle + 0% Lost, 9% Overhead 27 Jobs in use out of 128. 27 logged in (LOGMAX of 127), 16 detached. PPN# TTY# CURR SIZE 19 [OPR] 6 OPR 56+39 HB 18 20 7,20 5 OPR 23+39 HB 24 $ 21 2501,1007 56 COMPIL 8+8 ^C 1:34 $ 22 66,1012 57 TECO 10+12 TI 39 23 66,1011 62 1022 16+55 TI 36 $ 24 [SELF] 64 SYSTAT 23+SPY RN 0 $ 26 [OPR] DET STOMPR 10+9 SL 2 27 16011,1003 DET DIRECT 17+32 ^C 30 $ 36 [OPR] DET FILDAE 17 HB 1:57 The TTY# is available in the TTY column... DET means that the user is detached and is unavailable for chatting... Below is an example of .R WHO to obtain the same information... /- jobs in use out of 127. Job Who Line PPN 20 OPERATOR 20 5 7,20 21 DISPONDENT 56 2501,1007 22 ADP-TBO 57 66,1012 23 ADP-MDL 62 66,1011 24 THE MENTOR 64 XXXX,XXX 27 GEO4440103 Det 16011,1003 In each case, I am on TTY# 64... Anyway, use the following program, it's more convenient that doing a .SEN <tty> every time you want to send a message. Also, to shut out an annoying sender, use .SET TTY GAG. To remove, .SET TTY NO GAG... pretty simple, huh? start:: ! !Now in loop: 'a 'b 'c 'd 'e 'f ! .mic input A,"Destination Terminal 1:" .if ($a="") .goto welcome .mic input B,"Destination Terminal 2:" .if ($b="") .goto welcome .mic input C,"Destination Terminal 3:" .if ($c="") .goto welcome .mic input D,"Destination Terminal 4:" .if ($d="") .goto welcome .mic input E,"Destination Terminal 5:" .if ($e="") .goto welcome .mic input F,"Destination Terminal 6:" .if ($f="") .goto welcome welcome:: !Sending Hello Message... sen 'a Conference Forming on TTYs 'b 'c 'd 'e 'f ... DO COM to these to join' sen 'b Conference Forming on TTYs 'a 'c 'd 'e 'f ... DO COM to these to join' sen 'c Conference Forming on TTYs 'a 'b 'd 'e 'f ... DO COM to these to join' sen 'd Conference Forming on TTYs 'a 'b 'c 'e 'f ... DO COM to these to join' sen 'e Conference Forming on TTYs 'a 'b 'c 'd 'f ... DO COM to these to join' sen 'f Conference Forming on TTYs 'a 'b 'c 'd 'e ... DO COM to these to join' ! !Type /h for help com:: .mic input G,"T>" !Checking Commands.. Wait.. .if ($g="/h") .goto help .if ($g="/k") .goto kill .if ($g="/l") .goto list .if ($g="/d") .goto drop .if ($g="/t") .goto time .if ($g="/w") .goto who .if ($g="/u") .goto users .if ($g="/q") .goto quit .if ($g="/r") .backto start .if ($g="/ac") .goto ack !Transmitting.. Wait.. sen 'a 'g sen 'b 'g sen 'c 'g sen 'd 'g sen 'e 'g sen 'f 'g .backto com help:: ! ! Internal Commands ! ! /H -> This Menu /K -> Kill ! /L -> List Terminals /U -> Users ! /W -> R who /AC-> Alert Caller ! /Q -> Quit ! /R -> Restart/Add ! /T -> Show Date/Time ! /D -> Drop Caller ! ! All Commands must be in lower case. ! .backto com list:: ! !Currently Connected To Terminals: 'a 'b 'c 'd 'e 'f ! .backto com who:: .revive .r who '<silence> .backto com users:: .revive .r users '<silence> .BACKTO COM QUIT:: ! !Call The Shack... 512-396-1120 300/1200 24 hours ! .mic cancel drop:: ! !Send Hangup Message:: Enter Terminal Number To Be Disconnected. ! .mic input h,"Destination Terminal Number:" .sen 'h <=- Communication Terminated at '<time> -=> .backto start ack:: .mic input h,"Destination Terminal Number:" .sen 'h %TMRR - Timeout Error, Response Required, Please ACKNOWLEDGE! .backto com kill:: ! !Send Message To Specific Terminal In A Loop .mic input n,"Are You Sure (Y/N)?" .if ($n="y") then .goto k1 !%Function Aborted - Returning To Communication Mode. .backto com k1:: .mic input h,"Destination Terminal Number:" .mic input n,"K>" dog:: !Transmitting...CTRL-C Aborts! .sen 'h'n .backto dog time:: ! !Current Date : '<date> !Current Time : '<time> ! .backto com Wasn't that neat? A feature that you can implement separately to be a pain in the ass is the recursive MIC that sends an annoying message to a specified terminal. It is almost impossible for them to shut you out without logging out unless they are already gagged. Just create a small MIC file called BUG.MIC... to do it in two lines, simply type... .SEN <tty # goes here> Eat hot photons, Vogon slime! .DO BUG That's it! I hope this comes in useful to someone out there! Give us a call at The Shack... 512-396-1120 300/1200 baud, 24 hours a day... And a special welcome to all the feds who will doubtlessly be calling since the number appears in here... we have nothing to hide! +++The Mentor+++ ==============================================================================