diff options
author | bfox <bfox> | 2001-01-23 22:53:18 +0000 |
---|---|---|
committer | bfox <bfox> | 2001-01-23 22:53:18 +0000 |
commit | 7d2c8d3771334baaf95b20015c1da38dc20f385d (patch) | |
tree | 07b15fcb1aff7dec1a488346ab9c367132d36d84 /textw/firewall_text.py | |
parent | 2ff9d258ad04c8f64d0c3348515ba65f0e531053 (diff) | |
download | anaconda-7d2c8d3771334baaf95b20015c1da38dc20f385d.tar.gz anaconda-7d2c8d3771334baaf95b20015c1da38dc20f385d.tar.xz anaconda-7d2c8d3771334baaf95b20015c1da38dc20f385d.zip |
Added some sanity checking code for the port list.
Diffstat (limited to 'textw/firewall_text.py')
-rw-r--r-- | textw/firewall_text.py | 42 |
1 files changed, 41 insertions, 1 deletions
diff --git a/textw/firewall_text.py b/textw/firewall_text.py index 773f6acf8..943b8c68d 100644 --- a/textw/firewall_text.py +++ b/textw/firewall_text.py @@ -148,7 +148,7 @@ class FirewallWindow: for device in self.netCBs.keys(): if self.netCBs[device].selected(): todo.firewall.trustdevs.append(device) - todo.firewall.portlist = self.other.value() +# todo.firewall.portlist = self.other.value() todo.firewall.dhcp = self.dhcp.selected() todo.firewall.ssh = self.ssh.selected() todo.firewall.telnet = self.telnet.selected() @@ -163,6 +163,46 @@ class FirewallWindow: todo.firewall.policy = 0 else: todo.firewall.policy = 1 + + #- Do some sanity checking on port list + portstring = string.strip(self.other.value()) + portlist = "" + bad_token_found = 0 + bad_token = "" + if portstring != "": + tokens = string.split(portstring, ',') + for token in tokens: + try: + if string.index(token,':'): #- if there's a colon in the token, it's valid + parts = string.split(token, ':') + if len(parts) > 2: #- We've found more than one colon. Break loop and raise an error. + bad_token_found = 1 + bad_token = token + else: + if parts[1] == 'tcp' or parts[1] == 'udp': #-upd and tcp are the only valid protocols + if portlist == "": + portlist = token + else: + portlist = portlist + ',' + token + else: #- Found a protocol other than tcp or udp. Break loop + bad_token_found = 1 + bad_token = token + pass + except: + if token != "": + if portlist == "": + portlist = token + ":tcp" + else: + portlist = portlist + ',' + token + ':tcp' + else: + pass + todo.firewall.portlist = portlist + +# print todo.firewall.portlist +# import time +# time.sleep(3) + + return INSTALL_OK def radiocb(self, args): |