Commit Graph
100 Commits
Author SHA1 Message Date
Rob Crittenden f59e8145fa Set min nvr of 389-ds-base to 1.2.9.7-1 for BZ 728605
https://fedorahosted.org/freeipa/ticket/1576
2011-08-30 20:46:59 -04:00
Rob Crittenden f8d0688178 Use the IPA server cert profile in the installer.
We were still using the caRAserverCert profile during installation.

https://fedorahosted.org/freeipa/ticket/1744
2011-08-30 20:17:57 -04:00
Rob Crittenden ca1ca17cb6 Suppress managed netgroups from showing as memberof hostgroups.
By design these managed netgroups are not supposed to show unless you
specifically want to see them.

https://fedorahosted.org/freeipa/ticket/1738
2011-08-31 14:34:52 +02:00
Rob Crittenden 8f5e82940f Sort lists so order is predictable and tests pass as expected.
Related to https://fedorahosted.org/freeipa/ticket/1272
2011-08-31 11:18:08 +02:00
Rob Crittenden e52f652873 Add netgroup as possible memberOf for hostgroups
https://fedorahosted.org/freeipa/ticket/1563
2011-08-29 21:29:16 -04:00
Rob Crittenden ad717bff3c Roll back changes if client installation fails.
If the client installer fails for some reason and --force was not used
then roll back the configuration.

This is needed because we touch /etc/sysconfig/network early in the
configuration and if it fails due to any number of issues (mostly related
to authentication) it will not be reset. We may as well run through the
entire uninstall process to be sure the system has been reset.

https://fedorahosted.org/freeipa/ticket/1704
2011-08-29 17:18:19 -04:00
Rob Crittenden 3b9da8e276 Add external source hosts to HBAC.
When adding/removing source hosts if the host isn't found in IPA it is
considered external. The attribute externalhost is used to store
external hosts.

ticket https://fedorahosted.org/freeipa/ticket/1574
2011-08-29 17:14:28 -04:00
Rob Crittenden d7618acb73 Add common is_installed() fn, better uninstall logging, check for errors.
The installer and ipactl used two different methods to determine
whether IPA was configured, unify them.

When uninstalling report any thing that looks suspicious and warn
that a re-install may fail. This includes any remaining 389-ds instances
and any state or files that remains after all the module uninstallers
are complete.

Add wrappers for removing files and directories to log failures.

https://fedorahosted.org/freeipa/ticket/1715
2011-08-29 16:50:43 -04:00
Rob Crittenden 3ef732d738 Set min nvr of pki-ca to 9.0.12 for fix in BZ 700505
https://fedorahosted.org/freeipa/ticket/1686
2011-08-28 20:56:18 -04:00
Rob Crittenden e4b62d0529 Remove 389-ds upgrade state during uninstall
When we perform an upgrade 389-ds is set to listen only on its
ldapi port. Theoretically it should be restored to the previous
state regardless of whether the upgrades were successful or not.

To be sure that a subsequent re-install will be successful go ahead
and remove the state for these options. Think of it as wearing a
belt and suspenders. Otherwise a re-install could return an error
message that IPA is already configured.

https://fedorahosted.org/freeipa/ticket/1667
2011-08-25 20:52:46 -04:00
Rob Crittenden de83684c75 Remove more 389-ds files/directories on uninstallation.
We were orphaning a few files/directories when uninstalling 389-instances
both for IPA and dogtag. This should remove everything but the logs.

ticket https://fedorahosted.org/freeipa/ticket/1700
2011-08-25 20:49:23 -04:00
Rob Crittenden a750ccb5a2 Disable reverse lookups in ipa-join and ipa-getkeytab
This prevents broken DNS from causing enrollment problems.

https://fedorahosted.org/freeipa/ticket/1693
2011-08-25 20:38:11 -04:00
Rob Crittenden 6dfd7c8242 Retrieve password/keytab state when modifying a host.
ticket https://fedorahosted.org/freeipa/ticket/1714
2011-08-25 16:38:38 +00:00
Rob Crittenden 1936b8050e Add option to only prompt once for passwords, use in entitle_register
A Password param always prompted to confirm the entered password.
This doesn't make sense if you want to prompt for a password to another
system like we do with entitlements. This adds a new boolean option to
control the Password prompt parameter.

