Browse Source

[2925] Check for address and port keys in config before using them

Mukund Sivaraman 11 years ago
parent
commit
51e0b7424c
1 changed files with 9 additions and 1 deletions
  1. 9 1
      src/bin/xfrout/xfrout.py.in

+ 9 - 1
src/bin/xfrout/xfrout.py.in

@@ -1018,6 +1018,8 @@ class UnixSockServer(socketserver_mixin.NoPollMixIn,
 
 class XfroutServer:
     def __init__(self):
+        self._default_notify_address = ''
+        self._default_notify_port = 53
         self._unix_socket_server = None
         self._listen_sock_file = UNIX_SOCKET_FILE
         self._shutdown_event = threading.Event()
@@ -1046,7 +1048,13 @@ class XfroutServer:
         self._notifier = notify_out.NotifyOut(datasrc)
         if 'also_notify' in self._config_data:
             for slave in self._config_data['also_notify']:
-                self._notifier.add_slave(slave['address'], slave['port'])
+                address = self._default_notify_address
+                if 'address' in slave:
+                    address = slave['address']
+                port = self._default_notify_port
+                if 'port' in slave:
+                    port = slave['port']
+                self._notifier.add_slave(address, port)
         self._notifier.dispatcher()
 
     def send_notify(self, zone_name, zone_class):