COMMAND

    rlogin

SYSTEMS AFFECTED

    Ascend MAX/6000

PROBLEM

    Sebastian  Andersson  found  a  problem  with our Ascend Max/6000s
    (system.sysDescr.0  =  "Ascend   Max-6000  E1/PRI/BRI/DPNSS   S/N:
    8392451 Software +7.2.0+") when a dial in user connects to another
    machine via rlogin.  Some of its users dial in, get a login prompt
    and are authenticated against a radius server.  The radius  server
    tells the users to connect to a unix server via rlogind.

    Normaly rlogind authenticates  the user, sends  a NUL byte  to the
    rlogin client, forks and execs login and then it starts to  tunnel
    i/o between the login processes (or shell) and the rlogin  client.
    Sebastian  hacked  on  a  rlogind  to  authenticate,  set  up some
    environment variables  and then  fork and  exec uucico  instead of
    login.  After he made that change the rlogind program, it was able
    to send the NUL byte and  the banner text from uucico (here=  ...)
    in the same IP packet.

    After he did that,  the max sends a  lot of "crap" to  the dial in
    connection  instead  of  the  correct  text.   Running the rlogind
    program under strace makes it  all work correctly (because of  the
    extra  delay   between  the   two  writes   thus  splitting    the
    authentication  confirmation  and  the  i/o  in two packets).  The
    crap sometime contain text from other users sessions...

SOLUTION

    Sebastian fixed the problem with a sleep after the first write.