<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>The Geekery &#187; SquirrelMail</title>
	<atom:link href="http://jon.netdork.net/category/open-source/squirrelmail/feed" rel="self" type="application/rss+xml" />
	<link>http://jon.netdork.net</link>
	<description>The Usual Stuff...</description>
	<lastBuildDate>Sun, 18 Jul 2010 16:53:23 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>SquirrelMail updates</title>
		<link>http://jon.netdork.net/2009/05/23/squirrelmail-updates?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=squirrelmail-updates</link>
		<comments>http://jon.netdork.net/2009/05/23/squirrelmail-updates#comments</comments>
		<pubDate>Sat, 23 May 2009 20:37:13 +0000</pubDate>
		<dc:creator>Jonathan Angliss</dc:creator>
				<category><![CDATA[Open Source]]></category>
		<category><![CDATA[SquirrelMail]]></category>
		<category><![CDATA[Bounty]]></category>
		<category><![CDATA[Donate]]></category>

		<guid isPermaLink="false">http://jon.netdork.net/2009/05/23/squirrelmail-updates</guid>
		<description><![CDATA[I’ve been on the SquirrelMail project for quite some time now, and an administrator on the project for several years.&#160; One of the things that has always been an issue has donations.&#160; As there are multiple people that contribute to the project at varying levels at different times, we’ve never figured out a good way [...]]]></description>
			<content:encoded><![CDATA[<!-- google_ad_section_start --><div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fjon.netdork.net%2F2009%2F05%2F23%2Fsquirrelmail-updates">
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fjon.netdork.net%2F2009%2F05%2F23%2Fsquirrelmail-updates&amp;source=j_angliss&amp;style=normal&amp;service=bit.ly&amp;hashtags=Bounty,Donate,SquirrelMail" height="61" width="50" />
			</a>
		</div><p></p><p>I’ve been on the SquirrelMail project for quite some time now, and an administrator on the project for several years.&#160; One of the things that has always been an issue has donations.&#160; As there are multiple people that contribute to the project at varying levels at different times, we’ve never figured out a good way to handle donations.&#160; Other projects, such as MySQL, setup a foundation, and generate enough donations that they’re capable of supporting full time working developers.&#160; Whilst it’d definitely be cool to do that, we’re not there project wise.&#160; So recently Paul sent out a rather interesting option, and it hit the lists.</p>  <p>He gave the users the ability to donate to individual people on the project, as well as sign up for bounties.&#160; The copy of the announcement can be found <a href="http://article.gmane.org/gmane.mail.squirrelmail.devel/9710" target="_blank">here</a>.&#160; The other option was bounties.&#160; This has been used on several open source projects before, and the idea is that people “sponsor” a project, bug, or target.&#160; There are already several <a href="http://squirrelmail.org/donations.php#smbounty" target="_blank">listed</a>, but we’re always looking for more ideas. So if you have some, submit an idea.</p><!-- google_ad_section_end -->]]></content:encoded>
			<wfw:commentRss>http://jon.netdork.net/2009/05/23/squirrelmail-updates/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	<!-- google ad injected by adsense-optimizer http://www.adsenseoptimizer.de -->
			<div  style="padding:7px; display: block; margin-left: auto; margin-right: auto; text-align: center;"><!-- Linkblock number: 1 --><script type="text/javascript"><!--
	 
google_ad_client = "pub-5380792458095798";
google_ad_width = 468;
google_ad_height = 15;
google_ad_format = "468x15_0ads_al"; google_ad_channel ="";
google_color_border = "CCCCCC";
google_color_bg = "F7F7F7";
google_color_link = "2970A6";
//--></script>
<script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script></div>	<item>
		<title>SquirrelMail 1.4.13 Released</title>
		<link>http://jon.netdork.net/2007/12/14/squirrelmail-1413-released?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=squirrelmail-1413-released</link>
		<comments>http://jon.netdork.net/2007/12/14/squirrelmail-1413-released#comments</comments>
		<pubDate>Fri, 14 Dec 2007 20:58:24 +0000</pubDate>
		<dc:creator>Jonathan Angliss</dc:creator>
				<category><![CDATA[General Ramblings]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[SquirrelMail]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Tech]]></category>

		<guid isPermaLink="false">http://jon.netdork.net/2007/12/14/squirrelmail-1413-released</guid>
		<description><![CDATA[Shortly after we released 1.4.12, somebody reported that the package didn&#8217;t match our checksum for it. This is not a good sign, so we set out to find out what might have happened. It turns out that one of the package managers had their account compromised, and the files released in 1.4.11, and 1.4.12, were [...]]]></description>
			<content:encoded><![CDATA[<!-- google_ad_section_start --><div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fjon.netdork.net%2F2007%2F12%2F14%2Fsquirrelmail-1413-released">
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fjon.netdork.net%2F2007%2F12%2F14%2Fsquirrelmail-1413-released&amp;source=j_angliss&amp;style=normal&amp;service=bit.ly&amp;hashtags=Open+Source,SquirrelMail,Tech" height="61" width="50" />
			</a>
		</div><p>Shortly after we released 1.4.12, somebody reported that the package didn&#8217;t match our checksum for it.  This is not a good sign, so we set out to find out what might have happened.  It turns out that one of the package managers had their account compromised, and the files released in 1.4.11, and 1.4.12, were modified after they were released.</p>

<p>The file change was quite tiny, 3 additional lines of code (and an additional one for a comment)&#8230;</p>

<pre>

<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">/** set the value of the base path */<br />
if (isset($_SERVER['HTTP_BASE_PATH'])) {<br />
&nbsp; &nbsp; define('SM_PATH',$_SERVER['HTTP_BASE_PATH']);<br />
}</div></div>

</pre>

<p>Initial views on the code change showed this shouldn&#8217;t be able to do anything, because <acronym title="HyperText Transfer Protocol">HTTP</acronym><em>BASE</em>PATH wasn&#8217;t a defined variable.  That&#8217;s where the problem is.  These variables are passed in from the <acronym title="HyperText Transfer Protocol">HTTP</acronym> server, which means that the remote user could push them via the http transaction, and get <acronym title="Pre-Hypertext Processing">PHP</acronym> to load them.  This is a <strong>bad thing</strong>, because it means that the next page loaded would really be loaded from the remote host.  This then allows the user to execute malicious <acronym title="Pre-Hypertext Processing">PHP</acronym> code, as the webserver user, on the victim&#8217;s host, without any interaction with the victim at all.</p>

<p>Because of this, instead of redeploying the packages (which we initially did), we decided to pull both 1.4.11, and 1.4.12 from the site, and deploy 1.4.13.</p><!-- google_ad_section_end -->]]></content:encoded>
			<wfw:commentRss>http://jon.netdork.net/2007/12/14/squirrelmail-1413-released/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SquirrelMail 1.4.12 Released</title>
		<link>http://jon.netdork.net/2007/12/05/squirrelmail-1412-released?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=squirrelmail-1412-released</link>
		<comments>http://jon.netdork.net/2007/12/05/squirrelmail-1412-released#comments</comments>
		<pubDate>Wed, 05 Dec 2007 06:10:55 +0000</pubDate>
		<dc:creator>Jonathan Angliss</dc:creator>
				<category><![CDATA[Open Source]]></category>
		<category><![CDATA[SquirrelMail]]></category>

		<guid isPermaLink="false">http://jon.netdork.net/2007/12/05/squirrelmail-1412-released</guid>
		<description><![CDATA[Phew&#8230; finally got 5 minutes to get 1.4.12 out the door. This release included a bug fix for attachment handling, which was nearly entirely broken with PHP 4, and just slightly broken in a minor area in PHP 5. Full details are in the ChangeLog, grab your copy. Technorati Tags: SquirrelMail, Open Source]]></description>
			<content:encoded><![CDATA[<!-- google_ad_section_start --><div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fjon.netdork.net%2F2007%2F12%2F05%2Fsquirrelmail-1412-released">
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fjon.netdork.net%2F2007%2F12%2F05%2Fsquirrelmail-1412-released&amp;source=j_angliss&amp;style=normal&amp;service=bit.ly" height="61" width="50" />
			</a>
		</div><p>Phew&#8230; finally got 5 minutes to get 1.4.12 out the door.  This release included a bug fix for attachment handling, which was nearly entirely broken with <acronym title="Pre-Hypertext Processing">PHP</acronym> 4, and just slightly broken in a minor area in <acronym title="Pre-Hypertext Processing">PHP</acronym> 5.  Full details are in the <a href="http://squirrelmail.svn.sourceforge.net/viewvc/*checkout*/squirrelmail/tags/rel-1_4_12/ChangeLog?revision=12799" title="SquirrelMail 1.4.12 ChangeLog">ChangeLog</a>, grab your <a href="http://www.squirrelmail.org/download.php" title="SquirrelMail.org Download">copy</a>.</p>

<p>Technorati Tags: <a href="http://technorati.com/tag/SquirrelMail" rel="tag">SquirrelMail</a>, <a href="http://technorati.com/tag/Open+Source" rel="tag">Open Source</a></p><!-- google_ad_section_end -->]]></content:encoded>
			<wfw:commentRss>http://jon.netdork.net/2007/12/05/squirrelmail-1412-released/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>ip_restrict 0.1</title>
		<link>http://jon.netdork.net/2006/06/21/ip_restrict-01?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=ip_restrict-01</link>
		<comments>http://jon.netdork.net/2006/06/21/ip_restrict-01#comments</comments>
		<pubDate>Thu, 22 Jun 2006 03:59:14 +0000</pubDate>
		<dc:creator>Jonathan Angliss</dc:creator>
				<category><![CDATA[Open Source]]></category>
		<category><![CDATA[SquirrelMail]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://jon.netdork.net/2006/06/21/ip_restrict-01/</guid>
		<description><![CDATA[Okay, odd&#8230; I&#8217;ve just realized I&#8217;ve been on the SquirrelMail project now since about 2002, and in the 4 years I&#8217;ve been on the project, I don&#8217;t believe I&#8217;ve written a single plugin. Most unusual, however today I remedied that with a request in #squirrelmail for a new version of ip_user. I quickly knocked together [...]]]></description>
			<content:encoded><![CDATA[<!-- google_ad_section_start --><div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fjon.netdork.net%2F2006%2F06%2F21%2Fip_restrict-01">
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fjon.netdork.net%2F2006%2F06%2F21%2Fip_restrict-01&amp;source=j_angliss&amp;style=normal&amp;service=bit.ly" height="61" width="50" />
			</a>
		</div><p>Okay, odd&#8230; I&#8217;ve just realized I&#8217;ve been on the SquirrelMail project now since about 2002, and in the 4 years I&#8217;ve been on the project, I don&#8217;t believe I&#8217;ve written a single plugin.  Most unusual, however today I remedied that with a request in <code>#squirrelmail</code> for a new version of ip_user.  I quickly knocked together <code>ip_restrict</code> which basically restricts users to certain <acronym title="Internet Protocol">IP</acronym> addresses, or networks, depending on your configurations.  You can download it <a href="http://jon.netdork.net/wp-content/uploads/2006/06/ip_restrict-0.1.tar.gz" title="ip_restrict 0.1">here</a>.</p><!-- google_ad_section_end -->]]></content:encoded>
			<wfw:commentRss>http://jon.netdork.net/2006/06/21/ip_restrict-01/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Productivity out of work&#8230; yay</title>
		<link>http://jon.netdork.net/2005/11/08/productivity-out-of-work-yay?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=productivity-out-of-work-yay</link>
		<comments>http://jon.netdork.net/2005/11/08/productivity-out-of-work-yay#comments</comments>
		<pubDate>Wed, 09 Nov 2005 04:30:27 +0000</pubDate>
		<dc:creator>Jonathan Angliss</dc:creator>
				<category><![CDATA[GPG]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[SquirrelMail]]></category>

		<guid isPermaLink="false">http://jon.netdork.net/2005/11/08/productivity-out-of-work-yay/</guid>
		<description><![CDATA[For some reason, despite the fact that work is going like hell at the moment, with all kinds of crazy stuff happening, my out of work projects are thriving. Take SquirrelMail for example. Cor Bosman from XS4ALL released SquirrelMail 1.4.5 to their user base after extensive testing, and internal enhancements. This has generated a whole [...]]]></description>
			<content:encoded><![CDATA[<!-- google_ad_section_start --><div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fjon.netdork.net%2F2005%2F11%2F08%2Fproductivity-out-of-work-yay">
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fjon.netdork.net%2F2005%2F11%2F08%2Fproductivity-out-of-work-yay&amp;source=j_angliss&amp;style=normal&amp;service=bit.ly" height="61" width="50" />
			</a>
		</div><p>For some reason, despite the fact that work is going like hell at the moment, with all kinds of crazy stuff happening, my out of work projects are thriving.</p>

<p>Take SquirrelMail for example.  Cor Bosman from  <a href="http://www.xs4all.nl/" title="XS4All ISP">XS4ALL</a> released SquirrelMail 1.4.5 to their user base after extensive testing, and internal enhancements.  This has generated a whole bunch of feedback and allowed us to get a bunch of bug fixing done.  In the last 3 days, I think I&#8217;ve made over 30 cvs commits.</p>

<p>I also fixed a long standing bug in the GPG plugin for SquirrelMail today.  It was a minor documentation issue, and code misstake.  A simple case of assuming <a href="http://www.php.net/strrpos" title="PHP Documentation: strrpos">strrpos</a> did the same as <a href="http://www.php.net/strpos" title="PHP Documentation: strpos">strpos</a>.  In general, it does, except strrpos only accepts one character for the needle.  This resulted in a case of matching nearly every attachment to verify with gpg.  To fix, it was a case of changing this (line 211 in plugins/gpg/setup.php):</p>

<pre>

<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">if ((strrpos($filename,&quot;.asc&quot;) == (strlen($filename)-4)) <br />
or (strrpos($filename,&quot;.pgp&quot;) == (strlen($filename)-4))) {</div></div>

</pre>

<p>To this:</p>

<pre>

<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">if ((strpos($filename,&quot;.asc&quot;) == (strlen($filename)-4)) <br />
or (strpos($filename,&quot;.pgp&quot;) == (strlen($filename)-4))) {</div></div>

</pre>

<p>Code still works as expected, and no more issue of gpg checking all attachments to see if they are encrypted.</p>

<p>So, it&#8217;s been very productive for me this week, lets hope it continues.  I&#8217;m planning on pushing SquirrelMail 1.4.6 out by Christmas.</p><!-- google_ad_section_end -->]]></content:encoded>
			<wfw:commentRss>http://jon.netdork.net/2005/11/08/productivity-out-of-work-yay/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
