Phrack, Hackers

Multi-User Chat Program for DEC-10's

Author: The Mentor
Issue: 9
Download as txt

==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 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
'
.backto com
users::
.revive
.r users
'
.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 '