Changes committed to git://oss.sgi.com/pcp/pcp.git nssmerge
src/include/pcp/impl.h | 2 +
src/libpcp/src/auxconnect.c | 70 ++++++++++++++++++++++++++++++++++++++++++--
src/libpcp/src/pdu.c | 39 ++++++------------------
3 files changed, 80 insertions(+), 31 deletions(-)
commit 6dac3d1cfe3925e2ac0fcad8e660ac910aa6acf3
Author: Nathan Scott <nathans@xxxxxxxxxx>
Date: Mon Jan 14 16:09:07 2013 +1100
Final commit allowing SSL connections to function correctly.
This commit resolves the two remaining issues surrounding SSL
connections (that I know of, and exercised by QA test 712).
Firstly, the connection was hanging at various points in the
client side following a successful initial handshake. Turns
out the SSL code can consume data beyond the initial part of
a PDU read, resulting in a subsequent select() prior to the
end of the PDU hanging (due to all data being transparently
consumed previously). After some searching, an SSL interface
to test for this condition was found (SSL_DataPending), which
must be passed an SSL fd (else segv results, evidently). This
is a bit of a pain, as it means we do need to distinguish the
NSPR/SSL descriptors after all (or at least flag a successful
ssl fd overwrite).
Secondly, the server code was taking sigpipe at the end of a
successful client SSL interaction, as a result of a redundant
(duplicate) PR_Close call on an already-closed descriptor.
Test 712 now passes reliably. Happy days!
commit 9b1792f8e26c7da8c1ad699689c4424b4a685424
Author: Nathan Scott <nathans@xxxxxxxxxx>
Date: Fri Jan 11 13:41:28 2013 +1100
Abstract the code dealing with errno-based socket close detection
Now that we have a mix of NSPR and regular errno values, we need a
different test for socket closure. Turn it into a switch, and add
the NSPR codes into the mix. Resolves an issue where pmcd logged
an error on every client connect, due to NSPR codes now being more
widely exposed.
|