Commit Graph
51 Commits
Author SHA1 Message Date
Rob Crittenden 8f0d4a8ed3 Add failover to the XML-RPC client
433506
2008-02-22 14:47:15 -05:00
Simo Sorce fbb2637a48 Syntax error, ')' in the worng place throws nasty 500 errors on ldap errors :) 2008-02-21 17:16:17 -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 58071a759a Remove registration of get_keytab 2008-01-03 09:29:58 -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 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 15b7dc6ff9 Add UI for service principal creation and keytab retrieval 2007-12-05 15:17:11 -05:00
John Dennis 904b76059c merged radius work with latest mainline tip 2007-11-28 07:49:07 -05:00
Karl MacMillan edc7af1446 Add xml-rpc interface for getting keytabs.
Warning: this lacks any sort of authorization.
-
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
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
John Dennis c24da12fe1 radius client modify and delete work 2007-11-14 00:04:19 -05:00
John Dennis eab5a89d4a ipa-addradiusclient now working 2007-11-13 20:05:02 -05:00
Rob Crittenden d9194cdd09 Don't continue if a kerberos credentials cache is not available
forked-model detection was incorrect.
Both of these return an error instead of raising one
2007-11-09 14:55:41 -05:00
Karl MacMillan 27f0aab667 Rename memberOf to group_members in xml-rpc interface. -
Rob Crittenden 1d6e88565c Add memberOf API call to the XML-RPC interface
Make find-groups use memberOf to have a prettier dispaly of members
2007-10-30 15:07:02 -04:00
Rob Crittenden 04636b8ae7 Add an LDAP attribute -> label mapping function to XML-RPC layer
Move some ACI functions around in preparation for cli delegation
2007-10-22 17:06:52 -04:00
Kevin McCarthy 5e651a6496 Finish the email autosuggest.
For now I've added a new API call.  The field-specific searching is
a ways off.
2007-10-18 14:33:55 -07:00
Kevin McCarthy fbbdd27b53 Creates an update_entry api call, aliases update_user and update_group to it. 2007-10-15 09:04:13 -07:00
Kevin McCarthy 63f7cdf7f7 Adds delegation listing and creation to the GUI. 2007-10-12 15:11:55 -07:00
Kevin McCarthy 2b38769b50 Combine get_user/group by dn/cn into get_entry_by_cn/dn.
Also a couple double-escaping fixes I missed in the last patch.
2007-10-09 09:26:16 -07:00
Simo Sorce cfac4acf9f Rely more on kerberos.
Don't read ipa.conf to get the realm, the kerberos libs do that for you.
Use the krbPrincipalName to change passwords
Make it possible to specify the principal at user creation.
Mail is not a required attribute so far, don't require it.
2007-10-01 17:33:16 -04:00
Kevin McCarthy dbf8c1aeb9 Add group management to the user edit page.
Added a couple more API calls to make the inverse operations easier.
2007-09-28 16:01:42 -07:00
rcritten@redhat.com 0cfccd0f8c Don't include opts in any public argument lists. It is used internally only. 2007-10-01 13:34:43 -04:00
Kevin McCarthy 1725397a53 Adds methods to manipulate groups by dns.
Renamed some of the user_group parameters to be self-evident.
Binary wrapping isn't necessary on strings, so removed from xmlrpc calls.
2007-09-26 15:47:34 -07:00
rcritten@redhat.com f8eda3da3e Fix a couple of XML-RPC functions that were missing the opts argument
Include a kerberized XML-RPC client that will list the XML-RPC API
2007-09-26 16:31:43 -04:00
Kevin McCarthy fa7759684f Adds manager and direct reports to usershow page.
Fixes a bug with the group by member where is wasn't trapping not found errors.
2007-09-25 15:44:49 -07:00
Kevin McCarthy 765279d82b Show the list of groups a user belongs to. 2007-09-25 13:35:43 -07:00
rcritten@redhat.com a1196902aa Print the request environment for debugging purposes. 2007-09-24 15:24:44 -04:00
rcritten@redhat.com 2fec56d679 Enable LDAP debugging using the mod_python Apache configuration directive
PythonOption IPADebug On/Off
2007-09-21 14:39:52 -04:00
rcritten@redhat.com b85668579e Use ticket forwarding with TurboGears. mod_proxy forwards the principal
name and location of the keytab. In order for this keytab to be usable
 TurboGears and Apache will need to run as the same user. We will also need
 to listen only on localhost in TG.
