diff --git a/irrd/rpsl/fields.py b/irrd/rpsl/fields.py index da0039c..5e74869 100644 --- a/irrd/rpsl/fields.py +++ b/irrd/rpsl/fields.py @@ -218,6 +218,10 @@ def parse( value = value.replace(",", "") # #311, process multiline PK correctly if "-" in value: ip1_input, ip2_input = value.split("-", 1) + elif "/" in value: + ip = IP(value, ipversion=4) + ip1_input = ip.net() + ip2_input = ip.broadcast() else: ip1_input = ip2_input = value @@ -236,7 +240,7 @@ def parse( messages.error(f"Invalid address range: {value}: first IP is higher than second IP") return None - if "-" in value: + if "-" in value or "/" in value: parsed_value = f"{ip1} - {ip2}" else: parsed_value = str(ip1)