| 
					
				 | 
			
			
				@@ -75,6 +75,11 @@ def pack(o, stream, *, use_bin_type=False, encoding=None, unicode_errors=None, * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         raise PackException(e) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+# Note: after requiring msgpack >= 0.6.1 we can remove the max_*_len args and 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#       rely on msgpack auto-computing DoS-safe max values from len(data) for 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#       unpack(data) or from max_buffer_len for Unpacker(max_buffer_len=N). 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#       maybe we can also use that to simplify get_limited_unpacker(). 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 class Unpacker(mp_Unpacker): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     def __init__(self, file_like=None, *, read_size=0, use_list=True, raw=True, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                  object_hook=None, object_pairs_hook=None, list_hook=None, 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -172,8 +177,8 @@ def is_slow_msgpack(): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 def is_supported_msgpack(): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     # DO NOT CHANGE OR REMOVE! See also requirements and comments in setup.py. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     import msgpack 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    return (0, 5, 6) <= msgpack.version <= (0, 6, 0) and \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-           msgpack.version not in [(0, 5, 7), (0, 5, 8), (0, 5, 9)] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return (0, 5, 6) <= msgpack.version <= (0, 6, 1) and \ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+           msgpack.version not in []  # < blacklist bad releases here 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 def get_limited_unpacker(kind): 
			 |