Skip to content

Commit 9f1d633

Browse files
committed
re-do the custom DNS get/set routines so it is possible to store more than one record for a qname-rtype pair, like multiple TXT records
1 parent f011896 commit 9f1d633

File tree

5 files changed

+185
-146
lines changed

5 files changed

+185
-146
lines changed

management/daemon.py

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -221,8 +221,8 @@ def dns_update():
221221
@app.route('/dns/secondary-nameserver')
222222
@authorized_personnel_only
223223
def dns_get_secondary_nameserver():
224-
from dns_update import get_custom_dns_config
225-
return json_response({ "hostname": get_custom_dns_config(env).get("_secondary_nameserver") })
224+
from dns_update import get_custom_dns_config, get_secondary_dns
225+
return json_response({ "hostname": get_secondary_dns(get_custom_dns_config(env)) })
226226

227227
@app.route('/dns/secondary-nameserver', methods=['POST'])
228228
@authorized_personnel_only
@@ -236,14 +236,12 @@ def dns_set_secondary_nameserver():
236236
@app.route('/dns/set')
237237
@authorized_personnel_only
238238
def dns_get_records():
239-
from dns_update import get_custom_dns_config, get_custom_records
240-
additional_records = get_custom_dns_config(env)
241-
records = get_custom_records(None, additional_records, env)
239+
from dns_update import get_custom_dns_config
242240
return json_response([{
243241
"qname": r[0],
244242
"rtype": r[1],
245243
"value": r[2],
246-
} for r in records])
244+
} for r in get_custom_dns_config(env) if r[0] != "_secondary_nameserver"])
247245

248246
@app.route('/dns/set/<qname>', methods=['POST'])
249247
@app.route('/dns/set/<qname>/<rtype>', methods=['POST'])
@@ -262,8 +260,8 @@ def dns_set_record(qname, rtype="A", value=None):
262260
if value == '' or value == '__delete__':
263261
# request deletion
264262
value = None
265-
if set_custom_dns_record(qname, rtype, value, env):
266-
return do_dns_update(env)
263+
if set_custom_dns_record(qname, rtype, value, "set", env):
264+
return do_dns_update(env) or "No Change"
267265
return "OK"
268266
except ValueError as e:
269267
return (str(e), 400)

0 commit comments

Comments
 (0)