2007-09-14 17:19:02 -04:00
rcritten@redhat.com ed6ab17c9c Add function to allow user's to set/reset their kerberos password
Remove some unused calls to retrieve the current realm
2007-09-11 02:48:53 -04:00
rcritten@redhat.com 9b30f46744 Enable LDAP SASL authentication using a forwarded kerberos ticket
Handle both SASL auth and proxied authentication
Refactor LDAP connection code to be simpler
Other small bug fixes
2007-09-05 13:14:23 -04:00
rcritten@redhat.com eebaa73d3d Implement delete users and groups
Implement adding a group to a group
Some other small fixups
Add new cmd-line tool ipa-delgroup
2007-08-28 13:52:08 -04:00
Karl MacMillan 6eea6664e0 This patch wraps binary data in an xmlrpclib Binary object. This
removes the need for LDIF conversion.  It will make TurboGears direct
code faster, but should keep xmlrpc about the same speed.

The patch also swaps out ldap.cidict for the IPA CIDict class.  IPA code
should only use the CIDict class now.
-
Karl MacMillan f437ecfad1 Fix minor error in previous patch. -
rcritten@redhat.com a5b7e3f56b Include any LDAP error strings in XML-RPC Fault exceptions
Put a try/except around attempts to determine user uniqueness
2007-08-27 13:45:28 -04:00
rcritten@redhat.com 861cda3cb5 Initial support for Groups
Create separate object for Users and Groups (using same base class)
Check for uniqueness before adding new users and groups
Remove user_container from everything but add operations
Abstract out a number of functions that are common across users and groups
Make sure all strings passed in to be in a filter are checked
Add new error message: No modifications specified
2007-08-24 15:42:56 -04:00
rcritten@redhat.com 8879ee173e Handle optional arguments by using the value __NONE__ over XML-RPC.
rpcclient.py must call XML-RPC functions with all arguments.
Removed encode_args and decode_args. They were the source of most of the
  argument pain. Now opts is alwyas appended to the end of the arguments
  so MUST be the last argument in any server-side function (can be None)
Allow the User object to handle unicode data
Small fixes to command-line tools to be friendlier
Broke out get_user() into get_user_by_dn() and get_user_by_uid()
Need to request more than just 'nsAccountLock' attribute when trying to
  see if a user is already marked deleted. If it is blank the record
  coming back is empty. Add 'uid' to the list to guarantee something coming
  back (dn is handled specially)
Added user_container attribute to get_user_* and add_user so the caller
  can specify where in the tree the user will be searched for/added.
Added global default value for user_container
2007-08-23 09:44:00 -04:00
Kevin McCarthy 7691653c0a Create ipaerror module.
Move LDAPError trapping/conversion into the ipaldap module.
Fix xmlrpc layer to encode/decode ipaerrors properly.
Also, implement mid-air collision exception for updates.
2007-08-22 10:30:51 -07:00
rcritten@redhat.com 05f6a22110 Implement user inactivation
Comment some functions
Add attribute argument to get_user()
2007-08-17 10:03:33 -04:00
rcritten@redhat.com 5f0f23ee91 Ensure that the Apache server is in forked mode
Add ability to update existing users
Try to prevent fetching and setting empty strings
2007-08-14 17:22:05 -04:00
rcritten@redhat.com cfaa28150b Basic LDAP connection pooling
Implement user search
2007-08-13 16:41:38 -04:00
rcritten@redhat.com 993f76fe60 - Abstracted client class to work directly or over RPC
- Add mod_auth_kerb and cyrus-sasl-gssapi to Requires
- Remove references to admin server in ipa-server-setupssl
- Generate a client certificate for the XML-RPC server to connect to LDAP with
- Create a keytab for Apache
- Create an ldif with a test user
- Provide a certmap.conf for doing SSL client authentication
- Update tools to use kerberos
- Add User class
2007-08-06 10:05:53 -04:00
Karl MacMillan 8cf45633fe Fixed broken patches and server spec. -