K 10
svn:author
V 5
eagle
K 8
svn:date
V 27
2020-12-24T22:25:01.146157Z
K 7
svn:log
V 917
Fix some subtle errors with nnrpd external auth

If nnrpd saw EOF on the stderr file descriptor from an external
auth program, it would ignore any further output on stdout.  This
was the cause of the maddeningly intermittant nnrpd/auth-ext test
failures for tests 56 and 59.  Sometimes the closure of stderr
would be seen before the flush of output on stdout, causing the
code to fail to see the username.

Fix this problem with more explicit state tracking for stderr.  If
we see EOF or an error in the stderr file descriptor, remove it
from the select set but continue processing stdout until we also
see an EOF or error there.

Add a new test that explicitly closes stderr.  This failed
consistently with the previous code and passes consistently with this
code.

Also close the read and error file descriptors for the external
authentication program in nnrpd.  Previously, we were leaking those
file descriptors.

END
