[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: incomplete http authentication with svn 1.5 and neon 0.28

From: Olaf Hering <olh_at_suse.de>
Date: Fri, 29 Feb 2008 16:39:26 +0100

On Fri, Feb 29, Joe Orton wrote:

> On Fri, Feb 29, 2008 at 03:47:39PM +0100, Olaf Hering wrote:
> > How much does svn control how neon does transmit authentication data to
> > the server? Current 1.5 branch does not transfer auth data with neon
> > 0.28, while neon 0.27 works ok.
> >
> > I run this command:
> >
> > env -i /usr/bin/strace -tt -f -s 1234 -o /dev/shm/aaa \
> > /usr/bin/svn commit --username olh -m 'testcommit 1.5'
> >
> > At some point, strace shows a send("MKACTIVITY ...).
> > With neon 0.27, it contains Authorization:, username=, realm=, nonce=,
> > uri=, response=, algorithm=, cnonce=, nc= and qop=.
> > But with neon 0.28, all that is missing. the last entry is
> > Accept-Encoding: gzip.
>
> What error do you get? Can you capture the stderr output with
> "neon-debug-mask = 511" set in the globals section of
> ~/.subversion/servers and upload that somewhere?

Commiting works with https://svn.suse.de, an internal server.

nobody_at_pear:~/yast-trunk> env -i /usr/bin/strace -tt -f -s 1234 -o /dev/shm/xxx /usr/bin/svn commit --username olh -m 'testcommit 1.5'
ah_create, for WWW-Authenticate
Running pre_send hooks
compress: Initialization.
Sending request headers:
OPTIONS /svn/yast/trunk/yast2/library/modules HTTP/1.1
Host: svn.opensuse.org
User-Agent: SVN/1.5.0 (dev build) neon/0.28.0
Keep-Alive:
Connection: TE, Keep-Alive
TE: trailers
DAV: http://subversion.tigris.org/xmlns/dav/svn/depth
DAV: http://subversion.tigris.org/xmlns/dav/svn/mergeinfo
DAV: http://subversion.tigris.org/xmlns/dav/svn/log-revprops
Accept-Encoding: gzip

Sending request-line and headers:
Doing DNS lookup on svn.opensuse.org...
Connecting to 195.135.221.79
Request sent; retry is 0.
[status-line] < HTTP/1.1 200 OK
[hdr] Date: Fri, 29 Feb 2008 15:35:08 GMT
Header Name: [date], Value: [Fri, 29 Feb 2008 15:35:08 GMT]
[hdr] Server: Apache/2.2.3 (Linux/SUSE)
Header Name: [server], Value: [Apache/2.2.3 (Linux/SUSE)]
[hdr] DAV: 1,2
Header Name: [dav], Value: [1,2]
[hdr] DAV: version-control,checkout,working-resource
Header Name: [dav], Value: [version-control,checkout,working-resource]
[hdr] DAV: merge,baseline,activity,version-controlled-collection
Header Name: [dav], Value: [merge,baseline,activity,version-controlled-collection]
[hdr] MS-Author-Via: DAV
Header Name: [ms-author-via], Value: [DAV]
[hdr] Allow: OPTIONS,GET,HEAD,POST,DELETE,TRACE,PROPFIND,PROPPATCH,COPY,MOVE,LOCK,UNLOCK,CHECKOUT
Header Name: [allow], Value: [OPTIONS,GET,HEAD,POST,DELETE,TRACE,PROPFIND,PROPPATCH,COPY,MOVE,LOCK,UNLOCK,CHECKOUT]
[hdr] Content-Length: 0
Header Name: [content-length], Value: [0]
[hdr] Keep-Alive: timeout=15, max=100
Header Name: [keep-alive], Value: [timeout=15, max=100]
[hdr] Connection: Keep-Alive
Header Name: [connection], Value: [Keep-Alive]
[hdr] Content-Type: text/plain
Header Name: [content-type], Value: [text/plain]
[hdr]
End of headers.
Running post_headers hooks
Running post_send hooks
ah_post_send (#0), code is 200 (want 401), WWW-Authenticate is (none)
Request ends, status 200 class 2xx, error line:
200 OK
Running destroy hooks.
Request ends.
ah_create, for WWW-Authenticate
Running pre_send hooks
compress: Initialization.
compress: Initialization.
Sending request headers:
OPTIONS /svn/yast/trunk/yast2/library/modules HTTP/1.1
Host: svn.opensuse.org
User-Agent: SVN/1.5.0 (dev build) neon/0.28.0
Connection: TE
TE: trailers
Content-Type: text/xml
Accept-Encoding: gzip
Content-Length: 104
Accept-Encoding: gzip

Sending request-line and headers:
Sending request body:
Body block (104 bytes):
[<?xml version="1.0" encoding="utf-8"?><D:options xmlns:D="DAV:"><D:activity-collection-set/></D:options>]
Request sent; retry is 1.
[status-line] < HTTP/1.1 200 OK
[hdr] Date: Fri, 29 Feb 2008 15:35:08 GMT
Header Name: [date], Value: [Fri, 29 Feb 2008 15:35:08 GMT]
[hdr] Server: Apache/2.2.3 (Linux/SUSE)
Header Name: [server], Value: [Apache/2.2.3 (Linux/SUSE)]
[hdr] DAV: 1,2
Header Name: [dav], Value: [1,2]
[hdr] DAV: version-control,checkout,working-resource
Header Name: [dav], Value: [version-control,checkout,working-resource]
[hdr] DAV: merge,baseline,activity,version-controlled-collection
Header Name: [dav], Value: [merge,baseline,activity,version-controlled-collection]
[hdr] MS-Author-Via: DAV
Header Name: [ms-author-via], Value: [DAV]
[hdr] Allow: OPTIONS,GET,HEAD,POST,DELETE,TRACE,PROPFIND,PROPPATCH,COPY,MOVE,LOCK,UNLOCK,CHECKOUT
Header Name: [allow], Value: [OPTIONS,GET,HEAD,POST,DELETE,TRACE,PROPFIND,PROPPATCH,COPY,MOVE,LOCK,UNLOCK,CHECKOUT]
[hdr] Content-Length: 188
Header Name: [content-length], Value: [188]
[hdr] Content-Type: text/xml; charset="utf-8"
Header Name: [content-type], Value: [text/xml; charset="utf-8"]
[hdr]
End of headers.
Running post_headers hooks
Reading 188 bytes of response body.
Got 188 bytes.
Read block (188 bytes):
[<?xml version="1.0" encoding="utf-8"?>
<D:options-response xmlns:D="DAV:">
<D:activity-collection-set><D:href>/svn/yast/!svn/act/</D:href></D:activity-collection-set></D:options-response>
]
XML: Parsing 188 bytes.
XML: start-element (0, {DAV:, options-response}) => 212
XML: char-data (212) returns 0
XML: start-element (212, {DAV:, activity-collection-set}) => 200
XML: start-element (200, {DAV:, href}) => 103
XML: char-data (103) returns 0
XML: end-element (103, {DAV:, href})
XML: end-element (200, {DAV:, activity-collection-set})
XML: end-element (212, {DAV:, options-response})
XML: XML_Parse returned 1
XML: End of document.
XML: XML_Parse returned 1
Running post_send hooks
ah_post_send (#0), code is 200 (want 401), WWW-Authenticate is (none)
Request ends, status 200 class 2xx, error line:
200 OK
Running destroy hooks.
Request ends.
ah_create, for WWW-Authenticate
Running pre_send hooks
compress: Initialization.
compress: Initialization.
Sending request headers:
MKACTIVITY /svn/yast/!svn/act/e871f67c-e6db-11dc-9c0c-e31cea9aac58 HTTP/1.1
Host: svn.opensuse.org
User-Agent: SVN/1.5.0 (dev build) neon/0.28.0
Connection: TE
TE: trailers
Accept-Encoding: gzip
Content-Length: 0
Accept-Encoding: gzip

Sending request-line and headers:
Request sent; retry is 1.
[status-line] < HTTP/1.1 401 Authorization Required
[hdr] Date: Fri, 29 Feb 2008 15:35:08 GMT
Header Name: [date], Value: [Fri, 29 Feb 2008 15:35:08 GMT]
[hdr] Server: Apache/2.2.3 (Linux/SUSE)
Header Name: [server], Value: [Apache/2.2.3 (Linux/SUSE)]
[hdr] WWW-Authenticate: Digest realm="Authorization needed to access the yast subversion repository", nonce="bTh/yE1HBAA=3f7b711ed64bb9c11e393989a23cf08481876379", algorithm=MD5, domain="/svn/yast http://svn.opensuse.org/svn/yast", qop="auth"
Header Name: [www-authenticate], Value: [Digest realm="Authorization needed to access the yast subversion repository", nonce="bTh/yE1HBAA=3f7b711ed64bb9c11e393989a23cf08481876379", algorithm=MD5, domain="/svn/yast http://svn.opensuse.org/svn/yast", qop="auth"]
[hdr] Vary: accept-language,accept-charset
Header Name: [vary], Value: [accept-language,accept-charset]
[hdr] Accept-Ranges: bytes
Header Name: [accept-ranges], Value: [bytes]
[hdr] Transfer-Encoding: chunked
Header Name: [transfer-encoding], Value: [chunked]
[hdr] Content-Type: text/html; charset=iso-8859-1
Header Name: [content-type], Value: [text/html; charset=iso-8859-1]
[hdr] Content-Language: en
Header Name: [content-language], Value: [en]
[hdr]
End of headers.
Running post_headers hooks
[chunk] < 1e
Got chunk size: 30
Reading 30 bytes of response body.
Got 30 bytes.
Read block (30 bytes):
[<?xml version="1.0" encoding="]
[chunk] < af
Got chunk size: 175
Reading 175 bytes of response body.
Got 175 bytes.
Read block (175 bytes):
[ISO-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="]
[chunk] < e
Got chunk size: 14
Reading 14 bytes of response body.
Got 14 bytes.
Read block (14 bytes):
[en" xml:lang="]
[chunk] < 13
Got chunk size: 19
Reading 19 bytes of response body.
Got 19 bytes.
Read block (19 bytes):
[en">
<head>
<title>]
[chunk] < 3f
Got chunk size: 63
Reading 63 bytes of response body.
Got 63 bytes.
Read block (63 bytes):
[Authentication required!</title>
<link rev="made" href="mailto:]
[chunk] < 10e
Got chunk size: 270
Reading 270 bytes of response body.
Got 270 bytes.
Read block (270 bytes):
[svnadmin_at_opensuse.org" />
<style type="text/css"><!--/*--><![CDATA[/*><!--*/
    body { color: #000000; background-color: #FFFFFF; }
    a:link { color: #0000CC; }
    p, address {margin-left: 3em;}
    span {font-size: smaller;}
/*]]>*/--></style>
</head>

<body>
<h1>]
[chunk] < 22
Got chunk size: 34
Reading 34 bytes of response body.
Got 34 bytes.
Read block (34 bytes):
[Authentication required!</h1>
<p>
]
[chunk] < 52
Got chunk size: 82
Reading 82 bytes of response body.
Got 82 bytes.
Read block (82 bytes):
[

    This server could not verify that you are authorized to access
    the URL "]
[chunk] < d0
Got chunk size: 208
Reading 208 bytes of response body.
Got 208 bytes.
Read block (208 bytes):
[/svn/yast/!svn/act/e871f67c-e6db-11dc-9c0c-e31cea9aac58".
    You either supplied the wrong credentials (e.g., bad password), or your
    browser doesn't understand how to supply the credentials required.

  ]
[chunk] < 9
Got chunk size: 9
Reading 9 bytes of response body.
Got 9 bytes.
Read block (9 bytes):
[</p>
<p>
]
[chunk] < 72
Got chunk size: 114
Reading 114 bytes of response body.
Got 114 bytes.
Read block (114 bytes):
[

    In case you are allowed to request the document, please
    check your user-id and password and try again.

]
[chunk] < 9
Got chunk size: 9
Reading 9 bytes of response body.
Got 9 bytes.
Read block (9 bytes):
[</p>
<p>
]
[chunk] < 48
Got chunk size: 72
Reading 72 bytes of response body.
Got 72 bytes.
Read block (72 bytes):
[If you think this is a server error, please contact
the <a href="mailto:]
[chunk] < 26
Got chunk size: 38
Reading 38 bytes of response body.
Got 38 bytes.
Read block (38 bytes):
[svnadmin_at_opensuse.org">webmaster</a>.
]
[chunk] < 11
Got chunk size: 17
Reading 17 bytes of response body.
Got 17 bytes.
Read block (17 bytes):
[
</p>

<h2>Error ]
[chunk] < 21
Got chunk size: 33
Reading 33 bytes of response body.
Got 33 bytes.
Read block (33 bytes):
[401</h2>
<address>
  <a href="/">]
[chunk] < 1d
Got chunk size: 29
Reading 29 bytes of response body.
Got 29 bytes.
Read block (29 bytes):
[svn.opensuse.org</a><br />
  ]
[chunk] < 9
Got chunk size: 9
Reading 9 bytes of response body.
Got 9 bytes.
Read block (9 bytes):
[
  <span>]
[chunk] < 21
Got chunk size: 33
Reading 33 bytes of response body.
Got 33 bytes.
Read block (33 bytes):
[Fri Feb 29 16:35:08 2008<br />
  ]
[chunk] < 3c
Got chunk size: 60
Reading 60 bytes of response body.
Got 60 bytes.
Read block (60 bytes):
[Apache/2.2.3 (Linux/SUSE)</span>
</address>
</body>
</html>
]
[chunk] < 1
Got chunk size: 1
Reading 1 bytes of response body.
Got 1 bytes.
Read block (1 bytes):
[
]
[chunk] < 0
Got chunk size: 0
[hdr]
End of headers.
Running post_send hooks
ah_post_send (#0), code is 401 (want 401), WWW-Authenticate is Digest realm="Authorization needed to access the yast subversion repository", nonce="bTh/yE1HBAA=3f7b711ed64bb9c11e393989a23cf08481876379", algorithm=MD5, domain="/svn/yast http://svn.opensuse.org/svn/yast", qop="auth"
auth: Got challenge (code 401).
auth: Got 'Digest' challenge.
auth: Trying Digest challenge...
auth: Using domain (null) from /svn/yast
auth: Ignoring domain http://svn.opensuse.org/svn/yast
Authentication realm: <http://svn.opensuse.org:80> Authorization needed to access the yast subversion repository
Password for 'olh':
auth: Got qop, using 2617-style.
auth: H(A1) is [7aa6d86804ce8d7deaac448c3ea1a7fc]
auth: Accepting digest challenge.
auth: Accepted Digest challenge.
Running pre_send hooks
auth: Sending 'Digest' response.
auth: '/svn/yast/!svn/act/e871f67c-e6db-11dc-9c0c-e31cea9aac58' is inside auth domain: 0.
compress: Initialization.
compress: Initialization.
Sending request headers:
MKACTIVITY /svn/yast/!svn/act/e871f67c-e6db-11dc-9c0c-e31cea9aac58 HTTP/1.1
Host: svn.opensuse.org
User-Agent: SVN/1.5.0 (dev build) neon/0.28.0
Connection: TE
TE: trailers
Accept-Encoding: gzip
Content-Length: 0
Accept-Encoding: gzip

Sending request-line and headers:
Request sent; retry is 1.
[status-line] < HTTP/1.1 401 Authorization Required
[hdr] Date: Fri, 29 Feb 2008 15:35:22 GMT
Header Name: [date], Value: [Fri, 29 Feb 2008 15:35:22 GMT]
[hdr] Server: Apache/2.2.3 (Linux/SUSE)
Header Name: [server], Value: [Apache/2.2.3 (Linux/SUSE)]
[hdr] WWW-Authenticate: Digest realm="Authorization needed to access the yast subversion repository", nonce="TctMyU1HBAA=868e9f40ba7f767ee7cbfaac89fcf1be1066f2ef", algorithm=MD5, domain="/svn/yast http://svn.opensuse.org/svn/yast", qop="auth"
Header Name: [www-authenticate], Value: [Digest realm="Authorization needed to access the yast subversion repository", nonce="TctMyU1HBAA=868e9f40ba7f767ee7cbfaac89fcf1be1066f2ef", algorithm=MD5, domain="/svn/yast http://svn.opensuse.org/svn/yast", qop="auth"]
[hdr] Vary: accept-language,accept-charset
Header Name: [vary], Value: [accept-language,accept-charset]
[hdr] Accept-Ranges: bytes
Header Name: [accept-ranges], Value: [bytes]
[hdr] Transfer-Encoding: chunked
Header Name: [transfer-encoding], Value: [chunked]
[hdr] Content-Type: text/html; charset=iso-8859-1
Header Name: [content-type], Value: [text/html; charset=iso-8859-1]
[hdr] Content-Language: en
Header Name: [content-language], Value: [en]
[hdr]
End of headers.
Running post_headers hooks
[chunk] < 1e
Got chunk size: 30
Reading 30 bytes of response body.
Got 30 bytes.
Read block (30 bytes):
[<?xml version="1.0" encoding="]
[chunk] < af
Got chunk size: 175
Reading 175 bytes of response body.
Got 175 bytes.
Read block (175 bytes):
[ISO-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="]
[chunk] < e
Got chunk size: 14
Reading 14 bytes of response body.
Got 14 bytes.
Read block (14 bytes):
[en" xml:lang="]
[chunk] < 13
Got chunk size: 19
Reading 19 bytes of response body.
Got 19 bytes.
Read block (19 bytes):
[en">
<head>
<title>]
[chunk] < 3f
Got chunk size: 63
Reading 63 bytes of response body.
Got 63 bytes.
Read block (63 bytes):
[Authentication required!</title>
<link rev="made" href="mailto:]
[chunk] < 10e
Got chunk size: 270
Reading 270 bytes of response body.
Got 270 bytes.
Read block (270 bytes):
[svnadmin_at_opensuse.org" />
<style type="text/css"><!--/*--><![CDATA[/*><!--*/
    body { color: #000000; background-color: #FFFFFF; }
    a:link { color: #0000CC; }
    p, address {margin-left: 3em;}
    span {font-size: smaller;}
/*]]>*/--></style>
</head>

<body>
<h1>]
[chunk] < 22
Got chunk size: 34
Reading 34 bytes of response body.
Got 34 bytes.
Read block (34 bytes):
[Authentication required!</h1>
<p>
]
[chunk] < 52
Got chunk size: 82
Reading 82 bytes of response body.
Got 82 bytes.
Read block (82 bytes):
[

    This server could not verify that you are authorized to access
    the URL "]
[chunk] < d0
Got chunk size: 208
Reading 208 bytes of response body.
Got 208 bytes.
Read block (208 bytes):
[/svn/yast/!svn/act/e871f67c-e6db-11dc-9c0c-e31cea9aac58".
    You either supplied the wrong credentials (e.g., bad password), or your
    browser doesn't understand how to supply the credentials required.

  ]
[chunk] < 9
Got chunk size: 9
Reading 9 bytes of response body.
Got 9 bytes.
Read block (9 bytes):
[</p>
<p>
]
[chunk] < 72
Got chunk size: 114
Reading 114 bytes of response body.
Got 114 bytes.
Read block (114 bytes):
[

    In case you are allowed to request the document, please
    check your user-id and password and try again.

]
[chunk] < 9
Got chunk size: 9
Reading 9 bytes of response body.
Got 9 bytes.
Read block (9 bytes):
[</p>
<p>
]
[chunk] < 48
Got chunk size: 72
Reading 72 bytes of response body.
Got 72 bytes.
Read block (72 bytes):
[If you think this is a server error, please contact
the <a href="mailto:]
[chunk] < 26
Got chunk size: 38
Reading 38 bytes of response body.
Got 38 bytes.
Read block (38 bytes):
[svnadmin_at_opensuse.org">webmaster</a>.
]
[chunk] < 11
Got chunk size: 17
Reading 17 bytes of response body.
Got 17 bytes.
Read block (17 bytes):
[
</p>

<h2>Error ]
[chunk] < 21
Got chunk size: 33
Reading 33 bytes of response body.
Got 33 bytes.
Read block (33 bytes):
[401</h2>
<address>
  <a href="/">]
[chunk] < 1d
Got chunk size: 29
Reading 29 bytes of response body.
Got 29 bytes.
Read block (29 bytes):
[svn.opensuse.org</a><br />
  ]
[chunk] < 9
Got chunk size: 9
Reading 9 bytes of response body.
Got 9 bytes.
Read block (9 bytes):
[
  <span>]
[chunk] < 21
Got chunk size: 33
Reading 33 bytes of response body.
Got 33 bytes.
Read block (33 bytes):
[Fri Feb 29 16:35:22 2008<br />
  ]
[chunk] < 3c
Got chunk size: 60
Reading 60 bytes of response body.
Got 60 bytes.
Read block (60 bytes):
[Apache/2.2.3 (Linux/SUSE)</span>
</address>
</body>
</html>
]
[chunk] < 1
Got chunk size: 1
Reading 1 bytes of response body.
Got 1 bytes.
Read block (1 bytes):
[
]
[chunk] < 0
Got chunk size: 0
[hdr]
End of headers.
Running post_send hooks
ah_post_send (#1), code is 401 (want 401), WWW-Authenticate is Digest realm="Authorization needed to access the yast subversion repository", nonce="TctMyU1HBAA=868e9f40ba7f767ee7cbfaac89fcf1be1066f2ef", algorithm=MD5, domain="/svn/yast http://svn.opensuse.org/svn/yast", qop="auth"
auth: Got challenge (code 401).
auth: Got 'Digest' challenge.
auth: Trying Digest challenge...
auth: Using domain (null) from /svn/yast
auth: Ignoring domain http://svn.opensuse.org/svn/yast
Authentication realm: <http://svn.opensuse.org:80> Authorization needed to access the yast subversion repository
Username:

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe_at_subversion.tigris.org
For additional commands, e-mail: dev-help_at_subversion.tigris.org
Received on 2008-02-29 16:40:22 CET

This is an archived mail posted to the Subversion Dev mailing list.