for(vector<string>::const_iterator belowOldDel=belowOldDelegate.begin(); belowOldDel!= belowOldDelegate.end(); belowOldDel++)
{
bool isBelowDelegate = false;
- for(vector<string>::const_iterator ns=nsRecs.begin(); ns!= nsRecs.end(); belowOldDel++) {
+ for(vector<string>::const_iterator ns=nsRecs.begin(); ns!= nsRecs.end(); ns++) {
if (endsOn(*ns, *belowOldDel)) {
isBelowDelegate=true;
break;
--- /dev/null
+#!/bin/sh
+
+cleandig delegate1.test.dyndns ANY hidesoadetails
+mysqldiff
+
+cleannsupdate <<!
+server $nameserver $port
+zone test.dyndns
+update add delegate.test.dyndns 3600 NS ns1.delegate.test.dyndns
+update add ns1.delegate.test.dyndns 3600 A 127.0.0.1
+update add other.very.deep.delegate.test.dyndns 3600 NS ns1.other.very.deep.delegate.test.dyndns
+update add ns1.other.very.deep.delegate.test.dyndns 3600 A 127.0.0.1
+send
+answer
+!
+
+cleandig delegate.test.dyndns ANY
+cleandig other.very.deep.delegate.test.dyndns
+mysqldiff 1 "Check delegates added"
+
+cleannsupdate <<!
+server $nameserver $port
+zone test.dyndns
+update delete delegate.test.dyndns NS
+update delete ns1.delegate.test.dyndns A
+update delete other.very.deep.delegate.test.dyndns NS
+update delete ns1.other.very.deep.delegate.test.dyndns A
+send
+answer
+!
+
+cleandig delegate.test.dyndns ANY
+cleandig other.very.deep.delegate.test.dyndns
+mysqldiff 2 "Check delegates deleted"
\ No newline at end of file
--- /dev/null
+This test adds a delegate and a delegate at a deeper level. It validates that ordername and auth are set correctly and no ENT's are inserted.
\ No newline at end of file
--- /dev/null
+1 test.dyndns. IN SOA 3600 ns1.test.dyndns. ahu.example.dyndns. [serial] 28800 7200 604800 86400
+Rcode: 3, RD: 0, QR: 1, TC: 0, AA: 1, opcode: 0
+Reply to question for qname='delegate1.test.dyndns.', qtype=ANY
+Answer:
+;; ->>HEADER<<- opcode: UPDATE, status: NOERROR, id: [id]
+;; flags: qr aa; ZONE: 1, PREREQ: 0, UPDATE: 0, ADDITIONAL: 0
+;; ZONE SECTION:
+;test.dyndns. IN SOA
+
+1 delegate.test.dyndns. IN NS 3600 ns1.delegate.test.dyndns.
+2 ns1.delegate.test.dyndns. IN A 3600 127.0.0.1
+Rcode: 0, RD: 0, QR: 1, TC: 0, AA: 0, opcode: 0
+Reply to question for qname='delegate.test.dyndns.', qtype=ANY
+Check delegates added
+--- Start: diff start step.1 ---
+> delegate.test.dyndns NS 0 ns1.delegate.test.dyndns 3600
+> ns1.delegate.test.dyndns A 0 127.0.0.1 3600
+> ns1.other.very.deep.delegate.test.dyndns A 0 127.0.0.1 3600
+> other.very.deep.delegate.test.dyndns NS 0 ns1.other.very.deep.delegate.test.dyndns 3600
+--- End: diff start step.1 ---
+
+Answer:
+;; ->>HEADER<<- opcode: UPDATE, status: NOERROR, id: [id]
+;; flags: qr aa; ZONE: 1, PREREQ: 0, UPDATE: 0, ADDITIONAL: 0
+;; ZONE SECTION:
+;test.dyndns. IN SOA
+
+1 test.dyndns. IN SOA 3600 ns1.test.dyndns. ahu.example.dyndns. 2013051902 28800 7200 604800 86400
+Rcode: 3, RD: 0, QR: 1, TC: 0, AA: 1, opcode: 0
+Reply to question for qname='delegate.test.dyndns.', qtype=ANY
+Check delegates deleted
+--- Start: diff start step.2 ---
+no difference
+--- End: diff start step.2 ---
+
--- /dev/null
+1 test.dyndns. IN SOA 3600 ns1.test.dyndns. ahu.example.dyndns. [serial] 28800 7200 604800 86400
+Rcode: 3, RD: 0, QR: 1, TC: 0, AA: 1, opcode: 0
+Reply to question for qname='delegate1.test.dyndns.', qtype=ANY
+Answer:
+;; ->>HEADER<<- opcode: UPDATE, status: NOERROR, id: [id]
+;; flags: qr aa; ZONE: 1, PREREQ: 0, UPDATE: 0, ADDITIONAL: 0
+;; ZONE SECTION:
+;test.dyndns. IN SOA
+
+1 delegate.test.dyndns. IN NS 3600 ns1.delegate.test.dyndns.
+2 ns1.delegate.test.dyndns. IN A 3600 127.0.0.1
+Rcode: 0, RD: 0, QR: 1, TC: 0, AA: 0, opcode: 0
+Reply to question for qname='delegate.test.dyndns.', qtype=ANY
+Check delegates added
+--- Start: diff start step.1 ---
+> delegate.test.dyndns NS 0 ns1.delegate.test.dyndns 3600 'delegate' 0
+> ns1.delegate.test.dyndns A 0 127.0.0.1 3600 NULL 0
+> ns1.other.very.deep.delegate.test.dyndns A 0 127.0.0.1 3600 NULL 0
+> other.very.deep.delegate.test.dyndns NS 0 ns1.other.very.deep.delegate.test.dyndns 3600 'delegate deep very other' 0
+--- End: diff start step.1 ---
+
+Answer:
+;; ->>HEADER<<- opcode: UPDATE, status: NOERROR, id: [id]
+;; flags: qr aa; ZONE: 1, PREREQ: 0, UPDATE: 0, ADDITIONAL: 0
+;; ZONE SECTION:
+;test.dyndns. IN SOA
+
+1 test.dyndns. IN SOA 3600 ns1.test.dyndns. ahu.example.dyndns. 2013051902 28800 7200 604800 86400
+Rcode: 3, RD: 0, QR: 1, TC: 0, AA: 1, opcode: 0
+Reply to question for qname='delegate.test.dyndns.', qtype=ANY
+Check delegates deleted
+--- Start: diff start step.2 ---
+no difference
+--- End: diff start step.2 ---
+
--- /dev/null
+1 test.dyndns. IN SOA 3600 ns1.test.dyndns. ahu.example.dyndns. [serial] 28800 7200 604800 86400
+Rcode: 3, RD: 0, QR: 1, TC: 0, AA: 1, opcode: 0
+Reply to question for qname='delegate1.test.dyndns.', qtype=ANY
+Answer:
+;; ->>HEADER<<- opcode: UPDATE, status: NOERROR, id: [id]
+;; flags: qr aa; ZONE: 1, PREREQ: 0, UPDATE: 0, ADDITIONAL: 0
+;; ZONE SECTION:
+;test.dyndns. IN SOA
+
+1 delegate.test.dyndns. IN NS 3600 ns1.delegate.test.dyndns.
+2 ns1.delegate.test.dyndns. IN A 3600 127.0.0.1
+Rcode: 0, RD: 0, QR: 1, TC: 0, AA: 0, opcode: 0
+Reply to question for qname='delegate.test.dyndns.', qtype=ANY
+Check delegates added
+--- Start: diff start step.1 ---
+> delegate.test.dyndns NS 0 ns1.delegate.test.dyndns 3600 NULL 0
+> ns1.delegate.test.dyndns A 0 127.0.0.1 3600 NULL 0
+> ns1.other.very.deep.delegate.test.dyndns A 0 127.0.0.1 3600 NULL 0
+> other.very.deep.delegate.test.dyndns NS 0 ns1.other.very.deep.delegate.test.dyndns 3600 NULL 0
+--- End: diff start step.1 ---
+
+Answer:
+;; ->>HEADER<<- opcode: UPDATE, status: NOERROR, id: [id]
+;; flags: qr aa; ZONE: 1, PREREQ: 0, UPDATE: 0, ADDITIONAL: 0
+;; ZONE SECTION:
+;test.dyndns. IN SOA
+
+1 test.dyndns. IN SOA 3600 ns1.test.dyndns. ahu.example.dyndns. 2013051902 28800 7200 604800 86400
+Rcode: 3, RD: 0, QR: 1, TC: 0, AA: 1, opcode: 0
+Reply to question for qname='delegate.test.dyndns.', qtype=ANY
+Check delegates deleted
+--- Start: diff start step.2 ---
+no difference
+--- End: diff start step.2 ---
+
--- /dev/null
+1 test.dyndns. IN SOA 3600 ns1.test.dyndns. ahu.example.dyndns. [serial] 28800 7200 604800 86400
+Rcode: 3, RD: 0, QR: 1, TC: 0, AA: 1, opcode: 0
+Reply to question for qname='delegate1.test.dyndns.', qtype=ANY
+Answer:
+;; ->>HEADER<<- opcode: UPDATE, status: NOERROR, id: [id]
+;; flags: qr aa; ZONE: 1, PREREQ: 0, UPDATE: 0, ADDITIONAL: 0
+;; ZONE SECTION:
+;test.dyndns. IN SOA
+
+1 delegate.test.dyndns. IN NS 3600 ns1.delegate.test.dyndns.
+2 ns1.delegate.test.dyndns. IN A 3600 127.0.0.1
+Rcode: 0, RD: 0, QR: 1, TC: 0, AA: 0, opcode: 0
+Reply to question for qname='delegate.test.dyndns.', qtype=ANY
+Check delegates added
+--- Start: diff start step.1 ---
+> delegate.test.dyndns NS 0 ns1.delegate.test.dyndns 3600 'vg1uvfh5go60po37nof33f260sno3bnc' 0
+> ns1.delegate.test.dyndns A 0 127.0.0.1 3600 NULL 0
+> ns1.other.very.deep.delegate.test.dyndns A 0 127.0.0.1 3600 NULL 0
+> other.very.deep.delegate.test.dyndns NS 0 ns1.other.very.deep.delegate.test.dyndns 3600 'rq5u80q2c0mimv20s384e05v13h5oiss' 0
+--- End: diff start step.1 ---
+
+Answer:
+;; ->>HEADER<<- opcode: UPDATE, status: NOERROR, id: [id]
+;; flags: qr aa; ZONE: 1, PREREQ: 0, UPDATE: 0, ADDITIONAL: 0
+;; ZONE SECTION:
+;test.dyndns. IN SOA
+
+1 test.dyndns. IN SOA 3600 ns1.test.dyndns. ahu.example.dyndns. 2013051902 28800 7200 604800 86400
+Rcode: 3, RD: 0, QR: 1, TC: 0, AA: 1, opcode: 0
+Reply to question for qname='delegate.test.dyndns.', qtype=ANY
+Check delegates deleted
+--- Start: diff start step.2 ---
+no difference
+--- End: diff start step.2 ---
+
--- /dev/null
+Skip this test if the backend does not support dyndns/rfc2136