[Pkg-fedora-ds-maintainers] 389-admin: Changes to 'upstream'

Timo Aaltonen tjaalton at moszumanska.debian.org
Wed Oct 4 17:57:56 UTC 2017


 Makefile.am                                  |    4 
 Makefile.in                                  |  705 +++++++++++++++------------
 VERSION.sh                                   |    2 
 aclocal.m4                                   |  504 ++++++++++++-------
 admserv/cfgstuff/console.conf.in             |    4 
 admserv/cfgstuff/ds_removal.in               |    7 
 admserv/cfgstuff/ds_unregister.in            |    7 
 admserv/cfgstuff/restart-ds-admin.in         |   12 
 admserv/cfgstuff/start-ds-admin.in           |   87 +--
 admserv/cfgstuff/stop-ds-admin.in            |   55 +-
 admserv/newinst/src/AdminServer.pm.in        |   93 +--
 admserv/newinst/src/AdminUtil.pm.in          |  110 ++--
 admserv/newinst/src/register-ds-admin.pl.in  |  176 ++++--
 admserv/newinst/src/register-ds-admin.res.in |    4 
 compile                                      |    9 
 config.guess                                 |  349 ++++---------
 config.h.in                                  |    3 
 config.sub                                   |  125 ++--
 configure                                    |  311 ++++++-----
 depcomp                                      |  454 ++++++++++-------
 install-sh                                   |  366 ++++++--------
 m4/httpd.m4                                  |    2 
 m4/mod_nss.m4                                |    2 
 man/man8/ds_removal.8                        |    2 
 man/man8/ds_unregister.8                     |    2 
 man/man8/register-ds-admin.pl.8              |  132 +++--
 missing                                      |  405 +++++----------
 wrappers/systemd.service.in                  |    2 
 28 files changed, 2133 insertions(+), 1801 deletions(-)

New commits:
commit ad1a4c7fc0f95fdc9d117dcd704a518a2a969d34
Author: Noriko Hosoi <nhosoi at redhat.com>
Date:   Tue Nov 1 09:28:33 2016 -0700

    bump version to 1.1.46

diff --git a/VERSION.sh b/VERSION.sh
index 4e1f314..1975cdd 100644
--- a/VERSION.sh
+++ b/VERSION.sh
@@ -11,7 +11,7 @@ vendorurl=http://port389.org
 # PACKAGE_VERSION is constructed from these
 VERSION_MAJOR=1
 VERSION_MINOR=1
-VERSION_MAINT=45
+VERSION_MAINT=46
 # if this is a PRERELEASE, set VERSION_PREREL
 # otherwise, comment it out
 # be sure to include the dot prefix in the prerel

commit 32d3339bd4f088da6cdb1a5f2441c5e57c184f96
Author: Mark Reynolds <mreynolds at redhat.com>
Date:   Tue Oct 25 20:45:34 2016 -0400

    Ticket 49015 - register-ds-admin.pl - silent install does not
        register local instances
    
    Bug Description:  There is no way to specify how to register local instances with
                      a local configuration server when using silent install.
    
    Fix Description:  Revise the [register] directive section to allow "local instances".
                      Improved config file validation, and fixed other minor bugs.
    
                      Also updated the man page with INF parameter changes.
    
    https://fedorahosted.org/389/ticket/49015
    
    Reviewed by: wibrown & nhosoi(Thanks!!)

diff --git a/admserv/newinst/src/register-ds-admin.pl.in b/admserv/newinst/src/register-ds-admin.pl.in
index dd100d9..f8cc6c0 100644
--- a/admserv/newinst/src/register-ds-admin.pl.in
+++ b/admserv/newinst/src/register-ds-admin.pl.in
@@ -122,8 +122,8 @@ sub get_cred_from_inst
     #
     # Check the remaining instances
     #
