pcp
[Top] [All Lists]

pcp updates: ssl

To: PCP <pcp@xxxxxxxxxxx>
Subject: pcp updates: ssl
From: Nathan Scott <nathans@xxxxxxxxxx>
Date: Mon, 14 Jan 2013 00:12:43 -0500 (EST)
Delivered-to: pcp@xxxxxxxxxxx
Reply-to: Nathan Scott <nathans@xxxxxxxxxx>
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.

<Prev in Thread] Current Thread [Next in Thread>
  • pcp updates: ssl, Nathan Scott <=