summaryrefslogtreecommitdiffstats
path: root/ipapython/config.py
diff options
context:
space:
mode:
Diffstat (limited to 'ipapython/config.py')
-rw-r--r--ipapython/config.py11
1 files changed, 7 insertions, 4 deletions
diff --git a/ipapython/config.py b/ipapython/config.py
index c78508541..051e39f92 100644
--- a/ipapython/config.py
+++ b/ipapython/config.py
@@ -49,8 +49,11 @@ class IPAFormatter(IndentedHelpFormatter):
def check_ip_option(option, opt, value):
from ipapython.ipautil import CheckedIPAddress
+
+ ip_local = option.ip_local is True
+ ip_netmask = option.ip_netmask is True
try:
- return CheckedIPAddress(value, parse_netmask=(option.type == "ipnet"))
+ return CheckedIPAddress(value, parse_netmask=ip_netmask, match_local=ip_local)
except Exception as e:
raise OptionValueError("option %s: invalid IP address %s: %s" % (opt, value, e))
@@ -59,10 +62,10 @@ class IPAOption(Option):
optparse.Option subclass with support of options labeled as
security-sensitive such as passwords.
"""
- ATTRS = Option.ATTRS + ["sensitive"]
- TYPES = Option.TYPES + ("ipaddr", "ipnet")
+ ATTRS = Option.ATTRS + ["sensitive", "ip_local", "ip_netmask"]
+ TYPES = Option.TYPES + ("ip",)
TYPE_CHECKER = copy(Option.TYPE_CHECKER)
- TYPE_CHECKER["ipaddr"] = TYPE_CHECKER["ipnet"] = check_ip_option
+ TYPE_CHECKER["ip"] = check_ip_option
class IPAOptionParser(OptionParser):
"""