pkgsrc-Changes-HG archive

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

[pkgsrc/trunk]: pkgsrc/net/py-hpack Update net/py-hpack to 3.0.0



details:   https://anonhg.NetBSD.org/pkgsrc/rev/89fb08ce058a
branches:  trunk
changeset: 361065:89fb08ce058a
user:      leot <leot%pkgsrc.org@localhost>
date:      Fri Apr 14 13:08:15 2017 +0000

description:
Update net/py-hpack to 3.0.0

Changes:
3.0.0 (2017-03-29)
------------------
**API Changes (Backward Incompatible)**
- Removed nghttp2 support. This support had rotted and was essentially
  non-functional, so it has now been removed until someone has time to re-add
  the support in a functional form.
- Attempts by the encoder to exceed the maximum allowed header table size via
  dynamic table size updates (or the absence thereof) are now forbidden.

**API Changes (Backward Compatible)**
- Added a new ``InvalidTableSizeError`` thrown when the encoder does not
  respect the maximum table size set by the user.
- Added a ``Decoder.max_allowed_table_size`` field that sets the maximum
  allowed size of the decoder header table. See the documentation for an
  indication of how this should be used.

**Bugfixes**
- Up to 25% performance improvement decoding HPACK-packed integers, depending
  on the platform.
- HPACK now tolerates receiving multiple header table size changes in sequence,
  rather than only one.
- HPACK now forbids header table size changes anywhere but first in a header
  block, as required by RFC 7541 ? 4.2.
- Other miscellaneous performance improvements.

2.3.0 (2016-08-04)
------------------
**Security Fixes**
- CVE-2016-6581: HPACK Bomb. This release now enforces a maximum value of the
  decompressed size of the header list. This is to avoid the so-called "HPACK
  Bomb" vulnerability, which is caused when a malicious peer sends a compressed
  HPACK body that decompresses to a gigantic header list size.
  This also adds a ``OversizedHeaderListError``, which is thrown by the
  ``decode`` method if the maximum header list size is being violated. This
  places the HPACK decoder into a broken state: it must not be used after this
  exception is thrown.
  This also adds a ``max_header_list_size`` to the ``Decoder`` object. This
  controls the maximum allowable decompressed size of the header list. By
  default this is set to 64kB.

2.2.0 (2016-04-20)
------------------
**API Changes (Backward Compatible)**
- Added ``HeaderTuple`` and ``NeverIndexedHeaderTuple`` classes that signal
  whether a given header field may ever be indexed in HTTP/2 header
  compression.
- Changed ``Decoder.decode()`` to return the newly added ``HeaderTuple`` class
  and subclass. These objects behave like two-tuples, so this change does not
  break working code.

**Bugfixes**
- Improve Huffman decoding speed by 4x using an approach borrowed from nghttp2.
- Improve HPACK decoding speed by 10% by caching header table sizes.

2.1.1 (2016-03-16)
------------------
**Bugfixes**
- When passing a dictionary or dictionary subclass to ``Encoder.encode``, HPACK
  now ensures that HTTP/2 special headers (headers whose names begin with
  ``:`` characters) appear first in the header block.

diffstat:

 net/py-hpack/Makefile               |   4 ++--
 net/py-hpack/PLIST                  |  11 +++++++----
 net/py-hpack/distinfo               |  11 ++++++-----
 net/py-hpack/patches/patch-setup.py |  16 ++++++++++++++++
 4 files changed, 31 insertions(+), 11 deletions(-)

diffs (79 lines):

diff -r 1adab22a8c90 -r 89fb08ce058a net/py-hpack/Makefile
--- a/net/py-hpack/Makefile     Fri Apr 14 13:07:03 2017 +0000
+++ b/net/py-hpack/Makefile     Fri Apr 14 13:08:15 2017 +0000
@@ -1,6 +1,6 @@
-# $NetBSD: Makefile,v 1.4 2016/06/01 12:34:16 wiz Exp $
+# $NetBSD: Makefile,v 1.5 2017/04/14 13:08:15 leot Exp $
 
-DISTNAME=      hpack-2.1.0
+DISTNAME=      hpack-3.0.0
 PKGNAME=       ${PYPKGPREFIX}-${DISTNAME}
 CATEGORIES=    net
 MASTER_SITES=  ${MASTER_SITE_PYPI:=h/hpack/}
