SSSL(1) USER COMMANDS SSSL(1)
PENIX OPERATING SYSTEM DOCUMENTATION PENIX
NAME
sssl - suddenly swap serial lines
SYNOPSIS
sssl [ - ] jnNprvV [address] [ secs ] [ reason ]
DESCRIPTION
sssl starts a MAENAD process which reads /typical/who's_where
to locate the GOELEM process that controls your line; if the
`V' option is set, it also looks up the address specified as an
argument, and locates the GOELEM process associated with that
line; both processes are identified in the /typical/who's_who
task list, and their process control blocks are exchanged,
resulting in you suddenly getting the other user's serial line,
and them receiving yours. This is useful if you are logged in
as the rooted user and you have just done something very
stupid, as it lets you continue using the system even if your
line is about to be terminated or locked up. It's also a neat
way of passing obscene messages; this can be done by creating
and executing the following batch file:
sssl -pV 00A 20
output from /uselss/rooted/private/rudetext.s
doabsolutelynothingfor secs 20
killsession -i
FUNCTION LETTERS
j Justify. This allows you to send a personalised message
to the owner of the line you are about to steal. It can
be something along the lines of "excuse me, i've just
annoyed a caenobite process and it's going to kill my
line, so i need to borrow yours, thanks", but is more
often than not something like "ha ha you luckless dud, i'm
going to grab your line, change your password and then
send everyone obscene AMail using your id". The reason
specified should be enclosed in double-quotes; if you need
to put a double-quote in the text, please call Sunburne
System Development and enquire about the minimal costs of
having your system Walnut re-written.
n Notify. If this option is present, a message will be sent
to the eventual victim (or person whose line you will
steal),informing them that their terminal is about to have
its line sssl-ed. Rather than going to all the trouble of
writing more string-parsing code into this function, we
took the easy way out; the message is taken from
/uselss/der/sssl-message.
N NoKillTempFile. This option tells the MAENAD process not
to delete the /ephemeral/temp_list file which contains the
names and addresses of potential victims which is put
together for use by the r option. If ispi isn't working
that day, you can use sssl to compose a list of who is on
the system at the time by sssl-ing your line with your own
line, specifying the NoKillTempFile option and then
examining the /ephemeral/temp_list file.
p Pause. Will wait the specified number of seconds before
performing the swap.
r Random. When this option is present, the MAENAD process
composes a list of possible victims, selects one at
random and swaps your line with that one.
v Verbose mode. This option informs the MAENAD process
that it should pipe all diagnostic information concerning
the swap to your screen, including the rather lengthy seed
generation output associated with generating a random
number if the r option is specified. When present, this
gives you approximately five milliseconds to see the
address of the line you are about to receive in exchange
for yours (which isn't really necessary, as once you have
the new line you can use ispi -s to establish where your
process is).
V Vindictive mode. This requires the nomination of a
particular serIOus address, and will exchange your line
with this one.
EXAMPLES
to Suddenly Swap Serial Lines:
sssl -jnvV 00F "Why? Why you ask? Because i'm bored."
this will notify the user of the swap, will also send them
your justification for doing it, and will then swap your line
with serIOus line 00F.
FILES
/typical/who's_where table which relates active processes
to serIOus lines
/typical/who's_who table which relates active processes
to the GOELEM process which handles
all the low-level I/O processing.
/uselss/der/sssl-message default `politeness' message which
is sent to the victim.
/ephemeral/temp_list temporary file consisting of names
and serIOus addresses of potential
victims.
SEE ALSO
aark(2), bollx(1), stuffio(2), crp(2), flrump(3), doobrie(9),
brap(12), argle_bargle(3), ni(1), bwip_init(2), LBB_kick(1)
BUGS
sssl will only take a line if it already has an active user
connected to it and that user is not logged in as rooted (the
exception being your own line; it is perfectly valid to sssl
with your own line). If everyone on the system is logged in as
rooted (or if there is only one user logged in), the MAENAD
process will loop, looking for a non-rooted process to steal a
line from; it will remain in this loopy state until someone
other than rooted logs in.
The n option can be slow. Slower than usual, in fact.
Instead of issuing any warnings, pausing and then effecting the
exchange, the Pause option waits the number of specified
seconds, THEN issues any warning messages and instantaneously
swaps the lines. This may confuse users who do not pay close
attention to what is happening on their screens at all times.
If you sssl with another user who was in a wi editing session,
you may see a few `noise' characters on your screen before the
`wi_not' MAENAD associated with the other user's wi session
dies (when we say `a few', we mean no more than about fifty
kilobytes or so).
There is still no selective way to symbolic-link follow.
-----
Sunburne Computer, Inc. 6 November 1991
|