Commit message (Collapse)AuthorAgeFilesLines
* Updating translations for the 1.10 beta2 releasesssd-1_9_94sssd-1_9_93sssd-1_10_beta2Jakub Hrozek2013-06-1137-18077/+20275
* Update transifex URL to transifex.comJakub Hrozek2013-06-111-1/+1
| | | | | | | | | tx was complaining about the need to rename the URL: $ tx pull -af --minimum-perc=1 Hostname should be changed to Change it now? [Y/n]y Hostname changed
* rpm: Split providers into separate subpackagesJakub Hrozek2013-06-112-47/+188
| | | | | | | | | | | | | | | | | This patch splits the previously monolithic sssd package into sssd-common that contains the deamon and the responders and per-provider packages such as sssd-ldap or sssd-ipa. This split would benefit two parties: 1) security auditors who are often trying to find the smallest package set including dependencies needed for the package to function. They would be able to i.e. install sssd-ldap and not bother about sssd-ipa or sssd-ad pulling in more dependencies. 2) 3rd party programs such as realmd or authconfig that would only be able to require or install on demand the needed packages.
* rpm: Use hardened flags for RPM buildJakub Hrozek2013-06-111-0/+4
| | | | | | | | | | | This patch adds the _hardened_build macro on platforms where it is defined by the RPM. The macro amounts to compiling with cc --spec=/usr/lib/rpm/redhat/redhat-hardened-cc1 and then linking with ld --spec=/usr/lib/rpm/redhat/redhat-hardened-ld. On Fedora 19, the gcc spec files contain -z now and fPIC or fPIE.
* Fix some doxygen warningsSumit Bose2013-06-112-5/+3
* Fix allocation check in the AD providerJakub Hrozek2013-06-111-1/+1
| | | |
* A new option krb5_use_kdcinfoJakub Hrozek2013-06-1019-49/+163
| | | | | | | | | | The patch introduces a new Kerberos provider option called krb5_use_kdcinfo. The option is true by default in all providers. When set to false, the SSSD will not create krb5 info files that the locator plugin consumes and the user would have to set up the Kerberos options manually in krb5.conf
* providers: refresh expired netgroupsPavel Březina2013-06-107-3/+213
| | | |
* back end: add refresh expired records periodic taskPavel Březina2013-06-1011-0/+70
| | | | | | Add new option refresh_expired_interval.
* back end: periodical refresh of expired records APIPavel Březina2013-06-103-0/+378
| | | |
* back end: periodic task APIPavel Březina2013-06-103-0/+449
| | | |
* man: document the need to set ldap_access_orderJakub Hrozek2013-06-101-0/+21
| | | | | | | | ldap_access_order must be set in order to non-default access control options to work. This patch amends the sssd-ldap man page to document this fact with all non-default ldap_access_order options.
* Fix dereference after a NULL check in tests.Lukas Slebodnik2013-06-101-6/+20
| | | | | | | Coverity IDs: 11870,11871 Do not call unlink with NULL pointer.
* Don't test for NULL in nscd config checkOndrej Kos2013-06-101-12/+3
| | | | | | | | | Coverity IDs: 11851, 11852, 11853 The NULL check on "entry" "service" and "enable" line string parts is not necessary and triggers warnings in coverity scans.
* dyndns: Fix NULL checkJakub Hrozek2013-06-101-1/+1
* DB: Don't add invalid rangesOndrej Kos2013-06-091-7/+10
| | | | | | | | When saving or updating ranges, skip those which are invalid (not provided ipaNTTrustedDomainSID or ipaSecondaryBaseRID, or both provided at the same time)
* rpm: Fold libsss_sudo and libsss_autofs back into the main SSSD packageJakub Hrozek2013-06-072-57/+13
| | | | | | | | | | | | | | | | libsss_sudo and libsss_autofs are separate packages that contain just a single client library with no additional dependencies. This separation comes from the F-17 timeframe where the feature was really just a tech preview so we didn't want it to be packaged in sssd proper. On the other hand users are getting regularly confused about "sudo not working" when all they really miss is the single library. This patch moves the files owned by the libsss_autofs and libsss_sudo packages back to the main sssd package. We also no longer build the libsss_sudo documentation by default and do not ship the header file as it was just a private one.
* AD: Store trusted AD domains as subdomainsJakub Hrozek2013-06-071-2/+364
| | | | | | | | | | Looks up trusted domain objects in the LDAP and stores them as AD subdomains. Currently only trusted domains that run NT5 or newer from the same forest are looked up and stored.
* AD ID lookups - choose GC or LDAP as appropriateJakub Hrozek2013-06-071-1/+262
| | | | | | | | | | | | | Some lookups should be performed from GC only -- for example trusted users are only present in the Global Catalog, while some lookups should be performed from LDAP only as not all objects or attributes are replicated to Global Catalog. This patch adds a generic failover mechanism for identity lookups in the AD provider that allows to choose the appropriate source and even fail over to the other source if available.
* AD: Add additional service to support Global Catalog lookupsJakub Hrozek2013-06-073-33/+178
| | | | | | | | | | | | When fixed host names of AD servers are configured in the config file, we can't know (unlike when service discovery is at play) if the servers are Global Catalogs or not. This patch adds a private data to servers read from the config file that denote whether the server can be tried for contacting the Global Catalog port or just LDAP. The GC or LDAP URIs are generated based on contents of this private data structure. Because SSSD sticks to a working server, we don't have to disable or remove the faulty GC servers from the list.
* LDAP: Do not store separate GID for subdomain usersJakub Hrozek2013-06-071-10/+18
| | | | | As the subdomains are MPG domains, we don't want to store a separate GID for the subdomain users, but rather just create a UPG.
* Split generating primary GID for ID mapped users into a separate functionJakub Hrozek2013-06-071-41/+70
| | | | | | Move the part of sdap_save_user into a separate function so that it can be special cased an only called for users in primary domains, not subdomain users.
* LDAP: store FQDNs for trusted users and groupsJakub Hrozek2013-06-075-12/+36
| | | | | | Because the NSS responder expects the name attribute to contain FQDN, we must save the name as FQDN in the LDAP provider if the domain we save to is a subdomain.
* LDAP: split a function to create search basesJakub Hrozek2013-06-072-29/+73
| | | | | This function will be used later to fill the sdap_domain structures with search bases.
* New utility function sss_get_domain_nameJakub Hrozek2013-06-076-41/+42
| | | | | Instead of copying a block of code that checks whether domain is a subdomain and uses only name of FQDN as appropriate, wrap the logic into a function.
* Move domain_to_basedn outside IPA subtreeJakub Hrozek2013-06-075-67/+38
| | | | | The utility function will be reused to guess search base from the base DN of AD trusted domains.
* LDAP: return sdap search return code to IDJakub Hrozek2013-06-075-50/+126
| | | | | | | | By default, the LDAP searches delete the entry from cache if it wasn't found during a search. But if a search wants to try both Global Catalog and LDAP, for example, it might be beneficial to have an option to only delete the entry from cache after the last operation fails to prevent unnecessary memberof operations for example.
* LDAP: new SDAP domain structureJakub Hrozek2013-06-0725-145/+315
| | | | | | | | | | | Previously an sdap_id_ctx was always tied to one domain with a single set of search bases. But with the introduction of Global Catalog lookups, primary domain and subdomains might have different search bases. This patch introduces a new structure sdap_domain that contains an sssd domain or subdomain and a set of search bases. With this patch, there is only one sdap_domain that describes the primary domain.
* LDAP: Pass in a connection to ID functionsJakub Hrozek2013-06-078-31/+64
| | | | | | | Instead of using the default connection from the sdap_id_ctx, allow the caller to specify which connection shall be used for this particular request. Again, no functional change is present in this patch, just another parameter is added.
* LDAP: Refactor account info handler into a tevent requestJakub Hrozek2013-06-072-163/+210
| | | | | | | | | | | | The sdap account handler was a function with its own private callback that directly called the back end handlers. This patch refactors the handler into a new tevent request that the current sdap handler calls. This refactoring would allow the caller to specify a custom sdap connection for use by the handler and optionally retry the same request with another connection inside a single per-provider handler. No functional changes are present in this patch.
* LDAP: sdap_id_ctx might contain several connectionsJakub Hrozek2013-06-0723-115/+175
| | | | | | | | | | | | | | | | | | | With some LDAP server implementations, one server might provide different "views" of the identites on different ports. One example is the Active Directory Global catalog. The provider would contact different view depending on which operation it is performing and against which SSSD domain. At the same time, these views run on the same server, which means the same server options, enumeration, cleanup or Kerberos service should be used. So instead of using several different failover ports or several instances of sdap_id_ctx, this patch introduces a new "struct sdap_id_conn_ctx" that contains the connection cache to the particular view and an instance of "struct sdap_options" that contains the URI. No functional changes are present in this patch, currently all providers use a single connection. Multiple connections will be used later in the upcoming patches.
* Do not obfuscate calls with booleansJakub Hrozek2013-06-074-31/+93
| | | | | | Instead of using boolean variables to denote whether the call is adding a primary or a secondary server, use a function wrapper that tells what it's doing by its name.
* Implicitly activate the PAC responder for AD providerSumit Bose2013-06-061-1/+2
* 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.