php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #2181 imap_fetchstructure() don't set body->type when message is TYPETEXT
Submitted: 1999-08-28 11:42 UTC Modified: 2001-05-14 14:33 UTC
From: tsukada at fminn dot nagano dot nagano dot jp Assigned: vlad
Status: Closed Package: IMAP related
PHP Version: 4.0 OS: Linux RH6.0
Private report: No CVE-ID:
 [1999-08-28 11:42 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 );

Patches

Add a Patch

Pull Requests

Add a Pull Request

History

AllCommentsChangesGit/SVN commitsRelated reports
 [1999-11-15 10:11 UTC] joey at cvs dot php dot net
Marc-
Hope you don't mind if I assign this?
 [2001-02-10 13:41 UTC] jimw@php.net
refiled against 4.0 imap. no idea if it is still an issue.
 [2001-05-07 14:48 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)

 [2001-05-07 14:51 UTC] derick@php.net
I'll assign this one to you then.
 [2001-05-14 14:33 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.

 
PHP Copyright © 2001-2014 The PHP Group
All rights reserved.
Last updated: Sat Apr 19 09:02:28 2014 UTC