I updated my local development branch to the current trunk release, and I noticed an odd change with one of my plugins. The plugin was developed to keep the prying eyes of the public away from the at times unstable development branch of roundcube that I am using. The following is the paraphrased version of the plugin:
class foobar extends rcube_plugin { function init() { $this->add_hook('list_mailboxes', array($this, 'check_access')); }
function check_access($args) { $rcmail = rcmail::get_instance(); list ($uid, $host) = split("@", $rcmail->user->get_username()); if ( !in_array($uid, $this->allow_list)) { $rcmail->output->command('display_message', $this->gettext('unauth'), 'error'); $rcmail->logout_actions(); $rcmail->kill_session(); } return $args; }
}
What changed is that the forced logout action no longer occurs. Any insight into why?
Small update. Seems that this maybe an issue with MDB2. I see the following error showing up in the error log:
DB Error: MDB2 Error: null value violates not-null constraint Query: _doQuery: [Error message: Could not execute statement] [Last executed query: EXECUTE mdb2_statement_mysql_1262ea08958a96c8945ed780e9000eb6efdbfef502 USING @0, @1, @2, @3, @4, @5, @6, @7, @8, @9, @10] [Native code: 1048] [Native message: Column 'user_id' cannot be null] in /var/www/html/program/include/rcube_mdb2.php on line 539 (GET /?_task=mail)
On Tue, 05 May 2009 09:51:48 -0230, Robert King robk@mun.ca wrote:
I updated my local development branch to the current trunk release, and I noticed an odd change with one of my plugins. The plugin was developed
to
keep the prying eyes of the public away from the at times unstable development branch of roundcube that I am using. The following is the paraphrased version of the plugin:
class foobar extends rcube_plugin { function init() { $this->add_hook('list_mailboxes', array($this, 'check_access')); }
function check_access($args) { $rcmail = rcmail::get_instance(); list ($uid, $host) = split("@", $rcmail->user->get_username()); if ( !in_array($uid, $this->allow_list)) { $rcmail->output->command('display_message', $this->gettext('unauth'), 'error'); $rcmail->logout_actions(); $rcmail->kill_session(); } return $args; }
}
What changed is that the forced logout action no longer occurs. Any insight into why?
On Wed, 06 May 2009 09:17:01 -0230, Robert King robk@mun.ca wrote:
Small update. Seems that this maybe an issue with MDB2. I see the following error showing up in the error log:
DB Error: MDB2 Error: null value violates not-null constraint Query: _doQuery: [Error message: Could not execute statement] [Last executed query: EXECUTE mdb2_statement_mysql_1262ea08958a96c8945ed780e9000eb6efdbfef502 USING @0, @1, @2, @3, @4, @5, @6, @7, @8, @9, @10] [Native code: 1048] [Native message: Column 'user_id' cannot be null] in /var/www/html/program/include/rcube_mdb2.php on line 539 (GET
/?_task=mail)
Okay tracked down the issue, thought I'd update just so no one wastes any time on it.
Turns out that the ordering of my custom plugins was to blame. My forced logout plugin was removing the $rcube->user before our custom ldap identity plugin was calling it and forced the MDB2 error.