Commit Graph

481 Commits

Author SHA1 Message Date
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
f4ef672dd6 Listen only on the localhost interface
Resolves bz 430191
2008-01-25 10:17:37 -05:00
Rob Crittenden
34b56238d2 Dropped the last 's' in the sessions cache directory 2008-01-24 22:31:22 -05:00
Rob Crittenden
3d911a7beb Major mistake on my part by adding sessions to the wrong place. This broke
ipa_webgui.
2008-01-24 17:39:54 -05:00
Rob Crittenden
6bf366fc9a Missed one replacement of pyasn1 -> python-pyasn1 2008-01-24 14:54:41 -05:00
Rob Crittenden
00e20c2003 Use Fedora package names for PyKerberos (python-kerberos) and pyasn1
(python-pyasn1) for the specfile Requires.
2008-01-24 13:44:38 -05:00
Rob Crittenden
3594157f54 Add a copy of the LICENSE and populate some README's 2008-01-23 10:30:18 -05:00
Rob Crittenden
3302dc7446 Enable server-side sessions. It is currently using files for sessions. 2008-01-23 09:45:46 -05: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
23ac773ada Update the .spec filenames in EXTRA_DIST
Signed-off-by: Mark McLoughlin <markmc@redhat.com>
2008-01-11 10:36:25 +00: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
Mark McLoughlin
9161dcbbdc Add service.is_enabled() helper
Add a simple helper to check whether a service is enabled.

Signed-off-by: Mark McLoughlin <markmc@redhat.com>
2008-01-11 10:36:25 +00:00
Mark McLoughlin
bfb4564f9d Add service.is_running() helper
Add a simple helper to check whether a service is running
and make ipa-server-install use it to check whether ntpd
is running.

Signed-off-by: Mark McLoughlin <markmc@redhat.com>
2008-01-11 10:36:25 +00:00
Rob Crittenden
42d5ddc559 Service principal deletion 2008-01-11 11:44:23 -05:00
Rob Crittenden
58071a759a Remove registration of get_keytab 2008-01-03 09:29:58 -05:00
Rob Crittenden
bbe1fdd8e9 Run ipa-webgui as apache and not as root 2008-01-11 13:05:44 -05:00
Rob Crittenden
1c4e4b3e14 Add function to retrieve a short list of attributes to make ipa-adddelegation
easier to use.
2008-01-04 16:39:41 -05:00
Rob Crittenden
dd28d4e6f6 Make button test consistent with rest of page 2008-01-07 16:02:40 -05:00
Rob Crittenden
0576193015 In add_service_principal() don't let the user pass in the realm.
This could result in a principal of the form: service/host@something@REALM
2008-01-07 14:03:13 -05:00
Rob Crittenden
db2e5b26b7 Use a more obvious name for the subject of the IPA self-signed CA 2008-01-04 11:22:43 -05:00
Simo Sorce
8de5f477d1 Support getting in a principal with out the REALM part 2007-12-21 15:18:43 -05:00
Karl MacMillan
19bdd1f166 - Enable ssl for replication.
- Add replication management script that allows listing
  adding, and deleting replicas.
0001-01-01 00:00:00 +00:00
Simo Sorce
a9e4e5a1e2 Finishe removing previous code to fetch keytabs 2007-12-21 12:31:31 -05:00
Karl MacMillan
84c758153f Remove ipa-keytab-util since it is superceded by the DS plugin. 0001-01-01 00:00:00 +00:00
Simo Sorce
b72905817a Merge version changes with upstream 2007-12-21 11:53:31 -05:00
Simo Sorce
ed50c663e8 Big changeset that includes the work around keytab management.
Following the changelog history from my dev tree, some comments are useful imo

------------------------------------------------------

user:        Simo Sorce <ssorce@redhat.com>
date:        Fri Dec 21 03:05:36 2007 -0500
files:       ipa-server/ipa-slapi-plugins/ipa-pwd-extop/test-get-keytab.c
description:
Remove remnants of the initial test tool

