<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Recent changes to 194: [attachment_tnef] inefficient processing of rtf parts</title><link>https://sourceforge.net/p/squirrelmail/plugins/194/</link><description>Recent changes to 194: [attachment_tnef] inefficient processing of rtf parts</description><atom:link href="https://sourceforge.net/p/squirrelmail/plugins/194/feed.rss" rel="self"/><language>en</language><lastBuildDate>Fri, 22 Feb 2008 18:04:24 -0000</lastBuildDate><atom:link href="https://sourceforge.net/p/squirrelmail/plugins/194/feed.rss" rel="self" type="application/rss+xml"/><item><title>[attachment_tnef] inefficient processing of rtf parts</title><link>https://sourceforge.net/p/squirrelmail/plugins/194/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;When attachment_tnef 0.7 plugin processes compressed rtf parts in TnefFileRTF::uncompress_rtf, it stores processed data in array. One array key for one byte. It is highly inefficient way of generating data that eventually is converted to string with implode(). If winmail.dat has 5.7 MB rtf part, peak memory usage is over 300 MB even when PHP caching is used.&lt;/p&gt;
&lt;p&gt;Peak memory usage before "$result = $attachment-&amp;gt;decodeTnef($tnef);" call is only 20 MB and it already includes 17 MB taken by tnef message body loaded into memory.&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Tomas Kuliavas</dc:creator><pubDate>Fri, 22 Feb 2008 18:04:24 -0000</pubDate><guid>https://sourceforge.netd7889590a5fe0617077ff97ca8d89377365ac95f</guid></item></channel></rss>