internero / roundcube-qmailadmin

roundcube plugin for change password and set vacation message in qmailadmin cgi-module for qmail administration.
0 stars 0 forks source link

Unable to login to qmailadmin #1

Open cinghiuz opened 6 months ago

cinghiuz commented 6 months ago

I configured your plugin, but I can't get it to work because when I click on the Save button I get this error message: SERVER ERROR! Error No. [1001] or sometimes error 1003

In /var/log/roundubemail/errors.log I see: [21-May-2024 01:10:27 -0600]: PHP Error: Unable to login to qmailadmin (POST /?_task=settings&_action=save-prefs)

Of course I checked qmailadmin access with the user credentials and from the user's IP and it works.

Any idea to fix this problem?

Thank you!

Cesare

chaos-prevails commented 6 months ago

Hello Cesare,

thank you for your message.

I migrated away from qmail and roundcube some time ago, so I don ´t have any setup to test this easily. However, the code is old, so maybe the problem is caused by a newer PHP version (or roundcube version)

maybe you get more detailed logs by increasing the log level in the roundcube config? That way you might be able to identify the issue.

Please make sure that the qmailadmin webinterface is available on 443 via HTTPS from the roundcube server

I used the following url: $rcmail_config['qmailadmin_path'] = 'https://imap.domain.tld/qmailadmin/index.cgi'; (use any subdomain which you can use to access qmailadmin webinterface directly from the roundcube server)

please let me know if you find the error, I'm happy to update the code.

cinghiuz commented 6 months ago

Hi, in /usr/share/roundcubemail/plugins/qmailadmin/config.inc.php I have this setting: $rcmail_config['qmailadmin_path'] = 'https://mail.mydomain.com/qmailadmin/'; If I go to this address I see the qmailadmin page

in /etc/roundcubemail/config.inc.php I added these lines:

// system error reporting, sum of: 1 = log; 4 = show $config['debug_level'] = 4; // Log SQL queries $config['sql_debug'] = true; // Log IMAP conversation $config['imap_debug'] = true; // Log LDAP conversation $config['ldap_debug'] = true; // Log SMTP conversation $config['smtp_debug'] = true;

Of course I tried to change debug_level option with 1, 2, 3 or 4 but in /var/log/roundcubemail/errors.log I continue to see this: [01-Jun-2024 02:35:40 -0600]: PHP Error: Unable to login to qmailadmin (POST /?_task=settings&_action=save-prefs)

In /var/log/roundcubemail/sql.log I see this: [01-Jun-2024 02:39:22 -0600]: [1] SELECT vars, ip, changed, now() AS ts, CASE WHEN changed < now() - INTERVAL 600 SECOND THEN 1 ELSE 0 END AS expired FROM session WHERE sess_id = 'jmsm53kv54csm3ee5drr96jrgg'; [01-Jun-2024 02:39:22 -0600]: [2] SELECT FROM users WHERE user_id = '1'; [01-Jun-2024 02:39:22 -0600]: [3] SELECT FROM carddav_addressbooks WHERE ((user_id = '1'));

But nothing more...

chaos-prevails commented 6 months ago

Hello,

sorry again, I can only look at the old config I used some time back. maybe the index.cgi in the qmailadmin_path is important after all?

I'm not the dev of this plugin, I was just somebody using and making changes to accommodate newer php versions.

I believe if the qmailadmin php code would need updates, you should see warnings or errors in the roundcube logs, so the issue might not be php but your qmail version or accessing the qmailadmin webinterface from the server where roundcube runs (is it the same?).

do you see the request in the logfiles of the qmail webinterface webserver? Maybe it also helps to add debugging on that side to see where the login is failing.