alecpl
2009-02-05 487edf8c629e7dfd56f2588fbdd7fecace230104
- Support NGINX as IMAP backend: better BAD response handling (#1485720)


2 files modified
12 ■■■■■ changed files
CHANGELOG 4 ●●●● patch | view | raw | blame | history
program/lib/imap.inc 8 ●●●● patch | view | raw | blame | history
CHANGELOG
@@ -1,6 +1,10 @@
CHANGELOG RoundCube Webmail
---------------------------
2009/02/05 (alec)
----------
- Support NGINX as IMAP backend: better BAD response handling (#1485720)
2009/02/04 (alec)
----------
- performance fix: don't fetch attachment parts headers twice to parse filename
program/lib/imap.inc
@@ -68,7 +68,7 @@
        - iil_C_HandlePartBody(): added 6th argument and fixed endless loop
        - added iil_PutLineC() 
        - fixed iil_C_Sort() to support very long and/or divided responses
        - added BYE response simple support for endless loop prevention
        - added BYE/BAD response simple support for endless loop prevention
        - added 3rd argument in iil_StartsWith* functions
        - fix iil_C_FetchPartHeader() in some cases by use of iil_C_HandlePartBody()
        - allow iil_C_HandlePartBody() to fetch whole message
@@ -307,8 +307,8 @@
    return -4;
}
// check if $string starts with $match
function iil_StartsWith($string, $match, $bye=false) {
// check if $string starts with $match (or * BYE/BAD)
function iil_StartsWith($string, $match, $error=false) {
    $len = strlen($match);
    if ($len == 0) {
        return false;
@@ -316,7 +316,7 @@
    if (strncmp($string, $match, $len) == 0) {
        return true;
    }
    if ($bye && strncmp($string, '* BYE ', 6) == 0) {
    if ($error && preg_match('/^\* (BYE|BAD) /', $string)) {
        return true;
    }
    return false;