Author: rmeggins
Update of /cvs/dirsec/adminserver/admserv/newinst/src
In directory
cvs1.fedora.phx.redhat.com:/tmp/cvs-serv10013/adminserver/admserv/newinst/src
Modified Files:
AdminServer.pm.in setup-ds-admin.pl.in
Log Message:
Resolves: bug 494980
Bug Description: setup-ds-admin.pl -u and silent setup complain about ServerIpAddress
Reviewed by: nkinder (Thanks!)
Fix Description: We were only setting the default ServerIpAddress in the regular
interactive mode, not in -u or silent mode. In addition, I found several other parameters
that had the same problem. I borrowed code from the interactive mode code to set the
default values.
Platforms tested: RHEL5
Flag Day: no
Doc impact: no
Index: AdminServer.pm.in
===================================================================
RCS file: /cvs/dirsec/adminserver/admserv/newinst/src/AdminServer.pm.in,v
retrieving revision 1.16
retrieving revision 1.17
diff -u -r1.16 -r1.17
--- AdminServer.pm.in 27 Feb 2009 14:33:27 -0000 1.16
+++ AdminServer.pm.in 8 Apr 2009 22:47:43 -0000 1.17
@@ -21,10 +21,10 @@
@ISA = qw(Exporter);
@EXPORT = qw(createAdminServer reconfigAdminServer
createASFilesAndDirs setFileOwnerPerms updateHttpConfFiles
- startAdminServer removeAdminServer);
+ startAdminServer removeAdminServer setDefaults);
@EXPORT_OK = qw(createAdminServer reconfigAdminServer
createASFilesAndDirs setFileOwnerPerms updateHttpConfFiles
- startAdminServer removeAdminServer);
+ startAdminServer removeAdminServer setDefaults);
use File::Path;
# tempfiles
@@ -41,16 +41,51 @@
use Setup;
use AdminUtil;
+sub setDefaults {
+ my $setup = shift;
+
+ if (!defined($setup->{inf}->{admin}->{ServerIpAddress})) {
+ $setup->{inf}->{admin}->{ServerIpAddress} = '@admservip@';
+ }
+ if (!defined($setup->{inf}->{admin}->{Port})) {
+ $setup->{inf}->{admin}->{Port} = @admservport@;
+ }
+ if (!defined($setup->{inf}->{admin}->{SysUser})) {
+ my $user = $setup->{inf}->{General}->{SuiteSpotUserID};
+ if (!defined($user)) {
+ if ($> == 0) { # if root, use the default user
+ $user = "@httpduser@";
+ } else { # if not root, use the user's uid
+ $user = getLogin;
+ }
+ }
+ $setup->{inf}->{admin}->{SysUser} = $user;
+ }
+ if (!defined($setup->{inf}->{admin}->{ServerAdminID})) {
+ my $id = $setup->{inf}->{General}->{ConfigDirectoryAdminID};
+ if (isValidDN($id)) {
+ $id =~ s/^(.*)=.*/$1/;
+ }
+ $setup->{inf}->{admin}->{ServerAdminID} = $id;
+ }
+ if (!defined($setup->{inf}->{admin}->{ServerAdminPwd})) {
+ my $pwd = $setup->{inf}->{General}->{ConfigDirectoryAdminPwd};
+ $setup->{inf}->{admin}->{ServerAdminPwd} = $pwd;
+ }
+
+ return 1;
+}
+
sub checkRequiredParameters {
my $setup = shift;
- for my $asparam (qw(Port SysUser ServerAdminID ServerAdminPwd)) {
+ for my $asparam (qw(ServerIpAddress Port SysUser ServerAdminID ServerAdminPwd)) {
if (!defined($setup->{inf}->{admin}->{$asparam})) {
$setup->msg($FATAL, "missing_adminserver_param", $asparam);
return 0;
}
}
- for my $general (qw(SuiteSpotUserID SuiteSpotGroup ConfigDirectoryLdapURL)) {
+ for my $general (qw(AdminDomain SuiteSpotUserID SuiteSpotGroup
ConfigDirectoryLdapURL)) {
if (!defined($setup->{inf}->{General}->{$general})) {
$setup->msg($FATAL, "missing_general_param", $general);
return 0;
@@ -434,6 +469,10 @@
$setup->msg('begin_create_adminserver');
}
+ if (!setDefaults($setup)) {
+ return 0;
+ }
+
if (!checkRequiredParameters($setup)) {
return 0;
}
Index: setup-ds-admin.pl.in
===================================================================
RCS file: /cvs/dirsec/adminserver/admserv/newinst/src/setup-ds-admin.pl.in,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -r1.14 -r1.15
--- setup-ds-admin.pl.in 27 Feb 2009 14:33:27 -0000 1.14
+++ setup-ds-admin.pl.in 8 Apr 2009 22:47:43 -0000 1.15
@@ -30,6 +30,7 @@
use AdminUtil;
use AdminServer;
use Util;
+use Net::Domain qw(hostfqdn);
my $res = new Resource("@propertydir(a)/setup-ds.res",
"@propertydir(a)/setup-ds-admin.res");
@@ -93,6 +94,14 @@
$setup->{inf}->{slapd}->{SlapdConfigForMC} = 0;
}
$setup->{reconfigas} = 1; # allow AS reconfig
+} else {
+ # default to creating the config DS
+ unless (defined($setup->{inf}->{slapd}->{UseExistingMC})) {
+ $setup->{inf}->{slapd}->{UseExistingMC} = 0;
+ }
+ unless (defined($setup->{inf}->{slapd}->{SlapdConfigForMC})) {
+ $setup->{inf}->{slapd}->{SlapdConfigForMC} = "yes";
+ }
}
# do not allow reconfig (setup -r) if no setup has been done
@@ -145,6 +154,7 @@
}
}
+# set default values
my $createconfigds;
if ((defined($setup->{inf}->{slapd}->{SlapdConfigForMC}) and
("yes" =~ /^$setup->{inf}->{slapd}->{SlapdConfigForMC}/i)) or
@@ -159,6 +169,24 @@
$createconfigds = 1;
}
+if (!defined($setup->{inf}->{General}->{ConfigDirectoryAdminID})) {
+ $setup->{inf}->{General}->{ConfigDirectoryAdminID} = "admin";
+}
+
+if (!defined($setup->{inf}->{General}->{AdminDomain})) {
+ my $admindomain = $setup->{inf}->{General}->{FullMachineName} ||
+ hostfqdn;
+ $admindomain =~ s/^[^\.]*\.//; # just the domain part
+ $setup->{inf}->{General}->{AdminDomain} = $admindomain;
+}
+
+if (!defined($setup->{inf}->{General}->{SuiteSpotGroup})) {
+ $setup->{inf}->{General}->{SuiteSpotGroup} = "@httpdgroup@";
+}
+
+# for admin server too, since ServerAdminID is used by AdminUtil code
+AdminServer::setDefaults($setup);
+
$setup->{inf}->write();
my @errs;
Show replies by date