diff options
author | Jan Zeleny <jzeleny@redhat.com> | 2011-12-09 04:56:26 -0500 |
---|---|---|
committer | Stephen Gallagher <sgallagh@redhat.com> | 2011-12-09 08:03:57 -0500 |
commit | bb57f6003fa42856d0578ac27eb57e798be9bbb5 (patch) | |
tree | b084a7cf8bee9e2712c57b1481847377c8a73fae | |
parent | ca7325359e8763bb5c1db2ac188d22b4c100d531 (diff) | |
download | sssd-bb57f6003fa42856d0578ac27eb57e798be9bbb5.tar.gz sssd-bb57f6003fa42856d0578ac27eb57e798be9bbb5.tar.xz sssd-bb57f6003fa42856d0578ac27eb57e798be9bbb5.zip |
Fixed IPA netgroup processing
In case IPA netgroup had indirect member hosts, they wouldn't be
detected.
This patch also modifies debug messages for easier debugging in the
future.
-rw-r--r-- | src/providers/ipa/ipa_common.c | 1 | ||||
-rw-r--r-- | src/providers/ipa/ipa_common.h | 1 | ||||
-rw-r--r-- | src/providers/ipa/ipa_netgroups.c | 7 |
3 files changed, 7 insertions, 2 deletions
diff --git a/src/providers/ipa/ipa_common.c b/src/providers/ipa/ipa_common.c index de7c20d1..47242531 100644 --- a/src/providers/ipa/ipa_common.c +++ b/src/providers/ipa/ipa_common.c @@ -171,6 +171,7 @@ struct sdap_attr_map ipa_netgroup_map[] = { struct sdap_attr_map ipa_host_map[] = { { "ipa_host_object_class", "ipaHost", SYSDB_HOST_CLASS, NULL }, { "ipa_host_fqdn", "fqdn", SYSDB_NAME, NULL }, + { "ipa_host_member_of", "memberOf", SYSDB_MEMBEROF, NULL }, }; struct dp_option ipa_def_krb5_opts[] = { diff --git a/src/providers/ipa/ipa_common.h b/src/providers/ipa/ipa_common.h index 1ab1983f..22f4bc63 100644 --- a/src/providers/ipa/ipa_common.h +++ b/src/providers/ipa/ipa_common.h @@ -75,6 +75,7 @@ enum ipa_netgroup_attrs { enum ipa_host_attrs { IPA_OC_HOST = 0, IPA_AT_HOST_FQDN, + IPA_AT_HOST_MEMBER_OF, IPA_OPTS_HOST /* attrs counter */ }; diff --git a/src/providers/ipa/ipa_netgroups.c b/src/providers/ipa/ipa_netgroups.c index a8ae8d2b..fbe9ebf4 100644 --- a/src/providers/ipa/ipa_netgroups.c +++ b/src/providers/ipa/ipa_netgroups.c @@ -887,9 +887,10 @@ static int ipa_netgr_process_all(struct ipa_get_netgroups_state *state) } talloc_zfree(members); } + DEBUG(SSSDBG_TRACE_INTERNAL, ("Extracted %d netgroup members\n", j)); /* Load all UIDs */ - DEBUG(SSSDBG_TRACE_INTERNAL, ("Extracting user members of netgroup %d\n", i)); + DEBUG(SSSDBG_TRACE_ALL, ("Extracting user members of netgroup %d\n", i)); ret = extract_members(state, state->netgroups[i], SYSDB_ORIG_NETGROUP_MEMBER_USER, state->new_users, @@ -897,8 +898,9 @@ static int ipa_netgr_process_all(struct ipa_get_netgroups_state *state) if (ret != EOK) { goto done; } + DEBUG(SSSDBG_TRACE_INTERNAL, ("Extracted %d user members\n", uids_count)); - DEBUG(SSSDBG_TRACE_INTERNAL, ("Extracting host members of netgroup %d\n", i)); + DEBUG(SSSDBG_TRACE_ALL, ("Extracting host members of netgroup %d\n", i)); ret = extract_members(state, state->netgroups[i], SYSDB_ORIG_NETGROUP_MEMBER_HOST, state->new_hosts, @@ -906,6 +908,7 @@ static int ipa_netgr_process_all(struct ipa_get_netgroups_state *state) if (ret != EOK) { goto done; } + DEBUG(SSSDBG_TRACE_INTERNAL, ("Extracted %d host members\n", hosts_count)); ret = sysdb_attrs_get_el(state->netgroups[i], SYSDB_ORIG_NETGROUP_EXTERNAL_HOST, |