[imp] Apache Error reading S/MIME message

Ann Carrier acarrier1969 at gmail.com
Fri Jul 24 20:37:27 UTC 2009


Horde: 3.3.4
Imp: H3 (4.3.4)
Turba: H3 (2.3.1)
Fedora 10
Apache 2
PHP Version 5.2.9 - memory_limit = 128M (I've tried increasing this, to no avail)


I've spent hours trying to figure this out. I am getting the following errors
when reading SOME s/mime encrypted e-mails. I am able to read other SMIME
encrypted messages without a problem. All other smime/encryption functions work
properly.
I click on the message, it hangs for a few, then I get a white screen where the
message should be.

The Apache error log says:

PHP Fatal error:  Allowed memory size of 134217728 bytes exhausted (tried to
allocate 15430 bytes) in /usr/share/horde/lib/Horde/Util.php on line 56 (see
below for this code)

The httpd/error_log reveals the following:

Apache Error Log:
Error reading S/MIME message
13002:error:0D0680A8:asn1 encoding routines:ASN1_CHECK_TLEN:wrong
tag:tasn_dec.c:1294:
13002:error:0D07803A:asn1 encoding routines:ASN1_ITEM_EX_D2I:nested asn1
error:tasn_dec.c:380:Type=PKCS7
13002:error:21078082:PKCS7 routines:B64_READ_PKCS7:decode error:pk7_mime.c:140:
13002:error:2107A08B:PKCS7 routines:SMIME_read_PKCS7:pkcs7 parse
error:pk7_mime.c:373:

The Apache error log error, on line 56 in Util.php, deals with this function
(error line is marked with asterisks).

    function &cloneObject(&$obj)
    {
        if (!is_object($obj)) {
            $bt = debug_backtrace();
            if (isset($bt[1])) {
                $caller = $bt[1]['function'];
                if (isset($bt[1]['class'])) {
                    $caller = $bt[1]['class'].$bt[1]['type'].$caller;
                }
            } else {
                $caller = 'main';
            }
            $caller .= ' on line ' . $bt[0]['line'] . ' of ' . $bt[0]['file'];
            Horde::logMessage('Util::cloneObject called on variable of type ' .
gettype($obj) . ' by ' . $caller, __FILE__, __LINE__, PEAR_LOG_DEBUG);

            $ret = $obj;
            return $ret;
        }

******$ret = unserialize(serialize($obj));************
        return $ret;
    }
 
Can anyone help point me in the right direction?
Ann




More information about the imp mailing list