Commit Graph

47 Commits

Author SHA1 Message Date
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.
-
Kevin McCarthy
945713ca30 Fix dsinstance.py and krbinstance.py imports 2007-09-06 16:21:07 -07:00
Simo Sorce
abeda55e34 Add password request for admin user
Set password for admin user using the Directory Mangaer account
and the mozldapldappaswd binary to get and SSL connection
Fix some timeout problems with deploying keytabs
Fix ipa_pwd_extop to actuallt correctly detect an SSL connection
Do not ask for the user to use for the directory unless 'dirsrv' is
 an existing user which may clash, create it silently
2007-08-31 18:40:01 -04:00
Simo Sorce
1e59adbe45 in F7 all directory names have changed from fedora-ds to dirsrv
which should also be the name used in DS 8.0, change all occurences
2007-08-15 19:45:18 -04:00
rcritten@redhat.com
993f76fe60 - Abstracted client class to work directly or over RPC
- Add mod_auth_kerb and cyrus-sasl-gssapi to Requires
- Remove references to admin server in ipa-server-setupssl
- Generate a client certificate for the XML-RPC server to connect to LDAP with
- Create a keytab for Apache
- Create an ldif with a test user
- Provide a certmap.conf for doing SSL client authentication
- Update tools to use kerberos
- Add User class
2007-08-06 10:05:53 -04:00
Karl MacMillan
b1831b4593 Fix typo / buglets in setup scripts.
Add fallback to ds_newinst.pl.
-
Karl MacMillan
e811c87b1c Update dsinstance.py to use setup-ds.pl instead of ds_newinst.pl. -
Karl MacMillan
bac241ffc3 More reorgnization. -