<?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>kluner.net &#187; open source</title>
	<atom:link href="http://www.kluner.net/tag/open-source/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.kluner.net</link>
	<description>sysadmin madness, in relative perspective</description>
	<lastBuildDate>Mon, 06 Feb 2012 14:48:48 +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>daemontools on redhat enterprise 6.0</title>
		<link>http://www.kluner.net/2011/04/04/daemontools-on-redhat-enterprise-6-0/</link>
		<comments>http://www.kluner.net/2011/04/04/daemontools-on-redhat-enterprise-6-0/#comments</comments>
		<pubDate>Mon, 04 Apr 2011 08:49:29 +0000</pubDate>
		<dc:creator>Arjan Koole</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[projects]]></category>
		<category><![CDATA[work]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[OS]]></category>
		<category><![CDATA[red hat]]></category>

		<guid isPermaLink="false">http://www.kluner.net/?p=459</guid>
		<description><![CDATA[So, for a project I needed to get something running in order to insure memcached would keep on running. The (for me) natural choice for this was daemontools (0.76 at time of writing). There are a couple of things you have to pay attention to, in order to get this going on RHEL 6. (and [...]]]></description>
			<content:encoded><![CDATA[<p>So, for a project I needed to get something running in order to insure memcached would keep on running. The (for me) natural choice for this was daemontools (0.76 at time of writing).</p>
<p>There are a couple of things you have to pay attention to, in order to get this going on RHEL 6. (and I suppose many other Linux distro&#8217;s)</p>
<h2>Phase 1 &#8211; get the source and compile it</h2>
<p>get the source tarball <a title="Daemontools 0.76" href="http://cr.yp.to/daemontools/daemontools-0.76.tar.gz" target="_blank">here</a> (note: this might not be the current version anymore!) and download it to /usr/local/src</p>
<ul>
<li>unpack it with tar -zvxf daemontools-0.76.tar.gz and cd into admin/daemontools-0.76.</li>
<li>edit src/conf-cc and add &#8216;-include /usr/include/errno.h&#8217; at the end of the line. (anywhere is fine, really)</li>
<li>run package/install</li>
</ul>
<p>this should give you the needed files in /command and an existing /service</p>
<h2>Phase 2 &#8211; fixing startup</h2>
<p>Daemontools requires a somewhat different approach to starting up then you might be used to. ( the most common way being /etc/init.d/&lt;name&gt;, and using chkconfig to influence when it starts). Daemontools should be started on boot, and init must be told to restart it when it dies. This ensures continued operation. The installer you ran in phase 1, took care of this by adding a line in /etc/inittab, but that&#8217;s an old method, and for the sake of continued operation (and working straight away) we&#8217;ll use the new method:</p>
<ul>
<li>Remove the added line from /etc/inittab.</li>
<li>cd /etc/init</li>
<li>create a new file called svscan.conf, and put the following contents in:</li>
</ul>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">start on runlevel <span style="color: #7a0874; font-weight: bold;">&#91;</span><span style="color: #000000;">345</span><span style="color: #7a0874; font-weight: bold;">&#93;</span>
respawn
<span style="color: #7a0874; font-weight: bold;">exec</span> <span style="color: #000000; font-weight: bold;">/</span>command<span style="color: #000000; font-weight: bold;">/</span>svscanboot</pre></div></div>

<p>now, tell init, it should re-read it&#8217;s configuration, and then start svscanboot:</p>
<ul>
<li>initctl reload-configuration</li>
<li>initctl start svscan</li>
</ul>
<p>if you check now, you should see a happily running svscan, and daemontools is ready to kick some:</p>
<pre>2676 ?        Ss     0:00 /bin/sh /command/svscanboot
2678 ?        S      0:00  \_ svscan /service</pre>
<p>Enjoy! I hope this little post was helpful.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.kluner.net/2011/04/04/daemontools-on-redhat-enterprise-6-0/feed/</wfw:commentRss>
		<slash:comments>14</slash:comments>
		</item>
		<item>
		<title>bacula: Fatal error: Failed to authenticate Storage daemon</title>
		<link>http://www.kluner.net/2010/02/23/bacula-fatal-error-failed-to-authenticate-storage-daemon/</link>
		<comments>http://www.kluner.net/2010/02/23/bacula-fatal-error-failed-to-authenticate-storage-daemon/#comments</comments>
		<pubDate>Tue, 23 Feb 2010 17:09:55 +0000</pubDate>
		<dc:creator>Arjan Koole</dc:creator>
				<category><![CDATA[general]]></category>
		<category><![CDATA[bacula]]></category>
		<category><![CDATA[open source]]></category>

		<guid isPermaLink="false">http://www.kluner.net/?p=387</guid>
		<description><![CDATA[When you see the backup of a (non localhost) client failing with the message: Fatal error: Failed to authenticate Storage daemon Keep in mind that bacula uses tcpwrappers, though probably not in the way you expect it. instead of doing: bacula-sd : 111.222.333.444 do: $name-sd : 111.222.333.444 where $name is the name you specified in [...]]]></description>
			<content:encoded><![CDATA[<p>When you see the backup of a (non localhost) client failing with the message:</p>
<blockquote><p>Fatal error: Failed to authenticate Storage daemon</p></blockquote>
<p>Keep in mind that bacula uses tcpwrappers, though probably not in the way you expect it.</p>
<p>instead of doing:</p>

<div class="wp_syntax"><div class="code"><pre class="ini" style="font-family:monospace;">bacula-sd : 111.222.333.444</pre></div></div>

<p>do:</p>

<div class="wp_syntax"><div class="code"><pre class="ini" style="font-family:monospace;">$name-sd : 111.222.333.444</pre></div></div>

<p>where $name is the name you specified in the bacula-sd.conf</p>
<p>Most services that use tcpwrappers (tcpd) use the name of the service (bacula-sd in this case), but bacula has a cute approach to it that listens only to the name you defined for the service. As far as I can tell this applies only to bacula-sd, and not bacula-dir or bacula-fd.</p>
<p>So, say you would have the following config in bacula-sd.conf:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
</pre></td><td class="code"><pre class="ini" style="font-family:monospace;">Storage <span style="">&#123;</span>                             # definition of myself
  <span style="color: #000099;">Name</span> <span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> foo.bar-sd</span>
  <span style="color: #000099;">SDPort</span> <span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> 9103                  # Director's port</span>
  <span style="color: #000099;">WorkingDirectory</span> <span style="color: #000066; font-weight:bold;">=</span> <span style="color: #933;">&quot;/var/lib/bacula&quot;</span>
  Pid Directory <span style="color: #000066; font-weight:bold;">=</span> <span style="color: #933;">&quot;/var/run/bacula&quot;</span>
  Maximum Concurrent Jobs <span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> 20</span>
<span style="">&#125;</span></pre></td></tr></table></div>

<p>then your /etc/hosts.allow would read:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
</pre></td><td class="code"><pre class="ini" style="font-family:monospace;">foo.bar-sd : 111.222.333.444</pre></td></tr></table></div>

<p>Please note that you will still need to take care of your passwords on both ends, any mismatches there will results in no backups being made. Be sure to test your backups regularly.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.kluner.net/2010/02/23/bacula-fatal-error-failed-to-authenticate-storage-daemon/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Spamassassin 2010 bug</title>
		<link>http://www.kluner.net/2010/01/01/spamassassin-2010-bug/</link>
		<comments>http://www.kluner.net/2010/01/01/spamassassin-2010-bug/#comments</comments>
		<pubDate>Fri, 01 Jan 2010 13:18:16 +0000</pubDate>
		<dc:creator>Arjan Koole</dc:creator>
				<category><![CDATA[general]]></category>
		<category><![CDATA[work]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[spam]]></category>

		<guid isPermaLink="false">http://www.kluner.net/?p=350</guid>
		<description><![CDATA[Someone on IRC pointed me to this wonderful bug in Spamassassin, it&#8217;s easy to quickfix, but the fix itself will become a bug in 10 years, in any case, until they push an update that correctly fixes this: ##{ FH_DATE_PAST_20XX header FH_DATE_PAST_20XX Date =~ /20[1-9][0-9]/ &#91;if-unset: 2006&#93; describe FH_DATE_PAST_20XX The date is grossly in the [...]]]></description>
			<content:encoded><![CDATA[<p>Someone on IRC pointed me to <a href="https://issues.apache.org/SpamAssassin/show_bug.cgi?id=6269" target="_blank">this wonderful bug in Spamassassin</a>, it&#8217;s easy to quickfix, but the fix itself will become a bug in 10 years, in any case, until they push an update that correctly fixes this:</p>

<div class="wp_syntax"><div class="code"><pre class="perl" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">##{ FH_DATE_PAST_20XX</span>
header   FH_DATE_PAST_20XX      Date <span style="color: #339933;">=~</span> <span style="color: #009966; font-style: italic;">/20[1-9][0-9]/</span> <span style="color: #009900;">&#91;</span>if<span style="color: #339933;">-</span>unset<span style="color: #339933;">:</span> <span style="color: #cc66cc;">2006</span><span style="color: #009900;">&#93;</span>
describe FH_DATE_PAST_20XX      The date is grossly in the future<span style="color: #339933;">.</span></pre></div></div>

<p>( meaning emails sent in 2010  will also trigger the scoring )</p>
<p>should be changed into:</p>

<div class="wp_syntax"><div class="code"><pre class="perl" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">##{ FH_DATE_PAST_20XX</span>
header   FH_DATE_PAST_20XX      Date <span style="color: #339933;">=~</span> <span style="color: #009966; font-style: italic;">/20[2-9][0-9]/</span> <span style="color: #009900;">&#91;</span>if<span style="color: #339933;">-</span>unset<span style="color: #339933;">:</span> <span style="color: #cc66cc;">2006</span><span style="color: #009900;">&#93;</span>
describe FH_DATE_PAST_20XX      The date is grossly in the future<span style="color: #339933;">.</span></pre></div></div>

<p>Making it not a problem until we reach 2020 <img src='http://www.kluner.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>On my ubuntu box the rule is found in:</p>
<pre>/usr/share/spamassassin/72_active.cf</pre>
<p>Special thanks to Habbie for making me aware of the problem on IRC!</p>
<p>oh and by the way:</p>
<h1>Happy New Year!</h1>
<p> <img src='http://www.kluner.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.kluner.net/2010/01/01/spamassassin-2010-bug/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>when using suphp on FreeBSD</title>
		<link>http://www.kluner.net/2009/03/09/when-using-suphp-on-freebsd/</link>
		<comments>http://www.kluner.net/2009/03/09/when-using-suphp-on-freebsd/#comments</comments>
		<pubDate>Mon, 09 Mar 2009 09:52:46 +0000</pubDate>
		<dc:creator>Arjan Koole</dc:creator>
				<category><![CDATA[FreeBSD]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.kluner.net/?p=283</guid>
		<description><![CDATA[always remember to do the following after upgrading PHP, but before restarting apache: 1 2 cd /usr/ports/www/suphp make deinstall &#38;&#38; make reinstall when using eaccelerator do: 1 2 cd /usr/ports/www/eaccelerator make deinstall &#38;&#38; make reinstall too. Saves you a LOT of headaches [ad]]]></description>
			<content:encoded><![CDATA[<p>always remember to do the following after upgrading PHP, but before restarting apache:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
</pre></td><td class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #7a0874; font-weight: bold;">cd</span> <span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>ports<span style="color: #000000; font-weight: bold;">/</span>www<span style="color: #000000; font-weight: bold;">/</span>suphp
<span style="color: #c20cb9; font-weight: bold;">make</span> deinstall <span style="color: #000000; font-weight: bold;">&amp;&amp;</span> <span style="color: #c20cb9; font-weight: bold;">make</span> reinstall</pre></td></tr></table></div>

<p>when using eaccelerator do:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
</pre></td><td class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #7a0874; font-weight: bold;">cd</span> <span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>ports<span style="color: #000000; font-weight: bold;">/</span>www<span style="color: #000000; font-weight: bold;">/</span>eaccelerator
<span style="color: #c20cb9; font-weight: bold;">make</span> deinstall <span style="color: #000000; font-weight: bold;">&amp;&amp;</span> <span style="color: #c20cb9; font-weight: bold;">make</span> reinstall</pre></td></tr></table></div>

<p>too.</p>
<p>Saves you a LOT of headaches <img src='http://www.kluner.net/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>[ad]</p>
]]></content:encoded>
			<wfw:commentRss>http://www.kluner.net/2009/03/09/when-using-suphp-on-freebsd/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>FreeBSD 7.1-RC2 ISO&#8217;s hit the master-ftp server</title>
		<link>http://www.kluner.net/2008/12/24/freebsd-71-rc2-isos-hit-the-master-ftp-server/</link>
		<comments>http://www.kluner.net/2008/12/24/freebsd-71-rc2-isos-hit-the-master-ftp-server/#comments</comments>
		<pubDate>Wed, 24 Dec 2008 13:50:21 +0000</pubDate>
		<dc:creator>Arjan Koole</dc:creator>
				<category><![CDATA[FreeBSD]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[OS]]></category>

		<guid isPermaLink="false">http://www.kluner.net/?p=256</guid>
		<description><![CDATA[The FreeBSD developers are clearly stepping up the pace with the second RC for 7.1 out in almost no time after the first one hit. What&#8217;s next guys? -RELEASE before new years? [ad]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.freebsd.org/" target="_blank"><img class="alignright size-full wp-image-235" style="border: 0pt none; margin: 2px;" title="FreeBSD logo (Small)" src="http://www.kluner.net/wp-content/uploads/2008/12/logo-full1.png" alt="FreeBSD logo (Small)" width="151" height="52" /></a>The FreeBSD developers are clearly stepping up the pace with the second RC for 7.1 out in almost no time after  the first one hit.</p>
<p>What&#8217;s next guys? -RELEASE before new years? <img src='http://www.kluner.net/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>[ad]</p>
]]></content:encoded>
			<wfw:commentRss>http://www.kluner.net/2008/12/24/freebsd-71-rc2-isos-hit-the-master-ftp-server/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>FreeBSD 7.1-RC1 Security Advisories</title>
		<link>http://www.kluner.net/2008/12/23/freebsd-71-rc1-security-advisories/</link>
		<comments>http://www.kluner.net/2008/12/23/freebsd-71-rc1-security-advisories/#comments</comments>
		<pubDate>Tue, 23 Dec 2008 12:20:02 +0000</pubDate>
		<dc:creator>Arjan Koole</dc:creator>
				<category><![CDATA[FreeBSD]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[OS]]></category>

		<guid isPermaLink="false">http://www.kluner.net/?p=246</guid>
		<description><![CDATA[One day, you&#8217;re bouncing all over the place because there&#8217;s an official 7.1-RC1, the next, there&#8217;s already two security advisories. To sum them up: protosw safe to ignore unless you have local users, safe to ignore if you haven&#8217;t loaded / compiled in the ng_* modules Index: sys/kern/uipc_domain.c =================================================================== --- sys/kern/uipc_domain.c &#40;revision 186366&#41; +++ sys/kern/uipc_domain.c [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.freebsd.org/" target="_blank"><img class="size-full wp-image-235 alignright" style="border: 0pt none; margin: 4px;" title="FreeBSD logo (Small)" src="http://www.kluner.net/wp-content/uploads/2008/12/logo-full1.png" alt="FreeBSD - The power to serve" width="151" height="52" /></a></p>
<p>One day, you&#8217;re bouncing all over the place because there&#8217;s an official 7.1-RC1, the next, there&#8217;s already two security advisories.</p>
<p>To sum them up:</p>
<ul>
<li><a href="http://security.freebsd.org/advisories/FreeBSD-SA-08:13.protosw.asc" target="_blank"><strong>protosw</strong></a><br />
safe to ignore unless you have local users, safe to ignore if you haven&#8217;t loaded / compiled in the ng_* modules</p>

<div class="wp_syntax"><div class="code"><pre class="diff" style="font-family:monospace;">Index: sys/kern/uipc_domain.c
===================================================================
<span style="color: #888822;">--- sys/kern/uipc_domain.c	<span style="">&#40;</span>revision 186366<span style="">&#41;</span></span>
<span style="color: #888822;">+++ sys/kern/uipc_domain.c	<span style="">&#40;</span>working copy<span style="">&#41;</span></span>
<span style="color: #440088;">@@ -112,13 +112,18 @@</span>
&nbsp;
 #define DEFAULT<span style="">&#40;</span>foo, bar<span style="">&#41;</span>	if <span style="">&#40;</span><span style="">&#40;</span>foo<span style="">&#41;</span> == NULL<span style="">&#41;</span>  <span style="">&#40;</span>foo<span style="">&#41;</span> = <span style="">&#40;</span>bar<span style="">&#41;</span>
 	DEFAULT<span style="">&#40;</span>pu-&amp;gt;pru_accept, pru_accept_notsupp<span style="">&#41;</span>;
<span style="color: #00b000;">+	DEFAULT<span style="">&#40;</span>pu-&amp;gt;pru_bind, pru_bind_notsupp<span style="">&#41;</span>;</span>
 	DEFAULT<span style="">&#40;</span>pu-&amp;gt;pru_connect, pru_connect_notsupp<span style="">&#41;</span>;
 	DEFAULT<span style="">&#40;</span>pu-&amp;gt;pru_connect2, pru_connect2_notsupp<span style="">&#41;</span>;
 	DEFAULT<span style="">&#40;</span>pu-&amp;gt;pru_control, pru_control_notsupp<span style="">&#41;</span>;
<span style="color: #00b000;">+	DEFAULT<span style="">&#40;</span>pu-&amp;gt;pru_disconnect, pru_disconnect_notsupp<span style="">&#41;</span>;</span>
 	DEFAULT<span style="">&#40;</span>pu-&amp;gt;pru_listen, pru_listen_notsupp<span style="">&#41;</span>;
<span style="color: #00b000;">+	DEFAULT<span style="">&#40;</span>pu-&amp;gt;pru_peeraddr, pru_peeraddr_notsupp<span style="">&#41;</span>;</span>
 	DEFAULT<span style="">&#40;</span>pu-&amp;gt;pru_rcvd, pru_rcvd_notsupp<span style="">&#41;</span>;
 	DEFAULT<span style="">&#40;</span>pu-&amp;gt;pru_rcvoob, pru_rcvoob_notsupp<span style="">&#41;</span>;
 	DEFAULT<span style="">&#40;</span>pu-&amp;gt;pru_sense, pru_sense_null<span style="">&#41;</span>;
<span style="color: #00b000;">+	DEFAULT<span style="">&#40;</span>pu-&amp;gt;pru_shutdown, pru_shutdown_notsupp<span style="">&#41;</span>;</span>
<span style="color: #00b000;">+	DEFAULT<span style="">&#40;</span>pu-&amp;gt;pru_sockaddr, pru_sockaddr_notsupp<span style="">&#41;</span>;</span>
 	DEFAULT<span style="">&#40;</span>pu-&amp;gt;pru_sosend, sosend_generic<span style="">&#41;</span>;
 	DEFAULT<span style="">&#40;</span>pu-&amp;gt;pru_soreceive, soreceive_generic<span style="">&#41;</span>;
 	DEFAULT<span style="">&#40;</span>pu-&amp;gt;pru_sopoll, sopoll_generic<span style="">&#41;</span>;</pre></div></div>

</li>
</ul>
<ul>
<li><a href="http://security.freebsd.org/advisories/FreeBSD-SA-08:12.ftpd.asc" target="_blank"><strong>ftpd</strong></a><br />
you can ignore it if you don&#8217;t run this ftp daemon, or if you have disabled ftp all together. Otherwise: patch it right the heck now!</p>

<div class="wp_syntax"><div class="code"><pre class="diff" style="font-family:monospace;">Index: libexec/ftpd/ftpcmd.y
===================================================================
<span style="color: #888822;">--- libexec/ftpd/ftpcmd.y	<span style="">&#40;</span>revision 185134<span style="">&#41;</span></span>
<span style="color: #888822;">+++ libexec/ftpd/ftpcmd.y	<span style="">&#40;</span>working copy<span style="">&#41;</span></span>
<span style="color: #440088;">@@ -1191,7 +1191,7 @@</span>
 /*
  * getline - a hacked up version of fgets to ignore TELNET escape codes.
  */
<span style="color: #991111;">-char *</span>
<span style="color: #00b000;">+int</span>
 getline<span style="">&#40;</span>char *s, int n, FILE *iop<span style="">&#41;</span>
 <span style="">&#123;</span>
 	int c;
<span style="color: #440088;">@@ -1207,7 +1207,7 @@</span>
 			if <span style="">&#40;</span>ftpdebug<span style="">&#41;</span>
 				syslog<span style="">&#40;</span>LOG_DEBUG, &quot;command: %s&quot;, s<span style="">&#41;</span>;
 			tmpline<span style="">&#91;</span><span style="">0</span><span style="">&#93;</span> = '\<span style="">0</span>';
<span style="color: #991111;">-			return<span style="">&#40;</span>s<span style="">&#41;</span>;</span>
<span style="color: #00b000;">+			return<span style="">&#40;</span><span style="">0</span><span style="">&#41;</span>;</span>
 		<span style="">&#125;</span>
 		if <span style="">&#40;</span>c == <span style="">0</span><span style="">&#41;</span>
 			tmpline<span style="">&#91;</span><span style="">0</span><span style="">&#93;</span> = '\<span style="">0</span>';
<span style="color: #440088;">@@ -1244,13 +1244,24 @@</span>
 			<span style="">&#125;</span>
 		<span style="">&#125;</span>
 		*cs++ = c;
<span style="color: #991111;">-		if <span style="">&#40;</span>--n &amp;lt;= <span style="">0</span> || c == '\n'<span style="">&#41;</span></span>
<span style="color: #00b000;">+		if <span style="">&#40;</span>--n &amp;lt;= 0<span style="">&#41;</span> <span style="">&#123;</span></span>
<span style="color: #00b000;">+			/*</span>
<span style="color: #00b000;">+			 * If command doesn't fit into buffer, discard the</span>
<span style="color: #00b000;">+			 * rest of the command and indicate truncation.</span>
<span style="color: #00b000;">+			 * This prevents the command to be split up into</span>
<span style="color: #00b000;">+			 * multiple commands.</span>
<span style="color: #00b000;">+			 */</span>
<span style="color: #00b000;">+			while <span style="">&#40;</span>c != '\n' &amp;amp;&amp;amp; <span style="">&#40;</span>c = getc<span style="">&#40;</span>iop<span style="">&#41;</span><span style="">&#41;</span> != EOF<span style="">&#41;</span></span>
<span style="color: #00b000;">+				;</span>
<span style="color: #00b000;">+			return <span style="">&#40;</span>-<span style="">2</span><span style="">&#41;</span>;</span>
<span style="color: #00b000;">+		<span style="">&#125;</span></span>
<span style="color: #00b000;">+		if <span style="">&#40;</span>c == '\n'<span style="">&#41;</span></span>
 			break;
 	<span style="">&#125;</span>
 got_eof:
 	sigprocmask<span style="">&#40;</span>SIG_SETMASK, &amp;amp;osset, NULL<span style="">&#41;</span>;
 	if <span style="">&#40;</span>c == EOF &amp;amp;&amp;amp; cs == s<span style="">&#41;</span>
<span style="color: #991111;">-		return <span style="">&#40;</span>NULL<span style="">&#41;</span>;</span>
<span style="color: #00b000;">+		return <span style="">&#40;</span>-<span style="">1</span><span style="">&#41;</span>;</span>
 	*cs++ = '\<span style="">0</span>';
 	if <span style="">&#40;</span>ftpdebug<span style="">&#41;</span> <span style="">&#123;</span>
 		if <span style="">&#40;</span>!guest &amp;amp;&amp;amp; strncasecmp<span style="">&#40;</span>&quot;pass &quot;, s, <span style="">5</span><span style="">&#41;</span> == <span style="">0</span><span style="">&#41;</span> <span style="">&#123;</span>
<span style="color: #440088;">@@ -1270,7 +1281,7 @@</span>
 			syslog<span style="">&#40;</span>LOG_DEBUG, &quot;command: %.*s&quot;, len, s<span style="">&#41;</span>;
 		<span style="">&#125;</span>
 	<span style="">&#125;</span>
<span style="color: #991111;">-	return <span style="">&#40;</span>s<span style="">&#41;</span>;</span>
<span style="color: #00b000;">+	return <span style="">&#40;</span><span style="">0</span><span style="">&#41;</span>;</span>
 <span style="">&#125;</span>
&nbsp;
 static void
<span style="color: #440088;">@@ -1300,9 +1311,14 @@</span>
 		case CMD:
 			<span style="">&#40;</span>void<span style="">&#41;</span> signal<span style="">&#40;</span>SIGALRM, toolong<span style="">&#41;</span>;
 			<span style="">&#40;</span>void<span style="">&#41;</span> alarm<span style="">&#40;</span>timeout<span style="">&#41;</span>;
<span style="color: #991111;">-			if <span style="">&#40;</span>getline<span style="">&#40;</span>cbuf, sizeof<span style="">&#40;</span>cbuf<span style="">&#41;</span>-1, stdin<span style="">&#41;</span> == NULL<span style="">&#41;</span> <span style="">&#123;</span></span>
<span style="color: #00b000;">+			n = getline<span style="">&#40;</span>cbuf, sizeof<span style="">&#40;</span>cbuf<span style="">&#41;</span>-<span style="">1</span>, stdin<span style="">&#41;</span>;</span>
<span style="color: #00b000;">+			if <span style="">&#40;</span>n == -1<span style="">&#41;</span> <span style="">&#123;</span></span>
 				reply<span style="">&#40;</span><span style="">221</span>, &quot;You could at least say goodbye.&quot;<span style="">&#41;</span>;
 				dologout<span style="">&#40;</span><span style="">0</span><span style="">&#41;</span>;
<span style="color: #00b000;">+			<span style="">&#125;</span> else if <span style="">&#40;</span>n == -2<span style="">&#41;</span> <span style="">&#123;</span></span>
<span style="color: #00b000;">+				reply<span style="">&#40;</span><span style="">500</span>, &quot;Command too long.&quot;<span style="">&#41;</span>;</span>
<span style="color: #00b000;">+				<span style="">&#40;</span>void<span style="">&#41;</span> alarm<span style="">&#40;</span><span style="">0</span><span style="">&#41;</span>;</span>
<span style="color: #00b000;">+				continue;</span>
 			<span style="">&#125;</span>
 			<span style="">&#40;</span>void<span style="">&#41;</span> alarm<span style="">&#40;</span><span style="">0</span><span style="">&#41;</span>;
 #ifdef SETPROCTITLE
Index: libexec/ftpd/extern.h
===================================================================
<span style="color: #888822;">--- libexec/ftpd/extern.h	<span style="">&#40;</span>revision 185134<span style="">&#41;</span></span>
<span style="color: #888822;">+++ libexec/ftpd/extern.h	<span style="">&#40;</span>working copy<span style="">&#41;</span></span>
<span style="color: #440088;">@@ -46,7 +46,7 @@</span>
 void    ftpd_logwtmp<span style="">&#40;</span>char *, char *, struct sockaddr *addr<span style="">&#41;</span>;
 int	ftpd_pclose<span style="">&#40;</span>FILE *<span style="">&#41;</span>;
 FILE   *ftpd_popen<span style="">&#40;</span>char *, char *<span style="">&#41;</span>;
<span style="color: #991111;">-char   *getline<span style="">&#40;</span>char *, int, FILE *<span style="">&#41;</span>;</span>
<span style="color: #00b000;">+int	getline<span style="">&#40;</span>char *, int, FILE *<span style="">&#41;</span>;</span>
 void	lreply<span style="">&#40;</span>int, const char *, ...<span style="">&#41;</span> __printflike<span style="">&#40;</span><span style="">2</span>, <span style="">3</span><span style="">&#41;</span>;
 void	makedir<span style="">&#40;</span>char *<span style="">&#41;</span>;
 void	nack<span style="">&#40;</span>char *<span style="">&#41;</span>;
Index: libexec/ftpd/ftpd.c
===================================================================
<span style="color: #888822;">--- libexec/ftpd/ftpd.c	<span style="">&#40;</span>revision 185134<span style="">&#41;</span></span>
<span style="color: #888822;">+++ libexec/ftpd/ftpd.c	<span style="">&#40;</span>working copy<span style="">&#41;</span></span>
<span style="color: #440088;">@@ -2794,15 +2794,20 @@</span>
 myoob<span style="">&#40;</span>void<span style="">&#41;</span>
 <span style="">&#123;</span>
 	char *cp;
<span style="color: #00b000;">+	int ret;</span>
&nbsp;
 	if <span style="">&#40;</span>!transflag<span style="">&#41;</span> <span style="">&#123;</span>
 		syslog<span style="">&#40;</span>LOG_ERR, &quot;Internal: myoob<span style="">&#40;</span><span style="">&#41;</span> while no transfer&quot;<span style="">&#41;</span>;
 		return <span style="">&#40;</span><span style="">0</span><span style="">&#41;</span>;
 	<span style="">&#125;</span>
 	cp = tmpline;
<span style="color: #991111;">-	if <span style="">&#40;</span>getline<span style="">&#40;</span>cp, 7, stdin<span style="">&#41;</span> == NULL<span style="">&#41;</span> <span style="">&#123;</span></span>
<span style="color: #00b000;">+	ret = getline<span style="">&#40;</span>cp, <span style="">7</span>, stdin<span style="">&#41;</span>;</span>
<span style="color: #00b000;">+	if <span style="">&#40;</span>ret == -1<span style="">&#41;</span> <span style="">&#123;</span></span>
 		reply<span style="">&#40;</span><span style="">221</span>, &quot;You could at least say goodbye.&quot;<span style="">&#41;</span>;
 		dologout<span style="">&#40;</span><span style="">0</span><span style="">&#41;</span>;
<span style="color: #00b000;">+	<span style="">&#125;</span> else if <span style="">&#40;</span>ret == -2<span style="">&#41;</span> <span style="">&#123;</span></span>
<span style="color: #00b000;">+		/* Ignore truncated command. */</span>
<span style="color: #00b000;">+		return <span style="">&#40;</span><span style="">0</span><span style="">&#41;</span>;</span>
 	<span style="">&#125;</span>
 	upper<span style="">&#40;</span>cp<span style="">&#41;</span>;
 	if <span style="">&#40;</span>strcmp<span style="">&#40;</span>cp, &quot;ABOR\r\n&quot;<span style="">&#41;</span> == <span style="">0</span><span style="">&#41;</span> <span style="">&#123;</span></pre></div></div>

</li>
</ul>
<p>I noticed that the -RC2 branch is in place too now. Almost there&#8230;. must &#8230; be &#8230; patient &#8230;</p>
<p>[ad]</p>
]]></content:encoded>
			<wfw:commentRss>http://www.kluner.net/2008/12/23/freebsd-71-rc1-security-advisories/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>And FreeBSD 7.1-RC1 official</title>
		<link>http://www.kluner.net/2008/12/22/and-freebsd-71-rc1-official/</link>
		<comments>http://www.kluner.net/2008/12/22/and-freebsd-71-rc1-official/#comments</comments>
		<pubDate>Mon, 22 Dec 2008 10:32:10 +0000</pubDate>
		<dc:creator>Arjan Koole</dc:creator>
				<category><![CDATA[FreeBSD]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[OS]]></category>

		<guid isPermaLink="false">http://www.kluner.net/?p=228</guid>
		<description><![CDATA[You got to love the way they write the release announcements: &#8220;Gee. Did we really implement that new interface that way? That needs a bit more work.&#8221; So,  it&#8217;s now the last few legs of the release cycle, and I&#8217;m looking forward to it. DO read the release announcement or /usr/src/UPDATING, specialy if you currently [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.freebsd.org/" target="_blank"><img class="size-full wp-image-235 alignright" style="border: 0pt none; margin: 1px;" title="FreeBSD - the power to serve!" src="http://www.kluner.net/wp-content/uploads/2008/12/logo-full1.png" alt="FreeBSD - The power to server" width="151" height="52" /></a></p>
<p>You got to love the way they <a title="FreeBSD 7.1-RC1 release announcement" href="http://lists.freebsd.org/pipermail/freebsd-stable/2008-December/047014.html" target="_blank">write</a> the release announcements:</p>
<blockquote><p>&#8220;Gee.  Did we really implement that new interface that way?  That needs a bit more work.&#8221;</p></blockquote>
<p>So,  it&#8217;s now the last few legs of the release cycle, and I&#8217;m looking forward to it.</p>
<p>DO read the release announcement or /usr/src/UPDATING, specialy if you currently have a system that uses the <a href="http://www.freebsd.org/cgi/man.cgi?query=em&amp;apropos=0&amp;sektion=4&amp;manpath=FreeBSD+8-current&amp;format=html" target="_blank">em(4) </a>driver (Intel E1000 NIC), it might change with this release, to <a href="http://www.freebsd.org/cgi/man.cgi?query=igb&amp;apropos=0&amp;sektion=4&amp;manpath=FreeBSD+8-current&amp;format=html" target="_blank">igb(4)</a>.</p>
<p>[ad]</p>
]]></content:encoded>
			<wfw:commentRss>http://www.kluner.net/2008/12/22/and-freebsd-71-rc1-official/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>gearing up for FreeBSD 7.1</title>
		<link>http://www.kluner.net/2008/12/11/gearing-up-for-freebsd-71/</link>
		<comments>http://www.kluner.net/2008/12/11/gearing-up-for-freebsd-71/#comments</comments>
		<pubDate>Thu, 11 Dec 2008 14:06:47 +0000</pubDate>
		<dc:creator>Arjan Koole</dc:creator>
				<category><![CDATA[FreeBSD]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[OS]]></category>

		<guid isPermaLink="false">http://www.kluner.net/content/2008/12/11/gearing-up-for-freebsd-71/</guid>
		<description><![CDATA[We&#8217;re only a little bit removed from the next major FreeBSD release. The branch has been tagged, and the ports-tree is (thank God!) unfrozen once again. The first Release Candidate has hit the FTP servers. I&#8217;ve been running -PRERELEASE for a while now, and haven&#8217;t found any problems so far, not on real-steal hardware, nor [...]]]></description>
			<content:encoded><![CDATA[<p>We&#8217;re only a little bit removed from the next major FreeBSD release. The branch has been tagged, and the ports-tree is (thank God!) unfrozen once again. The first Release Candidate has hit the FTP servers.</p>
<p>I&#8217;ve been running -PRERELEASE for a while now, and haven&#8217;t found any problems so far, not on real-steal hardware, nor on vmware virtualized hardware.</p>
<p>[ad]</p>
]]></content:encoded>
			<wfw:commentRss>http://www.kluner.net/2008/12/11/gearing-up-for-freebsd-71/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Firefox Download Day</title>
		<link>http://www.kluner.net/2008/06/17/firefox-download-day/</link>
		<comments>http://www.kluner.net/2008/06/17/firefox-download-day/#comments</comments>
		<pubDate>Tue, 17 Jun 2008 19:20:52 +0000</pubDate>
		<dc:creator>Arjan Koole</dc:creator>
				<category><![CDATA[general]]></category>
		<category><![CDATA[Firefox]]></category>
		<category><![CDATA[open source]]></category>

		<guid isPermaLink="false">http://www.kluner.net/?p=50</guid>
		<description><![CDATA[Firefox Download Day 2008 has started. Everyone, please download Firefox, so we can set a world record! [ad]]]></description>
			<content:encoded><![CDATA[<p><a title="set the world record!" href="http://www.spreadfirefox.com/en-US/worldrecord/" target="_blank"><img class="alignright alignnone size-medium wp-image-49" style="border: 0pt none; float: right;" title="firefox-downloadday" src="http://www.kluner.net/wp-content/uploads/2008/06/firefox-downloadday.png" alt="Firefox Download Day 2008" width="220" height="184" /></a></p>
<p>Firefox Download Day 2008 has started.</p>
<p>Everyone, please download Firefox, so we can set a world record!</p>
<p>[ad]</p>
]]></content:encoded>
			<wfw:commentRss>http://www.kluner.net/2008/06/17/firefox-download-day/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>FreeBSD portupgrade / portversion dumps core</title>
		<link>http://www.kluner.net/2007/10/07/freebsd-portupgrade-portversion-dumps-core/</link>
		<comments>http://www.kluner.net/2007/10/07/freebsd-portupgrade-portversion-dumps-core/#comments</comments>
		<pubDate>Sun, 07 Oct 2007 21:40:42 +0000</pubDate>
		<dc:creator>Arjan Koole</dc:creator>
				<category><![CDATA[FreeBSD]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[OS]]></category>

		<guid isPermaLink="false">http://www.kluner.net/wordpress/?p=42</guid>
		<description><![CDATA[First of all: do not panic Second: get some coffee Finaly: rm /var/db/pkg/pkgdb.db I think this comes from upgrading portupgrade somewhere along the line, and accidentaly switching between database formats (hash, or bdb4 btree). The strangest thing is that I&#8217;ve searched high and low with Google, but no results anywhere. (not even any of the [...]]]></description>
			<content:encoded><![CDATA[<p>First of all: do not panic</p>
<p>Second: get some coffee</p>
<p>Finaly: rm /var/db/pkg/pkgdb.db</p>
<p>I think this comes from upgrading portupgrade somewhere along the line, and accidentaly switching between database formats (hash, or bdb4 btree). The strangest thing is that I&#8217;ve searched high and low with Google, but no results anywhere. (not even any of the FreeBSD maillinglists). So it took me a little while to figure out this one.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.kluner.net/2007/10/07/freebsd-portupgrade-portversion-dumps-core/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

