Bug 18755: Allow empty passwords in Patron Info to return OK
With this patch a parameter 'allow_empty_passwords="1" can be added to a login in the SIP configuration file to allow the behaviour as was normal before the patch for bug 16610 was applied. Some sip clients rely on this behaviour sending an empty password field when they wish to validate to user but do not have the password. If a password is supplied it will be validated A test has been added to Message.t to confirm this behaviour Signed-off-by: Mark Tompsett <mtompset@hotmail.com> Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl> Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org> (cherry picked from commitebb887e5c9) Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com> (cherry picked from commit459c144f2a) Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
This commit is contained in:
parent
e04bdc226e
commit
aefdb757bf
|
|
@ -961,6 +961,9 @@ sub handle_patron_info {
|
|||
|
||||
# If patron password was provided, report whether it was right or not.
|
||||
$password_rc = $patron->check_password($patron_pwd);
|
||||
if ( $patron_pwd eq q{} && $server->{account}->{allow_empty_passwords} ) {
|
||||
$password_rc = 1;
|
||||
}
|
||||
$resp .= add_field( FID_VALID_PATRON_PWD, sipbool( $password_rc ) );
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -70,7 +70,7 @@ subtest 'Testing Patron Status Request V2' => sub {
|
|||
|
||||
subtest 'Testing Patron Info Request V2' => sub {
|
||||
$schema->storage->txn_begin;
|
||||
plan tests => 16;
|
||||
plan tests => 17;
|
||||
$C4::SIP::Sip::protocol_version = 2;
|
||||
test_request_patron_info_v2();
|
||||
$schema->storage->txn_rollback;
|
||||
|
|
@ -196,6 +196,13 @@ sub test_request_patron_info_v2 {
|
|||
$msg->handle_patron_info( $server );
|
||||
$respcode = substr( $response, 0, 2 );
|
||||
check_field( $respcode, $response, FID_VALID_PATRON_PWD, 'N', 'code CQ should be N for empty AD' );
|
||||
# Test empty password is OK if account configured to allow
|
||||
$server->{account}->{allow_empty_passwords} = 1;
|
||||
$msg = C4::SIP::Sip::MsgType->new( $siprequest, 0 );
|
||||
undef $response;
|
||||
$msg->handle_patron_info( $server );
|
||||
$respcode = substr( $response, 0, 2 );
|
||||
check_field( $respcode, $response, FID_VALID_PATRON_PWD, 'Y', 'code CQ should be Y if empty AD allowed' );
|
||||
|
||||
# Finally, we send a wrong card number
|
||||
$schema->resultset('Borrower')->search({ cardnumber => $card })->delete;
|
||||
|
|
|
|||
Loading…
Reference in New Issue