Commit Graph
27 Commits
Author SHA1 Message Date
Mark McLoughlin 996a3f6698 Fix not so random random passwords
If you run ipa_generate_password() multiple times, one
after the other, then you get the same password each time.

This is because it uses the current time to seed the
pseudo random number generator.

The easiest solution is to just use the default method
which seeds itself from /dev/urandom if available,
and uses a fractional time value otherwise.

Signed-off-by: Mark McLoughlin <markmc@redhat.com>
2008-01-22 16:42:45 +00: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
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
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
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
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
Mark McLoughlin 2dd8c346f3 Fix ipa-python packaging
Latest Fedora 9 python distutils generates .egg-info files;
follow the recommendation at:

  http://fedoraproject.org/wiki/Packaging/Python/Eggs

and just package everything under %{python_sitelib}/

Signed-off-by: Mark McLoughlin <markmc@redhat.com>
2007-12-13 09:31:28 +00:00
Mark McLoughlin 6e6237e54a Fix host_name buglet in ipa-server-install
This patch fixes a couple of buglets with read_ip_address():

  1) It writes host_name to /etc/hosts, but isn't currently
     being passed host_name

  2) It doesn't return the IP address even though the caller
     expects it

Signed-off-by: Mark McLoughlin <markmc@redhat.com>
2008-02-21 15:23:29 +00:00
Mark McLoughlin d01da9a566 Change the layout of the dist dir
Rather than lumping everything together into the dist/ dir,
this patch separates them out into sources/, rpms/ and srpms/.

Signed-off-by: Mark McLoughlin <markmc@redhat.com>
2008-02-21 15:23:29 +00:00
Mark McLoughlin 893e4b24dc imported patch freeipa-require-python-krbv.patch 2008-02-21 15:23:29 +00:00
Mark McLoughlin 5ec9a55278 Cleanup freeipa-python requires
We don't need the elaborate python requires, since a requires
for e.g. "python-abi = 2.5" is automatically added.

We also don't need the elaborate build requires, since all
it does is query the currently installed version of python
and require that you have it's appropriate python-devel
installed. But if python-devel is installed at all, this
should hold true.

(Also, IMHO the .spec files should be removed from mercurial
since they are automatically generated)

Signed-off-by: Mark McLouglin <markmc@redhat.com>
2008-02-21 15:23:29 +00:00
Mark McLoughlin c317660a55 Create repodata during "make dist"
This patch just makes "make dist" build the yum repodata.

Note, that since the repodata is at the toplevel, if this
dist/ dir is uploaded to freeipa.org/downloads, people's
yum configs will continue to work.

Signed-off-by: Mark McLoughlin <markmc@redhat.com>
2008-02-21 15:23:29 +00:00