<?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>Computer Solutions Blog &#187; bad</title>
	<atom:link href="http://www.computersolutions.cn/blog/tag/bad/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.computersolutions.cn/blog</link>
	<description>Whats happening at Computer Solutions</description>
	<lastBuildDate>Fri, 13 Jan 2012 02:32:34 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Hotmail server issues &#8211; bare lf issue</title>
		<link>http://www.computersolutions.cn/blog/2009/10/hotmail-server-issues-bare-lf-issue/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=hotmail-server-issues-bare-lf-issue</link>
		<comments>http://www.computersolutions.cn/blog/2009/10/hotmail-server-issues-bare-lf-issue/#comments</comments>
		<pubDate>Fri, 09 Oct 2009 04:33:23 +0000</pubDate>
		<dc:creator>Lawrence Sheed</dc:creator>
				<category><![CDATA[Technical Mumbo Jumbo]]></category>
		<category><![CDATA[bad]]></category>
		<category><![CDATA[bare line feed]]></category>
		<category><![CDATA[hotmail]]></category>
		<category><![CDATA[microsoft sucks]]></category>

		<guid isPermaLink="false">http://www.computersolutions.cn/blog/?p=272</guid>
		<description><![CDATA[[Update 23/Oct/09: Hotmail has fixed this issue now] Our logs were showing lots of repeated send failures from Hotmail. A closer investigation of the issue has revealed that Hotmail has suddenly decided that the mail RFC&#8217;s are too good for them to follow. RFC&#8217;s are the standards which define how things work. When people don&#8217;t [...]]]></description>
			<content:encoded><![CDATA[<p><strong>[Update 23/Oct/09:  Hotmail has fixed this issue now]</strong></p>
<p>Our logs were showing lots of repeated send failures from Hotmail.<br />
A closer investigation of the issue has revealed that Hotmail has suddenly decided that the mail RFC&#8217;s are too good for them to follow.</p>
<p>RFC&#8217;s are the standards which define how things work.  When people don&#8217;t follow the standards, this makes things break.</p>
<p>In this case, it meant that all mail from Hotmail was being rejected, this is a Hotmail is broken issue!<br />
Getting Hotmail to change their broken setup is likely to be non-productive &#8211; there are already a few pages of complaints about it on their site, complete with the boilerplate totally useless replies from drones who don&#8217;t understand the issue, despite it being helpfully spelled out for them.</p>
<p>See here &#8211;<br />
<a href="http://windowslivehelp.com/community/p/127432/474962.aspx">http://windowslivehelp.com/community/p/127432/474962.aspx</a><br />
<a href="http://windowslivehelp.com/community/t/123986.aspx">http://windowslivehelp.com/community/t/123986.aspx</a></p>
<p>Unfortunately, while bouncing invalid email content is correct from a technical perspective, our clients need to be able to receive mail from Hotmail.<br />
As an interim solution, I&#8217;ve patched qmail to allow for bare linefeeds.</p>
<p>This was fairly easy &#8211; a small patch to qmail-smtpd.c, a recompile, then restart qmail-smtpd.</p>
<p>To patch, look for switch(state) in qmail-smtpd.c, and remove the straynewline(); calls, so that barelinefeeds are accepted.<br />
Code to change below:</p>
<p><code>case 0:<br />
        if (ch == '\n') { state = 1; break; }<br />
         if (ch == '\r') { state = 4; continue; }<br />
         break;<br />
       case 1: /* \r\n */<br />
         if (ch == '.') { state = 2; continue; }<br />
         if (ch == '\r') { state = 4; continue; }<br />
        if (ch != '\n') state = 0;<br />
         break;<br />
       case 2: /* \r\n + . */<br />
        if (ch == '\n') return;<br />
         if (ch == '\r') { state = 3; continue; }<br />
         state = 0;<br />
         break;<br />
</code></p>
]]></content:encoded>
			<wfw:commentRss>http://www.computersolutions.cn/blog/2009/10/hotmail-server-issues-bare-lf-issue/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

