Change_ldappass not validating password

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



I have searched the archives and although I have seen a lot of the  
same type problems, I have not seen any solutions that solve my problem.

Some details:

Mac Xserve running OSX 10.3.9
PHP 4.4.1(openldap)
Apache 2.0.54
Squirrelmail 1.4.5 on one server and 1.4.6 on another
Change_ldappass 1.9.1 (ldapV3)
Compatibility 2.0.4

I do have some problems with the compatibility mod not returning the  
"compatibility_check_sum_version" , I have just bypassed the if  
statement in change_ldappass/options.php that is looking for the  
compatibility_check_sum_version to get the right paths to  
validate.php and load_prefs.php by replacing the else part of the  
statement with:

    if (!isset($config_php))
    include_once(SM_PATH . 'include/validate.php');
    include_once (SM_PATH . "config/config.php");
    if (!isset($strings_php))
       include_once (SM_PATH . "functions/strings.php");
    if (!isset($page_header))
       include_once (SM_PATH . "functions/page_header.php");
    if (!isset($imap_php))
       include_once (SM_PATH . "functions/imap.php");
    include_once (SM_PATH . "include/load_prefs.php");

This works for now to get the change_ldappass input screen to display  
with out errors ( a quick patch butt I would like to know how to get  
it to work with out this).

When I try to change a password, change_ldappass now errors out with  
"Your old password is not correct." which is at the point where it is  
trying to compare the encrypted version of the oldpassword supplied  
by the input screen with the encrypted stored password from the ldap  
lookup at lines:

       default:                        // Use plain text password
         $cpass=$cp_oldpass;
         $lpass=$storedpass;     // Override $lpass as it is  
truncated from the original
         break;
                 }                      //now check again the stored  
password against the encrypted version of the supplied old password
                 if ($lpass != $cpass)  
{                        array_push($Messages, _("Your old password  
is not correct."));
                        if ($debug) array_push($Messages, _("Stored  
Password:") . " $lpass " . _("Old Password:") . " $cpass");
                         return $Messages;                }

It seems not to be getting the right encryption method for this  
comparison. If I comment out the "default:" in the statement above,  
change_ldappass will end with the display of " Password changed  
successfully" but no new passwords are set in the ldap database, as  
when I log out and log back into squirrlmail I have to use the old  
password.

There are no other errors in the server logs and the password loges  
show that change_ldappass is calling for the right encryption to be  
bound as the user to the ldap database and are being authenticated  
then disconnecting. The user(s) that I am using have wright  
privileges for passwords set in there ldap files.

If anyone has any ideas about how to get this to work I would be very  
grateful.

John Yates



--
squirrelmail-users mailing list
Posting Guidelines: http://www.squirrelmail.org/wiki/MailingListPostingGuidelines
List Address: squirrelmail-users@xxxxxxxxxxxxxxxxxxxxx
List Archives: http://news.gmane.org/thread.php?group=gmane.mail.squirrelmail.user
List Archives:  http://sourceforge.net/mailarchive/forum.php?forum_id=2995
List Info: https://lists.sourceforge.net/lists/listinfo/squirrelmail-users

[Index of Archives]     [Video For Linux]     [Yosemite News]     [Yosemite Photos]     [gtk]     [KDE]     [Cyrus SASL]     [Gimp on Windows]     [Steve's Art]     [Webcams]

  Powered by Linux