https://fedorahosted.org/freeipa/ticket/1695
2011-08-24 15:25:53 -04:00
Rob Crittenden 41d89d0d13 Add label for HBAC services to show as members
https://fedorahosted.org/freeipa/ticket/1711
2011-08-24 15:24:19 -04:00
Rob Crittenden a6b3309fe6 Add additional pam ftp services to HBAC, and a ftp HBAC service group
This adds proftpd, pure-ftpd, vsftpd and gssftp.

https://fedorahosted.org/freeipa/ticket/1703
2011-08-24 15:21:41 -04:00
Rob Crittenden 109b79a7ac Change the way has_keytab is determined, also check for password.
We need an indicator to see if a keytab has been set on host and
service entries. We also need a way to know if a one-time password is
set on a host.

This adds an ACI that grants search on userPassword and
krbPrincipalKey so we can do an existence search on them. This way
we can tell if the attribute is set and create a fake attribute
accordingly.

When a userPassword is set on a host a keytab is generated against
that password so we always set has_keytab to False if a password
exists. This is fine because when keytab gets generated for the
host the password is removed (hence one-time).

This adds has_keytab/has_password to the user, host and service plugins.

ticket https://fedorahosted.org/freeipa/ticket/1538
2011-08-24 14:12:01 +02:00
Rob Crittenden 0147ef5b73 Fix thread deadlock by using pthreads library instead of NSPR.
The 389-ds team is in the process of exposing slapi_rwlock which we
will switch to when it is available.

https://fedorahosted.org/freeipa/ticket/1630
2011-08-24 13:57:37 +02:00
Rob Crittenden 17a86397ce Suppress 389-ds debug output when starting services
If the user wants the output they can pass the --debug flag to ipactl.

https://fedorahosted.org/freeipa/ticket/1402
2011-08-24 13:54:08 +02:00
Rob Crittenden aa2bd245bf Fix wording in examples of delegation plugin.
https://fedorahosted.org/freeipa/ticket/1013
2011-08-19 02:54:33 -04:00
Rob Crittenden d67b60079f Do batch logging on successful commands too, not just failures.
This was an oversight for previous logging patch, ticket 1598
2011-08-19 02:54:04 -04:00
Rob Crittenden 92780658b8 Log each command in a batch separately.
This also fixes command logging in general, it wasn't working in most
cases as a regression in ticket 1322.

https://fedorahosted.org/freeipa/ticket/1598
2011-08-19 01:21:22 -04:00
Rob Crittenden cc86c1459b Add information on setting api.env.host in the ipactl.8 man page
ticket https://fedorahosted.org/freeipa/ticket/1390
2011-08-19 08:38:33 +02:00
Rob Crittenden 293f0fab0b Become IPA 2.1.0 2011-08-15 00:34:48 -04:00
Rob Crittenden 8495af1a50 Re-arrange CA configuration code to reduce the number of restarts.
Ade Lee from the dogtag team looked at the configuration code and
determined that a number of restarts were not needed and recommended
re-arranging other code to reduce the number of restarts to one.

https://fedorahosted.org/freeipa/ticket/1555
2011-08-03 20:38:07 -04:00
Rob Crittenden 25d861dc01 Fix date order in changelog. 2011-07-28 18:53:25 -04:00
Rob Crittenden d8c479731e Deprecated managing users and runas user/group in sudorule add/mod
We have helpers to manage these values so they shouldn't be available
via add/mod. There is no logic behind them to do the right thing.

https://fedorahosted.org/freeipa/ticket/1307
https://fedorahosted.org/freeipa/ticket/1320
2011-07-29 15:40:01 +02:00
Rob Crittenden 44b3521fad Set minimum version of pki-ca to 9.0.10 to pick up new ipa cert profile
The caIPAserviceCert.cfg was updated to set the client cert flag on
server certs we issue.

