PHP Bugs  
php.net | support | documentation | report a bug | advanced search | search howto | statistics | login

go to bug id or search bugs for  

Bug #2181 imap_fetchstructure() don't set body->type when message is TYPETEXT
Submitted:28 Aug 1999 11:42am UTC Modified: 14 May 2001 2:33pm UTC
From:tsukada at fminn dot nagano dot nagano dot jp Assigned to:vlad
Status:Closed Category:IMAP related
Version:4.0 OS:Linux RH6.0
View/Vote Developer Edit Submission

[28 Aug 1999 11:42am UTC] tsukada at fminn dot nagano dot nagano dot jp
please check below patch

--- imap.c.orig Sat Aug 28 23:43:06 1999
+++ imap.c      Sun Aug 29 00:08:24 1999
@@ -2087,8 +2087,8 @@
        PARAMETER *par, *dpar;
        PART *part;
 
-       if(body->type) add_property_long( arg, "type", body->type );
-       if(body->encoding) add_property_long( arg, "encoding",
body->encoding );
+       if(body->type < TYPEMAX) add_property_long( arg, "type",
body->type );
+       if(body->encoding < ENCMAX) add_property_long( arg, "encoding",
body->encoding );
 
        if ( body->subtype ){
                add_property_long( arg, "ifsubtype", 1 );
@@ -2711,8 +2711,8 @@
        }
 
        body=mail_body(imap_le_struct->imap_stream, msg->value.lval,
section->value.str.val);
-       if(body->type) add_property_long( return_value, "type",
body->type );
-       if(body->encoding) add_property_long( return_value, "encoding",
body->encoding );
+       if(body->type < TYPEMAX) add_property_long( return_value,
"type", body->type );
+       if(body->encoding < ENCMAX) add_property_long( return_value,
"encoding", body->encoding );
 
        if ( body->subtype ){
          add_property_long( return_value, "ifsubtype", 1 );
[15 Nov 1999 10:11am UTC] joey at cvs dot php dot net
Marc-
Hope you don't mind if I assign this?
[10 Feb 2001 1:41pm UTC] jimw@php.net
refiled against 4.0 imap. no idea if it is still an issue.
[7 May 2001 2:48pm UTC] vlad@php.net
This shouldn't be a problem for imap_fetchstructure() now, because that
code is not there. However, this code is present in imap_bodystruct(),
which does not seem to be documented (?). I'll try to see if I can
create a message that will trigger that problem, and, if I can trigger
it, I'll fix it.

If anyone else gets to it before me, I have a suggestion about the patch
submited by tsukada@fminn.nagano.nagano.jp - the "less-than" sign in
"body->type < TYPEMAX" and "body->encoding < ENCMAX" whould really be
"less or equal" (that's what I understod from reading
imap/c-client/imap4r1.c)
[7 May 2001 2:51pm UTC] derick@php.net
I'll assign this one to you then.
[14 May 2001 2:33pm UTC] vlad@php.net
Actually, this was still a problem, I just missed it. 7-bit encodings
and plain-text body types both should be represented by setting
body->type and body->encoding to zero, respectively. They were not set
at all. Now they are. The impact should be minimal because zero is the
same as an unset variable, as far as most people are concerned in this
case.

RSS feed | show source 

PHP Copyright © 2001-2009 The PHP Group
All rights reserved.
Last updated: Sat Nov 21 10:30:49 2009 UTC