Commit Graph
57 Commits
Author SHA1 Message Date
Rob Crittenden 6980b07303 Rework the way SSL certificates are imported from PKCS#12 files.
Add the ability to provide PKCS#12 files during initial installation
Add the ability to provide PKCS#12 files when preparing a replica
Correct some issues with ipa-server-certinstall

452402
2008-07-14 09:06:52 -04:00
Simo Sorce 3931d1d753 Move admin into cn=users,cn=accounts
After some deep thinking I think the advantages of keeping all
posix enabled user accounts under cn=users,cn=accounts overweight a
perceived better protection of the admin account by keeping it in a
separate tree.
2008-05-23 15:07:37 -04:00
Rob Crittenden 6c87f83180 Don't pass the Directory Manager password on the command-line to ldapmodify.
446865
2008-05-19 17:07:41 -04:00
Simo Sorce 6119f83799 Use split instead of find as split does not fail to provide a complete
component if no '.' is found.
2008-05-15 14:26:25 -04:00
Rob Crittenden 319cb38e28 Do a more thorough job of removing an existing DS instance.
Add /usr/lib/dirsrv/slapd-INSTANCE to the list of directories removed.

442753
2008-05-13 22:53:01 -04:00
Rob Crittenden 4eb7c51e59 Better detection of DS not starting.
The dirsrv init script always returns 0 on status checks, even if an
instance is not started. So we have to look through the output instead.

442452
2008-04-14 23:14:16 -04:00
Rob Crittenden fd92652ace Make the memberof task a public function.
This is used when a new replica is created as well as whenever a replica
is re-initialized from another master.

In order for this to work when not creating an instance the __init__
function needs to be able to determine the suffix and the dm_password
is needed.

I've also added the time to the RDN of the member task to ensure
uniqueness.

438222
2008-03-27 09:33:01 -04:00
Simo Sorce 449344e683 Fix boot.ldif generation, the domain name component must be derived
from the realm not the domain.
One line fix.
2008-03-04 14:25:10 -05:00
Simo Sorce d7ad62cd7e Make sure all entries are generated by us according to IPA
default tree. This patch make sure that the DS setup script
does not add unwanted entries.
2008-02-28 13:35:10 -05:00
Rob Crittenden d5f5026454 Don't log passwords in ipaserver-install.log
433509
2008-02-26 10:48:45 -05:00
Simo Sorce 144a728182 Make sure KrbPrincipalName is unique server-wide 2008-02-21 22:31:16 -05:00
Simo Sorce 80feb3aecf cosmetic fixes 2008-02-21 14:39:50 -05:00
Rob Crittenden 80a4e94e5b Verify current domain with user during installation
Use that domain when creating replicas

Resolves 432066
2008-02-15 20:47:29 -05:00
Rob Crittenden 97d9c235dd Set the license uniformly to GPLv2 only. 2008-02-04 15:15:52 -05:00
Rob Crittenden 5a96618f5d Use file to store the current CA serial number
No longer create a PKCS#12 file that contains the CA
No longer send the entire CA to each replica, generate the SSL certs on master
Fix number of bugs in ipa-replica-install and prepare
Produce status output during replica creation
2008-02-05 12:23:53 -05:00
Rob Crittenden 5c58015fbe Fix misspelling of the word indices. 2008-01-25 13:29:49 -05:00
Mark McLoughlin 5fd10b5f98 Initialise DsInstance.pkcs12_info
DsInstance.pkcs12_info isn't currently initialised in
the constructore so, e.g. __enable_ssl() assumes that
create_instance() has initialised it.

Signed-off-by: Mark McLoughlin <markmc@redhat.com>
2008-01-22 11:58:06 +00:00
Mark McLoughlin b01ea25988 Small refactor of dsinstance.config_dirname()
If, in future, we change the server ID so that it's not
derived from the realm name, there's a fair few places
that need to be changed.

Make that easier by having config_dirname() take the
server ID rather than the realm name. That makes sense
anyway so we don't have to realm_to_serverid() so
much.

Signed-off-by: Mark McLoughlin <markmc@redhat.com>
2008-01-22 11:57:59 +00:00
Mark McLoughlin ee7c818bde Remove questions from ipaserver.dsinstance
Let's assume that all ipaserver.dsinstance could be used
somewhere where asking questions on stdout/stdin is not
approriate and re-factor the code to be suitable in
those situations too.

