[Fedora-directory-devel] New setup code
by Rich Megginson
We've decided to scrap the setuputil code because it's just too old and
crufty to maintain. We are going to replace the existing functionality
with perl scripts (yes, you perl haters out there, not my first choice
either, but modern versions of perl are readily available on all of the
platforms we plan to support). The upside is that the setup code will
be considerably simpler and easier to change/maintain. You can find the
details here - http://directory.fedoraproject.org/wiki/New_Setup_Design
16 years, 10 months
[Fedora-directory-devel] Please review: Bug 237356: Move DS Admin Code into Admin Server
by Rich Megginson
https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=237356
Resolves: bug 237356
Bug Description: Move DS Admin Code into Admin Server
Reviewed by: ???
Files: in addition to the diff
ldapserver/ldap/admin/src/scripts/DSDialogs.pm
ldapserver/ldap/admin/src/scripts/Dialog.pm
ldapserver/ldap/admin/src/scripts/DialogManager.pm
ldapserver/ldap/admin/src/scripts/Inf.pm
ldapserver/ldap/admin/src/scripts/Resource.pm
ldapserver/ldap/admin/src/scripts/Setup.pm.in
ldapserver/ldap/admin/src/scripts/SetupDialogs.pm
ldapserver/ldap/admin/src/scripts/SetupLog.pm
ldapserver/ldap/admin/src/scripts/Util.pm
ldapserver/ldap/admin/src/scripts/setup-ds.pl.in
ldapserver/ldap/admin/src/scripts/setup-ds.res.in
Branch: HEAD
Fix Description: This adds the setup related perl modules, scripts, and
resource files to the DS base code. This will allow a user to
interactively setup (create an instance of) a directory server. This
will also form the base of the work to add the console and admin server
related setup code. New files/directories:
$libdir/fedora-ds/perl - this is where the perl modules (Setup.pm, etc.)
will be installed.
$bindir/setup-ds.pl - the script to use to interactively create an
instance of directory server. This has use lib '$libdir/fedora-ds/perl'
hard coded into it at build time, in order to find the "private" setup
perl modules. If you invoke this script in silent mode (setup-ds.pl -s)
then it is exactly the same as just using ds_newinst.pl.
$sysconfdir/fedora-ds/property/setup-ds.res - Resources for setup-ds.pl
and the associated modules.
I also fixed a problem with the libns-dshttpd linkage.
Platforms tested: RHEL4
Flag Day: no
Doc impact: Yes. All of these new items will need to be documented.
https://bugzilla.redhat.com/bugzilla/attachment.cgi?id=156525&action=diff
16 years, 10 months
[Fedora-directory-devel] Please review: Bug 243205: allow instance creation with no .inf file; allow pre-hashed RootDNPwd
by Rich Megginson
https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=243205
Resolves: bug 243205
Bug Description: allow instance creation with no .inf file; allow
pre-hashed RootDNPwd
Reviewed by: ???
Files: see diff
Branch: HEAD
Fix Description: You can now use ds_newinst.pl without (or with) a .inf
file like this:
ds_newinst.pl General.SuiteSpotUserID=nobody slapd.ServerPort=3890 ....
The parameters can be supplied via the command line. The format of the
parameter is section.param=value. Normal shell quoting rules apply, so
you still have to do something like this:
ds_newinst.pl "slapd.Suffix=dc=example, dc=com"
for embedded spaces and the like. If you supply a filename (or '-'), it
must be the first argument after ds_newinst.pl. If you then supply
additional arguments after the filename, these will override the
settings in the given inf file. So, for example, you could reuse the
same .inf file, except provide a different hostname:
ds_newinst.pl basefile.inf General.FullMachineName=bar.example.com
This allows you to use the same base .inf file for several machines, and
only change certain parameters on a per-machine basis.
ds_newinst.pl will now fill in some default values - it will use
Net::Domain::hostfqdn for FullMachineName, and your login ID for
SuiteSpotUserID (however, not if running ds_newinst.pl as root), and
will construct the Suffix and ServerIdentifier based on the
FullMachineName. RootDN will default to cn=Directory Manager.
ServerRoot is no longer required.
Another enhancement is the ability to provide a pre-hashed password for
the RootDNPwd parameter, to avoid having to pass around the clear text
directory manager password. However, some caveats apply. If the
password begins with one of the well known hash algorithms (e.g. {SHA,
{SSHA, etc.), ds_newinst will assume it is already hashed. This may
cause problems if users expect to be able to provide a clear text
password such as {SSHA}text, but I seriously doubt anyone does that
(famous last words . . .). Another problem is that the code as it
currently stands uses the clear text password to bind to the server
after starting the server to add some additional entries and ACIs. This
cannot be done if a pre-hashed password is provided (but we're working
on a solution to that problem too).
write_ldap_info() is no longer needed.
Finally, a couple of minor bug fixes.
Platforms tested: RHEL4
Flag Day: no
Doc impact: Yes. There will be some documentation changes required.
https://bugzilla.redhat.com/bugzilla/attachment.cgi?id=156518&action=diff
16 years, 10 months