Note: this should possibly be solved in the web front
end, too.
Example username to reproduce the test:£$€"#¤
What seems to happen is that the login front happily
passes this (strange) username to the directory
handling backend.
My theory: Moria guesses a RDN, which is sent to the
LDAP Server, the LDAP Server responds with an error,
which in turn ends up as a BackEndException.
Some suggestions to fixes:
* some characters would be "inappropriate" to use in
user names, at least constricted by the format for
eduPersonOrgPrincipalName, should be handled in the
front end
* the RDN-guessing should avoid illegal constructions
(to prevent this error for DirectAuthentication)
* the response from the LDAP Server should be handled
by a correct error message to the FEIDE-user, instead
of suggesting that the LDAP Server is completely
unavailable. Possible new error situation/exception:
error message received from LDAP Server?
This is a copy of the log output:
BACKEND: 11:29:23,696 DEBUG [JNDIBackend] [-]
"Anonymous search for user element
DN"
BACKEND: 11:29:24,097 DEBUG [JNDIBackend]
[gICAgAAAAAABB*sD0jzW66Z62daUef00r*mWJ
NydFJBHPH0rNwjNpWYbbgbPRdiH3eMTg3fqZ3wPFfuuCng] "No
subtree match for eduPersonP
rincipalName=ú$?"#ñ@uninett.no on
ldaps://ldap.uninett.no/ou=people,dc=uninett,d
c=no - guessing on RDN uid=ú$?"#ñ"
BACKEND: 11:29:24,137 DEBUG [JNDIBackend] [-] "Matched
eduPersonPrincipalName=ú$
?"#ñ@uninett.no to uid=ú$?"#ñ,ou=people,dc=uninett,dc=no"
MESSAGE: 11:29:24,167 WARN [MoriaController]
[gICAgAAAAAABB*sD0jzW66Z62daUef00r
*mWJNydFJBHPH0rNwjNpWYbbgbPRdiH3eMTg3fqZ3wPFfuuCng]
"BackendException caught"
no.feide.moria.directory.backend.BackendException:
Unable to access the backend
on ldaps://ldap.uninett.no/ou=people,dc=uninett,dc=no
at
no.feide.moria.directory.backend.JNDIBackend.authenticate(JNDIBackend
.java:346)