Commit Graph
171 Commits
Author SHA1 Message Date
Rob Crittenden ae641ed31b Include information on where to look if a hostname resolves to localhost.
442812
2008-05-09 14:04:04 -04:00
Simo Sorce 34c6ac06c6 Return better ewrror message that gives a hint about who actually returned it
+ Some cleanups (trainling spaces and such).
2008-05-08 17:03:43 -04:00
Rob Crittenden bd9dea888d Add a version API to the server so it knows what version it is.
435019
2008-05-08 13:01:27 -04:00
Rob Crittenden 2bb64e404c Don't prompt for confirmation of DM password when installing a replica.
It implies that you are setting a new password and you really aren't.

Also added a catch for KeyboardInterrupt with instructions on how to
recover from a partial install.

441607
2008-05-08 12:01:38 -04:00
Rob Crittenden 274eb708c2 Fix ownership of the Apache NSS cert and key databases.
The group "apache" needs to have read access to them so they will work in
Fedora 9+.
2008-04-30 09:44:48 -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 ce3f79e51c Configure the ipa_pwd_extop plugin on replicas.
If plugin isn't configured then the kerberos attributes don't get populated.
User's will get Preauthentication errors from the kerberos libraries
because there is no krbPrincipalKey to match against.

442134
2008-04-14 17:55:25 -04:00
Rob Crittenden 27691b9e1c Use the same kpasswd.keytab on all replicas.
If we generate a new keytab for each replica then effectively password
changes can only occur on the last replica created.

439905
2008-04-09 16:57:41 -04:00
Simo Sorce 6778085531 The kpasswd keytab must not be owned by the dirsrv user.
Fix copy&paste error.
2008-04-08 09:25:48 -04:00
Rob Crittenden d567aa4441 Add missing start_creation() so the install process will get kicked off. 2008-04-02 22:04:24 -04:00
Simo Sorce 7b5088955a Sysrestore fixes.
Latest patch used the wrong path and all files where actually going to /tmp
even if a different path was specified.
Makes also StateFile behave the same as FileStore, and be a public class, this
way a common path can be used too.
2008-03-31 17:27:56 -04:00
Simo Sorce 9d80ec5daf Better check for IPA nServer own address, avoid manually parsing /etc/hosts by
using nsswitch calls that read it and also take in account any other name
resolution mechanism that might be installed (like NIS lol :-).

This also should make the check support IPv6 transparently too (not tested)
2008-03-30 20:00:43 -04:00
Simo Sorce aac086582a Move sysrestore to ipa-python so it can be used by client scripts too.
Change backup format so files are all in a single directory (no dir
hierarchies) and use an index file so we can save also ownership and
permission info for the restore (and eventually other data later on).
2008-03-27 19:01:38 -04:00
Rob Crittenden b387570fe6 Properly detect when ports are available.
The DS setup program uses Perl and does a similar port available test.
It seems that perl always sets FD_CLOEXEC and python does not. This is
why the port test would pass in python but fail in perl.

439024
2008-03-27 15:33:06 -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
Rob Crittenden 092b1b694c Add ability to initialize a replication agreement
Add ability to force a synch to occur
Clean up a lot of unused code in ipaldap.py. This lets us do a simple bind
  without being root (it used to try to read dse.ldif)

436237
2008-03-07 10:56:03 -05:00
Rob Crittenden 03d7125eac Verify that the hostname is correct in /etc/hosts
Don't ignore exceptions when getting the hostname from the user

433515
2008-03-06 13:17:28 -05:00
Rob Crittenden d7e30fa7ee Use standard size and alignment for the packed data so it works on 64-bit hosts 2008-03-06 21:59:19 -05:00
Rob Crittenden 6301914941 Require that the hostname is a DNS A record and that the forward and reverse
match.

433515
2008-03-03 16:10:06 -05: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 ab86f52999 Fix off-by-one error in the number of steps to install a service 2008-02-28 21:57:52 -05:00
Rob Crittenden d5f5026454 Don't log passwords in ipaserver-install.log
433509
2008-02-26 10:48:45 -05:00
Rob Crittenden f02b5c1962 Use correct variable for determining the host name
435055
2008-02-26 22:34:06 -05:00
Simo Sorce 144a728182 Make sure KrbPrincipalName is unique server-wide 2008-02-21 22:31:16 -05:00
Rob Crittenden 49148dc34a Redirect users when they don't use the FQDN on both SSL and non-SSL ports
We update the mod_nss configuration (nss.conf) during installation to include
ipa-rewrite.conf to handle the SSL side.

433054
2008-02-21 16:25:09 -05:00
Rob Crittenden 87d9c037e4 Add some additional error handling
433347
2008-02-20 16:31:32 -05:00
Simo Sorce 80feb3aecf cosmetic fixes 2008-02-21 14:39:50 -05:00
Simo Sorce 0ae42b28de Start ntpd first unless we do not want it.
Make sure we do sync the clock leaping to the current correct time.
This avoids problems with bad dates on certificates, etc..
2008-02-20 11:03:46 -05:00
Rob Crittenden e31d33619d Add some error handling for LDAP connection issues
Verify the DM password earlier in the process

433368
2008-02-19 10:20:13 -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 346f73057f memberOf attribute should not be replicated
Resolves 430017
2008-02-18 15:22:36 -05:00
Rob Crittenden 5b1e7e3a5f Don't create a backup of the PKCS#12 cert on replicas
Name the file created by ipa-replica-prepare after the FQDN of the target

Resolves 432904
2008-02-14 17:39:06 -08:00
Rob Crittenden 802483813a Always do a chkconfig --add/--del on install/uninstall
This makes a from-tree installation work. We also do this in the rpm spec file.
Contributed by Pieter D.J. Krul
2008-02-08 15:17:20 -05:00
Rob Crittenden 97d9c235dd Set the license uniformly to GPLv2 only. 2008-02-04 15:15:52 -05:00
Rob Crittenden 6935d94c14 Fix two typos 2008-02-05 16:50:12 -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 00e3a81266 Use correct variable for domain when restoring a file.
Resolves 430724
2008-01-31 10:24:22 -05:00
Rob Crittenden 946ef21426 Include some additional information when installing IPA.
Remove 8080 as a port that needs to be opened
bz 430088
2008-01-25 17:08:36 -05:00
Rob Crittenden 5c58015fbe Fix misspelling of the word indices. 2008-01-25 13:29:49 -05:00
Mark McLoughlin 11266d039f Re-factor the ipa_webgui and ipa_kpasswd instance code
The ipa_webgui and ipa_kpasswd instance code is identical
and I want to add another similar instance down the line,
so re-factor the code into a service.SimpleServiceInstance
class.

Signed-off-by: Mark McLoughlin <markmc@redhat.com>
2008-01-22 11:58:06 +00: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 8b3024080b Use tempfile.mkdtemp() rather than hardcoded tmpdir
httpinstance.py currently uses a hardcoded /tmp/ipa temporary
directory. Make it use tempfile.mkdtemp() instead.

Signed-off-by: Mark McLoughlin <markmc@redhat.com>
2008-01-11 10:36:25 +00:00
Mark McLoughlin ae099fe006 Refactor some krbinstance templating code
Signed-off-by: Mark McLoughlin <markmc@redhat.com>
2008-01-11 10:36:25 +00: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