https://fedorahosted.org/freeipa/ticket/1434
2011-07-29 11:18:49 +02:00
Rob Crittenden 1ebe3c1d12 When setting a host password don't set krbPasswordExpiration.
This can cause problems if a host is enrolled, unenrolled and a password
set. The password will be marked as expired like all new passwords are.

https://fedorahosted.org/freeipa/ticket/1526
2011-07-29 10:27:15 +02:00
Rob Crittenden 324777d67c Fix message in test case for checking minimum values 2011-07-28 02:03:56 -04:00
Rob Crittenden 62445b8673 Don't leave dangling map if adding an indirect map fails
When using the add_indirect helper we create a new map and then add a key
for it all in one step. If adding the key fails for any reason be sure to
remove the map we added.

https://fedorahosted.org/freeipa/ticket/1520
2011-07-27 00:02:28 -04:00
Rob Crittenden 87821f2049 Revert use of 'can be at least' to 'must be at least' in minvalue validator
BZ https://bugzilla.redhat.com/show_bug.cgi?id=723969
2011-07-26 01:58:41 -04:00
Rob Crittenden 3fe36a63b6 Add an arch-specific Requires on cyrus-sasl-gssapi
If you had a 64-bit system and installed a 32-bit version of IPA then
ipa-getkeytab probably wouldn't work because yum wouldn't know to pull
in the 32-bit version of cyrus-sasl-gssapi.

https://fedorahosted.org/freeipa/ticket/1499
2011-07-24 19:58:03 -04:00
Rob Crittenden a49d294845 Don't check for leading/trailing spaces in a File parameter
https://fedorahosted.org/freeipa/ticket/1505
2011-07-25 09:10:27 +02:00
Rob Crittenden abb5ee22d2 Autofill the default revocation reason
https://fedorahosted.org/freeipa/ticket/1514
2011-07-22 08:57:31 +02:00
Rob Crittenden 506cbaa1fb Hide the HBAC access type attribute now that deny is deprecated.
It won't appear in the UI/CLI but is still available via XML-RPC.
allow is the default and deny will be rejected.

https://fedorahosted.org/freeipa/ticket/1495
2011-07-21 01:11:45 -04:00
Rob Crittenden 7ce57e38c4 Only call entry_from_entry() after waiting for the new entry.
This fixes an indentation problem.
2011-07-19 21:45:03 -04:00
Rob Crittenden fd148541aa Add Alexander Bokovoy and Jan Cholasta to contributors file 2011-07-19 20:43:21 -04:00
Rob Crittenden 02df85bb2e Make ipa-client-install error messages more understandable and relevant.
* Check remote LDAP server to see if it is a V2 server
* Replace numeric return values with alphanumeric constants
* Display the error message from the ipa-enrollment extended op
* Remove generic join failed error message when XML-RPC fails
* Don't display Certificate subject base when enrollment fails
* Return proper error message when LDAP bind fails

https://fedorahosted.org/freeipa/ticket/1417
2011-07-19 20:41:54 -04:00
Rob Crittenden e8c7eaf260 Set a default minimum value for class Int, handle long values better.
Allow a long to get as far as the min/max constraints where we can
compare it to min/max int values and reject with a proper error message.

https://fedorahosted.org/freeipa/ticket/1494
2011-07-19 20:32:00 -04:00
Rob Crittenden bcdd149bd1 With the external user/group management fixed, correct the unit tests.
The unit tests were incorrectly expecting the removed data back when
removing external users.
2011-07-20 17:27:42 +02:00
Rob Crittenden eda4d20264 Fix regression when calculating external groups.
The members should be the current members of the entry, not the refreshed
copy
2011-07-19 01:38:26 -04:00
Rob Crittenden a00b03831b Don't set krbLastPwdChange when setting a host OTP password.
We have no visibility into whether an entry has a keytab or not so
krbLastPwdChange is used as a rough guide.

