summaryrefslogtreecommitdiff
path: root/src/db/sysdb.h
AgeCommit message (Collapse)AuthorFilesLines
2013-09-27IPA: store forest name for forest member domainsSumit Bose1-1/+2
In order to fix https://fedorahosted.org/sssd/ticket/2093 the name of the forest must be known for a member domain of the forest.
2013-09-26sysdb: sysdb_update_members can take either name or dnPavel Březina1-2/+11
We need to work with distinguish names when processing cross-domain membership, because groups and users may be stored in different sysdb tree. Resolves: https://fedorahosted.org/sssd/ticket/2066
2013-09-23krb5: save canonical upn to sysdbSumit Bose1-0/+1
If the returned TGT contains a different user principal name (upn) than used in the request, i.e. the upn was canonicalized, we currently save it to sysdb into the same attribute where the upn coming from an LDAP server is stored as well. This means the canonical upn might be overwritten when the user data is re-read from the LDAP server. To avoid this this patch add a new attribute to sysdb where the canonical upn is stored and makes sure it is used when available. Fixes https://fedorahosted.org/sssd/ticket/2060
2013-09-10DB: Add user/group lookup by SIDOndrej Kos1-2/+18
2013-08-28SYSDB: Store enumerate flag for subdomainJakub Hrozek1-1/+2
2013-08-28DB: remove unused realm parameter from sysdb_master_domain_add_infoJakub Hrozek1-2/+1
The parameter was not used at all.
2013-08-28ipa-server-mode: add IPA group memberships to AD usersSumit Bose1-0/+1
When IPA trusts an AD domain the AD user or groups can be placed into IPA groups e.g. to put AD users under the control of HBAC. Since IPA group can only have members from the IPA directory tree and the AD users and groups are not stored there a special IPA object called external group was introduced. SIDs of users and groups can be added to the external group and since the external groups are in the IPA directory tree they can be member of IPA groups. To speed things up and to remove some load from the IPA servers SSSD reads all external groups and stores them in memory for some time before rereading the data. Enhances https://fedorahosted.org/sssd/ticket/1962
2013-08-19sysdb_add_incomplete_group: store SID string is availableSumit Bose1-1/+3
During initgroups request we read the SID of a group from the server but do not save it to the cache. This patch fixes this and might help to avoid an additional lookup of the SID later.
2013-08-19fill_initgr: add original primary GID if availableSumit Bose1-0/+1
In some cases when MPG domains are used the information about the original primary group of a user cannot be determined by looking at the explicit group memberships. In those cases the GID related to the original primary group is stored in a special attribute of the user object. This patch adds the GID of the original primary group when available and needed. Fixes https://fedorahosted.org/sssd/ticket/2027
2013-08-19sdap_save_user: save original primary GID of subdomain usersSumit Bose1-0/+1
If ID mapping is enabled we use magic private groups (MPG) for subdomains, i.e. the UID and the primary GID of the user will have the same numerical value. As a consequence the information about the original primary group might get lost because neither in AD domains nor on a typical UNIX system the user is an explicit member of it's primary group. With this patch the mapped GID or the original primary group is saved in the cached user object under a new attribute. Fixes https://fedorahosted.org/sssd/ticket/2027
2013-06-28Save mpg state for subdomainsSumit Bose1-1/+3
The information of a subdomain will use magic private groups (mpg) or not will be stored together with other information about the domain in the cache.
2013-06-28Add support for new ipaRangeType attributeSumit Bose1-0/+2
Recent versions of FreeIPA support a range type attribute to allow different type of ranges for sub/trusted-domains. If the attribute is available it will be used, if not the right value is determined with the help of the other idrange attributes. Fixes https://fedorahosted.org/sssd/ticket/1961
2013-06-06Read SIDs of groups with sysdb_initgroups() as wellSumit Bose1-0/+1
2013-05-02sysdb: add sysdb_search_object_by_sid()Sumit Bose1-0/+8
The patch add a new sysdb to find objects based on their SID. Currently only the basic attributes needed to map SIDs to POSIX IDs and names are requested, but this list can be extended for future use cases.
2013-03-05Remove the alt_db_path parameter of sysdb_initMichal Zidek1-1/+0
This parameter was never used. https://fedorahosted.org/sssd/ticket/1765
2013-02-26sysdb: try dealing with binary-content attributesJan Engelhardt1-0/+2
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-02-10Change the way domains are linked.Simo Sorce1-5/+2
- Use a double-linked list for domains and subdomains. - Never remove a subdomain, simply mark it as disabled if it becomes unused. - Rework the way subdomains are refreshed. Now sysdb_update_subdomains() actually updates the current subdomains and marks as disabled the ones not found in the sysdb or add new ones found. It never removes them. Removal of missing domains from sysdb is deferred to the providers, which will perform it at refresh time, for the ipa provider that is done by ipa_subdomains_write_mappings() now. sysdb_update_subdomains() is then used to update the memory hierarchy of the subdomains. - Removes sysdb_get_subdomains() - Removes copy_subdomain() - Add sysdb_subdomain_delete()
2013-02-10Remove sysdb_subdom completelySimo Sorce1-11/+1
struct sss_domain_info is always used to represent domains now. Adjust tests accordingly.
2013-02-10Add sysdb_subdomain_store() functionSimo Sorce1-0/+5
Replaces sysdb_add_subdomain_attributes and is a public sysdb interface.
2013-02-10Refactor sysdb_master_domain_add_info()Simo Sorce1-3/+3
2013-02-10Update main domain info in placeSimo Sorce1-4/+1
2013-02-10Avoid sysdb_subdom in sysdb_get_subdomains()Simo Sorce1-3/+3
2013-01-23SYSDB: make the sss_ldb_modify_permissive function publicJakub Hrozek1-0/+4
2013-01-16Tidy up BASE dn macrosSimo Sorce1-4/+4
2013-01-15Stop creating fake sysdb contextsSimo Sorce1-5/+0
Now that the sysdb context does not contain anymore domain related data we can simply stop creating faxe sysdb context and just reference the parent context.
2013-01-15Add domain to some subdomain functionsSimo Sorce1-0/+2
2013-01-15Add domain arguemnt to sysdb_get_real_name()Simo Sorce1-0/+1
2013-01-15Add domain argument to sysdb_idmap_ funcitonsSimo Sorce1-3/+2
2013-01-15Add domain argument to sysdb_remove_attrs()Simo Sorce1-0/+1
2013-01-15Add domain argument to sysdb_has/set_enumerated()Simo Sorce1-0/+2
2013-01-15Add domain arg to sysdb_search/delete_netgroup()Simo Sorce1-0/+2
2013-01-15Add domain argument to sysdb_delete_group()Simo Sorce1-3/+1
Also remove sysdb_delete_domgroup()
2013-01-15Add domain argument to sysdb_search_groups()Simo Sorce1-0/+1
2013-01-15Add domain argument to sysdb_delete_user()Simo Sorce1-5/+1
Also remove sysdb_delete_domuser()
2013-01-15Add domain arg to sysdb_search_users()Simo Sorce1-0/+1
2013-01-15Add domain to sysdb_delete_customSimo Sorce1-0/+1
2013-01-15Add domain argument to sysdb_search_custom()Simo Sorce1-0/+2
Also changes sysdb_search_custom_by_name()
2013-01-15Add domain argument to sysdb_store_custom()Simo Sorce1-0/+1
2013-01-15Add domain argument to sysdb_cache_auth()Simo Sorce1-0/+1
2013-01-15Add domain argument to sysdb_cache_password()Simo Sorce1-0/+1
2013-01-15Add domain arg to sysdb group member functionsSimo Sorce1-0/+3
2013-01-15Add domain argument to sysdb_store_group()Simo Sorce1-6/+1
Also remove sysdb_store_domgroup()
2013-01-15Add domain argument to sysdb_store_user()Simo Sorce1-11/+1
Also remove sysdb_store_domuser()
2013-01-15Add domain arguments to sysdb_add_inetgroup fns.Simo Sorce1-0/+2
2013-01-15Add domain arguments to sysdb_add_group functions.Simo Sorce1-0/+3
2013-01-15Add domain argument to sysdb_add_user()Simo Sorce1-0/+1
2013-01-15Add domain argument to sysdb_add_basic_user()Simo Sorce1-0/+1
2013-01-15Add domain argument to sysdb_get_new_id()Simo Sorce1-0/+1
2013-01-15Add domain argument to sysdb_set_netgroup_attr()Simo Sorce1-0/+1
2013-01-15Add domain argument to sysdb_set_group_attr()Simo Sorce1-0/+1