summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2009-10-22Add a new set of helpful common functions for testsMartin Nagy3-1/+125
The leak_check_setup() and leak_check_teardown() functions can be added to a test case with tcase_add_checked_fixture(). They will make sure that all tests are checked for memory leaks. However, since talloc is hierarchical and automatically frees the children, this will not catch all cases, but might still be helpful. The check_leaks(ctx, bytes) function takes a talloc context as an argument and the number of bytes it should be using up (children included). The total byte size used up by the context is determined by the talloc_total_size() function. If the size doesn't agree, check_leaks() will print out a talloc report on the context and makes the current test fail. The check_leaks_push() and check_leaks_pop() both take a talloc context as an argument. Every time push is called, the context is "pushed" onto an internal stack and it's current size is noted. When the context is later "poped", the pop function will make sure that the size is the same as when it was pushed. It will also check that it's not called out-of-order or if the stack isn't empty.
2009-10-22Use talloc to copy data from c-aresMartin Nagy2-27/+212
C-ares either returned a malloc-ed memory or it automatically freed the memory after out callback has returned. This patch will make sure that anything that the resolv_* function return is allocated by talloc and can be safely freed by talloc_free(). This will break the resolv tests to the point they will not be compilable. This will be addressed in a later patch with other improvements to the tests.
2009-10-22Resolver: Use talloc_get_type() for type safetyMartin Nagy1-5/+5
2009-10-22Fix potential memory leaks in the data providerMartin Nagy1-2/+4
2009-10-22Use correct talloc context in sss_names_init()Martin Nagy1-2/+2
2009-10-22Better offline/enumeration behaviorSimo Sorce1-10/+12
Go offline in case of hard errors too. It makes no sense to keep trying too often when you have bad credentials for example. Also delay starting the enumeration thread so that we finish initializations first (bind to ldap is still a blocking operation and this may interfere with clients/monitor registrations).
2009-10-22added generic LDAP search sdap_get_generic_send/_recvSumit Bose4-0/+304
2009-10-20Fix RPM builds on older versions of rpmbuildStephen Gallagher1-3/+4
Older versions of rpmbuild do not accept multiple '-f' options being specified, so we'll add the krb5_locator_plugin.so to the sss_daemon.lang filelist instead of putting it in its own file.
2009-10-20Start implementing ipa specific options.Simo Sorce8-8/+779
First step generate ldap options from ipa options. Add sssd-ipa man page too.
2009-10-20Set the Default-Stop LSB option for the SSSD sysv init scriptStephen Gallagher1-0/+1
2009-10-20Clean up rpmlint errors and warnings in sssd-client packageStephen Gallagher2-2/+8
- Run ldconfig in sssd-client post and postun - Version libnss_sss.so as libnss_sss.so.2 (to set the correct SONAME)
2009-10-20Better detect installed language filesStephen Gallagher1-4/+9
2009-10-20Use Python 3-compatible sitearch and sitelibStephen Gallagher1-2/+2
2009-10-16Always list inputs before outputsSimo Sorce1-8/+11
2009-10-16Add krb5_common.h to the list of headers to 'make dist'Stephen Gallagher1-0/+1
With this missing, RPM builds were broken.
2009-10-16Do not allow setting auth, access or chpass providers for LOCALStephen Gallagher1-0/+33
The LOCAL provider does not have a mechanism to load alternate auth, access or chpass backends, nor does it make sense to do so. This will throw a configuration error if these values are specified (unless they are explicitly also set to 'local')
2009-10-16ELAPI Compatibility code for getifaddr()Dmitri Pal10-20/+357
Addreses ticket #94 Actually works pretty well. To try use --enable-compat when build ELAPI. It will use compatibility code instead of getifaddr(). The trick in the elapi_ioctl.h with memory allocation is taken from Stevens book.
2009-10-16Add first basic IPA providerSimo Sorce2-1/+256
2009-10-16Move all krb5 provider init functionsSimo Sorce6-195/+264
Put all init functions in their own file so that the other files can be reused in other providers w/o having them in the way.
2009-10-16Move all ldap provider init functionsSimo Sorce6-145/+203
Put all init functions in their own file so that the other files can be reused in other providers w/o having them in the way.
2009-10-16Fix segfault when using SSS tools with no local providerStephen Gallagher1-5/+0
There was a double-free here. I removed the free()s within setup_db, because upon returning to sss_init_tools(), if ret != EOK, the context is freed as well.
2009-10-15Remove two unused functions.Stephen Gallagher2-18/+0
These functions were used when reconnecting to the DP after losing the connection. Since there is no DP any longer, there's no reason to have these functions.
2009-10-15Remove warnings caused by 5e2301b8a75d10e5cbbe11e26e5192b894af6ad7Stephen Gallagher1-0/+8
There were unused functions still being compiled. This will suppress them until we turn live configuration updates back on.
2009-10-15Clean up warnings in pysss.cStephen Gallagher1-8/+12
On older versions of the python headers, some arguments used 'char *' instead of 'const char *', which means that assigning a constant string such as "adduser" threw a warning about discarding qualifiers. This patch cleans up most of these warnings in this file. There remain several warnings in the sss_local_methods initialization that I do not know how to fix.
2009-10-15Check for expired passwords in LDAP providerSumit Bose4-23/+425
2009-10-15enable debugging of krb5_childSumit Bose6-8/+182
2009-10-15more implicit provider target settingsSumit Bose2-14/+76
If auth_provider or access_provider is ont set explicitly id_provider is used if it can handle auth or access control requests respectively. If not auth defaults to 'none' and the access_provider is set to 'permit'. The option 'deny' is added for the access_provider to explicitly deny access.
2009-10-15set chpass_provider implicit if not set explicitSumit Bose3-20/+67
- if chpass_provider is not given in the configuration file but an auth_provider and the auth_provider can also handle change password requests it is used as chpass_provider.
2009-10-15Return the dp error from the providersSimo Sorce6-81/+179
2009-10-15Fix offline authenticationSimo Sorce1-16/+3
The way we were processing errors from the provider caused offline authentication to stop working. Previously the problem was masked by a bug in the data provider that always returned "Success" for any operation no matter what the actual return code was. when DP got removed the bug became evident.
2009-10-14use old password if available during password changeSumit Bose1-8/+9
- if the password is reset by root we do not ask for a password during PAM_PRELIM_CHECK. But if there is one available during PAM_UPDATE_AUTHTOK we will use it, because now we are in an expired password dialog.
2009-10-14Move ldap provider configuration into its own fileSimo Sorce7-189/+254
2009-10-14Make options parser available to all providersSimo Sorce9-294/+367
2009-10-14send a message if a backend target is not configuredSumit Bose1-12/+30
If a backend target is not configured the return code is changed from PAM_SYSTEM_ERR to PAM_MODULE_UNKNOWN and an error message is sent back to the client.
2009-10-14make sdap_id_connect_* independent of sdap_id_ctxSumit Bose3-180/+188
The sdap_id_connect_* request tries to bind to an LDAP server with the default credentials. Only the opts component of the sdap_id_ctx context is used. A new request sdap_cli_connect_* is created which expects only the opts pointer as parameter and not the whole context. This makes it reusable by other providers.
2009-10-14add missing %defattr to the filelist of the client packageSumit Bose1-0/+1
2009-10-14use PYTHON_PREFIX to install SSSDConfig python APISumit Bose1-2/+2
2009-10-14SUSE specific init scriptRalf Haferkamp1-0/+78
2009-10-14Fix error messages in toolsJakub Hrozek10-35/+342
Add getpwnam, getgrnam sync versions Fix ticket #164: Groupnames in non-local domains Fix ticket #100: Error Message Modifying a user that doesn't Exist Fix ticket #214: incorrect error message when MPG already exists Fix ticket #188: Deleting and modifying users in non-local domain Fix ticket #120: Adding a user to a full domain gives unhelpful error message
2009-10-13Fix services startup when only LOCAL is configuredSimo Sorce1-0/+3
2009-10-13add a replacement if ldap_control_create is missingSumit Bose7-9/+119
2009-10-13add -Werror-implicit-function-declaration to default gcc flagsSumit Bose1-1/+2
2009-10-13Package SSSDConfig APIStephen Gallagher3-0/+64
2009-10-13Add plugin configuration schema for proxy providerStephen Gallagher1-0/+7
2009-10-12Add new SSSDConfig python APIStephen Gallagher9-0/+2111
Also adds unit tests for the SSSDConfig API
2009-10-12LDAP provider needs to link against krb librariesRalf Haferkamp1-2/+4
2009-10-12fix a wrong argument to unpack_bufferSumit Bose1-18/+40
- the patch to handle short read introduced a new variable len to store the amount of data read. Instead of using this variable unpack_buffer was called with the old variable ret. Thanks to mnagy@redhat.com for finding this. - this patch also fixes a potential error when the message size is equal to the buffer size.
2009-10-09use the correct kerberos context for each targetSumit Bose1-4/+33
- when the kerberos provider was used as a chpass_provider but not as auth_provider the backend died
2009-10-09Remove magicPrivateGroups optionSimo Sorce7-64/+17
In sssd only local is a native mpg domain, and it is forced. All other providers will have to unroll mpg users into a user/group pair of entries in the db. This allows the provider to automatically establish if the remote server provides mpg users w/o possibily conflicting manual configurations on the client trying to force an mpg behavior where none is provided.
2009-10-09Start responders predictably after providersSimo Sorce1-52/+147
Instead of waiting an arbitrary timeout, start all providers first, and wait for all of them to reply to the monitor before starting other services. Add a timeout handler so that services are started even if one of the providers fails to actually register back to the monitor. Also fixes services destructors delist_service was overriding the natural svc destructor. remove the offending code and make the svc_destructor always try to remove a service from the service list, if the service is not listed it will just be a noop.