If this value exists during enrollment then it fails because the host
is considered already joined. This was getting set when a OTP was
added to a host that had already been enrolled (e.g. you enroll a host,
unenroll it, set a OTP, then try to re-enroll). The second enrollment
was failing because the enrollment plugin thought it was still
enrolled becaused krbLastPwdChange was set.

https://fedorahosted.org/freeipa/ticket/1357
2011-07-18 19:34:19 -04:00
Rob Crittenden e5a5c781f9 A removed external host is shown in output when removing external hosts.
This is just a display problem, the host is actually removed from the entry.

https://fedorahosted.org/freeipa/ticket/1492
2011-07-18 19:30:43 -04:00
Rob Crittenden 1dd9e14073 Optionally wait for 389-ds postop plugins to complete
Add a new command that lets you wait for an attribute to appear in
a value. Using this you can do things like wait for a managed entry
to be created, adding a new objectclass to the parent entry.

This is controlled by a new booleon option, wait_for_attr, defaulting
to False.

https://fedorahosted.org/freeipa/ticket/1144
2011-07-19 13:06:16 +02:00
Rob Crittenden ba1575772c Change client enrollment principal prompt to hopefully be clearer.
ticket https://fedorahosted.org/freeipa/ticket/1449
2011-07-19 08:43:45 +02:00
Rob Crittenden f7f03183df Specify the package name when the replication plugin is missing.
ticket https://fedorahosted.org/freeipa/ticket/1155
2011-07-18 02:55:50 -04:00
Rob Crittenden d43ba5316a Generate a database password by default in all cases.
If the password passed in when creating a NSS certificate database is None
then a random password is generated. If it is empty ('') then an empty
password is set.

Because of this the HTTP instance on replicas were created with an empty
password.

https://fedorahosted.org/freeipa/ticket/1407
2011-07-17 22:26:01 -04:00
Rob Crittenden a48a84a5ea Set the ipa-modrdn plugin precedence to 60 so it runs last
The default precedence for plugins is 50 and the run in more or less
alphabetical order (but not guaranteed). This plugin needs to run after
the others have already done their work.

https://fedorahosted.org/freeipa/ticket/1370
2011-07-17 22:24:30 -04:00
Rob Crittenden bfee87dced Set nickname of the RA to 'IPA RA' to avoid confusion with dogtag RA
The old nickname was 'RA Subsystem' and this may confuse some users
with the dogtag RA subsystem which we do not use.

This will only affect new installs. Existing installations will
continue to work fine.

https://fedorahosted.org/freeipa/ticket/1236
2011-07-17 22:22:21 -04:00
Rob Crittenden b14473a86c Fix failing tests due to object name changes
Some object names had spaces in them which was bad, update the tests
to reflect the new names.
2011-07-17 22:21:53 -04:00
Rob Crittenden 3fdca99c48 Create tool to manage dogtag replication agreements
For the most part the existing replication code worked with the
following exceptions:

- Added more port options
- It assumed that initial connections were done to an SSL port. Added
  ability to use startTLS
- It assumed that the name of the agreement was the same on both sides.
  In dogtag one is marked as master and one as clone. A new option is
  added, master, the determines which side we're working on or None
  if it isn't a dogtag agreement.
- Don't set the attribute exclude list on dogtag agreements
- dogtag doesn't set a schedule by default (which is actually recommended
  by 389-ds). This causes problems when doing a force-sync though so
  if one is done we set a schedule to run all the time. Otherwise the
  temporary schedule can't be removed (LDAP operations error).

https://fedorahosted.org/freeipa/ticket/1250
2011-07-17 22:16:32 -04:00
Rob Crittenden 2f650b60a4 Use information from the certificate subject when setting the NSS nickname.
There were a few places in the code where certs were loaded from a
PKCS#7 file or a chain in a PEM file. The certificates got very
generic nicknames.

We can instead pull the subject from the certificate and use that as
the nickname.

