|
@@ -451,6 +451,7 @@ class ZoneInfo:
|
|
|
self.set_master_port(config_data.get('master_port'))
|
|
|
self.set_zone_class(config_data.get('class'))
|
|
|
self.set_tsig_key(config_data.get('tsig_key'))
|
|
|
+ self.set_ixfr_disabled(config_data.get('ixfr_disabled'))
|
|
|
|
|
|
def set_name(self, name_str):
|
|
|
"""Set the name for this zone given a name string.
|
|
@@ -525,6 +526,16 @@ class ZoneInfo:
|
|
|
errmsg = "bad TSIG key string: " + tsig_key_str
|
|
|
raise XfrinZoneInfoException(errmsg)
|
|
|
|
|
|
+ def set_ixfr_disabled(self, ixfr_disabled):
|
|
|
+ """Set ixfr_disabled. If set to False (the default), it will use
|
|
|
+ IXFR for incoming transfers. If set to True, it will use AXFR.
|
|
|
+ At this moment there is no automatic fallback"""
|
|
|
+ # don't care what type it is; if evaluates to true, set to True
|
|
|
+ if ixfr_disabled:
|
|
|
+ self.ixfr_disabled = True
|
|
|
+ else:
|
|
|
+ self.ixfr_disabled = False
|
|
|
+
|
|
|
def get_master_addr_info(self):
|
|
|
return (self.master_addr.family, socket.SOCK_STREAM,
|
|
|
(str(self.master_addr), self.master_port))
|