i.e. make check_existing_installation() return a list of
server IDs and make check_ports() return an (unsecure,
secure) tuple indication which ports are in use.

Signed-off-by: Mark McLoughlin <markmc@redhat.com>
2008-01-22 08:03:06 +00:00
Rob Crittenden 042fb11fa1 Fix issues reported by rpmlint.
- Removing shebangs (#!) from a bunch of python libraries
- Don't use a variable name in init scripts for the lock file
- Keep the init script name consistent with the binary name, so renamed
  ipa-kpasswd.init to ipa_kpasswd.init
- Add status option to the init scripts
- Move most python scripts out of /usr/share/ipa and into the python
  site-packages directories (ipaserver and ipaclient)
- Remove unnecessary sys.path.append("/usr/share/ipa")
- Fix the license string in the spec files
- Rename ipa-webgui to ipa_webgui everywhere
- Fix a couple of issues reported by pychecker in ipa-python
2008-01-18 16:20:36 -05:00
Mark McLoughlin 4a162f6fc8 Add ipa-server-install --uninstall
Add a --uninstall option to ipa-server-install which tries to
restore the system to the way it was before ipa-server-install
was run using the state backed up through sysrestore.py.

Signed-off-by: Mark McLoughlin <markmc@redhat.com>
2008-01-11 11:57:36 +00:00
Rob Crittenden c7f3c746cc Backup system state in ipa-server-install
This patch adds a sysrestore module which allows ipa-server-install
code to backup any system state so that it can be restored again
with e.g. ipa-server-install --uninstall.

The idea is that any files ipa-server-install modifies gets backed
up to /var/cache/ipa/sysrestore/ while any "meta" state, like
whether a service is enabled with chkconfig, is saved to
/var/cache/ipa/sysrestore.state.

Signed-off-by: Mark McLoughlin <markmc@redhat.com>
2008-01-14 12:43:26 -05:00
Mark McLoughlin ff6c720026 Use service.py helpers
In dsinstance.py, there's one place we could use the
service.py helpers where we don't currently.

Signed-off-by: Mark McLoughlin <markmc@redhat.com>
2008-01-11 10:36:25 +00:00
Karl MacMillan 2855e9d40a Correct serial number for ds certs. -
Karl MacMillan ac0fb8ea52 Convert replication to use the new cert infrastructure and
correctly issue certs from the same authority. Also remove
support for read-only replicas since that work will not
be finished and tested for 1.0.
-
Mark McLoughlin 6976f92862 Refactor krbinstance and dsinstance creation steps
Creation steps are currently done with:

  self.start_creation(2, "Create foo")
  self.step("do foo")
  self.foo()
  self.step("do bar")
  self.bar()
  self.done_creation()

This patch refactors that into the much more
straightforward:

  self.step("do foo", self.foo)
  self.step("do bar", self.bar)
  self.start_creation("Create foo")

Signed-off-by: Mark McLoughlin <markmc@redhat.com>
2007-12-13 09:31:28 +00:00
Mark McLoughlin c049d2d821 Don't template files which don't contain variables
The following files hav no template variables, so don't
bother templating them:

  - memberof-conf.ldif
  - referint-conf.ldif
  - dna-conf.ldif
  - certmap.conf.template

Signed-off-by: Mark McLoughlin <markmc@redhat.com>
2007-12-13 09:31:28 +00:00
Mark McLoughlin 065827d6e1 Refactor dsinstance ldap modify code
Just a patch to refactor lots of similar code in
dsinstance and krbinstance using a simple helper
method.

Note, there are some differences:
  - Some code used to call ldapmodify without -h 127.0.0.1
  - Some of the code used to just print an error rather than
    using logging.critical()
  - Some code used to log some extra debug

Signed-off-by: Mark McLoughlin <markmc@redhat.com>
2007-12-13 09:31:28 +00:00
Karl MacMillan 1c3849eb57 User provided certs. -
Karl MacMillan 3b4f0db73e Convert the setup of ssl from a shell script to a
python module. This is in preparation for user
supplied certs.
-
Rob Crittenden b75d735b7e Add default e-mail domain to the IPA configuration 2007-12-10 11:53:00 -05:00
Karl MacMillan 90d6fefe32 Fix errors with ipautil.CalledProcessError and cleanup some imports. -
rcritten@redhat.com c32a960cae Compatibility changes to work on RHEL 5 with python 2.4 2007-11-30 15:53:02 -05:00
Karl MacMillan c373ed5c5c Initial replication setup.
This add replication setup through two new commands: ipa-replica-prepare
and ipa-replica-install. The procedure is to run ipa-replica-prepare
on an existing master. This will collect information about the realm
and the current master and create a file storing all of the information.
After copying that file to the new replica, ipa-replica-install is
run (with -r to create a read-only replica).

This version of the patch also includes fixes for the sasl mappings
on the replicas.

Remaining features:
- ssl for replication.
- automatic configuration of mesh topology for
  master (or a simpler way to replicate multiple
  masters.
- tool for view / configuring current replication.
-
Rob Crittenden f42f1f44c8 Enable group inactivation by using the Class of Service plugin.
This adds 2 new groups: activated and inactivated.

If you, or a group you are a member of, is in inactivated then you are too.

If you, or a group you are a member of, is in the activated group, then you
are too.

In a fight between activated and inactivated, activated wins.

The DNs for doing this matching is case and white space sensitive.

The goal is to never have to actually set nsAccountLock in a user directly
but move them between these groups.

We need to decide where in the CLI this will happen. Right it is split
between ipa-deluser and ipa-usermod. To inactivate groups for now just
add the group to inactivate or active.
2007-11-20 22:45:29 -05:00
Karl MacMillan 6d3fa7f892 Minor fixes. -
Simo Sorce a0d8d87b97 Fix installation
Add missing schema for GUI Config, and missing objectclass for cn=accounts
container
2007-11-18 15:02:26 -05:00
Karl MacMillan 4d96b37de1 Initialize memberof patch from Pete Rowley. -
Pete Rowley 24d5777bd6 Add posix auto gen for single master case 2007-11-06 15:57:15 -08:00
Karl MacMillan 8e48393c61 Introduce service base class and clean up ipa-server-install
1) Add a base class for all of the instance objects.
2) Normalize usage of logging.
3) General cleanups of ipa-server-install.
4) Make better use of httpinstance.
5) Add webguiinstance.
6) Improve progress reporting during installation.

