| 
					
				 | 
			
			
				@@ -29,6 +29,7 @@ try: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     from contextlib import contextmanager 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     from datetime import datetime, timedelta 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     from io import TextIOWrapper 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    from struct import Struct 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     from .logger import create_logger, setup_logging 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -44,7 +45,7 @@ try: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     from .archive import has_link 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     from .cache import Cache, assert_secure, SecurityManager 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     from .constants import *  # NOQA 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    from .compress import CompressionSpec, ZLIB, ZLIB_legacy 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    from .compress import CompressionSpec, ZLIB, ZLIB_legacy, ObfuscateSize 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     from .crypto.key import key_creator, key_argument_names, tam_required_file, tam_required 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     from .crypto.key import RepoKey, KeyfileKey, Blake2RepoKey, Blake2KeyfileKey, FlexiKey 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     from .crypto.keymanager import KeyManager 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -386,6 +387,15 @@ class Archiver: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             else: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 ctype = chunk[0:1] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 chunk = ctype + level + chunk[2:]  # keep type same, but set level 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if ctype == ObfuscateSize.ID: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                # in older borg, we used unusual byte order 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                old_header_fmt = Struct('>I') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                new_header_fmt = ObfuscateSize.header_fmt 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                length = ObfuscateSize.header_len 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                size_bytes = chunk[2:2+length] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                size = old_header_fmt.unpack(size_bytes) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                size_bytes = new_header_fmt.pack(size) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                chunk = chunk[0:2] + size_bytes + chunk[2+length:] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             return chunk 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         dry_run = args.dry_run 
			 |