diff -r 1adab22a8c90 -r 89fb08ce058a net/py-hpack/PLIST
--- a/net/py-hpack/PLIST        Fri Apr 14 13:07:03 2017 +0000
+++ b/net/py-hpack/PLIST        Fri Apr 14 13:08:15 2017 +0000
@@ -1,4 +1,4 @@
-@comment $NetBSD: PLIST,v 1.1 2015/08/23 14:06:11 leot Exp $
+@comment $NetBSD: PLIST,v 1.2 2017/04/14 13:08:15 leot Exp $
 ${PYSITELIB}/${EGG_INFODIR}/PKG-INFO
 ${PYSITELIB}/${EGG_INFODIR}/SOURCES.txt
 ${PYSITELIB}/${EGG_INFODIR}/dependency_links.txt
@@ -15,15 +15,18 @@
 ${PYSITELIB}/hpack/hpack.py
 ${PYSITELIB}/hpack/hpack.pyc
 ${PYSITELIB}/hpack/hpack.pyo
-${PYSITELIB}/hpack/hpack_compat.py
-${PYSITELIB}/hpack/hpack_compat.pyc
-${PYSITELIB}/hpack/hpack_compat.pyo
 ${PYSITELIB}/hpack/huffman.py
 ${PYSITELIB}/hpack/huffman.pyc
 ${PYSITELIB}/hpack/huffman.pyo
 ${PYSITELIB}/hpack/huffman_constants.py
 ${PYSITELIB}/hpack/huffman_constants.pyc
 ${PYSITELIB}/hpack/huffman_constants.pyo
+${PYSITELIB}/hpack/huffman_table.py
+${PYSITELIB}/hpack/huffman_table.pyc
+${PYSITELIB}/hpack/huffman_table.pyo
+${PYSITELIB}/hpack/struct.py
+${PYSITELIB}/hpack/struct.pyc
+${PYSITELIB}/hpack/struct.pyo
 ${PYSITELIB}/hpack/table.py
 ${PYSITELIB}/hpack/table.pyc
 ${PYSITELIB}/hpack/table.pyo
diff -r 1adab22a8c90 -r 89fb08ce058a net/py-hpack/distinfo
--- a/net/py-hpack/distinfo     Fri Apr 14 13:07:03 2017 +0000
+++ b/net/py-hpack/distinfo     Fri Apr 14 13:08:15 2017 +0000
@@ -1,6 +1,7 @@
-$NetBSD: distinfo,v 1.4 2016/02/16 13:43:09 leot Exp $
+$NetBSD: distinfo,v 1.5 2017/04/14 13:08:15 leot Exp $
 
-SHA1 (hpack-2.1.0.tar.gz) = 0b27281e0e135bb910653fe81b94ec0071cf9104
-RMD160 (hpack-2.1.0.tar.gz) = 01674159d5adfdd9e294c50def4e5a7803d1f404
-SHA512 (hpack-2.1.0.tar.gz) = 07196e3f1e62dd63adc5411fa0f84fe9b668df453aa38e570ee0b80eb8159f37d584dd3103a849ac9ffce1692d21c778cb896d688035ef62d9d8e7dcd8f3bef4
-Size (hpack-2.1.0.tar.gz) = 20032 bytes
+SHA1 (hpack-3.0.0.tar.gz) = d230ec65b27dc18e545f90fe9f804586666de890
+RMD160 (hpack-3.0.0.tar.gz) = 3aa077f29a21fb1cd06a3fccd7b05709591f57f9
+SHA512 (hpack-3.0.0.tar.gz) = ffac4bdf19f8826027d8f89fe07e1837eacabbf18d1ff18e0cb13505c6714afd62125aa5cc594c75273725be71cc6e17b2315257fabb7779ce51de8c877267a3
+Size (hpack-3.0.0.tar.gz) = 43321 bytes
+SHA1 (patch-setup.py) = 2f72bac372d14182f4a553904d8db588d40aaa91
diff -r 1adab22a8c90 -r 89fb08ce058a net/py-hpack/patches/patch-setup.py
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/net/py-hpack/patches/patch-setup.py       Fri Apr 14 13:08:15 2017 +0000
@@ -0,0 +1,16 @@
+$NetBSD: patch-setup.py,v 1.1 2017/04/14 13:08:16 leot Exp $
+
+Avoid UnicodeDecodeError with Python 3 due offending characters in
+HISTORY.rst.
+
+--- setup.py.orig      2016-12-23 17:15:38.000000000 +0000
++++ setup.py
+@@ -31,7 +31,7 @@ setup(
+     name='hpack',
+     version=version,
+     description='Pure-Python HPACK header compression',
+-    long_description=open('README.rst').read() + '\n\n' + open('HISTORY.rst').read(),
++    long_description=open('README.rst').read(),
+     author='Cory Benfield',
+     author_email='cory%lukasa.co.uk@localhost',
+     url='http://hyper.rtfd.org',



Home | Main Index | Thread Index | Old Index