https://fedorahosted.org/freeipa/ticket/1141
2011-07-17 22:14:24 -04:00
Rob Crittenden 038089a0c9 Validate that the certificate subject base is in valid DN format.
https://fedorahosted.org/freeipa/ticket/1176
2011-07-17 22:10:03 -04:00
Rob Crittenden bea7818add Remove the ability to create new HBAC deny rules.
New rules will all be allow type. Existing rules cannot be changed to
deny.

The type attribute now defaults to allow with autofill so it won't be
prompted in interactive mode in the cli.

https://fedorahosted.org/freeipa/ticket/1432
2011-07-14 19:23:17 -04:00
Rob Crittenden 9dfdf55034 In sudo labels we should use RunAs and not Run As.
https://fedorahosted.org/freeipa/ticket/1328
2011-07-14 19:18:02 -04:00
Rob Crittenden ef29207047 Document registering to an entitlement server with a UUID as not implemented.
It was my understanding that we would be able to pass in an existing UUID
when registering to connect to an existing registration (for the case where
IPA is re-installed). This is supported in the REST API but not python-rhsm.

https://fedorahosted.org/freeipa/ticket/1216
2011-07-14 19:15:15 -04:00
Rob Crittenden 37e3bf2a60 Disallow direct modifications to enrolledBy.
This fixes a regression.

We don't need to allow enrolledBy to be modified because it gets
written in the ipa_enrollment plugin which does internal operations
so bypasses acis.

https://fedorahosted.org/freeipa/ticket/302
2011-07-14 19:11:49 -04:00
Rob Crittenden f534445e26 Reset failed login count to 0 when admin resets password.
https://fedorahosted.org/freeipa/ticket/1441
2011-07-13 10:46:22 +02:00
Rob Crittenden 28e85ee47a Fix test failure in updater when adding values to a single-value attr
The ipaldap.py code was updated to consider the schema when making
changes and does a REPLACE on single-value attributes. So when you
do an add in an update it will effectively replace the value instead
of ignoring it.
2011-07-11 19:21:51 -04:00
Rob Crittenden 2415ba6d37 Fix error in AttrValueNotFound exception example 2011-07-11 19:21:47 -04:00
Rob Crittenden d9627ab165 find_entry_by_attr() should fail if multiple entries are found
It will only ever return one entry so if more than one are found
then we raise an exception. This is most easily seen in the host
plugin where we search on the server shortname which can be the
same across sub-domains (e.g. foo.example.com &
foo.lab.example.com).

https://fedorahosted.org/freeipa/ticket/1388
2011-07-11 18:45:49 -04:00
Rob Crittenden 3a5e26a01c Enforce class rules when query=True, continue to not run validators.
This started as a problem in allowing leading/trailing whitespaces
on primary keys. In nearly every command other than add query is True
so all rules were ignored on the primary key. This meant that to
enforce whitespace we would need to define a validator for each one.

I decided instead to set self.all_rules to just the class rules if
query == True. So the minimum set of validators will be executed
against each type but param-specific validators will only run on add.

https://fedorahosted.org/freeipa/ticket/1285
https://fedorahosted.org/freeipa/ticket/1286
https://fedorahosted.org/freeipa/ticket/1287
2011-07-11 18:43:32 -04:00
Rob Crittenden cd237e5f54 Add pwd expiration notif (ipapwdexpadvnotify) to config plugin def attr list
https://fedorahosted.org/freeipa/ticket/1416
2011-07-05 00:13:55 -04:00
Rob Crittenden 6ad7deb7ac Set the client auth callback after creating the SSL connection.
If we set the callback before calling connect() then if the connection
tries a network family type and fails, it will try other family types.
If this happens then the callback set on the first socket will be lost
when a new socket is created. There is no way to query for the callback
in an existing socket.

https://fedorahosted.org/freeipa/ticket/1349
2011-07-01 21:01:22 -04:00
Rob Crittenden b02b77f8d7 Slight performance improvement by not doing some checking in production mode
These changes save a few hundred ms but every little bit helps.

