| T.R | Title | User | Personal Name
 | Date | Lines | 
|---|
| 298.1 | three possible choices... any more? | CRVAX1::LAMPSON | Mike @DDO - Central Area SWS | Thu Aug 28 1986 15:08 | 12 | 
|  | 	Since you want something to run in the "background" (subprocess,
        I assume), you could write some program/procedure to wait a 
        specified amount of time and do a WRITE SYS$OUTPUT "^G^G{message}" 
        (assuming SYS$OUTPUT is still defined as TT:).
        
        ...Or, if it will work for a non-ANSI SYS$INPUT, you could
        hack the hack which hacks the PHONE protocol. ;^)
        
        ...Or, you could write a program which uses the $BRKTHRU system
        service.
      -&Mike
 | 
| 298.2 | Try this out | BARAKA::LASTOVICA | Norm Lastovica | Thu Aug 28 1986 17:56 | 14 | 
|  | 100	!
	! This small BASIC program will wait 30 minutes and then send "HELLO"
    	! to your terminal.  Execute it with:
	!
        !	SPAWN/NOWAIT/IN=NLA0: RUN HELLO
	!
	external	long	function 	sys$brdcst
	sleep 30%*60%
        stat% = sys$brdcst("Hello","sys$output")
32767	end
 | 
| 298.3 | Let the system do the work | REGENT::MINOW | Martin Minow -- DECtalk Engineering | Thu Aug 28 1986 22:22 | 6 | 
|  | Why not send yourself mail?  Or better yet, check if the
reply failed (because you weren't logged in or don't have
privileges) and *then* send yourself mail?
Martin.
 | 
| 298.4 | SYS$MANAGER Adjustment | CLOSET::DYER | Define `Quality' | Fri Aug 29 1986 15:42 | 11 | 
|  | 	    [RE .0]:  Actually, the problem seems to be that REPLY is
	*not* installed with OPER privs; therefore one needs OPER privs
	to run it.  Ask the system manager to install it with OPER privs
	and to put a command to install it with OPER privs in the system
	startup file.
	    I don't see why anyone would object:  it filters out nasty
	escape sequences, so it's no security problem.
			<_Jym_>
	P.S.:  If your system manager declines to do this, you can al-
	ways hack the PHONE protocol, which *does* allow you to send
	nasty escape sequences.
 | 
| 298.5 |  | PASTIS::MONAHAN |  | Mon Sep 01 1986 05:26 | 8 | 
|  |     	Installing REPLY with OPER privilege is a security problem,
    since it allows a hacker to cover his traces (to cover his tracks
    with the command
    
    $REPLY /NOLOG
    
    		Dave
    
 | 
| 298.6 | Silly Program | VAXUUM::DYER | Define `Quality' | Mon Sep 01 1986 12:13 | 7 | 
|  | 	    You're right, I forgot about that.
	    There should be some way to send broadcast messages without
	needing OPER privs.  The SYS$BRKTHRU routine will generously
	send messages to your own process without the priv.
	    Perhaps the REPLY utility should be broken into two images:
	one that an OPERATOR would use, and one that anybody could use.
			<_Jym_>
 | 
| 298.7 | Hope this helps some... | WORM::MCCLURE | The Kwisatz Haderach | Tue Sep 02 1986 09:25 | 57 | 
|  | Although not completely secure, this suggestion may help you and your system
manager may go for it...
Have system manager copy SYS$SYSTEM:REPLY.EXE to SYS$SYSTEM:BROADCAST.EXE,
install it with OPER privilege, then allow limited use of the image with
the following BROADCAST.CLD file (place SET COMMAND disk:BROADCAST.CLD into
SYS$MANAGER:SYSLOGIN.COM file):
define verb BROADCAST
	image BROADCAST
	disallow ALL or NODE or SHUTDOWN
	parameter P1, prompt="Text"
	qualifier ALL
	qualifier BELL, default
	qualifier NODE, value(list)
	qualifier NOTIFY, default
	qualifier SHUTDOWN
	qualifier TERMINAL, value(required,list)
	qualifier URGENT
	qualifier USERNAME, value(required,list)
	qualifier WAIT
Above file is a subset of the REPLY verb and only allows broadcasts.  I include
the following info on my system for help...
1 BROADCAST
Broadcasts a message to a terminal or terminals.  This is a subset of the
reply command, allowing users basic one-line ability to broadcast to others.
 
