[alt.security] write replacements

jkp@cs.HUT.FI (Jyrki Kuoppala) (05/05/91)

In article <kre.673344580@mundamutti.cs.mu.OZ.AU>, kre@cs (Robert Elz) writes:
[ describes a zephyr-like / write-like system on which you can control
  the appearance of the arriving message ]

I did something like that when getting familiar with SunRPC.  It's a
bit buggy, but the idea is basically the one you're after, I think.
Also, it appears that SunRPC is not very good for this so the program
should be rewritten to work on top of a tcp protocol (funny, when it
was just an exercise in SunRPC to start with ;-).

Here's the README file; the package is in nic.funet.fi,
pub/unix/tcpip/rmsg.tar.Z.  If anyone is willing to adopt it and make
it better, feel free.

This directory contains a messaging system which can be used to send
write-like messages to logged-on users.  The system can cross machine
boundaries, so if another machine has the rmsgd program running, you can
send messages to users on it.

The system also allows bitnet virtual machine-like 'virtual users'
to whom any user can send messages and they can answer the messages.
The rmsgd server makes this possible by allowing a command 'exec' in a users
.msgconf file, and whenever the user receives a message this command is
executed and the message is piped to it.

It is also possible to log incoming and outgoing messages and resend previous
sent message.  You can specify a file to which the last (or every) incoming
message will be stored.

Using the programs:
-------------------

Rmsgd:

Rmsgd is the server program for the system.  It should be started by root,
but for now it works even if started by ordinary users, even though
some capabilities are disabled for security reasons (that is, exec and 
logging of incoming messages, since that would be done by the user-id
who started rmsgd and not the receiver).

At any time, there should be only one rmsgd running.  It doesn't do any harm
to have several rmsgds other than the newly-started servers unmap the
previous and thus the previous servers are unusable.

The server should be named 'rmsgd' to have it start as a daemon.


Rmsg:

Rmsg is the client end of the system.  Rmsg is used by ordinary users
to send messages.  For example, rmsg foo@bar hello there !  ^D would
send a message 'hello there !' to user foo at machine bar.  By
default, rmsg stores the last outgoing message in the user's home
directory in the file .msgout.  Then msg -r user@machine can be used
to resend the message.  Message is normally read from standard input
until EOF.

Configuration:
--------------

The messages system has many options which the user can set by making
a file '.msgconf' in her home directory and placing various command in it.
Read the manual page for rmsg for more information.


//Jyrki

wcs) (05/11/91)

In article <kre.673801266@mundamutti.cs.mu.OZ.AU> kre@cs.mu.oz.au (Robert Elz) writes:
> wcs@cbnewsh.att.com (Bill Stewart 908-949-0705 erebus.att.com!wcs) writes:
> >* "mail" is for sending people messgaes with potentially structured
> (and is irrelevant here)
	Not really - if somebody want's to reach me, they send mail,
	and an icon pops up on my screen at work, and a bell rings
	on my terminal at home.  If I'm nearby, and don't mind
	being interrupted, I can reply.
> >* "talk" is for coordinated real-time conversations between people,
> >* "write" is for rudely interrupting people who haven't pre-arranged

> I disagree with this .. both initiate conversations, both rudely
> interrupt, the sole difference there is that with talk I cannot
> see any hint of the other person's message until I respond, and
> both have a very fixed interface style, that I can't alter.

	There are LOTS of talk programs out there.
	Admittedly, in the BSD world you've had sockets for 10 years,
	and probably all use the standard one, but here in the System V
	world we've used a variety of different talk programs.
	Some use sockets, some use files, some use FIFOs.
	Even in the BSD world, if you've got a workstation, you can
	use your own talk program instead of the standard one.

> The interface we have does not require any pre-arrangement in order
	By pre-arrangement, I meant pre-arrangement between you and the system,
	like putting "biff y" or "message-widget -foo &" in your .profile.
	You do need to find out what flavor of talk-program somebody uses,
	but that can be resolved by directories or finger,
	or by mentioning it in your "Please call me" mail.

> Unless you have operated in an academic environment with lots of
> moronic undergrad students you may not appreciate the usefulness of
> selective message control - I don't want to prevent messages from
	I used to always use "mesg y", but now that I'm in a window
	environment (and to some extent even when I'm using a screen editor)
	write and wall messages tend to get lost in the shuffle -
	maybe the bell gets through.  People can always send me mail,
	and mail makes it easy to pick out useful stuff.
	One option with vanilla write, by the way, is to
	make your terminal group-writable, with a group that your
	friends are in and the annoying undergrads aren't :-)

> in any case, the point is that its up to the user to decide just how,
> and when, if at all, he wants to be interrupted.
	Agree with you there.
-- 
				Pray for peace;		  Bill
# Bill Stewart 908-949-0705 erebus.att.com!wcs AT&T Bell Labs 4M-312 Holmdel NJ
# I never wanted to be a hacker!  I wanted to be --- a lumberjack!