Author Topic: 0.9.5 enters endless Forbidden loop with PHP 5.6 RC2  (Read 5157 times)

Offline smares

  • Newbie
  • *
  • Posts: 8
0.9.5 enters endless Forbidden loop with PHP 5.6 RC2
« on: July 17, 2014, 05:33:52 AM »
Using Roundcube on Debian Jessie, I encountered a problem when upgrading from PHP 5.6 RC1 to RC2 today (simply did an apt-get upgrade): After logging in, Roundcube enters an endless loop and displays "Server error! ( Forbidden)" at the bottom of the page for a moment before the page reloads.

This is the IMAP debug:

Quote
[17-Jul-2014 10:34:54 +0200]: [944F] S: * OK [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE IDLE STARTTLS AUTH=PLAIN AUTH=LOGIN] You are offered a warm hug of welcome
[17-Jul-2014 10:34:54 +0200]: [944F] C: A0001 ID ("name" "Roundcube" "version" "0.9.5" "php" "5.6.0RC2" "os" "Linux" "command" "/")
[17-Jul-2014 10:34:54 +0200]: [944F] S: * ID ("name" "Dovecot")
[17-Jul-2014 10:34:54 +0200]: [944F] S: A0001 OK ID completed.
[17-Jul-2014 10:34:54 +0200]: [944F] C: A0002 AUTHENTICATE PLAIN blah
[17-Jul-2014 10:34:54 +0200]: [944F] S: A0002 OK [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE IDLE SORT SORT=DISPLAY THREAD=REFERENCES THREAD=REFS THREAD=ORDEREDSUBJECT MULTIAPPEND URL-PARTIAL CATENATE UNSELECT CHILDREN NAMESPACE UIDPLUS LIST-EXTENDED I18NLEVEL=1 CONDSTORE QRESYNC ESEARCH ESORT SEARCHRES WITHIN CONTEXT=SEARCH LIST-STATUS SPECIAL-USE BINARY MOVE COMPRESS=DEFLATE] Logged in
[17-Jul-2014 10:34:54 +0200]: [944F] C: A0003 LOGOUT
[17-Jul-2014 10:34:54 +0200]: [944F] S: * BYE Logging out
[17-Jul-2014 10:34:54 +0200]: [944F] S: A0003 OK Logout completed.
[17-Jul-2014 10:34:54 +0200]: [F227] S: * OK [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE IDLE STARTTLS AUTH=PLAIN AUTH=LOGIN] You are offered a warm hug of welcome
[17-Jul-2014 10:34:54 +0200]: [F227] C: A0001 ID ("name" "Roundcube" "version" "0.9.5" "php" "5.6.0RC2" "os" "Linux" "command" "/")
[17-Jul-2014 10:34:54 +0200]: [F227] S: * ID ("name" "Dovecot")
[17-Jul-2014 10:34:54 +0200]: [F227] S: A0001 OK ID completed.
[17-Jul-2014 10:34:54 +0200]: [F227] C: A0002 AUTHENTICATE PLAIN blah
[17-Jul-2014 10:34:54 +0200]: [F227] S: A0002 OK [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE IDLE SORT SORT=DISPLAY THREAD=REFERENCES THREAD=REFS THREAD=ORDEREDSUBJECT MULTIAPPEND URL-PARTIAL CATENATE UNSELECT CHILDREN NAMESPACE UIDPLUS LIST-EXTENDED I18NLEVEL=1 CONDSTORE QRESYNC ESEARCH ESORT SEARCHRES WITHIN CONTEXT=SEARCH LIST-STATUS SPECIAL-USE BINARY MOVE COMPRESS=DEFLATE] Logged in
[17-Jul-2014 10:34:54 +0200]: [F227] C: A0003 LOGOUT
[17-Jul-2014 10:34:54 +0200]: [F227] S: * BYE Logging out
[17-Jul-2014 10:34:54 +0200]: [F227] S: A0003 OK Logout completed.
[17-Jul-2014 10:34:54 +0200]: [8E92] S: * OK [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE IDLE STARTTLS AUTH=PLAIN AUTH=LOGIN] You are offered a warm hug of welcome
[17-Jul-2014 10:34:54 +0200]: [8E92] C: A0001 ID ("name" "Roundcube" "version" "0.9.5" "php" "5.6.0RC2" "os" "Linux" "command" "/")
[17-Jul-2014 10:34:54 +0200]: [8E92] S: * ID ("name" "Dovecot")
[17-Jul-2014 10:34:54 +0200]: [8E92] S: A0001 OK ID completed.
[17-Jul-2014 10:34:54 +0200]: [8E92] C: A0002 AUTHENTICATE PLAIN blah
[17-Jul-2014 10:34:54 +0200]: [8E92] S: A0002 OK [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE IDLE SORT SORT=DISPLAY THREAD=REFERENCES THREAD=REFS THREAD=ORDEREDSUBJECT MULTIAPPEND URL-PARTIAL CATENATE UNSELECT CHILDREN NAMESPACE UIDPLUS LIST-EXTENDED I18NLEVEL=1 CONDSTORE QRESYNC ESEARCH ESORT SEARCHRES WITHIN CONTEXT=SEARCH LIST-STATUS SPECIAL-USE BINARY MOVE COMPRESS=DEFLATE] Logged in
[17-Jul-2014 10:34:54 +0200]: [8E92] C: A0003 LOGOUT
[17-Jul-2014 10:34:54 +0200]: [8E92] S: * BYE Logging out
[17-Jul-2014 10:34:54 +0200]: [8E92] S: A0003 OK Logout completed.

