mirror of
https://gitlab2.federez.net/re2o/re2o
synced 2024-11-21 19:03:11 +00:00
Fix bug in prod
This commit is contained in:
parent
4df043d730
commit
609f1cfaef
2 changed files with 13 additions and 10 deletions
|
@ -22,6 +22,7 @@
|
||||||
from rest_framework.decorators import api_view
|
from rest_framework.decorators import api_view
|
||||||
from rest_framework.response import Response
|
from rest_framework.response import Response
|
||||||
from django.db.models import Q
|
from django.db.models import Q
|
||||||
|
from django.db import DataError
|
||||||
from django.http import HttpResponse
|
from django.http import HttpResponse
|
||||||
from django.forms import ValidationError
|
from django.forms import ValidationError
|
||||||
from django.contrib.auth.decorators import login_required
|
from django.contrib.auth.decorators import login_required
|
||||||
|
@ -61,9 +62,11 @@ def authorize(request, nas_id, username):
|
||||||
"""
|
"""
|
||||||
|
|
||||||
# get the Nas object which made the request (if exists)
|
# get the Nas object which made the request (if exists)
|
||||||
nas_interface = Interface.objects.filter(
|
try:
|
||||||
Q(domain__name=nas_id) | Q(ipv4__ipv4=nas_id)
|
nas_interface = Interface.objects.filter(Q(ipv4__ipv4=nas_id)).first()
|
||||||
).first()
|
except DataError:
|
||||||
|
nas_interface = Interface.objects.filter(Q(domain__name=nas_id)).first()
|
||||||
|
|
||||||
nas_type = None
|
nas_type = None
|
||||||
if nas_interface:
|
if nas_interface:
|
||||||
nas_type = Nas.objects.filter(nas_type=nas_interface.machine_type).first()
|
nas_type = Nas.objects.filter(nas_type=nas_interface.machine_type).first()
|
||||||
|
@ -130,11 +133,11 @@ def post_auth(request, nas_id, nas_port, user_mac, username):
|
||||||
"""
|
"""
|
||||||
|
|
||||||
# get the Nas object which made the request (if exists)
|
# get the Nas object which made the request (if exists)
|
||||||
nas_interface = (
|
try:
|
||||||
Interface.objects.prefetch_related("machine__switch__stack")
|
nas_interface = Interface.objects.prefetch_related("machine__switch__stack").filter(Q(ipv4__ipv4=nas_id)).first()
|
||||||
.filter(Q(domain__name=nas_id) | Q(ipv4__ipv4=nas_id))
|
except DataError:
|
||||||
.first()
|
nas_interface = Interface.objects.prefetch_related("machine__switch__stack").filter(Q(domain__name=nas_id)).first()
|
||||||
)
|
|
||||||
nas_type = None
|
nas_type = None
|
||||||
if nas_interface:
|
if nas_interface:
|
||||||
nas_type = Nas.objects.filter(nas_type=nas_interface.machine_type).first()
|
nas_type = Nas.objects.filter(nas_type=nas_interface.machine_type).first()
|
||||||
|
|
|
@ -49,7 +49,7 @@ def genstring(length=16, chars=string.printable):
|
||||||
|
|
||||||
def encrypt(key, secret):
|
def encrypt(key, secret):
|
||||||
""" AES Encrypt a secret with the key `key` """
|
""" AES Encrypt a secret with the key `key` """
|
||||||
obj = AES.new(key)
|
obj = AES.new(key, AES.MODE_ECB)
|
||||||
datalength = len(secret) + len(EOD)
|
datalength = len(secret) + len(EOD)
|
||||||
if datalength < 16:
|
if datalength < 16:
|
||||||
saltlength = 16 - datalength
|
saltlength = 16 - datalength
|
||||||
|
@ -61,7 +61,7 @@ def encrypt(key, secret):
|
||||||
|
|
||||||
def decrypt(key, secret):
|
def decrypt(key, secret):
|
||||||
""" AES Decrypt a secret with the key `key` """
|
""" AES Decrypt a secret with the key `key` """
|
||||||
obj = AES.new(key)
|
obj = AES.new(key, AES.MODE_ECB)
|
||||||
uncrypted_secret = obj.decrypt(secret)
|
uncrypted_secret = obj.decrypt(secret)
|
||||||
return uncrypted_secret.split(EOD_asbyte)[0]
|
return uncrypted_secret.split(EOD_asbyte)[0]
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue