Skip to content
Snippets Groups Projects
  • George Joseph's avatar
    cc83e76a
    pjproject_bundled: Revert pjproject 2.9 commits causing leaks · cc83e76a
    George Joseph authored
    We've found a connection re-use regression in pjproject 2.9
    introduced by commit
    "Close #1019: Support for multiple listeners."
    https://trac.pjsip.org/repos/changeset/6002
    https://trac.pjsip.org/repos/ticket/1019
    
    Normally, multiple SSL requests should reuse the same connection
    if one already exists to the remote server.  When a transport
    error occurs, the next request should establish a new connection
    and any following requests should use that same one.  With this
    patch, when a transport error occurs, every new request creates
    a new connection so you can wind up with thousands of open tcp
    sockets, possibly exhausting file handles, and increasing memory
    usage.
    
    Reverting pjproject commit 6002 (and related 6021) restores the
    expected behavior.
    
    We also found a memory leak in SSL processing that was introduced by
    commit
    "Fixed #2204: Add OpenSSL remote certificate chain info"
    https://trac.pjsip.org/repos/changeset/6014
    https://trac.pjsip.org/repos/ticket/2204
    
    Apparently the remote certificate chain is continually recreated
    causing the leak.
    
    Reverting pjproject commit 6014 (and related 6022) restores the
    expected behavior.
    
    Both of these issues have been acknowledged by Teluu.
    
    ASTERISK-28521
    
    Change-Id: I8ae7233c3ac4ec29a3b991f738e655dabcaba9f1
    cc83e76a
    History
    pjproject_bundled: Revert pjproject 2.9 commits causing leaks
    George Joseph authored
    We've found a connection re-use regression in pjproject 2.9
    introduced by commit
    "Close #1019: Support for multiple listeners."
    https://trac.pjsip.org/repos/changeset/6002
    https://trac.pjsip.org/repos/ticket/1019
    
    Normally, multiple SSL requests should reuse the same connection
    if one already exists to the remote server.  When a transport
    error occurs, the next request should establish a new connection
    and any following requests should use that same one.  With this
    patch, when a transport error occurs, every new request creates
    a new connection so you can wind up with thousands of open tcp
    sockets, possibly exhausting file handles, and increasing memory
    usage.
    
    Reverting pjproject commit 6002 (and related 6021) restores the
    expected behavior.
    
    We also found a memory leak in SSL processing that was introduced by
    commit
    "Fixed #2204: Add OpenSSL remote certificate chain info"
    https://trac.pjsip.org/repos/changeset/6014
    https://trac.pjsip.org/repos/ticket/2204
    
    Apparently the remote certificate chain is continually recreated
    causing the leak.
    
    Reverting pjproject commit 6014 (and related 6022) restores the
    expected behavior.
    
    Both of these issues have been acknowledged by Teluu.
    
    ASTERISK-28521
    
    Change-Id: I8ae7233c3ac4ec29a3b991f738e655dabcaba9f1
0030-Revert-Misc-re-2147-Fixed-warnings-in-SSL-socket-red.patch 1.80 KiB