[svn] commit: r3085 - in /branches/trac353/src/bin/bind10: bind10.py.in tests/bind10_test.py
BIND 10 source code commits
bind10-changes at lists.isc.org
Thu Sep 30 09:08:04 UTC 2010
Author: vorner
Date: Thu Sep 30 09:08:04 2010
New Revision: 3085
Log:
Move BoB to use library port and addr checking
Modified:
branches/trac353/src/bin/bind10/bind10.py.in
branches/trac353/src/bin/bind10/tests/bind10_test.py
Modified: branches/trac353/src/bin/bind10/bind10.py.in
==============================================================================
--- branches/trac353/src/bin/bind10/bind10.py.in (original)
+++ branches/trac353/src/bin/bind10/bind10.py.in Thu Sep 30 09:08:04 2010
@@ -63,7 +63,7 @@
import posix
import isc.cc
-from isc.net.addr import IPAddr
+import isc.net.check
import isc.utils.process
# Assign this process some longer name
@@ -184,7 +184,7 @@
class BoB:
"""Boss of BIND class."""
- def __init__(self, msgq_socket_file=None, auth_port=5300, address='',
+ def __init__(self, msgq_socket_file=None, auth_port=5300, address=None,
nocache=False, verbose=False, setuid=None, username=None):
"""Initialize the Boss of BIND. This is a singleton (only one
can run).
@@ -198,7 +198,7 @@
self.auth_port = auth_port
self.address = None
if address:
- self.address = IPAddr(address)
+ self.address = address
self.cc_session = None
self.ccs = None
self.processes = {}
@@ -558,7 +558,7 @@
# the Python signal handler has been set up to write
# down a pipe, waking up our select() bit
pass
-
+
def get_signame(signal_number):
"""Return the symbolic name for a signal."""
for sig in dir(signal):
@@ -580,26 +580,24 @@
def check_port(option, opt_str, value, parser):
"""Function to insure that the port we are passed is actually
a valid port number. Used by OptionParser() on startup."""
- if not re.match('^(6553[0-5]|655[0-2]\d|65[0-4]\d\d|6[0-4]\d{3}|[1-5]\d{4}|[1-9]\d{0,3}|0)$', value):
- raise OptionValueError("%s requires a port number (0-65535)" % opt_str)
- if (opt_str == '-m' or opt_str == '--msgq-port'):
- parser.values.msgq_port = value
- elif (opt_str == '-p' or opt_str == '--port'):
- parser.values.auth_port = value
- else:
- raise OptionValueError("Unknown option " + opt_str)
-
+ try:
+ if opt_str in ['-p', '--port']:
+ parser.values.auth_port = isc.net.check.port_check(value)
+ else:
+ raise OptionValueError("Unknown option " + opt_str)
+ except ValueError as e:
+ raise OptionValueError(str(e))
+
def check_addr(option, opt_str, value, parser):
"""Function to insure that the address we are passed is actually
a valid address. Used by OptionParser() on startup."""
try:
- IPAddr(value)
- except:
+ if opt_str in ['-a', '--address']:
+ parser.values.address = isc.net.check.addr_check(value)
+ else:
+ raise OptionValueError("Unknown option " + opt_str)
+ except ValueError:
raise OptionValueError("%s requires a valid IPv4 or IPv6 address" % opt_str)
- if (opt_str == '-a' or opt_str == '--address'):
- parser.values.address = value
- else:
- raise OptionValueError("Unknown option " + opt_str)
def process_rename(option, opt_str, value, parser):
"""Function that renames the process if it is requested by a option."""
@@ -622,8 +620,8 @@
help="UNIX domain socket file the b10-msgq daemon will use")
parser.add_option("-n", "--no-cache", action="store_true", dest="nocache",
default=False, help="disable hot-spot cache in b10-auth")
- parser.add_option("-p", "--port", dest="auth_port", type="string",
- action="callback", callback=check_port, default="5300",
+ parser.add_option("-p", "--port", dest="auth_port", type="int",
+ action="callback", callback=check_port, default=5300,
help="port the b10-auth daemon will use (default 5300)")
parser.add_option("-u", "--user", dest="user",
type="string", default=None,
@@ -687,7 +685,7 @@
signal.signal(signal.SIGTERM, fatal_signal)
# Go bob!
- boss_of_bind = BoB(options.msgq_socket_file, int(options.auth_port),
+ boss_of_bind = BoB(options.msgq_socket_file, options.auth_port,
options.address, options.nocache, options.verbose,
setuid, username)
startup_result = boss_of_bind.startup()
Modified: branches/trac353/src/bin/bind10/tests/bind10_test.py
==============================================================================
--- branches/trac353/src/bin/bind10/tests/bind10_test.py (original)
+++ branches/trac353/src/bin/bind10/tests/bind10_test.py Thu Sep 30 09:08:04 2010
@@ -8,6 +8,7 @@
import os
import signal
import socket
+from isc.net.addr import IPAddr
class TestProcessInfo(unittest.TestCase):
def setUp(self):
@@ -105,7 +106,7 @@
self.assertEqual(bob.runnable, False)
def test_init_alternate_address(self):
- bob = BoB(None, 5300, '127.127.127.127')
+ bob = BoB(None, 5300, IPAddr('127.127.127.127'))
self.assertEqual(bob.verbose, False)
self.assertEqual(bob.auth_port, 5300)
self.assertEqual(bob.msgq_socket_file, None)
More information about the bind10-changes
mailing list