[tryton-debian-vcs] pywebdav branch debian updated. debian/0.9.8-7-8-g655eff5
Mathias Behrle
tryton-debian-vcs at alioth.debian.org
Mon Mar 10 14:31:13 UTC 2014
The following commit has been merged in the debian branch:
https://alioth.debian.org/plugins/scmgit/cgi-bin/gitweb.cgi/?p=tryton/pywebdav.git;a=commitdiff;h=debian/0.9.8-7-8-g655eff5
commit 655eff5eb59dfc5f4028bf856ed43c86197737e7
Author: Mathias Behrle <mathiasb at m9s.biz>
Date: Mon Mar 10 15:30:29 2014 +0100
Releasing debian version 0.9.8-8.
diff --git a/debian/changelog b/debian/changelog
index cfda5e3..5d5c86d 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,19 @@
+pywebdav (0.9.8-8) unstable; urgency=medium
+
+ * Removing debian/source/options, we are building with dpkg defaults.
+ * Updating year in debian copyright.
+ * Removing PYBUILD_DESTDIR_python2 from rules, it is no more needed.
+ * Adding pgp verification for uscan.
+ * Adding gbp.conf for usage with git-buildpackage.
+ * Adding 01-recursive-properties.patch (Closes: #710690).
+ Thanks to Sascha Silbe for providing the patch, no feedback from
+ maintainers so far.
+ * Adding 02-RFC2616-keep-alive.patch (Closes: #710672).
+ Thanks to Sascha Silbe for providing the patch, no feedback from
+ maintainers so far.
+
+ -- Mathias Behrle <mathiasb at m9s.biz> Mon, 10 Mar 2014 15:17:30 +0100
+
pywebdav (0.9.8-7) unstable; urgency=low
* Updating to standards version 3.9.5, no changes needed.
commit bd36a73f4d073c5d067de736ac4ad4656d3e8afb
Author: Mathias Behrle <mathiasb at m9s.biz>
Date: Mon Mar 10 15:15:32 2014 +0100
Adding 02-RFC2616-keep-alive.patch (Closes: #710672).
Thanks to Sascha Silbe for providing the patch, no feedback from
maintainers so far.
diff --git a/debian/patches/02-RFC2616-keep-alive.patch b/debian/patches/02-RFC2616-keep-alive.patch
new file mode 100644
index 0000000..4a7e846
--- /dev/null
+++ b/debian/patches/02-RFC2616-keep-alive.patch
@@ -0,0 +1,39 @@
+Description: Unsolicited use of persistent connections with HTTP/1.0
+pywebdav uses persistent connections even for HTTP/1.0 GET requests
+without a Connection: Keep-Alive header. This causes the client to
+hang waiting for the connection to close. RFC2616 explicitly states
+HTTP/1.1 servers must not assume HTTP/1.0 clients to support
+persistent connections.
+
+Author: Sascha Silbe <sascha-debian-bugs-python-webdav-2013-06-01 at silbe.org>
+Origin: vendor, https://bugs.debian.org/710672
+Bug: http://code.google.com/p/pywebdav/issues/detail?id=69
+Bug-Debian: https://bugs.debian.org/710672
+Forwarded: http://code.google.com/p/pywebdav/issues/detail?id=69
+
+--- pywebdav-0.9.8.orig/pywebdav/lib/WebDAVServer.py
++++ pywebdav-0.9.8/pywebdav/lib/WebDAVServer.py
+@@ -62,9 +62,9 @@ class DAVRequestHandler(AuthServer.AuthR
+ log.debug("Use send_body method")
+
+ self.send_response(code, message=msg)
+- self.send_header("Connection", "close")
++ if 'Connection' not in headers:
++ self.send_header("Connection", "close")
+ self.send_header("Accept-Ranges", "bytes")
+- self.send_header('Date', rfc1123_date())
+
+ self._send_dav_version()
+
+@@ -255,8 +255,9 @@ class DAVRequestHandler(AuthServer.AuthR
+ self.send_body(data, status_code, None, None, content_type,
+ headers)
+ else:
+- headers['Keep-Alive'] = 'timeout=15, max=86'
+- headers['Connection'] = 'Keep-Alive'
++ if self.request_version == 'HTTP/1.1':
++ headers['Keep-Alive'] = 'timeout=15, max=86'
++ headers['Connection'] = 'Keep-Alive'
+ self.send_body_chunks_if_http11(data, status_code, None, None,
+ content_type, headers)
+
diff --git a/debian/patches/series b/debian/patches/series
index c661a95..e25e6c3 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1 +1,2 @@
01-recursive-properties.patch
+02-RFC2616-keep-alive.patch
commit 4ab771c239c494c3c6ffe35ca0de2e384e43cf17
Author: Mathias Behrle <mathiasb at m9s.biz>
Date: Mon Mar 10 14:12:00 2014 +0100
Adding 01-recursive-properties.patch (Closes: #710690).
Thanks to Sascha Silbe for providing the patch, no feedback from
maintainers so far.
diff --git a/debian/patches/01-recursive-properties.patch b/debian/patches/01-recursive-properties.patch
new file mode 100644
index 0000000..87d6ef7
--- /dev/null
+++ b/debian/patches/01-recursive-properties.patch
@@ -0,0 +1,93 @@
+Description: Get all properties on recursive <allprops>
+When all properties for a resource and its children are requested,
+pywebdav only returns the value of those properties that are also set
+on requested collection itself. It does not return the properties that
+are only on one of the children (or grandchildren for that
+matter). Also, 404 is returned for any property that is on the
+requested collection, but not on the current child.
+.
+The reason for this is that the list of property names is created once
+in pywebdav.lib.propfind.PROPFIND.create_allprop() and applied to each
+resource.
+
+Author: Sascha Silbe <sascha-debian-bugs-python-webdav-2013-06-01 at silbe.org>
+Origin: vendor, https://bugs.debian.org/710690
+Bug: http://code.google.com/p/pywebdav/issues/detail?id=70
+Bug-Debian: https://bugs.debian.org/710690
+Forwarded: http://code.google.com/p/pywebdav/issues/detail?id=70
+
+--- pywebdav-0.9.8.orig/pywebdav/lib/propfind.py
++++ pywebdav-0.9.8/pywebdav/lib/propfind.py
+@@ -66,7 +66,7 @@ class PROPFIND:
+
+ df = None
+ if self.request_type == RT_ALLPROP:
+- df = self.create_allprop()
++ df = self.create_prop(allprop=True)
+
+ if self.request_type == RT_PROPNAME:
+ df = self.create_propname()
+@@ -78,7 +78,7 @@ class PROPFIND:
+ return df
+
+ # no body means ALLPROP!
+- df = self.create_allprop()
++ df = self.create_prop(allprop=True)
+ return df
+
+ def create_propname(self):
+@@ -118,17 +118,7 @@ class PROPFIND:
+
+ return doc.toxml(encoding="utf-8")
+
+- def create_allprop(self):
+- """ return a list of all properties """
+- self.proplist = {}
+- self.namespaces = []
+- for ns, plist in self._dataclass.get_propnames(self._uri).items():
+- self.proplist[ns] = plist
+- self.namespaces.append(ns)
+-
+- return self.create_prop()
+-
+- def create_prop(self):
++ def create_prop(self, allprop=False):
+ """ handle a <prop> request
+
+ This will
+@@ -156,16 +146,25 @@ class PROPFIND:
+ ms.tagName = 'D:multistatus'
+
+ if self._depth == "0":
++ if allprop:
++ self.proplist = self._dataclass.get_propnames(self._uri)
++ self.namespaces = self.proplist.keys()
+ gp, bp = self.get_propvalues(self._uri)
+ res = self.mk_prop_response(self._uri, gp, bp, doc)
+ ms.appendChild(res)
+
+ elif self._depth == "1":
++ if allprop:
++ self.proplist = self._dataclass.get_propnames(self._uri)
++ self.namespaces = self.proplist.keys()
+ gp, bp = self.get_propvalues(self._uri)
+ res = self.mk_prop_response(self._uri, gp, bp, doc)
+ ms.appendChild(res)
+
+ for newuri in self._dataclass.get_childs(self._uri):
++ if allprop:
++ self.proplist = self._dataclass.get_propnames(newuri)
++ self.namespaces = self.proplist.keys()
+ gp, bp = self.get_propvalues(newuri)
+ res = self.mk_prop_response(newuri, gp, bp, doc)
+ ms.appendChild(res)
+@@ -173,6 +172,9 @@ class PROPFIND:
+ uri_list = [self._uri]
+ while uri_list:
+ uri = uri_list.pop()
++ if allprop:
++ self.proplist = self._dataclass.get_propnames(uri)
++ self.namespaces = self.proplist.keys()
+ gp, bp = self.get_propvalues(uri)
+ res = self.mk_prop_response(uri, gp, bp, doc)
+ ms.appendChild(res)
diff --git a/debian/patches/series b/debian/patches/series
new file mode 100644
index 0000000..c661a95
--- /dev/null
+++ b/debian/patches/series
@@ -0,0 +1 @@
+01-recursive-properties.patch
--
pywebdav
More information about the tryton-debian-vcs
mailing list