From e6e38675b936698e47029a4a15fc37160d6efd40 Mon Sep 17 00:00:00 2001 From: lare Date: Sun, 5 Feb 2023 21:10:32 +0100 Subject: [PATCH] [Web] fix ipv4,6 not being able to be set if only one range is in allowed + add hints for form for the ip addresses --- web/backend/main.py | 17 ++++++++++++++--- web/frontend/peerings-edit.html | 8 ++++---- web/frontend/peerings-new.html | 12 ++++++------ 3 files changed, 24 insertions(+), 13 deletions(-) diff --git a/web/backend/main.py b/web/backend/main.py index 3fc4fea..3734bee 100644 --- a/web/backend/main.py +++ b/web/backend/main.py @@ -163,9 +163,14 @@ def check_peering_data(form): raise ValueError() is_in_allowed = False if session["user-data"]["allowed4"]: - for allowed4 in session["user-data"]["allowed4"]: + if not isinstance(session["user-data"]["allowed4"],tuple): + allowed4 = session["user-data"]["allowed4"] if ipv4 in ip_network(allowed4): is_in_allowed = True + else: + for allowed4 in session["user-data"]["allowed4"]: + if ipv4 in ip_network(allowed4): + is_in_allowed = True if not is_in_allowed: return False, "supplied ipv4 addr not in allowed ip range" else: @@ -180,12 +185,18 @@ def check_peering_data(form): raise ValueError() is_in_allowed = False if session["user-data"]["allowed6"]: - for allowed6 in session["user-data"]["allowed6"]: + if not isinstance(session["user-data"]["allowed6"],tuple): + allowed6 = session["user-data"]["allowed6"] if ipv6 in ip_network(allowed6): is_in_allowed = True + else: + for allowed6 in session["user-data"]["allowed6"]: + if ipv6 in ip_network(allowed6): + is_in_allowed = True if not is_in_allowed: return False, "supplied ipv6 addr not in allowed ip range" - except ValueError: + except ValueError as e: + print(e) return False, "invalid ip address(es) supplied" # check bgp options diff --git a/web/frontend/peerings-edit.html b/web/frontend/peerings-edit.html index 3f983df..9d98782 100644 --- a/web/frontend/peerings-edit.html +++ b/web/frontend/peerings-edit.html @@ -205,22 +205,22 @@ - + - + - + - +

BGP

diff --git a/web/frontend/peerings-new.html b/web/frontend/peerings-new.html index cc24627..9d2e638 100644 --- a/web/frontend/peerings-new.html +++ b/web/frontend/peerings-new.html @@ -202,22 +202,22 @@ - + - + - - + + - - + +

BGP