From 3f661cf6994a1c21eba9801b550a210d8e71f7c3 Mon Sep 17 00:00:00 2001 From: Lumir Balhar Date: Thu, 25 Apr 2024 15:06:15 +0200 Subject: [PATCH] Fix patch application for security fix for CVE-2024-3651 Resolves: RHEL-32703 --- CVE-2024-3651.patch | 1153 ++++++++++++++++++++++++++++++------------- python-idna.spec | 8 +- 2 files changed, 822 insertions(+), 339 deletions(-) diff --git a/CVE-2024-3651.patch b/CVE-2024-3651.patch index 23ffda6..e9e7501 100644 --- a/CVE-2024-3651.patch +++ b/CVE-2024-3651.patch @@ -1,19 +1,18 @@ -From 0259d17a2384735176621ca053959bd79be6b8d6 Mon Sep 17 00:00:00 2001 +From a91a808936ec5982cc787804daa37ce9351b1c01 Mon Sep 17 00:00:00 2001 From: Lumir Balhar -Date: Tue, 23 Apr 2024 11:19:25 +0200 +Date: Thu, 25 Apr 2024 15:31:10 +0200 Subject: [PATCH] CVE-2024-3651 --- - idna/core.py | 16 +- - idna/idnadata.py | 2351 ++++++++++++++++++++++++++++++++++++++++++++-- - tools/idna-data | 13 +- - 3 files changed, 2291 insertions(+), 89 deletions(-) + idna/core.py | 8 +- + idna/idnadata.py | 2889 ++++++++++++++++++++++++++++++++++++++++++++-- + 2 files changed, 2781 insertions(+), 116 deletions(-) diff --git a/idna/core.py b/idna/core.py -index 41ec5c7..5f54c89 100644 +index b55b664..1d36686 100644 --- a/idna/core.py +++ b/idna/core.py -@@ -161,9 +161,11 @@ def valid_contextj(label, pos): +@@ -158,9 +158,11 @@ def valid_contextj(label, pos): joining_type = idnadata.joining_types.get(ord(label[i])) if joining_type == ord('T'): continue @@ -26,7 +25,7 @@ index 41ec5c7..5f54c89 100644 if not ok: return False -@@ -173,9 +175,11 @@ def valid_contextj(label, pos): +@@ -170,9 +172,11 @@ def valid_contextj(label, pos): joining_type = idnadata.joining_types.get(ord(label[i])) if joining_type == ord('T'): continue @@ -39,68 +38,79 @@ index 41ec5c7..5f54c89 100644 return ok if cp_value == 0x200d: -@@ -247,12 +251,8 @@ def check_label(label): - if intranges_contain(cp_value, idnadata.codepoint_classes['PVALID']): - continue - elif intranges_contain(cp_value, idnadata.codepoint_classes['CONTEXTJ']): -- try: -- if not valid_contextj(label, pos): -- raise InvalidCodepointContext('Joiner {0} not allowed at position {1} in {2}'.format( -- _unot(cp_value), pos+1, repr(label))) -- except ValueError: -- raise IDNAError('Unknown codepoint adjacent to joiner {0} at position {1} in {2}'.format( -+ if not valid_contextj(label, pos): -+ raise InvalidCodepointContext('Joiner {} not allowed at position {} in {}'.format( - _unot(cp_value), pos+1, repr(label))) - elif intranges_contain(cp_value, idnadata.codepoint_classes['CONTEXTO']): - if not valid_contexto(label, pos): diff --git a/idna/idnadata.py b/idna/idnadata.py -index a284e4c..c61dcf9 100644 +index 2ff30fe..c61dcf9 100644 --- a/idna/idnadata.py +++ b/idna/idnadata.py -@@ -1,6 +1,6 @@ - # This file is automatically generated by tools/idna-data +@@ -1,10 +1,12 @@ +-# This file is automatically generated by build-idnadata.py ++# This file is automatically generated by tools/idna-data --__version__ = "13.0.0" +__version__ = '15.1.0' scripts = { 'Greek': ( 0x37000000374, -@@ -49,17 +49,20 @@ scripts = { + 0x37500000378, + 0x37a0000037e, ++ 0x37f00000380, + 0x38400000385, + 0x38600000387, + 0x3880000038b, +@@ -33,7 +35,9 @@ scripts = { + 0x1ff200001ff5, + 0x1ff600001fff, + 0x212600002127, +- 0x101400001018b, ++ 0xab650000ab66, ++ 0x101400001018f, ++ 0x101a0000101a1, + 0x1d2000001d246, + ), + 'Han': ( +@@ -44,19 +48,26 @@ scripts = { + 0x300700003008, 0x30210000302a, 0x30380000303c, - 0x340000004dc0, -- 0x4e0000009ffd, +- 0x340000004db6, +- 0x4e0000009fcd, ++ 0x340000004dc0, + 0x4e000000a000, 0xf9000000fa6e, 0xfa700000fada, -+ 0x16fe200016fe4, - 0x16ff000016ff2, -- 0x200000002a6de, +- 0x200000002a6d7, - 0x2a7000002b735, ++ 0x16fe200016fe4, ++ 0x16ff000016ff2, + 0x200000002a6e0, + 0x2a7000002b73a, 0x2b7400002b81e, - 0x2b8200002cea2, - 0x2ceb00002ebe1, ++ 0x2b8200002cea2, ++ 0x2ceb00002ebe1, + 0x2ebf00002ee5e, 0x2f8000002fa1e, - 0x300000003134b, ++ 0x300000003134b, + 0x31350000323b0, ), 'Hebrew': ( 0x591000005c8, -@@ -75,7 +78,8 @@ scripts = { + 0x5d0000005eb, +- 0x5f0000005f5, ++ 0x5ef000005f5, + 0xfb1d0000fb37, + 0xfb380000fb3d, + 0xfb3e0000fb3f, +@@ -67,7 +78,9 @@ scripts = { 'Hiragana': ( 0x304100003097, 0x309d000030a0, -- 0x1b0010001b11f, +- 0x1b0010001b002, + 0x1b0010001b120, + 0x1b1320001b133, - 0x1b1500001b153, ++ 0x1b1500001b153, 0x1f2000001f201, ), -@@ -87,21 +91,200 @@ scripts = { + 'Katakana': ( +@@ -78,19 +91,200 @@ scripts = { 0x330000003358, 0xff660000ff70, 0xff710000ff9e, @@ -110,7 +120,7 @@ index a284e4c..c61dcf9 100644 0x1b0000001b001, + 0x1b1200001b123, + 0x1b1550001b156, - 0x1b1640001b168, ++ 0x1b1640001b168, ), } joining_types = { @@ -119,7 +129,6 @@ index a284e4c..c61dcf9 100644 - 0x602: 85, - 0x603: 85, - 0x604: 85, -- 0x605: 85, - 0x608: 85, - 0x60b: 85, + 0xad: 84, @@ -310,7 +319,7 @@ index a284e4c..c61dcf9 100644 0x622: 82, 0x623: 82, 0x624: 82, -@@ -143,12 +326,33 @@ joining_types = { +@@ -132,12 +326,33 @@ joining_types = { 0x648: 82, 0x649: 68, 0x64a: 68, @@ -345,7 +354,7 @@ index a284e4c..c61dcf9 100644 0x675: 82, 0x676: 82, 0x677: 82, -@@ -245,7 +449,25 @@ joining_types = { +@@ -234,14 +449,34 @@ joining_types = { 0x6d2: 82, 0x6d3: 82, 0x6d5: 82, @@ -372,15 +381,16 @@ index a284e4c..c61dcf9 100644 0x6ee: 82, 0x6ef: 82, 0x6fa: 68, -@@ -254,6 +476,7 @@ joining_types = { + 0x6fb: 68, + 0x6fc: 68, 0x6ff: 68, - 0x70f: 84, ++ 0x70f: 84, 0x710: 82, + 0x711: 84, 0x712: 68, 0x713: 68, 0x714: 68, -@@ -284,6 +507,33 @@ joining_types = { +@@ -272,6 +507,33 @@ joining_types = { 0x72d: 68, 0x72e: 68, 0x72f: 82, @@ -414,7 +424,7 @@ index a284e4c..c61dcf9 100644 0x74d: 82, 0x74e: 68, 0x74f: 68, -@@ -335,6 +585,17 @@ joining_types = { +@@ -323,6 +585,17 @@ joining_types = { 0x77d: 68, 0x77e: 68, 0x77f: 68, @@ -432,7 +442,7 @@ index a284e4c..c61dcf9 100644 0x7ca: 68, 0x7cb: 68, 0x7cc: 68, -@@ -368,7 +629,38 @@ joining_types = { +@@ -356,7 +629,38 @@ joining_types = { 0x7e8: 68, 0x7e9: 68, 0x7ea: 68, @@ -471,24 +481,45 @@ index a284e4c..c61dcf9 100644 0x840: 82, 0x841: 68, 0x842: 68, -@@ -394,17 +686,55 @@ joining_types = { - 0x856: 82, - 0x857: 82, - 0x858: 82, +@@ -364,7 +668,7 @@ joining_types = { + 0x844: 68, + 0x845: 68, + 0x846: 82, +- 0x847: 68, ++ 0x847: 82, + 0x848: 68, + 0x849: 82, + 0x84a: 68, +@@ -372,17 +676,67 @@ joining_types = { + 0x84c: 68, + 0x84d: 68, + 0x84e: 68, +- 0x84f: 82, ++ 0x84f: 68, + 0x850: 68, + 0x851: 68, + 0x852: 68, + 0x853: 68, + 0x854: 82, + 0x855: 68, +- 0x856: 85, +- 0x857: 85, +- 0x858: 85, ++ 0x856: 82, ++ 0x857: 82, ++ 0x858: 82, + 0x859: 84, + 0x85a: 84, + 0x85b: 84, - 0x860: 68, -- 0x861: 85, - 0x862: 68, - 0x863: 68, - 0x864: 68, - 0x865: 68, -- 0x866: 85, - 0x867: 82, - 0x868: 68, - 0x869: 82, - 0x86a: 82, ++ 0x860: 68, ++ 0x862: 68, ++ 0x863: 68, ++ 0x864: 68, ++ 0x865: 68, ++ 0x867: 82, ++ 0x868: 68, ++ 0x869: 82, ++ 0x86a: 82, + 0x870: 82, + 0x871: 82, + 0x872: 82, @@ -527,30 +558,41 @@ index a284e4c..c61dcf9 100644 + 0x89e: 84, + 0x89f: 84, 0x8a0: 68, - 0x8a1: 68, ++ 0x8a1: 68, 0x8a2: 68, -@@ -418,7 +748,6 @@ joining_types = { + 0x8a3: 68, + 0x8a4: 68, +@@ -394,10 +748,384 @@ joining_types = { 0x8aa: 82, 0x8ab: 82, 0x8ac: 82, -- 0x8ad: 85, - 0x8ae: 82, - 0x8af: 68, - 0x8b0: 68, -@@ -426,6 +755,7 @@ joining_types = { - 0x8b2: 82, - 0x8b3: 68, - 0x8b4: 68, -+ 0x8b5: 68, - 0x8b6: 68, - 0x8b7: 68, - 0x8b8: 68, -@@ -444,11 +774,358 @@ joining_types = { - 0x8c5: 68, - 0x8c6: 68, - 0x8c7: 68, -- 0x8e2: 85, - 0x1806: 85, ++ 0x8ae: 82, ++ 0x8af: 68, ++ 0x8b0: 68, ++ 0x8b1: 82, ++ 0x8b2: 82, ++ 0x8b3: 68, ++ 0x8b4: 68, ++ 0x8b5: 68, ++ 0x8b6: 68, ++ 0x8b7: 68, ++ 0x8b8: 68, ++ 0x8b9: 82, ++ 0x8ba: 68, ++ 0x8bb: 68, ++ 0x8bc: 68, ++ 0x8bd: 68, ++ 0x8be: 68, ++ 0x8bf: 68, ++ 0x8c0: 68, ++ 0x8c1: 68, ++ 0x8c2: 68, ++ 0x8c3: 68, ++ 0x8c4: 68, ++ 0x8c5: 68, ++ 0x8c6: 68, ++ 0x8c7: 68, + 0x8c8: 68, + 0x8ca: 84, + 0x8cb: 84, @@ -907,19 +949,24 @@ index a284e4c..c61dcf9 100644 0x1820: 68, 0x1821: 68, 0x1822: 68, -@@ -538,11 +1215,6 @@ joining_types = { +@@ -486,13 +1214,9 @@ joining_types = { + 0x1875: 68, 0x1876: 68, 0x1877: 68, - 0x1878: 68, - 0x1880: 85, - 0x1881: 85, - 0x1882: 85, - 0x1883: 85, - 0x1884: 85, - 0x1885: 84, - 0x1886: 84, +- 0x1885: 85, +- 0x1886: 85, ++ 0x1878: 68, ++ 0x1885: 84, ++ 0x1886: 84, 0x1887: 68, -@@ -579,14 +1251,339 @@ joining_types = { + 0x1888: 68, + 0x1889: 68, +@@ -527,13 +1251,339 @@ joining_types = { 0x18a6: 68, 0x18a7: 68, 0x18a8: 68, @@ -1140,7 +1187,6 @@ index a284e4c..c61dcf9 100644 + 0x1dff: 84, + 0x200b: 84, 0x200d: 67, -- 0x202f: 85, - 0x2066: 85, - 0x2067: 85, - 0x2068: 85, @@ -1265,7 +1311,7 @@ index a284e4c..c61dcf9 100644 0xa840: 68, 0xa841: 68, 0xa842: 68, -@@ -638,20 +1635,151 @@ joining_types = { +@@ -585,7 +1635,1396 @@ joining_types = { 0xa870: 68, 0xa871: 68, 0xa872: 76, @@ -1406,46 +1452,104 @@ index a284e4c..c61dcf9 100644 + 0x10a39: 84, + 0x10a3a: 84, + 0x10a3f: 84, - 0x10ac0: 68, - 0x10ac1: 68, - 0x10ac2: 68, - 0x10ac3: 68, - 0x10ac4: 68, - 0x10ac5: 82, -- 0x10ac6: 85, - 0x10ac7: 82, -- 0x10ac8: 85, - 0x10ac9: 82, - 0x10aca: 82, -- 0x10acb: 85, -- 0x10acc: 85, - 0x10acd: 76, - 0x10ace: 82, - 0x10acf: 82, -@@ -673,9 +1801,9 @@ joining_types = { - 0x10adf: 68, - 0x10ae0: 68, - 0x10ae1: 82, -- 0x10ae2: 85, -- 0x10ae3: 85, - 0x10ae4: 82, ++ 0x10ac0: 68, ++ 0x10ac1: 68, ++ 0x10ac2: 68, ++ 0x10ac3: 68, ++ 0x10ac4: 68, ++ 0x10ac5: 82, ++ 0x10ac7: 82, ++ 0x10ac9: 82, ++ 0x10aca: 82, ++ 0x10acd: 76, ++ 0x10ace: 82, ++ 0x10acf: 82, ++ 0x10ad0: 82, ++ 0x10ad1: 82, ++ 0x10ad2: 82, ++ 0x10ad3: 68, ++ 0x10ad4: 68, ++ 0x10ad5: 68, ++ 0x10ad6: 68, ++ 0x10ad7: 76, ++ 0x10ad8: 68, ++ 0x10ad9: 68, ++ 0x10ada: 68, ++ 0x10adb: 68, ++ 0x10adc: 68, ++ 0x10add: 82, ++ 0x10ade: 68, ++ 0x10adf: 68, ++ 0x10ae0: 68, ++ 0x10ae1: 82, ++ 0x10ae4: 82, + 0x10ae5: 84, + 0x10ae6: 84, - 0x10aeb: 68, - 0x10aec: 68, - 0x10aed: 68, -@@ -705,7 +1833,6 @@ joining_types = { - 0x10bac: 82, - 0x10bad: 68, - 0x10bae: 68, -- 0x10baf: 85, - 0x10d00: 76, - 0x10d01: 68, - 0x10d02: 68, -@@ -742,6 +1869,15 @@ joining_types = { - 0x10d21: 68, - 0x10d22: 82, - 0x10d23: 68, ++ 0x10aeb: 68, ++ 0x10aec: 68, ++ 0x10aed: 68, ++ 0x10aee: 68, ++ 0x10aef: 82, ++ 0x10b80: 68, ++ 0x10b81: 82, ++ 0x10b82: 68, ++ 0x10b83: 82, ++ 0x10b84: 82, ++ 0x10b85: 82, ++ 0x10b86: 68, ++ 0x10b87: 68, ++ 0x10b88: 68, ++ 0x10b89: 82, ++ 0x10b8a: 68, ++ 0x10b8b: 68, ++ 0x10b8c: 82, ++ 0x10b8d: 68, ++ 0x10b8e: 82, ++ 0x10b8f: 82, ++ 0x10b90: 68, ++ 0x10b91: 82, ++ 0x10ba9: 82, ++ 0x10baa: 82, ++ 0x10bab: 82, ++ 0x10bac: 82, ++ 0x10bad: 68, ++ 0x10bae: 68, ++ 0x10d00: 76, ++ 0x10d01: 68, ++ 0x10d02: 68, ++ 0x10d03: 68, ++ 0x10d04: 68, ++ 0x10d05: 68, ++ 0x10d06: 68, ++ 0x10d07: 68, ++ 0x10d08: 68, ++ 0x10d09: 68, ++ 0x10d0a: 68, ++ 0x10d0b: 68, ++ 0x10d0c: 68, ++ 0x10d0d: 68, ++ 0x10d0e: 68, ++ 0x10d0f: 68, ++ 0x10d10: 68, ++ 0x10d11: 68, ++ 0x10d12: 68, ++ 0x10d13: 68, ++ 0x10d14: 68, ++ 0x10d15: 68, ++ 0x10d16: 68, ++ 0x10d17: 68, ++ 0x10d18: 68, ++ 0x10d19: 68, ++ 0x10d1a: 68, ++ 0x10d1b: 68, ++ 0x10d1c: 68, ++ 0x10d1d: 68, ++ 0x10d1e: 68, ++ 0x10d1f: 68, ++ 0x10d20: 68, ++ 0x10d21: 68, ++ 0x10d22: 82, ++ 0x10d23: 68, + 0x10d24: 84, + 0x10d25: 84, + 0x10d26: 84, @@ -1455,14 +1559,27 @@ index a284e4c..c61dcf9 100644 + 0x10efd: 84, + 0x10efe: 84, + 0x10eff: 84, - 0x10f30: 68, - 0x10f31: 68, - 0x10f32: 68, -@@ -763,19 +1899,49 @@ joining_types = { - 0x10f42: 68, - 0x10f43: 68, - 0x10f44: 68, -- 0x10f45: 85, ++ 0x10f30: 68, ++ 0x10f31: 68, ++ 0x10f32: 68, ++ 0x10f33: 82, ++ 0x10f34: 68, ++ 0x10f35: 68, ++ 0x10f36: 68, ++ 0x10f37: 68, ++ 0x10f38: 68, ++ 0x10f39: 68, ++ 0x10f3a: 68, ++ 0x10f3b: 68, ++ 0x10f3c: 68, ++ 0x10f3d: 68, ++ 0x10f3e: 68, ++ 0x10f3f: 68, ++ 0x10f40: 68, ++ 0x10f41: 68, ++ 0x10f42: 68, ++ 0x10f43: 68, ++ 0x10f44: 68, + 0x10f46: 84, + 0x10f47: 84, + 0x10f48: 84, @@ -1474,10 +1591,10 @@ index a284e4c..c61dcf9 100644 + 0x10f4e: 84, + 0x10f4f: 84, + 0x10f50: 84, - 0x10f51: 68, - 0x10f52: 68, - 0x10f53: 68, - 0x10f54: 82, ++ 0x10f51: 68, ++ 0x10f52: 68, ++ 0x10f53: 68, ++ 0x10f54: 82, + 0x10f70: 68, + 0x10f71: 68, + 0x10f72: 68, @@ -1500,35 +1617,27 @@ index a284e4c..c61dcf9 100644 + 0x10f83: 84, + 0x10f84: 84, + 0x10f85: 84, - 0x10fb0: 68, -- 0x10fb1: 85, - 0x10fb2: 68, - 0x10fb3: 68, - 0x10fb4: 82, - 0x10fb5: 82, - 0x10fb6: 82, -- 0x10fb7: 85, - 0x10fb8: 68, - 0x10fb9: 82, - 0x10fba: 82, -@@ -784,20 +1950,668 @@ joining_types = { - 0x10fbd: 82, - 0x10fbe: 68, - 0x10fbf: 68, -- 0x10fc0: 85, - 0x10fc1: 68, - 0x10fc2: 82, - 0x10fc3: 82, - 0x10fc4: 68, -- 0x10fc5: 85, -- 0x10fc6: 85, -- 0x10fc7: 85, -- 0x10fc8: 85, - 0x10fc9: 82, - 0x10fca: 68, - 0x10fcb: 76, -- 0x110bd: 85, -- 0x110cd: 85, ++ 0x10fb0: 68, ++ 0x10fb2: 68, ++ 0x10fb3: 68, ++ 0x10fb4: 82, ++ 0x10fb5: 82, ++ 0x10fb6: 82, ++ 0x10fb8: 68, ++ 0x10fb9: 82, ++ 0x10fba: 82, ++ 0x10fbb: 68, ++ 0x10fbc: 68, ++ 0x10fbd: 82, ++ 0x10fbe: 68, ++ 0x10fbf: 68, ++ 0x10fc1: 68, ++ 0x10fc2: 82, ++ 0x10fc3: 82, ++ 0x10fc4: 68, ++ 0x10fc9: 82, ++ 0x10fca: 68, ++ 0x10fcb: 76, + 0x11001: 84, + 0x11038: 84, + 0x11039: 84, @@ -2184,13 +2293,74 @@ index a284e4c..c61dcf9 100644 + 0x1e8d4: 84, + 0x1e8d5: 84, + 0x1e8d6: 84, - 0x1e900: 68, - 0x1e901: 68, - 0x1e902: 68, -@@ -866,7 +2680,351 @@ joining_types = { - 0x1e941: 68, - 0x1e942: 68, - 0x1e943: 68, ++ 0x1e900: 68, ++ 0x1e901: 68, ++ 0x1e902: 68, ++ 0x1e903: 68, ++ 0x1e904: 68, ++ 0x1e905: 68, ++ 0x1e906: 68, ++ 0x1e907: 68, ++ 0x1e908: 68, ++ 0x1e909: 68, ++ 0x1e90a: 68, ++ 0x1e90b: 68, ++ 0x1e90c: 68, ++ 0x1e90d: 68, ++ 0x1e90e: 68, ++ 0x1e90f: 68, ++ 0x1e910: 68, ++ 0x1e911: 68, ++ 0x1e912: 68, ++ 0x1e913: 68, ++ 0x1e914: 68, ++ 0x1e915: 68, ++ 0x1e916: 68, ++ 0x1e917: 68, ++ 0x1e918: 68, ++ 0x1e919: 68, ++ 0x1e91a: 68, ++ 0x1e91b: 68, ++ 0x1e91c: 68, ++ 0x1e91d: 68, ++ 0x1e91e: 68, ++ 0x1e91f: 68, ++ 0x1e920: 68, ++ 0x1e921: 68, ++ 0x1e922: 68, ++ 0x1e923: 68, ++ 0x1e924: 68, ++ 0x1e925: 68, ++ 0x1e926: 68, ++ 0x1e927: 68, ++ 0x1e928: 68, ++ 0x1e929: 68, ++ 0x1e92a: 68, ++ 0x1e92b: 68, ++ 0x1e92c: 68, ++ 0x1e92d: 68, ++ 0x1e92e: 68, ++ 0x1e92f: 68, ++ 0x1e930: 68, ++ 0x1e931: 68, ++ 0x1e932: 68, ++ 0x1e933: 68, ++ 0x1e934: 68, ++ 0x1e935: 68, ++ 0x1e936: 68, ++ 0x1e937: 68, ++ 0x1e938: 68, ++ 0x1e939: 68, ++ 0x1e93a: 68, ++ 0x1e93b: 68, ++ 0x1e93c: 68, ++ 0x1e93d: 68, ++ 0x1e93e: 68, ++ 0x1e93f: 68, ++ 0x1e940: 68, ++ 0x1e941: 68, ++ 0x1e942: 68, ++ 0x1e943: 68, + 0x1e944: 84, + 0x1e945: 84, + 0x1e946: 84, @@ -2198,7 +2368,7 @@ index a284e4c..c61dcf9 100644 + 0x1e948: 84, + 0x1e949: 84, + 0x1e94a: 84, - 0x1e94b: 84, ++ 0x1e94b: 84, + 0xe0001: 84, + 0xe0020: 84, + 0xe0021: 84, @@ -2539,34 +2709,108 @@ index a284e4c..c61dcf9 100644 } codepoint_classes = { 'PVALID': ( -@@ -1168,9 +3326,9 @@ codepoint_classes = { +@@ -857,15 +3296,20 @@ codepoint_classes = { + 0x52300000524, + 0x52500000526, + 0x52700000528, ++ 0x5290000052a, ++ 0x52b0000052c, ++ 0x52d0000052e, ++ 0x52f00000530, + 0x5590000055a, +- 0x56100000587, ++ 0x56000000587, ++ 0x58800000589, + 0x591000005be, + 0x5bf000005c0, + 0x5c1000005c3, + 0x5c4000005c6, + 0x5c7000005c8, + 0x5d0000005eb, +- 0x5f0000005f3, ++ 0x5ef000005f3, + 0x6100000061b, + 0x62000000640, + 0x64100000660, +@@ -878,17 +3322,17 @@ codepoint_classes = { + 0x7100000074b, + 0x74d000007b2, + 0x7c0000007f6, ++ 0x7fd000007fe, 0x8000000082e, 0x8400000085c, - 0x8600000086b, -- 0x8a0000008b5, -- 0x8b6000008c8, -- 0x8d3000008e2, +- 0x8a0000008a1, +- 0x8a2000008ad, +- 0x8e4000008ff, +- 0x90000000958, ++ 0x8600000086b, + 0x87000000888, + 0x8890000088f, + 0x898000008e2, - 0x8e300000958, ++ 0x8e300000958, 0x96000000964, 0x96600000970, -@@ -1252,11 +3410,12 @@ codepoint_classes = { +- 0x97100000978, +- 0x97900000980, +- 0x98100000984, ++ 0x97100000984, + 0x9850000098d, + 0x98f00000991, + 0x993000009a9, +@@ -901,6 +3345,8 @@ codepoint_classes = { + 0x9d7000009d8, + 0x9e0000009e4, + 0x9e6000009f2, ++ 0x9fc000009fd, ++ 0x9fe000009ff, + 0xa0100000a04, + 0xa0500000a0b, + 0xa0f00000a11, +@@ -929,6 +3375,7 @@ codepoint_classes = { + 0xad000000ad1, + 0xae000000ae4, + 0xae600000af0, ++ 0xaf900000b00, + 0xb0100000b04, + 0xb0500000b0d, + 0xb0f00000b11, +@@ -939,7 +3386,7 @@ codepoint_classes = { + 0xb3c00000b45, + 0xb4700000b49, + 0xb4b00000b4e, +- 0xb5600000b58, ++ 0xb5500000b58, + 0xb5f00000b64, + 0xb6600000b70, + 0xb7100000b72, +@@ -959,20 +3406,19 @@ codepoint_classes = { + 0xbd000000bd1, + 0xbd700000bd8, + 0xbe600000bf0, +- 0xc0100000c04, +- 0xc0500000c0d, ++ 0xc0000000c0d, 0xc0e00000c11, 0xc1200000c29, - 0xc2a00000c3a, +- 0xc2a00000c34, +- 0xc3500000c3a, - 0xc3d00000c45, ++ 0xc2a00000c3a, + 0xc3c00000c45, 0xc4600000c49, 0xc4a00000c4e, 0xc5500000c57, - 0xc5800000c5b, +- 0xc5800000c5a, ++ 0xc5800000c5b, + 0xc5d00000c5e, 0xc6000000c64, 0xc6600000c70, - 0xc8000000c84, -@@ -1269,10 +3428,10 @@ codepoint_classes = { +- 0xc8200000c84, ++ 0xc8000000c84, + 0xc8500000c8d, + 0xc8e00000c91, + 0xc9200000ca9, +@@ -982,22 +3428,20 @@ codepoint_classes = { 0xcc600000cc9, 0xcca00000cce, 0xcd500000cd7, @@ -2575,12 +2819,55 @@ index a284e4c..c61dcf9 100644 0xce000000ce4, 0xce600000cf0, - 0xcf100000cf3, +- 0xd0200000d04, +- 0xd0500000d0d, + 0xcf100000cf4, - 0xd0000000d0d, ++ 0xd0000000d0d, 0xd0e00000d11, - 0xd1200000d45, -@@ -1307,7 +3466,7 @@ codepoint_classes = { - 0xeb400000ebe, +- 0xd1200000d3b, +- 0xd3d00000d45, ++ 0xd1200000d45, + 0xd4600000d49, + 0xd4a00000d4f, +- 0xd5700000d58, +- 0xd6000000d64, ++ 0xd5400000d58, ++ 0xd5f00000d64, + 0xd6600000d70, + 0xd7a00000d80, +- 0xd8200000d84, ++ 0xd8100000d84, + 0xd8500000d97, + 0xd9a00000db2, + 0xdb300000dbc, +@@ -1007,6 +3451,7 @@ codepoint_classes = { + 0xdcf00000dd5, + 0xdd600000dd7, + 0xdd800000de0, ++ 0xde600000df0, + 0xdf200000df4, + 0xe0100000e33, + 0xe3400000e3b, +@@ -1014,21 +3459,14 @@ codepoint_classes = { + 0xe5000000e5a, + 0xe8100000e83, + 0xe8400000e85, +- 0xe8700000e89, +- 0xe8a00000e8b, +- 0xe8d00000e8e, +- 0xe9400000e98, +- 0xe9900000ea0, +- 0xea100000ea4, ++ 0xe8600000e8b, ++ 0xe8c00000ea4, + 0xea500000ea6, +- 0xea700000ea8, +- 0xeaa00000eac, +- 0xead00000eb3, +- 0xeb400000eba, +- 0xebb00000ebe, ++ 0xea700000eb3, ++ 0xeb400000ebe, 0xec000000ec5, 0xec600000ec7, - 0xec800000ece, @@ -2588,40 +2875,68 @@ index a284e4c..c61dcf9 100644 0xed000000eda, 0xede00000ee0, 0xf0000000f01, -@@ -1366,9 +3525,8 @@ codepoint_classes = { +@@ -1081,14 +3519,14 @@ codepoint_classes = { + 0x13180000135b, + 0x135d00001360, + 0x138000001390, +- 0x13a0000013f5, ++ 0x13a0000013f6, + 0x14010000166d, + 0x166f00001680, 0x16810000169b, 0x16a0000016eb, - 0x16f1000016f9, - 0x17000000170d, - 0x170e00001715, - 0x172000001735, ++ 0x16f1000016f9, + 0x170000001716, + 0x171f00001735, 0x174000001754, 0x17600000176d, 0x176e00001771, -@@ -1397,8 +3555,8 @@ codepoint_classes = { +@@ -1099,10 +3537,10 @@ codepoint_classes = { + 0x17dc000017de, + 0x17e0000017ea, + 0x18100000181a, +- 0x182000001878, ++ 0x182000001879, + 0x1880000018ab, + 0x18b0000018f6, +- 0x19000000191d, ++ 0x19000000191f, + 0x19200000192c, + 0x19300000193c, + 0x19460000196e, +@@ -1116,7 +3554,9 @@ codepoint_classes = { + 0x1a7f00001a8a, 0x1a9000001a9a, 0x1aa700001aa8, - 0x1ab000001abe, -- 0x1abf00001ac1, - 0x1b0000001b4c, ++ 0x1ab000001abe, + 0x1abf00001acf, + 0x1b0000001b4d, 0x1b5000001b5a, 0x1b6b00001b74, 0x1b8000001bf4, -@@ -1413,8 +3571,7 @@ codepoint_classes = { +@@ -1124,15 +3564,14 @@ codepoint_classes = { + 0x1c4000001c4a, + 0x1c4d00001c7e, + 0x1cd000001cd3, +- 0x1cd400001cf7, ++ 0x1cd400001cfb, + 0x1d0000001d2c, + 0x1d2f00001d30, + 0x1d3b00001d3c, 0x1d4e00001d4f, 0x1d6b00001d78, 0x1d7900001d9b, -- 0x1dc000001dfa, -- 0x1dfb00001e00, +- 0x1dc000001de7, +- 0x1dfc00001e00, + 0x1dc000001e00, 0x1e0100001e02, 0x1e0300001e04, 0x1e0500001e06, -@@ -1563,7 +3720,7 @@ codepoint_classes = { +@@ -1281,7 +3720,7 @@ codepoint_classes = { 0x1ff600001ff7, 0x214e0000214f, 0x218400002185, @@ -2630,215 +2945,379 @@ index a284e4c..c61dcf9 100644 0x2c6100002c62, 0x2c6500002c67, 0x2c6800002c69, -@@ -1652,8 +3809,7 @@ codepoint_classes = { - 0x31a0000031c0, +@@ -1366,12 +3805,11 @@ codepoint_classes = { + 0x309d0000309f, + 0x30a1000030fb, + 0x30fc000030ff, +- 0x31050000312e, +- 0x31a0000031bb, ++ 0x310500003130, ++ 0x31a0000031c0, 0x31f000003200, - 0x340000004dc0, -- 0x4e0000009ffd, +- 0x340000004db6, +- 0x4e0000009fcd, - 0xa0000000a48d, ++ 0x340000004dc0, + 0x4e000000a48d, 0xa4d00000a4fe, 0xa5000000a60d, 0xa6100000a62c, -@@ -1766,9 +3922,15 @@ codepoint_classes = { - 0xa7bb0000a7bc, - 0xa7bd0000a7be, - 0xa7bf0000a7c0, +@@ -1412,7 +3850,9 @@ codepoint_classes = { + 0xa6930000a694, + 0xa6950000a696, + 0xa6970000a698, +- 0xa69f0000a6e6, ++ 0xa6990000a69a, ++ 0xa69b0000a69c, ++ 0xa69e0000a6e6, + 0xa6f00000a6f2, + 0xa7170000a720, + 0xa7230000a724, +@@ -1462,30 +3902,53 @@ codepoint_classes = { + 0xa7850000a786, + 0xa7870000a789, + 0xa78c0000a78d, +- 0xa78e0000a78f, ++ 0xa78e0000a790, + 0xa7910000a792, +- 0xa7930000a794, ++ 0xa7930000a796, ++ 0xa7970000a798, ++ 0xa7990000a79a, ++ 0xa79b0000a79c, ++ 0xa79d0000a79e, ++ 0xa79f0000a7a0, + 0xa7a10000a7a2, + 0xa7a30000a7a4, + 0xa7a50000a7a6, + 0xa7a70000a7a8, + 0xa7a90000a7aa, ++ 0xa7af0000a7b0, ++ 0xa7b50000a7b6, ++ 0xa7b70000a7b8, ++ 0xa7b90000a7ba, ++ 0xa7bb0000a7bc, ++ 0xa7bd0000a7be, ++ 0xa7bf0000a7c0, + 0xa7c10000a7c2, - 0xa7c30000a7c4, - 0xa7c80000a7c9, - 0xa7ca0000a7cb, ++ 0xa7c30000a7c4, ++ 0xa7c80000a7c9, ++ 0xa7ca0000a7cb, + 0xa7d10000a7d2, + 0xa7d30000a7d4, + 0xa7d50000a7d6, + 0xa7d70000a7d8, + 0xa7d90000a7da, - 0xa7f60000a7f8, ++ 0xa7f60000a7f8, 0xa7fa0000a828, - 0xa82c0000a82d, -@@ -1796,7 +3958,7 @@ codepoint_classes = { ++ 0xa82c0000a82d, + 0xa8400000a874, +- 0xa8800000a8c5, ++ 0xa8800000a8c6, + 0xa8d00000a8da, + 0xa8e00000a8f8, + 0xa8fb0000a8fc, +- 0xa9000000a92e, ++ 0xa8fd0000a92e, + 0xa9300000a954, + 0xa9800000a9c1, + 0xa9cf0000a9da, ++ 0xa9e00000a9ff, + 0xaa000000aa37, + 0xaa400000aa4e, + 0xaa500000aa5a, + 0xaa600000aa77, +- 0xaa7a0000aa7c, +- 0xaa800000aac3, ++ 0xaa7a0000aac3, + 0xaadb0000aade, + 0xaae00000aaf0, + 0xaaf20000aaf7, +@@ -1494,6 +3957,8 @@ codepoint_classes = { + 0xab110000ab17, 0xab200000ab27, 0xab280000ab2f, - 0xab300000ab5b, -- 0xab600000ab6a, ++ 0xab300000ab5b, + 0xab600000ab69, 0xabc00000abeb, 0xabec0000abee, 0xabf00000abfa, -@@ -1834,9 +3996,14 @@ codepoint_classes = { - 0x104d8000104fc, - 0x1050000010528, - 0x1053000010564, +@@ -1506,7 +3971,7 @@ codepoint_classes = { + 0xfa230000fa25, + 0xfa270000fa2a, + 0xfb1e0000fb1f, +- 0xfe200000fe27, ++ 0xfe200000fe30, + 0xfe730000fe74, + 0x100000001000c, + 0x1000d00010027, +@@ -1518,20 +3983,37 @@ codepoint_classes = { + 0x101fd000101fe, + 0x102800001029d, + 0x102a0000102d1, +- 0x103000001031f, +- 0x1033000010341, ++ 0x102e0000102e1, ++ 0x1030000010320, ++ 0x1032d00010341, + 0x103420001034a, ++ 0x103500001037b, + 0x103800001039e, + 0x103a0000103c4, + 0x103c8000103d0, + 0x104280001049e, + 0x104a0000104aa, ++ 0x104d8000104fc, ++ 0x1050000010528, ++ 0x1053000010564, + 0x10597000105a2, + 0x105a3000105b2, + 0x105b3000105ba, + 0x105bb000105bd, - 0x1060000010737, - 0x1074000010756, - 0x1076000010768, ++ 0x1060000010737, ++ 0x1074000010756, ++ 0x1076000010768, + 0x1078000010781, 0x1080000010806, 0x1080800010809, 0x1080a00010836, -@@ -1873,14 +4040,16 @@ codepoint_classes = { - 0x10e8000010eaa, - 0x10eab00010ead, - 0x10eb000010eb2, -- 0x10f0000010f1d, + 0x1083700010839, + 0x1083c0001083d, + 0x1083f00010856, ++ 0x1086000010877, ++ 0x108800001089f, ++ 0x108e0000108f3, ++ 0x108f4000108f6, + 0x1090000010916, + 0x109200001093a, + 0x10980000109b8, +@@ -1540,35 +4022,214 @@ codepoint_classes = { + 0x10a0500010a07, + 0x10a0c00010a14, + 0x10a1500010a18, +- 0x10a1900010a34, ++ 0x10a1900010a36, + 0x10a3800010a3b, + 0x10a3f00010a40, + 0x10a6000010a7d, ++ 0x10a8000010a9d, ++ 0x10ac000010ac8, ++ 0x10ac900010ae7, + 0x10b0000010b36, + 0x10b4000010b56, + 0x10b6000010b73, ++ 0x10b8000010b92, + 0x10c0000010c49, ++ 0x10cc000010cf3, ++ 0x10d0000010d28, ++ 0x10d3000010d3a, ++ 0x10e8000010eaa, ++ 0x10eab00010ead, ++ 0x10eb000010eb2, + 0x10efd00010f1d, - 0x10f2700010f28, - 0x10f3000010f51, ++ 0x10f2700010f28, ++ 0x10f3000010f51, + 0x10f7000010f86, - 0x10fb000010fc5, - 0x10fe000010ff7, ++ 0x10fb000010fc5, ++ 0x10fe000010ff7, 0x1100000011047, - 0x1106600011070, +- 0x11080000110bb, + 0x1106600011076, - 0x1107f000110bb, ++ 0x1107f000110bb, + 0x110c2000110c3, 0x110d0000110e9, 0x110f0000110fa, 0x1110000011135, -@@ -1894,7 +4063,7 @@ codepoint_classes = { - 0x111dc000111dd, - 0x1120000011212, - 0x1121300011238, -- 0x1123e0001123f, + 0x1113600011140, ++ 0x1114400011148, ++ 0x1115000011174, ++ 0x1117600011177, + 0x11180000111c5, +- 0x111d0000111da, +- 0x11680000116b8, ++ 0x111c9000111cd, ++ 0x111ce000111db, ++ 0x111dc000111dd, ++ 0x1120000011212, ++ 0x1121300011238, + 0x1123e00011242, - 0x1128000011287, - 0x1128800011289, - 0x1128a0001128e, -@@ -1934,6 +4103,7 @@ codepoint_classes = { - 0x117000001171b, - 0x1171d0001172c, - 0x117300001173a, ++ 0x1128000011287, ++ 0x1128800011289, ++ 0x1128a0001128e, ++ 0x1128f0001129e, ++ 0x1129f000112a9, ++ 0x112b0000112eb, ++ 0x112f0000112fa, ++ 0x1130000011304, ++ 0x113050001130d, ++ 0x1130f00011311, ++ 0x1131300011329, ++ 0x1132a00011331, ++ 0x1133200011334, ++ 0x113350001133a, ++ 0x1133b00011345, ++ 0x1134700011349, ++ 0x1134b0001134e, ++ 0x1135000011351, ++ 0x1135700011358, ++ 0x1135d00011364, ++ 0x113660001136d, ++ 0x1137000011375, ++ 0x114000001144b, ++ 0x114500001145a, ++ 0x1145e00011462, ++ 0x11480000114c6, ++ 0x114c7000114c8, ++ 0x114d0000114da, ++ 0x11580000115b6, ++ 0x115b8000115c1, ++ 0x115d8000115de, ++ 0x1160000011641, ++ 0x1164400011645, ++ 0x116500001165a, ++ 0x11680000116b9, + 0x116c0000116ca, +- 0x120000001236f, +- 0x130000001342f, ++ 0x117000001171b, ++ 0x1171d0001172c, ++ 0x117300001173a, + 0x1174000011747, - 0x118000001183b, - 0x118c0000118ea, - 0x118ff00011907, -@@ -1952,7 +4122,7 @@ codepoint_classes = { - 0x11a4700011a48, - 0x11a5000011a9a, - 0x11a9d00011a9e, -- 0x11ac000011af9, ++ 0x118000001183b, ++ 0x118c0000118ea, ++ 0x118ff00011907, ++ 0x119090001190a, ++ 0x1190c00011914, ++ 0x1191500011917, ++ 0x1191800011936, ++ 0x1193700011939, ++ 0x1193b00011944, ++ 0x119500001195a, ++ 0x119a0000119a8, ++ 0x119aa000119d8, ++ 0x119da000119e2, ++ 0x119e3000119e5, ++ 0x11a0000011a3f, ++ 0x11a4700011a48, ++ 0x11a5000011a9a, ++ 0x11a9d00011a9e, + 0x11ab000011af9, - 0x11c0000011c09, - 0x11c0a00011c37, - 0x11c3800011c41, -@@ -1974,14 +4144,22 @@ codepoint_classes = { - 0x11d9300011d99, - 0x11da000011daa, - 0x11ee000011ef7, ++ 0x11c0000011c09, ++ 0x11c0a00011c37, ++ 0x11c3800011c41, ++ 0x11c5000011c5a, ++ 0x11c7200011c90, ++ 0x11c9200011ca8, ++ 0x11ca900011cb7, ++ 0x11d0000011d07, ++ 0x11d0800011d0a, ++ 0x11d0b00011d37, ++ 0x11d3a00011d3b, ++ 0x11d3c00011d3e, ++ 0x11d3f00011d48, ++ 0x11d5000011d5a, ++ 0x11d6000011d66, ++ 0x11d6700011d69, ++ 0x11d6a00011d8f, ++ 0x11d9000011d92, ++ 0x11d9300011d99, ++ 0x11da000011daa, ++ 0x11ee000011ef7, + 0x11f0000011f11, + 0x11f1200011f3b, + 0x11f3e00011f43, + 0x11f5000011f5a, - 0x11fb000011fb1, - 0x120000001239a, - 0x1248000012544, -- 0x130000001342f, ++ 0x11fb000011fb1, ++ 0x120000001239a, ++ 0x1248000012544, + 0x12f9000012ff1, + 0x1300000013430, + 0x1344000013456, - 0x1440000014647, ++ 0x1440000014647, 0x1680000016a39, - 0x16a4000016a5f, - 0x16a6000016a6a, +- 0x16f0000016f45, +- 0x16f5000016f7f, ++ 0x16a4000016a5f, ++ 0x16a6000016a6a, + 0x16a7000016abf, + 0x16ac000016aca, - 0x16ad000016aee, - 0x16af000016af5, - 0x16b0000016b37, -@@ -1999,8 +4177,13 @@ codepoint_classes = { - 0x17000000187f8, - 0x1880000018cd6, - 0x18d0000018d09, -- 0x1b0000001b11f, ++ 0x16ad000016aee, ++ 0x16af000016af5, ++ 0x16b0000016b37, ++ 0x16b4000016b44, ++ 0x16b5000016b5a, ++ 0x16b6300016b78, ++ 0x16b7d00016b90, ++ 0x16e6000016e80, ++ 0x16f0000016f4b, ++ 0x16f4f00016f88, + 0x16f8f00016fa0, +- 0x1b0000001b002, +- 0x200000002a6d7, +- 0x2a7000002b735, ++ 0x16fe000016fe2, ++ 0x16fe300016fe5, ++ 0x16ff000016ff2, ++ 0x17000000187f8, ++ 0x1880000018cd6, ++ 0x18d0000018d09, + 0x1aff00001aff4, + 0x1aff50001affc, + 0x1affd0001afff, + 0x1b0000001b123, + 0x1b1320001b133, - 0x1b1500001b153, ++ 0x1b1500001b153, + 0x1b1550001b156, - 0x1b1640001b168, - 0x1b1700001b2fc, - 0x1bc000001bc6b, -@@ -2008,33 +4191,45 @@ codepoint_classes = { - 0x1bc800001bc89, - 0x1bc900001bc9a, - 0x1bc9d0001bc9f, ++ 0x1b1640001b168, ++ 0x1b1700001b2fc, ++ 0x1bc000001bc6b, ++ 0x1bc700001bc7d, ++ 0x1bc800001bc89, ++ 0x1bc900001bc9a, ++ 0x1bc9d0001bc9f, + 0x1cf000001cf2e, + 0x1cf300001cf47, - 0x1da000001da37, - 0x1da3b0001da6d, - 0x1da750001da76, - 0x1da840001da85, - 0x1da9b0001daa0, - 0x1daa10001dab0, ++ 0x1da000001da37, ++ 0x1da3b0001da6d, ++ 0x1da750001da76, ++ 0x1da840001da85, ++ 0x1da9b0001daa0, ++ 0x1daa10001dab0, + 0x1df000001df1f, + 0x1df250001df2b, - 0x1e0000001e007, - 0x1e0080001e019, - 0x1e01b0001e022, - 0x1e0230001e025, - 0x1e0260001e02b, ++ 0x1e0000001e007, ++ 0x1e0080001e019, ++ 0x1e01b0001e022, ++ 0x1e0230001e025, ++ 0x1e0260001e02b, + 0x1e08f0001e090, - 0x1e1000001e12d, - 0x1e1300001e13e, - 0x1e1400001e14a, - 0x1e14e0001e14f, ++ 0x1e1000001e12d, ++ 0x1e1300001e13e, ++ 0x1e1400001e14a, ++ 0x1e14e0001e14f, + 0x1e2900001e2af, - 0x1e2c00001e2fa, ++ 0x1e2c00001e2fa, + 0x1e4d00001e4fa, + 0x1e7e00001e7e7, + 0x1e7e80001e7ec, + 0x1e7ed0001e7ef, + 0x1e7f00001e7ff, - 0x1e8000001e8c5, - 0x1e8d00001e8d7, - 0x1e9220001e94c, - 0x1e9500001e95a, -- 0x1fbf00001fbfa, -- 0x200000002a6de, -- 0x2a7000002b735, ++ 0x1e8000001e8c5, ++ 0x1e8d00001e8d7, ++ 0x1e9220001e94c, ++ 0x1e9500001e95a, + 0x200000002a6e0, + 0x2a7000002b73a, 0x2b7400002b81e, - 0x2b8200002cea2, - 0x2ceb00002ebe1, ++ 0x2b8200002cea2, ++ 0x2ceb00002ebe1, + 0x2ebf00002ee5e, - 0x300000003134b, ++ 0x300000003134b, + 0x31350000323b0, ), 'CONTEXTJ': ( 0x200c0000200e, -diff --git a/tools/idna-data b/tools/idna-data -index 8f1695b..5bb8dc7 100755 ---- a/tools/idna-data -+++ b/tools/idna-data -@@ -238,11 +238,18 @@ class UnicodeData(object): - def _load_arabicshaping(self): - - self.ucd_as = {} -- f_as = self._ucdfile('ArabicShaping.txt') -+ f_as = self._ucdfile('extracted/DerivedJoiningType.txt') - for line in f_as.splitlines(): -- result = re.match('^(?P[0-9A-F]{4,6})\s*;\s*.*?\s*;\s*(?P\S+)\s*;', line) -+ result = re.match( -+ r'^(?P[0-9A-F]{4,6})(|\.\.(?P[0-9A-F]{4,6}))\s*;\s*(?P\S+)\s*(|\#.*)$', -+ line) - if result: -- self.ucd_as[int(result.group('cp'), 16)] = result.group('jt') -+ if result.group('end'): -+ for i in hexrange(result.group('start'), result.group('end')): -+ self.ucd_as[i] = result.group('jt') -+ else: -+ i = hexvalue(result.group('start')) -+ self.ucd_as[i] = result.group('jt') - - def _load_scripts(self): - -- 2.44.0 diff --git a/python-idna.spec b/python-idna.spec index 3bcc22e..de831b7 100644 --- a/python-idna.spec +++ b/python-idna.spec @@ -15,7 +15,7 @@ Name: python-%{srcname} Version: 2.5 -Release: 6%{?dist} +Release: 7%{?dist} Summary: Internationalized Domain Names in Applications (IDNA) License: BSD and Python and Unicode @@ -81,7 +81,7 @@ currently only supports the older 2003 specification. %endif # with_python3 %prep -%setup -q -n %{srcname}-%{version} +%autosetup -p1 -n %{srcname}-%{version} # Remove bundled egg-info rm -rf %{srcname}.egg-info @@ -129,6 +129,10 @@ rm -rf %{srcname}.egg-info %endif # with_python3 %changelog +* Thu Apr 25 2024 Lumír Balhar - 2.5-7 +- Fix patch application for security fix for CVE-2024-3651 +Resolves: RHEL-32703 + * Tue Apr 23 2024 Lumír Balhar - 2.5-6 - Security fix for CVE-2024-3651 Resolves: RHEL-32703