[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#772698: marked as done (unblock: twisted/14.0.2-3)



Your message dated Wed, 10 Dec 2014 10:32:33 +0100
with message-id <20141210093233.GB10548@ugent.be>
and subject line Re: Bug#772698: unblock: twisted/14.0.2-3
has caused the Debian Bug report #772698,
regarding unblock: twisted/14.0.2-3
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact owner@bugs.debian.org
immediately.)


-- 
772698: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=772698
Debian Bug Tracking System
Contact owner@bugs.debian.org with problems
--- Begin Message ---
Package: release.debian.org
Severity: normal
User: release.debian.org@packages.debian.org
Usertags: unblock

Please unblock package twisted

This is a one-line change that fixes a regression in the format
of the logs produced by the HTTP server machinery sported by
the python-twisted-web package.

Up to version 13.2.0-1 a log line was looking like:

1.2.3.4 - - [25/Oct/2004:12:31:59 +0000] "GET /dummy HTTP/1.0" 123 - "-" "-"

but starting from 14.0.0-1 it looks like

"1.2.3.4" - - [25/Oct/2004:12:31:59 +0000] "GET /dummy HTTP/1.0" 123 - "-" "-"

Note the double quotes around the IP.

This can break third-party unit tests or code that parses
log files (it happened with a project of mine), and it also
diverges from the combined log format described on the Apache
web site:

​http://httpd.apache.org/docs/1.3/logs.html

As mentioned, the change in actual code is a one-liner, however
the patch is a bit larger to fix unit tests as well.

See Debian bug #772629.

Thanks.

diff -Nru twisted-14.0.2/debian/changelog twisted-14.0.2/debian/changelog
--- twisted-14.0.2/debian/changelog	2014-10-01 13:29:12.000000000 +0200
+++ twisted-14.0.2/debian/changelog	2014-12-09 12:00:32.000000000 +0100
@@ -1,3 +1,10 @@
+twisted (14.0.2-3) unstable; urgency=medium
+
+  * Add debian/combinedlog.patch to fix upstream's bug #7730 and
+    restore the old combined log format. Closes: #772629.
+
+ -- Free Ekanayaka <freee@debian.org>  Tue, 09 Dec 2014 11:58:50 +0100
+
 twisted (14.0.2-2) unstable; urgency=medium
 
   * Re-add lost 14.0.2-2 upload. Closes: #763581.
