On Sunday 21 February 2016 08:59 PM, P'tit g wrote:
Package: calendarserver
Version: 7.0+dfsg-1
Severity: important

Dear Maintainer,

Server returns "Internal Server Error" when call with ipv4 (but it is ok with 
ipv4 loopback).

curl -X PROPFIND -H "Content-Type: text/xml" -H "Depth: 0" -u test --digest --data-binary '<?xml version="1.0" encoding="UTF-8" 
?><propfind xmlns="DAV:" xmlns:CAL="urn:ietf:params:xml:ns:caldav" 
xmlns:CARD="urn:ietf:params:xml:ns:carddav"><prop><current-user-principal/></prop></propfind>' http://HOST:8008/principals/

It is OK for HOST = [::1], [fd1f:2b2b:3c3c::4d], ip6-localhost, 127.0.0.1, 
localhost
It doesn't work with HOST = 192.168.1.103

Logs :

2016-02-21 16:23:41+0100 [-] [caldav-1]  [-] [twext.internet.sendfdport#error] 
doRead()
2016-02-21 16:23:41+0100 [-] [caldav-1]         Traceback (most recent call 
last):
2016-02-21 16:23:41+0100 [-] [caldav-1]           File 
"/usr/lib/python2.7/dist-packages/twisted/python/log.py", line 84, in 
callWithContext
2016-02-21 16:23:41+0100 [-] [caldav-1]             return 
context.call({ILogContext: newCtx}, func, *args, **kw)
2016-02-21 16:23:41+0100 [-] [caldav-1]           File 
"/usr/lib/python2.7/dist-packages/twisted/python/context.py", line 118, in 
callWithContext
2016-02-21 16:23:41+0100 [-] [caldav-1]             return 
self.currentContext().callWithContext(ctx, func, *args, **kw)
2016-02-21 16:23:41+0100 [-] [caldav-1]           File 
"/usr/lib/python2.7/dist-packages/twisted/python/context.py", line 81, in 
callWithContext
2016-02-21 16:23:41+0100 [-] [caldav-1]             return func(*args,**kw)
2016-02-21 16:23:41+0100 [-] [caldav-1]           File 
"/usr/lib/python2.7/dist-packages/twisted/internet/selectreactor.py", line 149, 
in _doReadOrWrite
2016-02-21 16:23:41+0100 [-] [caldav-1]             why = getattr(selectable, 
method)()
2016-02-21 16:23:41+0100 [-] [caldav-1]         --- <exception caught here> ---
2016-02-21 16:23:41+0100 [-] [caldav-1]           File 
"/usr/lib/python2.7/dist-packages/twext/internet/sendfdport.py", line 520, in 
doRead
2016-02-21 16:23:41+0100 [-] [caldav-1]             
protocol.makeConnection(transport)
2016-02-21 16:23:41+0100 [-] [caldav-1]           File 
"/usr/lib/python2.7/dist-packages/twisted/internet/protocol.py", line 494, in 
makeConnection
2016-02-21 16:23:41+0100 [-] [caldav-1]             self.connectionMade()
2016-02-21 16:23:41+0100 [-] [caldav-1]           File 
"/usr/lib/python2.7/dist-packages/txweb2/channel/http.py", line 814, in 
connectionMade
2016-02-21 16:23:41+0100 [-] [caldav-1]             self._host = 
_cachedGetHostByAddr(address.host)
2016-02-21 16:23:41+0100 [-] [caldav-1]           File 
"/usr/lib/python2.7/dist-packages/txweb2/channel/http.py", line 119, in 
_cachedGetHostByAddr
2016-02-21 16:23:41+0100 [-] [caldav-1]             hostname = 
socket.gethostbyaddr(hostaddr)[0]
2016-02-21 16:23:41+0100 [-] [caldav-1]         socket.error: Address family 
not supported by protocol
2016-02-21 16:23:41+0100 [-] [caldav-1]         
2016-02-21 16:23:41+0100 [-] [caldav-1]  [HTTPChannel,14,::ffff:192.168.1.103] 
[txweb2.server#info] PROPFIND /principals/ HTTP/1.1
2016-02-21 16:23:41+0100 [-] [caldav-1]  [HTTPChannel,14,::ffff:192.168.1.103] 
[txweb2.server#error] Exception rendering request: <PROPFIND /principals/ (1, 
1)>
2016-02-21 16:23:41+0100 [-] [caldav-1]         Traceback (most recent call 
last):
2016-02-21 16:23:41+0100 [-] [caldav-1]           File 
"/usr/lib/python2.7/dist-packages/txweb2/channel/http.py", line 863, in 
lineReceived
2016-02-21 16:23:41+0100 [-] [caldav-1]             
self.chanRequest.lineReceived(line)
2016-02-21 16:23:41+0100 [-] [caldav-1]           File 
"/usr/lib/python2.7/dist-packages/txweb2/channel/http.py", line 1194, in 
lineReceived
2016-02-21 16:23:41+0100 [-] [caldav-1]             
super(HTTPLoggingChannelRequest, self).lineReceived(line)
2016-02-21 16:23:41+0100 [-] [caldav-1]           File 
"/usr/lib/python2.7/dist-packages/txweb2/channel/http.py", line 251, in 
lineReceived
2016-02-21 16:23:41+0100 [-] [caldav-1]             self.processRequest()
2016-02-21 16:23:41+0100 [-] [caldav-1]           File 
"/usr/lib/python2.7/dist-packages/txweb2/channel/http.py", line 541, in 
processRequest
2016-02-21 16:23:41+0100 [-] [caldav-1]             self.request.process()
2016-02-21 16:23:41+0100 [-] [caldav-1]         --- <exception caught here> ---
2016-02-21 16:23:41+0100 [-] [caldav-1]           File 
"/usr/lib/python2.7/dist-packages/txweb2/server.py", line 399, in process
2016-02-21 16:23:41+0100 [-] [caldav-1]             self._fixupURLParts()
2016-02-21 16:23:41+0100 [-] [caldav-1]           File 
"/usr/lib/python2.7/dist-packages/txweb2/server.py", line 361, in _fixupURLParts
2016-02-21 16:23:41+0100 [-] [caldav-1]             hostaddr, secure = 
self.chanRequest.getHostInfo()
2016-02-21 16:23:41+0100 [-] [caldav-1]           File 
"/usr/lib/python2.7/dist-packages/txweb2/channel/http.py", line 653, in 
getHostInfo
2016-02-21 16:23:41+0100 [-] [caldav-1]             return self.channel._host, 
self.channel._secure
2016-02-21 16:23:41+0100 [-] [caldav-1]         exceptions.AttributeError: 
'HTTPChannel' object has no attribute '_host'
2016-02-21 16:23:41+0100 [-] [caldav-1]         
2016-02-21 16:23:41+0100 [-] [caldav-1]  [HTTPChannel,14,::ffff:192.168.1.103] 
[txweb2.server#error] Exception rendering error page
2016-02-21 16:23:41+0100 [-] [caldav-1]         Traceback (most recent call 
last):
2016-02-21 16:23:41+0100 [-] [caldav-1]           File 
"/usr/lib/python2.7/dist-packages/twisted/internet/defer.py", line 588, in 
_runCallbacks
2016-02-21 16:23:41+0100 [-] [caldav-1]             current.result = 
callback(current.result, *args, **kw)
2016-02-21 16:23:41+0100 [-] [caldav-1]           File 
"/usr/lib/python2.7/dist-packages/txweb2/server.py", line 723, in 
_cbFinishRender
2016-02-21 16:23:41+0100 [-] [caldav-1]             d.callback(response)
2016-02-21 16:23:41+0100 [-] [caldav-1]           File 
"/usr/lib/python2.7/dist-packages/twisted/internet/defer.py", line 393, in 
callback
2016-02-21 16:23:41+0100 [-] [caldav-1]             
self._startRunCallbacks(result)
2016-02-21 16:23:41+0100 [-] [caldav-1]           File 
"/usr/lib/python2.7/dist-packages/twisted/internet/defer.py", line 501, in 
_startRunCallbacks
2016-02-21 16:23:41+0100 [-] [caldav-1]             self._runCallbacks()
2016-02-21 16:23:41+0100 [-] [caldav-1]         --- <exception caught here> ---
2016-02-21 16:23:41+0100 [-] [caldav-1]           File 
"/usr/lib/python2.7/dist-packages/twisted/internet/defer.py", line 588, in 
_runCallbacks
2016-02-21 16:23:41+0100 [-] [caldav-1]             current.result = 
callback(current.result, *args, **kw)
2016-02-21 16:23:41+0100 [-] [caldav-1]           File 
"/usr/lib/python2.7/dist-packages/txweb2/server.py", line 713, in filterit
2016-02-21 16:23:41+0100 [-] [caldav-1]             return f(self, response)
2016-02-21 16:23:41+0100 [-] [caldav-1]           File 
"/usr/lib/python2.7/dist-packages/calendarserver/tap/caldav.py", line 1038, in 
responseFilter
2016-02-21 16:23:41+0100 [-] [caldav-1]             ignored, secure = 
request.chanRequest.getHostInfo()
2016-02-21 16:23:41+0100 [-] [caldav-1]           File 
"/usr/lib/python2.7/dist-packages/txweb2/channel/http.py", line 653, in 
getHostInfo
2016-02-21 16:23:41+0100 [-] [caldav-1]             return self.channel._host, 
self.channel._secure
2016-02-21 16:23:41+0100 [-] [caldav-1]         exceptions.AttributeError: 
'HTTPChannel' object has no attribute '_host'
2016-02-21 16:23:41+0100 [-] [caldav-1]         
2016-02-21 16:23:41+0100 [-] [caldav-1]  [HTTPChannel,14,::ffff:192.168.1.103] 
[txweb2.server#error] Original exception
2016-02-21 16:23:41+0100 [-] [caldav-1]         Traceback (most recent call 
last):
2016-02-21 16:23:41+0100 [-] [caldav-1]           File 
"/usr/lib/python2.7/dist-packages/txweb2/channel/http.py", line 863, in 
lineReceived
2016-02-21 16:23:41+0100 [-] [caldav-1]             
self.chanRequest.lineReceived(line)
2016-02-21 16:23:41+0100 [-] [caldav-1]           File 
"/usr/lib/python2.7/dist-packages/txweb2/channel/http.py", line 1194, in 
lineReceived
2016-02-21 16:23:41+0100 [-] [caldav-1]             
super(HTTPLoggingChannelRequest, self).lineReceived(line)
2016-02-21 16:23:41+0100 [-] [caldav-1]           File 
"/usr/lib/python2.7/dist-packages/txweb2/channel/http.py", line 251, in 
lineReceived
2016-02-21 16:23:41+0100 [-] [caldav-1]             self.processRequest()
2016-02-21 16:23:41+0100 [-] [caldav-1]           File 
"/usr/lib/python2.7/dist-packages/txweb2/channel/http.py", line 541, in 
processRequest
2016-02-21 16:23:41+0100 [-] [caldav-1]             self.request.process()
2016-02-21 16:23:41+0100 [-] [caldav-1]         --- <exception caught here> ---
2016-02-21 16:23:41+0100 [-] [caldav-1]           File 
"/usr/lib/python2.7/dist-packages/txweb2/server.py", line 399, in process
2016-02-21 16:23:41+0100 [-] [caldav-1]             self._fixupURLParts()
2016-02-21 16:23:41+0100 [-] [caldav-1]           File 
"/usr/lib/python2.7/dist-packages/txweb2/server.py", line 361, in _fixupURLParts
2016-02-21 16:23:41+0100 [-] [caldav-1]             hostaddr, secure = 
self.chanRequest.getHostInfo()
2016-02-21 16:23:41+0100 [-] [caldav-1]           File 
"/usr/lib/python2.7/dist-packages/txweb2/channel/http.py", line 653, in 
getHostInfo
2016-02-21 16:23:41+0100 [-] [caldav-1]             return self.channel._host, 
self.channel._secure
2016-02-21 16:23:41+0100 [-] [caldav-1]         exceptions.AttributeError: 
'HTTPChannel' object has no attribute '_host'
2016-02-21 16:23:41+0100 [-] [caldav-1]         
2016-02-21 16:23:41+0100 [-] [caldav-1]  [HTTPChannel,14,::ffff:192.168.1.103] 
Unhandled Error
2016-02-21 16:23:41+0100 [-] [caldav-1]         Traceback (most recent call 
last):
2016-02-21 16:23:41+0100 [-] [caldav-1]           File 
"/usr/lib/python2.7/dist-packages/twisted/application/app.py", line 285, in 
runReactorWithLogging
2016-02-21 16:23:41+0100 [-] [caldav-1]             reactor.run()
2016-02-21 16:23:41+0100 [-] [caldav-1]           File 
"/usr/lib/python2.7/dist-packages/twisted/internet/base.py", line 1194, in run
2016-02-21 16:23:41+0100 [-] [caldav-1]             self.mainLoop()
2016-02-21 16:23:41+0100 [-] [caldav-1]           File 
"/usr/lib/python2.7/dist-packages/twisted/internet/base.py", line 1206, in 
mainLoop
2016-02-21 16:23:41+0100 [-] [caldav-1]             self.doIteration(t)
2016-02-21 16:23:41+0100 [-] [caldav-1]           File 
"/usr/lib/python2.7/dist-packages/twisted/internet/selectreactor.py", line 143, 
in doSelect
2016-02-21 16:23:41+0100 [-] [caldav-1]             _logrun(selectable, _drdw, 
selectable, method)
2016-02-21 16:23:41+0100 [-] [caldav-1]         --- <exception caught here> ---
2016-02-21 16:23:41+0100 [-] [caldav-1]           File 
"/usr/lib/python2.7/dist-packages/twisted/python/log.py", line 101, in 
callWithLogger
2016-02-21 16:23:41+0100 [-] [caldav-1]             return 
callWithContext({"system": lp}, func, *args, **kw)
2016-02-21 16:23:41+0100 [-] [caldav-1]           File 
"/usr/lib/python2.7/dist-packages/twisted/python/log.py", line 84, in 
callWithContext
2016-02-21 16:23:41+0100 [-] [caldav-1]             return 
context.call({ILogContext: newCtx}, func, *args, **kw)
2016-02-21 16:23:41+0100 [-] [caldav-1]           File 
"/usr/lib/python2.7/dist-packages/twisted/python/context.py", line 118, in 
callWithContext
2016-02-21 16:23:41+0100 [-] [caldav-1]             return 
self.currentContext().callWithContext(ctx, func, *args, **kw)
2016-02-21 16:23:41+0100 [-] [caldav-1]           File 
"/usr/lib/python2.7/dist-packages/twisted/python/context.py", line 81, in 
callWithContext
2016-02-21 16:23:41+0100 [-] [caldav-1]             return func(*args,**kw)
2016-02-21 16:23:41+0100 [-] [caldav-1]           File 
"/usr/lib/python2.7/dist-packages/twisted/internet/selectreactor.py", line 154, 
in _doReadOrWrite
2016-02-21 16:23:41+0100 [-] [caldav-1]             
self._disconnectSelectable(selectable, why, method=="doRead")
2016-02-21 16:23:41+0100 [-] [caldav-1]           File 
"/usr/lib/python2.7/dist-packages/twisted/internet/posixbase.py", line 255, in 
_disconnectSelectable
2016-02-21 16:23:41+0100 [-] [caldav-1]             selectable.connectionLost(f)
2016-02-21 16:23:41+0100 [-] [caldav-1]           File 
"/usr/lib/python2.7/dist-packages/twisted/internet/tcp.py", line 293, in 
connectionLost
2016-02-21 16:23:41+0100 [-] [caldav-1]             
protocol.connectionLost(reason)
2016-02-21 16:23:41+0100 [-] [caldav-1]           File 
"/usr/lib/python2.7/dist-packages/txweb2/channel/http.py", line 1006, in 
connectionLost
2016-02-21 16:23:41+0100 [-] [caldav-1]             
self.factory.removeConnectedChannel(self)
2016-02-21 16:23:41+0100 [-] [caldav-1]           File 
"/usr/lib/python2.7/dist-packages/txweb2/metafd.py", line 174, in 
removeConnectedChannel
2016-02-21 16:23:41+0100 [-] [caldav-1]             
HTTPFactory.removeConnectedChannel(self, channel)
2016-02-21 16:23:41+0100 [-] [caldav-1]           File 
"/usr/lib/python2.7/dist-packages/txweb2/channel/http.py", line 1085, in 
removeConnectedChannel
2016-02-21 16:23:41+0100 [-] [caldav-1]             
self.connectedChannels.remove(channel)
2016-02-21 16:23:41+0100 [-] [caldav-1]         exceptions.KeyError: 
<txweb2.channel.http.HTTPChannel object at 0x7fd55383d110>
2016-02-21 16:23:41+0100 [-] [caldav-1]         



This certainly seems to an issue specific to your setup. I have just tested the same command and it works fine using IPv4 address:

$ curl -X PROPFIND -H "Content-Type: text/xml" -H "Depth: 0" -u test --digest --data-binary '<?xml version="1.0" encoding="UTF-8" ?><propfind xmlns="DAV:" xmlns:CAL="urn:ietf:params:xml:ns:caldav" xmlns:CARD="urn:ietf:params:xml:ns:carddav"><prop><current-user-principal/></prop></propfind>' http://192.168.56.102:8008/principals/
Enter host password for user 'test':
<?xml version='1.0' encoding='UTF-8'?>
<multistatus xmlns='DAV:'>
  <response>
    <href>/principals/</href>
    <propstat>
      <prop>
        <current-user-principal>
<href>/principals/__uids__/29B6C503-11DF-43EC-8CCA-40C7003149CE/</href>
        </current-user-principal>
      </prop>
      <status>HTTP/1.1 200 OK</status>
    </propstat>
  </response>
</multistatus>

Thanks,
Rahul.

Reply via email to