diff options
author | alecpl <alec@alec.pl> | 2009-02-05 17:43:54 +0000 |
---|---|---|
committer | alecpl <alec@alec.pl> | 2009-02-05 17:43:54 +0000 |
commit | 487edf8c629e7dfd56f2588fbdd7fecace230104 (patch) | |
tree | 1a4f3bbf95bbc7b631479cc331026a84b9314400 /program/lib | |
parent | c1ec10b73dde9e2d1cc2ddd53a0f9d9fc39799bf (diff) |
- Support NGINX as IMAP backend: better BAD response handling (#1485720)
Diffstat (limited to 'program/lib')
-rw-r--r-- | program/lib/imap.inc | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/program/lib/imap.inc b/program/lib/imap.inc index 7fd4aee26..302cfc007 100644 --- a/program/lib/imap.inc +++ b/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 @@ function iil_ParseResult($string) { 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 @@ function iil_StartsWith($string, $match, $bye=false) { 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; |