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 (profile)
Status: Closed Package: IMAP related
PHP Version: 4.0 OS: Linux RH6.0
Private report: No CVE-ID: None
Welcome back! If you're the original bug submitter, here's where you can edit the bug or add additional notes.
If this is not your bug, you can add a comment by following this link.
If this is your bug, but you forgot your password, you can retrieve your password here.
Password:
Status:
Package:
Bug Type:
Summary:
From: tsukada at fminn dot nagano dot nagano dot jp
New email:
PHP Version: OS:

 

 [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-2021 The PHP Group
All rights reserved.
Last updated: Mon May 17 01:01:23 2021 UTC