Bug 18880: Fix authentication fallback for external authentications
authorJonathan Druart <jonathan.druart@bugs.koha-community.org>
Tue, 11 Jul 2017 15:24:36 +0000 (12:24 -0300)
committerJonathan Druart <jonathan.druart@bugs.koha-community.org>
Fri, 14 Jul 2017 15:04:57 +0000 (12:04 -0300)
commitd852b332666da212f1ab8667fa044b16eb151717
tree5b64ea2c6a57a9a418bee78bffe79838c17e53e3
parent70eafe4484d360d936a367434649f0e3dbdb6e11
Bug 18880: Fix authentication fallback for external authentications

A regression in commit cfc484b17 / bug #18314 breaks the local
authentication fallback for all external authentications like LDAP, CAS
and Shibboleth.

The regression itself is a logical error as "@return = (0)" is
considered to be "false" when checked with "unless" (line 1814). That's
wrong as "unless" tests the number of elements in a list.

This patch tries to simplify the logic by adding a $passwd_ok and
$check_internal_as_fallback flags to be more verbose and hopefully more
understandable.
The goal here is simply to restore back the same logic as before cfc484b17

Signed-off-by: Lee Jamison <ldjamison@marywood.edu>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
C4/Auth.pm