[Zope] M2Crypto+Zope+WebDAV - Unexpected eof
Ng Pheng Siong
ngps@post1.com
Thu, 12 Apr 2001 10:47:14 +0800
On Tue, Apr 10, 2001 at 05:53:38PM +0200, oliver.erlewein@sqs.de wrote:
> I'm experiencing Problems with Zope 2.3.1 (WinNT 4) in conjunction with
> M2Crypto 0.06 snap4 (ZServerSSL) when accessing my Zopeserver via WebDAV
> with https.
>
> 2001-04-10T15:14:36 INFO(0) ZServer recv: closing channel <zhttps_channel
> connec
> ted 172.20.16.42:2320 at 1b85c20 channel#: 150 requests:1> unexpected eof
Hi Oliver,
Can you check if the file ZServer/medusa/https_server.py looks like this,
around line 38:
elif result == '':
self.socket.set_shutdown(SSL.SSL_SENT_SHUTDOWN|SSL.SSL_RECEIVED_SHUTDOWN)
self.socket.close()
return ''
else:
self.server.bytes_in.increment(len(result))
return result
Due to a packaging error (boo hiss), the crucial line "self.socket.close()"
above is missing. Without that, ZServerSSL drives the CPU to 100% when a
broken HTTP/1.1 client comes a-calling.
Here's Cadaver talking to ZServerSSL on Zope 2.3.0:
$ cadaver https://nova:9443/
Looking up hostname... Connecting to server... connected.
Using secure connection: TLSv1
Connecting to server... connected.
Using secure connection: TLSv1
dav:/> ls
Listing collection `/': (reconnecting...done) succeeded.
Coll: Control_Panel 0 Jan 20 21:39
Coll: QuickStart 0 Jan 20 21:39
Coll: test 0 Mar 19 15:56
acl_users 0 Dec 30 1998
index_html 92 Jan 20 21:39
standard_error_message 1365 Jan 20 21:39
standard_html_footer 53 Jan 20 21:39
standard_html_header 80 Jan 20 21:39
dav:/> cd test
Connecting to server... connected.
Using secure connection: TLSv1
dav:/test/> ls
Listing collection `/test/': (reconnecting...done) succeeded.
Coll: guarded 0 Feb 21 16:27
Coll: zsmime 0 Mar 19 16:23
index_html 140 Feb 18 13:50
dav:/test/> cd zsmime
Connecting to server... connected.
Using secure connection: TLSv1
dav:/test/zsmime/> ls
Listing collection `/test/zsmime/': (reconnecting...done) succeeded.
recip 1058 Mar 19 15:57
signer 1937 Mar 19 15:56
smime 109 Mar 19 16:21
smime_sender 433 Mar 19 17:06
dav:/test/zsmime/> put /tmp/put.txt
Uploading /tmp/put.txt to `/test/zsmime/put.txt': (reconnecting...done)
Progress: [=============================>] 100.0% of 7 bytes
Authentication required for Zope on server `nova':
Username: ngps
Password:
Progress: [=============================>] 100.0% of 7 bytes succeeded.
dav:/test/zsmime/> ls
Listing collection `/test/zsmime/': succeeded.
put.txt 7 Apr 12 03:02
recip 1058 Mar 19 15:57
signer 1937 Mar 19 15:56
smime 109 Mar 19 16:21
smime_sender 433 Mar 19 17:06
dav:/test/zsmime/> bye
Connection to `nova' closed.
$
Cadaver is a command-line WebDAV client. I can't remember the url, but
it's listed under "software" at www.webdav.org.
Cheers.
--
Ng Pheng Siong <ngps@post1.com> * http://www.post1.com/home/ngps