Commit Graph
126 Commits
Author SHA1 Message Date
Rob Crittenden ac5a35086e Don't allow the admin user to be removed from the admins group.
439281
2008-04-04 17:41:32 -04:00
Rob Crittenden cb4648a8af Add missing normalizeDN() when removing members from a group.
438387
2008-04-04 16:30:36 -04:00
Rob Crittenden 05efbe9991 Fix typo in python directive. Fixes marking a group active.
440142
2008-04-01 22:01:23 -04:00
Rob Crittenden 6d136d7fff Fix crash when creating new groups. You can't iterate over a None variable.
440081
2008-04-01 15:46:50 -04:00
Rob Crittenden 58cfc7ab68 Fix account activation.
We do account activation by using a Class of Service based on group
membership. A problem can happen if the entry itself has an nsaccountlock
attribute and you try doing Class of Service work as well because the
local attribute has priority. So try to detect that the entry has a local
nsAccountLock attribute and report an appropriate error.

Don't allow the admins or editors groups to be de-activated.

Return a better error message if account [in]activation fails.

Catch errors when doing group [in]activation.

439230
2008-03-31 11:36:13 -04:00
Rob Crittenden b7924139d8 Don't allow the admin user to be removed using the XML-RPC Interface.
If a site really wants it gone then can delete it via LDAP.

439281
2008-03-28 15:28:28 -04:00
Rob Crittenden 034d9d6753 Do case-less comparisons when considering objectclass but store the
current value to prevent unnecessary LPAP updates (and failed writes)

Don't check against these lists on updates, only add them on new entries.

Disable the ability to configure in the UI these values for now.

438256
2008-03-28 14:47:53 -04:00
Rob Crittenden c1ae716afc Normalize member DN's when determining whether they are in a group
as a direct or indirect member.

438387
2008-03-26 23:19:54 -04:00
Rob Crittenden bde9959091 When getting members let user indicate what type of member they want.
The memberOf attribute includes members that are directly in the group
via the "member" attribute and those that are included as a result of
being in a group that is in the group.

The UI needs to be able to distinguish between the two.

438706
2008-03-27 09:54:41 -04:00
Rob Crittenden e54a16ae1c Allow the realm to be included in the name passed to add_service_principal()
This is more kerberos-like and it doesn't hurt anything, we just won't
allow realms other than our own to be used.

437566
2008-03-17 14:09:44 -04:00
Rob Crittenden a39f38f65b Adding items to the set needs to be lower case to prevent duplicates.
This function was assuming that the target list was all lower-case so the
set could end up with duplicate values which would get kicked out by LDAP.

433680
2008-03-10 11:36:04 -04:00
Rob Crittenden ea53922951 Filter out K/M and krbtgt principals from the service principals list.
435713
2008-03-03 17:11:38 -05:00
Rob Crittenden 79557e6bf2 Do argument type checking in the XML-RPC interface
Fix error in service principals where the service wasn't being removed before
doing the DNS lookup.
2008-02-29 10:58:07 -05:00
Rob Crittenden 999bd4fb1e In the UI we don't want to display Edit links unless someone can actually
edit things. We use the 'editors' group for this. This group itself grants
no permission other than displaying certain things in the UI.

In order to be in the editors group a user must be a member of a group that
is the source group in a delegation. The memberof plugin will do all the
hard work to be sure that a user's memberof contains cn=editors if they
are in a delegated group.

432874
2008-02-27 15:14:52 -05:00
Rob Crittenden f49ed705b3 The admins group cannot be renamed.
433880
2008-02-27 10:50:17 -05:00
Rob Crittenden d6d12e9dc5 Require that service principals resolve to a DNS A record.
There is a --force option for those who know what they are doing.

433483
2008-02-26 13:51:56 -05:00
Rob Crittenden 02d3c5aff3 Don't allow a group to be a member of itself.
434542
2008-02-22 15:40:21 -05:00
Rob Crittenden 73a674ed49 Fix bug that prevented single-character fields
Fix bug in exception handling where we were sending the wrong thing as detail.
Basically we were catching an LDAP error, generating an IPAError from it,
 catching that, then setting the detail of the 2nd exception to another IPAError
 rather than the root exception. This caused anything looking at e.detail to
 crap out