Format
 BROADCAST qualifiers "message-text"
 
2 Parameters
message-text
 Text of the message. The text must be 1 through 128 characters.
 Enclose the text in quotation marks if it contains spaces, special
 characters, or lowercase characters.
2 Qualifiers
/BELL (default)
 Rings a bell at the terminal receiving a message when issued with the
 /TERMINAL, or /USER qualifiers; two bells when issued with /URGENT.
/NOTIFY (default)
 /NONOTIFY
 Sends a message describing success back to the originating terminal.
/TERMINAL=(terminal-name,...)
 Broadcasts the message to specified terminals, where terminal-name is
 the device name of the terminal. Incompatible with /USERNAME.
/URGENT
 Sends a message beginning "URGENT..."; if used with the /BELL qualifier,
 rings two bells at terminal(s) receiving the message.
/USERNAME=(username,...)
 Broadcasts a message to the terminals of the specified users. Overrides
 any NOBROADCAST settings at users' terminals.
/WAIT
 Sends message synchronously and waits.
Greg.
 | 
| 298.8 | There's Also SEND >-< Told 'Em To Fix REPLY | CLOSET::DYER | Define `Quality' | Tue Sep 02 1986 14:02 | 4 | 
|  | 	    There's also a SEND utility in the ToolShed.
	    I've made a suggestion to VMS Development that they break
	REPLY up into two images.
			<_Jym_>
 | 
| 298.9 |  | ULTRA::PRIBORSKY | Tony Priborsky | Wed Sep 03 1986 08:17 | 14 | 
|  |     Re: .7:
    
    $ DEFINE REPLY SYS$SYSTEM:BROADCAST.EXE
    
    Then, REPLY/SHUTDOWN or REPLY/DISABLE...
    
    This is using the normal command language definition against your
    supposedly "secure" *INSTALLED* image.   There are other ways to
    get around this too...
           
    There's no less or more security in doing it your way - only a feeling
    of false security because some hacker hasn't figured out how to
    get around it.
                          
 | 
| 298.10 | OOPS... | WORM::MCCLURE | The Kwisatz Haderach | Wed Sep 03 1986 14:02 | 13 | 
|  | RE .9:
	That simple to hack huh ?  Humm, just going to have to write a
	program to do what I really want.  I usually don't make that
	bad of an error, must be losing my touch...
RE .8:
	I agree strongly with the suggestion that REPLY be split into two
	utilities.  I always wondered why the VMS equal of RSX BROADCAST
	didn't exist already.
Greg.
 | 
| 298.11 | I think you need SYSNAM | 3784::GRIER | Hacking Central | Sun Sep 07 1986 19:56 | 9 | 
|  |     Re: .9:
    
       Won't the REPLY logical name require an EXEC-mode logical (aka
    "trusted" logical) name?  If so, it requires SYSNAM privilege, which
    you don't give to someone unless you trust them not to muck things
    up.
    
    					-mjg
    
 | 
| 298.12 |  | THEBAY::MTHOMAS | The Mad Hacker | Mon Sep 08 1986 00:52 | 2 | 
|  |     What does DCL care?  It just uses the logical name to find out what
    image to activate.
 | 
| 298.13 |  | RANI::LEICHTERJ | Jerry Leichter | Sun Sep 14 1986 16:42 | 22 | 
|  | re: .11, .12
No, any kind of logical will do for this purpose - it doesn't have to be
"trusted".
For a simple-minded generic "broadcast to a terminal" program, pick up my
ALARM2 program from the Toolshed; the program NOTIFY that's part of it does
what you want.
							-- Jerry
A bit of history:  In V2, REPLY did not allow you to send to your own terminal.
In V3, it did.  In V4, it again did not.  I complained about this as just about
the first (unofficial) SPR against the terminal driver/REPLY.  It turned out
that V4.0 had a much more serious problem:  The broadcast logic more or less
inverted the privilege test, and let through only those who normally would
not have had access (because they couldn't access the terminal itself).  REPLY
did it's own check, and ran with OPER, so this wasn't noticed....
Anyway, the $BRKTHRU bug was fixed in 4.1, and the eventual response to my
complaint about REPLY was "well, yes, it probably should let you REPLY to
your own terminal, but the documentation SAYS you need privs, so it's kind of
hard to say this is a BUG"....	-- J
 |