changeset:   563:4fe574b7bdf1
user:        Simo Sorce <ssorce@redhat.com>
date:        Fri Dec 21 02:58:37 2007 -0500
files:       ipa-server/ipa-slapi-plugins/ipa-pwd-extop/ipa_pwd_extop.c
description:
Maybe actually encrypting the keys will help :-)

changeset:   562:488ded41242a
user:        Simo Sorce <ssorce@redhat.com>
date:        Thu Dec 20 23:53:50 2007 -0500
files:       ipa-server/ipa-install/share/Makefile.am ipa-server/ipa-install/share/default-aci.ldif
description:
Fixes

changeset:   561:4518f6f5ecaf
user:        Simo Sorce <ssorce@redhat.com>
date:        Thu Dec 20 23:53:32 2007 -0500
files:       ipa-admintools/Makefile ipa-admintools/ipa-addservice
description:
transform the old ipa-getkeytab in a tool to add services as the new
ipa-getkeytab won't do it (and IMO it makes more sense to keep the
two functions separate anyway).

changeset:   559:25a7f8ee973d
user:        Simo Sorce <ssorce@redhat.com>
date:        Thu Dec 20 23:48:59 2007 -0500
files:       ipa-server/ipa-slapi-plugins/ipa-pwd-extop/ipa_pwd_extop.c
description:
Bugfixes

changeset:   558:28fcabe4aeba
user:        Simo Sorce <ssorce@redhat.com>
date:        Thu Dec 20 23:48:29 2007 -0500
files:       ipa-client/configure.ac ipa-client/ipa-client.spec ipa-client/ipa-client.spec.in ipa-client/ipa-getkeytab.c
description:
Configure fixes
Add ipa-getkeytab to spec
Client fixes

changeset:   557:e92a4ffdcda4
user:        Simo Sorce <ssorce@redhat.com>
date:        Thu Dec 20 20:57:10 2007 -0500
files:       ipa-client/Makefile.am ipa-client/configure.ac
description:
Try to make ipa-getkeytab build via autotools

changeset:   556:224894175d6b
user:        Simo Sorce <ssorce@redhat.com>
date:        Thu Dec 20 20:35:56 2007 -0500
files:       ipa-admintools/ipa-getkeytab ipa-client/ipa-getkeytab.c
description:
Messed a bit with hg commands.
To make it short:
- Remove the python ipa-getkeytab program
- Rename the keytab plugin test program to ipa-getkeytab
- Put the program in ipa-client as it should be distributed with the client
  tools

changeset:   555:5e1a068f2e90
user:        Simo Sorce <ssorce@redhat.com>
date:        Thu Dec 20 20:20:40 2007 -0500
files:       ipa-server/ipa-slapi-plugins/ipa-pwd-extop/test-get-keytab.c
description:
Polish the client program

changeset:   554:0a5b19a167cf
user:        Simo Sorce <ssorce@redhat.com>
date:        Thu Dec 20 18:53:49 2007 -0500
files:       ipa-server/ipa-install/share/default-aci.ldif ipa-server/ipa-install/share/default-keytypes.ldif ipa-server/ipa-install/share/kdc.conf.template ipa-server/ipa-install/share/kerberos.ldif ipa-server/ipa-slapi-plugins/ipa-pwd-extop/ipa_pwd_extop.c ipa-server/ipa-slapi-plugins/ipa-pwd-extop/test-get-keytab.c ipa-server/ipaserver/krbinstance.py
description:
Support retrieving enctypes from LDAP
Filter enctypes
Update test program

changeset:   553:f75d7886cb91
user:        Simo Sorce <ssorce@redhat.com>
date:        Thu Dec 20 00:17:40 2007 -0500
files:       ipa-server/ipa-slapi-plugins/ipa-pwd-extop/test-get-keytab.c
description:
Fix ber generation and remove redundant keys

changeset:   552:0769cafe6dcd
user:        Simo Sorce <ssorce@redhat.com>
date:        Wed Dec 19 19:31:37 2007 -0500
files:       ipa-server/ipa-slapi-plugins/ipa-pwd-extop/test-get-keytab.c
description:
Avoid stupid segfault

