From: jolyon at mways dot co dot uk
Operating system: FreeBSD 4.7
PHP version: 4.3.6
PHP Bug Type: IMAP related
Bug description: imap_fetchstructure returns incomplete data when c-client 2004
installed
Description:
------------
Our ISP upgraded from c-client 2002 to c-client 2004. Since then PHP has
operated mostly correctly, but a call to imap_fetchstructure() now returns
incomplete data. Data on message attachments is lost now.
Reproduce code:
---------------
fetch structure of message with imap_fetchstructure()
var_dump structure
Expected result:
----------------
The same script running against the same message from the same mailserver
as below, but running from a working system:
object(stdClass)(12) {
["type"]=>
int(1)
["encoding"]=>
int(0)
["ifsubtype"]=>
int(1)
["subtype"]=>
string(5) "MIXED"
["ifdescription"]=>
int(0)
["ifid"]=>
int(0)
["bytes"]=>
int(8099)
["ifdisposition"]=>
int(0)
["ifdparameters"]=>
int(0)
["ifparameters"]=>
int(1)
["parameters"]=>
array(1) {
[0]=>
object(stdClass)(2) {
["attribute"]=>
string(8) "BOUNDARY"
["value"]=>
string(46) "-MOQ10879031851708b4bc5063293a737936ca57809981"
}
}
["parts"]=>
array(2) {
[0]=>
object(stdClass)(12) {
["type"]=>
int(0)
["encoding"]=>
int(1)
["ifsubtype"]=>
int(1)
["subtype"]=>
string(5) "PLAIN"
["ifdescription"]=>
int(0)
["ifid"]=>
int(0)
["lines"]=>
int(6)
["bytes"]=>
int(140)
["ifdisposition"]=>
int(0)
["ifdparameters"]=>
int(0)
["ifparameters"]=>
int(1)
["parameters"]=>
array(1) {
[0]=>
object(stdClass)(2) {
["attribute"]=>
string(7) "CHARSET"
["value"]=>
string(10) "ISO-8859-1"
}
}
}
[1]=>
object(stdClass)(13) {
["type"]=>
int(5)
["encoding"]=>
int(3)
["ifsubtype"]=>
int(1)
["subtype"]=>
string(5) "PJPEG"
["ifdescription"]=>
int(0)
["ifid"]=>
int(0)
["bytes"]=>
int(7550)
["ifdisposition"]=>
int(1)
["disposition"]=>
string(10) "ATTACHMENT"
["ifdparameters"]=>
int(1)
["dparameters"]=>
array(1) {
[0]=>
object(stdClass)(2) {
["attribute"]=>
string(8) "FILENAME"
["value"]=>
string(8) "curl.jpg"
}
}
["ifparameters"]=>
int(1)
["parameters"]=>
array(1) {
[0]=>
object(stdClass)(2) {
["attribute"]=>
string(4) "NAME"
["value"]=>
string(8) "curl.jpg"
}
}
}
}
}
Actual result:
--------------
This message contains an attachment, although you wouldn't think so from
this var_dump
object(stdClass)(12) {
["type"]=>
int(1)
["encoding"]=>
int(0)
["ifsubtype"]=>
int(1)
["subtype"]=>
string(5) "MIXED"
["ifdescription"]=>
int(0)
["ifid"]=>
int(0)
["bytes"]=>
int(8099)
["ifdisposition"]=>
int(0)
["ifdparameters"]=>
int(0)
["ifparameters"]=>
int(1)
["parameters"]=>
array(1) {
[0]=>
object(stdClass)(2) {
["attribute"]=>
string(8) "BOUNDARY"
["value"]=>
string(46) "-MOQ10879031851708b4bc5063293a737936ca57809981"
}
}
["parts"]=>
array(1) {
[0]=>
object(stdClass)(12) {
["type"]=>
int(0)
["encoding"]=>
int(1)
["ifsubtype"]=>
int(1)
["subtype"]=>
string(5) "PLAIN"
["ifdescription"]=>
int(0)
["ifid"]=>
int(0)
["lines"]=>
int(6)
["bytes"]=>
int(140)
["ifdisposition"]=>
int(0)
["ifdparameters"]=>
int(0)
["ifparameters"]=>
int(1)
["parameters"]=>
array(1) {
[0]=>
object(stdClass)(2) {
["attribute"]=>
string(7) "CHARSET"
["value"]=>
string(10) "ISO-8859-1"
}
}
}
}
}
--
Edit bug report at http://bugs.php.net/?id=28904&edit=1
--
Try a CVS snapshot (php4): http://bugs.php.net/fix.php?id=28904&r=trysnapshot4
Try a CVS snapshot (php5): http://bugs.php.net/fix.php?id=28904&r=trysnapshot5
Fixed in CVS: http://bugs.php.net/fix.php?id=28904&r=fixedcvs
Fixed in release: http://bugs.php.net/fix.php?id=28904&r=alreadyfixed
Need backtrace: http://bugs.php.net/fix.php?id=28904&r=needtrace
Need Reproduce Script: http://bugs.php.net/fix.php?id=28904&r=needscript
Try newer version: http://bugs.php.net/fix.php?id=28904&r=oldversion
Not developer issue: http://bugs.php.net/fix.php?id=28904&r=support
Expected behavior: http://bugs.php.net/fix.php?id=28904&r=notwrong
Not enough info: http://bugs.php.net/fix.php?id=28904&r=notenoughinfo
Submitted twice: http://bugs.php.net/fix.php?id=28904&r=submittedtwice
register_globals: http://bugs.php.net/fix.php?id=28904&r=globals
PHP 3 support discontinued: http://bugs.php.net/fix.php?id=28904&r=php3
Daylight Savings: http://bugs.php.net/fix.php?id=28904&r=dst
IIS Stability: http://bugs.php.net/fix.php?id=28904&r=isapi
Install GNU Sed: http://bugs.php.net/fix.php?id=28904&r=gnused
Floating point limitations: http://bugs.php.net/fix.php?id=28904&r=float