Browse Source

removed some leftover prints
bob now only passes environment variable if it is set to non-default
fixed test for alternate domainsock instead of port


git-svn-id: svn://bind10.isc.org/svn/bind10/branches/trac183@1913 e5f2f494-b856-4b98-b285-d166d9295462

Jelte Jansen 15 years ago
parent
commit
00ee10a06d

+ 11 - 9
src/bin/bind10/bind10.py.in

@@ -222,7 +222,9 @@ class BoB:
         """
         # try to connect to the c-channel daemon, 
         # to see if it is already running
-        c_channel_env = { "BIND10_MSGQ_SOCKET_FILE": self.msgq_socket_file }
+        c_channel_env = {}
+        if self.msgq_socket_file is not None:
+             c_channel_env["BIND10_MSGQ_SOCKET_FILE"] = self.msgq_socket_file 
         if self.verbose:
             sys.stdout.write("Checking for already running b10-msgq\n")
         # try to connect, and if we can't wait a short while
@@ -234,8 +236,8 @@ class BoB:
 
         # start the c-channel daemon
         if self.verbose:
-            sys.stdout.write("Starting b10-msgq using domain socket %s\n" % 
-                             self.msgq_socket_file)
+            if self.msgq_socket_file:
+                sys.stdout.write("Starting b10-msgq\n")
         try:
             c_channel = ProcessInfo("b10-msgq", ["b10-msgq"], c_channel_env,
                                     True, not self.verbose)
@@ -264,7 +266,7 @@ class BoB:
             sys.stdout.write("[bind10] Starting b10-cfgmgr\n")
         try:
             bind_cfgd = ProcessInfo("b10-cfgmgr", ["b10-cfgmgr"],
-                                    { 'BIND10_MSGQ_SOCKET_FILE': str(self.msgq_socket_file)})
+                                    c_channel_env)
         except Exception as e:
             c_channel.process.kill()
             return "Unable to start b10-cfgmgr; " + str(e)
@@ -292,7 +294,7 @@ class BoB:
             sys.stdout.write("Starting b10-xfrout\n")
         try:
             xfrout = ProcessInfo("b10-xfrout", ["b10-xfrout"], 
-                                 { 'BIND10_MSGQ_SOCKET_FILE': str(self.msgq_socket_file)})
+                                 c_channel_env )
         except Exception as e:
             c_channel.process.kill()
             bind_cfgd.process.kill()
@@ -310,7 +312,7 @@ class BoB:
             authargs += ['-v']
         try:
             auth = ProcessInfo("b10-auth", authargs,
-                               { 'BIND10_MSGQ_SOCKET_FILE': str(self.msgq_socket_file)})
+                               c_channel_env)
         except Exception as e:
             c_channel.process.kill()
             bind_cfgd.process.kill()
@@ -325,7 +327,7 @@ class BoB:
             sys.stdout.write("Starting b10-xfrin\n")
         try:
             xfrind = ProcessInfo("b10-xfrin", ['b10-xfrin'],
-                                 { 'BIND10_MSGQ_SOCKET_FILE': str(self.msgq_socket_file)})
+                                 c_channel_env)
         except Exception as e:
             c_channel.process.kill()
             bind_cfgd.process.kill()
@@ -342,7 +344,7 @@ class BoB:
             sys.stdout.write("Starting b10-cmdctl on port 8080\n")
         try:
             cmd_ctrld = ProcessInfo("b10-cmdctl", ['b10-cmdctl'],
-                                    { 'BIND10_MSGQ_SOCKET_FILE': str(self.msgq_socket_file)})
+                                    c_channel_env)
         except Exception as e:
             c_channel.process.kill()
             bind_cfgd.process.kill()
@@ -585,7 +587,7 @@ def main():
                       action="callback", callback=check_port, default="5300",
                       help="port the b10-auth daemon will use (default 5300)")
     parser.add_option("-m", "--msgq-socket-file", dest="msgq_socket_file",
-                      type="string", default=isc.cc.Session.SOCKET_FILE,
+                      type="string", default=None,
                       help="UNIX domain socket file the b10-msgq daemon will use")
     (options, args) = parser.parse_args()
 

+ 3 - 0
src/bin/bind10/run_bind10.sh.in

@@ -29,6 +29,9 @@ export PYTHONPATH
 B10_FROM_SOURCE=@abs_top_srcdir@
 export B10_FROM_SOURCE
 
+BIND10_MSGQ_SOCKET_FILE=@abs_top_srcdir@/msgq_socket
+export BIND10_MSGQ_SOCKET_FILE
+
 cd ${BIND10_PATH}
 exec ${PYTHON_EXEC} -O bind10 $*
 

+ 4 - 4
src/bin/bind10/tests/bind10_test.py

@@ -75,16 +75,16 @@ class TestBoB(unittest.TestCase):
     def test_init(self):
         bob = BoB()
         self.assertEqual(bob.verbose, False)
-        self.assertEqual(bob.c_channel_port, 9912)
+        self.assertEqual(bob.msgq_socket_file, None)
         self.assertEqual(bob.cc_session, None)
         self.assertEqual(bob.processes, {})
         self.assertEqual(bob.dead_processes, {})
         self.assertEqual(bob.runnable, False)
 
-    def test_init_alternate_port(self):
-        bob = BoB(2199)
+    def test_init_alternate_socket(self):
+        bob = BoB("alt_socket_file")
         self.assertEqual(bob.verbose, False)
-        self.assertEqual(bob.c_channel_port, 2199)
+        self.assertEqual(bob.msgq_socket_file, "alt_socket_file")
         self.assertEqual(bob.cc_session, None)
         self.assertEqual(bob.processes, {})
         self.assertEqual(bob.dead_processes, {})

+ 3 - 1
src/lib/cc/session.cc

@@ -14,6 +14,7 @@
 
 // $Id$
 
+#include "session_config.h"
 #include "config.h"
 
 #include <stdint.h>
@@ -231,7 +232,8 @@ SocketSession::establish() {
     }
 
     sun.sun_family = AF_UNIX;
-    strncpy(sun.sun_path, socket_file, 107);
+    strncpy(sun.sun_path, socket_file, sizeof(sun.sun_path) - 1);
+    sun.sun_path[sizeof(sun.sun_path) - 1] = '\0';
 
     if (connect(s, (struct sockaddr *)&sun, sizeof(sun)) < 0) {
         close(s);

+ 0 - 4
src/lib/python/isc/cc/session.py.in

@@ -52,13 +52,9 @@ class Session:
 
         try:
             self._socket = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM)
-            print("[XX] SOCKET FILE TO CONNECT TO: " + str(self.socket_file))
             self._socket.connect(self.socket_file)
-            print("[XX] CONNECTED")
             self.sendmsg({ "type": "getlname" })
-            print("[XX] MSG SENT")
             env, msg = self.recvmsg(False)
-            print("[XX] MSG RECEIVED")
             if not env:
                 raise ProtocolError("Could not get local name")
             self._lname = msg["lname"]