ticket 1023
2011-06-23 23:45:10 -04:00
Rob Crittenden 8a32bb3746 Make dogtag an optional (and default un-) installed component in a replica.
A dogtag replica file is created as usual. When the replica is installed
dogtag is optional and not installed by default. Adding the --setup-ca
option will configure it when the replica is installed.

A new tool ipa-ca-install will configure dogtag if it wasn't configured
when the replica was initially installed.

This moves a fair bit of code out of ipa-replica-install into
installutils and cainstance to avoid duplication.

https://fedorahosted.org/freeipa/ticket/1251
2011-06-23 19:04:33 -04:00
Rob Crittenden 8810758c11 Let the framework be able to override the hostname.
The hostname is passed in during the server installation. We should use
this hostname for the resulting server as well. It was being discarded
and we always used the system hostname value.

Important changes:
- configure ipa_hostname in sssd on masters
- set PKI_HOSTNAME so the hostname is passed to dogtag installer
- set the hostname when doing ldapi binds

This also reorders some things in the dogtag installer to eliminate an
unnecessary restart. We were restarting the service twice in a row with
very little time in between and this could result in a slew of reported
errors, though the server installed ok.

ticket 1052
2011-06-23 02:11:34 -04:00
Rob Crittenden ba42b700eb Update translation files 2011-06-21 19:21:55 -04:00
Rob Crittenden dd69c7dbe6 Make data type of certificates more obvious/predictable internally.
For the most part certificates will be treated as being in DER format.
When we load a certificate we will generally accept it in any format but
will convert it to DER before proceeding in normalize_certificate().

This also re-arranges a bit of code to pull some certificate-specific
functions out of ipalib/plugins/service.py into ipalib/x509.py.

This also tries to use variable names to indicate what format the certificate
is in at any given point:

dercert: DER
cert: PEM
nsscert: a python-nss Certificate object
rawcert: unknown format

ticket 32
2011-06-21 19:09:50 -04:00
Rob Crittenden 1aee9df3bc Do lazy LDAP schema retrieval in json handler.
It was possible to get to this point without a schema if the first
handled request resulted in a Kerberos error.

https://fedorahosted.org/freeipa/ticket/1354
2011-06-21 16:40:07 -04:00
Rob Crittenden c329a54c09 The IP address provided to ipa-server-install must be local
Compare the configured interfaces with the supplied IP address and
optional netmask to determine if the interface is available.

https://fedorahosted.org/freeipa/ticket/1175
2011-06-20 22:14:10 -04:00
Rob Crittenden d0af8b28d7 On a master configure sssd to only talk to the local master.
Otherwise it is possible for sssd to pick a different master to
communicate with via the DNS SRV records and if the remote master
goes down the local one will have problems as well.

ticket https://fedorahosted.org/freeipa/ticket/1187
2011-06-21 16:07:06 +02:00
Rob Crittenden a2a3782efb Require an imported certificate's issuer to match our issuer.
The goal is to not import foreign certificates.

This caused a bunch of tests to fail because we had a hardcoded server
certificate. Instead a developer will need to run make-testcert to
create a server certificate generated by the local CA to test against.

ticket 1134
2011-06-16 19:27:17 -04:00
Rob Crittenden cbc5df4536 Return an error message when revocation reason 7 is used
7 is undefined as a revocation reason.

https://fedorahosted.org/freeipa/ticket/1318
2011-06-15 16:42:29 +02:00
Rob Crittenden ae775ec169 Add message output summary to sudorule del, mod and find.
https://fedorahosted.org/freeipa/ticket/1255
2011-06-15 16:02:14 +02:00
Rob Crittenden 23c5af218f Don't let a JSON error get lost in cascading errors.
If a JSON decoding error was found we were still trying to call the
XML-RPC function, losing the original error.

https://fedorahosted.org/freeipa/ticket/1322
2011-06-15 14:57:53 +02:00
Rob Crittenden bee4e6a85a Remove automountinformation as part of the DN for automount.
To support multiple direct maps we added description to the DN of
automount key entries. The downside of this is that to display a key
you had to know the information as well, which was rather pointless if
that is what you were trying to get.