-    my @insts = $mysetup->{inf}->{register}->{instance};
-    if ($#insts){
+    my @insts = $mysetup->{inf}->{register}->{localinst};
+    if ($#insts >= 0 && $insts[0] ne ""){
         my $i = 0;
         for (; $i <= $#insts; $i++){
             my @inst_parts = split('::', $insts[$i]);
@@ -159,6 +159,7 @@ my $dialogmgr;
 my @dialogs;
 my @silent_instances;
 my @config_parts;
+my $remote_reg = 0;
 
 #
 # Continue with the setup...
@@ -174,9 +175,11 @@ my $res = new Resource("@propertydir@/register-ds-admin.res",
 my $setup = new Setup($res);
 if ($setup->{silent}){
     #
-    # To be silent we must have "General" & "admin", or just "register" directives
+    # To be silent we must have "General" & "register".  If 'register" does not have
+    # a localinst/remotehost parameter, then there must be an 'admin' directive in the INF file
     #
-    if ( ($setup->{inf}->{General} && $setup->{inf}->{admin}) || $setup->{inf}->{register} ){
+    if ( ($setup->{inf}->{General} && $setup->{inf}->{register}) &&
+         ($setup->{inf}->{register}->{localinst} || $setup->{inf}->{admin} || $setup->{inf}->{register}->{remotehost})){
         $silent = "yes";
     } else {
         # Missing required silent install directives
@@ -193,11 +196,11 @@ if ($setup->{inf}->{register}){
     #
     # [register]
     # configinst= slapd-INSTANCE::cn=directory manager::myPassword
-    # instance= slapd-INSTANCE2::cn=directory manager::myPassword
-    # instance= slapd-INSTANCE3::cn=directory manager::myPassword
+    # localinst= slapd-INSTANCE2::cn=directory manager::myPassword
+    # localinst= slapd-INSTANCE3::cn=directory manager::myPassword
+    # localcertdir= /etc/dirsrv/slapd-INSTANCE
     # remotehost= remote.server.com
     # remoteport= 389
-    # localcertdir= /etc/dirsrv/slapd-INSTANCE
     # remotebinddn= cn=directory manager
     # remotebindpw= password
     # admindn= uid=admin,ou=Administrators,ou=TopologyManagement,o=NetscapeRoot
@@ -206,44 +209,88 @@ if ($setup->{inf}->{register}){
     # destination= local|remote
     #
 
-    # 
+    #
     # Validate the silent registration parameters
     #
     if ( !$setup->{inf}->{register}->{configinst} || $setup->{inf}->{register}->{configinst} eq ""){
         $setup->msg($FATAL, 'error_missing_parameter', "configinst");
         $setup->doExit(1);
     }
-    if ( !$setup->{inf}->{register}->{remotehost} || $setup->{inf}->{register}->{remotehost} eq ""){
-        $setup->msg($FATAL, 'error_missing_parameter', 'remotehost');
-        $setup->doExit(1);
-    }
-    if ( !$setup->{inf}->{register}->{remoteport} ||$setup->{inf}->{register}->{remoteport} eq ""){
-        $setup->msg($FATAL, 'error_missing_parameter', 'remoteport');
-        $setup->doExit(1);
-    }
-    if ( !$setup->{inf}->{register}->{remotebinddn} || $setup->{inf}->{register}->{remotebinddn} eq ""){
-        $setup->msg($FATAL, 'error_missing_parameter', 'remotebinddn');
-        $setup->doExit(1);
-    }
-    if ( !$setup->{inf}->{register}->{remotebindpw} || $setup->{inf}->{register}->{remotebindpw} eq ""){
-        $setup->msg($FATAL, 'error_missing_parameter', 'remotebindpw');
-        $setup->doExit(1);
-    }
-    if ( !$setup->{inf}->{register}->{admindomain} || $setup->{inf}->{register}->{admindomain} eq ""){
-        $setup->msg($FATAL, 'error_missing_parameter', 'admindomain');
-        $setup->doExit(1);
-    }
-    if ( !$setup->{inf}->{register}->{admindn} || $setup->{inf}->{register}->{admindn} eq ""){
-        $setup->msg($FATAL, 'error_missing_parameter', 'admindn');
-        $setup->doExit(1);
-    }
-    if ( !$setup->{inf}->{register}->{adminpw} || $setup->{inf}->{register}->{adminpw} eq ""){
-        $setup->msg($FATAL, 'error_missing_parameter', 'adminpw');
-        $setup->doExit(1);
-    }
-    if ( !$setup->{inf}->{register}->{destination} || $setup->{inf}->{register}->{destination} eq ""){
-        $setup->msg($FATAL, 'error_missing_parameter', 'destination');
-        $setup->doExit(1);
+
+    #
+    # If 'remotehost' is set, then we are registering with a remote admin/config server.
+    # Otherwise, we are just registering local instances.
+    #
+    if ( $setup->{inf}->{register}->{remotehost} && $setup->{inf}->{register}->{remotehost} ne ""){
+        $remote_reg = 1;
+        if ( !$setup->{inf}->{register}->{remoteport} ||$setup->{inf}->{register}->{remoteport} eq ""){
+            $setup->msg($FATAL, 'error_missing_parameter', 'remoteport');
+            $setup->doExit(1);
+        }
+        if ( !$setup->{inf}->{register}->{remotebinddn} || $setup->{inf}->{register}->{remotebinddn} eq ""){
+            $setup->msg($FATAL, 'error_missing_parameter', 'remotebinddn');
+            $setup->doExit(1);
+        }
+        if ( !$setup->{inf}->{register}->{remotebindpw} || $setup->{inf}->{register}->{remotebindpw} eq ""){
+            $setup->msg($FATAL, 'error_missing_parameter', 'remotebindpw');
+            $setup->doExit(1);
+        }
+        if ( !$setup->{inf}->{register}->{admindomain} || $setup->{inf}->{register}->{admindomain} eq ""){
+            $setup->msg($FATAL, 'error_missing_parameter', 'admindomain');
+           $setup->doExit(1);
+        }
+        if ( !$setup->{inf}->{register}->{admindn} || $setup->{inf}->{register}->{admindn} eq ""){
+            $setup->msg($FATAL, 'error_missing_parameter', 'admindn');
+            $setup->doExit(1);
+        }
+        if ( !$setup->{inf}->{register}->{adminpw} || $setup->{inf}->{register}->{adminpw} eq ""){
+            $setup->msg($FATAL, 'error_missing_parameter', 'adminpw');
+            $setup->doExit(1);
+        }
+        if ( !$setup->{inf}->{register}->{destination} || $setup->{inf}->{register}->{destination} eq ""){
+            $setup->msg($FATAL, 'error_missing_parameter', 'destination');
+            $setup->doExit(1);
+        }
+    } elsif (!$setup->{inf}->{register}->{localinst} || $setup->{inf}->{register}->{localinst} eq ""){
+        if (!$setup->{inf}->{admin}){
+            # We expected a local instance to register since weare not providing
+            $setup->msg($FATAL, 'error_missing_parameter', 'localinst');
+            $setup->doExit(1);
+        }
+    } else {
+        #
+        # If we got here we assume this is a local registration, but we need to make sure
+        # that other remote parameters were not supplied. In that case we really don't know
+        # what the end user is trying to do - invalid config.
+        #
+        if ( $setup->{inf}->{register}->{remoteport} ){
+            $setup->msg($FATAL, 'error_unexpected_parameter', 'remoteport');
+            $setup->doExit(1);
+        }
+        if ( $setup->{inf}->{register}->{remotebinddn} ) {
+            $setup->msg($FATAL, 'error_unexpected_parameter', 'remotebinddn');
+            $setup->doExit(1);
+        }
+        if ( $setup->{inf}->{register}->{remotebindpw} ){
+            $setup->msg($FATAL, 'error_unexpected_parameter', 'remotebindpw');
+            $setup->doExit(1);
+        }
+        if ( $setup->{inf}->{register}->{admindomain} ){
+            $setup->msg($FATAL, 'error_unexpected_parameter', 'admindomain');
+            $setup->doExit(1);
+        }
+        if ( $setup->{inf}->{register}->{admindn} ){
+            $setup->msg($FATAL, 'error_unexpected_parameter', 'admindn');
+            $setup->doExit(1);
+        }
+        if ( $setup->{inf}->{register}->{adminpw} ){
+            $setup->msg($FATAL, 'error_unexpected_parameter', 'adminpw');
+            $setup->doExit(1);
+        }
+        if ( $setup->{inf}->{register}->{destination} ){
+            $setup->msg($FATAL, 'error_unexpected_parameter', 'destination');
+            $setup->doExit(1);
+        }
     }
 
     #
@@ -266,8 +313,8 @@ if ($setup->{inf}->{register}){
     #
     # Add the other instances (if any)
     #
-    @silent_instances = $setup->{inf}->{register}->{instance};
-    if ($#silent_instances){
+    @silent_instances = $setup->{inf}->{register}->{localinst};
+    if ($#silent_instances >= 0 && $silent_instances[0] ne ""){
         my $i = 0;
         for (; $i <= $#silent_instances; $i++){
             my @inst_parts = split('::', $silent_instances[$i]);
@@ -285,16 +332,18 @@ if ($setup->{inf}->{register}){
     $setup->{inf}->{slapd}->{RootDN} = $config_parts[1];
     $setup->{inf}->{slapd}->{RootDNPwd} = $config_parts[2];
 
-    #
-    # Set the remote registration parameters
-    #
-    $remote_host = $setup->{inf}->{register}->{remotehost};
-    $remote_port = $setup->{inf}->{register}->{remoteport};
-    $remote_binddn = $setup->{inf}->{register}->{remotebinddn};
-    $remote_bindpw = $setup->{inf}->{register}->{remotebindpw};
-    $local_certdir = $setup->{inf}->{register}->{localcertdir};
-    $remote_admindomain = $setup->{inf}->{register}->{admindomain};
-    $destination = $setup->{inf}->{register}->{destination};
+    if ($remote_reg){
+        #
+        # Set the remote registration parameters
+        #
+        $remote_host = $setup->{inf}->{register}->{remotehost};
+        $remote_port = $setup->{inf}->{register}->{remoteport};
+        $remote_binddn = $setup->{inf}->{register}->{remotebinddn};
+        $remote_bindpw = $setup->{inf}->{register}->{remotebindpw};
+        $local_certdir = $setup->{inf}->{register}->{localcertdir};
+        $remote_admindomain = $setup->{inf}->{register}->{admindomain};
+        $destination = $setup->{inf}->{register}->{destination};
+    }
     $localrootdn = $config_parts[1];
     $localrootpw = $config_parts[2];
 }
@@ -432,7 +481,6 @@ if ( $#admConfKeys >= 4 ) # admserv.conf, console.conf, httpd.conf, nss.conf
     if (!$setup->{inf}->{admin}->{config_dir}){
         $setup->{inf}->{admin}->{config_dir} = "$instconfigdir/admin-serv";
     }
-
     #
     # Read additional config from config DS
     #
@@ -611,32 +659,32 @@ if ($silent eq "no"){
     $setup->{inf}->{slapd}->{RootDNPwd} = reg_get_passwd($setup, 'input_rootdn_passwd', $new_confdsid);
     $localrootpw = $setup->{inf}->{slapd}->{RootDNPwd};
     $localrootdn = $setup->{inf}->{slapd}->{RootDN};
+} else {
+    # silent install always contains the proper root password from (configinst/localinst)
+    $setup->{inf}->{slapd}->{RootDNPwd} = $localrootpw;
 }
-
-if ( ($#admConfKeys >= 0 && ($orig_confdsid ne $new_confdsid)) ||
-      $#admConfKeys < 0 )
+if ( ($#admConfKeys >= 0 && $orig_confdsid ne $new_confdsid) ||
+     $#admConfKeys < 0 )
 {
+    if(!$setup->{inf}->{slapd}->{RootDNPwd} || $setup->{inf}->{slapd}->{RootDNPwd} eq ""){
+        # silent install should have set this
+        $setup->{inf}->{slapd}->{RootDNPwd} = reg_get_passwd($setup, 'input_rootdn_passwd', $new_confdsid);
+    }
     @errs = ();
     # First, let's register the Configuration Directory itself
-
-    if(!$setup->{inf}->{slapd}->{RootDNPwd}){
-        $setup->{inf}->{slapd}->{RootDNPwd} = $localrootpw;
-    }
     while (!createConfigDS($setup->{inf}, \@errs))
     {
         foreach my $err (@errs)
         {
-            if ( $err eq "suffix_already_exists" || $err eq "error_creating_suffix_backend")
+            if ( $err eq "suffix_already_exists" || $err eq "error_creating_suffix_backend" ||
+                 $err eq "error_connection_failed")
             {
                 goto out;
             }
         }
-        if(!$setup->{inf}->{slapd}->{RootDNPwd} || $setup->{inf}->{slapd}->{RootDNPwd} eq ""){
-            # silent install should have set this
-            $setup->{inf}->{slapd}->{RootDNPwd} = reg_get_passwd($setup, 'input_rootdn_passwd', $new_confdsid);
-        }
         @errs = ();
     }
+
 out:
 }
 
diff --git a/admserv/newinst/src/register-ds-admin.res.in b/admserv/newinst/src/register-ds-admin.res.in
index f7c0e67..1f5f62f 100644
--- a/admserv/newinst/src/register-ds-admin.res.in
+++ b/admserv/newinst/src/register-ds-admin.res.in
@@ -46,11 +46,13 @@ error_missing_parameter = Silent install file missing required parameter '%s'\n
 
 error_invalid_parameter = Silent install parameter '%s' is invalid\n
 
+error_unexpected_parameter = Unexpected install parameter '%s' - config is invalid\n
+
 error_connection = Error connecting to host '%s' - %s\n
 
 error_operation = Error while %s entry '%s' - %s\n
 
-error_silent_install = Silent setup misconfiguration.  Must have 'General' and 'admin', or 'register' directives\n
+error_silent_install = Silent setup misconfiguration.  Please see the man page for using a silent install file'\n
 
 remote_register_error = The remote registration process failed!\n
 
diff --git a/man/man8/register-ds-admin.pl.8 b/man/man8/register-ds-admin.pl.8
index eb85bba..29337c8 100644
--- a/man/man8/register-ds-admin.pl.8
+++ b/man/man8/register-ds-admin.pl.8
@@ -21,12 +21,15 @@ register\-ds\-admin.pl \- Registers Directory Server instances with an Admin Ser
 .B register-ds-admin.pl
 [\fI--options\fR] \fI-- \fR[\fIargs\fR]
 .SH DESCRIPTION
-Registers existing Directory Server instances with an existing Admin Server. 
-This command does the set up necessary for the use of the Console to manage 
-the Directory Server instances you are registering.  You can register remote 
-Directory Server instances to a local Admin Server, as well as register local 
-Directory Server instances with a remote Admin Server - this allows a single 
-console/Admin Server to manage all your Directory Servers on your network.
+Registers existing Directory Server instances with an existing Admin Server.
+This command does the set up necessary for the use of the Console to manage
+the Directory Server instances you are registering.  You can register local
+Directory Server instances with a local Configuration Directory Server/Admin
+Server.  You can also create an Admin Server and register standalone instances
+with it. You can register remote Directory Server instances to the local
+Admin Server, as well as register local Directory Server instances with a
+remote Admin Server - this allows a single Console/Admin Server to manage all
+the Directory Servers in your network.
 
 Use this command with the \fB--update\fR option after an upgrade to refresh
  the server information (version, build number, etc.) in the Console.
@@ -68,8 +71,8 @@ Update an existing installation (e.g. after upgrading packages)
 .B \fB\-\-continue
 (update only) keep going despite errors (also --force)
 .PP
-For all options, you can also use the short name e.g. \fB\-h\fR, \fB\-d\fR, etc.  
-For the \fB\-d\fR argument, specifying it more than once will increase the debug 
+For all options, you can also use the short name e.g. \fB\-h\fR, \fB\-d\fR, etc.
+For the \fB\-d\fR argument, specifying it more than once will increase the debug
 level e.g. \fB\-ddddd\fR
 .PP
 args:
@@ -85,20 +88,25 @@ or
 .IP
 "slapd.Suffix=dc=example,dc=com"
 .PP
-Values passed in this manner will override values in an .inf file given with 
+Values passed in this manner will override values in an .inf file given with
 the \fB\-f\fR argument.
 
 .SH Silent Mode (.inf file)
 .PP
-Here is an example of an .inf file that registers a local Directory Server instance with a remote server over SSL:
+The .inf file use three directives depending on what you want to do:  [General], [admin], and [register].
+The [admin] section is only needed if an Admin Server needs to be installed on the local system.
+.br
+
+Here is an example of creating an Admin Server, and turning a standalone Directory Server instance into
+a configuration instance.  In this case we need the [General], [admin], and [register] directives
 .IP
 [General]
 .br
 FullMachineName= localhost.localdomain
 .br
-SuiteSpotUserID= nobody
+SuiteSpotUserID= dirsrv
 .br
-SuiteSpotGroup= nobody
+SuiteSpotGroup= dirsrv
 .br
 AdminDomain= redhat.com
 .br
@@ -126,7 +134,69 @@ ServerAdminPwd= password
 .br
 configinst= slapd-localhost::cn=directory manager::password
 .br
-instance= slapd-replica::cn=directory manager::password
+
+.PP
+Here is an example of an .inf file that registers two local Directory Server
+instances (slapi-replica, slapd-instance2) with the local Configuration
+Directory Server (slapd-localhost).
+.IP
+[General]
+.br
+FullMachineName= localhost.localdomain
+.br
+SuiteSpotUserID= dirsrv
+.br
+SuiteSpotGroup= dirsrv
+.br
+AdminDomain= redhat.com
+.br
+ConfigDirectoryAdminID= admin
+.br
+ConfigDirectoryAdminPwd= admin
+.br
+ConfigDirectoryLdapURL= ldap://localhost.localdomain:389/o=NetscapeRoot
+.br
+
+.br
+[register]
+.br
+configinst= slapd-localhost::cn=directory manager::password
+.br
+localinst= slapd-instance2::cn=directory manager::password
+.br
+localinst= slapd-replica::cn=directory manager::password
+.br
+
+.PP
+This example will add the slapd-replica instance to the local configuration server.  Then this
+server's configuration to added to the remote configuration server on ldap.redhat.com
+.IP
+.br
+[General]
+.br
+FullMachineName= localhost.localdomain
+.br
+SuiteSpotUserID= dirsrv
+.br
+SuiteSpotGroup= dirsrv
+.br
+AdminDomain= redhat.com
+.br
+ConfigDirectoryAdminID= admin
+.br
+ConfigDirectoryAdminPwd= admin
+.br
+ConfigDirectoryLdapURL= ldap://localhost.localdomain:389/o=NetscapeRoot
+.br
+
+.br
+[register]
+.br
+configinst= slapd-localhost::cn=directory manager::password
+.br
+localinst= slapd-replica::cn=directory manager::password
+.br
+localcertdir= /etc/dirsrv/slapd-localhost
 .br
 remotehost= ldap.redhat.com
 .br
@@ -136,8 +206,6 @@ remotebinddn= cn=directory manager
 .br
 remotebindpw= password
 .br
-localcertdir= /etc/dirsrv/slapd-localhost
-.br
 admindomain= redhat.com
 .br
 admindn= uid=admin,ou=Administrators,ou=TopologyManagement,o=NetscapeRoot
@@ -146,54 +214,38 @@ adminpw= password
 .br
 destination= remote
 .br
-
-.br
-The above .inf will install a local admin server and then store its configuration (o=netscaperoot) 
-in the "config" instance.  The second local Directory Server instance, slapd-replica, is also 
-added the configuration server.  Then this server's configuration to added to the 
-remote configuration server on ldap.redhat.com
 .PP
 The \fB[register]\fR directive parameter descriptions:
 .TP
 .B configinst\fR = INSTANCE::BIND_DN::PASSWORD\fR
 .br
 .IP
-.I INSTANCE\fR = The server where the existing configuration exists, or the server where you want 
+.I INSTANCE\fR = The server where the existing configuration exists, or the server where you want
 to add the configuration to. The value takes the form of slapd-INSTANCE.
 .br
 .I BIND_DN\fR = The root DN, usually \*(lqcn=directory manager\*(rq, for the local configuration server.
 .br
 .I PASSWORD\fR = the root DN password.
 .TP
-.B instance\fR = INSTANCE::BIND_DN::PASSWORD\fR
-.br
-.IP
-.I INSTANCE\fR = Additional local Directory Server instance that should be added to the 
-configuration server. The value takes the form of slapd-INSTANCE.
-.br
-.I BIND_DN\fR = The root DN, usually \*(lqcn=directory manager\*(rq, for the local server.
+.B localinst\fR = INSTANCE::BIND_DN::PASSWORD\fR
 .br
-.I PASSWORD\fR = the root DN password.
+.IP 
+The parameters are the same as 'configinst'.  This argument is required for local registerations.
 .br
-
-This is an optional parameter for specifying other local Directory Server instances to register with the
-configuration server.
-.br 
 .TP
-.B remotehost\fR = The FQDN of the remote server.  This is either the rmeote server we 
-registering with, or the remote server that is being registered with the local configuration 
+.B remotehost\fR = The FQDN of the remote server.  This is either the rmeote server we
+registering with, or the remote server that is being registered with the local configuration
 server.
 .TP
 .B remoteport\fR = The port of the remote server.
 .TP
+.B localcertdir\fR = The directory of the certificate database files (e.g. cert8.db, key3.db). This optional parameter is only used if connecting to the remote server over SSL.
+.TP
 .B remotebinddn\fR = The bind DN, preferrably the root DN, to connect to the remote server.
 .TP
 .B remotebinddn\fR = The password for the remotebinddn entry.
 .TP
-.B localcertdir\fR = The directory of the certificate database files (e.g. cert8.db, key3.db). This 
-optional parameter is only used if connecting to the remote server over SSL.
-.TP
-.B admindomain\fR = The admin domain of the remote configuration server.
+.B admindomain\fR = This is the Admin Domain for the server that is being registered. If registering the local server to the remote server, it would be the domain from the local server. If registering a remote server to the local configuration server, it would be the Admin Domain from the remote server.
 .TP
 .B admindn\fR = The local administrator DN for o=netscaperoot
 .TP 

commit b55fec15335baf5443bb0ccfbbc1ea8041f199eb
Author: Noriko Hosoi <nhosoi at redhat.com>
Date:   Mon Sep 26 16:55:14 2016 -0700

    bump version to 1.1.45

diff --git a/VERSION.sh b/VERSION.sh
index 497fa68..4e1f314 100644
--- a/VERSION.sh
+++ b/VERSION.sh
@@ -11,7 +11,7 @@ vendorurl=http://port389.org
 # PACKAGE_VERSION is constructed from these
 VERSION_MAJOR=1
 VERSION_MINOR=1
-VERSION_MAINT=44
+VERSION_MAINT=45
 # if this is a PRERELEASE, set VERSION_PREREL
 # otherwise, comment it out
 # be sure to include the dot prefix in the prerel

commit 97f4cb38b074ac14fede429ad56114cba357cfab
Author: Noriko Hosoi <nhosoi at redhat.com>
Date:   Tue Sep 13 18:30:48 2016 -0700

    Ticket #48988 - ds_removal and ds_unregister should support prompting for password
    
    Description: Letting ds_removal and ds_unregieter accept '-w -' to
    prompt for the Admin Password.
    
    https://fedorahosted.org/389/ticket/48988
    
    Reviewed by wibrown at redhat.com (Thanks, William!!)

diff --git a/admserv/cfgstuff/ds_removal.in b/admserv/cfgstuff/ds_removal.in
index c4c52cb..9c2a042 100755
--- a/admserv/cfgstuff/ds_removal.in
+++ b/admserv/cfgstuff/ds_removal.in
@@ -39,7 +39,7 @@
 
 Usage()
 {
-    echo "Usage: $0 [-f] -s server_id -w admin_password"
+    echo "Usage: $0 [-f] -s server_id -w admin_password | -w -"
     echo "       server_id: Directory server identifier; slapd-<server_id>"
     echo "       admin_password: Administration user password"
     echo "       -f - force - optional - ignore errors and force removal of as much as possible"
@@ -60,6 +60,11 @@ do
     elif [ "$1" = "-w" ]; then
         shift
         admin_pw=$1
+        if [ "$admin_pw" = "-" ]; then
+            echo -n "Enter Admin Password: "
+            read -s admin_pw
+            echo ""
+        fi
     elif [ "$1" = "-f" ]; then
         forceflag=1
     elif [ "$1" = "-h" -o "$1" = "-H" -o "$1" = "--help" ]; then
diff --git a/admserv/cfgstuff/ds_unregister.in b/admserv/cfgstuff/ds_unregister.in
index 01b1bfd..f8458b7 100755
--- a/admserv/cfgstuff/ds_unregister.in
+++ b/admserv/cfgstuff/ds_unregister.in
@@ -39,7 +39,7 @@
 
 Usage()
 {
-    echo "Usage: $0 -s server_id -w admin_password"
+    echo "Usage: $0 -s server_id -w admin_password | -w -"
     echo "       server_id: Directory server identifier; slapd-<server_id>"
     echo "       admin_password: Administration user password"
 }
@@ -58,6 +58,11 @@ do
     elif [ "$1" = "-w" ]; then
         shift
         admin_pw=$1
+        if [ "$admin_pw" = "-" ]; then
+            echo -n "Enter Admin Password: "
+            read -s admin_pw
+            echo ""
+        fi
     elif [ "$1" = "-h" -o "$1" = "-H" -o "$1" = "--help" ]; then
         Usage
         exit 0
diff --git a/man/man8/ds_removal.8 b/man/man8/ds_removal.8
index 13824c4..f20f788 100644
--- a/man/man8/ds_removal.8
+++ b/man/man8/ds_removal.8
@@ -39,7 +39,7 @@ Optional \- Force removal \- ignore errors and remove everything
 Required \- server_id \- the directory server identifier \- slapd\-\fIserver_id\fR
 .TP
 .B \fB\-w password\fR
-Required \- password \- the password for the console admin user
+Required \- password \- the password for the console admin user.  If password is '-', prompt for the password.
 .br
 .SH AUTHOR
 ds_removal was written by the 389 Project.
diff --git a/man/man8/ds_unregister.8 b/man/man8/ds_unregister.8
index bfe5f8b..f2bbece 100644
--- a/man/man8/ds_unregister.8
+++ b/man/man8/ds_unregister.8
@@ -33,7 +33,7 @@ A summary of options is included below:
 Required \- server_id \- the directory server identifier \- slapd\-\fIserver_id\fR
 .TP
 .B \fB\-w password\fR
-Required \- password \- the password for the console admin user
+Required \- password \- the password for the console admin user.  If password is '-', prompt for the password.
 .br
 .SH AUTHOR
 ds_unregister was written by the 389 Project.

commit 818c8a29a91f30ead329282ea5f29e2a3c7f1587
Author: Noriko Hosoi <nhosoi at redhat.com>
Date:   Fri Aug 26 18:47:00 2016 -0700

    bump version to 1.1.44

diff --git a/VERSION.sh b/VERSION.sh
index cd76f32..497fa68 100644
--- a/VERSION.sh
+++ b/VERSION.sh
@@ -11,7 +11,7 @@ vendorurl=http://port389.org
 # PACKAGE_VERSION is constructed from these
 VERSION_MAJOR=1
 VERSION_MINOR=1
-VERSION_MAINT=43
+VERSION_MAINT=44
 # if this is a PRERELEASE, set VERSION_PREREL
 # otherwise, comment it out
 # be sure to include the dot prefix in the prerel

commit 7dabd7fd841a2781b00d709cdfdf443238714d69
Author: Noriko Hosoi <nhosoi at redhat.com>
Date:   Thu Aug 4 16:33:17 2016 -0700

    Bug 1236635 - 389-admin TPS srpmtest failure
    
    Bug Description: In case configure is repeated with rpm -U and
    *.rpmnew files are generated, configure fails with the error:
      Could not find the mod_nss pass phrase helper /nss_pcache
    
    Fix Description: NSSPassPhraseHelper should avoid files unless
    the file name ends with ".conf".

diff --git a/m4/mod_nss.m4 b/m4/mod_nss.m4
index 7a228c6..294bf59 100644
--- a/m4/mod_nss.m4
+++ b/m4/mod_nss.m4
@@ -54,7 +54,7 @@ AC_MSG_RESULT(no))
 if test -z "$modnssbindir" ; then
     nsspcache=`grep NSSPassPhraseHelper $httpdconf|awk '{print $2}'`
     if test -z "$nsspcache" ; then
-        nsspcache=`grep NSSPassPhraseHelper $httpd_root/conf.d/* | awk '{print $2}'`
+        nsspcache=`grep NSSPassPhraseHelper $httpd_root/conf.d/*.conf | awk '{print $2}'`
     fi
     if test -z "$nsspcache" ; then
         # same directory as Apache?

commit decff50878e2defcf655343cd16409e2fb335682
Author: Mark Reynolds <mreynolds at redhat.com>
Date:   Wed Aug 3 11:33:24 2016 -0400

    Ticket 48932 - stopping admin server stops all httpd processes
    
    Bug Description:  When stopping the admin server it does not specify which
                      process/config file to stop.  So all httpd services are
                      stopped.
    
    Fix Description:  In the systemd wrapper specify the admin's http.conf file
                      for the ExecStop command.
    
    https://fedorahosted.org/389/ticket/48932
    
    Reviewed by: nhosoi(Thanks!)

diff --git a/wrappers/systemd.service.in b/wrappers/systemd.service.in
index 186e851..394047a 100644
--- a/wrappers/systemd.service.in
+++ b/wrappers/systemd.service.in
@@ -16,7 +16,7 @@ EnvironmentFile=@initconfigdir@/@package_name@
 ExecStart=@HTTPD@ -k start -f @configdir@/httpd.conf
 ExecReload=@HTTPD@ -t
 ExecReload=/bin/kill -HUP $MAINPID
-ExecStop=@HTTPD@ $OPTIONS -k stop
+ExecStop=@HTTPD@ $OPTIONS -k stop -f @configdir@/httpd.conf
 # to raise the file descriptor limit
 # LimitNOFILE=8192
 

commit bb2465c6b870b4f37a3872caac98766d601bd88e
Author: Noriko Hosoi <nhosoi at redhat.com>
Date:   Wed Jul 20 12:28:40 2016 -0700

    Ticket #47413 - 389-admin fails to build with latest httpd
    
    Description: There was a awk bug in the awk code in the commit
                 c6e18768092c55d916548fc090c91b079c0d3c8athe.
                 To enable the fix, ran autogen.sh, as well.
    
    https://fedorahosted.org/389/ticket/47413
    
    Reviewed by mreynolds at redhat.com (Thanks, Mark!!)

diff --git a/Makefile.in b/Makefile.in
index 537ac1d..aae7c76 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.12.2 from Makefile.am.
+# Makefile.in generated by automake 1.15 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2012 Free Software Foundation, Inc.
+# Copyright (C) 1994-2014 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -19,23 +19,61 @@
 
 
 VPATH = @srcdir@
-am__make_dryrun = \
-  { \
-    am__dry=no; \
+am__is_gnu_make = { \
+  if test -z '$(MAKELEVEL)'; then \
+    false; \
+  elif test -n '$(MAKE_HOST)'; then \
+    true; \
+  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
+    true; \
+  else \
+    false; \
+  fi; \
+}
+am__make_running_with_option = \
+  case $${target_option-} in \
+      ?) ;; \
+      *) echo "am__make_running_with_option: internal error: invalid" \
+              "target option '$${target_option-}' specified" >&2; \
+         exit 1;; \
+  esac; \
+  has_opt=no; \
+  sane_makeflags=$$MAKEFLAGS; \
+  if $(am__is_gnu_make); then \
+    sane_makeflags=$$MFLAGS; \
+  else \
     case $$MAKEFLAGS in \
       *\\[\ \	]*) \
-        echo 'am--echo: ; @echo "AM"  OK' | $(MAKE) -f - 2>/dev/null \
-          | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
-      *) \
-        for am__flg in $$MAKEFLAGS; do \
-          case $$am__flg in \
-            *=*|--*) ;; \
-            *n*) am__dry=yes; break;; \
-          esac; \
-        done;; \
+        bs=\\; \
+        sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+          | sed "s/$$bs$$bs[$$bs $$bs	]*//g"`;; \
     esac; \
-    test $$am__dry = yes; \
-  }
+  fi; \
+  skip_next=no; \
+  strip_trailopt () \
+  { \
+    flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+  }; \
+  for flg in $$sane_makeflags; do \
+    test $$skip_next = yes && { skip_next=no; continue; }; \
+    case $$flg in \
+      *=*|--*) continue;; \
+        -*I) strip_trailopt 'I'; skip_next=yes;; \
+      -*I?*) strip_trailopt 'I';; \
+        -*O) strip_trailopt 'O'; skip_next=yes;; \
+      -*O?*) strip_trailopt 'O';; \
+        -*l) strip_trailopt 'l'; skip_next=yes;; \
+      -*l?*) strip_trailopt 'l';; \
+      -[dEDm]) skip_next=yes;; \
+      -[JT]) skip_next=yes;; \
+    esac; \
+    case $$flg in \
+      *$$target_option*) has_opt=yes; break;; \
+    esac; \
+  done; \
+  test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
 pkgdatadir = $(datadir)/@PACKAGE@
 pkgincludedir = $(includedir)/@PACKAGE@
 pkglibdir = $(libdir)/@PACKAGE@
@@ -65,12 +103,6 @@ cgibin_PROGRAMS = admpw$(EXEEXT) security$(EXEEXT) ugdsconfig$(EXEEXT) \
 	help$(EXEEXT) ds_start$(EXEEXT) ds_restart$(EXEEXT) \
 	ds_shutdown$(EXEEXT) ds_listdb$(EXEEXT) ds_snmpctrl$(EXEEXT)
 subdir = .
-DIST_COMMON = README $(am__configure_deps) $(dist_help_DATA) \
-	$(dist_html_DATA) $(dist_icon_DATA) $(dist_man_MANS) \
-	$(srcdir)/Makefile.am $(srcdir)/Makefile.in \
-	$(srcdir)/config.h.in $(top_srcdir)/configure AUTHORS COPYING \
-	ChangeLog INSTALL NEWS compile config.guess config.sub depcomp \
-	install-sh ltmain.sh missing
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
 	$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
@@ -84,6 +116,9 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
 	$(top_srcdir)/configure.ac
 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
 	$(ACLOCAL_M4)
+DIST_COMMON = $(srcdir)/Makefile.am $(top_srcdir)/configure \
+	$(am__configure_deps) $(dist_help_DATA) $(dist_html_DATA) \
+	$(dist_icon_DATA) $(am__DIST_COMMON)
 am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
  configure.lineno config.status.lineno
 mkinstalldirs = $(install_sh) -d
@@ -92,6 +127,10 @@ CONFIG_CLEAN_FILES =
 CONFIG_CLEAN_VPATH_FILES =
 LIBRARIES = $(noinst_LIBRARIES)
 ARFLAGS = cru
+AM_V_AR = $(am__v_AR_ at AM_V@)
+am__v_AR_ = $(am__v_AR_ at AM_DEFAULT_V@)
+am__v_AR_0 = @echo "  AR      " $@;
+am__v_AR_1 = 
 libdsa_a_AR = $(AR) $(ARFLAGS)
 libdsa_a_LIBADD =
 am__dirstamp = $(am__leading_dot)dirstamp
@@ -181,6 +220,10 @@ config_DEPENDENCIES = $(am__DEPENDENCIES_3)
 am_download_OBJECTS = admserv/cgi-src40/download.$(OBJEXT)
 download_OBJECTS = $(am_download_OBJECTS)
 download_LDADD = $(LDADD)
+AM_V_lt = $(am__v_lt_ at AM_V@)
+am__v_lt_ = $(am__v_lt_ at AM_DEFAULT_V@)
+am__v_lt_0 = --silent
+am__v_lt_1 = 
 am_ds_listdb_OBJECTS = admserv/cgi-ds/ds_listdb-ds_listdb.$(OBJEXT) \
 	admserv/cgi-ds/ds_listdb-init_ds_env.$(OBJEXT)
 ds_listdb_OBJECTS = $(am_ds_listdb_OBJECTS)
@@ -249,28 +292,58 @@ viewlog_OBJECTS = $(am_viewlog_OBJECTS)
 viewlog_DEPENDENCIES = $(am__DEPENDENCIES_3)
 SCRIPTS = $(cgibin_SCRIPTS) $(cmdbin_SCRIPTS) $(init_SCRIPTS) \
 	$(nodist_cmdbin_SCRIPTS) $(update_SCRIPTS)
+AM_V_P = $(am__v_P_ at AM_V@)
+am__v_P_ = $(am__v_P_ at AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_ at AM_V@)
+am__v_GEN_ = $(am__v_GEN_ at AM_DEFAULT_V@)
+am__v_GEN_0 = @echo "  GEN     " $@;
+am__v_GEN_1 = 
+AM_V_at = $(am__v_at_ at AM_V@)
+am__v_at_ = $(am__v_at_ at AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 = 
 DEFAULT_INCLUDES = -I. at am__isrc@
 depcomp = $(SHELL) $(top_srcdir)/depcomp
 am__depfiles_maybe = depfiles
 am__mv = mv -f
 COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
 	$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
-LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
-	--mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
-	$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+	$(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
+	$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+	$(AM_CFLAGS) $(CFLAGS)
+AM_V_CC = $(am__v_CC_ at AM_V@)
+am__v_CC_ = $(am__v_CC_ at AM_DEFAULT_V@)
+am__v_CC_0 = @echo "  CC      " $@;
+am__v_CC_1 = 
 CCLD = $(CC)
-LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
-	--mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
-	$(LDFLAGS) -o $@
+LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+	$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+	$(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CCLD = $(am__v_CCLD_ at AM_V@)
+am__v_CCLD_ = $(am__v_CCLD_ at AM_DEFAULT_V@)
+am__v_CCLD_0 = @echo "  CCLD    " $@;
+am__v_CCLD_1 = 
 CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
 	$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
-LTCXXCOMPILE = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
-	--mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
-	$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+LTCXXCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
+	$(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) \
+	$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
+	$(AM_CXXFLAGS) $(CXXFLAGS)
+AM_V_CXX = $(am__v_CXX_ at AM_V@)
+am__v_CXX_ = $(am__v_CXX_ at AM_DEFAULT_V@)
+am__v_CXX_0 = @echo "  CXX     " $@;
+am__v_CXX_1 = 
 CXXLD = $(CXX)
-CXXLINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
-	--mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
-	$(LDFLAGS) -o $@
+CXXLINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
+	$(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \
+	$(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+AM_V_CXXLD = $(am__v_CXXLD_ at AM_V@)
+am__v_CXXLD_ = $(am__v_CXXLD_ at AM_DEFAULT_V@)
+am__v_CXXLD_0 = @echo "  CXXLD   " $@;
+am__v_CXXLD_1 = 
 SOURCES = $(libdsa_a_SOURCES) $(libds_admin_serv_la_SOURCES) \
 	$(mod_admserv_la_SOURCES) $(mod_restartd_la_SOURCES) \
 	$(ReadLog_SOURCES) $(admpw_SOURCES) $(config_SOURCES) \
@@ -307,10 +380,32 @@ DATA = $(dist_help_DATA) $(dist_html_DATA) $(dist_icon_DATA) \
 	$(inf_DATA) $(initconfig_DATA) $(ldif_DATA) \
 	$(nodist_config_DATA) $(perl_DATA) $(property_DATA) \
 	$(systemdsystemunit_DATA) $(update_DATA)
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) \
+	$(LISP)config.h.in
+# Read a list of newline-separated strings from the standard input,
+# and print each of them once, without duplicates.  Input order is
+# *not* preserved.
+am__uniquify_input = $(AWK) '\
+  BEGIN { nonempty = 0; } \
+  { items[$$0] = 1; nonempty = 1; } \
+  END { if (nonempty) { for (i in items) print i; }; } \
+'
+# Make sure the list of sources is unique.  This is necessary because,
+# e.g., the same source file might be shared among _SOURCES variables
+# for different programs/libraries.
+am__define_uniq_tagged_files = \
+  list='$(am__tagged_files)'; \
+  unique=`for i in $$list; do \
+    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+  done | $(am__uniquify_input)`
 ETAGS = etags
 CTAGS = ctags
 CSCOPE = cscope



More information about the Pkg-fedora-ds-maintainers mailing list