summaryrefslogtreecommitdiffstats
path: root/src/db/sysdb.c
Commit message (Collapse)AuthorAgeFilesLines
* sysdb: try dealing with binary-content attributesJan Engelhardt2013-02-261-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | | https://fedorahosted.org/sssd/ticket/1818 I have here a LDAP user entry which has this attribute loginAllowedTimeMap:: AAAAAAAAAP///38AAP///38AAP///38AAP///38AAP///38AAAAAAAAA In the function sysdb_attrs_add_string(), called from sdap_attrs_add_ldap_attr(), strlen() is called on this blob, which is the wrong thing to do. The result of strlen is then used to populate the .v_length member of a struct ldb_val - and this will set it to zero in this case. (There is also the problem that there may not be a '\0' at all in the blob.) Subsequently, .v_length being 0 makes ldb_modify(), called from sysdb_set_entry_attr(), return LDB_ERR_INVALID_ATTRIBUTE_SYNTAX. End result is that users do not get stored in the sysdb, and programs like `id` or `getent ...` show incomplete information. The bug was encountered with sssd-1.8.5. sssd-1.5.11 seemed to behave fine, but that may not mean that is the absolute lower boundary of introduction of the problem.
* Translate LDB_ERR_ATTRIBUTE_OR_VALUE_EXISTS to EEXISTSumit Bose2013-01-081-0/+1
| | | | | | | | Currently only the LDB error code indicating that an entry already exists is translated to EEXIST. To make debugging easier and return a better indication of the reason for an error in the logs this patch translates the LDB error code for an already existing attribute or value to EEXIST as well.
* Null pointer dereferenced.Michal Zidek2012-11-281-96/+100
| | | | https://fedorahosted.org/sssd/ticket/1674
* Handle conversion to fully qualified usernamesSimo Sorce2012-11-191-0/+7
| | | | | | | In subdomains we have to use fully qualified usernames. Unfortunately we have no other good option than simply removing caches for users of subdomains. This is because the memberof plugin does not support the rename operation.
* Display more information on DB version crashOndrej Kos2012-11-191-2/+34
| | | | | | | | | | | | | https://fedorahosted.org/sssd/ticket/1589 Added check for determining, whether database version is higher or lower than expected. To distinguish it from other errors it uses following retun values (further used for appropriate error message): EMEDIUMTYPE for lower version than expected EUCLEAN for higher version than expected When SSSD or one of it's tools fails on DB version mismatch, new error message is showed suggesting how to proceed.
* sysdb: add sysdb_base_dn()Sumit Bose2012-10-261-0/+4
| | | | | Add a help function which returns the ldb_dn object for the base dn of the cache.
* SSH: Expire hosts in known_hostsJan Cholasta2012-10-051-0/+7
|
* SYSDB: Remove unnecessary domain parameter from several sysdb callsJakub Hrozek2012-09-241-17/+16
| | | | | The domain can be read from the sysdb object. Removing the domain string makes the API more self-contained.
* AUTOFS: convert the existing autofs entries during a sysdb upgradeJakub Hrozek2012-09-241-0/+7
|
* LDB_ERR_INVALID_ATTRIBUTE_SYNTAX added to sysdb_error_to_errno.Michal Zidek2012-09-201-0/+2
|
* SYSDB: Make sysdb_attrs_get_el_int() publicStephen Gallagher2012-08-211-8/+8
| | | | Also rename it to sysdb_attrs_get_el_ext()
* SYSDB: Use ldb_msg_add_string for simple string additionsJakub Hrozek2012-08-061-4/+4
|
* SYSDB: Add log message for unexpected LDB errorsStephen Gallagher2012-07-201-0/+3
|
* Add function sysdb_attrs_copy_values()Jan Zeleny2012-07-181-0/+24
| | | | | This function copies all values from one sysdb_attrs structure to another
* Ghost members - sysdb upgrade routineJan Zeleny2012-05-311-0/+7
| | | | | | | | | | | | It is remotely possible to have sysdb in an inconsistent state that might need upgrade. Consider scenario when user asks for group information. Some fake users are added as a part of this operation. Before users can be fully resolved and stored properly, SSSD is shut down and upgrade is performed. In this case we need to go over all fake user records (uidNumber=0) and replace each of them with ghost record in all group objects that are stated in its memberof attribute.
* SYSDB: check return valueJakub Hrozek2012-05-021-2/+2
| | | | | In addition to testing the number of elements, also check the return value of sysdb_attrs_get_el.
* Sysdb routines for subdomainsJan Zeleny2012-04-241-81/+110
|
* Removed unused function sysdb_attrs_users_from_ldb_vals()Jan Zeleny2012-04-181-46/+0
|
* Save alias of the primary name, tooJakub Hrozek2012-03-211-3/+9
|
* SYSDB: Save only lowercased aliases in case-insensitive domainsStephen Gallagher2012-03-161-19/+28
| | | | https://fedorahosted.org/sssd/ticket/1253
* Remove sysdb_get_ctx_from_list()Sumit Bose2012-02-291-29/+0
|
* Keep sysdb context in domain info structSumit Bose2012-02-291-0/+80
|
* SYSDB: index sudoUserJakub Hrozek2012-01-311-0/+7
| | | | | Most of the the searches in the Sudo responder include the sudoUser attribute. Indexing it will make the responder faster.
* SYSDB: Add sysdb_attrs_get_uint16_tStephen Gallagher2012-01-311-0/+26
|
* SYSDB: Add indexes for servicePort and serviceProtocolStephen Gallagher2012-01-271-0/+7
|
* SYSDB: Redundant check is redundant.Stephen Gallagher2012-01-211-5/+0
| | | | Coverity 12480
* sysdb_get_bool() and sysdb_get_bool() functionsPavel Březina2012-01-171-51/+97
|
* SUDO Integration review issuesPavel Březina2012-01-171-1/+1
|
* Export the function to convert ldb_result to sysdb_attrsJakub Hrozek2011-12-161-0/+29
| | | | It will be reused later in the sudo responder
* Use the case sensitivity flag in the LDAP providerJakub Hrozek2011-12-161-4/+32
|
* sysdb_get_real_name helper functionJakub Hrozek2011-12-161-0/+46
|
* SYSDB: add index for nameAliasStephen Gallagher2011-11-021-0/+7
|
* SYSDB: New source file for sysdb upgrade routinesStephen Gallagher2011-10-071-888/+12
|
* Use explicit base 10 for converting strings to integersJakub Hrozek2011-10-031-1/+1
| | | | https://fedorahosted.org/sssd/ticket/1013
* Add sysdb interface to get name aliasesJakub Hrozek2011-09-281-1/+59
|
* Return the first value of name if the multivalued name attribute does not ↵Jakub Hrozek2011-08-251-3/+4
| | | | | | match RDN https://fedorahosted.org/sssd/ticket/926
* sysdb refactoring: memory context deletedJan Zeleny2011-08-151-74/+81
| | | | | | This patch deletes memory context parameter in those places in sysdb where it is not necessary. The code using modified functions has been updated. Tests updated as well.
* sysdb refactoring: deleted domain variables in sysdb APIJan Zeleny2011-08-151-6/+4
| | | | | The patch also updates code using modified functions. Tests have also been adjusted.
* Added sysdb_ctx_get_domain functionJan Zeleny2011-08-151-0/+5
|
* sysdb refactoring: renamed ctx variable to sysdbJan Zeleny2011-08-151-126/+126
|
* Fix potential double-free issueStephen Gallagher2011-08-101-1/+1
| | | | tmp_ctx is a child of ctx.
* Cancel sysdb upgrade transaction if commit failsStephen Gallagher2011-08-101-60/+30
|
* Allow NULL memctx in sysdb_custom_subtree_dnStephen Gallagher2011-07-081-3/+11
| | | | ldb_dn_new_fmt() has a bug and cannot take a NULL memory context
* Added sysdb_attrs_get_bool() functionJan Zeleny2011-06-021-0/+22
|
* Make sysdb_ctx_list public structureJan Zeleny2011-05-041-0/+41
| | | | Also create a routine to initialize it
* Added originalDN to attributes with case-insensitive searchJan Zeleny2011-04-251-0/+103
| | | | https://fedorahosted.org/sssd/ticket/808
* Reopen the LDB after modifying itStephen Gallagher2011-04-151-3/+20
| | | | | If we change any of the special entries such as indexes or plugins, we need to close and reopen the LDB to ensure that they take effect.
* Run all appropriate upgradesStephen Gallagher2011-04-151-1/+17
| | | | | | Previously, if we were upgrading from version 0.4 or older, we would only run sysdb_upgrade_04() and exit, instead of also running sysdb_upgrade_05()
* Don't leak memory if sysdb_domain_init() failsStephen Gallagher2011-04-151-3/+6
|
* sysdb: use header defined macros instead of explicit valuesSimo Sorce2011-04-131-9/+9
|