summaryrefslogtreecommitdiffstats
path: root/src/responder/sudo/sudosrv_get_sudorules.c
diff options
context:
space:
mode:
authorPavel Březina <pbrezina@redhat.com>2013-01-22 14:31:37 +0100
committerJakub Hrozek <jhrozek@redhat.com>2013-01-22 19:46:30 +0100
commite54cde6e089080e919bf990ba1fee885b227000c (patch)
treed547ed76c1421f40e0eaf02627e515284727ac22 /src/responder/sudo/sudosrv_get_sudorules.c
parente0a3fbf8ba571c90a765135a04cf51a98ceaf407 (diff)
downloadsssd-e54cde6e089080e919bf990ba1fee885b227000c.tar.gz
sssd-e54cde6e089080e919bf990ba1fee885b227000c.tar.xz
sssd-e54cde6e089080e919bf990ba1fee885b227000c.zip
sudo responder: change num_rules type from size_t to uint32_t
https://fedorahosted.org/sssd/ticket/1779 2^32 should be enough to store sudo rules. size_t type was causing troubles on big endian architectures, because it wasn't used correctly in combination with D-Bus. Resolved Conflicts: src/responder/sudo/sudosrv_get_sudorules.c
Diffstat (limited to 'src/responder/sudo/sudosrv_get_sudorules.c')
-rw-r--r--src/responder/sudo/sudosrv_get_sudorules.c16
1 files changed, 8 insertions, 8 deletions
diff --git a/src/responder/sudo/sudosrv_get_sudorules.c b/src/responder/sudo/sudosrv_get_sudorules.c
index f79d47dcb..fd2902a1e 100644
--- a/src/responder/sudo/sudosrv_get_sudorules.c
+++ b/src/responder/sudo/sudosrv_get_sudorules.c
@@ -320,7 +320,7 @@ done:
static errno_t sudosrv_get_sudorules_from_cache(TALLOC_CTX *mem_ctx,
struct sudo_cmd_ctx *cmd_ctx,
struct sysdb_attrs ***_rules,
- size_t *_num_rules);
+ uint32_t *_num_rules);
static void
sudosrv_get_sudorules_dp_callback(uint16_t err_maj, uint32_t err_min,
const char *err_msg, void *ptr);
@@ -336,7 +336,7 @@ static errno_t sudosrv_get_sudorules_query_cache(TALLOC_CTX *mem_ctx,
uid_t uid,
char **groupnames,
struct sysdb_attrs ***_rules,
- size_t *_count);
+ uint32_t *_count);
errno_t sudosrv_get_rules(struct sudo_cmd_ctx *cmd_ctx)
{
@@ -346,7 +346,7 @@ errno_t sudosrv_get_rules(struct sudo_cmd_ctx *cmd_ctx)
struct sysdb_ctx *user_sysdb = NULL;
struct sysdb_ctx *rules_sysdb = NULL;
char **groupnames = NULL;
- size_t expired_rules_num = 0;
+ uint32_t expired_rules_num = 0;
struct sysdb_attrs **expired_rules = NULL;
errno_t ret;
unsigned int flags = SYSDB_SUDO_FILTER_NONE;
@@ -563,7 +563,7 @@ sudosrv_get_sudorules_dp_callback(uint16_t err_maj, uint32_t err_min,
static errno_t sudosrv_get_sudorules_from_cache(TALLOC_CTX *mem_ctx,
struct sudo_cmd_ctx *cmd_ctx,
struct sysdb_attrs ***_rules,
- size_t *_num_rules)
+ uint32_t *_num_rules)
{
TALLOC_CTX *tmp_ctx;
errno_t ret;
@@ -573,8 +573,8 @@ static errno_t sudosrv_get_sudorules_from_cache(TALLOC_CTX *mem_ctx,
const char *debug_name = NULL;
unsigned int flags = SYSDB_SUDO_FILTER_NONE;
struct sysdb_attrs **rules = NULL;
- size_t num_rules = 0;
- const char *attrs[] = { SYSDB_OBJECTCLASS
+ uint32_t num_rules = 0;
+ const char *attrs[] = { SYSDB_OBJECTCLASS,
SYSDB_SUDO_CACHE_AT_CN,
SYSDB_SUDO_CACHE_AT_USER,
SYSDB_SUDO_CACHE_AT_HOST,
@@ -671,7 +671,7 @@ static errno_t sudosrv_get_sudorules_query_cache(TALLOC_CTX *mem_ctx,
uid_t uid,
char **groupnames,
struct sysdb_attrs ***_rules,
- size_t *_count)
+ uint32_t *_count)
{
TALLOC_CTX *tmp_ctx;
char *filter;
@@ -722,7 +722,7 @@ static errno_t sudosrv_get_sudorules_query_cache(TALLOC_CTX *mem_ctx,
}
*_rules = talloc_steal(mem_ctx, rules);
- *_count = count;
+ *_count = (uint32_t)count;
ret = EOK;
done: