@@ -661,7 +661,7 @@ def nanosecond(self) -> 'bool':
661
661
info = cast ('Packet' , self ._info )
662
662
options = self ._ctx .interfaces [info .interface_id ].options
663
663
tsresol = cast ('Optional[Data_IF_TSResolOption]' ,
664
- options .get (Enum_OptionType .if_tsresol )) # type: ignore[call-overload]
664
+ options .get (Enum_OptionType .if_tsresol ))
665
665
if tsresol is None :
666
666
return False
667
667
return tsresol .resolution > 1_000_000
@@ -1373,6 +1373,9 @@ def _read_option_if_name(self, schema: 'Schema_IF_NameOption', *,
1373
1373
Constructed option data.
1374
1374
1375
1375
"""
1376
+ if self ._type != Enum_BlockType .Interface_Description_Block :
1377
+ raise ProtocolError (f'PCAP-NG: [if_name] option must be in Interface Description Block, '
1378
+ f'but found in { self ._type } block.' )
1376
1379
if self ._opt [schema .type ] > 0 :
1377
1380
raise ProtocolError (f'PCAP-NG: [if_name] option must be only one, '
1378
1381
f'but { self ._opt [schema .type ] + 1 } found.' )
@@ -1396,6 +1399,9 @@ def _read_option_if_description(self, schema: 'Schema_IF_DescriptionOption', *,
1396
1399
Constructed option data.
1397
1400
1398
1401
"""
1402
+ if self ._type != Enum_BlockType .Interface_Description_Block :
1403
+ raise ProtocolError (f'PCAP-NG: [if_description] option must be in Interface Description Block, '
1404
+ f'but found in { self ._type } block.' )
1399
1405
if self ._opt [schema .type ] > 0 :
1400
1406
raise ProtocolError (f'PCAP-NG: [if_description] option must be only one, '
1401
1407
f'but { self ._opt [schema .type ] + 1 } found.' )
@@ -1419,6 +1425,10 @@ def _read_option_if_ipv4(self, schema: 'Schema_IF_IPv4AddrOption', *,
1419
1425
Constructed option data.
1420
1426
1421
1427
"""
1428
+ if self ._type != Enum_BlockType .Interface_Description_Block :
1429
+ raise ProtocolError (f'PCAP-NG: [if_IPv4addr] option must be in Interface Description Block, '
1430
+ f'but found in { self ._type } block.' )
1431
+
1422
1432
option = Data_IF_IPv4AddrOption (
1423
1433
type = schema .type ,
1424
1434
length = schema .length ,
@@ -1438,6 +1448,10 @@ def _read_option_if_ipv6(self, schema: 'Schema_IF_IPv6AddrOption', *,
1438
1448
Constructed option data.
1439
1449
1440
1450
"""
1451
+ if self ._type != Enum_BlockType .Interface_Description_Block :
1452
+ raise ProtocolError (f'PCAP-NG: [if_IPv6addr] option must be in Interface Description Block, '
1453
+ f'but found in { self ._type } block.' )
1454
+
1441
1455
option = Data_IF_IPv6AddrOption (
1442
1456
type = schema .type ,
1443
1457
length = schema .length ,
@@ -1457,6 +1471,9 @@ def _read_option_if_mac(self, schema: 'Schema_IF_MACAddrOption', *,
1457
1471
Constructed option data.
1458
1472
1459
1473
"""
1474
+ if self ._type != Enum_BlockType .Interface_Description_Block :
1475
+ raise ProtocolError (f'PCAP-NG: [if_MACaddr] option must be in Interface Description Block, '
1476
+ f'but found in { self ._type } block.' )
1460
1477
if self ._opt [schema .type ] > 0 :
1461
1478
raise ProtocolError (f'PCAP-NG: [if_MACaddr] option must be only one, '
1462
1479
f'but { self ._opt [schema .type ] + 1 } found.' )
@@ -1480,6 +1497,9 @@ def _read_option_if_eui(self, schema: 'Schema_IF_EUIAddrOption', *,
1480
1497
Constructed option data.
1481
1498
1482
1499
"""
1500
+ if self ._type != Enum_BlockType .Interface_Description_Block :
1501
+ raise ProtocolError (f'PCAP-NG: [if_EUIaddr] option must be in Interface Description Block, '
1502
+ f'but found in { self ._type } block.' )
1483
1503
if self ._opt [schema .type ] > 0 :
1484
1504
raise ProtocolError (f'PCAP-NG: [if_EUIaddr] option must be only one, '
1485
1505
f'but { self ._opt [schema .type ] + 1 } found.' )
@@ -1503,6 +1523,9 @@ def _read_option_if_speed(self, schema: 'Schema_IF_SpeedOption', *,
1503
1523
Constructed option data.
1504
1524
1505
1525
"""
1526
+ if self ._type != Enum_BlockType .Interface_Description_Block :
1527
+ raise ProtocolError (f'PCAP-NG: [if_speed] option must be in Interface Description Block, '
1528
+ f'but found in { self ._type } block.' )
1506
1529
if self ._opt [schema .type ] > 0 :
1507
1530
raise ProtocolError (f'PCAP-NG: [if_speed] option must be only one, '
1508
1531
f'but { self ._opt [schema .type ] + 1 } found.' )
@@ -1526,6 +1549,9 @@ def _read_option_if_tsresol(self, schema: 'Schema_IF_TSResolOption', *,
1526
1549
Constructed option data.
1527
1550
1528
1551
"""
1552
+ if self ._type != Enum_BlockType .Interface_Description_Block :
1553
+ raise ProtocolError (f'PCAP-NG: [if_tsresol] option must be in Interface Description Block, '
1554
+ f'but found in { self ._type } block.' )
1529
1555
if self ._opt [schema .type ] > 0 :
1530
1556
raise ProtocolError (f'PCAP-NG: [if_tsresol] option must be only one, '
1531
1557
f'but { self ._opt [schema .type ] + 1 } found.' )
@@ -1549,6 +1575,9 @@ def _read_option_if_tzone(self, schema: 'Schema_IF_TZoneOption', *,
1549
1575
Constructed option data.
1550
1576
1551
1577
"""
1578
+ if self ._type != Enum_BlockType .Interface_Description_Block :
1579
+ raise ProtocolError (f'PCAP-NG: [if_tzone] option must be in Interface Description Block, '
1580
+ f'but found in { self ._type } block.' )
1552
1581
if self ._opt [schema .type ] > 0 :
1553
1582
raise ProtocolError (f'PCAP-NG: [if_tzone] option must be only one, '
1554
1583
f'but { self ._opt [schema .type ] + 1 } found.' )
@@ -1572,6 +1601,9 @@ def _read_option_if_filter(self, schema: 'Schema_IF_FilterOption', *,
1572
1601
Constructed option data.
1573
1602
1574
1603
"""
1604
+ if self ._type != Enum_BlockType .Interface_Description_Block :
1605
+ raise ProtocolError (f'PCAP-NG: [if_filter] option must be in Interface Description Block, '
1606
+ f'but found in { self ._type } block.' )
1575
1607
if self ._opt [schema .type ] > 0 :
1576
1608
raise ProtocolError (f'PCAP-NG: [if_filter] option must be only one, '
1577
1609
f'but { self ._opt [schema .type ] + 1 } found.' )
@@ -1596,6 +1628,9 @@ def _read_option_if_os(self, schema: 'Schema_IF_OSOption', *,
1596
1628
Constructed option data.
1597
1629
1598
1630
"""
1631
+ if self ._type != Enum_BlockType .Interface_Description_Block :
1632
+ raise ProtocolError (f'PCAP-NG: [if_os] option must be in Interface Description Block, '
1633
+ f'but found in { self ._type } block.' )
1599
1634
if self ._opt [schema .type ] > 0 :
1600
1635
raise ProtocolError (f'PCAP-NG: [if_os] option must be only one, '
1601
1636
f'but { self ._opt [schema .type ] + 1 } found.' )
@@ -1619,6 +1654,9 @@ def _read_option_if_fcslen(self, schema: 'Schema_IF_FCSLenOption', *,
1619
1654
Constructed option data.
1620
1655
1621
1656
"""
1657
+ if self ._type != Enum_BlockType .Interface_Description_Block :
1658
+ raise ProtocolError (f'PCAP-NG: [if_fcslen] option must be in Interface Description Block, '
1659
+ f'but found in { self ._type } block.' )
1622
1660
if self ._opt [schema .type ] > 0 :
1623
1661
raise ProtocolError (f'PCAP-NG: [if_fcslen] option must be only one, '
1624
1662
f'but { self ._opt [schema .type ] + 1 } found.' )
@@ -1642,6 +1680,9 @@ def _read_option_if_tsoffset(self, schema: 'Schema_IF_TSOffsetOption', *,
1642
1680
Constructed option data.
1643
1681
1644
1682
"""
1683
+ if self ._type != Enum_BlockType .Interface_Description_Block :
1684
+ raise ProtocolError (f'PCAP-NG: [if_tsoffset] option must be in Interface Description Block, '
1685
+ f'but found in { self ._type } block.' )
1645
1686
if self ._opt [schema .type ] > 0 :
1646
1687
raise ProtocolError (f'PCAP-NG: [if_tsoffset] option must be only one, '
1647
1688
f'but { self ._opt [schema .type ] + 1 } found.' )
@@ -1665,6 +1706,9 @@ def _read_option_if_hardware(self, schema: 'Schema_IF_HardwareOption', *,
1665
1706
Constructed option data.
1666
1707
1667
1708
"""
1709
+ if self ._type != Enum_BlockType .Interface_Description_Block :
1710
+ raise ProtocolError (f'PCAP-NG: [if_hardware] option must be in Interface Description Block, '
1711
+ f'but found in { self ._type } block.' )
1668
1712
if self ._opt [schema .type ] > 0 :
1669
1713
raise ProtocolError (f'PCAP-NG: [if_hardware] option must be only one, '
1670
1714
f'but { self ._opt [schema .type ] + 1 } found.' )
@@ -1688,6 +1732,9 @@ def _read_option_if_txspeed(self, schema: 'Schema_IF_TxSpeedOption', *,
1688
1732
Constructed option data.
1689
1733
1690
1734
"""
1735
+ if self ._type != Enum_BlockType .Interface_Description_Block :
1736
+ raise ProtocolError (f'PCAP-NG: [if_txspeed] option must be in Interface Description Block, '
1737
+ f'but found in { self ._type } block.' )
1691
1738
if self ._opt [schema .type ] > 0 :
1692
1739
raise ProtocolError (f'PCAP-NG: [if_txspeed] option must be only one, '
1693
1740
f'but { self ._opt [schema .type ] + 1 } found.' )
@@ -1711,6 +1758,9 @@ def _read_option_if_rxspeed(self, schema: 'Schema_IF_RxSpeedOption', *,
1711
1758
Constructed option data.
1712
1759
1713
1760
"""
1761
+ if self ._type != Enum_BlockType .Interface_Description_Block :
1762
+ raise ProtocolError (f'PCAP-NG: [if_rxspeed] option must be in Interface Description Block, '
1763
+ f'but found in { self ._type } block.' )
1714
1764
if self ._opt [schema .type ] > 0 :
1715
1765
raise ProtocolError (f'PCAP-NG: [if_rxspeed] option must be only one, '
1716
1766
f'but { self ._opt [schema .type ] + 1 } found.' )
@@ -1850,7 +1900,7 @@ def _make_pcapng_options(self, options: 'Option | list[Schema_Option | tuple[Enu
1850
1900
self ._opt [code ] += 1
1851
1901
1852
1902
if has_endofopt :
1853
- opt_endofopt = self ._make_option_endofopt (Enum_OptionType .opt_endofopt ) # type: ignore[arg-type]
1903
+ opt_endofopt = self ._make_option_endofopt (Enum_OptionType .opt_endofopt )
1854
1904
total_length += len (opt_endofopt .pack ())
1855
1905
options_list .append (opt_endofopt )
1856
1906
return options_list , total_length
@@ -1877,7 +1927,7 @@ def _make_pcapng_options(self, options: 'Option | list[Schema_Option | tuple[Enu
1877
1927
self ._opt [code ] += 1
1878
1928
1879
1929
if has_endofopt :
1880
- opt_endofopt = self ._make_option_endofopt (Enum_OptionType .opt_endofopt ) # type: ignore[arg-type]
1930
+ opt_endofopt = self ._make_option_endofopt (Enum_OptionType .opt_endofopt )
1881
1931
total_length += len (opt_endofopt .pack ())
1882
1932
options_list .append (opt_endofopt )
1883
1933
return options_list , total_length
@@ -1997,6 +2047,9 @@ def _make_option_if_name(self, type: 'Enum_OptionType', option: 'Optional[Data_I
1997
2047
Constructed option schema.
1998
2048
1999
2049
"""
2050
+ if self ._type != Enum_BlockType .Interface_Description_Block :
2051
+ raise ProtocolError (f'PCAP-NG: [if_name] option must be in Interface Description Block, '
2052
+ f'but found in { self ._type } block.' )
2000
2053
if self ._opt [type ] > 0 :
2001
2054
raise ProtocolError (f'PCAP-NG: [if_name] option must be only one, '
2002
2055
f'but { self ._opt [type ] + 1 } found.' )
@@ -2025,6 +2078,9 @@ def _make_option_if_description(self, type: 'Enum_OptionType', option: 'Optional
2025
2078
Constructed option schema.
2026
2079
2027
2080
"""
2081
+ if self ._type != Enum_BlockType .Interface_Description_Block :
2082
+ raise ProtocolError (f'PCAP-NG: [if_description] option must be in Interface Description Block, '
2083
+ f'but found in { self ._type } block.' )
2028
2084
if self ._opt [type ] > 0 :
2029
2085
raise ProtocolError (f'PCAP-NG: [if_description] option must be only one, '
2030
2086
f'but { self ._opt [type ] + 1 } found.' )
@@ -2053,6 +2109,10 @@ def _make_option_if_ipv4(self, type: 'Enum_OptionType', option: 'Optional[Data_I
2053
2109
Constructed option schema.
2054
2110
2055
2111
"""
2112
+ if self ._type != Enum_BlockType .Interface_Description_Block :
2113
+ raise ProtocolError (f'PCAP-NG: [if_IPv4addr] option must be in Interface Description Block, '
2114
+ f'but found in { self ._type } block.' )
2115
+
2056
2116
if option is not None :
2057
2117
interface = option .interface
2058
2118
@@ -2077,6 +2137,10 @@ def _make_option_if_ipv6(self, type: 'Enum_OptionType', option: 'Optional[Data_I
2077
2137
Constructed option schema.
2078
2138
2079
2139
"""
2140
+ if self ._type != Enum_BlockType .Interface_Description_Block :
2141
+ raise ProtocolError (f'PCAP-NG: [if_IPv6addr] option must be in Interface Description Block, '
2142
+ f'but found in { self ._type } block.' )
2143
+
2080
2144
if option is not None :
2081
2145
interface = option .interface
2082
2146
@@ -2101,6 +2165,9 @@ def _make_option_if_mac(self, type: 'Enum_OptionType', option: 'Optional[Data_IF
2101
2165
Constructed option schema.
2102
2166
2103
2167
"""
2168
+ if self ._type != Enum_BlockType .Interface_Description_Block :
2169
+ raise ProtocolError (f'PCAP-NG: [if_MACaddr] option must be in Interface Description Block, '
2170
+ f'but found in { self ._type } block.' )
2104
2171
if self ._opt [type ] > 0 :
2105
2172
raise ProtocolError (f'PCAP-NG: [if_MACaddr] option must be only one, '
2106
2173
f'but { self ._opt [type ] + 1 } found.' )
@@ -2129,6 +2196,9 @@ def _make_option_if_eui(self, type: 'Enum_OptionType', option: 'Optional[Data_IF
2129
2196
Constructed option schema.
2130
2197
2131
2198
"""
2199
+ if self ._type != Enum_BlockType .Interface_Description_Block :
2200
+ raise ProtocolError (f'PCAP-NG: [if_EUIaddr] option must be in Interface Description Block, '
2201
+ f'but found in { self ._type } block.' )
2132
2202
if self ._opt [type ] > 0 :
2133
2203
raise ProtocolError (f'PCAP-NG: [if_EUIaddr] option must be only one, '
2134
2204
f'but { self ._opt [type ] + 1 } found.' )
@@ -2157,6 +2227,9 @@ def _make_option_if_speed(self, type: 'Enum_OptionType', option: 'Optional[Data_
2157
2227
Constructed option schema.
2158
2228
2159
2229
"""
2230
+ if self ._type != Enum_BlockType .Interface_Description_Block :
2231
+ raise ProtocolError (f'PCAP-NG: [if_speed] option must be in Interface Description Block, '
2232
+ f'but found in { self ._type } block.' )
2160
2233
if self ._opt [type ] > 0 :
2161
2234
raise ProtocolError (f'PCAP-NG: [if_speed] option must be only one, '
2162
2235
f'but { self ._opt [type ] + 1 } found.' )
@@ -2185,6 +2258,9 @@ def _make_option_if_tsresol(self, type: 'Enum_OptionType', option: 'Optional[Dat
2185
2258
Constructed option schema.
2186
2259
2187
2260
"""
2261
+ if self ._type != Enum_BlockType .Interface_Description_Block :
2262
+ raise ProtocolError (f'PCAP-NG: [if_tsresol] option must be in Interface Description Block, '
2263
+ f'but found in { self ._type } block.' )
2188
2264
if self ._opt [type ] > 0 :
2189
2265
raise ProtocolError (f'PCAP-NG: [if_tsresol] option must be only one, '
2190
2266
f'but { self ._opt [type ] + 1 } found.' )
@@ -2217,7 +2293,7 @@ def _make_option_if_tsresol(self, type: 'Enum_OptionType', option: 'Optional[Dat
2217
2293
def _make_option_if_tzone (self , type : 'Enum_OptionType' , option : 'Optional[Data_IF_TZoneOption]' = None , * ,
2218
2294
tzone : 'timezone | timedelta | int' = 0 ,
2219
2295
** kwargs : 'Any' ) -> 'Schema_IF_TZoneOption' :
2220
- """Make PCAP-NG ``if_tsresol `` option.
2296
+ """Make PCAP-NG ``if_tzone `` option.
2221
2297
2222
2298
Args:
2223
2299
type: Option type.
@@ -2229,6 +2305,9 @@ def _make_option_if_tzone(self, type: 'Enum_OptionType', option: 'Optional[Data_
2229
2305
Constructed option schema.
2230
2306
2231
2307
"""
2308
+ if self ._type != Enum_BlockType .Interface_Description_Block :
2309
+ raise ProtocolError (f'PCAP-NG: [if_tzone] option must be in Interface Description Block, '
2310
+ f'but found in { self ._type } block.' )
2232
2311
if self ._opt [type ] > 0 :
2233
2312
raise ProtocolError (f'PCAP-NG: [if_tzone] option must be only one, '
2234
2313
f'but { self ._opt [type ] + 1 } found.' )
@@ -2271,6 +2350,9 @@ def _make_option_if_filter(self, type: 'Enum_OptionType', option: 'Optional[Data
2271
2350
Constructed option schema.
2272
2351
2273
2352
"""
2353
+ if self ._type != Enum_BlockType .Interface_Description_Block :
2354
+ raise ProtocolError (f'PCAP-NG: [if_filter] option must be in Interface Description Block, '
2355
+ f'but found in { self ._type } block.' )
2274
2356
if self ._opt [type ] > 0 :
2275
2357
raise ProtocolError (f'PCAP-NG: [if_filter] option must be only one, '
2276
2358
f'but { self ._opt [type ] + 1 } found.' )
@@ -2305,6 +2387,9 @@ def _make_option_if_os(self, type: 'Enum_OptionType', option: 'Optional[Data_IF_
2305
2387
Constructed option schema.
2306
2388
2307
2389
"""
2390
+ if self ._type != Enum_BlockType .Interface_Description_Block :
2391
+ raise ProtocolError (f'PCAP-NG: [if_os] option must be in Interface Description Block, '
2392
+ f'but found in { self ._type } block.' )
2308
2393
if self ._opt [type ] > 0 :
2309
2394
raise ProtocolError (f'PCAP-NG: [if_os] option must be only one, '
2310
2395
f'but { self ._opt [type ] + 1 } found.' )
@@ -2333,6 +2418,9 @@ def _make_option_if_fcslen(self, type: 'Enum_OptionType', option: 'Optional[Data
2333
2418
Constructed option schema.
2334
2419
2335
2420
"""
2421
+ if self ._type != Enum_BlockType .Interface_Description_Block :
2422
+ raise ProtocolError (f'PCAP-NG: [if_fcslen] option must be in Interface Description Block, '
2423
+ f'but found in { self ._type } block.' )
2336
2424
if self ._opt [type ] > 0 :
2337
2425
raise ProtocolError (f'PCAP-NG: [if_fcslen] option must be only one, '
2338
2426
f'but { self ._opt [type ] + 1 } found.' )
@@ -2361,6 +2449,9 @@ def _make_option_if_hardware(self, type: 'Enum_OptionType', option: 'Optional[Da
2361
2449
Constructed option schema.
2362
2450
2363
2451
"""
2452
+ if self ._type != Enum_BlockType .Interface_Description_Block :
2453
+ raise ProtocolError (f'PCAP-NG: [if_hardware] option must be in Interface Description Block, '
2454
+ f'but found in { self ._type } block.' )
2364
2455
if self ._opt [type ] > 0 :
2365
2456
raise ProtocolError (f'PCAP-NG: [if_hardware] option must be only one, '
2366
2457
f'but { self ._opt [type ] + 1 } found.' )
@@ -2389,6 +2480,9 @@ def _make_option_if_txspeed(self, type: 'Enum_OptionType', option: 'Optional[Dat
2389
2480
Constructed option schema.
2390
2481
2391
2482
"""
2483
+ if self ._type != Enum_BlockType .Interface_Description_Block :
2484
+ raise ProtocolError (f'PCAP-NG: [if_txspeed] option must be in Interface Description Block, '
2485
+ f'but found in { self ._type } block.' )
2392
2486
if self ._opt [type ] > 0 :
2393
2487
raise ProtocolError (f'PCAP-NG: [if_txspeed] option must be only one, '
2394
2488
f'but { self ._opt [type ] + 1 } found.' )
@@ -2417,6 +2511,9 @@ def _make_option_if_rxspeed(self, type: 'Enum_OptionType', option: 'Optional[Dat
2417
2511
Constructed option schema.
2418
2512
2419
2513
"""
2514
+ if self ._type != Enum_BlockType .Interface_Description_Block :
2515
+ raise ProtocolError (f'PCAP-NG: [if_txspeed] option must be in Interface Description Block, '
2516
+ f'but found in { self ._type } block.' )
2420
2517
if self ._opt [type ] > 0 :
2421
2518
raise ProtocolError (f'PCAP-NG: [if_txspeed] option must be only one, '
2422
2519
f'but { self ._opt [type ] + 1 } found.' )
0 commit comments