mehr Kommentar
authorheiko
Mon, 18 Dec 2006 09:42:41 +0000
changeset 15 09de8a91a962
parent 14 6da0c9f58638
child 16 6e0a55511eb2
mehr Kommentar
dns-autoslave
--- a/dns-autoslave	Mon Dec 18 08:35:17 2006 +0000
+++ b/dns-autoslave	Mon Dec 18 09:42:41 2006 +0000
@@ -129,8 +129,26 @@
 	}
     }
 
+    # Das, was wir bekommen, ist eine SOA-Query mit dem Opcode "NOTIFY",
+    #
+    # Sollen wir jetzt annehmen, daß der NS in der SOA (MNAME) der Master ist,
+    # oder sollen wir annehmen, daß die IP, von der es kommt, die des Masters
+    # ist?  Beides kann falsch sein.  
+    #
+    # Bei "hidden" Masters ist der Master höchstwahrscheinlich der interne (und damit
+    # nicht erreichbare) Name des Masters, das würde uns also nichts nützen.  Wir könnten
+    # natürlich jetzt eine komplizierte Logik versuchen:
+    # DNS-Anfrage an den, von dem das NOTIFY kam über die IP des MNAME,
+    # wenn die OK ist, dann ... aber woher wissen wir, daß die OK ist.
+    #
+    # Wir gehen also einfach mal davon aus, daß der Master derjenige ist,
+    # welcher uns das NOTIFY geschickt hat.  Und haben in der Konfig-Datei ein
+    # Mapping, damit wir die Fälle, wo der Master eine falsche Absender-IP
+    # nutzt (HA-Cluster) auch ordentlich behandeln können.
+
     return unless $dns->header->opcode eq "NS_NOTIFY_OP";
 
+    # Das, was dort kommt, hat eine QUESTION und eine ANSWER, in der ANSWER steckt
     foreach my $q ($dns->question) {
 	next unless $q->qtype eq "SOA";