@@ 73-83 (lines=11) @@ | ||
70 | ||
71 | def destination(tokeniser): |
|
72 | data = tokeniser() |
|
73 | if data.count('.') == 3 and data.count(':') == 0: |
|
74 | ip, netmask = data.split('/') |
|
75 | raw = b''.join(bytes([int(_)]) for _ in ip.split('.')) |
|
76 | yield Flow4Destination(raw, int(netmask)) |
|
77 | elif data.count('/') == 1: |
|
78 | ip, netmask = data.split('/') |
|
79 | offset = 0 |
|
80 | yield Flow6Destination(IP.pton(ip), int(netmask), int(offset)) |
|
81 | else: |
|
82 | ip, netmask, offset = data.split('/') |
|
83 | yield Flow6Destination(IP.pton(ip), int(netmask), int(offset)) |
|
84 | ||
85 | ||
86 | # Expressions |
|
@@ 58-68 (lines=11) @@ | ||
55 | ||
56 | def source(tokeniser): |
|
57 | data = tokeniser() |
|
58 | if data.count('.') == 3 and data.count(':') == 0: |
|
59 | ip, netmask = data.split('/') |
|
60 | raw = b''.join(bytes([int(_)]) for _ in ip.split('.')) |
|
61 | yield Flow4Source(raw, int(netmask)) |
|
62 | elif data.count('/') == 1: |
|
63 | ip, netmask = data.split('/') |
|
64 | offset = 0 |
|
65 | yield Flow6Source(IP.pton(ip), int(netmask), int(offset)) |
|
66 | else: |
|
67 | ip, netmask, offset = data.split('/') |
|
68 | yield Flow6Source(IP.pton(ip), int(netmask), int(offset)) |
|
69 | ||
70 | ||
71 | def destination(tokeniser): |