Login
[x]
Log in using an account from:
Fedora Account System
Red Hat Associate
Red Hat Customer
Or login using a Red Hat Bugzilla account
Forgot Password
Login:
Hide Forgot
Create an Account
Red Hat Bugzilla – Attachment 156834 Details for
Bug 237356
Move DS Admin Code into Admin Server
[?]
New
Simple Search
Advanced Search
My Links
Browse
Requests
Reports
Current State
Search
Tabular reports
Graphical reports
Duplicates
Other Reports
User Changes
Plotly Reports
Bug Status
Bug Severity
Non-Defaults
|
Product Dashboard
Help
Page Help!
Bug Writing Guidelines
What's new
Browser Support Policy
5.0.4.rh83 Release notes
FAQ
Guides index
User guide
Web Services
Contact
Legal
This site requires JavaScript to be enabled to function correctly, please enable it.
cvs diff Makefile.am and new files (including server registration script)
as.diffs (text/plain), 51.37 KB, created by
Noriko Hosoi
on 2007-06-12 23:40:10 UTC
(
hide
)
Description:
cvs diff Makefile.am and new files (including server registration script)
Filename:
MIME Type:
Creator:
Noriko Hosoi
Created:
2007-06-12 23:40:10 UTC
Size:
51.37 KB
patch
obsolete
>Index: Makefile.am >=================================================================== >RCS file: /cvs/dirsec/adminserver/Makefile.am,v >retrieving revision 1.7 >diff -t -w -U4 -r1.7 Makefile.am >--- Makefile.am 8 Jun 2007 22:49:18 -0000 1.7 >+++ Makefile.am 12 Jun 2007 23:25:32 -0000 >@@ -110,22 +110,34 @@ > -DBUILD_NUM=$(BUILDNUM) -DINFDIR=\"$(infdir)\" -DCGIBINDIR=\"$(cgibindir)\" > > lib_LTLIBRARIES = libds-admin-serv.la > >+noinst_LIBRARIES = libdsa.a >+ > DEFAULT_LIBS = libds-admin-serv.la @adminutil_lib@ -ladmsslutil@adminutil_ver@ -ladminutil@adminutil_ver@ \ > @icu_lib@ -licui18n -licuuc -licudata @ldapsdk_lib@ -lssldap60 -lprldap60 -lldap60 -lldif60 \ > @nss_lib@ -lsmime3 -lssl3 -lnss3 @nspr_lib@ -lnspr4 -lplc4 > > SETUPUTIL_LIBS = @setuputil_lib@ -ldsinstall > >-ldif_DATA = admserv/schema/ldif/admintasks.ldif admserv/schema/ldif/adminglobal.ldif >+ldif_DATA = admserv/schema/ldif/00nsroot_backend.ldif.tmpl \ >+ admserv/schema/ldif/01nsroot.ldif.tmpl \ >+ admserv/schema/ldif/02globalpreferences.ldif.tmpl \ >+ admserv/schema/ldif/10dsdata.ldif.tmpl \ >+ admserv/schema/ldif/11dstasks.ldif.tmpl \ >+ admserv/schema/ldif/20asdata.ldif.tmpl \ >+ admserv/schema/ldif/21astasks.ldif.tmpl \ >+ admserv/schema/ldif/22ascommands.ldif.tmpl > >-inf_DATA = admserv/newinst/src/admin.inf >+inf_DATA = admserv/newinst/src/admin.inf admserv/newinst/src/register_param.map > > cgibin_PROGRAMS = mergeConfig admpw security ugdsconfig ReadLog start_config_ds \ > config statpingserv viewdata dsconfig monreplication restartsrv \ >- statusping viewlog htmladmin sec-activate stopsrv download help >+ statusping viewlog htmladmin sec-activate stopsrv download help \ >+ ds_start ds_restart ds_shutdown ds_ldif2db ds_db2ldif ds_bak2db \ >+ ds_db2bak ds_listdb ds_rmdb ds_remove ds_snmpctrl ds_vlvindex ds_addindex > >+bin_SCRIPTS = admserv/newinst/src/register_server.pl > cgibin_SCRIPTS = admserv/cgi-src40/Cgi.pm > nodist_cmdbin_SCRIPTS = admserv/cfgstuff/start-ds-admin admserv/cfgstuff/stop-ds-admin admserv/cfgstuff/restart-ds-admin > > cmdbin_SCRIPTS = admserv/newinst/src/setup-ds-admin.pl >@@ -135,8 +147,24 @@ > perl_SCRIPTS = admserv/newinst/src/ASDialogs.pm > > libds_admin_serv_la_SOURCES = $(libbase_a_SOURCES) $(libsi18n_a_SOURCES) $(libadmin_a_SOURCES) > >+libdsa_a_SOURCES = lib/libdsa/dsalib_conf.c \ >+ lib/libdsa/dsalib_debug.c \ >+ lib/libdsa/dsalib_ldif.c \ >+ lib/libdsa/dsalib_tailf.c \ >+ lib/libdsa/dsalib_confs.c \ >+ lib/libdsa/dsalib_dn.c \ >+ lib/libdsa/dsalib_location.c \ >+ lib/libdsa/dsalib_updown.c \ >+ lib/libdsa/dsalib_db.c \ >+ lib/libdsa/dsalib_filename.c \ >+ lib/libdsa/dsalib_pw.c \ >+ lib/libdsa/dsalib_util.c >+ >+libdsa_a_CPPFLAGS = $(AM_CPPFLAGS) -I$(srcdir)/include/libdsa @ldapsdk_inc@ @nss_inc@ @nspr_inc@ >+libdsa_a_LIBADD = $(LDAPSDK_LINK) $(SASL_LINK) $(NSS_LINK) $(NSPR_LINK) >+ > # source files for our CGI programs > download_SOURCES = admserv/cgi-src40/download.c > > help_SOURCES = admserv/cgi-src40/help.c >@@ -188,8 +216,61 @@ > htmladmin_LDADD = $(DEFAULT_LIBS) > sec_activate_LDADD = $(DEFAULT_LIBS) > stopsrv_LDADD = $(DEFAULT_LIBS) > >+# ds admin interfaces >+ds_start_SOURCES = admserv/cgi-ds/start.c admserv/cgi-ds/init_ds_env.c >+ds_start_CPPFLAGS = -I$(srcdir)/include/libdsa $(AM_CPPFLAGS) >+ds_start_LDADD = libdsa.a $(DEFAULT_LIBS) >+ >+ds_restart_SOURCES = admserv/cgi-ds/restart.c admserv/cgi-ds/init_ds_env.c >+ds_restart_CPPFLAGS = -I$(srcdir)/include/libdsa $(AM_CPPFLAGS) >+ds_restart_LDADD = libdsa.a $(DEFAULT_LIBS) >+ >+ds_shutdown_SOURCES = admserv/cgi-ds/shutdown.c admserv/cgi-ds/init_ds_env.c >+ds_shutdown_CPPFLAGS = -I$(srcdir)/include/libdsa $(AM_CPPFLAGS) >+ds_shutdown_LDADD = libdsa.a $(DEFAULT_LIBS) >+ >+ds_ldif2db_SOURCES = admserv/cgi-ds/ds_ldif2db.c admserv/cgi-ds/init_ds_env.c >+ds_ldif2db_CPPFLAGS = -I$(srcdir)/include/libdsa $(AM_CPPFLAGS) >+ds_ldif2db_LDADD = libdsa.a $(DEFAULT_LIBS) >+ >+ds_db2ldif_SOURCES = admserv/cgi-ds/ds_db2ldif.c admserv/cgi-ds/init_ds_env.c >+ds_db2ldif_CPPFLAGS = -I$(srcdir)/include/libdsa $(AM_CPPFLAGS) >+ds_db2ldif_LDADD = libdsa.a $(DEFAULT_LIBS) >+ >+ds_bak2db_SOURCES = admserv/cgi-ds/ds_bak2db.c admserv/cgi-ds/init_ds_env.c >+ds_bak2db_CPPFLAGS = -I$(srcdir)/include/libdsa $(AM_CPPFLAGS) >+ds_bak2db_LDADD = libdsa.a $(DEFAULT_LIBS) >+ >+ds_db2bak_SOURCES = admserv/cgi-ds/ds_db2bak.c admserv/cgi-ds/init_ds_env.c >+ds_db2bak_CPPFLAGS = -I$(srcdir)/include/libdsa $(AM_CPPFLAGS) >+ds_db2bak_LDADD = libdsa.a $(DEFAULT_LIBS) >+ >+ds_listdb_SOURCES = admserv/cgi-ds/ds_listdb.c admserv/cgi-ds/init_ds_env.c >+ds_listdb_CPPFLAGS = -I$(srcdir)/include/libdsa $(AM_CPPFLAGS) >+ds_listdb_LDADD = libdsa.a $(DEFAULT_LIBS) >+ >+ds_rmdb_SOURCES = admserv/cgi-ds/ds_rmdb.c admserv/cgi-ds/init_ds_env.c >+ds_rmdb_CPPFLAGS = -I$(srcdir)/include/libdsa $(AM_CPPFLAGS) >+ds_rmdb_LDADD = libdsa.a $(DEFAULT_LIBS) >+ >+ds_remove_SOURCES = admserv/cgi-ds/ds_remove.c admserv/cgi-ds/init_ds_env.c >+ds_remove_CPPFLAGS = -I$(srcdir)/include/libdsa $(AM_CPPFLAGS) >+ds_remove_LDADD = libdsa.a $(DEFAULT_LIBS) >+ >+ds_snmpctrl_SOURCES = admserv/cgi-ds/ds_snmpctrl.c admserv/cgi-ds/init_ds_env.c >+ds_snmpctrl_CPPFLAGS = -I$(srcdir)/include/libdsa $(AM_CPPFLAGS) >+ds_snmpctrl_LDADD = libdsa.a $(DEFAULT_LIBS) >+ >+ds_vlvindex_SOURCES = admserv/cgi-ds/vlvindex.c admserv/cgi-ds/init_ds_env.c >+ds_vlvindex_CPPFLAGS = -I$(srcdir)/include/libdsa $(AM_CPPFLAGS) >+ds_vlvindex_LDADD = libdsa.a $(DEFAULT_LIBS) >+ >+ds_addindex_SOURCES = admserv/cgi-ds/addindex.c admserv/cgi-ds/init_ds_env.c >+ds_addindex_CPPFLAGS = -I$(srcdir)/include/libdsa $(AM_CPPFLAGS) >+ds_addindex_LDADD = libdsa.a $(DEFAULT_LIBS) >+ > # setup special > ds_admin_config_LDADD = $(SETUPUTIL_LIBS) $(DEFAULT_LIBS) @curses_lib@ > ds_admin_remove_LDADD = $(SETUPUTIL_LIBS) $(DEFAULT_LIBS) > ds_admin_update_LDADD = $(SETUPUTIL_LIBS) $(DEFAULT_LIBS) >@@ -306,12 +387,14 @@ > -e 's,@instconfigdir\@,$(instconfigdir),g' \ > -e 's,@instancename\@,$(instancename),g' \ > -e 's,@BUILD_NUM\@,$(BUILDNUM),g' \ > -e 's,@NQBUILD_NUM\@,$(NQBUILDNUM),g' \ >+ -e 's,@PACKAGE_BASE_NAME\@,$(PACKAGE_BASE_NAME),g' \ > -e 's,@PACKAGE_VERSION\@,$(PACKAGE_VERSION),g' \ > -e 's,@brand\@,$(brand),g' \ > -e 's,@capbrand\@,$(capbrand),g' \ > -e 's,@vendor\@,$(vendor),g' \ >+ -e 's,@helpdir\@,$(helpdir),g' \ > -e 's,@mimemagic\@,$(mimemagic),g' \ > -e 's,@perldir\@,$(perldir),g' > > # because the source may be either httpd.conf.in or httpd-2.2.conf.in > >===================================================== >admserv/newinst/src/register_param.map.in >===================================================== ># BEGIN COPYRIGHT BLOCK ># This Program is free software; you can redistribute it and/or modify it under ># the terms of the GNU General Public License as published by the Free Software ># Foundation; version 2 of the License. ># ># This Program is distributed in the hope that it will be useful, but WITHOUT ># ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS ># FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. ># ># You should have received a copy of the GNU General Public License along with ># this Program; if not, write to the Free Software Foundation, Inc., 59 Temple ># Place, Suite 330, Boston, MA 02111-1307 USA. ># ># In addition, as a special exception, Red Hat, Inc. gives You the additional ># right to link the code of this Program with code not covered under the GNU ># General Public License ("Non-GPL Code") and to distribute linked combinations ># including the two, subject to the limitations in this paragraph. Non-GPL Code ># permitted under this exception must only link to the code of this Program ># through those well defined interfaces identified in the file named EXCEPTION ># found in the source code files (the "Approved Interfaces"). The files of ># Non-GPL Code may instantiate templates or use macros or inline functions from ># the Approved Interfaces without causing the resulting work to be covered by ># the GNU General Public License. Only Red Hat, Inc. may make changes or ># additions to the list of Approved Interfaces. You must obey the GNU General ># Public License in all respects for all of the Program code and other code used ># in conjunction with the Program except the Non-GPL Code covered by this ># exception. If you modify this file, you may extend this exception to your ># version of the file, but you are not obligated to do so. If you do not wish to ># provide this exception without modification, you must delete this exception ># statement from your version and license this file solely under the GPL without ># exception. ># ># ># Copyright (C) 2007 Red Hat, Inc. ># All rights reserved. ># END COPYRIGHT BLOCK ># ># register_param.map: ># This file is used by the register_server.pl script to register the server ># info to the Configuration Directory Server. The server info is stored in ># the (template) ldif files located in @ldifdir@. In case a server entry has ># %...% format parameters, this map table is used to resolve it and replace ># the parameter with the value defined in this file. ># ># [Parameter resolution rules] ># * If the right-hand value is in ` (backquote), the value is eval'ed by perl. ># The output should be stored in $returnvalue to pass to the internal hash. ># * If the right-hand value is in " (doublequote), the value is passed as is. ># * If the right-hand value is not in any quote, the value should be found ># in either of the setup inf file (static) or the install inf file (dynamic). ># * Variables surrounded by @ (e.g., @configdir@) are replaced with the ># system path at the compile time. ># * The right-hand value can contain variables surrounded by % (e.g., %asid%) ># which refers the right-hand value (key) of this map file. ># >fqdn = `use Net::Domain qw(hostfqdn); $returnvalue = hostfqdn();` >domain = `use Net::Domain qw(hostdomain); $returnvalue = hostdomain();` >brand = Brand >normbrand = NormBrand >hostname = `use Net::Domain qw(hostname); $returnvalue = hostname();` >vendor = Vendor >uname_a = `open(UNAMEA, "uname -a |"); $returnvalue = <UNAMEA>; chomp $returnvalue; close(UNAMEA);` >uname_m = `open(UNAMEM, "uname -m |"); $returnvalue = <UNAMEM>; chomp $returnvalue; close(UNAMEM);` >configroot = "CONFIG ROOT -- replace me" > >as_uid = ServerAdminID >as_passwd = ServerAdminPwd >asid = `use Net::Domain qw(hostname); $returnvalue = hostname();` >as_port = Port >admpw = "@configdir@/admpw" >as_error = "@logdir@/errors" >as_access = "@logdir@/access" >as_pid = "@pidfile@" >as_console_jar = "%normbrand%-admserv-%as_version%.jar" >as_help_path = "@helpdir@" >as_user = SysUser >as_version = Version >as_buildnum = BuildNumber >as_installedlocation = "AS INSTALLED LOCATION -- replace me" >as_serverroot = "AS SERVER ROOT-- replace me" >as_sie = "cn=admin-serv-%asid%, cn=%brand% Administration Server, cn=Server Group, cn=%fqdn%, ou=%domain%, o=NetscapeRoot" > >ds_version = Version >dsid = ServerIdentifier >ds_user = SuiteSpotUserID >ds_port = ServerPort >ds_secure_port ="636" >rootdn = RootDN >ds_suffix = Suffix >ds_buildnum = BuildNumber >ds_passwd = RootDNPwd >ds_console_jar ="%normbrand%-ds-%ds_version%.jar" >ds_installedlocation = "DS INSTALLED LOCATION -- replace me" >ds_serverroot = "DS SERVER ROOT-- replace me" >ds_sie = "cn=slapd-%dsid%, cn=%brand% Directory Server, cn=Server Group, cn=%fqdn%, ou=%domain%, o=NetscapeRoot" > >===================================================== >admserv/newinst/src/register_server.pl.in >===================================================== ># BEGIN COPYRIGHT BLOCK ># This Program is free software; you can redistribute it and/or modify it under ># the terms of the GNU General Public License as published by the Free Software ># Foundation; version 2 of the License. ># ># This Program is distributed in the hope that it will be useful, but WITHOUT ># ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS ># FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. ># ># You should have received a copy of the GNU General Public License along with ># this Program; if not, write to the Free Software Foundation, Inc., 59 Temple ># Place, Suite 330, Boston, MA 02111-1307 USA. ># ># In addition, as a special exception, Red Hat, Inc. gives You the additional ># right to link the code of this Program with code not covered under the GNU ># General Public License ("Non-GPL Code") and to distribute linked combinations ># including the two, subject to the limitations in this paragraph. Non-GPL Code ># permitted under this exception must only link to the code of this Program ># through those well defined interfaces identified in the file named EXCEPTION ># found in the source code files (the "Approved Interfaces"). The files of ># Non-GPL Code may instantiate templates or use macros or inline functions from ># the Approved Interfaces without causing the resulting work to be covered by ># the GNU General Public License. Only Red Hat, Inc. may make changes or ># additions to the list of Approved Interfaces. You must obey the GNU General ># Public License in all respects for all of the Program code and other code used ># in conjunction with the Program except the Non-GPL Code covered by this ># exception. If you modify this file, you may extend this exception to your ># version of the file, but you are not obligated to do so. If you do not wish to ># provide this exception without modification, you must delete this exception ># statement from your version and license this file solely under the GPL without ># exception. ># ># ># Copyright (C) 2007 Red Hat, Inc. ># All rights reserved. ># END COPYRIGHT BLOCK ># ># Usage: register_server.pl [ -h <host> ] [ -p <port> ] [ -D <rootdn> ] \ ># -w <rootdnpw> [ -d <default_infdir> ] \ ># -i <inffile(s)> -m <mapfile> <ldiffile> ... ># ># Description: Store server info stored in the ldiffiles to the Configuration ># Directory Server replacing the macros with the defined values ># in the map file. ># ># -h <host>: configuration server host (localhost, by default) ># -p <port>: configuration server port (389) ># -D <rootdn>: configuration server's rootdn ("cn=Directory Manager") ># -w <rootdnpw>: configuration server's rootdn password ># -d <default_infdir>: the directory where static .inf files are located ># ("/usr/share/fedora-ds/inf") ># -i <inffile(s)>: dynamic .inf file(s) ># -m <mapfile>: map file name ># <ldiffile> ...: ldif file(s) or template ldif file(s) to be stored in ># the Configuration Directory Server > >use Getopt::Std; >use Net::Domain qw(hostname); ># PERLDAP modules >use Mozilla::LDAP::Conn; >use Mozilla::LDAP::Entry; ># Setup Inf module >use Inf; > ># process map table ># [map table sample] ># fqdn = FullMachineName ># hostname = `use Sys::Hostname; $returnvalue = hostname();` ># ds_console_jar ="%normbrand%-ds-%ds_version%.jar" ># ># * If the right-hand value is in ` (backquote), the value is eval'ed by perl. ># The output should be stored in $returnvalue to pass to the internal hash. ># * If the right-hand value is in " (doublequote), the value is passed as is. ># * If the right-hand value is not in any quote, the value should be found ># in either of the setup inf file (static) or the install inf file (dynamic). ># * Variables surrounded by @ (e.g., @admin_confdir@) are replaced with the ># system path at the compile time. ># * The right-hand value can contain variables surrounded by % (e.g., %asid%) ># which refers the right-hand value (key) of this map file. >sub process_maptbl >{ > ($mapper, @infdata) = @_; > > foreach $section (keys %{$mapper}) > { > my $thissection = \%{%{$mapper}->{$section}}; > foreach $key (keys %{$thissection}) > { > my $value = $thissection->{$key}; > if ($value =~ /^\"/) > { > $value =~ tr/\"//d; > $thissection->{$key} = $value; > } > elsif ($value =~ /^\`/) > { > $value =~ tr/\`//d; > eval $value; > $thissection->{$key} = $returnvalue; > } > else > { > my $infsection; > foreach my $thisinf (@infdata) > { > foreach my $section0 (keys %{$thisinf}) > { > $infsection = \%{%{$thisinf}->{$section0}}; > if ("" ne $infsection->{$value}) > { > $thissection->{$key} = $infsection->{$value}; > goto nextkey; > } > } > } > if ("" eq $infsection->{$value}) > { > print "ERROR: $value not found in the .inf files\n"; > return NULL; > } > } >nextkey: > } > } > return $mapper; >} > ># delete the subtree starting from the passed entry >sub delete_all >{ > my ($conn, $bentry) = @_; > my $sentry = $conn->search($bentry->{dn}, > "subtree", "(objectclass=*)", 0, ("dn")); > while ($sentry) { > push @mystack, ($sentry); > $sentry = $conn->nextEntry(); > } > # reverse order > my $myentry = pop @mystack; > while ($myentry) { > $conn->delete($myentry->{dn}); > $rc = $conn->getErrorCode(); > if ( $rc ne 0 ) { > $conn->printError(); > print "ERROR: unable to delete entry, error code: $rc\n"; > return 1; > } > $myentry = pop @mystack; > } > return 0; >} > >@ignorelist = ( > "modifyTimestamp", > "createTimestamp", > "installationTimestamp", > "creatorsName", > "modifiersName", > "numSubordinates" >); > >@speciallist = ( > "uniqueMember" >); > >sub is_in_array >{ > my ($val, $array) = @_; > foreach my $elem ($array) > { > if ( lc($val) eq lc($elem) ) > { > return 1; > } > } > return 0; >} > ># compare 2 entries ># return 0 if they match 100% (exception: @ignorelist). ># return 1 if they match except @speciallist. ># return -1 if they do not match. >sub comp_entries >{ > my ($e0, $e1) = @_; > $rc = 0; > foreach $akey ( keys %{$e0} ) > { > next if ( 1 == is_in_array($akey, @ignorelist) ); > $aval0 = $e0->{$akey}; > $aval1 = $e1->{$akey}; > my $amin; > my $amax; > if ( $#aval0 != $#aval1 ) > { > if ( 1 == is_in_array($akey, @speciallist) ) > { > $rc = 1; > if ( $#aval0 < $#aval1 ) > { > $amin = $#aval0; > $amax = $#aval1; > } > else > { > $amin = $#aval1; > $amax = $#aval0; > } > } > else > { > $rc = -1; > return $rc; > } > } > @sval0 = sort { $a cmp $b } @{$aval0}; > @sval1 = sort { $a cmp $b } @{$aval1}; > for ( my $i = 0; $i <= $amin; $i++ ) > { > my $isspecial = -1; > if ( $sval0[$i] ne $sval1[$i] ) > { > if ( 0 > $isspecial ) > { > $isspecial = is_in_array($akey, @speciallist); > } > if ( $isspecial ) > { > $rc = 1; > } > else > { > $rc = -1; > return $rc; > } > } > } > } > return $rc; >} > ># if the entry does not exist on the server, add the entry. ># otherwise, do nothing >sub check_and_add_entry >{ > my ($conn, $aentry) = @_; > my $sentry = $conn->search($aentry->{dn}, "base", "(objectclass=*)"); > do > { > my $needtoadd = 1; > my $needtomod = 0; > my $rval = -1; > if ( NULL != $sentry && !$confds_fresh ) > { > $rval = comp_entries( $sentry, $aentry ); > } > if ( 0 == $rval && !$confds_fresh ) > { > # the identical entry exists on the configuration DS. > # no need to add the entry. > $needtoadd = 0; > goto out; > } > elsif ( 1 == $rval && !$confds_fresh ) > { > $needtoadd = 0; > $needtomod = 1; > } > elsif ( NULL != $sentry && "" ne $sentry->{dn} ) > { > # $confds_fresh || $rval == -1 > # an entry having the same DN exists, but the attributes do not > # match. remove the entry and the subtree underneath. > if ( $confds_verbose ) > { > print "Deleting an entry dn: $sentry->{dn} ...\n"; > } > $rval = delete_all($conn, $sentry); > if ( 0 != $rval ) > { > return 1; > } > } > > if ( 1 == $needtoadd ) > { > $conn->add($aentry); > my $rc = $conn->getErrorCode(); > if ( $rc != 0 ) > { > print "ERROR: adding an entry $aentry->{dn} failed, error code: $rc\n"; > print "[entry]\n"; > $aentry->printLDIF(); > $conn->close(); > return 1; > } ># if ( $confds_verbose ) ># { ># print "Entry $aentry->{dn} is added\n"; ># } > } > elsif ( 1 == $needtomod ) # $sentry exists > { > foreach $attr ( @speciallist ) > { > foreach $nval ( @{$aentry->{$attr}} ) > { > $sentry->addValue( $attr, $nval ); > } > } > $conn->update($sentry); > my $rc = $conn->getErrorCode(); > if ( $rc != 0 ) > { > print "ERROR: updating an entry $sentry->{dn} failed, error code: $rc\n"; > print "[entry]\n"; > $aentry->printLDIF(); > $conn->close(); > return 1; > } > } > if ( NULL != $sentry ) > { > $sentry = $conn->nextEntry(); # supposed to have no more entries > } > } until ( NULL == $sentry ); >out: > return 0; >} > ># register server info from the template ldif files >sub register_serverinfo >{ > my ($conn, $mapper, @ldiffiles) = @_; > my $thissection = \%{%{$mapper}->{""}}; > > foreach my $ldiffile (@ldiffiles) > { > open(MYLDIF, "< $ldiffile") or die "Can't open $ldiffile : $!"; > if ( $confds_verbose ) > { > print "Processing $ldiffile ...\n"; > } > my $entry = NULL; > while ( my $l = <MYLDIF> ) > { > chop $l; > if ( "$l" eq "" ) > { > next if ( NULL == $entry ); > check_and_add_entry($conn, $entry); > $entry->DESTROY(); > $entry = NULL; > } > elsif ( "$l" =~ /^dn:/ ) > { > $entry = new Mozilla::LDAP::Entry(); > my ($h, $dn) = split(/: /, $l, 2); > # Need to repeat to handle nested subst > my $origdn = $dn; > while ( $dn =~ /%([A-Za-z_]+)%/ ) > { > $dn =~ s{%([A-Za-z_]+)%}{$thissection->{$1} || "SERVER_INFO_NOTFOUND"}ge; > } > if ( $dn =~ /SERVER_INFO_NOTFOUND/ ) > { > print "ERROR: \"$origdn\" mapped to \"$dn\".\n"; > print "Make sure that %value% replaced by SERVER_INFO_NOTFOUND exists in $mapfile.\n"; > return 1; > } > $entry->setDN($dn); > } > else > { > my ($key, $value) = split(/: /, $l, 2); > # Need to repeat to handle nested subst > my $origvalue = $value; > while ( $value =~ /%([A-Za-z_]+)%/ ) > { > $value =~ s{%([A-Za-z_]+)%}{$thissection->{$1} || "SERVER_INFO_NOTFOUND"}ge; > } > if ( $value =~ /SERVER_INFO_NOTFOUND/ ) > { > print "ERROR: \"$origvalue\" mapped to \"$value\"\n"; > print "Make sure that %value% replaced by SERVER_INFO_NOTFOUND exists in $mapfile.\n"; > return 1; > } > $entry->addValue( $key, "$value" ) > } > } > close(MYLDIF); > if ( NULL != $entry ) > { > check_and_add_entry($conn, $entry); > $entry->DESTROY(); > $entry = NULL; > } > } > > return 0; >} > >$USAGE = >"$0 [ -Fv ] [ -h <host> ] [ -p <port> ] [ -D <rootdn> ] \ > -w <rootdnpw> [ -d <default_infdir> ] \ > -i <inffile(s)> ... -m <mapfile> <ldiffile> ... > > Description: Store server info stored in the ldiffiles to the Configuration > Directory Server replacing the macros with the defined values > in the map file. > > -H: help (print this message) > -v: verbose > -F: Fresh registration; i.e., removing the existing server info. > -h <host>: configuration server host (localhost, by default) > -p <port>: configuration server port (389) > -D <rootdn>: configuration server's rootdn (\"cn=Directory Manager\") > -w <rootdnpw>: configuration server's rootdn password > -d <default_infdir>: the directory where static .inf files are located > (\"/usr/share/@PACKAGE_BASE_NAME@/inf\") > -i <inffile(s)>: dynamic .inf file(s) > -m <mapfile>: map file name > <ldiffile> ...: ldif files or template ldif files to be stored in the > Configuration Directory Server"; > >if ($#ARGV < 0 || !getopts('HFvh:p:D:w:d:m:i:') || $opt_H) >{ > print "Usage: $USAGE\n"; > exit 1; >} > >$confds_verbose = $opt_v; >$confds_fresh = $opt_F; >$confds_host = $opt_h; >if ( "" eq $confds_host ) >{ > $confds_host = hostname(); >} >$confds_port = $opt_p; >if ( "" eq $confds_port ) >{ > $confds_port = 389; >} >$confds_rootdn = $opt_D; >if ( "" eq $confds_rootdn ) >{ > $confds_rootdn = "cn=Directory Manager"; >} >$confds_rootdnpw = $opt_w; >if ( "" eq $confds_rootdnpw ) >{ > print "ERROR: No root dn password\n"; > print "usage: $USAGE\n"; > exit 1; >} > >my $infdir = $opt_d; >if ( "" eq $infdir ) >{ > $infdir = "/usr/share/@PACKAGE_BASE_NAME@/inf"; >} > >my @inffiles = (); >if ( "" eq $opt_i ) >{ > print "ERROR: No dynamic .inf files\n"; > print "usage: $USAGE\n"; > exit 1; >} >else >{ > @inffiles = split(/[ ]/, $opt_i); >} > >my @ldiffiles = @ARGV; >if ( 0 > $#ldiffiles ) >{ > print "ERROR: No root ldif files\n"; > print "usage: $USAGE\n"; > exit 1; >} > >$mapfile = $opt_m; >if ( "" eq $mapfile ) >{ > print "ERROR: No mapfile\n"; > print "usage: $USAGE\n"; > exit 1; >} >if ( ! -r $mapfile ) >{ > print "ERROR: Cannot read $mapfile\n"; > print "usage: $USAGE\n"; > exit 1; >} > ># reading info files >@infdata = (); >opendir(DIR, $infdir) or die "Cannot open install inf dir $infdir: $!"; >while (defined($file = readdir(DIR))) >{ > next if ( !("$file" =~ /\.inf$/) ); > my $inffile = $infdir."/".$file; > my $infdatum = new Inf($inffile); > push(@infdata, ($infdatum)); >} >closedir(DIR); > ># open the ldap connection >$conn = new Mozilla::LDAP::Conn( $confds_host, $confds_port, > $confds_rootdn, $confds_rootdnpw ); >if ( NULL == $conn ) >{ > print "ERROR: Cannot connect to the server\n"; > exit 1; >} > ># eval map table for each dynamic .inf file >foreach my $thisinf (@inffiles) >{ > my $mapper = new Inf($mapfile); > my $infdatum = new Inf($thisinf); > push(@infdata, ($infdatum)); > $mapper = process_maptbl($mapper, @infdata); > if ( NULL eq $mapper ) > { > print "ERROR: failed to generate mapper\n"; > exit 1; > } > > # register server info > my $rc = register_serverinfo($conn, $mapper, @ldiffiles); > if ( 0 != $rc ) > { > print "ERROR: failed to register server info\n"; > return 1; > } > > pop @infdata; > # in case handling multiple server instances, > # need to turn it off from the second loop. > $confds_fresh = 0; >} > >$conn->close(); > >exit 0; > >===================================================== >admserv/schema/ldif/00nsroot_backend.ldif.tmpl >===================================================== >dn: cn="o=NetscapeRoot",cn=mapping tree,cn=config >objectClass: top >objectClass: extensibleObject >objectClass: nsMappingTree >cn: "o=NetscapeRoot" >nsslapd-state: backend >nsslapd-backend: NetscapeRoot > >===================================================== >admserv/schema/ldif/01nsroot.ldif.tmpl >===================================================== >dn: o=NetscapeRoot >objectClass: top >objectClass: organization >o: NetscapeRoot >aci: (targetattr="*")(version 3.0; acl "Enable Configuration Administrator Group modification"; allow (all) groupdn="ldap:///cn=Configuration Administrators, ou=Groups, ou=TopologyManagement, o=NetscapeRoot";) >aci: (targetattr="*")(targetfilter=(o=NetscapeRoot))(version 3.0; acl "Default anonymous access"; allow (read, search) userdn="ldap:///anyone";) >aci: (targetattr="*")(version 3.0; acl "Enable Group Expansion"; allow (read, search, compare) groupdnattr="uniquemember";) > >dn: ou=TopologyManagement, o=NetscapeRoot >objectClass: top >objectClass: organizationalunit >ou: TopologyManagement >description: Branch for Configuration Administration users and groups >aci: (targetattr!="userPassword")(version 3.0; acl "Enable anonymous access"; allow (read, search, compare)userdn="ldap:///anyone";) > >dn: ou=Groups, ou=TopologyManagement, o=NetscapeRoot >objectClass: top >objectClass: organizationalunit >ou: Groups >description: Standard Branch for group entries > >dn: ou=Administrators, ou=TopologyManagement, o=NetscapeRoot >objectClass: top >objectClass: organizationalunit >ou: Administrators >description: Standard branch for Configuration Administrator (uid) entries > >dn: cn=Configuration Administrators, ou=Groups, ou=TopologyManagement, o=NetscapeRoot >objectClass: top >objectClass: groupofuniquenames >cn: Configuration Administrators >uniqueMember: uid=%as_uid%,ou=Administrators, ou=TopologyManagement, o=NetscapeRoot > >dn: uid=%as_uid%, ou=Administrators, ou=TopologyManagement, o=NetscapeRoot >objectClass: top >objectClass: person >objectClass: organizationalperson >objectClass: inetorgperson >cn: Configuration Administrator >sn: Administrator >givenName: Configuration >uid: %as_uid% >userPassword: %as_passwd% > >dn: ou=localdomain, o=NetscapeRoot >objectClass: top >objectClass: organizationalunit >objectClass: nsadmindomain >ou: localdomain >description: Standard branch for configuration information >nsAdminDomainName: localdomain > >dn: ou=%domain%, o=NetscapeRoot >objectClass: top >objectClass: organizationalUnit >objectClass: nsadmindomain >ou: %domain% >description: Standard branch for configuration information >nsAdminDomainName: %domain% > >dn: ou=Global Preferences, ou=%domain%, o=NetscapeRoot >objectClass: top >objectClass: organizationalunit >ou: Global Preferences > >dn: ou=Host Preferences, ou=%domain%, o=NetscapeRoot >objectClass: top >objectClass: organizationalunit >ou: Host Preferences > >dn: ou=UserPreferences, ou=%domain%, o=NetscapeRoot >objectClass: top >objectClass: organizationalUnit >ou: UserPreferences > >dn: cn=%fqdn%, ou=%domain%, o=NetscapeRoot >objectClass: top >objectClass: nsHost >objectClass: groupOfUniqueNames >cn: %fqdn% >serverHostName: %fqdn% >nsOsVersion: %uname_a% >nsHardwarePlatform: %uname_m% >uniqueMember: cn=Server Group, cn=%fqdn%, ou=%domain%, o=NetscapeRoot > >dn: cn=Server Group, cn=%fqdn%, ou=%domain%, o=NetscapeRoot >objectClass: nsAdminGroup >objectClass: groupOfUniqueNames >objectClass: nsDirectoryInfo >objectClass: top >nsAdminGroupName: Server Group >nsConfigRoot: %configroot% >nsDirectoryInfoRef: cn=UserDirectory, ou=Global Preferences, ou=%domain%, o=NetscapeRoot >nsAdminSIEDN: cn=admin-serv-%asid%, cn=%brand% Administration Server, cn=Server Group, cn=%fqdn%, ou=%domain%, o=NetscapeRoot >cn: Server Group >uniqueMember: cn=%brand% Directory Server, cn=Server Group, cn=%fqdn%, ou=%domain%, o=NetscapeRoot >uniqueMember: cn=%brand% Administration Server, cn=Server Group, cn=%fqdn%, ou=%domain%, o=NetscapeRoot > >===================================================== >admserv/schema/ldif/02globalpreferences.ldif.tmpl >===================================================== >dn: ou=Admin, ou=Global Preferences, ou=%domain%, o=NetscapeRoot >objectClass: top >objectClass: organizationalUnit >objectClass: extensibleObject >ou: admin >nsmerge: ADD_IF_EMPTY > >dn: ou=%as_version%, ou=Admin, ou=Global Preferences, ou=%domain%, o=NetscapeRoot >objectClass: top >objectClass: organizationalunit >objectClass: extensibleObject >ou: %as_version% >nsmerge: ADD_IF_EMPTY > >dn: cn=ResourceEditorExtension, ou=%as_version%, ou=Admin, ou=Global Preferences, ou=%domain%, o=NetscapeRoot >objectClass: top >objectClass: nsResourceRef >objectClass: extensibleObject >cn: ResourceEditorExtension >nsmerge: ADD_IF_EMPTY > >dn: cn=nsroledefinition, cn=ResourceEditorExtension, ou=%as_version%, ou=Admin, ou=Global Preferences, ou=%domain%, o=NetscapeRoot >cn: nsroledefinition >objectClass: top >objectClass: extensibleObject >objectClass: nsResourceRef >objectClass: nsAdminResourceEditorExtension >objectClass: nsAdminObject >nsClassname: com.netscape.admin.dirserv.roledit.ResEditorRoleInfo@%ds_console_jar% >nsClassname: com.netscape.admin.dirserv.roledit.ResEditorRoleMembers@%ds_console_jar% >nsClassname: com.netscape.admin.dirserv.roledit.ResEditorRoleAccountPage@%ds_console_jar% >nsmerge: {nsclassname}MULTI_MERGE > >dn: cn=cossuperdefinition, cn=ResourceEditorExtension, ou=%as_version%, ou=Admin, ou=Global Preferences, ou=%domain%, o=NetscapeRoot >cn: cossuperdefinition >objectClass: top >objectClass: extensibleObject >objectClass: nsResourceRef >objectClass: nsAdminResourceEditorExtension >objectClass: nsAdminObject >nsClassname: com.netscape.admin.dirserv.cosedit.ResEditorCosInfo@%ds_console_jar% >nsClassname: com.netscape.admin.dirserv.cosedit.ResEditorCosAttributes@%ds_console_jar% >nsClassname: com.netscape.admin.dirserv.cosedit.ResEditorCosTemplate@%ds_console_jar% >nsmerge: {nsclassname}MULTI_MERGE > >dn: cn=UserDirectory, ou=Global Preferences, ou=%domain%, o=NetscapeRoot >objectClass: top >objectClass: nsDirectoryInfo >cn: UserDirectory >nsDirectoryURL: ldap://%fqdn%:%ds_port%/%ds_suffix% >nsDirectoryFailoverList: > >dn: cn=Common, ou=Global Preferences, ou=%domain%, o=NetscapeRoot >objectClass: top >objectClass: nsResourceRef >objectClass: nsGlobalParameters >objectClass: extensibleObject >cn: common >nsUniqueAttribute: uid >nsUserIDFormat: firstletter_lastname >nsUserRDNComponent: uid >nsGroupRDNComponent: cn >nsmerge: {nsuniqueattribute}ADD_IF_EMPTY >nsmerge: {nsuseridformat}ADD_IF_EMPTY >nsmerge: {nsuserrdncomponent}ADD_IF_EMPTY >nsmerge: {nsgrouprdncomponent}ADD_IF_EMPTY > >dn: cn=Client, ou=Admin, ou=Global Preferences, ou=%domain%, o=NetscapeRoot >objectClass: top >objectClass: nsResourceRef >objectClass: nsAdminGlobalParameters >objectClass: extensibleObject >cn: Client >nsAdminEndUserHTMLIndex: [--Category:general,General][--Option:edit.cgi?userpinfo,Personal Information][--Option:edit.cgi?userpasswd,Password] >nsNickName: admin,,%brand% Administration Server >nsNickName: slapd,slapd,%brand% Directory Server >nsNickName: cert,cert,%brand% Certificate Server >nsmerge: {nsadminenduserhtmlindex}MULTI_MERGE >nsmerge: {nsnickname}MULTI_MERGE > >dn: cn=PublicViews, ou=%as_version%, ou=Admin, ou=Global Preferences, ou=%domain%, o=NetscapeRoot >objectClass: top >objectClass: nsAdminConsoleUser >cn: PublicViews > >dn: cn=CustomView, ou=%as_version%, ou=Admin, ou=Global Preferences, ou=%domain%, o=NetscapeRoot >objectClass: top >objectClass: nsResourceRef >cn: CustomView > >dn: cn=inetorgPerson, cn=ResourceEditorExtension, ou=%as_version%, ou=Admin, ou=Global Preferences, ou=%domain%, o=NetscapeRoot >cn: inetorgPerson >objectClass: nsResourceRef >objectClass: nsAdminResourceEditorExtension >objectClass: top >objectClass: extensibleObject >objectClass: nsAdminObject >nsClassname: com.netscape.management.client.ug.ResEditorUserPage >nsClassname: com.netscape.management.client.ug.ResEditorAccountPage >nsClassname: com.netscape.management.client.ug.LanguagePage >nsClassname: com.netscape.management.client.ug.ResEditorNTUser >nsClassname: com.netscape.management.client.ug.ResEditorPosixUser >nsmerge: {nsclassname}MULTI_MERGE > >dn: cn=organizationalPerson, cn=ResourceEditorExtension, ou=%as_version%, ou=Admin, ou=Global Preferences, ou=%domain%, o=NetscapeRoot >cn: organizationalPerson >objectClass: nsResourceRef >objectClass: nsAdminResourceEditorExtension >objectClass: top >objectClass: extensibleObject >objectClass: nsAdminObject >nsClassname: com.netscape.management.client.ug.ResEditorUserPage >nsClassname: com.netscape.management.client.ug.ResEditorAccountPage >nsClassname: com.netscape.management.client.ug.LanguagePage >nsmerge: {nsclassname}MULTI_MERGE > >dn: cn=groupofuniquenames, cn=ResourceEditorExtension, ou=%as_version%, ou=Admin, ou=Global Preferences, ou=%domain%, o=NetscapeRoot >cn: groupofuniquenames >objectClass: nsResourceRef >objectClass: nsAdminResourceEditorExtension >objectClass: top >objectClass: extensibleObject >objectClass: nsAdminObject >nsClassname: com.netscape.management.client.ug.ResEditorGroupInfo >nsClassname: com.netscape.management.client.ug.ResEditorGroupMembers >nsClassname: com.netscape.management.client.ug.ResEditorAccountPage >nsClassname: com.netscape.management.client.ug.LanguagePage >nsmerge: {nsclassname}MULTI_MERGE > >dn: cn=organizationalunit, cn=ResourceEditorExtension, ou=%as_version%, ou=Admin, ou=Global Preferences, ou=%domain%, o=NetscapeRoot >cn: organizationalunit >objectClass: nsResourceRef >objectClass: nsAdminResourceEditorExtension >objectClass: top >objectClass: extensibleObject >objectClass: nsAdminObject >nsClassname: com.netscape.management.client.ug.OUPage >nsClassname: com.netscape.management.client.ug.LanguagePage >nsmerge: {nsclassname}MULTI_MERGE > >dn: cn=defaultObjectClassesContainer, ou=%as_version%, ou=Admin, ou=Global Preferences, ou=%domain%, o=NetscapeRoot >objectClass: top >objectClass: nsResourceRef >cn: DefaultObjectClassesContainer > >dn: cn=user, cn=defaultObjectClassesContainer, ou=%as_version%, ou=Admin, ou=Global Preferences, ou=%domain%, o=NetscapeRoot >objectClass: top >objectClass: nsResourceRef >objectClass: nsdefaultObjectClasses >cn: user >nsDefaultObjectClass: top >nsDefaultObjectClass: person >nsDefaultObjectClass: organizationalPerson >nsDefaultObjectClass: inetorgperson > >dn: cn=group, cn=defaultObjectClassesContainer, ou=%as_version%, ou=Admin, ou=Global Preferences, ou=%domain%, o=NetscapeRoot >objectClass: top >objectClass: nsResourceRef >objectClass: nsdefaultObjectClasses >cn: group >nsDefaultObjectClass: top >nsDefaultObjectClass: groupofuniquenames > >dn: cn=ou, cn=defaultObjectClassesContainer, ou=%as_version%, ou=Admin, ou=Global Preferences, ou=%domain%, o=NetscapeRoot >objectClass: top >objectClass: nsResourceRef >objectClass: nsdefaultObjectClasses >cn: ou >nsDefaultObjectClass: top >nsDefaultObjectClass: organizationalunit > >dn: cn=topologyplugin, ou=%as_version%, ou=Admin, ou=Global Preferences, ou=%domain%, o=NetscapeRoot >objectClass: top >objectClass: nsResourceRef >objectClass: extensibleObject >cn: topologyplugin >nsmerge: ADD_IF_EMPTY > >dn: cn=defaultplugin, cn=topologyplugin, ou=%as_version%, ou=Admin, ou=Global Preferences, ou=%domain%, o=NetscapeRoot >objectClass: top >objectClass: nstopologyplugin >objectClass: extensibleObject >objectClass: nsAdminObject >cn: defaultplugin >nsClassname: com.netscape.management.client.topology.DefaultTopologyPlugin >nsmerge: {nsclassname}MULTI_MERGE > >dn: cn=UI,ou=%as_version%, ou=Admin, ou=Global Preferences, ou=%domain%, o=NetscapeRoot >cn: UI >objectClass: top >objectClass: nsAdminConsoleUser > >===================================================== >admserv/schema/ldif/10dsdata.ldif.tmpl >===================================================== >dn: cn=%brand% Directory Server, cn=Server Group, cn=%fqdn%, ou=%domain%, o=NetscapeRoot >objectClass: nsApplication >objectClass: groupOfUniqueNames >objectClass: top >cn: %brand% Directory Server >nsProductName: %brand% Directory Server >nsProductVersion: %ds_version% >nsNickName: slapd >nsBuildNumber: %ds_buildnum% >nsVendor: %vendor% >nsInstalledLocation: %ds_installedlocation% >nsExpirationDate: 0 >nsBuildSecurity: domestic >uniqueMember: cn=slapd-%dsid%, cn=%brand% Directory Server, cn=Server Group, cn=%fqdn%, ou=%domain%, o=NetscapeRoot >nsServerMigrationClassname: com.netscape.admin.dirserv.task.MigrateCreate@%ds_console_jar%@cn=admin-serv-%asid%, cn=%brand% Administration Server, cn=Server Group, cn=%fqdn%, ou=%domain%, o=NetscapeRoot >nsServerCreationClassname: com.netscape.admin.dirserv.task.MigrateCreate@%ds_console_jar%@cn=admin-serv-%asid%, cn=%brand% Administration Server, cn=Server Group, cn=%fqdn%, ou=%domain%, o=NetscapeRoot > >dn: cn=slapd-%dsid%, cn=%brand% Directory Server, cn=Server Group, cn=%fqdn%, ou=%domain%, o=NetscapeRoot >objectClass: netscapeServer >objectClass: nsDirectoryServer >objectClass: nsResourceRef >objectClass: nsConfig >objectClass: groupOfUniqueNames >objectClass: top >nsServerSecurity: off >nsServerID: slapd-%dsid% >nsBindDN: %rootdn% >nsBaseDN: %ds_suffix% >serverRoot: %ds_serverroot% >nsServerPort: %ds_port% >nsSecureServerPort: %ds_secure_port% >serverProductName: Directory Server (%hostname%) >serverVersionNumber: %ds_version% >nsSuiteSpotUser: %ds_user% >serverHostName: %fqdn% >cn: slapd-%dsid% >uniqueMember: cn=slapd-%dsid%, cn=%brand% Directory Server, cn=Server Group, cn=%fqdn%, ou=%domain%, o=NetscapeRoot >uniqueMember: cn=admin-serv-%asid%, cn=%brand% Administration Server, cn=Server Group, cn=%fqdn%, ou=%domain%, o=NetscapeRoot >userPassword: %ds_passwd% > >dn: cn=configuration,cn=slapd-%dsid%, cn=%brand% Directory Server, cn=Server Group, cn=%fqdn%, ou=%domain%, o=NetscapeRoot >objectClass: nsResourceRef >objectClass: nsAdminObject >objectClass: nsDirectoryInfo >objectClass: top >cn: configuration >nsClassname: com.netscape.admin.dirserv.DSAdmin@%ds_console_jar%@cn=admin-serv-%asid%, cn=%brand% Administration Server, cn=Server Group, cn=%fqdn%, ou=%domain%, o=NetscapeRoot >nsJarfilename: @ds_console_jar@ >nsDirectoryInfoRef: cn=Server Group, cn=%fqdn%, ou=%domain%, o=NetscapeRoot > > >===================================================== >admserv/schema/ldif/11dstasks.ldif.tmpl >===================================================== >dn: cn=Tasks, %ds_sie% >objectClass: top >objectClass: nsResourceRef >cn: Tasks > >dn: cn=Operation, cn=Tasks, %ds_sie% >objectClass: top >objectClass: nstaskgroup >nsTaskLabel: Operation Tasks Group >cn: Operation > >dn: cn=task summary, cn=Operation, cn=Tasks, %ds_sie% >objectClass: top >objectClass: nsConfig >description: start stop restart Backup Restore KeyCert Authenticate CompleteImport CompleteExport >cn: task summary > >dn: cn=start, cn=Operation, cn=Tasks, %ds_sie% >objectClass: top >objectClass: nstask >objectClass: nsAdminObject >nsClassname: com.netscape.admin.dirserv.task.Start@%ds_console_jar%@%as_sie% >nsExecRef: ds_start >cn: start > >dn: cn=stop, cn=Operation, cn=Tasks, %ds_sie% >objectClass: top >objectClass: nstask >objectClass: nsAdminObject >nsClassname: com.netscape.admin.dirserv.task.Stop@%ds_console_jar%@%as_sie% >nsExecRef: ds_shutdown >cn: stop > >dn: cn=restart, cn=Operation, cn=Tasks, %ds_sie% >objectClass: top >objectClass: nstask >objectClass: nsAdminObject >nsClassname: com.netscape.admin.dirserv.task.Restart@%ds_console_jar%@%as_sie% >nsExecRef: ds_restart >cn: restart > >dn: cn=Backup, cn=operation, cn=Tasks, %ds_sie% >objectClass: top >objectClass: nstask >objectClass: nsAdminObject >nsClassname: com.netscape.admin.dirserv.task.Backup@%ds_console_jar%@%as_sie% >nsExecRef: ds_db2bak >cn: Backup > >dn: cn=Restore, cn=operation, cn=Tasks, %ds_sie% >objectClass: top >objectClass: nstask >objectClass: nsAdminObject >nsClassname: com.netscape.admin.dirserv.task.Restore@%ds_console_jar%@%as_sie% >nsExecRef: ds_bak2db >cn: Restore > >dn: cn=KeyCert, cn=operation, cn=Tasks, %ds_sie% >objectClass: top >objectClass: nstask >objectClass: nsAdminObject >nsClassname: com.netscape.admin.dirserv.task.KeyCert@%ds_console_jar%@%as_sie% >cn: KeyCert > >dn: cn=Authenticate, cn=operation, cn=Tasks, %ds_sie% >objectClass: top >objectClass: nstask >objectClass: nsAdminObject >nsClassname: com.netscape.admin.dirserv.task.Authenticate@%ds_console_jar%@%as_sie% >cn: Authenticate > >dn: cn=CompleteImport, cn=operation, cn=Tasks, %ds_sie% >objectClass: top >objectClass: nstask >objectClass: nsAdminObject >nsClassname: com.netscape.admin.dirserv.task.CompleteImport@%ds_console_jar%@%as_sie% >cn: CompleteImport > >dn: cn=CompleteExport, cn=operation, cn=Tasks, %ds_sie% >objectClass: top >objectClass: nstask >objectClass: nsAdminObject >nsClassname: com.netscape.admin.dirserv.task.CompleteExport@%ds_console_jar%@%as_sie% >cn: CompleteExport > >dn: cn=Export, cn=operation, cn=Tasks, %ds_sie% >objectClass: top >objectClass: nstask >objectClass: nsAdminObject >nsExecRef: ds_db2ldif >cn: Export > >dn: cn=Import, cn=operation, cn=Tasks, %ds_sie% >objectClass: top >objectClass: nstask >objectClass: nsAdminObject >nsExecRef: ds_ldif2db >cn: Import > >dn: cn=ViewLog, cn=operation, cn=Tasks, %ds_sie% >objectClass: top >objectClass: nstask >objectClass: nsAdminObject >nsExecRef: perl?ds_viewlog.pl >cn: ViewLog > >dn: cn=ListBackups, cn=operation, cn=Tasks, %ds_sie% >objectClass: top >objectClass: nstask >objectClass: nsAdminObject >nsExecRef: ds_listdb >cn: ListBackups > >dn: cn=Remove, cn=operation, cn=Tasks, %ds_sie% >objectClass: top >objectClass: nstask >objectClass: nsAdminObject >nsExecRef: ds_remove >cn: Remove > >dn: cn=CreateVLVIndex, cn=operation, cn=Tasks, %ds_sie% >objectClass: top >objectClass: nstask >objectClass: nsAdminObject >nsExecRef: ds_vlvindex >cn: CreateVLVIndex > >dn: cn=AddIndex, cn=operation, cn=Tasks, %ds_sie% >objectClass: top >objectClass: nstask >objectClass: nsAdminObject >nsExecRef: ds_addindex >cn: AddIndex > >dn: cn=SNMPCtrl, cn=operation, cn=Tasks, %ds_sie% >objectClass: top >objectClass: nstask >objectClass: nsAdminObject >nsExecRef: ds_snmpctrl >cn: SNMPCtrl > >dn: cn=Tasks, cn=%brand% Directory Server, cn=Server Group, cn=%fqdn%, ou=%domain%, o=NetscapeRoot >objectClass: top >objectClass: nsResourceRef >cn: Tasks > >dn: cn=Operation, cn=Tasks, cn=%brand% Directory Server, cn=Server Group, cn=%fqdn%, ou=%domain%, o=NetscapeRoot >objectClass: top >objectClass: nstaskgroup >nsTaskLabel: Operation Tasks Group >cn: Operation > >dn: cn=Migrate, cn=Operation, cn=Tasks, cn=%brand% Directory Server, cn=Server Group, cn=%fqdn%, ou=%domain%, o=NetscapeRoot >objectClass: top >objectClass: nstask >objectClass: nsAdminObject >nsExecRef: perl?migrateInstance >cn: Migrate > >dn: cn=Create, cn=Operation, cn=Tasks, cn=%brand% Directory Server, cn=Server Group, cn=%fqdn%, ou=%domain%, o=NetscapeRoot >objectClass: top >objectClass: nstask >objectClass: nsAdminObject >nsExecRef: ds_newinst >cn: Create > >dn: cn=GetConfigInfo, cn=Operation, cn=Tasks, cn=%brand% Directory Server, cn=Server Group, cn=%fqdn%, ou=%domain%, o=NetscapeRoot >objectClass: top >objectClass: nstask >objectClass: nsAdminObject >nsExecRef: perl?getConfigInfo >cn: GetConfigInfo > >dn: cn=MigrateLocalDB, cn=Operation, cn=Tasks, cn=%brand% Directory Server, cn=Server Group, cn=%fqdn%, ou=%domain%, o=NetscapeRoot >objectClass: top >objectClass: nstask >objectClass: nsAdminObject >nsExecRef: perl?migrateLocalDB >cn: MigrateLocalDB > > >===================================================== >admserv/schema/ldif/20asdata.ldif.tmpl >===================================================== >dn: cn=%brand% Administration Server, cn=Server Group, cn=%fqdn%, ou=%domain%, o=NetscapeRoot >objectClass: top >objectClass: nsApplication >objectClass: groupOfUniqueNames >cn: %brand% Administration Server >nsVendor: %vendor% >nsProductName: %brand% Administration Server >nsNickName: admin >nsProductVersion: %as_version% >nsBuildNumber: %as_buildnum% >nsInstalledLocation: %as_installedlocation% >nsBuildSecurity: domestic >nsServerMigrationClassname: com.netscape.management.admserv.AdminServerProduct > @%as_console_jar% >uniqueMember: cn=admin-serv-%asid%, cn=%brand% Administration Server, cn=Server Group, cn=%fqdn%, ou=%domain%, o=NetscapeRoot > >dn: cn=admin-serv-%asid%, cn=%brand% Administration Server, cn=Server Group, cn=%fqdn%, ou=%domain%, o=NetscapeRoot >objectClass: top >objectClass: netscapeServer >objectClass: nsAdminServer >objectClass: nsResourceRef >objectClass: groupOfUniqueNames >cn: admin-serv-%asid% >nsServerID: admin-serv >serverRoot: %as_serverroot% >serverProductName: Administration Server >serverHostName: %fqdn% >uniqueMember: cn=admin-serv-%asid%, cn=%brand% Administration Server, cn=Server Group, cn=%fqdn%, ou=%domain%, o=NetscapeRoot >userPassword: %as_passwd% > >dn: cn=configuration, cn=admin-serv-%asid%, cn=%brand% Administration Server, cn=Server Group, cn=%fqdn%, ou=%domain%, o=NetscapeRoot >objectClass: nsConfig >objectClass: nsAdminConfig >objectClass: nsAdminObject >objectClass: nsDirectoryInfo >objectClass: top >cn: Configuration >nsServerPort: %as_port% >nsSuiteSpotUser: %as_user% >nsServerAddress: >nsAdminEnableEnduser: on >nsAdminEnableDSGW: on >nsDirectoryInfoRef: cn=Server Group, cn=%fqdn%, ou=%domain%, o=NetscapeRoot >nsAdminUsers: %admpw% >nsErrorLog: %as_error% >nsPidLog: %as_pid% >nsAccessLog: %as_access >nsAdminCacheLifetime: 600 >nsAdminAccessHosts: *.%domain% >nsAdminAccessAddresses: * >nsAdminOneACLDir: adminacl >nsDefaultAcceptLanguage: en >nsClassname: com.netscape.management.admserv.AdminServer@%as_console_jar%@cn=admin-serv-%asid%, cn=%brand% Administration Server, cn=Server Group, cn=%fqdn%, ou=%domain%, o=NetscapeRoot > > >===================================================== >admserv/schema/ldif/21astasks.ldif.tmpl >===================================================== >dn: cn=Tasks, %as_sie% >objectClass: top >objectClass: nsResourceRef >cn: Tasks > >dn: cn=Operation, cn=Tasks, %as_sie% >objectClass: top >objectClass: nstaskgroup >nsTaskLabel: Operation Tasks Group >cn: Operation > >dn: cn=Stop, cn=Operation, cn=Tasks, %as_sie% >objectClass: top >objectClass: nstask >objectClass: nsAdminObject >nsHelpRef: %as_help_path%/stopadm.html >nsExecRef: stopsrv >nsClassname: com.netscape.management.admserv.task.Stop@%as_console_jar%@%as_sie% >cn: Stop > >dn: cn=Restart, cn=Operation, cn=Tasks, %as_sie% >objectClass: top >objectClass: nstask >objectClass: nsAdminObject >nsHelpRef: %as_help_path%/restartadm.html >nsExecRef: restartsrv >nsClassname: com.netscape.management.admserv.task.Restart@%as_console_jar%@%as_sie% >cn: Restart > >dn: cn=Authenticate, cn=Operation, cn=Tasks, %as_sie% >objectClass: top >objectClass: nstask >nsHelpRef: %as_help_path%/userauth.html >nsExecRef: userauth >cn: Authenticate > >dn: cn=ListOldServers, cn=Operation, cn=Tasks, %as_sie% >objectClass: top >objectClass: nstask >objectClass: nsAdminObject >nsExecRef: listOldSrvs >cn: ListOldServers > >dn: cn=StartConfigDS, cn=Operation, cn=Tasks, %as_sie% >objectClass: top >objectClass: nstask >nsExecRef: start_config_ds >cn: StartConfigDS > >dn: cn=MigrateConfig, cn=Operation, cn=Tasks, %as_sie% >objectClass: top >objectClass: nstask >objectClass: nsAdminObject >nsExecRef: migrateConfig >cn: MigrateConfig > >dn: cn=MergeConfig, cn=Operation, cn=Tasks, %as_sie% >objectClass: top >objectClass: nstask >objectClass: nsAdminObject >nsExecRef: mergeConfig >cn: MergeConfig > >dn: cn=StatusPing, cn=Operation, cn=Tasks, %as_sie% >objectClass: top >objectClass: nstask >objectClass: nsAdminObject >nsExecRef: statusping >nsLogSuppress: true >cn: StatusPing > >dn: cn=Configuration, cn=Tasks, %as_sie% >objectClass: top >objectClass: nstaskgroup >nsTaskLabel: Configuration Tasks Group >cn: Configuration > >dn: cn=ServerSetup, cn=configuration, cn=Tasks, %as_sie% >objectClass: top >objectClass: nstask >objectClass: nsAdminObject >nsExecRef: config >nsClassname: com.netscape.management.admserv.task.ServerSetup@%as_console_jar%@%as_sie% >cn: ServerSetup > >dn: cn=DirectorySetup, cn=configuration, cn=Tasks, %as_sie% >objectClass: top >objectClass: nstask >objectClass: nsAdminObject >nsExecRef: dsconfig >cn: DirectorySetup > >dn: cn=UGDirectorySetup, cn=configuration, cn=Tasks, %as_sie% >objectClass: top >objectClass: nstask >objectClass: nsAdminObject >nsExecRef: ugdsconfig >cn: UGDirectorySetup > >dn: cn=AccessSetup, cn=configuration, cn=Tasks, %as_sie% >objectClass: top >objectClass: nstask >objectClass: nsAdminObject >nsExecRef: admpw >cn: AccessSetup > >dn: cn=Logging, cn=configuration, cn=Tasks, %as_sie% >objectClass: top >objectClass: nstask >objectClass: nsAdminObject >nsHelpRef: %as_help_path%/logging.html >nsExecRef: config >nsClassname: com.netscape.management.admserv.task.Logging@%as_console_jar%@%as_sie% >cn: Logging > >dn: cn=SecurityOp, cn=configuration, cn=Tasks, %as_sie% >objectClass: top >objectClass: nstask >objectClass: nsAdminObject >nsExecRef: security >cn: SecurityOp > >dn: cn=CertSetup, cn=configuration, cn=Tasks, %as_sie% >objectClass: top >objectClass: nstask >objectClass: nsAdminObject >nsHelpRef: %as_help_path%/certrequest.html >nsClassname: com.netscape.management.admserv.task.CertSetup@%as_console_jar%@%as_sie% >cn: CertSetup > >dn: cn=SSLActivate, cn=configuration, cn=Tasks, %as_sie% >objectClass: top >objectClass: nstask >objectClass: nsAdminObject >nsHelpRef: %as_help_path%/ssl_activate.html >nsExecRef: sec-activate >cn: SSLActivate > >dn: cn=ReadLog, cn=configuration, cn=Tasks, %as_sie% >objectClass: top >objectClass: nstask >objectClass: nsAdminObject >nsHelpRef: %as_help_path%/logging.html >nsExecRef: ReadLog >cn: ReadLog > >dn: cn=HTMLAdmin, cn=configuration, cn=Tasks, %as_sie% >objectClass: top >objectClass: nstask >objectClass: nsAdminObject >nsHelpRef: %as_help_path%/htmladmin.html >nsExecRef: htmladmin >cn: HTMLAdmin > >dn: cn=StatPingServ, cn=configuration, cn=Tasks, %as_sie% >objectClass: top >objectClass: nstask >objectClass: nsAdminObject >nsHelpRef: %as_help_path%/statpingserv.html >nsExecRef: statpingserv >cn: StatPingServ > >dn: cn=ViewData, cn=configuration, cn=Tasks, %as_sie% >objectClass: top >objectClass: nstask >objectClass: nsAdminObject >nsHelpRef: %as_help_path%/viewdata.html >nsExecRef: viewdata >cn: ViewData > >dn: cn=ViewLog, cn=configuration, cn=Tasks, %as_sie% >objectClass: top >objectClass: nstask >objectClass: nsAdminObject >nsHelpRef: %as_help_path%/viewlog.html >nsExecRef: viewlog >cn: ViewLog > >dn: cn=MonReplication, cn=configuration, cn=Tasks, %as_sie% >objectClass: top >objectClass: nstask >objectClass: nsAdminObject >nsHelpRef: %as_help_path%/monreplication.html >nsExecRef: monreplication >cn: MonReplication > >dn: cn=repl-monitor-cgi.pl, cn=configuration, cn=Tasks, %as_sie% >objectClass: top >objectClass: nstask >objectClass: nsAdminObject >nsHelpRef: %as_help_path%/monreplication.html >nsExecRef: perl?repl-monitor-cgi.pl >cn: repl-monitor-cgi.pl > > >===================================================== >admserv/schema/ldif/22ascommands.ldif.tmpl >===================================================== >dn: cn=Commands, %as_sie% >objectClass: top >objectClass: nsResourceRef >cn: Commands > >dn: cn=sync-task-sie-data, cn=Commands, %as_sie% >objectClass: top >objectClass: nstask >nsHelpRef: %as_help_path%/sync-task-sie-data.html >nsExecRef: runtime >cn: sync-task-sie-data > >dn: cn=change-sie-password, cn=Commands, %as_sie% >objectClass: top >objectClass: nstask >nsExecRef: runtime >cn: change-sie-password > >
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Raw
Actions:
View
Attachments on
bug 237356
:
153230
|
153562
|
153667
|
153668
|
153674
|
153675
|
153677
|
153678
|
155103
|
155105
|
155406
|
155407
|
155408
|
155409
|
155410
|
155411
|
155412
|
155413
|
155414
|
155483
|
155484
|
155485
|
155486
|
155487
|
155488
|
155489
|
155490
|
156389
|
156510
|
156525
|
156539
|
156540
|
156541
|
156612
|
156613
|
156614
|
156626
|
156633
|
156634
|
156741
|
156829
| 156834 |
156839
|
156840
|
156895
|
157043
|
157044
|
157133
|
157159
|
157160
|
157164
|
157165
|
157167
|
157298
|
157378
|
157381
|
157388
|
157390
|
157400
|
157401
|
157407
|
157408
|
157429
|
157431
|
157469
|
157471
|
157479
|
157480
|
160762