The previous change made it so that we would break out of the loop, and not further process $read, if $read starts with '+'. This is presumably because you want to break out of the loop so somebody with a password containing a UTF8 character can login. However, when the code is processing a search request, $read also begins with '+', but you don't want to break out of the loop. In the case of a UTF8 character in a password, $read also contains the text 'ready for additional input'. This code change makes it so you only break out of the loop if $read contains 'ready for additional input', as it will when processing a password with a UTF8 character.

The package is available here:
http://people.debian.org/~micah


diff -c imap_general.php_backup imap_general.php
*** imap_general.php_backup     2010-11-07 18:49:04.000000000 -0800
--- imap_general.php    2010-11-07 21:12:00.000000000 -0800
***************
*** 215,222 ****
--- 215,224 ----
          {
            case '+':
                {
+                   if (strpos($read, 'ready for additional input')) {
                        $response = 'OK';
                        break 2;
+                   }
                }
            default:
              $read = sqimap_fgets($imap_stream);




--
To UNSUBSCRIBE, email to debian-bugs-rc-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Reply via email to