P E N I X
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