Skip to content

Commit 280308e

Browse files
committed
Recommend max_buffer_len instead of max_(str|bin|ext)_len
1 parent 9951b89 commit 280308e

File tree

3 files changed

+34
-13
lines changed

3 files changed

+34
-13
lines changed

ChangeLog.rst

+18
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,21 @@
1+
0.6.1
2+
======
3+
4+
Release Date: 2019-01-25
5+
6+
This release is for mitigating pain caused by v0.6.1 reduced max input limits
7+
for security reason.
8+
9+
* ``unpackb(data)`` configures ``max_*_len`` options from ``len(data)``,
10+
instead of static default sizes.
11+
12+
* ``Unpacker(max_buffer_len=N)`` configures ``max_*_len`` options from ``N``,
13+
instead of static default sizes.
14+
15+
* ``max_bin_len``, ``max_str_len``, and ``max_ext_len`` are deprecated.
16+
Since this is minor release, it's document only deprecation.
17+
18+
119
0.6.0
220
======
321

msgpack/_unpacker.pyx

+6-3
Original file line numberDiff line numberDiff line change
@@ -273,9 +273,11 @@ cdef class Unpacker(object):
273273
You should set this parameter when unpacking data from untrusted source.
274274
275275
:param int max_str_len:
276+
Deprecated, use *max_buffer_size* instead.
276277
Limits max length of str. (default: max_buffer_size or 1024*1024)
277278
278279
:param int max_bin_len:
280+
Deprecated, use *max_buffer_size* instead.
279281
Limits max length of bin. (default: max_buffer_size or 1024*1024)
280282
281283
:param int max_array_len:
@@ -285,10 +287,11 @@ cdef class Unpacker(object):
285287
Limits max length of map. (default: max_buffer_size//2 or 32*1024)
286288
287289
:param int max_ext_len:
290+
Deprecated, use *max_buffer_size* instead.
288291
Limits max size of ext type. (default: max_buffer_size or 1024*1024)
289292
290293
:param str encoding:
291-
Deprecated, use raw instead.
294+
Deprecated, use ``raw=False`` instead.
292295
Encoding used for decoding msgpack raw.
293296
If it is None (default), msgpack raw is deserialized to Python bytes.
294297
@@ -298,13 +301,13 @@ cdef class Unpacker(object):
298301
299302
Example of streaming deserialize from file-like object::
300303
301-
unpacker = Unpacker(file_like, raw=False)
304+
unpacker = Unpacker(file_like, raw=False, max_buffer_size=10*1024*1024)
302305
for o in unpacker:
303306
process(o)
304307
305308
Example of streaming deserialize from socket::
306309
307-
unpacker = Unpacker(raw=False)
310+
unpacker = Unpacker(raw=False, max_buffer_size=10*1024*1024)
308311
while True:
309312
buf = sock.recv(1024**2)
310313
if not buf:

msgpack/fallback.py

+10-10
Original file line numberDiff line numberDiff line change
@@ -208,12 +208,12 @@ class Unpacker(object):
208208
You should set this parameter when unpacking data from untrusted source.
209209
210210
:param int max_str_len:
211-
(deprecated) Limits max length of str.
212-
(default: max_buffer_size or 1024*1024)
211+
Deprecated, use *max_buffer_size* instead.
212+
Limits max length of str. (default: max_buffer_size or 1024*1024)
213213
214214
:param int max_bin_len:
215-
(deprecated) Limits max length of bin.
216-
(default: max_buffer_size or 1024*1024)
215+
Deprecated, use *max_buffer_size* instead.
216+
Limits max length of bin. (default: max_buffer_size or 1024*1024)
217217
218218
:param int max_array_len:
219219
Limits max length of array.
@@ -224,18 +224,18 @@ class Unpacker(object):
224224
(default: max_buffer_size//2 or 32*1024)
225225
226226
:param int max_ext_len:
227-
(deprecated) Limits max size of ext type.
228-
(default: max_buffer_size or 1024*1024)
227+
Deprecated, use *max_buffer_size* instead.
228+
Limits max size of ext type. (default: max_buffer_size or 1024*1024)
229229
230-
example of streaming deserialize from file-like object::
230+
Example of streaming deserialize from file-like object::
231231
232-
unpacker = Unpacker(file_like, raw=False)
232+
unpacker = Unpacker(file_like, raw=False, max_buffer_size=10*1024*1024)
233233
for o in unpacker:
234234
process(o)
235235
236-
example of streaming deserialize from socket::
236+
Example of streaming deserialize from socket::
237237
238-
unpacker = Unpacker(raw=False)
238+
unpacker = Unpacker(raw=False, max_buffer_size=10*1024*1024)
239239
while True:
240240
buf = sock.recv(1024**2)
241241
if not buf:

0 commit comments

Comments
 (0)