[svn] commit: r2675 - in /trunk: ./ src/bin/auth/ src/bin/auth/tests/ src/bin/bind10/ src/bin/xfrin/ src/lib/bench/ src/lib/cc/ src/lib/datasrc/ src/lib/dns/ src/lib/dns/rdata/generic/ src/lib/dns/tests/

BIND 10 source code commits bind10-changes at lists.isc.org
Mon Aug 9 23:00:55 UTC 2010


Author: jinmei
Date: Mon Aug  9 23:00:54 2010
New Revision: 2675

Log:
merged trac268: -u for b10-auth

Added:
    trunk/src/bin/auth/change_user.cc
      - copied unchanged from r2674, branches/trac268/src/bin/auth/change_user.cc
    trunk/src/bin/auth/change_user.h
      - copied unchanged from r2674, branches/trac268/src/bin/auth/change_user.h
    trunk/src/bin/auth/tests/change_user_unittest.cc
      - copied unchanged from r2674, branches/trac268/src/bin/auth/tests/change_user_unittest.cc
Modified:
    trunk/   (props changed)
    trunk/src/bin/auth/Makefile.am
    trunk/src/bin/auth/b10-auth.xml
    trunk/src/bin/auth/main.cc
    trunk/src/bin/auth/tests/Makefile.am
    trunk/src/bin/bind10/bind10.py.in
    trunk/src/bin/xfrin/   (props changed)
    trunk/src/lib/bench/   (props changed)
    trunk/src/lib/cc/   (props changed)
    trunk/src/lib/datasrc/   (props changed)
    trunk/src/lib/dns/   (props changed)
    trunk/src/lib/dns/rdata/generic/rrsig_46.cc   (props changed)
    trunk/src/lib/dns/tests/   (props changed)

Modified: trunk/src/bin/auth/Makefile.am
==============================================================================
--- trunk/src/bin/auth/Makefile.am (original)
+++ trunk/src/bin/auth/Makefile.am Mon Aug  9 23:00:54 2010
@@ -47,6 +47,7 @@
 BUILT_SOURCES = spec_config.h 
 pkglibexec_PROGRAMS = b10-auth
 b10_auth_SOURCES = auth_srv.cc auth_srv.h
+b10_auth_SOURCES += change_user.cc change_user.h
 b10_auth_SOURCES += common.h
 b10_auth_SOURCES += main.cc
 b10_auth_LDADD =  $(top_builddir)/src/lib/datasrc/.libs/libdatasrc.a

Modified: trunk/src/bin/auth/b10-auth.xml
==============================================================================
--- trunk/src/bin/auth/b10-auth.xml (original)
+++ trunk/src/bin/auth/b10-auth.xml Mon Aug  9 23:00:54 2010
@@ -48,6 +48,7 @@
       <arg><option>-4</option></arg>
       <arg><option>-6</option></arg>
       <arg><option>-p <replaceable>number</replaceable></option></arg>
+      <arg><option>-u <replaceable>username</replaceable></option></arg>
       <arg><option>-v</option></arg>
     </cmdsynopsis>
   </refsynopsisdiv>
@@ -120,6 +121,20 @@
       </varlistentry>
 
       <varlistentry>
+        <term><option>-u <replaceable>username</replaceable></option></term>
+        <listitem>
+	  <para>
+	    The user name of the <command>b10-auth</command> daemon.
+	    If specified, the daemon changes the process owner to the
+	    specified user.
+	    The <replaceable>username</replaceable> must be either a
+	    valid numeric user ID or a valid user name.
+	    By default the daemon runs as the user who invokes it.
+	  </para>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry>
         <term><option>-v</option></term>
         <listitem><para>
           Enabled verbose mode. This enables diagnostic messages to

Modified: trunk/src/bin/auth/main.cc
==============================================================================
--- trunk/src/bin/auth/main.cc (original)
+++ trunk/src/bin/auth/main.cc Mon Aug  9 23:00:54 2010
@@ -41,6 +41,7 @@
 
 #include <auth/spec_config.h>
 #include <auth/common.h>
+#include <auth/change_user.h>
 #include <auth/auth_srv.h>
 #include <auth/asio_link.h>
 
@@ -97,9 +98,10 @@
     int ch;
     const char* port = DNSPORT;
     const char* address = NULL;
+    const char* uid = NULL;
     bool use_ipv4 = true, use_ipv6 = true, cache = true;
 
-    while ((ch = getopt(argc, argv, "46a:np:v")) != -1) {
+    while ((ch = getopt(argc, argv, "46a:np:u:v")) != -1) {
         switch (ch) {
         case '4':
             // Note that -4 means "ipv4 only", we need to set "use_ipv6" here,
@@ -120,6 +122,9 @@
             break;
         case 'p':
             port = optarg;
+            break;
+        case 'u':
+            uid = optarg;
             break;
         case 'v':
             verbose_mode = true;
@@ -188,6 +193,10 @@
                                              my_command_handler);
         cout << "[b10-auth] Configuration channel established." << endl;
 
+        if (uid != NULL) {
+            changeUser(uid);
+        }
+
         xfrin_session = new Session(io_service->get_io_service());
         cout << "[b10-auth] Xfrin session channel created." << endl;
         xfrin_session->establish(NULL);

Modified: trunk/src/bin/auth/tests/Makefile.am
==============================================================================
--- trunk/src/bin/auth/tests/Makefile.am (original)
+++ trunk/src/bin/auth/tests/Makefile.am Mon Aug  9 23:00:54 2010
@@ -13,7 +13,9 @@
 run_unittests_SOURCES = $(top_srcdir)/src/lib/dns/tests/unittest_util.h
 run_unittests_SOURCES += $(top_srcdir)/src/lib/dns/tests/unittest_util.cc
 run_unittests_SOURCES += ../auth_srv.h ../auth_srv.cc
+run_unittests_SOURCES += ../change_user.h ../change_user.cc
 run_unittests_SOURCES += auth_srv_unittest.cc
+run_unittests_SOURCES += change_user_unittest.cc
 run_unittests_SOURCES += asio_link_unittest.cc
 run_unittests_SOURCES += run_unittests.cc
 run_unittests_CPPFLAGS = $(AM_CPPFLAGS) $(GTEST_INCLUDES)

Modified: trunk/src/bin/bind10/bind10.py.in
==============================================================================
--- trunk/src/bin/bind10/bind10.py.in (original)
+++ trunk/src/bin/bind10/bind10.py.in Mon Aug  9 23:00:54 2010
@@ -336,6 +336,8 @@
             authargs += ['-a', str(self.address)]
         if self.nocache:
             authargs += ['-n']
+        if self.uid:
+            authargs += ['-u', str(self.uid)]
         if self.verbose:
             authargs += ['-v']
             sys.stdout.write("Starting b10-auth using port %d" %




More information about the bind10-changes mailing list