diff -Nru twisted-14.0.2/debian/patches/combinedlog.patch twisted-14.0.2/debian/patches/combinedlog.patch
--- twisted-14.0.2/debian/patches/combinedlog.patch	1970-01-01 01:00:00.000000000 +0100
+++ twisted-14.0.2/debian/patches/combinedlog.patch	2014-12-09 11:58:34.000000000 +0100
@@ -0,0 +1,99 @@
+Description: Don't enclose IPs between double quotes in combined log
+ This is a fix for upstream bug #7730, which restores the combined log
+ format that was in place until version 14.0.0. See also
+
+ https://twistedmatrix.com/trac/ticket/7730
+
+ for more details.
+Author: Free Ekanayaka <freee@debian.org>
+Bug-Debian: https://bugs.debian.org/772629
+Forwarded: yes
+Last-Update: 2014-11-09
+
+--- twisted-14.0.2.orig/twisted/web/http.py
++++ twisted-14.0.2/twisted/web/http.py
+@@ -1860,7 +1860,7 @@
+     referrer = _escape(request.getHeader(b"referer") or b"-")
+     agent = _escape(request.getHeader(b"user-agent") or b"-")
+     line = (
+-        u'"%(ip)s" - - %(timestamp)s "%(method)s %(uri)s %(protocol)s" '
++        u'%(ip)s - - %(timestamp)s "%(method)s %(uri)s %(protocol)s" '
+         u'%(code)d %(length)s "%(referrer)s" "%(agent)s"' % dict(
+             ip=_escape(request.getClientIP() or b"-"),
+             timestamp=timestamp,
+
+--- twisted-14.0.2.orig/twisted/web/test/test_web.py
++++ twisted-14.0.2twisted/web/test/test_web.py
+@@ -874,7 +874,7 @@
+ 
+         self.assertEqual(
+             # Client IP
+-            b'"1.2.3.4" '
++            b'1.2.3.4 '
+             # Some blanks we never fill in
+             b'- - '
+             # The current time (circa 1234567890)
+@@ -974,7 +974,7 @@
+ 
+         line = http.combinedLogFormatter(timestamp, request)
+         self.assertEqual(
+-            u'"evil x-forwarded-for \\x80" - - [13/Feb/2009:23:31:30 +0000] '
++            u'evil x-forwarded-for \\x80 - - [13/Feb/2009:23:31:30 +0000] '
+             u'"POS\\x81 /dummy HTTP/1.0" 123 - "evil \\x83" "evil \\x84"',
+             line)
+ 
+@@ -1066,7 +1066,7 @@
+         self.site._logDateTime = "[%02d/%3s/%4d:%02d:%02d:%02d +0000]" % (
+             25, 'Oct', 2004, 12, 31, 59)
+         self.assertLogs(
+-            b'"1.2.3.4" - - [25/Oct/2004:12:31:59 +0000] '
++            b'1.2.3.4 - - [25/Oct/2004:12:31:59 +0000] '
+             b'"GET /dummy HTTP/1.0" 123 - "-" "-"\n')
+ 
+ 
+@@ -1078,7 +1078,7 @@
+             25, 'Oct', 2004, 12, 31, 59)
+         self.request.method = b'G"T'
+         self.assertLogs(
+-            b'"1.2.3.4" - - [25/Oct/2004:12:31:59 +0000] '
++            b'1.2.3.4 - - [25/Oct/2004:12:31:59 +0000] '
+             b'"G\\"T /dummy HTTP/1.0" 123 - "-" "-"\n')
+ 
+ 
+@@ -1090,7 +1090,7 @@
+             25, 'Oct', 2004, 12, 31, 59)
+         self.request.uri = b'/dummy"withquote'
+         self.assertLogs(
+-            b'"1.2.3.4" - - [25/Oct/2004:12:31:59 +0000] '
++            b'1.2.3.4 - - [25/Oct/2004:12:31:59 +0000] '
+             b'"GET /dummy\\"withquote HTTP/1.0" 123 - "-" "-"\n')
+ 
+ 
+@@ -1102,7 +1102,7 @@
+             25, 'Oct', 2004, 12, 31, 59)
+         self.request.clientproto = b'HT"P/1.0'
+         self.assertLogs(
+-            b'"1.2.3.4" - - [25/Oct/2004:12:31:59 +0000] '
++            b'1.2.3.4 - - [25/Oct/2004:12:31:59 +0000] '
+             b'"GET /dummy HT\\"P/1.0" 123 - "-" "-"\n')
+ 
+ 
+@@ -1116,7 +1116,7 @@
+         self.request.headers[b'referer'] = (
+             b'http://malicious"; ".website.invalid')
+         self.assertLogs(
+-            b'"1.2.3.4" - - [25/Oct/2004:12:31:59 +0000] '
++            b'1.2.3.4 - - [25/Oct/2004:12:31:59 +0000] '
+             b'"GET /dummy HTTP/1.0" 123 - '
+             b'"http://malicious\\"; \\".website.invalid" "-"\n')
+ 
+@@ -1130,7 +1130,7 @@
+             25, 'Oct', 2004, 12, 31, 59)
+         self.request.headers[b'user-agent'] = b'Malicious Web" Evil'
+         self.assertLogs(
+-            b'"1.2.3.4" - - [25/Oct/2004:12:31:59 +0000] '
++            b'1.2.3.4 - - [25/Oct/2004:12:31:59 +0000] '
+             b'"GET /dummy HTTP/1.0" 123 - "-" "Malicious Web\\" Evil"\n')
+ 
+ 
+
diff -Nru twisted-14.0.2/debian/patches/series twisted-14.0.2/debian/patches/series
--- twisted-14.0.2/debian/patches/series	2014-09-30 15:21:21.000000000 +0200
+++ twisted-14.0.2/debian/patches/series	2014-12-09 11:52:09.000000000 +0100
@@ -1,2 +1,3 @@
 tap2deb.diff
 wxpython3.0.patch
+combinedlog.patch

unblock twisted/14.0.2-3

--- End Message ---
--- Begin Message ---
Hi,

On Wed, Dec 10, 2014 at 09:27:20AM +0100, Free Ekanayaka wrote:
> Please unblock package twisted

Unblocked.

Cheers,

Ivo

--- End Message ---

Reply to: