diff options
author | Stephen Gallagher <sgallagh@redhat.com> | 2009-03-02 09:35:06 -0500 |
---|---|---|
committer | Simo Sorce <ssorce@redhat.com> | 2009-03-02 09:47:54 -0500 |
commit | 5e3966c99180abdcd1e21774a882f1c14c47aae8 (patch) | |
tree | 1a882b9d49f2c7ac25d70f0bbb644b5cefed6439 /server/util | |
parent | 6f5b1ad8c234d58041e45aef4558d50f44d7f021 (diff) | |
download | sssd-5e3966c99180abdcd1e21774a882f1c14c47aae8.tar.gz sssd-5e3966c99180abdcd1e21774a882f1c14c47aae8.tar.bz2 sssd-5e3966c99180abdcd1e21774a882f1c14c47aae8.zip |
Implement GetUserAttributes in the InfoPipe
This patch adds support for requesting user data in the sysdb via
the InfoPipe. It currently has support for reading defined entries
of integral, floating-point or string types.
Tasks remaining:
1) Implement call to the provider when cache is out of date
2) Support byte arrays for userpic and similar
I modified sysdb_search_ctx in sysdb_search.c to accept an array of
attributes to pass into the LDB search.
I also made one additional related fix: the btreemap now sorts in the
correct order. Previously I had accidentally transposed the two
values for sorting, so the map would always have been in exact
reverse order.
Diffstat (limited to 'server/util')
-rw-r--r-- | server/util/btreemap.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/server/util/btreemap.c b/server/util/btreemap.c index 2d9b1761..9bfc9855 100644 --- a/server/util/btreemap.c +++ b/server/util/btreemap.c @@ -65,7 +65,7 @@ int btreemap_search_key(struct btreemap *map, const void *key, struct btreemap * tempnode = map; while (found == BTREEMAP_EMPTY) { - result = tempnode->comparator(tempnode->key, key); + result = tempnode->comparator(key, tempnode->key); if (result > 0) { if (tempnode->right) @@ -150,6 +150,8 @@ int btreemap_set_value(TALLOC_CTX *mem_ctx, new_node->key = talloc_steal(new_node, key); new_node->value = talloc_steal(new_node, value); new_node->comparator = comparator; + new_node->left = NULL; + new_node->right = NULL; if (found == BTREEMAP_EMPTY) |