Skip to content

Commit

Permalink
fixes #213, check if nameserver update secret is a valid base64 string
Browse files Browse the repository at this point in the history
  • Loading branch information
elnappo committed Dec 29, 2015
1 parent eccf53d commit b81c891
Showing 1 changed file with 10 additions and 0 deletions.
10 changes: 10 additions & 0 deletions nsupdate/main/forms.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@
form definitions (which fields are available, order, autofocus, ...)
"""

import binascii

from django import forms

from .models import Host, RelatedHost, Domain, ServiceUpdaterHostConfig
Expand Down Expand Up @@ -42,6 +44,14 @@ class Meta(object):


class CreateDomainForm(forms.ModelForm):
def clean_nameserver_update_secret(self):
secret = self.cleaned_data['nameserver_update_secret']
try:
binascii.a2b_base64(secret.encode(encoding="ascii", errors="strict"))
except (binascii.Error, UnicodeEncodeError):
raise forms.ValidationError(_("Enter a valid secret in base64 format."), code='invalid')
return secret

class Meta(object):
model = Domain
fields = ['name', 'nameserver_ip', 'nameserver2_ip', 'nameserver_update_algorithm',
Expand Down

0 comments on commit b81c891

Please sign in to comment.