<?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>Never Use This Font &#187; subversion</title>
	<atom:link href="http://neverusethisfont.com/blog/tags/subversion/feed/" rel="self" type="application/rss+xml" />
	<link>http://neverusethisfont.com/blog</link>
	<description>Aaron Parecki is the co-founder of Geoloqi.com, and specializes in backend systems development.</description>
	<lastBuildDate>Mon, 11 Jul 2011 22:50:38 +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>Configuring the subversion server</title>
		<link>http://neverusethisfont.com/blog/2006/04/configuring-the-subversion-server/</link>
		<comments>http://neverusethisfont.com/blog/2006/04/configuring-the-subversion-server/#comments</comments>
		<pubDate>Sun, 30 Apr 2006 19:17:54 +0000</pubDate>
		<dc:creator>aaron</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Server Software]]></category>
		<category><![CDATA[subversion]]></category>
		<category><![CDATA[svn]]></category>

		<guid isPermaLink="false">http://blog.neverusethisfont.com/2006/04/configuring-the-subversion-server/</guid>
		<description><![CDATA[]]></description>
			<content:encoded><![CDATA[<p>I didn&#8217;t realize it before, but the subversion server running without tunneling over ssh doesn&#8217;t actually send the password in the clear when authenticating users. From the subversion book:</p>
<blockquote><p>At the time of writing, the server only knows how to send a CRAM-MD5 authentication challenge. In essence, the server sends a bit of data to the client. The client uses the MD5 hash algorithm to create a fingerprint of the data and password combined, then sends the fingerprint as a response. The server performs the same computation with the stored password to verify that the result is identical. <i>At no point does the actual password travel over the network.</i></p></blockquote>
<p>This makes me feel much more comfortable. So I&#8217;ve been switching all my repositories to use just the svn:// protocol. This means I have to run the svnserve program, since by using svn+ssh, no daemon is required.</p>
<p>I want to use xinetd to start the svnserve program. There was already a config file called /etc/xinetd.d/svn which would start the server. However, the path to svnserve was wrong. I changed it to look like this:</p>
<blockquote class="code"><p>
service svn<br />
{<br />
 id  = stream<br />
 socket_type = stream<br />
 protocol = tcp<br />
 user  = svn<br />
 wait  = no<br />
 disable  = no<br />
 server  = /usr/local/bin/svnserve<br />
 server_args     = -i -r /svn<br />
}
</p></blockquote>
<p>I removed the line type=INTERNAL.<br />
Turns out you can&#8217;t specify arguments to pass to the program on the server= line, you have to do it in the server_args line (which wasn&#8217;t there before). Note: -r /svn makes svnserve only serve repositories under the /svn folder.</p>
<p>You might at some point get a &#8220;svn: Malformed header&#8221; error message. This will happen if svnserve is run by xinetd.d but not running with the -i switch. </p>
<p>Now that svnserve is finally running, I can configure access to each repository individually. There are details on how to do this in the <a href="http://svnbook.red-bean.com/nightly/en/svn.serverconfig.svnserve.html#svn.serverconfig.svnserve.auth" >Subversion Book</a>. I wasn&#8217;t able to control access on a repository-by-repository level when running with svn+ssh (aside from configuring unix users/groups, but that would be a pain.)</p>
]]></content:encoded>
			<wfw:commentRss>http://neverusethisfont.com/blog/2006/04/configuring-the-subversion-server/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