So now both modes are supported. It will first look for just a key
in the description and fall back to including automountinformation
if it needs to.

Multiple direct maps are still supported and for those the info is
always required.

ticket 1229
2011-06-13 22:59:27 -04:00
Rob Crittenden c5d8618424 Fix indirect member calculation
Indirect membership is calculated by looking at each member and pulling
all the memberof out of it. What was missing was doing nested searches
on any members in that member group.

So if group2 was a member of group1 and group3 was a member of group2
we would miss group3 as being an indirect member of group1.

I updated the nesting test to do deeper nested testing. I confirmed
that this test failed with the old code and works with the new.

This also prevents duplicate indirect users and looping on circular
membership.

ticket https://fedorahosted.org/freeipa/ticket/1273
2011-06-14 15:34:11 +00:00
Rob Crittenden 9f72637b13 Do better detection on status of CA DS instance when installing.
The conditional used to determine if thd CA 389-ds instance was already
configured was rather poor so it was possible to pass command-line
arguments in to confuse it. This would cause it to not be installed at
all causing the dogtag installation to fail in a strange way.

https://fedorahosted.org/freeipa/ticket/1244
2011-06-13 00:15:14 -04:00
Rob Crittenden 645e55651e Support initializing memberof during replication re-init using GSSAPI
The last step of a replication re-initiailization is to run the
memberof task. The current function would only authenticate using simple
auth to monitor the task but we may be doing this using admin GSSAPI
credentials so support that type of bind as well.

In short this fixes:
 # kinit admin
 # ipa-replica-manage re-initialize --from=master.example.com

https://fedorahosted.org/freeipa/ticket/1248
2011-06-13 12:54:13 +02:00
Rob Crittenden 7940270b9f Remove root autobind search restriction, fix upgrade logging & error handling.
There was no point in limiting autobind root to just search cn=config since
it could always just modify its way out of the box, so remove the
restriction.

The upgrade log wasn't being created. Clearing all other loggers before
we calling logging.basicConfig() fixes this.

Add a global exception when performing updates so we can gracefully catch
and log problems without leaving the server in a bad state.

https://fedorahosted.org/freeipa/ticket/1243
https://fedorahosted.org/freeipa/ticket/1254
2011-06-13 09:51:05 +02:00
Rob Crittenden a26fb5aaca Fix external CA installation
When re-creating the CADS instance it needs to be more fully-populated
so we have enough information to create an SSL certificate and move
the principal to a real entry.

https://fedorahosted.org/freeipa/ticket/1245
2011-06-09 17:41:43 +02:00
Rob Crittenden 4ef8b58c26 Add UID, GID and e-mail to the user default attributes.
ticket https://fedorahosted.org/freeipa/ticket/1265
2011-06-08 23:30:11 +00:00
Rob Crittenden 868d4e734e Do a lazy retrieval of the LDAP schema rather than at module load.
Attempt to retrieve the schema the first time it is needed rather than
when Apache is started. A global copy is cached for future requests
for performance reasons.

The schema will be retrieved once per Apache child process.

ticket 583
2011-05-30 09:16:30 +02:00
Rob Crittenden e91aa64d4a Include the word 'member' with autogenerated optional member labels.
There were reports of confusion over what was being prompted for, hopefully
adding member will make things clearer.

ticket 1062
2011-05-27 13:54:31 -04:00
Rob Crittenden 9cc0754b71 Add option to limit the attributes allowed in an entry.
Kerberos ticket policy can update policy in a user entry. This allowed
set/addattr to be used to modify attributes outside of the ticket policy
perview, also bypassing all validation/normalization. Likewise the
ticket policy was updatable by the user plugin bypassing all validation.

Add two new LDAPObject values to control this behavior:

limit_object_classes: only attributes in these are allowed
disallow_object_classes: attributes in these are disallowed

By default both of these lists are empty so are skipped.

