<?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>Inliniac &#187; Snort</title>
	<atom:link href="http://www.inliniac.net/blog/tag/snort/feed" rel="self" type="application/rss+xml" />
	<link>http://www.inliniac.net/blog</link>
	<description>Everything inline.</description>
	<lastBuildDate>Thu, 29 Jul 2010 19:38:06 +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>On Suricata performance</title>
		<link>http://www.inliniac.net/blog/2010/07/22/on-suricata-performance.html</link>
		<comments>http://www.inliniac.net/blog/2010/07/22/on-suricata-performance.html#comments</comments>
		<pubDate>Thu, 22 Jul 2010 08:26:54 +0000</pubDate>
		<dc:creator>Victor Julien</dc:creator>
				<category><![CDATA[Snort]]></category>
		<category><![CDATA[Suricata]]></category>
		<category><![CDATA[oisf]]></category>
		<category><![CDATA[performance]]></category>

		<guid isPermaLink="false">http://www.inliniac.net/blog/?p=384</guid>
		<description><![CDATA[Lots of fuzz in the media about Suricata&#8217;s performance versus Snort yesterday. Some claiming Suricata is much faster, others claiming Snort is much faster. At this point I really don&#8217;t care much. What the Suricata development by the OISF has shown in my opinion is that we&#8217;ve managed to create a very promising new Open [...]]]></description>
			<content:encoded><![CDATA[<p>Lots of fuzz in the media about Suricata&#8217;s performance versus Snort yesterday. Some claiming Suricata is much faster, others claiming Snort is much faster.</p>
<p>At this point I really don&#8217;t care much. What the Suricata development by the OISF has shown in my opinion is that we&#8217;ve managed to create a very promising new Open Source project out here. In little over a year, funded for about $600k by the US government and with heavy (and growing) industry support, we&#8217;ve produced a new IDS/IPS engine mostly compatible with Snort but build on a all new code base an incorporating some very interesting fresh ideas. We&#8217;re already seeing a community form around our project with a lot of support from that new community.</p>
<p>So about this performance fuzz. Who to believe? Is Suricata faster than Snort? Yes, no, ehhh, depends on how you look at it. Is Suricata faster than Snort on a single core cycle for cycle, tick for tick? No. It&#8217;s pretty clear we aren&#8217;t, I didn&#8217;t expect us to be either. But we scale. We&#8217;ve had reports of running on a 32 core box and scaling to use all cores. There Suricata is much faster. Like Martin Roesch wrote on the <a href="http://vrt-sourcefire.blogspot.com/2010/06/single-threaded-data-processing.html">VRT blog</a> one can set up Snort on a box to one have instance of Snort per core (or multiple per core). This is in fact the way many appliance builders get to high speeds with it. While this may be feasible for appliance builders, admins we talked to that run their own IDS/IPS think it&#8217;s a management nightmare.</p>
<p>As we&#8217;re a new project with a fresh codebase, there is going to be a lot of low hanging fruit in performance optimizations. I&#8217;ll give an example here. On a test pcap, with a reduced ruleset (about 10k rules), Suricata took about 400s to inspect. Then with a bigger ruleset (about 14k rules), it suddenly took 1600s! After a little bit of cache profiling it turned out that the part of the engine where the address part of a signature was inspected was horribly cache inefficient. In less than an afternoon I rewrote it to be more efficient. Result, the same test now completes in under 600s. This code is in the current git master and will be in 1.0.1.</p>
<p>My point here being that there will be lots of room for optimizations, and not just minor stuff. So far we&#8217;ve mostly focused on being accurate (we still have work to do here) and having the algorithms be correct. Hardly any tuning has been done. In our last OISF meeting we&#8217;ve gotten a few very interesting help offers for serious performance testing and tuning on some really big boxes, state of the art CUDA hardware, 10GBit labs, etc. So I expect a lot of progress in the months to follow.</p>
<p>It&#8217;s clear that we have work to do. What I&#8217;m really excited about is how fast that work is progressing, how much help we&#8217;re getting both from our brand new community and the industry, and the openness of our development process.</p>
<p>On a final note, during the development of this project we&#8217;ve found a lot of bugs and issues in other tools. Will Metcalf, who runs our QA, has been reporting many issues in Snort and VRT sigs to Sourcefire, in Emerging Threats sigs to the ET community. We&#8217;ve found bugs in other tools as well, for example in a neat library called libcap-ng. So everyone benefits from our work! <img src='http://www.inliniac.net/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.inliniac.net/blog/2010/07/22/on-suricata-performance.html/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Ohloh</title>
		<link>http://www.inliniac.net/blog/2010/06/30/ohloh.html</link>
		<comments>http://www.inliniac.net/blog/2010/06/30/ohloh.html#comments</comments>
		<pubDate>Wed, 30 Jun 2010 08:47:54 +0000</pubDate>
		<dc:creator>Victor Julien</dc:creator>
				<category><![CDATA[ModSecurity]]></category>
		<category><![CDATA[Snort]]></category>
		<category><![CDATA[Suricata]]></category>
		<category><![CDATA[Vuurmuur]]></category>
		<category><![CDATA[oisf]]></category>
		<category><![CDATA[ohloh]]></category>

		<guid isPermaLink="false">http://www.inliniac.net/blog/?p=374</guid>
		<description><![CDATA[Ohloh is a pretty cool site for keeping track of projects and programmers. It&#8217;s an easy way to keep track of the development in a project and gives a nice indication of how actively it&#8217;s being developed. It has some social networkish features too, such as individual developers giving each other &#8220;kudos&#8221;. The code analysis [...]]]></description>
			<content:encoded><![CDATA[<p><a href="https://www.ohloh.net/">Ohloh</a> is a pretty cool site for keeping track of projects and programmers. It&#8217;s an easy way to keep track of the development in a project and gives a nice indication of how actively it&#8217;s being developed. It has some social networkish features too, such as individual developers giving each other &#8220;kudos&#8221;.</p>
<p>The code analysis is pretty nice: it gives statistics on code base size, growth, comment ratio, languages used, etc. Per developer it tracks quite a few stats as well.</p>
<p>It also does a estimate of the cost of a project. For the <a href="http://www.ohloh.net/p/suricata-engine">Suricata project</a> it currently estimates cost of 2.1 million USD. Actual cost are significantly less than that, less than half of that. So either we are severely underpaid or the calculation is off quite a bit <img src='http://www.inliniac.net/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>The per developer <a href="http://www.ohloh.net/p/suricata-engine/contributors/2062731058418766">code statistics</a> show that I&#8217;ve &#8220;touched&#8221; 131k lines of code out of 148k which confirms what I already knew: I need some vacation&#8230;</p>
<p>Anyway, check it out. <a href="http://www.ohloh.net/p/vuurmuur">Vuurmuur</a> is on there, as are <a href="http://www.ohloh.net/p/snort">Snort</a> and <a href="http://www.ohloh.net/p/modsecurity">ModSecurity</a>.</p>
<p>Oh by the way, Suricata 1.0 coming out tomorrow!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.inliniac.net/blog/2010/06/30/ohloh.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Checking out SourceForge&#8217;s Marketplace</title>
		<link>http://www.inliniac.net/blog/2009/01/06/checking-out-sourceforges-marketplace.html</link>
		<comments>http://www.inliniac.net/blog/2009/01/06/checking-out-sourceforges-marketplace.html#comments</comments>
		<pubDate>Tue, 06 Jan 2009 14:26:31 +0000</pubDate>
		<dc:creator>Victor Julien</dc:creator>
				<category><![CDATA[Snort]]></category>
		<category><![CDATA[Snort_inline]]></category>
		<category><![CDATA[Vuurmuur]]></category>
		<category><![CDATA[marketplace]]></category>
		<category><![CDATA[sourceforge]]></category>

		<guid isPermaLink="false">http://www.inliniac.net/blog/?p=203</guid>
		<description><![CDATA[I&#8217;ve registered myself as a seller of services on SourceForge&#8217;s Open Source Marketplace. I&#8217;ve done so offering software development services for the Snort, Snort_inline and Vuurmuur projects. I was wondering if anyone has any experience (good or bad) with the Marketplace system, either as a buyer or seller of services. Let me know!]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve registered myself as a seller of services on SourceForge&#8217;s Open Source <a href="http://sourceforge.net/services/buy/index.php">Marketplace</a>. I&#8217;ve done so offering software development services for the <a href="http://www.snort.org/">Snort</a>, <a href="http://snort-inline.sf.net/">Snort_inline</a> and <a href="http://www.vuurmuur.org">Vuurmuur</a> projects. I was wondering if anyone has any experience (good or bad) with the Marketplace system, either as a buyer or seller of services. Let me know!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.inliniac.net/blog/2009/01/06/checking-out-sourceforges-marketplace.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Available for contract work</title>
		<link>http://www.inliniac.net/blog/2009/01/05/available-for-contract-work.html</link>
		<comments>http://www.inliniac.net/blog/2009/01/05/available-for-contract-work.html#comments</comments>
		<pubDate>Mon, 05 Jan 2009 13:26:06 +0000</pubDate>
		<dc:creator>Victor Julien</dc:creator>
				<category><![CDATA[IPS]]></category>
		<category><![CDATA[IPv6]]></category>
		<category><![CDATA[Personal]]></category>
		<category><![CDATA[SidReporter]]></category>
		<category><![CDATA[Snort]]></category>
		<category><![CDATA[Snort_inline]]></category>
		<category><![CDATA[ids]]></category>
		<category><![CDATA[oisf]]></category>

		<guid isPermaLink="false">http://www.inliniac.net/blog/?p=196</guid>
		<description><![CDATA[This year there will be a lot of work that needs to be done for the Open Infosec Foundation. And like I wrote a few days ago, a lot of work is already being done. However, most of it is unpaid at this time as it will be some months before our funding comes in. [...]]]></description>
			<content:encoded><![CDATA[<p>This year there will be a lot of work that needs to be done for the <a href="http://www.openinfosecfoundation.org/">Open Infosec Foundation</a>. And like I wrote a few days ago, a lot of work is already being done. However, most of it is unpaid at this time as it will be some months before our funding comes in. So at least until then I&#8217;m available and looking for contract work.</p>
<p>For the last two years I&#8217;ve been doing work as a contractor in the (open source) security field. My experience is mostly in coding in C and Perl, primarily on <a href="http://www.snort.org/">Snort</a> and <a href="http://snort-inline.sf.net/">Snort_inline</a>. Recently I created the (Perl language) <a href="http://doc.emergingthreats.net/bin/view/Main/SidReporter">SidReporter</a> program for <a href="http://www.emergingthreats.net/">Emerging Threats</a>. Areas I worked in: IPv6 IDS/IPS coding, signature writing, Web Application Firewalls, threading, bandwidth accounting, and more&#8230;</p>
<p>Checkout <a href="http://www.linkedin.com/in/victorjulien">my LinkedIn profile</a> for more info. My resume is available on request.</p>
<p>If you have some work or know someone that does, please let me know!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.inliniac.net/blog/2009/01/05/available-for-contract-work.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Snort_inline updated to 2.8.2.1 in SVN</title>
		<link>http://www.inliniac.net/blog/2008/06/18/snort_inline-updated-to-2821-in-svn.html</link>
		<comments>http://www.inliniac.net/blog/2008/06/18/snort_inline-updated-to-2821-in-svn.html#comments</comments>
		<pubDate>Wed, 18 Jun 2008 07:41:48 +0000</pubDate>
		<dc:creator>Victor Julien</dc:creator>
				<category><![CDATA[Snort]]></category>
		<category><![CDATA[Snort_inline]]></category>

		<guid isPermaLink="false">http://www.inliniac.net/blog/?p=126</guid>
		<description><![CDATA[This morning I updated our Snort_inline codebase with SourceFire&#8217;s just released 2.8.2.1 version. See the original changelogs here: 2.8.1, 2.8.2, 2.8.2.1. Also Richard Bejtlich and Nr have good posts about the improvements of the last versions. See Richards post about a fixed frag3 vulnerability here and see Nr&#8217;s post here. Please note that our SVN [...]]]></description>
			<content:encoded><![CDATA[<p>This morning I updated our Snort_inline codebase with SourceFire&#8217;s just released 2.8.2.1 version. See the original changelogs here: <a href="http://www.snort.org/docs/release_notes/release_notes_281.txt" target="_blank">2.8.1</a>, <a href="http://www.snort.org/docs/release_notes/release_notes_282.txt" target="_blank">2.8.2</a>, <a href="http://www.snort.org/docs/release_notes/release_notes_2821.txt" target="_blank">2.8.2.1</a>.</p>
<p>Also Richard Bejtlich and Nr have good posts about the improvements of the last versions. See Richards post about a fixed frag3 vulnerability <a href="http://taosecurity.blogspot.com/2008/05/snort-evasion-vulnerability-in-frag3.html" target="_blank">here</a> and see Nr&#8217;s post <a href="http://eatingsecurity.blogspot.com/2008/05/snort-281-changes-and-upgrading.html" target="_blank">here</a>.</p>
<p>Please note that our SVN code has seen limited testing so far, so be careful! Please report any issues!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.inliniac.net/blog/2008/06/18/snort_inline-updated-to-2821-in-svn.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Snort_inline 2.8 status</title>
		<link>http://www.inliniac.net/blog/2008/02/26/snort_inline-28-status.html</link>
		<comments>http://www.inliniac.net/blog/2008/02/26/snort_inline-28-status.html#comments</comments>
		<pubDate>Tue, 26 Feb 2008 17:12:15 +0000</pubDate>
		<dc:creator>Victor Julien</dc:creator>
				<category><![CDATA[Snort]]></category>
		<category><![CDATA[Snort_inline]]></category>
		<category><![CDATA[stickydrop]]></category>

		<guid isPermaLink="false">http://www.inliniac.net/blog/2008/02/26/snort_inline-28-status.html</guid>
		<description><![CDATA[A while ago I wrote about porting Snort_inline to 2.8.0.1. That worked well, however we are still trying to resolve some issues. Especially in stickydrop, that is just broken right now. Also, SourceFire released 2.8.0.2 last week, so we need to update to that too. First however, I will be traveling to California this week. [...]]]></description>
			<content:encoded><![CDATA[<p>A while ago I wrote about porting Snort_inline to 2.8.0.1. That worked well, however we are still trying to resolve some issues. Especially in stickydrop, that is just broken right now. Also, SourceFire released 2.8.0.2 last week, so we need to update to that too.</p>
<p>First however, I will be traveling to California this week. I will be meeting Will there, so I&#8217;ll try to get him to fix that damn code <img src='http://www.inliniac.net/blog/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.inliniac.net/blog/2008/02/26/snort_inline-28-status.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Snort_inline updated to 2.8.0.1 in SVN</title>
		<link>http://www.inliniac.net/blog/2008/01/09/snort_inline-updated-to-2801-in-svn.html</link>
		<comments>http://www.inliniac.net/blog/2008/01/09/snort_inline-updated-to-2801-in-svn.html#comments</comments>
		<pubDate>Wed, 09 Jan 2008 15:41:19 +0000</pubDate>
		<dc:creator>Victor Julien</dc:creator>
				<category><![CDATA[IPv6]]></category>
		<category><![CDATA[Snort]]></category>
		<category><![CDATA[Snort_inline]]></category>
		<category><![CDATA[libnet]]></category>
		<category><![CDATA[freebsd]]></category>
		<category><![CDATA[inline]]></category>
		<category><![CDATA[libdnet]]></category>
		<category><![CDATA[nitro security]]></category>

		<guid isPermaLink="false">http://www.inliniac.net/blog/2008/01/09/snort_inline-updated-to-2801-in-svn.html</guid>
		<description><![CDATA[I&#8217;ve just committed an update to Snort_inline&#8217;s SVN. It brings it to the Snort 2.8.0.1 level. It supports both IPv4 and IPv6 on IPQ and NFQ. I have not been able to test IPFW on IPv6, so I don&#8217;t think that will work currently. This update removes the libdnet dependency and replaces it with libnet [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve just committed an update to Snort_inline&#8217;s SVN. It brings it to the Snort 2.8.0.1 level. It supports both IPv4 and IPv6 on IPQ and NFQ. I have not been able to test IPFW on IPv6, so I don&#8217;t think that will work currently.</p>
<p>This update removes the libdnet dependency and replaces it with libnet 1.1. To be able to send ICMPv6 unreachable packets you will need the libnet 1.1 patch I wrote a while ago. You can find that <a href="http://www.inliniac.net/blog/2007/10/16/libnet-11-ipv6-fixes-and-additions.html">here</a>. Get the latest Snort_inline by checking out SVN:</p>
<p>svn co https://snort-inline.svn.sourceforge.net/svnroot/snort-inline/trunk</p>
<p>Consider the code to be of beta quality for now, so be careful with it. Please report any problems with it!</p>
<p>Again, a big thank you to NitroSecurity for funding this work!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.inliniac.net/blog/2008/01/09/snort_inline-updated-to-2801-in-svn.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Working on Snort_inline 2.8.0.1</title>
		<link>http://www.inliniac.net/blog/2007/12/22/working-on-snort_inline-2801.html</link>
		<comments>http://www.inliniac.net/blog/2007/12/22/working-on-snort_inline-2801.html#comments</comments>
		<pubDate>Sat, 22 Dec 2007 12:49:20 +0000</pubDate>
		<dc:creator>Victor Julien</dc:creator>
				<category><![CDATA[IPv6]]></category>
		<category><![CDATA[Snort]]></category>
		<category><![CDATA[Snort_inline]]></category>
		<category><![CDATA[inline]]></category>
		<category><![CDATA[ipv4]]></category>
		<category><![CDATA[libdnet]]></category>
		<category><![CDATA[nitro security]]></category>

		<guid isPermaLink="false">http://www.inliniac.net/blog/2007/12/22/working-on-snort_inline-2801.html</guid>
		<description><![CDATA[The last week I&#8217;ve been working on bringing Snort_inline to the Snort 2.8.0.1 level, including it&#8217;s IPv6 support. I&#8217;m almost ready to commit it to SVN, there are just some issues I need to fix in the inline specific code. The code will get rid of libdnet and use libnet 1.1 for sending reset/reject packets [...]]]></description>
			<content:encoded><![CDATA[<p>The last week I&#8217;ve been working on bringing Snort_inline to the Snort 2.8.0.1 level, including it&#8217;s IPv6 support. I&#8217;m almost ready to commit it to SVN, there are just some issues I need to fix in the inline specific code. The code will get rid of libdnet and use libnet 1.1 for sending reset/reject packets for both IPv4 and IPv6. After committing I will start working on getting the IPv6 features I wrote for NitroSecurity into this tree. This includes more matches, tunnel decoding (including for example the freenet6 tunnel, etc). So stay tuned!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.inliniac.net/blog/2007/12/22/working-on-snort_inline-2801.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Libnet 1.1 IPv6 fixes and additions</title>
		<link>http://www.inliniac.net/blog/2007/10/16/libnet-11-ipv6-fixes-and-additions.html</link>
		<comments>http://www.inliniac.net/blog/2007/10/16/libnet-11-ipv6-fixes-and-additions.html#comments</comments>
		<pubDate>Tue, 16 Oct 2007 21:35:11 +0000</pubDate>
		<dc:creator>Victor Julien</dc:creator>
				<category><![CDATA[IPv6]]></category>
		<category><![CDATA[Snort]]></category>
		<category><![CDATA[Snort_inline]]></category>
		<category><![CDATA[libnet]]></category>
		<category><![CDATA[icmpv6]]></category>
		<category><![CDATA[nitro security]]></category>

		<guid isPermaLink="false">http://www.inliniac.net/blog/2007/10/16/libnet-11-ipv6-fixes-and-additions.html</guid>
		<description><![CDATA[Libnet is a cool packet crafting tool, used by Snort to send TCP reset packets and ICMP unreachable packets as part of active responses. Libnet 1.1 supports IPv6 which is what I needed for my work. After some reading and testing there were a few problems. First, while possible to send TCP reset packets, the [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.packetfactory.net/libnet/" target="_blank">Libnet</a> is a cool packet crafting tool, used by <a href="http://www.snort.org/" target="_blank">Snort</a> to send TCP reset packets and ICMP unreachable packets as part of active responses. Libnet 1.1 supports IPv6 which is what I needed for my work. After some reading and testing there were a few problems. First, while possible to send TCP reset packets, the packets didn&#8217;t have a correct checksum and debugging this with valgrind showed lots of memory errors. Second, ICMPv6 was only partly implemented. The libnet_build_* functions for it are missing. This is, by the way, quite a common picture. Many libraries and projects have some support for IPv6, but generally incomplete and less well tested.</p>
<p>For my work on a IPv6 enabled <a href="http://snort-inline.sourceforge.net/" target="_blank">Snort_inline</a> I&#8217;ve only fixed the checksum issue and added a libnet_build_icmpv6_unreach() function. The patch against libnet 1.1.3-RC-01 can be found <a href="http://www.inliniac.net/files/libnet-1.1.3-RC-01-ipv6.diff.gz">here</a>. It&#8217;s development was funded by the great people of <a href="http://www.nitrosecurity.com/" target="_blank">NitroSecurity Inc.</a>, who are funding my work to bring IPv6 to Snort_inline. The work is not based on <a href="http://www.sourcefire.com/">Sourcefire</a>&#8216;s recent IPv6 implementation, so it will be interesting to see if and how those codebases can be used to improve each other. The changes to Snort_inline will be made available as well later, WhenItsDone(tm) <img src='http://www.inliniac.net/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Like with the support for NFQueue, NitroSecurity gives back to the community, which I really appreciate!</p>
<p>The patch: <a href="http://www.inliniac.net/files/libnet-1.1.3-RC-01-ipv6.diff.gz">http://www.inliniac.net/files/libnet-1.1.3-RC-01-ipv6.diff.gz</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.inliniac.net/blog/2007/10/16/libnet-11-ipv6-fixes-and-additions.html/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Snort license changes revisited</title>
		<link>http://www.inliniac.net/blog/2007/07/16/snort-license-changes-revisited.html</link>
		<comments>http://www.inliniac.net/blog/2007/07/16/snort-license-changes-revisited.html#comments</comments>
		<pubDate>Mon, 16 Jul 2007 21:40:29 +0000</pubDate>
		<dc:creator>Victor Julien</dc:creator>
				<category><![CDATA[Snort]]></category>
		<category><![CDATA[copyright]]></category>
		<category><![CDATA[gpl]]></category>
		<category><![CDATA[gplv2]]></category>
		<category><![CDATA[license]]></category>
		<category><![CDATA[sourcefire]]></category>

		<guid isPermaLink="false">http://www.inliniac.net/blog/2007/07/16/snort-license-changes-revisited.html</guid>
		<description><![CDATA[Today I noticed that Snort 2.7.0 was quietly released on July 12th. I have a problem with this release, a licensing problem. I have written about my issues with Sourcefires Snort licensing before here and on the mailinglist as well, here. They seem to have listened a little bit, since they are no longer claiming [...]]]></description>
			<content:encoded><![CDATA[<p>Today I noticed that Snort 2.7.0 was quietly released on July 12th. I have a problem with this release, a licensing problem. I have written about my issues with Sourcefires Snort licensing before <a href="http://www.inliniac.net/blog/2007/06/29/snort-and-the-gpl-version-3.html" target="_blank">here</a> and on the mailinglist as well, <a href="http://article.gmane.org/gmane.comp.security.ids.snort.general/26768/" target="_blank">here</a>. They seem to have listened a little bit, since they are no longer claiming copyright of Todd C. Millers BSD licensed strlcpy and strlcat implementation. Sadly, our other complaints are completely ignored.</p>
<p>Sourcefire claims that Snort is governed by the GPLv2 only. There is a problem with this claim. It&#8217;s actually a license change from the recent past. Snort used to be under &#8220;GPLv2 or (at your option) any later version&#8221;. Now it isn&#8217;t anymore. Thats a license change. Now don&#8217;t get me wrong, I don&#8217;t have any problem with Sourcefire relicensing their code. It&#8217;s their right do so. But only for <em>their</em> code. Not for my code, not for code they don&#8217;t own the copyright from. In other words, not for all of Snort.</p>
<p>Sourcefire changed the license also for the parts of Snort they don&#8217;t own. But, the funny thing is, Sourcefire isn&#8217;t even claiming full copyright on Snort. For example in <em>src/inline.c</em> they state &#8220;Portions Copyright (C) 1998-2006 Sourcefire, Inc.&#8221;. In another example, the file <em>src/preprocessors/spp_arpspoof.c</em> states &#8220;Copyright (C) 2001-2004 Jeff Nathan &lt;jeff@snort.org&gt;&#8221;. There are many more files where Sourcefire doesn&#8217;t claim the (full) copyright for an obvious reason. They don&#8217;t own it for these files.</p>
<p>Sourcefire says it is distributing Snort under the GPLv2 so that&#8217;s the license governing it. Yes it&#8217;s true: Snort until this day is and was distributed with a copy of the GPLv2 license. But their site until very recently clearly stated &#8220;This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.&#8221; (<a href="http://web.archive.org/web/20070311183903/www.snort.org/about_snort/licenses/gpl.html" target="_blank">source</a>). How recent is recently? Well the newest archived version of the Snort site in the wayback machine is from May 9th, 2007. It has the above text, thats less than three months ago. This was no accident, this line of text has been on the Snort site as long as the wayback machine takes us back, which is until the year 2000. But wait, there is more: Many, I estimate the majority, of the source files of the Snort source code of Snort 2.6.1.5 contain that same line as well.</p>
<p>So now Sourcefires claims that &#8220;SNORT is an open source project that is governed exclusively by the GPL V2 and any third party desiring to use, modify or distribute SNORT must do so by strictly following the terms and conditions of GPL V2. Anyone using, modifying or distributing SNORT does not have the option to choose to use, modify or distribute SNORT under any revised or new version of the GPL, including without limitation, the GNU General Public License Version 3.&#8221; (<a href="http://snort.org/about_snort/licenses/gplv2.html" target="_blank">source</a>) This is clearly a license change because under the conditions active until at least May 9th, 2007, the user was free to select a newer version of the license as well. The funny thing is, the original page stating this is still online at <a href="http://www.snort.org/about_snort/licenses/gpl.html" target="_blank">snort.org</a>. And that STILL says &#8220;GPLv2 or (at your option) any later version&#8221;.</p>
<p>I draw two conclusions from this. First, there was a license change. It&#8217;s clear that Snort used to be under the &#8220;GPLv2 or (at your option) any later version.&#8221; The page claiming that until at least May 9th of this year is even still online. Until 2.6.1.5 (and possibly 2.7.0rc1) most of the source code contained the same language. Second, Sourcefire had no right to relicense <em>all</em> of Snort. They have no right because they don&#8217;t own all of the copyright. What can they do about it? Simple: remove the current 2.7.0 release, and replace it by one that respects everyones rights!</p>
<p><em>Disclaimer: I&#8217;m not a lawyer, nor do I look like one or am I married to one. But I believe my point of view is correct. If you believe it&#8217;s not, please let me know.</em></p>
]]></content:encoded>
			<wfw:commentRss>http://www.inliniac.net/blog/2007/07/16/snort-license-changes-revisited.html/feed</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
	</channel>
</rss>
