summaryrefslogtreecommitdiff
path: root/src/db/sysdb.c
AgeCommit message (Collapse)AuthorFilesLines
2013-02-26sysdb: try dealing with binary-content attributesJan Engelhardt1-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.
2013-01-15Kill sysdb->domainSimo Sorce1-1/+0
Finally remove this upside-down dependency.
2013-01-15Move mpg flag to the domain where it belongsSimo Sorce1-6/+0
A sysdb contains now multiple domains, but the mpg property is a property of a specific domain not of the underlying database.
2013-01-15Pass the domain to upgrade functionsSimo Sorce1-2/+2
2013-01-15Add domain arguemnt to sysdb_get_real_name()Simo Sorce1-1/+2
2013-01-15Add domain argument to sysdb_has/set_enumerated()Simo Sorce1-7/+5
2013-01-15Pass domain to sysdb_get<pw/gr>nam() functionsSimo Sorce1-1/+1
Also allows us to remove sysdb_subdom_get<pw/gr>nam() wrappers and restore fqnames proper value in subdomains, by testing for a parent domain being present or not.
2013-01-15Upgrade DB and move ranges into top level objectSimo Sorce1-0/+7
2013-01-15Make sysdb_custom_subtree_dn() require a domain.Simo Sorce1-1/+2
2013-01-15Make sysdb_custom_dn() require a domain.Simo Sorce1-1/+2
2013-01-15Make sysdb_domain_dn() require a domain.Simo Sorce1-2/+4
2013-01-15Make sysdb_netgroup_base_dn() require a domain.Simo Sorce1-3/+5
2013-01-15Make sysdb_netgroup_dn() require a domain explictly.Simo Sorce1-2/+2
2013-01-15Make sysdb_group_dn() require a domain explictly.Simo Sorce1-2/+2
2013-01-15Make sysdb_user_dn() require a domain explictly.Simo Sorce1-2/+2
2013-01-15Remove the sysdb_ctx_get_domain() function.Simo Sorce1-5/+0
We are deprecating sysdb->domain so kill the function that gives access to this member as we should stop relying on it being available (or correct).
2013-01-15Refactor single domain initializationSimo Sorce1-31/+0
Bring it out of sysdb, which will slowly remove internal dependencies on domains and instead will always require them to be passed by callers.
2013-01-15Refactor sysdb initializationSimo Sorce1-128/+11
Change the way sysdbs are initialized. Make callers responsible for providing the list of domains. Remove the returned array of sysdb contexts, it was used only by sss_cache and not really necessary there either as that tool can easily iterate the domains. Make sysdb ctx children of their respective domains. Neither sysdb context nor domains are ever freed until a program is done so there shouldn't be any memory hierarchy issue. As plus we simplify the code by removing a destructor and a setter function.
2013-01-08Translate LDB_ERR_ATTRIBUTE_OR_VALUE_EXISTS to EEXISTSumit Bose1-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.
2012-11-28Null pointer dereferenced.Michal Zidek1-96/+100
https://fedorahosted.org/sssd/ticket/1674
2012-11-19Handle conversion to fully qualified usernamesSimo Sorce1-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.
2012-11-19Display more information on DB version mismatchOndrej Kos1-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.
2012-10-26sysdb: add sysdb_base_dn()Sumit Bose1-0/+4
Add a help function which returns the ldb_dn object for the base dn of the cache.
2012-10-05SSH: Expire hosts in known_hostsJan Cholasta1-0/+7
2012-09-24SYSDB: Remove unnecessary domain parameter from several sysdb callsJakub Hrozek1-17/+16
The domain can be read from the sysdb object. Removing the domain string makes the API more self-contained.
2012-09-24AUTOFS: convert the existing autofs entries during a sysdb upgradeJakub Hrozek1-0/+7
2012-09-20LDB_ERR_INVALID_ATTRIBUTE_SYNTAX added to sysdb_error_to_errno.Michal Zidek1-0/+2
2012-08-21SYSDB: Make sysdb_attrs_get_el_int() publicStephen Gallagher1-8/+8
Also rename it to sysdb_attrs_get_el_ext()
2012-08-06SYSDB: Use ldb_msg_add_string for simple string additionsJakub Hrozek1-4/+4
2012-07-20SYSDB: Add log message for unexpected LDB errorsStephen Gallagher1-0/+3
2012-07-18Add function sysdb_attrs_copy_values()Jan Zeleny1-0/+24
This function copies all values from one sysdb_attrs structure to another
2012-05-31Ghost members - sysdb upgrade routineJan Zeleny1-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.
2012-05-02SYSDB: check return valueJakub Hrozek1-2/+2
In addition to testing the number of elements, also check the return value of sysdb_attrs_get_el.
2012-04-24Sysdb routines for subdomainsJan Zeleny1-81/+110
2012-04-18Removed unused function sysdb_attrs_users_from_ldb_vals()Jan Zeleny1-46/+0
2012-03-21Save alias of the primary name, tooJakub Hrozek1-3/+9
2012-03-16SYSDB: Save only lowercased aliases in case-insensitive domainsStephen Gallagher1-19/+28
https://fedorahosted.org/sssd/ticket/1253
2012-02-29Remove sysdb_get_ctx_from_list()Sumit Bose1-29/+0
2012-02-29Keep sysdb context in domain info structSumit Bose1-0/+80
2012-01-31SYSDB: index sudoUserJakub Hrozek1-0/+7
Most of the the searches in the Sudo responder include the sudoUser attribute. Indexing it will make the responder faster.
2012-01-31SYSDB: Add sysdb_attrs_get_uint16_tStephen Gallagher1-0/+26
2012-01-27SYSDB: Add indexes for servicePort and serviceProtocolStephen Gallagher1-0/+7
2012-01-21SYSDB: Redundant check is redundant.Stephen Gallagher1-5/+0
Coverity 12480
2012-01-17sysdb_get_bool() and sysdb_get_bool() functionsPavel Březina1-51/+97
2012-01-17SUDO Integration review issuesPavel Březina1-1/+1
2011-12-16Export the function to convert ldb_result to sysdb_attrsJakub Hrozek1-0/+29
It will be reused later in the sudo responder
2011-12-16Use the case sensitivity flag in the LDAP providerJakub Hrozek1-4/+32
2011-12-16sysdb_get_real_name helper functionJakub Hrozek1-0/+46
2011-11-02SYSDB: add index for nameAliasStephen Gallagher1-0/+7
2011-10-07SYSDB: New source file for sysdb upgrade routinesStephen Gallagher1-888/+12