check values for debug login (@famfo, you know why)
This commit is contained in:
parent
8cb78cde2e
commit
ff4865f4b6
1 changed files with 12 additions and 3 deletions
|
@ -4,7 +4,7 @@ from flask import Flask, Response, redirect, render_template, request, session,
|
||||||
import werkzeug.exceptions as werkzeug_exceptions
|
import werkzeug.exceptions as werkzeug_exceptions
|
||||||
import json, os, base64, logging, random
|
import json, os, base64, logging, random
|
||||||
from functools import wraps
|
from functools import wraps
|
||||||
from ipaddress import ip_address, ip_network
|
from ipaddress import ip_address, ip_network, IPv4Network, IPv6Network
|
||||||
import kioubit_verify
|
import kioubit_verify
|
||||||
|
|
||||||
app = Flask(__name__)
|
app = Flask(__name__)
|
||||||
|
@ -327,21 +327,30 @@ def login():
|
||||||
msg = "what is the answer for everything?"
|
msg = "what is the answer for everything?"
|
||||||
return render_template("login.html", session=session,config=config,return_addr=session["return_url"], msg=msg)
|
return render_template("login.html", session=session,config=config,return_addr=session["return_url"], msg=msg)
|
||||||
mnt = request.form["mnt"]
|
mnt = request.form["mnt"]
|
||||||
|
if not mnt.upper().endswith("-MNT"): raise ValueError
|
||||||
asn = request.form["asn"]
|
asn = request.form["asn"]
|
||||||
asn = asn[2:] if asn[:2].lower() == "as" else asn
|
asn = asn[2:] if asn[:2].lower() == "as" else asn
|
||||||
|
int(asn)
|
||||||
if "allowed4" in request.form:
|
if "allowed4" in request.form:
|
||||||
allowed4 = request.form["allowed4"]
|
allowed4 = request.form["allowed4"]
|
||||||
# allowed4 = allowed4.split(",") if "," in allowed4 else allowed4
|
v4_ranges = allowed4.split(",") if "," in allowed4 else [allowed4]
|
||||||
|
for v4_range in v4_ranges:
|
||||||
|
IPv4Network(v4_range)
|
||||||
else:
|
else:
|
||||||
allowed4 = None
|
allowed4 = None
|
||||||
if "allowed6" in request.form:
|
if "allowed6" in request.form:
|
||||||
allowed6 = request.form["allowed6"]
|
allowed6 = request.form["allowed6"]
|
||||||
# allowed6 = allowed6.split(",") if "," in allowed6 else allowed6
|
v6_ranges = allowed6.split(",") if "," in allowed6 else [allowed6]
|
||||||
|
for v6_range in v6_ranges:
|
||||||
|
IPv6Network(v6_range)
|
||||||
else:
|
else:
|
||||||
allowed6 = None
|
allowed6 = None
|
||||||
session["user-data"] = {'asn':asn,'allowed4': allowed4, 'allowed6': allowed6,'mnt':mnt, 'authtype': "debug"}
|
session["user-data"] = {'asn':asn,'allowed4': allowed4, 'allowed6': allowed6,'mnt':mnt, 'authtype': "debug"}
|
||||||
session["login"] = mnt
|
session["login"] = mnt
|
||||||
return redirect(session["return_url"])
|
return redirect(session["return_url"])
|
||||||
|
except ValueError:
|
||||||
|
msg = "at least one of the values provided is wrong/invalid"
|
||||||
|
return render_template("login.html", session=session,config=config,return_addr=session["return_url"], msg=msg)
|
||||||
except KeyError:
|
except KeyError:
|
||||||
msg = "not all required field were specified"
|
msg = "not all required field were specified"
|
||||||
return render_template("login.html", session=session,config=config,return_addr=session["return_url"], msg=msg)
|
return render_template("login.html", session=session,config=config,return_addr=session["return_url"], msg=msg)
|
||||||
|
|
Loading…
Add table
Reference in a new issue