summaryrefslogtreecommitdiff
path: root/server/providers
AgeCommit message (Collapse)AuthorFilesLines
2010-02-15Make PAM responses more compatible with D-BUS specStephen Gallagher2-34/+108
Previously, the PAM responses could contain an arbitrary number of arguments. This is not acceptable by the D-BUS protocol, as there is no way to introspect it. This patch converts the response objects to be an array of D-BUS structs. It also fixes two potential memory leaks by not unref'ing the reply object if we get an error.
2010-02-15Make attr_type an integerStephen Gallagher1-17/+11
Previously it was a string being passed and converted into an integer. It will be more efficient this way (and simpler for other implementers)
2010-02-12Make change password errors more transparentSumit Bose4-23/+96
2010-02-12Don't pass a variable as format to talloc_asprintf()Martin Nagy2-2/+2
This practice is not recommended and can also be dangerous.
2010-02-10Fix other memory alignment issuesJakub Hrozek4-42/+55
Similar to George McCollister's patch to the pam code, this patch fixes other places in the code where we forced data into 32-bit alignment. Fixes: #390
2010-02-10Make return values more specific during password changeSumit Bose2-3/+6
- return PAM_AUTHTOK_ERR instead of PAM_SYSTEM_ERR if the password change operation fails - send a message to the user if the system is offline and the password cannot be changed
2010-02-05Document when LDAP referral chasing is availableSumit Bose1-0/+12
2010-02-05Reactivate old fd handling conditionallySumit Bose4-1/+78
Older versions of openLDAP do not provide a connection callback. This patch adds a configure check to see if the callback is available and activates the old way of handling the file description of the LDAP connection. This also means that it is not possible to follow referrals.
2010-02-05Internationalize the command-line help messageStephen Gallagher3-7/+7
2010-02-05Enable debug_timestamps by defaultStephen Gallagher3-5/+5
It can be overridden in the sssd.conf or on the commandline with --debug-timestamps=0
2010-02-02Add new option ldap_referralsSumit Bose3-1/+14
2010-02-02Use ldap connection callbacks to get file descriptorsSumit Bose4-43/+121
2010-02-01Force offline operation with SIGUSR1Stephen Gallagher1-0/+32
If the monitor receives SIGUSR1, it will instruct all providers to enter offline operation. If any individual provider receives SIGUSR1, it alone will enter offline operation.
2010-02-01Avoid 'PAM' at the beginning of define and enum namesSumit Bose3-8/+9
2010-02-01Rename PAM_USER_INFO to PAM_SYSTEM_INFOSumit Bose2-3/+3
2010-01-22Handle IPv6 addresses with the async resolverStephen Gallagher1-2/+1
2010-01-14Explicitly set async DNS timeoutStephen Gallagher1-1/+1
We will allow 5s per DNS server, no retries.
2010-01-12Re-create c-ares channels if /etc/resolv.conf is modifiedMartin Nagy1-1/+11
Fixes: #378
2010-01-11Fix return value when offline and TGT is validSumit Bose1-1/+1
Fixes CVE-2010-0014
2010-01-05Return an error for an unknown PAM requestSumit Bose4-12/+41
2009-12-18Do not blindly accept zero-length passwordsStephen Gallagher2-8/+17
2009-12-18Fix ldap child memory hierarchy and other issuesSimo Sorce8-306/+482
The timeout handler was not a child of the request so it could fire even though the request was already freed. The code wouldn't use async writes to the children so it could incur in a short write with no way to detect or recover from it. Also fixed style of some helper functions to pass explicit paramters instead of a general structure. Add common code to do async writes to pipes. Fixed async write issue for the krb5_child as well. Fix also sdap_kinit_done(), a return statement was missing and we were mixing SDAP_AUTH and errno return codes in state->result Remove usless helper function that just replicates talloc_strndup()
2009-12-18Fix for #344Sumit Bose1-13/+11
Do not handle a missing ccache file as inactive by default, check if there are still active processes of the user.
2009-12-18Do not overwrite valid TGTs when offlineSumit Bose2-42/+88
2009-12-18Handle chauthtok with PAM_PRELIM_CHECK separatelySumit Bose5-21/+69
If pam_sm_chauthtok is called with the flag PAM_PRELIM_CHECK set we generate a separate call to the sssd to validate the old password before asking for a new password and sending the change password request.
2009-12-17disable password migration codeSumit Bose1-2/+2
2009-12-17Raise DEBUG level of sdap_get_generic_done()Stephen Gallagher1-1/+1
The DEBUG level of the result should not be lower than the DEBUG level of the request. It generates too much noise when enumerate is enabled or initgroups deals with groups with large numbers of users.
2009-12-15fail over: Change the first server pick logicMartin Nagy1-5/+26
The logic of selecting the server to fail over to was changed so that we start from the server next to the one that didn't work the last time. This is because the status of a server that failed last time might get reset before we try another one. This can cause that we try to use the nonworking server repeatedly, not giving a chance to other servers. Fixes: #321
2009-12-15Don't consider one address with different port numbers as the sameMartin Nagy6-21/+38
There were two problems with the code. We were using fo_set_server_status() instead of fo_set_port_status() when we failed to connect to a service. This is a problem because if two services use the same server, or we want to use one server with two different ports, marking the whole server as bad is incorrect. The other problem was that be_resolve_server_done() was comparing the hostent structures -- these are, however, equal across multiple server:port pairs with the same server addresses. Fixes: #321
2009-12-10Consolidate code for splitting strings by separatorJakub Hrozek3-11/+7
There were two functions for parsing strings by a separator. This patch consolidates on the one previously used in confdb. This also allows stripping the tokens of whitespace. Fixes: #319
2009-12-09Correctly restart server status after the timeoutMartin Nagy1-1/+1
The macro STATUS_DIFF() was wrong causing the result to always be lower than 0, therefore the timeout was never reached. Fixes: #302
2009-12-09Add some debugging statements to fail_over and resolverMartin Nagy1-2/+60
These were very useful for debugging and hopefully still will be in the future.
2009-12-09Reduce code duplication between LDAP child and Kerberos childJakub Hrozek4-234/+160
Fixes: #294
2009-12-08Add dummy credentials to an empty ccache fileSumit Bose1-2/+54
Application like krb5-auth-dialog might get confused if there is a credential cache file without any credentials in it. This patch adds an expired credential where only the client and the server principal are set. The client principal is the user's principal and the server principal corresponds to a TGT principal of the realm the user belongs to.
2009-12-07Fix bug #311, properly set callback attributeSimo Sorce1-0/+1
2009-12-07Allow nesting to fix #310Simo Sorce1-0/+1
2009-12-07Add offline support for ipa_accessSumit Bose2-17/+134
2009-12-07Try to renew Kerberos credentialsSumit Bose5-2/+189
When using GSSAPI we need a valid service ticket to talk to the LDAP server. If the ticket is expired the LDAP client returns with 'Can't contact LDAP server'. Currently we set the backend offline if this error occurs although the server is still available. This patch checks if the TGT is expired and tries to renew the credentials before going offline.
2009-12-07Fix nested group membershipsSimo Sorce2-154/+189
Search the local db to find the local DN using the original DN as search key. This way we do not have to rely on weak and faulty heuristicts based on DN names. Add a few helper functions in the process and change the way we pass members to sysdb_store_group_send(), instead of passing users and groups list, just add member DNs to the other sysdb attrs.
2009-12-07Resolve nested groups also when rfc2307bis is usedSimo Sorce1-68/+2
2009-12-03Check LDAP structure before calling ldap_unbind_ext()Sumit Bose1-1/+3
2009-12-03Setup ldap child logging from IPA backendJakub Hrozek4-45/+54
Fixes: #296
2009-12-01Immediately return a krb5 change password request when offlineSumit Bose1-0/+7
2009-11-25Remove unneeded debugging codeSumit Bose1-9/+0
2009-11-25Fix an internal error when cache_credentials=FALSESumit Bose1-1/+4
2009-11-25Get TGT in a child process.Jakub Hrozek8-164/+1060
To avoid blocking in a synchronous call, the TGT is saved in a separate process Fixes: #277
2009-11-25Split helpers for child processesJakub Hrozek7-174/+261
Moves several functions out of providers/krb5 hierarchy into a separate module so it can be shared by the ldap child.
2009-11-25In IPA, the realm is always the domain uppercased.Simo Sorce1-2/+7
2009-11-25Fix internal options numbers testSimo Sorce1-12/+24
Unfortunately since we changed the defines to an enum the preprocessor test stopped working. Turn tests into runtime tests that will abort the process.
2009-11-23Really check return value from pam_set_itemSumit Bose1-3/+3