openssh / prngd unresolved bug since 2002, need help

David Beecher dbeecher at dmsgs.com
Sat Jul 12 02:58:05 EST 2008


Hello,

I apologize if this is the wrong list. It was the list I was directed 
towards. I have reviewed the archives as well as everything I could 
google before posting. Any help is most appreciated:

We're seeing an error during sftp and ssh connections with consistent 
regularity. It's triggered by a high number of connections coming into 
sftp/ssh at the same time. It affects additional connections and leaves 
the failed connect attempts open for days in a TCP_WAIT state. We're 
seeing the error in the system logs:

openssh session hanging - prngd[671]: write() in socket_write() failed: 
Broken pipe

This appears to be an issue that has been an unresolved  problem with 
prngd since 2002.  Some have attributed the problem to prngd version 
0.9.26 (2004) but we are seeing it with version 0.9.25 (30 May 2002) as 
have others that we've seen on the web.

The problem appears to be (we are quoting here):

-- snip --
  When lots of processes query entropy at the same time, the "fairness"
  change introduced in 0.9.25 could lead to clients being only served with
  a delay.
  Reason: in serverloop.c the next client to serv is "i1" as determined from
    i1 = (prev_location + i) % max_query_old;
  The client that actually was served however was "i" instead of "i1".
  If the connection of "i" was not yet ready for "write" state set after
  getting the entropy, it might block.
  This problem has not been reported by any other user, though it might also
  have occured at other sites.
  Depending on the internal sorting of sockets by fd/slot (number increasing
  in the sequence of accepted connections, closed connections are
  removed from the list), connections might appear locked.
  The entropy served was not provided in the sequence intended. The
  entropy bytes returned via internal buffer however were consistent
  with the connection served (buffer[i]) was filled correctly for
  connection[i]. The problem therefore has no impact on the quality
  of seeding.
-- snap --

It appears that the latest version of prngd for sunos is 0.9.25 up 
through solaris 9.

The sourceforge for prngd (http://sourceforge.net/projects/prngd/) is 
alive but does not appear to be active. I'm going to contact them, has 
anybody else found a eliable solution or a newer version of prngd for 
sunos 5.8 that does not have this issue.

We have not received any response from the prngd group on sourceforge.

Thank you in advance for any/all help,
David



More information about the openssh-unix-dev mailing list