Bug 14644: unbreak SIP2 terminal login when using telnet transport
authorGalen Charlton <gmc@esilibrary.com>
Tue, 4 Aug 2015 15:59:39 +0000 (15:59 +0000)
committerTomas Cohen Arazi <tomascohen@unc.edu.ar>
Thu, 20 Aug 2015 16:39:56 +0000 (13:39 -0300)
This patch fixes breakage introduced by the patch for bug 13506
that prevented SIP2 clients from authenticating themselves over
the telnet transport. Attempts to do so would manifest by the
SIPServer backend crashing and the connection getting closed.

To test:

[1] Use the stock SIPServer config, etc/SIPconfig.xml, and ensure
    that the database contains a staff user whose username is 'term1'
    and password is 'term1' that has the circulate permission.
[2] Start SIPServer, telnet to port 8023, and attempt to log in.  The
    connection will be aborted:

    $ telnet localhost 8023
    Trying 127.0.0.1...
    Connected to localhost.
    Escape character is '^]'.
    login: term1
    password: term1
    Connection closed by foreign host.

[3] Apply the patch and restart SIPSever, then repeat step 2.  This time,
    the login should succeed:

    $ telnet localhost 8023
    Trying 127.0.0.1...
    Connected to localhost.
    Escape character is '^]'.
    login: term1
    password: term1
    Login OK.  Initiating SIP

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
Signed-off-by: Colin Campbell <colin.campbell@ptfs-europe.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Tomas Cohen Arazi <tomascohen@unc.edu.ar>
C4/SIP/SIPServer.pm

index 20a97c6..8722ab6 100755 (executable)
@@ -205,7 +205,7 @@ sub telnet_transport {
                syslog("LOG_DEBUG", "telnet_transport 2: uid length %s, pwd length %s", length($uid), length($pwd));
 
            if (exists ($config->{accounts}->{$uid})
-               && ($pwd eq $config->{accounts}->{$uid}->password())) {
+               && ($pwd eq $config->{accounts}->{$uid}->{password})) {
                        $account = $config->{accounts}->{$uid};
                        if ( C4::SIP::Sip::MsgType::login_core($self,$uid,$pwd) ) {
                 last;