changeset:   551:1acd5fdb5788
user:        Simo Sorce <ssorce@redhat.com>
date:        Wed Dec 19 18:39:12 2007 -0500
files:       ipa-server/ipa-slapi-plugins/ipa-pwd-extop/ipa_pwd_extop.c
description:
If ber_peek_tag() returns LBER_ERROR it may just be that we are at the
end of the buffer. Unfortunately ber_scanf is broken in the sense that
it doesn't actually really consider sequence endings (due probably to the fact
they are just representation and do not reflect in the underlieing DER
encoding.)

changeset:   550:e974fb2726a4
user:        Simo Sorce <ssorce@redhat.com>
date:        Wed Dec 19 18:35:07 2007 -0500
files:       ipa-server/ipa-slapi-plugins/ipa-pwd-extop/ipa_pwd_extop.c ipa-server/ipa-slapi-plugins/ipa-pwd-extop/test-get-keytab.c
description:
First shot at the new method
2007-12-21 11:37:19 -05:00
Karl MacMillan
c761409490 Update versions for release. 0001-01-01 00:00:00 +00:00
Karl MacMillan
2855e9d40a Correct serial number for ds certs. 0001-01-01 00:00:00 +00:00
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.
0001-01-01 00:00:00 +00:00
Karl MacMillan
6d9974dd95 Simplify kerberos calling. 0001-01-01 00:00:00 +00:00
Mark McLoughlin
42f4b72c16 Refactor keytab creation
There's a few places where we spawn of kadmin to add/modify
principals and create keytabs.

Refactor all that code into installutils.

Signed-off-by: Mark McLoughlin <markmc@redhat.com>
2007-12-18 18:03:34 +00:00
Mark McLoughlin
4814c0d3f6 Restart ipa-webgui in create_instance()
Just in case there is an existing ipa-webgui running
before ipa-server-install, restart the instance rather
than just starting it.

Signed-off-by: Mark McLoughlin <markmc@redhat.com>
2007-12-17 12:00:33 +00:00
Mark McLoughlin
4b4b0b4376 Fix error caused by creation steps patch merge
Merging the "host keytab" and "creation steps" patchs left
a stray old-style call to Service.step()

Signed-off-by: Mark McLoughlin <markmc@redhat.com>
2007-12-17 10:17:24 +00:00
Simo Sorce
2faa288218 Add host keytab creation for masters 2007-12-13 16:44:57 -05:00
Rob Crittenden
baaead2709 Allow for direct entry of group names when creating delegations.
This requires a bit of trickery. I use the onblur() javascript function
to note when the field is left and store whatever was entered there.

Then when the page is submitted if a dn doesn't exist for that field
but they did enter something, do a lookup to see if there is a group by
that name.
2007-12-13 04:32:22 -05:00
Rob Crittenden
b5af99c51d Fix the UI indicators for mandatory fields.
The source and target groups weren't highlighted but the entire block of
checkboxes was and it looked absolutely horrible.
2007-12-12 15:18:28 -05:00
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
Mark McLoughlin
7ba901d777 Only update key/value files if necessary
update_key_val_in_file() shouldn't try and write to
a file if the key is already set to the given value
in the file

Rationale here is that if we write these files out
while building a system image, ipa-server-install
shouldn't need to re-write them and, therefore,
they don't need to be writable.

Signed-off-by: Mark McLoughlin <markmc@redhat.com>
2007-12-13 09:31:28 +00:00
Mark McLoughlin
2a036abe7a More ipautil fixing
Recently, dsinstance and krbinstance was fixed to
not import * from ipautil; do the same for the
rest of ipaserver.

Signed-off-by: Mark McLoughlin <markmc@redhat.com>
2007-12-13 09:31:28 +00:00
Mark McLoughlin
a39f1cb2cb Fix ldif to work with ldapmodify in openldap-2.4.x
It seems that in openldap-2.4.x ldapmodify has gotten somewhat
more picky about the ldif it accepts. See here for more details:

  https://bugzilla.redhat.com/422251

Not sure whether ldapmodify will be fixed, but for now just
fix the ldif.

Signed-off-by: Mark McLoughlin <markmc@redhat.com>
2007-12-13 09:31:28 +00:00
Karl MacMillan
b3c39632ea Merge. 0001-01-01 00:00:00 +00:00