LP#1464748: don't toss terminal account information prematurely user/gmcharlt/lp1464748_do_not_toss_login_session_prematurely
authorGalen Charlton <gmc@esilibrary.com>
Fri, 12 Jun 2015 19:01:47 +0000 (19:01 +0000)
committerGalen Charlton <gmc@esilibrary.com>
Fri, 12 Jun 2015 19:08:30 +0000 (19:08 +0000)
commit6ca6061ee7969a9c55bbae69a442c79621af0f08
treea9099ac3227f52582fdd1cfde983478b44bcf4f3
parent5544f6017e6f67b7ffab59b188e486d9324fd9a9
LP#1464748: don't toss terminal account information prematurely

This patch ensures that when the PreFork Net::Server personality
is in use, terminal login information is not prematurely cleared
between *_transport() and sip_protocol_loop().  This, in conjunction
with the patch for bug 1463459, fixes a problem where a SIP
client that connects, issues a 93 request, then a 99 request, could
get an incorrect 98 response.

To test fixes for 1463459 and 1464748:

[1] Set up a SIP configuration with at least two institutions
    with different capabilities and at least one account
    for each institution.  Assume that account A1 is for
    institution I1 and A2 for I2.

[2] Prior to applying the patches for 1463459 and 1464748,
    start the SIP server and try the following sequence:

    a. 93 to log in as A2
    b. 99 to get SC status
    c. Note that the 98 response has values for I1, not I2

[3] Apply the patches and restart SIP, then repeat the steps
    in [2].  This time, the 98 response should have the
    values for I2.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
SIPServer.pm