Bug 751244

Summary: svnserve not in /etc/services
Product: [Fedora] Fedora Reporter: Matthew Saltzman <mjs>
Component: subversionAssignee: Joe Orton <jorton>
Status: CLOSED NOTABUG QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 15CC: jorton, vanmeeuwen+fedora, ville.skytta
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2011-11-16 18:59:58 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:

Description Matthew Saltzman 2011-11-04 02:23:42 UTC
Description of problem:
/etc/services does not contain an entry for svnserve/tcp.  When using xinetd to
start svnserve on access, it reports 

"service/protocol combination not in /etc/services: svnserve/tcp"

and refuses to listen.

Version-Release number of selected component (if applicable):
subversion-1.6.17-1.fc15.x86_64

How reproducible:
always

Steps to Reproduce:
1. Configure /etc/xinetd.d/svnserve
2. Restart xinetd
3. Try to connect to the svn port

Actual results:
Fail.

Expected results:
Connection to svnserve

Additional info:
Probably also in Fedora 16, but I haven't checked.

Comment 1 Ville Skyttä 2011-11-15 21:28:39 UTC
What does the xinetd.d configuration you did look like?

Note that there is a "svn" entry in /etc/services since 2004 (see bug 122863), doesn't that work for you?

Comment 2 Matthew Saltzman 2011-11-16 15:38:25 UTC
(In reply to comment #1)
> What does the xinetd.d configuration you did look like?

# default: on
# Subversion server
service svnserve
{
    socket_type = stream
    protocol = tcp
    user = xxxx
    wait = no
    disable = no
    server = /usr/bin/svnserve
    server_args = -i -r /home/xxxx/SVN
    port = 3690
}

I saw the same basic one on several different Web sites describing how to run the Subversion server.

> 
> Note that there is a "svn" entry in /etc/services since 2004 (see bug 122863),
> doesn't that work for you?

No. I guess the service name has to match the name of the executable file.

Comment 3 Matthew Saltzman 2011-11-16 15:40:03 UTC
Also, the sites that described the xinetd config also say to add the svnserve entries to /etc/services to make it work.

Comment 4 Ville Skyttä 2011-11-16 18:59:58 UTC
I cannot comment on information on unspecified web sites, but svn is the official IANA registered name for the protocol in question, and that's what we have in /etc/services (that file by the way is the "setup" package's business, not subversion's):
http://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.txt

The service name does not have to match the executable name, nor does the xinetd.d filename matter wrt. this.  Just change the service name after "service" in the xinetd.d config file to svn and it should work (you can also drop port = 3690 after that if you're happy with the default):

# default: on
# Subversion server
service svn
{
    socket_type = stream
    protocol = tcp
    user = xxxx
    wait = no
    disable = no
    server = /usr/bin/svnserve
    server_args = -i -r /tmp/SVN
}

Comment 5 Matthew Saltzman 2011-11-16 19:19:41 UTC
OK Makes sense.  Thanks for your help, and sorry to bother...