mirror of
https://github.com/cwinfo/powerdns-admin.git
synced 2025-01-28 20:54:38 +00:00
enable_dns_sec function added
This commit is contained in:
parent
1b93803d6e
commit
38be504d17
@ -302,10 +302,10 @@ class User(db.Model):
|
|||||||
We will create a local user (in DB) in order to manage user
|
We will create a local user (in DB) in order to manage user
|
||||||
profile such as name, roles,...
|
profile such as name, roles,...
|
||||||
"""
|
"""
|
||||||
|
|
||||||
# Set an invalid password hash for non local users
|
# Set an invalid password hash for non local users
|
||||||
self.password = '*'
|
self.password = '*'
|
||||||
|
|
||||||
db.session.add(self)
|
db.session.add(self)
|
||||||
db.session.commit()
|
db.session.commit()
|
||||||
|
|
||||||
@ -678,7 +678,7 @@ class Domain(db.Model):
|
|||||||
|
|
||||||
def create_reverse_domain(self, domain_name, domain_reverse_name):
|
def create_reverse_domain(self, domain_name, domain_reverse_name):
|
||||||
"""
|
"""
|
||||||
Check the existing reverse lookup domain,
|
Check the existing reverse lookup domain,
|
||||||
if not exists create a new one automatically
|
if not exists create a new one automatically
|
||||||
"""
|
"""
|
||||||
domain_obj = Domain.query.filter(Domain.name == domain_name).first()
|
domain_obj = Domain.query.filter(Domain.name == domain_name).first()
|
||||||
@ -823,6 +823,28 @@ class Domain(db.Model):
|
|||||||
else:
|
else:
|
||||||
return {'status': 'error', 'msg': 'This domain doesnot exist'}
|
return {'status': 'error', 'msg': 'This domain doesnot exist'}
|
||||||
|
|
||||||
|
def enable_domain_dnssec(self, domain_name):
|
||||||
|
"""
|
||||||
|
Enable domain DNSSEC
|
||||||
|
"""
|
||||||
|
domain = Domain.query.filter(Domain.name == domain_name).first()
|
||||||
|
if domain:
|
||||||
|
headers = {}
|
||||||
|
headers['X-API-Key'] = PDNS_API_KEY
|
||||||
|
post_data = {
|
||||||
|
"keytype": "ksk",
|
||||||
|
"active": True
|
||||||
|
}
|
||||||
|
try:
|
||||||
|
jdata = utils.fetch_json(urlparse.urljoin(PDNS_STATS_URL, API_EXTENDED_URL + '/servers/localhost/zones/%s/cryptokeys' % domain.name), headers=headers, method='POST',data=post_data)
|
||||||
|
if 'error' in jdata:
|
||||||
|
return {'status': 'error', 'msg': 'DNSSEC is not enabled for this domain', 'jdata' : jdata}
|
||||||
|
else:
|
||||||
|
return {'status': 'ok'}
|
||||||
|
except:
|
||||||
|
return {'status': 'error', 'msg': 'There was something wrong, please contact administrator'}
|
||||||
|
else:
|
||||||
|
return {'status': 'error', 'msg': 'This domain doesnot exist'}
|
||||||
|
|
||||||
class DomainUser(db.Model):
|
class DomainUser(db.Model):
|
||||||
__tablename__ = 'domain_user'
|
__tablename__ = 'domain_user'
|
||||||
@ -977,7 +999,7 @@ class Record(object):
|
|||||||
if r_type == 'PTR': # only ptr
|
if r_type == 'PTR': # only ptr
|
||||||
if ':' in r['record_name']: # dirty ipv6 check
|
if ':' in r['record_name']: # dirty ipv6 check
|
||||||
r_name = r['record_name']
|
r_name = r['record_name']
|
||||||
|
|
||||||
record = {
|
record = {
|
||||||
"name": r_name,
|
"name": r_name,
|
||||||
"type": r_type,
|
"type": r_type,
|
||||||
@ -986,7 +1008,7 @@ class Record(object):
|
|||||||
"ttl": int(r['record_ttl']) if r['record_ttl'] else 3600,
|
"ttl": int(r['record_ttl']) if r['record_ttl'] else 3600,
|
||||||
}
|
}
|
||||||
records.append(record)
|
records.append(record)
|
||||||
|
|
||||||
deleted_records, new_records = self.compare(domain, records)
|
deleted_records, new_records = self.compare(domain, records)
|
||||||
|
|
||||||
records = []
|
records = []
|
||||||
@ -998,7 +1020,7 @@ class Record(object):
|
|||||||
if r_type == 'PTR': # only ptr
|
if r_type == 'PTR': # only ptr
|
||||||
if ':' in r['name']: # dirty ipv6 check
|
if ':' in r['name']: # dirty ipv6 check
|
||||||
r_name = dns.reversename.from_address(r['name']).to_text()
|
r_name = dns.reversename.from_address(r['name']).to_text()
|
||||||
|
|
||||||
record = {
|
record = {
|
||||||
"name": r_name,
|
"name": r_name,
|
||||||
"type": r_type,
|
"type": r_type,
|
||||||
@ -1059,12 +1081,12 @@ class Record(object):
|
|||||||
r_name = key[0]
|
r_name = key[0]
|
||||||
r_type = key[1]
|
r_type = key[1]
|
||||||
r_changetype = key[2]
|
r_changetype = key[2]
|
||||||
|
|
||||||
if PRETTY_IPV6_PTR: # only if activated
|
if PRETTY_IPV6_PTR: # only if activated
|
||||||
if r_type == 'PTR': # only ptr
|
if r_type == 'PTR': # only ptr
|
||||||
if ':' in r_name: # dirty ipv6 check
|
if ':' in r_name: # dirty ipv6 check
|
||||||
r_name = dns.reversename.from_address(r_name).to_text()
|
r_name = dns.reversename.from_address(r_name).to_text()
|
||||||
|
|
||||||
new_record = {
|
new_record = {
|
||||||
"name": r_name,
|
"name": r_name,
|
||||||
"type": r_type,
|
"type": r_type,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user