From 87a5a7954defdab57988f7200c0a4f87a83492e3 Mon Sep 17 00:00:00 2001 From: Thierry Parmentelat Date: Thu, 28 Nov 2019 12:22:07 +0100 Subject: [PATCH] iptables.py runs on python3 --- system/template-qemu/iptables.py | 55 ++++++++++++++++---------------- 1 file changed, 27 insertions(+), 28 deletions(-) diff --git a/system/template-qemu/iptables.py b/system/template-qemu/iptables.py index 8e1f92e..d694878 100755 --- a/system/template-qemu/iptables.py +++ b/system/template-qemu/iptables.py @@ -1,36 +1,35 @@ -#!/usr/bin/python +#!/usr/bin/python3 import sys import re -def main (): - fin=open(sys.argv[1]) - fou=open(sys.argv[2],"w") - ip=sys.argv[3] - - found=False - lo_matcher=re.compile("\A(?P.+)\s+-i\s+lo\s+-j\s+ACCEPT") - # what comes out of iptables-save has short-options syntax - ip_matcher=re.compile(".*-(s|d) %s"%ip) - for line in fin.readlines(): - attempt=lo_matcher.match(line) - if attempt: - fou.write(line) - # open-up for this IP - fou.write("%s -s %s -j ACCEPT\n"%(attempt.group('left'),ip)) - fou.write("%s -d %s -j ACCEPT\n"%(attempt.group('left'),ip)) - found=True - else: - attempt = ip_matcher.match(line) - # do not rewrite old lines for this ip - if not attempt: + +def main(): + with open(sys.argv[1]) as fin, open(sys.argv[2], "w") as fou: + ip = sys.argv[3] + + found = False + lo_matcher = re.compile("\A(?P.+)\s+-i\s+lo\s+-j\s+ACCEPT") + # what comes out of iptables-save has short-options syntax + ip_matcher = re.compile(".*-(s|d) %s" % ip) + for line in fin.readlines(): + attempt = lo_matcher.match(line) + if attempt: fou.write(line) + # open-up for this IP + fou.write("%s -s %s -j ACCEPT\n" % (attempt.group('left'), ip)) + fou.write("%s -d %s -j ACCEPT\n" % (attempt.group('left'), ip)) + found = True + else: + attempt = ip_matcher.match(line) + # do not rewrite old lines for this ip + if not attempt: + fou.write(line) + if found: + return 0 + else: + return 1 - fin.close() - fou.close() - if found : return 0 - else : return 1 if __name__ == '__main__': - main() - + exit(main()) -- 2.43.0