Resolves 432136
2008-02-11 16:32:54 -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
Rob Crittenden 42d5ddc559 Service principal deletion 2008-01-11 11:44:23 -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 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
Simo Sorce a9e4e5a1e2 Finishe removing previous code to fetch keytabs 2007-12-21 12:31:31 -05:00
Rob Crittenden 23ffab533f Make the old entry option in update_*, check for empty parameters and
fix some problems reported by pychecker.
2007-12-11 17:34:15 -05:00
Rob Crittenden 10ac6c3c61 Enable searching for multiple things at once 2007-12-11 15:06:01 -05:00
Rob Crittenden 2675f35fdf Tie the logging module to 'PythonOption IPADebug' in /etc/httpd/conf.d/ipa.conf 2007-12-11 09:56:37 -05:00
Karl MacMillan d2378f13d0 Merge. -
Rob Crittenden c95550a164 Remove some debugging statements 2007-12-10 11:54:42 -05:00
Rob Crittenden 2a2d866552 Make uid an editable field in the Edit UI so we can do RDN changes
Fix group RDN changes
Remove a copy/paste error in the group UI update that caused 2 updates
Fix variable name so groups don't get user objectclasses
Remove color CSS for field backgrounds as they override disabled field display
2007-12-06 15:36:42 -05:00
Rob Crittenden 6ea3d9610e Utilize user and group objectclass lists in cn=ipaconfig
Change the syntax on user and group objectclasses in cn=ipaconfig
2007-12-06 00:30:26 -05:00
Rob Crittenden eb141b02ff Move dn removal to the XML-RPC side and remove empty attributes 2007-12-05 17:26:39 -05:00
Rob Crittenden 15b7dc6ff9 Add UI for service principal creation and keytab retrieval 2007-12-05 15:17:11 -05:00
Rob Crittenden 2fbe5cbf49 Phase 1 of allowing admins to set the default object classes for users & groups
This adds the UI and does error checking of the selected object classes but
it doesn't actually use the values yet.

It also generalizes some functions for doing multi-valued fields.
2007-12-04 13:18:37 -05:00
John Dennis d53915954e merge 2007-12-04 10:08:08 -05:00
Rob Crittenden 299e457698 Convert krbmaxpwdlife and krbminpwdlife from seconds into days and hours 2007-12-03 18:07:47 -05:00
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 002312c050 Revert logging setup change because it has unintended
consequences during ipa-server-install.
-
Rob Crittenden 8ff9f63d80 Require that the default users group exists
Fix some copy-paste errors from the password policy update
2007-11-30 13:27:33 -05:00
Rob Crittenden bac556557d Don't allow the admins or editors groups to be removed.
Don't allow the default group for users to be removed.
2007-11-30 12:49:08 -05:00
Rob Crittenden 5025e990e9 Remove optional arguments from the XML-RPC interface 2007-11-29 16:48:32 -05:00
John Dennis 6be932e8af fix merge error 2007-11-29 11:44:50 -05:00
John Dennis 904b76059c merged radius work with latest mainline tip 2007-11-28 07:49:07 -05:00
John Dennis 09238510ff add command line utilites for radius profiles 2007-11-26 19:30:33 -05:00
Karl MacMillan edc7af1446 Add xml-rpc interface for getting keytabs.
Warning: this lacks any sort of authorization.
-
Karl MacMillan 67cddce4d4 Generate master password from Simo. -
John Dennis d98686e967 Add radius profile implementations:
get_radius_profile_by_uid
  add_radius_profile
  update_radius_profile
  delete_radius_profile
  find_radius_profiles

Rewrite command line arg handling, now support pair entry, interactive
mode with auto completion, reading pairs from a file, better handling
of mandatory values, better help, long arg names now match attribute
name in pairs

Establish mappings for all attributes and names used in clients and
profiles

Add notion of containers to radius clients and profiles in LDAP

Move common code, variables, constants, and strings into the files
radius_client.py, radius_util.py, ipautil.py to eliminate redundant
elements which could get out of sync if modified and to provide access
to other code which might benefit from using these items in the
future.

Add utility functions:
  format_list()
  parse_key_value_pairs()

Add utility class:
  AttributeValueCompleter

Unify attribute usage in radius ldap schema
2007-11-21 13:11:10 -05:00
Simo Sorce 3580d0affb Use groupOfNames and member, not groupOfUniqueNames and uniqueMember 2007-11-20 10:22:43 -05:00
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
Rob Crittenden 1967aafa39 Implement the password policy UI and finish IPA policy UI
This includes a default password policy
Custom fields are now read from LDAP. The format is a list of
  dicts with keys: label, field, required.
The LDAP-based configuration now specifies:
    ipaUserSearchFields: uid,givenName,sn,telephoneNumber,ou,title
    ipaGroupSearchFields: cn,description
    ipaSearchTimeLimit: 2
    ipaSearchRecordsLimit: 0
    ipaCustomFields:
    ipaHomesRootDir: /home
    ipaDefaultLoginShell: /bin/sh
    ipaDefaultPrimaryGroup: ipausers
    ipaMaxUsernameLength: 8
    ipaPwdExpAdvNotify: 4
This could use some optimization.
2007-11-16 12:59:32 -05:00
John Dennis c4dbe6433d add ipa-findradiusclient search 2007-11-14 15:32:08 -05:00