Also enabled SQL debugging shortly afterwards:

Quote
[17-Jul-2014 10:37:12 +0200]: [1] SET NAMES 'utf8';
[17-Jul-2014 10:37:12 +0200]: [2] SELECT * FROM users WHERE user_id = '7';
[17-Jul-2014 10:37:12 +0200]: [1] SET NAMES 'utf8';
[17-Jul-2014 10:37:12 +0200]: [2] SELECT * FROM users WHERE user_id = '7';
[17-Jul-2014 10:37:12 +0200]: [1] SET NAMES 'utf8';
[17-Jul-2014 10:37:12 +0200]: [2] SELECT * FROM users WHERE user_id = '7';
[17-Jul-2014 10:37:12 +0200]: [1] SET NAMES 'utf8';
[17-Jul-2014 10:37:12 +0200]: [2] SELECT * FROM users WHERE user_id = '7';
[17-Jul-2014 10:37:13 +0200]: [1] SET NAMES 'utf8';
[17-Jul-2014 10:37:13 +0200]: [2] SELECT * FROM users WHERE user_id = '7';
[17-Jul-2014 10:37:13 +0200]: [1] SET NAMES 'utf8';
[17-Jul-2014 10:37:13 +0200]: [2] SELECT * FROM users WHERE user_id = '7';

The Apache, PHP-FPM or roundcube error logs show absolutely nothing. :(

Any idea what might be going on? For the time being, I reverted to 5.6.0~rc1+dfsg-1.

Offline hanti

  • Newbie
  • *
  • Posts: 2
Re: 0.9.5 enters endless Forbidden loop with PHP 5.6 RC2
« Reply #1 on: July 18, 2014, 10:18:15 PM »
i have spend like 4h already, enabled dovecot all debug options etc.. that  seems to be the problem:
Code: [Select]
x.x.x.x - - [20/Jul/2014:00:34:36 +0200] "GET /roundcube/?_task=mail&_action=getunread&_remote=1&_unlock=0&_=1405809276799 HTTP/1.1" 403 35 "https://www.x.xx/roundcube/?_task=mail" "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2096.0 Safari/537.36"
x.x.x.x - - [20/Jul/2014:00:34:36 +0200] "GET /roundcube/?_task=mail&_refresh=1&_mbox=INBOX&_action=list&_remote=1&_unlock=loading1405809276794&_=1405809276797 HTTP/1.1" 403 35 "https://www.x.xx/roundcube/?_task=mail" "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2096.0 Safari/537.36"

debian jessie 64bit + ispconfig postfix,dovecot + ispconfig3 plugins for roundcube ( i have disabled that plugins too but it didnt help)
Pls someone help
« Last Edit: July 19, 2014, 06:51:04 PM by hanti »

Offline hch42

  • Newbie
  • *
  • Posts: 1
Re: 0.9.5 enters endless Forbidden loop with PHP 5.6 RC2
« Reply #2 on: July 20, 2014, 09:05:06 AM »
Hey,

just had the same problem. There is a bug in debian php package (https://www.mail-archive.com/debian-bugs-dist@lists.debian.org/msg1238274.html).
To solve the issue temporary you can ether downgrade php version or temporary modify roundcube in file program/lib/Roundcube/rcube_utils.php function function request_header($name) deactivate getallheaders and force use of $_SERVER by adding "0 &&":

...
// temporary deactivated php5.6 rc2 broken getallheaders
        if (0 && function_exists('getallheaders')) {
...


Best Regards,
Hans-Christian

Offline smares

  • Newbie
  • *
  • Posts: 8
Re: 0.9.5 enters endless Forbidden loop with PHP 5.6 RC2
« Reply #3 on: July 21, 2014, 06:45:56 AM »
Thanks, that was it!

Offline hanti

  • Newbie
  • *
  • Posts: 2
Re: 0.9.5 enters endless Forbidden loop with PHP 5.6 RC2
« Reply #4 on: July 21, 2014, 11:20:52 AM »
nice ;)