[sork] Passwd Problems - Cannot Change password, no UPDATE applied
Simon Brereton
simon.brereton at dada.net
Thu Oct 22 22:02:25 UTC 2009
> -----Original Message-----
> From: sork-bounces at lists.horde.org [mailto:sork-bounces at lists.horde.org]
> On Behalf Of Eric Jon Rostetter
> Sent: Thursday, October 22, 2009 4:55 PM
> Quoting Simon Brereton <simon.brereton at dada.net>:
>
> > I'm at a loss to see what else I can do - I wish there was a way to
> > add debug lines to main.php so I could see the variable being
> > returned to mail.php.
>
> You probably don't want it in mail.php, but in sql.php...
I meant main.php - but you're right anyway ;)
> It logs to the log file (syslog, or file, depending on your Horde
> setup).
> It should log things at the DEBUG level, so make sure you have that
> enabled...
>
> Add lines where needed for debugging, ala:
>
> Horde::logMessage('SQL Query: ' . $sql, __FILE__, __LINE__,
> PEAR_LOG_DEBUG);
>
> For example, right after line 129 of passwd/lib/Driver/sql.php were it
> says:
A typo, I think, I found it on line 119..
> $current_password = $row[$this->_params['pass_col']];
>
> You could add:
>
> Horde::logMessage('Current password returned from DB as: ' .
> $current_password, __FILE__, __LINE__, PEAR_LOG_DEBUG);
>
>
> Then check the logs for what it is doing (tail -f anyone???). Of
> course,
> make sure you have configured Horde's logging properly...
Well, of course, this was beautiful! :)
This is what appeared in the logs:
Oct 22 22:29:49 HORDE [debug] [passwd] SQL Query by Passwd_Driver_sql::_lookup(): SELECT Password FROM MailAccounts WHERE EmailAdd = ? [on line 110 of "/usr/share/horde3/passwd/lib/Driver/sql.php"]
Oct 22 22:29:49 HORDE [debug] [passwd] Current password returned from DB as: [on line 121 of "/usr/share/horde3/passwd/lib/Driver/sql.php"]
In my limited capacity, I'd have to say that the issue is the table (that is specified in the backend) isn't being selected... but of course it is - you can see that in the mysql log output... but then a friend pointed out that the ? is actually in the code!
102 if (!empty($this->_params['query_lookup'])) {
103 list($sql, $values) = $this->_parseQuery($this->_params['query_lookup'], $user, $old_password);
104 } else {
105 /* Build the SQL query. */
106 $sql = 'SELECT ' . $this->_params['pass_col'] . ' FROM ' . $this->_params['table'] .
107 ' WHERE ' . $this->_params['user_col'] . ' = ?';
108 $values = array($user);
Does this look right? I tried to change it to %u but that didn't work :)
What's the next step?
Thanks.
SPB
More information about the sork
mailing list