[svn] commit: r3655 - in /branches/trac412/src/bin/bind10: bind10.py.in tests/bind10_test.py
BIND 10 source code commits
bind10-changes at lists.isc.org
Mon Nov 29 12:34:53 UTC 2010
Author: stephen
Date: Mon Nov 29 12:34:50 2010
New Revision: 3655
Log:
Fix points identified as result of review of ticket 412.
Modified:
branches/trac412/src/bin/bind10/bind10.py.in
branches/trac412/src/bin/bind10/tests/bind10_test.py
Modified: branches/trac412/src/bin/bind10/bind10.py.in
==============================================================================
--- branches/trac412/src/bin/bind10/bind10.py.in (original)
+++ branches/trac412/src/bin/bind10/bind10.py.in Mon Nov 29 12:34:50 2010
@@ -15,7 +15,7 @@
# NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
# WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-"""\
+"""
This file implements the Boss of Bind (BoB, or bob) program.
Its purpose is to start up the BIND 10 system, and then manage the
@@ -72,7 +72,7 @@
# This is the version that gets displayed to the user.
# The VERSION string consists of the module name, the module version
# number, and the overall BIND 10 version number (set in configure.ac).
-VERSION = "bind10 20100916 (BIND 10 @PACKAGE_VERSION@)"
+VERSION = "bind10 20101129 (BIND 10 @PACKAGE_VERSION@)"
# This is for bind10.boottime of stats module
_BASETIME = time.gmtime()
@@ -194,9 +194,8 @@
class BoB:
"""Boss of BIND class."""
- def __init__(self, msgq_socket_file=None, auth_port=5300, res_port=5301,
- address=None, res_address=None, nocache=False, verbose=False,
- setuid=None, username=None):
+ 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).
@@ -215,8 +214,6 @@
self.msgq_socket_file = msgq_socket_file
self.nocache = nocache
self.processes = {}
- self.res_address = res_address
- self.res_port = res_port
self.runnable = False
self.uid = setuid
self.username = username
@@ -237,9 +234,7 @@
if type(command) != str:
answer = isc.config.ccsession.create_answer(1, "bad command")
else:
- cmd = command
- if cmd == "shutdown":
- sys.stdout.write("[bind10] shutdown command received by Boss\n")
+ if command == "shutdown":
self.runnable = False
answer = isc.config.ccsession.create_answer(0)
else:
@@ -444,19 +439,14 @@
"""
self.curproc = "b10-recurse"
# XXX: this must be read from the configuration manager in the future
- resargs = ['b10-recurse', '-p', str(self.res_port)]
- if self.res_address:
- resargs += ['-a', str(self.res_address)]
- if self.nocache:
- resargs += ['-n']
+ resargs = ['b10-recurse']
if self.uid:
resargs += ['-u', str(self.uid)]
if self.verbose:
resargs += ['-v']
# ... and start
- self.start_process("b10-recurse", resargs, c_channel_env,
- self.res_port, self.res_address)
+ self.start_process("b10-recurse", resargs, c_channel_env)
def start_xfrout(self, c_channel_env):
self.start_simple("b10-xfrout", c_channel_env)
@@ -496,7 +486,9 @@
if self.cfg_start_recurse:
self.start_recurse(c_channel_env)
- # Everything after the main components can run as non-root
+ # Everything after the main components can run as non-root.
+ # TODO: this is only temporary - once the privileged socket creator is
+ # fully working, nothing else will run as root.
if self.uid is not None:
posix.setuid(self.uid)
@@ -706,8 +698,6 @@
try:
if opt_str in ['-p', '--port']:
parser.values.auth_port = isc.net.parse.port_parse(value)
- elif opt_str in ['-q', '--res-port']:
- parser.values.res_port = isc.net.parse.port_parse(value)
else:
raise OptionValueError("Unknown option " + opt_str)
except ValueError as e:
@@ -719,8 +709,6 @@
try:
if opt_str in ['-a', '--address']:
parser.values.address = isc.net.parse.addr_parse(value)
- elif opt_str in ['-b', '--res-address']:
- parser.values.res_address = isc.net.parse.addr_parse(value)
else:
raise OptionValueError("Unknown option " + opt_str)
except ValueError:
@@ -739,12 +727,8 @@
# Parse any command-line options.
parser = OptionParser(version=VERSION)
parser.add_option("-a", "--address", dest="address", type="string",
- action="callback", callback=check_addr, default='',
+ action="callback", callback=check_addr, default=None,
help="address the b10-auth daemon will use (default: listen on all addresses)")
- parser.add_option("-b", "--res-address", dest="res_address",
- type="string",
- action="callback", callback=check_addr, default='',
- help="address the b10-recurse daemon will use (default: listen on all addresses)")
parser.add_option("-m", "--msgq-socket-file", dest="msgq_socket_file",
type="string", default=None,
help="UNIX domain socket file the b10-msgq daemon will use")
@@ -753,9 +737,6 @@
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("-q", "--res-port", dest="res_port", type="int",
- action="callback", callback=check_port, default=5301,
- help="b10-recurse daemon port (default 5301)")
parser.add_option("-u", "--user", dest="user",
type="string", default=None,
help="Change user after startup (must run as root)")
@@ -822,8 +803,8 @@
# Go bob!
boss_of_bind = BoB(options.msgq_socket_file, options.auth_port,
- options.res_port, options.address, options.res_address,
- options.nocache, options.verbose, setuid, username)
+ options.address, options.nocache, options.verbose,
+ setuid, username)
startup_result = boss_of_bind.startup()
if startup_result:
sys.stderr.write("[bind10] Error on startup: %s\n" % startup_result)
@@ -881,6 +862,7 @@
# shutdown
signal.signal(signal.SIGCHLD, signal.SIG_DFL)
boss_of_bind.shutdown()
+ sys.stdout.write("[bind10] BIND 10 exiting\n");
sys.exit(0)
if __name__ == "__main__":
Modified: branches/trac412/src/bin/bind10/tests/bind10_test.py
==============================================================================
--- branches/trac412/src/bin/bind10/tests/bind10_test.py (original)
+++ branches/trac412/src/bin/bind10/tests/bind10_test.py Mon Nov 29 12:34:50 2010
@@ -79,7 +79,6 @@
self.assertEqual(bob.verbose, False)
self.assertEqual(bob.msgq_socket_file, None)
self.assertEqual(bob.auth_port, 5300)
- self.assertEqual(bob.res_port, 5301)
self.assertEqual(bob.address, None)
self.assertEqual(bob.cc_session, None)
self.assertEqual(bob.ccs, None)
@@ -97,7 +96,6 @@
self.assertEqual(bob.verbose, False)
self.assertEqual(bob.msgq_socket_file, "alt_socket_file")
self.assertEqual(bob.auth_port, 5300)
- self.assertEqual(bob.res_port, 5301)
self.assertEqual(bob.address, None)
self.assertEqual(bob.cc_session, None)
self.assertEqual(bob.ccs, None)
@@ -115,7 +113,6 @@
self.assertEqual(bob.verbose, False)
self.assertEqual(bob.msgq_socket_file, None)
self.assertEqual(bob.auth_port, 9999)
- self.assertEqual(bob.res_port, 5301)
self.assertEqual(bob.address, None)
self.assertEqual(bob.cc_session, None)
self.assertEqual(bob.ccs, None)
@@ -128,52 +125,12 @@
self.assertEqual(bob.cfg_start_auth, True)
self.assertEqual(bob.cfg_start_recurse, False)
- def test_init_alternate_res_port(self):
- bob = BoB(None, 9999, 9998)
- self.assertEqual(bob.verbose, False)
- self.assertEqual(bob.msgq_socket_file, None)
- self.assertEqual(bob.auth_port, 9999)
- self.assertEqual(bob.res_port, 9998)
- self.assertEqual(bob.address, None)
- self.assertEqual(bob.res_address, None)
- self.assertEqual(bob.cc_session, None)
- self.assertEqual(bob.ccs, None)
- self.assertEqual(bob.processes, {})
- self.assertEqual(bob.dead_processes, {})
- self.assertEqual(bob.runnable, False)
- self.assertEqual(bob.uid, None)
- self.assertEqual(bob.username, None)
- self.assertEqual(bob.nocache, False)
- self.assertEqual(bob.cfg_start_auth, True)
- self.assertEqual(bob.cfg_start_recurse, False)
-
def test_init_alternate_address(self):
- bob = BoB(None, 1234, 5678, IPAddr('127.127.127.127'))
+ bob = BoB(None, 1234, IPAddr('127.127.127.127'))
self.assertEqual(bob.verbose, False)
self.assertEqual(bob.msgq_socket_file, None)
self.assertEqual(bob.auth_port, 1234)
- self.assertEqual(bob.res_port, 5678)
self.assertEqual(bob.address.addr, socket.inet_aton('127.127.127.127'))
- self.assertEqual(bob.res_address, None)
- self.assertEqual(bob.cc_session, None)
- self.assertEqual(bob.ccs, None)
- self.assertEqual(bob.processes, {})
- self.assertEqual(bob.dead_processes, {})
- self.assertEqual(bob.runnable, False)
- self.assertEqual(bob.uid, None)
- self.assertEqual(bob.username, None)
- self.assertEqual(bob.nocache, False)
- self.assertEqual(bob.cfg_start_auth, True)
- self.assertEqual(bob.cfg_start_recurse, False)
-
- def test_init_alternate_res_address(self):
- bob = BoB(None, 1234, 5678, IPAddr('127.127.127.127'), IPAddr("255.254.253.252"))
- self.assertEqual(bob.verbose, False)
- self.assertEqual(bob.msgq_socket_file, None)
- self.assertEqual(bob.auth_port, 1234)
- self.assertEqual(bob.res_port, 5678)
- self.assertEqual(bob.address.addr, socket.inet_aton('127.127.127.127'))
- self.assertEqual(bob.res_address.addr, socket.inet_aton('255.254.253.252'))
self.assertEqual(bob.cc_session, None)
self.assertEqual(bob.ccs, None)
self.assertEqual(bob.processes, {})
@@ -256,7 +213,7 @@
self.assertEqual(bob.stats, False)
self.assertEqual(bob.cmdctl, False)
- # Checks the processes started when starting neither auth nor recruse
+ # Checks the processes started when starting neither auth nor recurse
# is specified.
def test_start_none(self):
# Created Bob and ensure initialization correct
More information about the bind10-changes
mailing list