Works Here (TM), but it would be nice to get someone else
to test since this moves code around a bit.
-
John Dennis 8cfd270f34 merge initial radius work 2007-11-03 12:22:20 -04:00
Karl MacMillan 8f4362f2f2 Enable referential integrity plugin. -
Karl MacMillan 36e43aed1b NTP configuration for client and server.
Configure ipa servers as an ntp server and clients
to (by default) us the ipa server as an ntp server.

Also corrected the messages about which ports should
be opened.
-
Rob Crittenden 3c8cfd94bd Create LDAP indeces on installation for fields the web GUI searches against 2007-10-30 13:41:41 -04:00
Karl MacMillan 086193af0a Remove the use of uuid in the directory server instance name.
The use of a uuid for the DS instance name is overkill and it is a real
pain. This patch will use ipa-realm-name instead (resulting in something
like slapd-EXAMPLE-COM). All periods are converted to "-" because the DS
can't handle periods in server ids.
-
Rob Crittenden dac58ee693 Enabled memberof plugin 2007-10-16 10:17:39 -04:00
Kevin McCarthy 06b107ed5f Add inetUser objectclass. Remove test-users ldif. 2007-10-11 12:19:42 -07:00
Karl MacMillan d2a19b2009 Karl MacMillan wrote:
> > This largish patch makes the build and installation work on 64bit
> > machines. The only catch here is that to get a 64bit build you need to
> > set LIBDIR on make:
> >
> > make install LIBDIR=/usr/lib64
> >
> > The spec file does this correctly. I couldn't find any reliable way to
> > guess this that works both on real systems and in the almost entirely
> > empty rpm build root (you can't, for example, check for the existence
> > of /usr/lib64).
-
rcritten@redhat.com 53e872fb72 Try to catch more error conditions during installation
Modify the way we detect SELinux to use selinuxenabled instead of using
  a try/except.
Handle SASL/GSSAPI authentication failures when getting a connection
2007-10-03 17:37:13 -04:00
Karl MacMillan 50d12d6d2e Misc small fixes
* Remove the rpmbuild tree with the dist-clean target.
* Move ipa-server-setupssl from /usr/sbin to /usr/share/ipa
* Check in requirement change for generated freeipa-python.spec
* Fix interactive hostname in ipa-server-install.
-