Okay... I have a "working" solution, at least for me. Pretty simple; just forced the string from the original LDAP search to lowercase. Here are my patches
(files located under /usr/share/webmin/yubico-RoP/):
Code:
--- save_user_import_conf.cgi.bak 2013-04-01 19:29:54.000000000 +0000
+++ save_user_import_conf.cgi 2013-04-01 19:30:08.000000000 +0000
@@ -396,7 +396,7 @@
&webmin_debug_log("import_users_from_ldap", "found user with dn=" . $user->dn);
$user_name = $user->get_value( 'cn' );
- $login_name = $user->get_value( $identifier );
+ $login_name = lc($user->get_value( $identifier ));
if($global_id eq 'objectGUID'){
$global_name_bin = encode_base64($user->get_value( $global_id ));
$global_name = trim($global_name_bin);
Code:
--- ykrop2_ldap_user_import.pl.bak 2013-04-01 18:18:05.000000000 +0000
+++ ykrop2_ldap_user_import.pl 2013-04-01 19:25:53.000000000 +0000
@@ -200,7 +200,7 @@
#&webmin_debug_log("import_users_from_ldap", "found user with dn=" . $user->dn);
$user_name = $user->get_value( 'cn' );
- $login_name = $user->get_value( $identifier );
+ $login_name = lc($user->get_value( $identifier ));
if($global_id eq 'objectGUID'){
$global_name_bin = encode_base64($user->get_value( $global_id ));
$global_name = trim($global_name_bin);
I was able to fix what was already in the pgsql database by running the following:
In the ykrop2 database:Code:
update users set login_name=lower(login_name);
In the ykmap database:Code:
update ykmaps set value=lower(value);
I'm not suggesting this is a valid fix for everyone, but so far it seems to have done the trick for me. I'm still working on applying the fix to the other sync'ed servers.
(edited to include better details about the fix)