]> git.ipfire.org Git - thirdparty/kea.git/commitdiff
[master] Merge branch 'trac1298' with fixing conflicts.
authorJINMEI Tatuya <jinmei@isc.org>
Wed, 12 Oct 2011 19:12:09 +0000 (12:12 -0700)
committerJINMEI Tatuya <jinmei@isc.org>
Wed, 12 Oct 2011 19:12:09 +0000 (12:12 -0700)
1  2 
src/bin/xfrin/tests/xfrin_test.py
src/bin/xfrin/xfrin.py.in

Simple merge
index 315d06a6f1f9741111c4438ebef2b3ca18d5b8c6,03a208a1c1be5444efc5806b7542c0ae26ccf3d7..1f5d9a151892f84ae79dd3cda6dc120b295bcad6
@@@ -1066,17 -1069,23 +1068,25 @@@ class Xfrin
                      logger.error(XFRIN_RETRANSFER_UNKNOWN_ZONE, zone_name.to_text())
                      answer = create_answer(1, errmsg)
                  else:
 -                    master_addr = zone_info.get_master_addr_info()
                      request_type = RRType.AXFR()
-                     ret = self.xfrin_start(zone_name,
-                                            rrclass,
-                                            self._get_db_file(),
-                                            master_addr,
-                                            zone_info.tsig_key, request_type,
-                                            True)
-                     answer = create_answer(ret[0], ret[1])
 +                    if zone_info.use_ixfr:
 +                        request_type = RRType.IXFR()
 +                    master_addr = zone_info.get_master_addr_info()
+                     if notify_addr == master_addr:
+                         ret = self.xfrin_start(zone_name,
+                                                rrclass,
+                                                self._get_db_file(),
+                                                master_addr,
+                                                zone_info.tsig_key, request_type,
+                                                True)
+                         answer = create_answer(ret[0], ret[1])
+                     else:
+                         errmsg = "Got notification for " + zone_name.to_text()\
+                                + "from unknown address: " + notify_addr[2][0];
+                         logger.error(XFRIN_NOTIFY_UNKNOWN_MASTER,
+                                      zone_name.to_text(), notify_addr[2][0],
+                                      master_addr[2][0])
+                         answer = create_answer(1, errmsg)
  
              elif command == 'retransfer' or command == 'refresh':
                  # Xfrin receives the retransfer/refresh from cmdctl(sent by bindctl).