Commit message (Collapse)AuthorAgeFilesLines
* Always send the PAC to the PAC responderSumit Bose2013-06-061-20/+18
| | | | | | | | | | | Currently while doing a Kerberos based authentication the PAC was only send to the PAC responder for principals from a different realm. This reflects the FreeIPA use case of users from trusted domains. This restriction does not make sense anymore when the data from the PAC should be used for the AD provider as well. It also makes only limited sense for the IPA use case, because when using GSSAPI the PAC of users from the local IPA domain are already evaluated by the PAC responder.
* Intermittent fix for get_user_and_group_users_doneSumit Bose2013-06-061-3/+0
| | | | | | | | | | | users_get_recv() never returns ENOENT. In general it should return EOK in the case no matching user was found. But since I forget to handle a SID based filter properly in sdap_get_users_process() an error is returned in this case which makes get_user_and_group_users_done() work as expected with this patch. There is an upcoming enhancement to users_get_recv() which I'm planning to use for a full fix.
* Enhance PAC responder for AD usersSumit Bose2013-06-067-1497/+716
| | | | | | | | | | | This patch modifies the PAC responder so that it can be used with the AD provider as well. The main difference is that the POSIX UIDs and GIDs are now lookup up with the help of the SID instead of being calculated algorithmically. This was necessary because the AD provider allows either algorithmic mapping or reading the value from attributes stored in AD. Fixes
* Read SIDs of groups with sysdb_initgroups() as wellSumit Bose2013-06-061-0/+1
* Use queue for get_subdomainsSumit Bose2013-06-041-3/+7
| | | | | | | | | | | It does not make much sense to run multiple get_subdomains request in parallel because all requests will load the same information from the server. The IPA and AD provider already implement a short timeout to avoid the multiple requests are running to fast after each other. But if the timeout is over chances are that if two or more request come in fast the first request cannot update the timeout and request will run in parallel. To avoid this the requests are queued and send one after the other to the provider.
* Add be request queueSumit Bose2013-06-042-0/+130
| | | | | | | For some backend targets it might be not desirable to run requests in parallel but to serialize them. To avoid that each provider has to implement a queue for this target this patch implements a generic queue which collects incoming requests before they are send to the target.
* Lookup domains at startupSumit Bose2013-06-048-0/+89
| | | | | | | | | | | | To make sure that e.g. the short/NetBIOS domain name is available this patch make sure that the responders send a get_domains request to their backends at startup the collect the domain information or read it from the cache if the backend is offline. For completeness I added this to all responders even if they do not need the information at the moment. Fixes
* Use deep copy for dns_domain and discovery_domainLukas Slebodnik2013-06-031-2/+4
| | | |
* Set canonicalize flag if enterprise principals are usedSumit Bose2013-05-311-1/+6
| | | | | | | In contrast to MIT KDCs AD does not automatically canonicalize the enterprise principal in an AS request but requires the canonicalize flags to be set. To be on the safe side we always enable canonicalization if enterprise principals are used.
* Fix compilation with disabled link_all_deplibs.Lukas Slebodnik2013-05-301-75/+69
| | | | | | | | | | | | | | | | | | | | From the Debian patch: ># Do not link against deplibs. This is not needed for shared libs ># on at least ELF systems since those already know which libs they ># need themself. This seems to break a few things and will be fixed ># in a better way in a future upstream version. Overlinking has several issues. An obvious one is performance on startup, a more serious is if one of the lib deps changes soname of something it links against, and you could load two versions to the memory at the same time.. This patch changes dependencies among libsss_util and libsss_child, libsss_crypt, libsss_debug. Library libsss_util no longer depends on any internal library. Each program, which was linked with libsss_util, now directly link necessary libraries (libsss_child, libsss_crypt, libsss_debug)
* Prevent segfault while processing ASQ requestLukas Slebodnik2013-05-301-0/+6
| | | |
* MAN: state default dyndns interfaceOndrej Kos2013-05-302-2/+8
| | | |
* tests: Link fqnames_tests with libsss_test_common.laJakub Hrozek2013-05-301-0/+1
* Remove branching to improve readabilityJakub Hrozek2013-05-301-23/+11
* Allow flat name in the FQname formatJakub Hrozek2013-05-307-25/+576
| | | | | | | Adds another expansion in the printf format that allows the user to use the domain flat name in the format.
* Check the validity of FQname format prior to using itJakub Hrozek2013-05-301-3/+43
| | | | | | Adds a sanity check of the fqname pattern. Fails if the username pattern is not specified at all and warns if the domain pattern is not specified.
* Add utility functions for formatting fully-qualified namesJakub Hrozek2013-05-308-44/+70
| | | | | | Instead of using printf-like functions directly, provide two wrappers that would encapsulate formatting the fully-qualified names. No functional change is present in this patch.
* Remove empty directories after tests run.Lukas Slebodnik2013-05-303-27/+12
| | | | | Empty directory tests_path is removed in function test_dom_suite_cleanup. Function test_dom_suite_cleanup is reused in other tests.
* Making order in tests.Lukas Slebodnik2013-05-303-21/+14
| | | | | | | | | --removed duplicated test-io --reusing library libsss_test_common in other tests --cmocka test sss_nss_idmap-tests was moved to cmocka dir --moved leak_check.c to libsss_test_common --moved common_tev.c,common_dom.c to libsss_test_common (leak_check.c,common_tev.c,common_dom.c) are test framework independent
* AD dyndns: extract the host name from URIJakub Hrozek2013-05-281-9/+31
* FO: Fix setting status of duplicatesJakub Hrozek2013-05-281-9/+18
* Remove unneeded commentJakub Hrozek2013-05-281-1/+0
* IPA: Check for ENOMEMJakub Hrozek2013-05-281-0/+3
* Fix dyndns timer initializationJakub Hrozek2013-05-277-11/+39
| | | | | | | The dyndns init function was starting the timer even if the updates were set to False. This patch splits the init of dynamic updates and the timer into two functions so that the back end can start the updates separately from reading the options.
* Fail with misconfigured id-mapping rangesOndrej Kos2013-05-271-1/+2
| | | | | | | | | | On misconfigured id-mapping range variables, the provider should not start. We were internally correctly setting error code for failure, but interruption of startup was not performed. Also raised the debug level of message for this misconfiguration.
* Add SID related requests to the LDAP providerSumit Bose2013-05-271-5/+230
| | | | | | | | | | | The patch adds support for BE_REQ_BY_SECID and BE_REQ_USER_AND_GROUP to the LDAP provider. Since the AD and the IPA provider use the same code they support those request now as well. Besides allowing that users and groups can be searched by the SID as well the new request allows to search users and groups in one run, i.e. if there is not user matching the search criteria groups are searched as well.
* IPA: read user and group SIDSumit Bose2013-05-271-2/+2
| | | | | To allow mapping of SIDs to names or POSIX IDs and back the related attributes must be read from the FreeIPA directory server.
* Handle SID strings in sdap_attrs_get_sid_str() as wellSumit Bose2013-05-271-9/+20
| | | | | | | This patch add a basic check if the SID returned by the LDAP server is in a string representation. If not it is assumed that a binary SID was returned by the LDAP server which is converted into a string representation which is returned to the caller.
* IPA: Always initialize ID mappingSumit Bose2013-05-271-4/+10
| | | | | Because we now always want to store SIDs in the IPA provider, we also need to always initialize the ID mapping context.
* Add a domain config attribute for realmdStef Walter2013-05-233-2/+14
| | | | | realmd needs to be able to tag various domains with basic info when it configures a domain.
* Add 'description' attribute to SSSDConfig APIStephen Gallagher2013-05-232-1/+4
| | | | It was mentioned in the manpages, but not accepted by the API
* Adding option to disable retrieving large AD groups.Lukas Slebodnik2013-05-2311-13/+74
| | | | | | | | | This commit adds new option ldap_disable_range_retrieval with default value FALSE. If this option is enabled, large groups(>1500) will not be retrieved and behaviour will be similar like was before commit ae8d047122c "LDAP: Handle very large Active Directory groups"
* Removing unused functions.Lukas Slebodnik2013-05-232-36/+0
| | | | This patch remove unused functions sdap_parse_user and sdap_parse_group
* pysss_nss_idmap: do not treat strings as sequencesSumit Bose2013-05-231-1/+1
| | | | | | | | The current PySequence_Check() also catches single strings with the effect that the string is split into characters which are send as arguments to SSSD individually. With this patch only tuples and lists are treated as sequences.
* Remove old hash support from example specStephen Gallagher2013-05-231-1/+0
| | | | | | SSSD 1.10 and later will no longer support RHEL 5, so we should be using the native hash algorithm on the newer versions of RPM by default.
* Adding script to create a SRPMLukas Slebodnik2013-05-231-0/+120
| | | | | | | | | | | Recommended way to create SRPM is to run make (prerelease-)srpm. But in previous case make file have to be generated, therefore configure script should not fail. (all sssd required dependencies have to be installed) Script can be runned without running configure, script can be runned only from git repository.
* Fix return code for AD subdomain requestSumit Bose2013-05-221-1/+3
* Check NSCD configuration fileOndrej Kos2013-05-216-7/+177
| | | | | | | | | | | | | | | nscd.conf file is now checked for the presence of caching settings for databases controlled by SSSD. Syslog warning is now written only if NSCD is running with interfering configuration or if configuration file couldn't be loaded. New configure option added to support non-standard locations --with-nscd-conf=PATH (defaultly set to /etc/nscd.conf) This is just a workaround until the following bugzilla is resolved:
* Move nscd.c from tools to utilOndrej Kos2013-05-214-9/+9
| | | | | | Preparation for the following patch which will include the nscd.c in the monitor code due to newly introduced function for checking the nscd configuration file.
* DB: Fix segfault when configuration file cannot be parsedOndrej Kos2013-05-211-0/+1
| | | |
* Remove unneeded parameter of setup_child and namespace itJakub Hrozek2013-05-205-5/+5
| | | | | setup_child() was accepting a parameter it didn't use. Also the function name was too generic, so I added a sdap prefix.
* Fixing critical format string issues.Lukas Slebodnik2013-05-2022-36/+61
| | | | | | --missing arguments. --format '%s', but argument is integer. --wrong format string, examle: '%\n'
* Fix segfault in AD Subdomains ModuleLukas Slebodnik2013-05-151-0/+2
| | | | | | In function ad_subdomains_get_netlogon_done: If variable "reply_count" is zero then variable "reply" will not be initialized. Therefore we should not continue.
* Rename SAFEALIGN macros.Michal Zidek2013-05-144-95/+114
| | | | | | | | | | | | | SAFEALIGN macros have been renamed in this patch to make it easy to pick the right macro when data is copied from byte buffer to a variable or vice versa. The renamed macros are placed in new header file to avoid code duplication (the old ones were defined in two files, one for the client code and one for the rest of sssd).
* man: Note that IPA updates are secured with GSS-TSIGJakub Hrozek2013-05-141-1/+2
* man: Clarify the AD site discovery documentationJakub Hrozek2013-05-141-1/+3
| | | |
* Fix segfault in DYNDNSOndrej Kos2013-05-141-1/+1
| | | | Added missing variable in DEBUG macro call.
* Always update cached upn if enterprise principals are usedSumit Bose2013-05-141-3/+4
| | | | | | | | | | Instead of continuing to use the initial upn if enterprise principals are used if should always be replaced. The enterprise principal is stored in the credential cache and without knowing it the ccache_for_princ() calls to determine the location of the credential cache will fail. Fixes
* Fix broken build with selinux.Lukas Slebodnik2013-05-142-2/+4
| | | | | | | | | Header file selinux/selinux.h was removed in commit 245cc346 from file ipa_selinux.c, because it breaks build without selinux. But new error was introduced. This patch fixes compilation with selinux and include header file selinux/selinux.h only if both macros exist HAVE_SELINUX and HAVE_SELINUX_LOGIN_DIR. Now ipa_selinux.c should be correctly built with and without selinux.
* Re-add a useful DEBUG messageJakub Hrozek2013-05-131-0/+2
| | | | | | | In commit 46222e5191473f9a46aec581273eb2eef22e23be we removed a very similar DEBUG message while moving the whole piece of code to the idmap library. But it turned out that the DEBUG message was useful while testing the functionality, so this patch adds it back.