ticket 744
2011-05-27 13:51:37 -04:00
Rob Crittenden ac23fa7e54 Fix migration to work between v2 servers and remove search/size limits.
Migration from a v2 server would fail because of our fake memberofindirect
attribute. This isn't in any objectclass so would cause entries to fail
to migrate. We can safely just remove it.

Also remove any limits on time/size when searching for entries on the
remote server. Otherwise only the number of entries configured in the
local IPA server can be migrated.

ticket 1124
2011-05-26 16:37:03 -04:00
Rob Crittenden 5288bdb79a Document that deleting and re-adding a replica requires a dirsrv restart.
If you install a replica, delete the replica, then re-add it and then
try to re-initialize the agreement it will fail because the remote master
has the old service principals cached. It needs to be restarted to work.

ticket 1077
2011-05-26 09:48:54 -04:00
Rob Crittenden 201ffc07bd Configure Managed Entries on replicas.
The Managed Entries plugin configurations weren't being created on
replica installs. The templates were there but the cn=config
portions were not.

This patch adds them as updates. The template portion will be added
in the initial replication.

ticket 1222
2011-05-25 16:39:27 -04:00
Rob Crittenden 00abd47de4 Enable 389-ds SSL host checking by defauilt
Enforce that the remote hostname matches the remote SSL server certificate
when 389-ds operates as an SSL client.

Also add an update file to turn this off for existing installations.

This also changes the way the ldapupdater modlist is generated to be more
like the framework. Single-value attributes are done as replacements
and there is a list of force-replacement attributes.

ticket 1069
2011-05-20 10:08:11 -04:00
Rob Crittenden 7a867102c5 Properly configure nsswitch.conf when using the --no-sssd option.
Even with --no-sssd authconfig was setting nsswitch.conf to use sssd
for users, groups, shadow and netgroups. We need to pass in the
--enableforcelegacy option hwen configuring nss_ldap.

Also always back up and restore sssd.conf. It still gets configured for
kerberos.

ticket 1142
2011-05-18 13:19:06 +02:00
Rob Crittenden 4027b12371 Test for forwarded Kerberos credentials cache in wsgi code.
We should more gracefully handle if the TGT has not been forwarded
than returning a 500 error.

Also catch and display KerberosErrors from ping() in the client better.

ticket 1101
2011-05-18 09:35:04 +02:00
Rob Crittenden 55f9836cb6 Update min nvr for selinux-policy and pki-ca for F-15+
Done with conditionals so still installable on F-14.

ticket 1200
2011-05-13 12:56:32 -04:00
Rob Crittenden 2b45be23e4 Properly handle --no-reverse being passed on the CLI in interactive mode
If installing in interactive mode and --no-reverse is passed then the
reverse zone was still being created.

ticket 1152
2011-05-12 15:18:25 +02:00
Rob Crittenden cc87bc3f28 Bump version to 2.0.90 to distinguish between 2.0.x 2011-05-03 10:51:36 -04:00
Rob Crittenden 1dd7364b7b Handle principal not found errors when converting replication a greements
There are times where one side or the other is missing its peers
krbprincipalname when converting from simple to GSSAPI replication. Ticket
1188 should address the cause of this.

This patch provides better information and handling should either side
be missing.

ticket 1044
2011-04-28 15:10:25 +02:00
Rob Crittenden 6f7984a532 Ensure that the zonemgr passed to the installer conforms to IA5String.
ticket 1164
2011-04-26 13:11:56 +02:00
Rob Crittenden d3b0c64fce Modify the default attributes shown in user-find to match the UI design.
This change means the UI can stop using the --all option and have to
retrieve significantly less information from the server. It also
speeds up user-find as it doesn't have to calculate membership.

This adds a new baseclass parameter, search_display_attributes, which
can provide a separate list from default_attributes just for find
commands.

The UI will need to be changed to switch from using cn to using
givenname and sn.

ticket 1136
2011-04-22 14:49:20 -04:00
Rob Crittenden f746121824 Convert manager from userid to dn for storage and back for displaying.
ticket 1151
2011-04-22 14:49:20 -04:00