1
0
mirror of https://github.com/samba-team/samba.git synced 2025-01-11 05:18:09 +03:00

r11137: Compile with only 2 warnings (I'm still working on that code) on a gcc4

x86_64 box.
Jeremy.
(This used to be commit d720867a78)
This commit is contained in:
Jeremy Allison 2005-10-18 03:24:00 +00:00 committed by Gerald (Jerry) Carter
parent afca439d19
commit 8d7c886671
66 changed files with 479 additions and 464 deletions

View File

@ -237,9 +237,9 @@ static NTSTATUS check_ntlm_password(const struct auth_context *auth_context,
DEBUG(100, ("user_info has passwords of length %d and %d\n", DEBUG(100, ("user_info has passwords of length %d and %d\n",
(int)user_info->lm_resp.length, (int)user_info->nt_resp.length)); (int)user_info->lm_resp.length, (int)user_info->nt_resp.length));
DEBUG(100, ("lm:\n")); DEBUG(100, ("lm:\n"));
dump_data(100, user_info->lm_resp.data, user_info->lm_resp.length); dump_data(100, (const char *)user_info->lm_resp.data, user_info->lm_resp.length);
DEBUG(100, ("nt:\n")); DEBUG(100, ("nt:\n"));
dump_data(100, user_info->nt_resp.data, user_info->nt_resp.length); dump_data(100, (const char *)user_info->nt_resp.data, user_info->nt_resp.length);
#endif #endif
/* This needs to be sorted: If it doesn't match, what should we do? */ /* This needs to be sorted: If it doesn't match, what should we do? */

View File

@ -119,7 +119,7 @@ machine %s. Error was : %s.\n", dc_name, nt_errstr(result)));
/* We need to set up a creds chain on an unauthenticated netlogon pipe. */ /* We need to set up a creds chain on an unauthenticated netlogon pipe. */
uint32 neg_flags = NETLOGON_NEG_AUTH2_FLAGS; uint32 neg_flags = NETLOGON_NEG_AUTH2_FLAGS;
uint32 sec_chan_type = 0; uint32 sec_chan_type = 0;
char machine_pwd[16]; unsigned char machine_pwd[16];
if (!get_trust_pw(domain, machine_pwd, &sec_chan_type)) { if (!get_trust_pw(domain, machine_pwd, &sec_chan_type)) {
DEBUG(0, ("connect_to_domain_password_server: could not fetch " DEBUG(0, ("connect_to_domain_password_server: could not fetch "

View File

@ -373,7 +373,7 @@ BOOL make_user_info_for_reply(auth_usersupplied_info **user_info,
#ifdef DEBUG_PASSWORD #ifdef DEBUG_PASSWORD
DEBUG(10,("Unencrypted password (len %d):\n",(int)plaintext_password.length)); DEBUG(10,("Unencrypted password (len %d):\n",(int)plaintext_password.length));
dump_data(100, plaintext_password.data, plaintext_password.length); dump_data(100, (const char *)plaintext_password.data, plaintext_password.length);
#endif #endif
SMBencrypt( (const char *)plaintext_password.data, (const uchar*)chal, local_lm_response); SMBencrypt( (const char *)plaintext_password.data, (const uchar*)chal, local_lm_response);
@ -693,7 +693,7 @@ NT_USER_TOKEN *get_root_nt_token( void )
******************************************************************************/ ******************************************************************************/
static NTSTATUS get_user_groups(const char *username, uid_t uid, gid_t gid, static NTSTATUS get_user_groups(const char *username, uid_t uid, gid_t gid,
int *n_groups, DOM_SID **groups, gid_t **unix_groups) size_t *n_groups, DOM_SID **groups, gid_t **unix_groups)
{ {
int n_unix_groups; int n_unix_groups;
int i; int i;
@ -787,7 +787,7 @@ static NTSTATUS add_user_groups(auth_serversupplied_info **server_info,
NTSTATUS nt_status; NTSTATUS nt_status;
const DOM_SID *user_sid = pdb_get_user_sid(sampass); const DOM_SID *user_sid = pdb_get_user_sid(sampass);
const DOM_SID *group_sid = pdb_get_group_sid(sampass); const DOM_SID *group_sid = pdb_get_group_sid(sampass);
int n_groupSIDs = 0; size_t n_groupSIDs = 0;
DOM_SID *groupSIDs = NULL; DOM_SID *groupSIDs = NULL;
gid_t *unix_groups = NULL; gid_t *unix_groups = NULL;
NT_USER_TOKEN *token; NT_USER_TOKEN *token;
@ -1197,7 +1197,7 @@ NTSTATUS make_server_info_info3(TALLOC_CTX *mem_ctx,
uid_t uid; uid_t uid;
gid_t gid; gid_t gid;
int n_lgroupSIDs; size_t n_lgroupSIDs;
DOM_SID *lgroupSIDs = NULL; DOM_SID *lgroupSIDs = NULL;
gid_t *unix_groups = NULL; gid_t *unix_groups = NULL;

View File

@ -400,8 +400,8 @@ static BOOL group_map_remove(const DOM_SID *sid)
Enumerate the group mapping. Enumerate the group mapping.
****************************************************************************/ ****************************************************************************/
static BOOL enum_group_mapping(enum SID_NAME_USE sid_name_use, GROUP_MAP **rmap, static BOOL enum_group_mapping(enum SID_NAME_USE sid_name_use, GROUP_MAP **pp_rmap,
int *num_entries, BOOL unix_only) size_t *p_num_entries, BOOL unix_only)
{ {
TDB_DATA kbuf, dbuf, newkey; TDB_DATA kbuf, dbuf, newkey;
fstring string_sid; fstring string_sid;
@ -409,15 +409,15 @@ static BOOL enum_group_mapping(enum SID_NAME_USE sid_name_use, GROUP_MAP **rmap,
GROUP_MAP map; GROUP_MAP map;
GROUP_MAP *mapt; GROUP_MAP *mapt;
int ret; int ret;
int entries=0; size_t entries=0;
if(!init_group_mapping()) { if(!init_group_mapping()) {
DEBUG(0,("failed to initialize group mapping\n")); DEBUG(0,("failed to initialize group mapping\n"));
return(False); return(False);
} }
*num_entries=0; *p_num_entries=0;
*rmap=NULL; *pp_rmap=NULL;
for (kbuf = tdb_firstkey(tdb); for (kbuf = tdb_firstkey(tdb);
kbuf.dptr; kbuf.dptr;
@ -458,14 +458,14 @@ static BOOL enum_group_mapping(enum SID_NAME_USE sid_name_use, GROUP_MAP **rmap,
decode_sid_name_use(group_type, map.sid_name_use); decode_sid_name_use(group_type, map.sid_name_use);
DEBUG(11,("enum_group_mapping: returning group %s of type %s\n", map.nt_name ,group_type)); DEBUG(11,("enum_group_mapping: returning group %s of type %s\n", map.nt_name ,group_type));
mapt= SMB_REALLOC_ARRAY((*rmap), GROUP_MAP, entries+1); mapt= SMB_REALLOC_ARRAY((*pp_rmap), GROUP_MAP, entries+1);
if (!mapt) { if (!mapt) {
DEBUG(0,("enum_group_mapping: Unable to enlarge group map!\n")); DEBUG(0,("enum_group_mapping: Unable to enlarge group map!\n"));
SAFE_FREE(*rmap); SAFE_FREE(*pp_rmap);
return False; return False;
} }
else else
(*rmap) = mapt; (*pp_rmap) = mapt;
mapt[entries].gid = map.gid; mapt[entries].gid = map.gid;
sid_copy( &mapt[entries].sid, &map.sid); sid_copy( &mapt[entries].sid, &map.sid);
@ -477,7 +477,7 @@ static BOOL enum_group_mapping(enum SID_NAME_USE sid_name_use, GROUP_MAP **rmap,
} }
*num_entries=entries; *p_num_entries=entries;
return True; return True;
} }
@ -486,7 +486,7 @@ static BOOL enum_group_mapping(enum SID_NAME_USE sid_name_use, GROUP_MAP **rmap,
* store a list of aliases a SID is member of hanging off MEMBEROF/SID. */ * store a list of aliases a SID is member of hanging off MEMBEROF/SID. */
static NTSTATUS one_alias_membership(const DOM_SID *member, static NTSTATUS one_alias_membership(const DOM_SID *member,
DOM_SID **sids, int *num) DOM_SID **sids, size_t *num)
{ {
fstring key, string_sid; fstring key, string_sid;
TDB_DATA kbuf, dbuf; TDB_DATA kbuf, dbuf;
@ -528,10 +528,10 @@ static NTSTATUS one_alias_membership(const DOM_SID *member,
return NT_STATUS_OK; return NT_STATUS_OK;
} }
static NTSTATUS alias_memberships(const DOM_SID *members, int num_members, static NTSTATUS alias_memberships(const DOM_SID *members, size_t num_members,
DOM_SID **sids, int *num) DOM_SID **sids, size_t *num)
{ {
int i; size_t i;
*num = 0; *num = 0;
*sids = NULL; *sids = NULL;
@ -547,7 +547,7 @@ static NTSTATUS alias_memberships(const DOM_SID *members, int num_members,
static BOOL is_aliasmem(const DOM_SID *alias, const DOM_SID *member) static BOOL is_aliasmem(const DOM_SID *alias, const DOM_SID *member)
{ {
DOM_SID *sids; DOM_SID *sids;
int i, num; size_t i, num;
/* This feels the wrong way round, but the on-disk data structure /* This feels the wrong way round, but the on-disk data structure
* dictates it this way. */ * dictates it this way. */
@ -622,7 +622,7 @@ static NTSTATUS add_aliasmem(const DOM_SID *alias, const DOM_SID *member)
struct aliasmem_closure { struct aliasmem_closure {
const DOM_SID *alias; const DOM_SID *alias;
DOM_SID **sids; DOM_SID **sids;
int *num; size_t *num;
}; };
static int collect_aliasmem(TDB_CONTEXT *tdb_ctx, TDB_DATA key, TDB_DATA data, static int collect_aliasmem(TDB_CONTEXT *tdb_ctx, TDB_DATA key, TDB_DATA data,
@ -671,7 +671,7 @@ static int collect_aliasmem(TDB_CONTEXT *tdb_ctx, TDB_DATA key, TDB_DATA data,
return 0; return 0;
} }
static NTSTATUS enum_aliasmem(const DOM_SID *alias, DOM_SID **sids, int *num) static NTSTATUS enum_aliasmem(const DOM_SID *alias, DOM_SID **sids, size_t *num)
{ {
GROUP_MAP map; GROUP_MAP map;
struct aliasmem_closure closure; struct aliasmem_closure closure;
@ -703,7 +703,7 @@ static NTSTATUS del_aliasmem(const DOM_SID *alias, const DOM_SID *member)
{ {
NTSTATUS result; NTSTATUS result;
DOM_SID *sids; DOM_SID *sids;
int i, num; size_t i, num;
BOOL found = False; BOOL found = False;
char *member_string; char *member_string;
TDB_DATA kbuf, dbuf; TDB_DATA kbuf, dbuf;
@ -1136,10 +1136,10 @@ NTSTATUS pdb_default_delete_group_mapping_entry(struct pdb_methods *methods,
NTSTATUS pdb_default_enum_group_mapping(struct pdb_methods *methods, NTSTATUS pdb_default_enum_group_mapping(struct pdb_methods *methods,
enum SID_NAME_USE sid_name_use, enum SID_NAME_USE sid_name_use,
GROUP_MAP **rmap, int *num_entries, GROUP_MAP **pp_rmap, size_t *p_num_entries,
BOOL unix_only) BOOL unix_only)
{ {
return enum_group_mapping(sid_name_use, rmap, num_entries, unix_only) ? return enum_group_mapping(sid_name_use, pp_rmap, p_num_entries, unix_only) ?
NT_STATUS_OK : NT_STATUS_UNSUCCESSFUL; NT_STATUS_OK : NT_STATUS_UNSUCCESSFUL;
} }
@ -1247,22 +1247,22 @@ NTSTATUS pdb_default_del_aliasmem(struct pdb_methods *methods,
} }
NTSTATUS pdb_default_enum_aliasmem(struct pdb_methods *methods, NTSTATUS pdb_default_enum_aliasmem(struct pdb_methods *methods,
const DOM_SID *alias, DOM_SID **members, const DOM_SID *alias, DOM_SID **pp_members,
int *num_members) size_t *p_num_members)
{ {
return enum_aliasmem(alias, members, num_members); return enum_aliasmem(alias, pp_members, p_num_members);
} }
NTSTATUS pdb_default_alias_memberships(struct pdb_methods *methods, NTSTATUS pdb_default_alias_memberships(struct pdb_methods *methods,
TALLOC_CTX *mem_ctx, TALLOC_CTX *mem_ctx,
const DOM_SID *domain_sid, const DOM_SID *domain_sid,
const DOM_SID *members, const DOM_SID *members,
int num_members, size_t num_members,
uint32 **alias_rids, uint32 **pp_alias_rids,
int *num_alias_rids) size_t *p_num_alias_rids)
{ {
DOM_SID *alias_sids; DOM_SID *alias_sids;
int i, num_alias_sids; size_t i, num_alias_sids;
NTSTATUS result; NTSTATUS result;
alias_sids = NULL; alias_sids = NULL;
@ -1274,17 +1274,17 @@ NTSTATUS pdb_default_alias_memberships(struct pdb_methods *methods,
if (!NT_STATUS_IS_OK(result)) if (!NT_STATUS_IS_OK(result))
return result; return result;
*alias_rids = TALLOC_ARRAY(mem_ctx, uint32, num_alias_sids); *pp_alias_rids = TALLOC_ARRAY(mem_ctx, uint32, num_alias_sids);
if (*alias_rids == NULL) if (*pp_alias_rids == NULL)
return NT_STATUS_NO_MEMORY; return NT_STATUS_NO_MEMORY;
*num_alias_rids = 0; *p_num_alias_rids = 0;
for (i=0; i<num_alias_sids; i++) { for (i=0; i<num_alias_sids; i++) {
if (!sid_peek_check_rid(domain_sid, &alias_sids[i], if (!sid_peek_check_rid(domain_sid, &alias_sids[i],
&(*alias_rids)[*num_alias_rids])) &(*pp_alias_rids)[*p_num_alias_rids]))
continue; continue;
*num_alias_rids += 1; *p_num_alias_rids += 1;
} }
SAFE_FREE(alias_sids); SAFE_FREE(alias_sids);
@ -1334,7 +1334,7 @@ NTSTATUS pdb_nop_delete_group_mapping_entry(struct pdb_methods *methods,
NTSTATUS pdb_nop_enum_group_mapping(struct pdb_methods *methods, NTSTATUS pdb_nop_enum_group_mapping(struct pdb_methods *methods,
enum SID_NAME_USE sid_name_use, enum SID_NAME_USE sid_name_use,
GROUP_MAP **rmap, int *num_entries, GROUP_MAP **rmap, size_t *num_entries,
BOOL unix_only) BOOL unix_only)
{ {
return NT_STATUS_UNSUCCESSFUL; return NT_STATUS_UNSUCCESSFUL;

View File

@ -128,16 +128,14 @@ enum pdb_value_state {
#define IS_SAM_DEFAULT(x, flag) (pdb_get_init_flags(x, flag) == PDB_DEFAULT) #define IS_SAM_DEFAULT(x, flag) (pdb_get_init_flags(x, flag) == PDB_DEFAULT)
/* cache for bad password lockout data, to be used on replicated SAMs */ /* cache for bad password lockout data, to be used on replicated SAMs */
typedef struct logon_cache_struct typedef struct logon_cache_struct {
{
time_t entry_timestamp; time_t entry_timestamp;
uint16 acct_ctrl; uint16 acct_ctrl;
uint16 bad_password_count; uint16 bad_password_count;
time_t bad_password_time; time_t bad_password_time;
} LOGIN_CACHE; } LOGIN_CACHE;
typedef struct sam_passwd typedef struct sam_passwd {
{
TALLOC_CTX *mem_ctx; TALLOC_CTX *mem_ctx;
void (*free_fn)(struct sam_passwd **); void (*free_fn)(struct sam_passwd **);
@ -225,8 +223,7 @@ typedef struct sam_group {
} SAM_GROUP; } SAM_GROUP;
struct acct_info struct acct_info {
{
fstring acct_name; /* account name */ fstring acct_name; /* account name */
fstring acct_desc; /* account name */ fstring acct_desc; /* account name */
uint32 rid; /* domain-relative RID */ uint32 rid; /* domain-relative RID */
@ -267,9 +264,10 @@ struct pdb_search {
/* /*
* This next constant specifies the version number of the PASSDB interface * This next constant specifies the version number of the PASSDB interface
* this SAMBA will load. Increment this if *ANY* changes are made to the interface. * this SAMBA will load. Increment this if *ANY* changes are made to the interface.
* Changed interface to fix int -> size_t problems. JRA.
*/ */
#define PASSDB_INTERFACE_VERSION 10 #define PASSDB_INTERFACE_VERSION 11
typedef struct pdb_context typedef struct pdb_context
{ {
@ -316,20 +314,20 @@ typedef struct pdb_context
NTSTATUS (*pdb_enum_group_mapping)(struct pdb_context *context, NTSTATUS (*pdb_enum_group_mapping)(struct pdb_context *context,
enum SID_NAME_USE sid_name_use, enum SID_NAME_USE sid_name_use,
GROUP_MAP **rmap, int *num_entries, GROUP_MAP **pp_rmap, size_t *p_num_entries,
BOOL unix_only); BOOL unix_only);
NTSTATUS (*pdb_enum_group_members)(struct pdb_context *context, NTSTATUS (*pdb_enum_group_members)(struct pdb_context *context,
TALLOC_CTX *mem_ctx, TALLOC_CTX *mem_ctx,
const DOM_SID *group, const DOM_SID *group,
uint32 **member_rids, uint32 **pp_member_rids,
int *num_members); size_t *p_num_members);
NTSTATUS (*pdb_enum_group_memberships)(struct pdb_context *context, NTSTATUS (*pdb_enum_group_memberships)(struct pdb_context *context,
const char *username, const char *username,
gid_t primary_gid, gid_t primary_gid,
DOM_SID **sids, gid_t **gids, DOM_SID **pp_sids, gid_t **pp_gids,
int *num_groups); size_t *p_num_groups);
NTSTATUS (*pdb_find_alias)(struct pdb_context *context, NTSTATUS (*pdb_find_alias)(struct pdb_context *context,
const char *name, DOM_SID *sid); const char *name, DOM_SID *sid);
@ -358,22 +356,22 @@ typedef struct pdb_context
NTSTATUS (*pdb_enum_aliasmem)(struct pdb_context *context, NTSTATUS (*pdb_enum_aliasmem)(struct pdb_context *context,
const DOM_SID *alias, const DOM_SID *alias,
DOM_SID **members, int *num_members); DOM_SID **pp_members, size_t *p_num_members);
NTSTATUS (*pdb_enum_alias_memberships)(struct pdb_context *context, NTSTATUS (*pdb_enum_alias_memberships)(struct pdb_context *context,
TALLOC_CTX *mem_ctx, TALLOC_CTX *mem_ctx,
const DOM_SID *domain_sid, const DOM_SID *domain_sid,
const DOM_SID *members, const DOM_SID *members,
int num_members, size_t num_members,
uint32 **alias_rids, uint32 **pp_alias_rids,
int *num_alias_rids); size_t *p_num_alias_rids);
NTSTATUS (*pdb_lookup_rids)(struct pdb_context *context, NTSTATUS (*pdb_lookup_rids)(struct pdb_context *context,
TALLOC_CTX *mem_ctx, TALLOC_CTX *mem_ctx,
const DOM_SID *domain_sid, const DOM_SID *domain_sid,
int num_rids, size_t num_rids,
uint32 *rids, uint32 *rids,
const char ***names, const char ***pp_names,
uint32 **attrs); uint32 **attrs);
NTSTATUS (*pdb_get_account_policy)(struct pdb_context *context, NTSTATUS (*pdb_get_account_policy)(struct pdb_context *context,
@ -445,20 +443,20 @@ typedef struct pdb_methods
NTSTATUS (*enum_group_mapping)(struct pdb_methods *methods, NTSTATUS (*enum_group_mapping)(struct pdb_methods *methods,
enum SID_NAME_USE sid_name_use, enum SID_NAME_USE sid_name_use,
GROUP_MAP **rmap, int *num_entries, GROUP_MAP **pp_rmap, size_t *p_num_entries,
BOOL unix_only); BOOL unix_only);
NTSTATUS (*enum_group_members)(struct pdb_methods *methods, NTSTATUS (*enum_group_members)(struct pdb_methods *methods,
TALLOC_CTX *mem_ctx, TALLOC_CTX *mem_ctx,
const DOM_SID *group, const DOM_SID *group,
uint32 **member_rids, uint32 **pp_member_rids,
int *num_members); size_t *p_num_members);
NTSTATUS (*enum_group_memberships)(struct pdb_methods *methods, NTSTATUS (*enum_group_memberships)(struct pdb_methods *methods,
const char *username, const char *username,
gid_t primary_gid, gid_t primary_gid,
DOM_SID **sids, gid_t **gids, DOM_SID **pp_sids, gid_t **pp_gids,
int *num_groups); size_t *p_num_groups);
NTSTATUS (*find_alias)(struct pdb_methods *methods, NTSTATUS (*find_alias)(struct pdb_methods *methods,
const char *name, DOM_SID *sid); const char *name, DOM_SID *sid);
@ -483,21 +481,21 @@ typedef struct pdb_methods
const DOM_SID *alias, const DOM_SID *member); const DOM_SID *alias, const DOM_SID *member);
NTSTATUS (*enum_aliasmem)(struct pdb_methods *methods, NTSTATUS (*enum_aliasmem)(struct pdb_methods *methods,
const DOM_SID *alias, DOM_SID **members, const DOM_SID *alias, DOM_SID **members,
int *num_members); size_t *p_num_members);
NTSTATUS (*enum_alias_memberships)(struct pdb_methods *methods, NTSTATUS (*enum_alias_memberships)(struct pdb_methods *methods,
TALLOC_CTX *mem_ctx, TALLOC_CTX *mem_ctx,
const DOM_SID *domain_sid, const DOM_SID *domain_sid,
const DOM_SID *members, const DOM_SID *members,
int num_members, size_t num_members,
uint32 **alias_rids, uint32 **pp_alias_rids,
int *num_alias_rids); size_t *p_num_alias_rids);
NTSTATUS (*lookup_rids)(struct pdb_methods *methods, NTSTATUS (*lookup_rids)(struct pdb_methods *methods,
TALLOC_CTX *mem_ctx, TALLOC_CTX *mem_ctx,
const DOM_SID *domain_sid, const DOM_SID *domain_sid,
int num_rids, int num_rids,
uint32 *rids, uint32 *rids,
const char ***names, const char ***pp_names,
uint32 **attrs); uint32 **attrs);
NTSTATUS (*get_account_policy)(struct pdb_methods *methods, NTSTATUS (*get_account_policy)(struct pdb_methods *methods,

View File

@ -54,7 +54,9 @@ void clobber_region(const char *fn, unsigned int line, char *dest, size_t len)
* (This is not redundant with the clobbering above. The * (This is not redundant with the clobbering above. The
* marking might not actually take effect if we're not running * marking might not actually take effect if we're not running
* under valgrind.) */ * under valgrind.) */
#if 0
VALGRIND_MAKE_WRITABLE(dest, len); VALGRIND_MAKE_WRITABLE(dest, len);
#endif
#endif /* VALGRIND */ #endif /* VALGRIND */
#endif /* DEVELOPER */ #endif /* DEVELOPER */
} }

View File

@ -642,15 +642,15 @@ static size_t utf8_pull(void *cd, const char **inbuf, size_t *inbytesleft,
*inbytesleft = in_left; *inbytesleft = in_left;
*outbytesleft = out_left; *outbytesleft = out_left;
*inbuf = c; *inbuf = (char *)c;
*outbuf = uc; *outbuf = (char *)uc;
return 0; return 0;
error: error:
*inbytesleft = in_left; *inbytesleft = in_left;
*outbytesleft = out_left; *outbytesleft = out_left;
*inbuf = c; *inbuf = (char *)c;
*outbuf = uc; *outbuf = (char *)uc;
return -1; return -1;
} }
@ -755,16 +755,16 @@ static size_t utf8_push(void *cd, const char **inbuf, size_t *inbytesleft,
*inbytesleft = in_left; *inbytesleft = in_left;
*outbytesleft = out_left; *outbytesleft = out_left;
*inbuf = uc; *inbuf = (char *)uc;
*outbuf = c; *outbuf = (char *)c;
return 0; return 0;
error: error:
*inbytesleft = in_left; *inbytesleft = in_left;
*outbytesleft = out_left; *outbytesleft = out_left;
*inbuf = uc; *inbuf = (char *)uc;
*outbuf = c; *outbuf = (char *)c;
return -1; return -1;
} }

View File

@ -104,7 +104,7 @@ PRIVS privs[] = {
}; };
typedef struct { typedef struct {
int count; size_t count;
DOM_SID *list; DOM_SID *list;
} SID_LIST; } SID_LIST;

View File

@ -27,15 +27,58 @@
#include "includes.h" #include "includes.h"
#ifndef HAVE_GETGROUPLIST #ifndef HAVE_GETGROUPLIST
static int int_compare( int *a, int *b )
{
if ( *a == *b )
return 0;
else if ( *a < *b )
return -1;
else
return 1;
}
void remove_duplicate_gids( int *num_groups, gid_t *groups )
{
int i;
int count = *num_groups;
if ( *num_groups <= 0 || !groups )
return;
DEBUG(8,("remove_duplicate_gids: Enter %d gids\n", *num_groups));
qsort( groups, *num_groups, sizeof(gid_t), QSORT_CAST int_compare );
for ( i=1; i<count; ) {
if ( groups[i-1] == groups[i] ) {
memmove( &groups[i-1], &groups[i], (count - i + 1)*sizeof(gid_t) );
/* decrement the total number of groups and do not increment
the loop counter */
count--;
continue;
}
i++;
}
*num_groups = count;
DEBUG(8,("remove_duplicate_gids: Exit %d gids\n", *num_groups));
return;
}
/* /*
This is a *much* faster way of getting the list of groups for a user This is a *much* faster way of getting the list of groups for a user
without changing the current supplemenrary group list. The old without changing the current supplementary group list. The old
method used getgrent() which could take 20 minutes on a really big method used getgrent() which could take 20 minutes on a really big
network with hundeds of thousands of groups and users. The new method network with hundeds of thousands of groups and users. The new method
takes a couple of seconds. takes a couple of seconds.
NOTE!! this function only works if it is called as root! NOTE!! this function only works if it is called as root!
*/ */
static int getgrouplist_internals(const char *user, gid_t gid, gid_t *groups, int *grpcnt) static int getgrouplist_internals(const char *user, gid_t gid, gid_t *groups, int *grpcnt)
{ {
gid_t *gids_saved; gid_t *gids_saved;
@ -79,18 +122,26 @@ static int getgrouplist_internals(const char *user, gid_t gid, gid_t *groups, in
setgid(gid); setgid(gid);
num_gids = getgroups(0, NULL); num_gids = getgroups(0, NULL);
if (num_gids == -1) {
SAFE_FREE(gids_saved);
/* very strange! */
return -1;
}
if (num_gids + 1 > *grpcnt) { if (num_gids + 1 > *grpcnt) {
*grpcnt = num_gids + 1; *grpcnt = num_gids + 1;
ret = -1; ret = -1;
} else { } else {
ret = getgroups(*grpcnt - 1, &groups[1]); ret = getgroups(*grpcnt - 1, &groups[1]);
if (ret >= 0) { if (ret < 0) {
SAFE_FREE(gids_saved);
/* very strange! */
return -1;
}
groups[0] = gid; groups[0] = gid;
*grpcnt = ret + 1; *grpcnt = ret + 1;
}
/* remove any duplicates gids in the list */ /* remove any duplicates gids in the list */
remove_duplicate_gids( grpcnt, groups ); remove_duplicate_gids( grpcnt, groups );
} }
@ -140,9 +191,10 @@ static int sys_getgrouplist(const char *user, gid_t gid, gid_t *groups, int *grp
} }
BOOL getgroups_user(const char *user, gid_t primary_gid, BOOL getgroups_user(const char *user, gid_t primary_gid,
gid_t **ret_groups, int *ngroups) gid_t **ret_groups, size_t *p_ngroups)
{ {
int ngrp, max_grp; size_t ngrp;
int max_grp;
gid_t *temp_groups; gid_t *temp_groups;
gid_t *groups; gid_t *groups;
int i; int i;
@ -154,7 +206,6 @@ BOOL getgroups_user(const char *user, gid_t primary_gid,
} }
if (sys_getgrouplist(user, primary_gid, temp_groups, &max_grp) == -1) { if (sys_getgrouplist(user, primary_gid, temp_groups, &max_grp) == -1) {
gid_t *groups_tmp; gid_t *groups_tmp;
groups_tmp = SMB_REALLOC_ARRAY(temp_groups, gid_t, max_grp); groups_tmp = SMB_REALLOC_ARRAY(temp_groups, gid_t, max_grp);
@ -183,7 +234,7 @@ BOOL getgroups_user(const char *user, gid_t primary_gid,
for (i=0; i<max_grp; i++) for (i=0; i<max_grp; i++)
add_gid_to_array_unique(NULL, temp_groups[i], &groups, &ngrp); add_gid_to_array_unique(NULL, temp_groups[i], &groups, &ngrp);
*ngroups = ngrp; *p_ngroups = ngrp;
*ret_groups = groups; *ret_groups = groups;
SAFE_FREE(temp_groups); SAFE_FREE(temp_groups);
return True; return True;
@ -192,34 +243,34 @@ BOOL getgroups_user(const char *user, gid_t primary_gid,
NTSTATUS pdb_default_enum_group_memberships(struct pdb_methods *methods, NTSTATUS pdb_default_enum_group_memberships(struct pdb_methods *methods,
const char *username, const char *username,
gid_t primary_gid, gid_t primary_gid,
DOM_SID **sids, DOM_SID **pp_sids,
gid_t **gids, gid_t **pp_gids,
int *num_groups) size_t *p_num_groups)
{ {
int i; size_t i;
if (!getgroups_user(username, primary_gid, gids, num_groups)) { if (!getgroups_user(username, primary_gid, pp_gids, p_num_groups)) {
return NT_STATUS_NO_SUCH_USER; return NT_STATUS_NO_SUCH_USER;
} }
if (*num_groups == 0) { if (*p_num_groups == 0) {
smb_panic("primary group missing"); smb_panic("primary group missing");
} }
*sids = SMB_MALLOC_ARRAY(DOM_SID, *num_groups); *pp_sids = SMB_MALLOC_ARRAY(DOM_SID, *p_num_groups);
if (*sids == NULL) { if (*pp_sids == NULL) {
SAFE_FREE(gids); SAFE_FREE(pp_gids);
return NT_STATUS_NO_MEMORY; return NT_STATUS_NO_MEMORY;
} }
for (i=0; i<*num_groups; i++) { for (i=0; i<*p_num_groups; i++) {
if (!NT_STATUS_IS_OK(gid_to_sid(&(*sids)[i], (*gids)[i]))) { if (!NT_STATUS_IS_OK(gid_to_sid(&(*pp_sids)[i], (*pp_gids)[i]))) {
DEBUG(1, ("get_user_groups: failed to convert " DEBUG(1, ("get_user_groups: failed to convert "
"gid %ld to a sid!\n", "gid %ld to a sid!\n",
(long int)(*gids)[i+1])); (long int)(*pp_gids)[i+1]));
SAFE_FREE(*sids); SAFE_FREE(*pp_sids);
SAFE_FREE(*gids); SAFE_FREE(*pp_gids);
return NT_STATUS_NO_SUCH_USER; return NT_STATUS_NO_SUCH_USER;
} }
} }

View File

@ -282,25 +282,25 @@ const char *tmpdir(void)
****************************************************************************/ ****************************************************************************/
void add_gid_to_array_unique(TALLOC_CTX *mem_ctx, gid_t gid, void add_gid_to_array_unique(TALLOC_CTX *mem_ctx, gid_t gid,
gid_t **gids, int *num) gid_t **gids, size_t *num_gids)
{ {
int i; int i;
for (i=0; i<*num; i++) { for (i=0; i<*num_gids; i++) {
if ((*gids)[i] == gid) if ((*gids)[i] == gid)
return; return;
} }
if (mem_ctx != NULL) if (mem_ctx != NULL)
*gids = TALLOC_REALLOC_ARRAY(mem_ctx, *gids, gid_t, *num+1); *gids = TALLOC_REALLOC_ARRAY(mem_ctx, *gids, gid_t, *num_gids+1);
else else
*gids = SMB_REALLOC_ARRAY(*gids, gid_t, *num+1); *gids = SMB_REALLOC_ARRAY(*gids, gid_t, *num_gids+1);
if (*gids == NULL) if (*gids == NULL)
return; return;
(*gids)[*num] = gid; (*gids)[*num_gids] = gid;
*num += 1; *num_gids += 1;
} }
/**************************************************************************** /****************************************************************************
@ -2093,7 +2093,7 @@ void dump_data_pw(const char *msg, const uchar * data, size_t len)
DEBUG(11, ("%s", msg)); DEBUG(11, ("%s", msg));
if (data != NULL && len > 0) if (data != NULL && len > 0)
{ {
dump_data(11, data, len); dump_data(11, (const char *)data, len);
} }
#endif #endif
} }

View File

@ -304,48 +304,3 @@ void free_userlist(struct sys_userlist *list_head)
SAFE_FREE(old_head); SAFE_FREE(old_head);
} }
} }
/****************************************************************
****************************************************************/
static int int_compare( int *a, int *b )
{
if ( *a == *b )
return 0;
else if ( *a < *b )
return -1;
else
return 1;
}
void remove_duplicate_gids( int *num_groups, gid_t *groups )
{
int i;
int count = *num_groups;
if ( *num_groups <= 0 || !groups )
return;
DEBUG(8,("remove_duplicate_gids: Enter %d gids\n", *num_groups));
qsort( groups, *num_groups, sizeof(gid_t), QSORT_CAST int_compare );
for ( i=1; i<count; ) {
if ( groups[i-1] == groups[i] ) {
memmove( &groups[i-1], &groups[i], (count - i + 1)*sizeof(gid_t) );
/* decrement the total number of groups and do not increment
the loop counter */
count--;
continue;
}
i++;
}
*num_groups = count;
DEBUG(8,("remove_duplicate_gids: Exit %d gids\n", *num_groups));
return;
}

View File

@ -637,7 +637,7 @@ DOM_SID *sid_dup_talloc(TALLOC_CTX *ctx, const DOM_SID *src)
********************************************************************/ ********************************************************************/
void add_sid_to_array(TALLOC_CTX *mem_ctx, const DOM_SID *sid, void add_sid_to_array(TALLOC_CTX *mem_ctx, const DOM_SID *sid,
DOM_SID **sids, int *num) DOM_SID **sids, size_t *num)
{ {
if (mem_ctx != NULL) if (mem_ctx != NULL)
*sids = TALLOC_REALLOC_ARRAY(mem_ctx, *sids, DOM_SID, *sids = TALLOC_REALLOC_ARRAY(mem_ctx, *sids, DOM_SID,
@ -660,9 +660,9 @@ void add_sid_to_array(TALLOC_CTX *mem_ctx, const DOM_SID *sid,
********************************************************************/ ********************************************************************/
void add_sid_to_array_unique(TALLOC_CTX *mem_ctx, const DOM_SID *sid, void add_sid_to_array_unique(TALLOC_CTX *mem_ctx, const DOM_SID *sid,
DOM_SID **sids, int *num_sids) DOM_SID **sids, size_t *num_sids)
{ {
int i; size_t i;
for (i=0; i<(*num_sids); i++) { for (i=0; i<(*num_sids); i++) {
if (sid_compare(sid, &(*sids)[i]) == 0) if (sid_compare(sid, &(*sids)[i]) == 0)
@ -676,10 +676,10 @@ void add_sid_to_array_unique(TALLOC_CTX *mem_ctx, const DOM_SID *sid,
Remove SID from an array Remove SID from an array
********************************************************************/ ********************************************************************/
void del_sid_from_array(const DOM_SID *sid, DOM_SID **sids, int *num) void del_sid_from_array(const DOM_SID *sid, DOM_SID **sids, size_t *num)
{ {
DOM_SID *sid_list = *sids; DOM_SID *sid_list = *sids;
int i; size_t i;
for ( i=0; i<*num; i++ ) { for ( i=0; i<*num; i++ ) {
@ -700,4 +700,3 @@ void del_sid_from_array(const DOM_SID *sid, DOM_SID **sids, int *num)
return; return;
} }

View File

@ -88,7 +88,7 @@ int kerberos_kinit_password(const char *principal,
return code; return code;
} }
if ((code = krb5_get_init_creds_password(ctx, &my_creds, me, password, if ((code = krb5_get_init_creds_password(ctx, &my_creds, me, CONST_DISCARD(char *,password),
kerb_prompter, kerb_prompter,
NULL, 0, NULL, NULL))) { NULL, 0, NULL, NULL))) {
krb5_free_principal(ctx, me); krb5_free_principal(ctx, me);

View File

@ -341,7 +341,8 @@ static ADS_STATUS do_krb5_kpasswd_request(krb5_context context,
{ {
krb5_auth_context auth_context = NULL; krb5_auth_context auth_context = NULL;
krb5_data ap_req, chpw_req, chpw_rep; krb5_data ap_req, chpw_req, chpw_rep;
int ret, sock, addr_len; int ret, sock;
socklen_t addr_len;
struct sockaddr remote_addr, local_addr; struct sockaddr remote_addr, local_addr;
krb5_address local_kaddr, remote_kaddr; krb5_address local_kaddr, remote_kaddr;

View File

@ -728,7 +728,7 @@ int cac_LsaQueryTrustedDomainInfo(CacServerHandle *hnd, TALLOC_CTX *mem_ctx, str
int cac_LsaEnumPrivileges(CacServerHandle *hnd, TALLOC_CTX *mem_ctx, struct LsaEnumPrivileges *op) { int cac_LsaEnumPrivileges(CacServerHandle *hnd, TALLOC_CTX *mem_ctx, struct LsaEnumPrivileges *op) {
struct rpc_pipe_client *pipe_hnd = NULL; struct rpc_pipe_client *pipe_hnd = NULL;
int num_privs; uint32 num_privs;
char **priv_names; char **priv_names;
uint32 *high_bits; uint32 *high_bits;
uint32 *low_bits; uint32 *low_bits;

View File

@ -667,7 +667,7 @@ int cac_RegEnumValues(CacServerHandle *hnd, TALLOC_CTX *mem_ctx, struct RegEnumV
} }
/*we need to assume that the max number of values will be enumerated*/ /*we need to assume that the max number of values will be enumerated*/
types_out = talloc_array(mem_ctx, int, op->in.max_values); types_out = (uint32 *)talloc_array(mem_ctx, int, op->in.max_values);
if(!types_out) { if(!types_out) {
hnd->status = NT_STATUS_NO_MEMORY; hnd->status = NT_STATUS_NO_MEMORY;
return CAC_FAILURE; return CAC_FAILURE;

View File

@ -294,7 +294,7 @@ BOOL cli_oem_change_password(struct cli_state *cli, const char *user, const char
const char *old_password) const char *old_password)
{ {
pstring param; pstring param;
char data[532]; unsigned char data[532];
char *p = param; char *p = param;
unsigned char old_pw_hash[16]; unsigned char old_pw_hash[16];
unsigned char new_pw_hash[16]; unsigned char new_pw_hash[16];
@ -332,7 +332,7 @@ BOOL cli_oem_change_password(struct cli_state *cli, const char *user, const char
#ifdef DEBUG_PASSWORD #ifdef DEBUG_PASSWORD
DEBUG(100,("make_oem_passwd_hash\n")); DEBUG(100,("make_oem_passwd_hash\n"));
dump_data(100, data, 516); dump_data(100, (char *)data, 516);
#endif #endif
SamOEMhash( (unsigned char *)data, (unsigned char *)old_pw_hash, 516); SamOEMhash( (unsigned char *)data, (unsigned char *)old_pw_hash, 516);
@ -350,7 +350,7 @@ BOOL cli_oem_change_password(struct cli_state *cli, const char *user, const char
0,0, /* fid, flags */ 0,0, /* fid, flags */
NULL,0,0, /* setup, length, max */ NULL,0,0, /* setup, length, max */
param,param_len,2, /* param, length, max */ param,param_len,2, /* param, length, max */
data,data_len,0 /* data, length, max */ (char *)data,data_len,0 /* data, length, max */
) == False) { ) == False) {
DEBUG(0,("cli_oem_change_password: Failed to send password change for user %s\n", DEBUG(0,("cli_oem_change_password: Failed to send password change for user %s\n",
user )); user ));

View File

@ -26,7 +26,7 @@
generate a negTokenInit packet given a GUID, a list of supported generate a negTokenInit packet given a GUID, a list of supported
OIDs (the mechanisms) and a principal name string OIDs (the mechanisms) and a principal name string
*/ */
DATA_BLOB spnego_gen_negTokenInit(uint8 guid[16], DATA_BLOB spnego_gen_negTokenInit(char guid[16],
const char *OIDs[], const char *OIDs[],
const char *principal) const char *principal)
{ {

View File

@ -115,7 +115,7 @@ void creds_server_init(struct dcinfo *dc,
{ {
DEBUG(10,("creds_server_init: client chal : %s\n", credstr(clnt_chal->data) )); DEBUG(10,("creds_server_init: client chal : %s\n", credstr(clnt_chal->data) ));
DEBUG(10,("creds_server_init: server chal : %s\n", credstr(srv_chal->data) )); DEBUG(10,("creds_server_init: server chal : %s\n", credstr(srv_chal->data) ));
dump_data_pw("creds_server_init: machine pass", mach_pw, 16); dump_data_pw("creds_server_init: machine pass", (const unsigned char *)mach_pw, 16);
/* Just in case this isn't already there */ /* Just in case this isn't already there */
memcpy(dc->mach_pw, mach_pw, 16); memcpy(dc->mach_pw, mach_pw, 16);
@ -205,14 +205,14 @@ BOOL creds_server_step(struct dcinfo *dc, const DOM_CRED *received_cred, DOM_CRE
void creds_client_init(struct dcinfo *dc, void creds_client_init(struct dcinfo *dc,
DOM_CHAL *clnt_chal, DOM_CHAL *clnt_chal,
DOM_CHAL *srv_chal, DOM_CHAL *srv_chal,
const char mach_pw[16], const unsigned char mach_pw[16],
DOM_CHAL *init_chal_out) DOM_CHAL *init_chal_out)
{ {
dc->sequence = time(NULL); dc->sequence = time(NULL);
DEBUG(10,("creds_client_init: client chal : %s\n", credstr(clnt_chal->data) )); DEBUG(10,("creds_client_init: client chal : %s\n", credstr(clnt_chal->data) ));
DEBUG(10,("creds_client_init: server chal : %s\n", credstr(srv_chal->data) )); DEBUG(10,("creds_client_init: server chal : %s\n", credstr(srv_chal->data) ));
dump_data_pw("creds_client_init: machine pass", mach_pw, 16); dump_data_pw("creds_client_init: machine pass", (const unsigned char *)mach_pw, 16);
/* Just in case this isn't already there */ /* Just in case this isn't already there */
memcpy(dc->mach_pw, mach_pw, 16); memcpy(dc->mach_pw, mach_pw, 16);

View File

@ -65,13 +65,13 @@ static BOOL smb_pwd_check_ntlmv1(const DATA_BLOB *nt_response,
#ifdef DEBUG_PASSWORD #ifdef DEBUG_PASSWORD
DEBUG(100,("Part password (P16) was |\n")); DEBUG(100,("Part password (P16) was |\n"));
dump_data(100, part_passwd, 16); dump_data(100, (const char *)part_passwd, 16);
DEBUGADD(100,("Password from client was |\n")); DEBUGADD(100,("Password from client was |\n"));
dump_data(100, nt_response->data, nt_response->length); dump_data(100, (const char *)nt_response->data, nt_response->length);
DEBUGADD(100,("Given challenge was |\n")); DEBUGADD(100,("Given challenge was |\n"));
dump_data(100, sec_blob->data, sec_blob->length); dump_data(100, (const char *)sec_blob->data, sec_blob->length);
DEBUGADD(100,("Value from encryption was |\n")); DEBUGADD(100,("Value from encryption was |\n"));
dump_data(100, p24, 24); dump_data(100, (const char *)p24, 24);
#endif #endif
return (memcmp(p24, nt_response->data, 24) == 0); return (memcmp(p24, nt_response->data, 24) == 0);
} }
@ -136,15 +136,15 @@ static BOOL smb_pwd_check_ntlmv2(const DATA_BLOB *ntv2_response,
#if DEBUG_PASSWORD #if DEBUG_PASSWORD
DEBUG(100,("Part password (P16) was |\n")); DEBUG(100,("Part password (P16) was |\n"));
dump_data(100, part_passwd, 16); dump_data(100, (const char *)part_passwd, 16);
DEBUGADD(100,("Password from client was |\n")); DEBUGADD(100,("Password from client was |\n"));
dump_data(100, ntv2_response->data, ntv2_response->length); dump_data(100, (const char *)ntv2_response->data, ntv2_response->length);
DEBUGADD(100,("Variable data from client was |\n")); DEBUGADD(100,("Variable data from client was |\n"));
dump_data(100, client_key_data.data, client_key_data.length); dump_data(100, (const char *)client_key_data.data, client_key_data.length);
DEBUGADD(100,("Given challenge was |\n")); DEBUGADD(100,("Given challenge was |\n"));
dump_data(100, sec_blob->data, sec_blob->length); dump_data(100, (const char *)sec_blob->data, sec_blob->length);
DEBUGADD(100,("Value from encryption was |\n")); DEBUGADD(100,("Value from encryption was |\n"));
dump_data(100, value_from_encryption, 16); dump_data(100, (const char *)value_from_encryption, 16);
#endif #endif
data_blob_clear_free(&client_key_data); data_blob_clear_free(&client_key_data);
res = (memcmp(value_from_encryption, client_response, 16) == 0); res = (memcmp(value_from_encryption, client_response, 16) == 0);

View File

@ -43,7 +43,7 @@ static void calc_ntlmv2_key(unsigned char subkey[16],
struct MD5Context ctx3; struct MD5Context ctx3;
MD5Init(&ctx3); MD5Init(&ctx3);
MD5Update(&ctx3, session_key.data, session_key.length); MD5Update(&ctx3, session_key.data, session_key.length);
MD5Update(&ctx3, constant, strlen(constant)+1); MD5Update(&ctx3, (const unsigned char *)constant, strlen(constant)+1);
MD5Final(subkey, &ctx3); MD5Final(subkey, &ctx3);
} }
@ -196,10 +196,10 @@ NTSTATUS ntlmssp_check_packet(NTLMSSP_STATE *ntlmssp_state,
if (local_sig.length != sig->length || if (local_sig.length != sig->length ||
memcmp(local_sig.data, sig->data, sig->length) != 0) { memcmp(local_sig.data, sig->data, sig->length) != 0) {
DEBUG(5, ("BAD SIG NTLM2: wanted signature of\n")); DEBUG(5, ("BAD SIG NTLM2: wanted signature of\n"));
dump_data(5, local_sig.data, local_sig.length); dump_data(5, (const char *)local_sig.data, local_sig.length);
DEBUG(5, ("BAD SIG: got signature of\n")); DEBUG(5, ("BAD SIG: got signature of\n"));
dump_data(5, sig->data, sig->length); dump_data(5, (const char *)sig->data, sig->length);
DEBUG(0, ("NTLMSSP NTLM2 packet check failed due to invalid signature!\n")); DEBUG(0, ("NTLMSSP NTLM2 packet check failed due to invalid signature!\n"));
data_blob_free(&local_sig); data_blob_free(&local_sig);
@ -209,10 +209,10 @@ NTSTATUS ntlmssp_check_packet(NTLMSSP_STATE *ntlmssp_state,
if (local_sig.length != sig->length || if (local_sig.length != sig->length ||
memcmp(local_sig.data + 8, sig->data + 8, sig->length - 8) != 0) { memcmp(local_sig.data + 8, sig->data + 8, sig->length - 8) != 0) {
DEBUG(5, ("BAD SIG NTLM1: wanted signature of\n")); DEBUG(5, ("BAD SIG NTLM1: wanted signature of\n"));
dump_data(5, local_sig.data, local_sig.length); dump_data(5, (const char *)local_sig.data, local_sig.length);
DEBUG(5, ("BAD SIG: got signature of\n")); DEBUG(5, ("BAD SIG: got signature of\n"));
dump_data(5, sig->data, sig->length); dump_data(5, (const char *)sig->data, sig->length);
DEBUG(0, ("NTLMSSP NTLM1 packet check failed due to invalid signature!\n")); DEBUG(0, ("NTLMSSP NTLM1 packet check failed due to invalid signature!\n"));
data_blob_free(&local_sig); data_blob_free(&local_sig);

View File

@ -348,7 +348,7 @@ void cred_hash2(unsigned char *out, const unsigned char *in, const unsigned char
des_crypt56(out, buf, key2, 1); des_crypt56(out, buf, key2, 1);
} }
void cred_hash3(unsigned char *out, unsigned char *in, const unsigned char *key, int forw) void cred_hash3(unsigned char *out, const unsigned char *in, const unsigned char *key, int forw)
{ {
static unsigned char key2[8]; static unsigned char key2[8];

View File

@ -44,9 +44,9 @@ BOOL SMBencrypt(const char *passwd, const uchar *c8, uchar p24[24])
#ifdef DEBUG_PASSWORD #ifdef DEBUG_PASSWORD
DEBUG(100,("SMBencrypt: lm#, challenge, response\n")); DEBUG(100,("SMBencrypt: lm#, challenge, response\n"));
dump_data(100, (char *)p21, 16); dump_data(100, (const char *)p21, 16);
dump_data(100, (const char *)c8, 8); dump_data(100, (const char *)c8, 8);
dump_data(100, (char *)p24, 24); dump_data(100, (const char *)p24, 24);
#endif #endif
return ret; return ret;
@ -198,8 +198,8 @@ BOOL ntv2_owf_gen(const uchar owf[16],
DEBUG(100, ("ntv2_owf_gen: user, domain, owfkey, kr\n")); DEBUG(100, ("ntv2_owf_gen: user, domain, owfkey, kr\n"));
dump_data(100, (const char *)user, user_byte_len); dump_data(100, (const char *)user, user_byte_len);
dump_data(100, (const char *)domain, domain_byte_len); dump_data(100, (const char *)domain, domain_byte_len);
dump_data(100, owf, 16); dump_data(100, (const char *)owf, 16);
dump_data(100, kr_buf, 16); dump_data(100, (const char *)kr_buf, 16);
#endif #endif
SAFE_FREE(user); SAFE_FREE(user);
@ -271,9 +271,9 @@ void SMBOWFencrypt_ntv2(const uchar kr[16],
#ifdef DEBUG_PASSWORD #ifdef DEBUG_PASSWORD
DEBUG(100, ("SMBOWFencrypt_ntv2: srv_chal, cli_chal, resp_buf\n")); DEBUG(100, ("SMBOWFencrypt_ntv2: srv_chal, cli_chal, resp_buf\n"));
dump_data(100, srv_chal->data, srv_chal->length); dump_data(100, (const char *)srv_chal->data, srv_chal->length);
dump_data(100, cli_chal->data, cli_chal->length); dump_data(100, (const char *)cli_chal->data, cli_chal->length);
dump_data(100, resp_buf, 16); dump_data(100, (const char *)resp_buf, 16);
#endif #endif
} }
@ -290,7 +290,7 @@ void SMBsesskeygen_ntv2(const uchar kr[16],
#ifdef DEBUG_PASSWORD #ifdef DEBUG_PASSWORD
DEBUG(100, ("SMBsesskeygen_ntv2:\n")); DEBUG(100, ("SMBsesskeygen_ntv2:\n"));
dump_data(100, sess_key, 16); dump_data(100, (const char *)sess_key, 16);
#endif #endif
} }
@ -304,7 +304,7 @@ void SMBsesskeygen_ntv1(const uchar kr[16],
#ifdef DEBUG_PASSWORD #ifdef DEBUG_PASSWORD
DEBUG(100, ("SMBsesskeygen_ntv1:\n")); DEBUG(100, ("SMBsesskeygen_ntv1:\n"));
dump_data(100, sess_key, 16); dump_data(100, (const char *)sess_key, 16);
#endif #endif
} }
@ -324,7 +324,7 @@ void SMBsesskeygen_lm_sess_key(const uchar lm_hash[16],
#ifdef DEBUG_PASSWORD #ifdef DEBUG_PASSWORD
DEBUG(100, ("SMBsesskeygen_lmv1_jerry:\n")); DEBUG(100, ("SMBsesskeygen_lmv1_jerry:\n"));
dump_data(100, sess_key, 16); dump_data(100, (const char *)sess_key, 16);
#endif #endif
} }
@ -506,7 +506,7 @@ BOOL decode_pw_buffer(uint8 in_buffer[516], char *new_pwrd,
byte_len = IVAL(in_buffer, 512); byte_len = IVAL(in_buffer, 512);
#ifdef DEBUG_PASSWORD #ifdef DEBUG_PASSWORD
dump_data(100, in_buffer, 516); dump_data(100, (const char *)in_buffer, 516);
#endif #endif
/* Password cannot be longer than the size of the password buffer */ /* Password cannot be longer than the size of the password buffer */
@ -522,7 +522,7 @@ BOOL decode_pw_buffer(uint8 in_buffer[516], char *new_pwrd,
#ifdef DEBUG_PASSWORD #ifdef DEBUG_PASSWORD
DEBUG(100,("decode_pw_buffer: new_pwrd: ")); DEBUG(100,("decode_pw_buffer: new_pwrd: "));
dump_data(100, (char *)new_pwrd, *new_pw_len); dump_data(100, (const char *)new_pwrd, *new_pw_len);
DEBUG(100,("multibyte len:%d\n", *new_pw_len)); DEBUG(100,("multibyte len:%d\n", *new_pw_len));
DEBUG(100,("original char len:%d\n", byte_len/2)); DEBUG(100,("original char len:%d\n", byte_len/2));
#endif #endif

View File

@ -45,9 +45,11 @@ static BOOL read_negTokenInit(ASN1_DATA *asn1, negTokenInit_t *token)
token->mechTypes = SMB_MALLOC_P(const char *); token->mechTypes = SMB_MALLOC_P(const char *);
for (i = 0; !asn1->has_error && for (i = 0; !asn1->has_error &&
0 < asn1_tag_remaining(asn1); i++) { 0 < asn1_tag_remaining(asn1); i++) {
char *p_oid = NULL;
token->mechTypes = token->mechTypes =
SMB_REALLOC_ARRAY(token->mechTypes, const char *, i + 2); SMB_REALLOC_ARRAY(token->mechTypes, const char *, i + 2);
asn1_read_OID(asn1, &token->mechTypes[i]); asn1_read_OID(asn1, &p_oid);
token->mechTypes[i] = p_oid;
} }
token->mechTypes[i] = NULL; token->mechTypes[i] = NULL;
@ -317,7 +319,7 @@ BOOL free_spnego_data(SPNEGO_DATA *spnego)
if (spnego->negTokenInit.mechTypes) { if (spnego->negTokenInit.mechTypes) {
int i; int i;
for (i = 0; spnego->negTokenInit.mechTypes[i]; i++) { for (i = 0; spnego->negTokenInit.mechTypes[i]; i++) {
free(spnego->negTokenInit.mechTypes[i]); free(CONST_DISCARD(char *,spnego->negTokenInit.mechTypes[i]));
} }
free(spnego->negTokenInit.mechTypes); free(spnego->negTokenInit.mechTypes);
} }

View File

@ -31,8 +31,8 @@
**********************************************************/ **********************************************************/
static NTSTATUS just_change_the_password(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, static NTSTATUS just_change_the_password(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx,
unsigned char orig_trust_passwd_hash[16], const unsigned char orig_trust_passwd_hash[16],
unsigned char new_trust_passwd_hash[16], const unsigned char new_trust_passwd_hash[16],
uint32 sec_channel_type) uint32 sec_channel_type)
{ {
NTSTATUS result; NTSTATUS result;

View File

@ -234,7 +234,8 @@ static int winbind_named_pipe_sock(const char *dir)
struct timeval tv; struct timeval tv;
fd_set w_fds; fd_set w_fds;
int ret; int ret;
int connect_errno = 0, errnosize; int connect_errno = 0;
socklen_t errnosize;
if (wait_time >= CONNECT_TIMEOUT) if (wait_time >= CONNECT_TIMEOUT)
goto error_out; goto error_out;

View File

@ -456,7 +456,7 @@ static NTSTATUS lookup_usergroups_alt(struct winbindd_domain *domain,
TALLOC_CTX *mem_ctx, TALLOC_CTX *mem_ctx,
const char *user_dn, const char *user_dn,
DOM_SID *primary_group, DOM_SID *primary_group,
uint32 *num_groups, DOM_SID **user_sids) size_t *p_num_groups, DOM_SID **user_sids)
{ {
ADS_STATUS rc; ADS_STATUS rc;
NTSTATUS status = NT_STATUS_UNSUCCESSFUL; NTSTATUS status = NT_STATUS_UNSUCCESSFUL;
@ -467,6 +467,7 @@ static NTSTATUS lookup_usergroups_alt(struct winbindd_domain *domain,
ADS_STRUCT *ads; ADS_STRUCT *ads;
const char *group_attrs[] = {"objectSid", NULL}; const char *group_attrs[] = {"objectSid", NULL};
char *escaped_dn; char *escaped_dn;
size_t num_groups = 0;
DEBUG(3,("ads: lookup_usergroups_alt\n")); DEBUG(3,("ads: lookup_usergroups_alt\n"));
@ -504,10 +505,10 @@ static NTSTATUS lookup_usergroups_alt(struct winbindd_domain *domain,
count = ads_count_replies(ads, res); count = ads_count_replies(ads, res);
*user_sids = NULL; *user_sids = NULL;
*num_groups = 0; num_groups = 0;
/* always add the primary group to the sid array */ /* always add the primary group to the sid array */
add_sid_to_array(mem_ctx, primary_group, user_sids, num_groups); add_sid_to_array(mem_ctx, primary_group, user_sids, &num_groups);
if (count > 0) { if (count > 0) {
for (msg = ads_first_entry(ads, res); msg; for (msg = ads_first_entry(ads, res); msg;
@ -520,11 +521,12 @@ static NTSTATUS lookup_usergroups_alt(struct winbindd_domain *domain,
} }
add_sid_to_array(mem_ctx, &group_sid, user_sids, add_sid_to_array(mem_ctx, &group_sid, user_sids,
num_groups); &num_groups);
} }
} }
*p_num_groups = num_groups;
status = (user_sids != NULL) ? NT_STATUS_OK : NT_STATUS_NO_MEMORY; status = (user_sids != NULL) ? NT_STATUS_OK : NT_STATUS_NO_MEMORY;
DEBUG(3,("ads lookup_usergroups (alt) for dn=%s\n", user_dn)); DEBUG(3,("ads lookup_usergroups (alt) for dn=%s\n", user_dn));
@ -539,7 +541,7 @@ done:
static NTSTATUS lookup_usergroups(struct winbindd_domain *domain, static NTSTATUS lookup_usergroups(struct winbindd_domain *domain,
TALLOC_CTX *mem_ctx, TALLOC_CTX *mem_ctx,
const DOM_SID *sid, const DOM_SID *sid,
uint32 *num_groups, DOM_SID **user_sids) uint32 *p_num_groups, DOM_SID **user_sids)
{ {
ADS_STRUCT *ads = NULL; ADS_STRUCT *ads = NULL;
const char *attrs[] = {"tokenGroups", "primaryGroupID", NULL}; const char *attrs[] = {"tokenGroups", "primaryGroupID", NULL};
@ -553,9 +555,10 @@ static NTSTATUS lookup_usergroups(struct winbindd_domain *domain,
uint32 primary_group_rid; uint32 primary_group_rid;
fstring sid_string; fstring sid_string;
NTSTATUS status = NT_STATUS_UNSUCCESSFUL; NTSTATUS status = NT_STATUS_UNSUCCESSFUL;
size_t num_groups = 0;
DEBUG(3,("ads: lookup_usergroups\n")); DEBUG(3,("ads: lookup_usergroups\n"));
*num_groups = 0; *p_num_groups = 0;
ads = ads_cached_connection(domain); ads = ads_cached_connection(domain);
@ -603,15 +606,17 @@ static NTSTATUS lookup_usergroups(struct winbindd_domain *domain,
/* there must always be at least one group in the token, /* there must always be at least one group in the token,
unless we are talking to a buggy Win2k server */ unless we are talking to a buggy Win2k server */
if (count == 0) { if (count == 0) {
return lookup_usergroups_alt(domain, mem_ctx, user_dn, status = lookup_usergroups_alt(domain, mem_ctx, user_dn,
&primary_group, &primary_group,
num_groups, user_sids); &num_groups, user_sids);
*p_num_groups = (uint32)num_groups;
return status;
} }
*user_sids = NULL; *user_sids = NULL;
*num_groups = 0; num_groups = 0;
add_sid_to_array(mem_ctx, &primary_group, user_sids, num_groups); add_sid_to_array(mem_ctx, &primary_group, user_sids, &num_groups);
for (i=0;i<count;i++) { for (i=0;i<count;i++) {
@ -621,9 +626,10 @@ static NTSTATUS lookup_usergroups(struct winbindd_domain *domain,
} }
add_sid_to_array_unique(mem_ctx, &sids[i], add_sid_to_array_unique(mem_ctx, &sids[i],
user_sids, num_groups); user_sids, &num_groups);
} }
*p_num_groups = (uint32)num_groups;
status = (user_sids != NULL) ? NT_STATUS_OK : NT_STATUS_NO_MEMORY; status = (user_sids != NULL) ? NT_STATUS_OK : NT_STATUS_NO_MEMORY;
DEBUG(3,("ads lookup_usergroups for sid=%s\n", DEBUG(3,("ads lookup_usergroups for sid=%s\n",

View File

@ -707,9 +707,9 @@ enum winbindd_result winbindd_dual_lookupname(struct winbindd_domain *domain,
} }
BOOL print_sidlist(TALLOC_CTX *mem_ctx, const DOM_SID *sids, BOOL print_sidlist(TALLOC_CTX *mem_ctx, const DOM_SID *sids,
int num_sids, char **result, ssize_t *len) size_t num_sids, char **result, ssize_t *len)
{ {
int i; size_t i;
size_t buflen = 0; size_t buflen = 0;
*len = 0; *len = 0;
@ -727,7 +727,7 @@ BOOL print_sidlist(TALLOC_CTX *mem_ctx, const DOM_SID *sids,
} }
BOOL parse_sidlist(TALLOC_CTX *mem_ctx, char *sidstr, BOOL parse_sidlist(TALLOC_CTX *mem_ctx, char *sidstr,
DOM_SID **sids, int *num_sids) DOM_SID **sids, size_t *num_sids)
{ {
char *p, *q; char *p, *q;
@ -754,10 +754,10 @@ BOOL parse_sidlist(TALLOC_CTX *mem_ctx, char *sidstr,
return True; return True;
} }
BOOL print_ridlist(TALLOC_CTX *mem_ctx, uint32 *rids, int num_rids, BOOL print_ridlist(TALLOC_CTX *mem_ctx, uint32 *rids, size_t num_rids,
char **result, ssize_t *len) char **result, ssize_t *len)
{ {
int i; size_t i;
size_t buflen = 0; size_t buflen = 0;
*len = 0; *len = 0;
@ -775,7 +775,7 @@ BOOL print_ridlist(TALLOC_CTX *mem_ctx, uint32 *rids, int num_rids,
} }
BOOL parse_ridlist(TALLOC_CTX *mem_ctx, char *ridstr, BOOL parse_ridlist(TALLOC_CTX *mem_ctx, char *ridstr,
uint32 **sids, int *num_rids) uint32 **sids, size_t *num_rids)
{ {
char *p; char *p;
@ -802,10 +802,10 @@ static void getsidaliases_recv(TALLOC_CTX *mem_ctx, BOOL success,
void *c, void *private_data) void *c, void *private_data)
{ {
void (*cont)(void *priv, BOOL succ, void (*cont)(void *priv, BOOL succ,
DOM_SID *aliases, int num_aliases) = c; DOM_SID *aliases, size_t num_aliases) = c;
char *aliases_str; char *aliases_str;
DOM_SID *sids = NULL; DOM_SID *sids = NULL;
int num_sids = 0; size_t num_sids = 0;
if (!success) { if (!success) {
DEBUG(5, ("Could not trigger getsidaliases\n")); DEBUG(5, ("Could not trigger getsidaliases\n"));
@ -840,11 +840,11 @@ static void getsidaliases_recv(TALLOC_CTX *mem_ctx, BOOL success,
void winbindd_getsidaliases_async(struct winbindd_domain *domain, void winbindd_getsidaliases_async(struct winbindd_domain *domain,
TALLOC_CTX *mem_ctx, TALLOC_CTX *mem_ctx,
const DOM_SID *sids, int num_sids, const DOM_SID *sids, size_t num_sids,
void (*cont)(void *private_data, void (*cont)(void *private_data,
BOOL success, BOOL success,
const DOM_SID *aliases, const DOM_SID *aliases,
int num_aliases), size_t num_aliases),
void *private_data) void *private_data)
{ {
struct winbindd_request request; struct winbindd_request request;
@ -874,10 +874,11 @@ enum winbindd_result winbindd_dual_getsidaliases(struct winbindd_domain *domain,
struct winbindd_cli_state *state) struct winbindd_cli_state *state)
{ {
DOM_SID *sids = NULL; DOM_SID *sids = NULL;
int num_sids = 0; size_t num_sids = 0;
char *sidstr; char *sidstr;
size_t len; ssize_t len;
int i, num_aliases; size_t i;
uint32 num_aliases;
uint32 *alias_rids; uint32 *alias_rids;
NTSTATUS result; NTSTATUS result;
@ -943,8 +944,8 @@ struct gettoken_state {
struct winbindd_domain *alias_domain; struct winbindd_domain *alias_domain;
struct winbindd_domain *builtin_domain; struct winbindd_domain *builtin_domain;
DOM_SID *sids; DOM_SID *sids;
int num_sids; size_t num_sids;
void (*cont)(void *private_data, BOOL success, DOM_SID *sids, int num_sids); void (*cont)(void *private_data, BOOL success, DOM_SID *sids, size_t num_sids);
void *private_data; void *private_data;
}; };
@ -953,12 +954,12 @@ static void gettoken_recvdomgroups(TALLOC_CTX *mem_ctx, BOOL success,
void *c, void *private_data); void *c, void *private_data);
static void gettoken_recvaliases(void *private_data, BOOL success, static void gettoken_recvaliases(void *private_data, BOOL success,
const DOM_SID *aliases, const DOM_SID *aliases,
int num_aliases); size_t num_aliases);
void winbindd_gettoken_async(TALLOC_CTX *mem_ctx, const DOM_SID *user_sid, void winbindd_gettoken_async(TALLOC_CTX *mem_ctx, const DOM_SID *user_sid,
void (*cont)(void *private_data, BOOL success, void (*cont)(void *private_data, BOOL success,
DOM_SID *sids, int num_sids), DOM_SID *sids, size_t num_sids),
void *private_data) void *private_data)
{ {
struct winbindd_domain *domain; struct winbindd_domain *domain;
@ -1046,10 +1047,10 @@ static void gettoken_recvdomgroups(TALLOC_CTX *mem_ctx, BOOL success,
static void gettoken_recvaliases(void *private_data, BOOL success, static void gettoken_recvaliases(void *private_data, BOOL success,
const DOM_SID *aliases, const DOM_SID *aliases,
int num_aliases) size_t num_aliases)
{ {
struct gettoken_state *state = private_data; struct gettoken_state *state = private_data;
int i; size_t i;
if (!success) { if (!success) {
DEBUG(10, ("Could not receive domain local groups\n")); DEBUG(10, ("Could not receive domain local groups\n"));
@ -1437,4 +1438,3 @@ void query_user_async(TALLOC_CTX *mem_ctx, struct winbindd_domain *domain,
do_async_domain(mem_ctx, domain, &request, query_user_recv, do_async_domain(mem_ctx, domain, &request, query_user_recv,
cont, private_data); cont, private_data);
} }

View File

@ -564,7 +564,7 @@ struct cache_entry *centry_start(struct winbindd_domain *domain, NTSTATUS status
centry = SMB_XMALLOC_P(struct cache_entry); centry = SMB_XMALLOC_P(struct cache_entry);
centry->len = 8192; /* reasonable default */ centry->len = 8192; /* reasonable default */
centry->data = SMB_XMALLOC_ARRAY(char, centry->len); centry->data = SMB_XMALLOC_ARRAY(uint8, centry->len);
centry->ofs = 0; centry->ofs = 0;
centry->sequence_number = domain->sequence_number; centry->sequence_number = domain->sequence_number;
centry_put_uint32(centry, NT_STATUS_V(status)); centry_put_uint32(centry, NT_STATUS_V(status));

View File

@ -59,7 +59,7 @@ static BOOL fill_grent(struct winbindd_gr *gr, const char *dom_name,
static BOOL fill_grent_mem(struct winbindd_domain *domain, static BOOL fill_grent_mem(struct winbindd_domain *domain,
DOM_SID *group_sid, DOM_SID *group_sid,
enum SID_NAME_USE group_name_type, enum SID_NAME_USE group_name_type,
int *num_gr_mem, char **gr_mem, int *gr_mem_len) size_t *num_gr_mem, char **gr_mem, size_t *gr_mem_len)
{ {
DOM_SID *sid_mem = NULL; DOM_SID *sid_mem = NULL;
uint32 num_names = 0; uint32 num_names = 0;
@ -206,7 +206,7 @@ void winbindd_getgrnam(struct winbindd_cli_state *state)
enum SID_NAME_USE name_type; enum SID_NAME_USE name_type;
fstring name_domain, name_group; fstring name_domain, name_group;
char *tmp, *gr_mem; char *tmp, *gr_mem;
int gr_mem_len; size_t gr_mem_len;
gid_t gid; gid_t gid;
/* Ensure null termination */ /* Ensure null termination */
@ -301,7 +301,7 @@ void winbindd_getgrgid(struct winbindd_cli_state *state)
enum SID_NAME_USE name_type; enum SID_NAME_USE name_type;
fstring dom_name; fstring dom_name;
fstring group_name; fstring group_name;
int gr_mem_len; size_t gr_mem_len;
char *gr_mem; char *gr_mem;
DEBUG(3, ("[%5lu]: getgrgid %lu\n", (unsigned long)state->pid, DEBUG(3, ("[%5lu]: getgrgid %lu\n", (unsigned long)state->pid,
@ -615,7 +615,7 @@ void winbindd_getgrent(struct winbindd_cli_state *state)
fstring domain_group_name; fstring domain_group_name;
uint32 result; uint32 result;
gid_t group_gid; gid_t group_gid;
int gr_mem_len; size_t gr_mem_len;
char *gr_mem, *new_gr_mem_list; char *gr_mem, *new_gr_mem_list;
DOM_SID group_sid; DOM_SID group_sid;
struct winbindd_domain *domain; struct winbindd_domain *domain;
@ -901,16 +901,16 @@ struct getgroups_state {
DOM_SID user_sid; DOM_SID user_sid;
const DOM_SID *token_sids; const DOM_SID *token_sids;
int i, num_token_sids; size_t i, num_token_sids;
gid_t *token_gids; gid_t *token_gids;
int num_token_gids; size_t num_token_gids;
}; };
static void getgroups_usersid_recv(void *private_data, BOOL success, static void getgroups_usersid_recv(void *private_data, BOOL success,
const DOM_SID *sid, enum SID_NAME_USE type); const DOM_SID *sid, enum SID_NAME_USE type);
static void getgroups_tokensids_recv(void *private_data, BOOL success, static void getgroups_tokensids_recv(void *private_data, BOOL success,
DOM_SID *token_sids, int num_token_sids); DOM_SID *token_sids, size_t num_token_sids);
static void getgroups_sid2gid_recv(void *private_data, BOOL success, gid_t gid); static void getgroups_sid2gid_recv(void *private_data, BOOL success, gid_t gid);
void winbindd_getgroups(struct winbindd_cli_state *state) void winbindd_getgroups(struct winbindd_cli_state *state)
@ -987,7 +987,7 @@ static void getgroups_usersid_recv(void *private_data, BOOL success,
} }
static void getgroups_tokensids_recv(void *private_data, BOOL success, static void getgroups_tokensids_recv(void *private_data, BOOL success,
DOM_SID *token_sids, int num_token_sids) DOM_SID *token_sids, size_t num_token_sids)
{ {
struct getgroups_state *s = private_data; struct getgroups_state *s = private_data;
@ -1051,7 +1051,7 @@ static void getgroups_sid2gid_recv(void *private_data, BOOL success, gid_t gid)
*/ */
static void getusersids_recv(void *private_data, BOOL success, DOM_SID *sids, static void getusersids_recv(void *private_data, BOOL success, DOM_SID *sids,
int num_sids); size_t num_sids);
void winbindd_getusersids(struct winbindd_cli_state *state) void winbindd_getusersids(struct winbindd_cli_state *state)
{ {
@ -1079,12 +1079,12 @@ void winbindd_getusersids(struct winbindd_cli_state *state)
} }
static void getusersids_recv(void *private_data, BOOL success, DOM_SID *sids, static void getusersids_recv(void *private_data, BOOL success, DOM_SID *sids,
int num_sids) size_t num_sids)
{ {
struct winbindd_cli_state *state = private_data; struct winbindd_cli_state *state = private_data;
char *ret = NULL; char *ret = NULL;
unsigned ofs, ret_size = 0; unsigned ofs, ret_size = 0;
int i; size_t i;
if (!success) { if (!success) {
request_error(state); request_error(state);
@ -1151,9 +1151,9 @@ enum winbindd_result winbindd_dual_getuserdomgroups(struct winbindd_domain *doma
NTSTATUS status; NTSTATUS status;
char *sidstring; char *sidstring;
size_t len; ssize_t len;
DOM_SID *groups; DOM_SID *groups;
int num_groups; uint32 num_groups;
/* Ensure null termination */ /* Ensure null termination */
state->request.data.sid[sizeof(state->request.data.sid)-1]='\0'; state->request.data.sid[sizeof(state->request.data.sid)-1]='\0';

View File

@ -153,8 +153,8 @@ typedef struct winbindd_gr {
fstring gr_name; fstring gr_name;
fstring gr_passwd; fstring gr_passwd;
gid_t gr_gid; gid_t gr_gid;
int num_gr_mem; size_t num_gr_mem;
int gr_mem_ofs; /* offset to group membership */ size_t gr_mem_ofs; /* offset to group membership */
char **gr_mem; char **gr_mem;
} WINBINDD_GR; } WINBINDD_GR;

View File

@ -28,29 +28,27 @@
#undef DBGC_CLASS #undef DBGC_CLASS
#define DBGC_CLASS DBGC_WINBIND #define DBGC_CLASS DBGC_WINBIND
static void static void add_member(const char *domain, const char *user,
add_member(const char *domain, const char *user, char **pp_members, size_t *p_num_members)
char **members, int *num_members)
{ {
fstring name; fstring name;
fill_domain_username(name, domain, user); fill_domain_username(name, domain, user);
safe_strcat(name, ",", sizeof(name)-1); safe_strcat(name, ",", sizeof(name)-1);
string_append(members, name); string_append(pp_members, name);
*num_members += 1; *p_num_members += 1;
} }
/********************************************************************** /**********************************************************************
Add member users resulting from sid. Expand if it is a domain group. Add member users resulting from sid. Expand if it is a domain group.
**********************************************************************/ **********************************************************************/
static void static void add_expanded_sid(const DOM_SID *sid, char **pp_members, size_t *p_num_members)
add_expanded_sid(const DOM_SID *sid, char **members, int *num_members)
{ {
DOM_SID dom_sid; DOM_SID dom_sid;
uint32 rid; uint32 rid;
struct winbindd_domain *domain; struct winbindd_domain *domain;
int i; size_t i;
char *domain_name = NULL; char *domain_name = NULL;
char *name = NULL; char *name = NULL;
@ -93,7 +91,7 @@ add_expanded_sid(const DOM_SID *sid, char **members, int *num_members)
DEBUG(10, ("Found name %s, type %d\n", name, type)); DEBUG(10, ("Found name %s, type %d\n", name, type));
if (type == SID_NAME_USER) { if (type == SID_NAME_USER) {
add_member(domain_name, name, members, num_members); add_member(domain_name, name, pp_members, p_num_members);
goto done; goto done;
} }
@ -134,7 +132,7 @@ add_expanded_sid(const DOM_SID *sid, char **members, int *num_members)
continue; continue;
} }
add_member(domain->name, names[i], members, num_members); add_member(domain->name, names[i], pp_members, p_num_members);
} }
done: done:
@ -144,10 +142,10 @@ add_expanded_sid(const DOM_SID *sid, char **members, int *num_members)
BOOL fill_passdb_alias_grmem(struct winbindd_domain *domain, BOOL fill_passdb_alias_grmem(struct winbindd_domain *domain,
DOM_SID *group_sid, DOM_SID *group_sid,
int *num_gr_mem, char **gr_mem, int *gr_mem_len) size_t *num_gr_mem, char **gr_mem, size_t *gr_mem_len)
{ {
DOM_SID *members; DOM_SID *members;
int i, num_members; size_t i, num_members;
*num_gr_mem = 0; *num_gr_mem = 0;
*gr_mem = NULL; *gr_mem = NULL;
@ -163,7 +161,7 @@ BOOL fill_passdb_alias_grmem(struct winbindd_domain *domain,
SAFE_FREE(members); SAFE_FREE(members);
if (*gr_mem != NULL) { if (*gr_mem != NULL) {
int len; size_t len;
/* We have at least one member, strip off the last "," */ /* We have at least one member, strip off the last "," */
len = strlen(*gr_mem); len = strlen(*gr_mem);
@ -305,13 +303,15 @@ static NTSTATUS lookup_usergroups(struct winbindd_domain *domain,
static NTSTATUS lookup_useraliases(struct winbindd_domain *domain, static NTSTATUS lookup_useraliases(struct winbindd_domain *domain,
TALLOC_CTX *mem_ctx, TALLOC_CTX *mem_ctx,
uint32 num_sids, const DOM_SID *sids, uint32 num_sids, const DOM_SID *sids,
uint32 *num_aliases, uint32 **rids) uint32 *p_num_aliases, uint32 **rids)
{ {
BOOL result; BOOL result;
size_t num_aliases;
result = pdb_enum_alias_memberships(mem_ctx, &domain->sid, result = pdb_enum_alias_memberships(mem_ctx, &domain->sid,
sids, num_sids, rids, num_aliases); sids, num_sids, rids, &num_aliases);
*p_num_aliases = num_aliases;
return result ? NT_STATUS_OK : NT_STATUS_UNSUCCESSFUL; return result ? NT_STATUS_OK : NT_STATUS_UNSUCCESSFUL;
} }

View File

@ -491,7 +491,7 @@ static NTSTATUS context_delete_group_mapping_entry(struct pdb_context *context,
static NTSTATUS context_enum_group_mapping(struct pdb_context *context, static NTSTATUS context_enum_group_mapping(struct pdb_context *context,
enum SID_NAME_USE sid_name_use, enum SID_NAME_USE sid_name_use,
GROUP_MAP **rmap, int *num_entries, GROUP_MAP **pp_rmap, size_t *p_num_entries,
BOOL unix_only) BOOL unix_only)
{ {
NTSTATUS ret = NT_STATUS_UNSUCCESSFUL; NTSTATUS ret = NT_STATUS_UNSUCCESSFUL;
@ -502,15 +502,15 @@ static NTSTATUS context_enum_group_mapping(struct pdb_context *context,
} }
return context->pdb_methods->enum_group_mapping(context->pdb_methods, return context->pdb_methods->enum_group_mapping(context->pdb_methods,
sid_name_use, rmap, sid_name_use, pp_rmap,
num_entries, unix_only); p_num_entries, unix_only);
} }
static NTSTATUS context_enum_group_members(struct pdb_context *context, static NTSTATUS context_enum_group_members(struct pdb_context *context,
TALLOC_CTX *mem_ctx, TALLOC_CTX *mem_ctx,
const DOM_SID *group, const DOM_SID *group,
uint32 **member_rids, uint32 **pp_member_rids,
int *num_members) size_t *p_num_members)
{ {
NTSTATUS ret = NT_STATUS_UNSUCCESSFUL; NTSTATUS ret = NT_STATUS_UNSUCCESSFUL;
@ -521,15 +521,15 @@ static NTSTATUS context_enum_group_members(struct pdb_context *context,
return context->pdb_methods->enum_group_members(context->pdb_methods, return context->pdb_methods->enum_group_members(context->pdb_methods,
mem_ctx, group, mem_ctx, group,
member_rids, pp_member_rids,
num_members); p_num_members);
} }
static NTSTATUS context_enum_group_memberships(struct pdb_context *context, static NTSTATUS context_enum_group_memberships(struct pdb_context *context,
const char *username, const char *username,
gid_t primary_gid, gid_t primary_gid,
DOM_SID **sids, gid_t **gids, DOM_SID **pp_sids, gid_t **pp_gids,
int *num_groups) size_t *p_num_groups)
{ {
NTSTATUS ret = NT_STATUS_UNSUCCESSFUL; NTSTATUS ret = NT_STATUS_UNSUCCESSFUL;
@ -540,7 +540,7 @@ static NTSTATUS context_enum_group_memberships(struct pdb_context *context,
return context->pdb_methods-> return context->pdb_methods->
enum_group_memberships(context->pdb_methods, username, enum_group_memberships(context->pdb_methods, username,
primary_gid, sids, gids, num_groups); primary_gid, pp_sids, pp_gids, p_num_groups);
} }
static NTSTATUS context_find_alias(struct pdb_context *context, static NTSTATUS context_find_alias(struct pdb_context *context,
@ -645,8 +645,8 @@ static NTSTATUS context_del_aliasmem(struct pdb_context *context,
} }
static NTSTATUS context_enum_aliasmem(struct pdb_context *context, static NTSTATUS context_enum_aliasmem(struct pdb_context *context,
const DOM_SID *alias, DOM_SID **members, const DOM_SID *alias, DOM_SID **pp_members,
int *num) size_t *p_num)
{ {
NTSTATUS ret = NT_STATUS_UNSUCCESSFUL; NTSTATUS ret = NT_STATUS_UNSUCCESSFUL;
@ -656,16 +656,16 @@ static NTSTATUS context_enum_aliasmem(struct pdb_context *context,
} }
return context->pdb_methods->enum_aliasmem(context->pdb_methods, return context->pdb_methods->enum_aliasmem(context->pdb_methods,
alias, members, num); alias, pp_members, p_num);
} }
static NTSTATUS context_enum_alias_memberships(struct pdb_context *context, static NTSTATUS context_enum_alias_memberships(struct pdb_context *context,
TALLOC_CTX *mem_ctx, TALLOC_CTX *mem_ctx,
const DOM_SID *domain_sid, const DOM_SID *domain_sid,
const DOM_SID *members, const DOM_SID *members,
int num_members, size_t num_members,
uint32 **alias_rids, uint32 **pp_alias_rids,
int *num_alias_rids) size_t *p_num_alias_rids)
{ {
NTSTATUS ret = NT_STATUS_UNSUCCESSFUL; NTSTATUS ret = NT_STATUS_UNSUCCESSFUL;
@ -677,16 +677,16 @@ static NTSTATUS context_enum_alias_memberships(struct pdb_context *context,
return context->pdb_methods-> return context->pdb_methods->
enum_alias_memberships(context->pdb_methods, mem_ctx, enum_alias_memberships(context->pdb_methods, mem_ctx,
domain_sid, members, num_members, domain_sid, members, num_members,
alias_rids, num_alias_rids); pp_alias_rids, p_num_alias_rids);
} }
static NTSTATUS context_lookup_rids(struct pdb_context *context, static NTSTATUS context_lookup_rids(struct pdb_context *context,
TALLOC_CTX *mem_ctx, TALLOC_CTX *mem_ctx,
const DOM_SID *domain_sid, const DOM_SID *domain_sid,
int num_rids, size_t num_rids,
uint32 *rids, uint32 *rids,
const char ***names, const char ***pp_names,
uint32 **attrs) uint32 **pp_attrs)
{ {
NTSTATUS ret = NT_STATUS_UNSUCCESSFUL; NTSTATUS ret = NT_STATUS_UNSUCCESSFUL;
@ -697,7 +697,7 @@ static NTSTATUS context_lookup_rids(struct pdb_context *context,
return context->pdb_methods->lookup_rids(context->pdb_methods, return context->pdb_methods->lookup_rids(context->pdb_methods,
mem_ctx, domain_sid, num_rids, mem_ctx, domain_sid, num_rids,
rids, names, attrs); rids, pp_names, pp_attrs);
} }
static NTSTATUS context_get_account_policy(struct pdb_context *context, static NTSTATUS context_get_account_policy(struct pdb_context *context,
@ -1238,8 +1238,8 @@ BOOL pdb_delete_group_mapping_entry(DOM_SID sid)
pdb_delete_group_mapping_entry(pdb_context, sid)); pdb_delete_group_mapping_entry(pdb_context, sid));
} }
BOOL pdb_enum_group_mapping(enum SID_NAME_USE sid_name_use, GROUP_MAP **rmap, BOOL pdb_enum_group_mapping(enum SID_NAME_USE sid_name_use, GROUP_MAP **pp_rmap,
int *num_entries, BOOL unix_only) size_t *p_num_entries, BOOL unix_only)
{ {
struct pdb_context *pdb_context = pdb_get_static_context(False); struct pdb_context *pdb_context = pdb_get_static_context(False);
@ -1249,13 +1249,13 @@ BOOL pdb_enum_group_mapping(enum SID_NAME_USE sid_name_use, GROUP_MAP **rmap,
return NT_STATUS_IS_OK(pdb_context-> return NT_STATUS_IS_OK(pdb_context->
pdb_enum_group_mapping(pdb_context, sid_name_use, pdb_enum_group_mapping(pdb_context, sid_name_use,
rmap, num_entries, unix_only)); pp_rmap, p_num_entries, unix_only));
} }
NTSTATUS pdb_enum_group_members(TALLOC_CTX *mem_ctx, NTSTATUS pdb_enum_group_members(TALLOC_CTX *mem_ctx,
const DOM_SID *sid, const DOM_SID *sid,
uint32 **member_rids, uint32 **pp_member_rids,
int *num_members) size_t *p_num_members)
{ {
struct pdb_context *pdb_context = pdb_get_static_context(False); struct pdb_context *pdb_context = pdb_get_static_context(False);
@ -1264,12 +1264,12 @@ NTSTATUS pdb_enum_group_members(TALLOC_CTX *mem_ctx,
} }
return pdb_context->pdb_enum_group_members(pdb_context, mem_ctx, sid, return pdb_context->pdb_enum_group_members(pdb_context, mem_ctx, sid,
member_rids, num_members); pp_member_rids, p_num_members);
} }
NTSTATUS pdb_enum_group_memberships(const char *username, gid_t primary_gid, NTSTATUS pdb_enum_group_memberships(const char *username, gid_t primary_gid,
DOM_SID **sids, gid_t **gids, DOM_SID **pp_sids, gid_t **pp_gids,
int *num_groups) size_t *p_num_groups)
{ {
struct pdb_context *pdb_context = pdb_get_static_context(False); struct pdb_context *pdb_context = pdb_get_static_context(False);
@ -1278,8 +1278,8 @@ NTSTATUS pdb_enum_group_memberships(const char *username, gid_t primary_gid,
} }
return pdb_context->pdb_enum_group_memberships(pdb_context, username, return pdb_context->pdb_enum_group_memberships(pdb_context, username,
primary_gid, sids, gids, primary_gid, pp_sids, pp_gids,
num_groups); p_num_groups);
} }
BOOL pdb_find_alias(const char *name, DOM_SID *sid) BOOL pdb_find_alias(const char *name, DOM_SID *sid)
@ -1367,7 +1367,7 @@ BOOL pdb_del_aliasmem(const DOM_SID *alias, const DOM_SID *member)
} }
BOOL pdb_enum_aliasmem(const DOM_SID *alias, BOOL pdb_enum_aliasmem(const DOM_SID *alias,
DOM_SID **members, int *num_members) DOM_SID **pp_members, size_t *p_num_members)
{ {
struct pdb_context *pdb_context = pdb_get_static_context(False); struct pdb_context *pdb_context = pdb_get_static_context(False);
@ -1377,12 +1377,12 @@ BOOL pdb_enum_aliasmem(const DOM_SID *alias,
return NT_STATUS_IS_OK(pdb_context-> return NT_STATUS_IS_OK(pdb_context->
pdb_enum_aliasmem(pdb_context, alias, pdb_enum_aliasmem(pdb_context, alias,
members, num_members)); pp_members, p_num_members));
} }
BOOL pdb_enum_alias_memberships(TALLOC_CTX *mem_ctx, const DOM_SID *domain_sid, BOOL pdb_enum_alias_memberships(TALLOC_CTX *mem_ctx, const DOM_SID *domain_sid,
const DOM_SID *members, int num_members, const DOM_SID *members, size_t num_members,
uint32 **alias_rids, int *num_alias_rids) uint32 **pp_alias_rids, size_t *p_num_alias_rids)
{ {
struct pdb_context *pdb_context = pdb_get_static_context(False); struct pdb_context *pdb_context = pdb_get_static_context(False);
@ -1394,8 +1394,8 @@ BOOL pdb_enum_alias_memberships(TALLOC_CTX *mem_ctx, const DOM_SID *domain_sid,
pdb_enum_alias_memberships(pdb_context, mem_ctx, pdb_enum_alias_memberships(pdb_context, mem_ctx,
domain_sid, domain_sid,
members, num_members, members, num_members,
alias_rids, pp_alias_rids,
num_alias_rids)); p_num_alias_rids));
} }
NTSTATUS pdb_lookup_rids(TALLOC_CTX *mem_ctx, NTSTATUS pdb_lookup_rids(TALLOC_CTX *mem_ctx,
@ -1534,33 +1534,32 @@ static NTSTATUS pdb_default_get_seq_num(struct pdb_methods *methods, time_t *seq
} }
static void add_uid_to_array_unique(TALLOC_CTX *mem_ctx, static void add_uid_to_array_unique(TALLOC_CTX *mem_ctx,
uid_t uid, uid_t **uids, int *num) uid_t uid, uid_t **pp_uids, size_t *p_num)
{ {
int i; size_t i;
for (i=0; i<*num; i++) { for (i=0; i<*p_num; i++) {
if ((*uids)[i] == uid) if ((*pp_uids)[i] == uid)
return; return;
} }
*uids = TALLOC_REALLOC_ARRAY(mem_ctx, *uids, uid_t, *num+1); *pp_uids = TALLOC_REALLOC_ARRAY(mem_ctx, *pp_uids, uid_t, *p_num+1);
if (*uids == NULL) if (*pp_uids == NULL)
return; return;
(*uids)[*num] = uid; (*pp_uids)[*p_num] = uid;
*num += 1; *p_num += 1;
} }
static BOOL get_memberuids(TALLOC_CTX *mem_ctx, gid_t gid, uid_t **uids, static BOOL get_memberuids(TALLOC_CTX *mem_ctx, gid_t gid, uid_t **pp_uids, size_t *p_num)
int *num)
{ {
struct group *grp; struct group *grp;
char **gr; char **gr;
struct sys_pwent *userlist, *user; struct sys_pwent *userlist, *user;
*uids = NULL; *pp_uids = NULL;
*num = 0; *p_num = 0;
/* We only look at our own sam, so don't care about imported stuff */ /* We only look at our own sam, so don't care about imported stuff */
@ -1578,7 +1577,7 @@ static BOOL get_memberuids(TALLOC_CTX *mem_ctx, gid_t gid, uid_t **uids,
for (user = userlist; user != NULL; user = user->next) { for (user = userlist; user != NULL; user = user->next) {
if (user->pw_gid != gid) if (user->pw_gid != gid)
continue; continue;
add_uid_to_array_unique(mem_ctx, user->pw_uid, uids, num); add_uid_to_array_unique(mem_ctx, user->pw_uid, pp_uids, p_num);
} }
pwent_free(userlist); pwent_free(userlist);
@ -1590,7 +1589,7 @@ static BOOL get_memberuids(TALLOC_CTX *mem_ctx, gid_t gid, uid_t **uids,
if (pw == NULL) if (pw == NULL)
continue; continue;
add_uid_to_array_unique(mem_ctx, pw->pw_uid, uids, num); add_uid_to_array_unique(mem_ctx, pw->pw_uid, pp_uids, p_num);
} }
winbind_on(); winbind_on();
@ -1601,15 +1600,15 @@ static BOOL get_memberuids(TALLOC_CTX *mem_ctx, gid_t gid, uid_t **uids,
NTSTATUS pdb_default_enum_group_members(struct pdb_methods *methods, NTSTATUS pdb_default_enum_group_members(struct pdb_methods *methods,
TALLOC_CTX *mem_ctx, TALLOC_CTX *mem_ctx,
const DOM_SID *group, const DOM_SID *group,
uint32 **member_rids, uint32 **pp_member_rids,
int *num_members) size_t *p_num_members)
{ {
gid_t gid; gid_t gid;
uid_t *uids; uid_t *uids;
int i, num_uids; size_t i, num_uids;
*member_rids = NULL; *pp_member_rids = NULL;
*num_members = 0; *p_num_members = 0;
if (!NT_STATUS_IS_OK(sid_to_gid(group, &gid))) if (!NT_STATUS_IS_OK(sid_to_gid(group, &gid)))
return NT_STATUS_NO_SUCH_GROUP; return NT_STATUS_NO_SUCH_GROUP;
@ -1620,7 +1619,7 @@ NTSTATUS pdb_default_enum_group_members(struct pdb_methods *methods,
if (num_uids == 0) if (num_uids == 0)
return NT_STATUS_OK; return NT_STATUS_OK;
*member_rids = TALLOC_ZERO_ARRAY(mem_ctx, uint32, num_uids); *pp_member_rids = TALLOC_ZERO_ARRAY(mem_ctx, uint32, num_uids);
for (i=0; i<num_uids; i++) { for (i=0; i<num_uids; i++) {
DOM_SID sid; DOM_SID sid;
@ -1636,8 +1635,8 @@ NTSTATUS pdb_default_enum_group_members(struct pdb_methods *methods,
continue; continue;
} }
sid_peek_rid(&sid, &(*member_rids)[*num_members]); sid_peek_rid(&sid, &(*pp_member_rids)[*p_num_members]);
*num_members += 1; *p_num_members += 1;
} }
return NT_STATUS_OK; return NT_STATUS_OK;
@ -1838,7 +1837,7 @@ static BOOL pdb_default_search_users(struct pdb_methods *methods,
struct group_search { struct group_search {
GROUP_MAP *groups; GROUP_MAP *groups;
int num_groups, current_group; size_t num_groups, current_group;
}; };
static BOOL next_entry_groups(struct pdb_search *s, static BOOL next_entry_groups(struct pdb_search *s,

View File

@ -2332,22 +2332,22 @@ static NTSTATUS ldapsam_getgrnam(struct pdb_methods *methods, GROUP_MAP *map,
} }
static void add_rid_to_array_unique(TALLOC_CTX *mem_ctx, static void add_rid_to_array_unique(TALLOC_CTX *mem_ctx,
uint32 rid, uint32 **rids, int *num) uint32 rid, uint32 **pp_rids, size_t *p_num)
{ {
int i; size_t i;
for (i=0; i<*num; i++) { for (i=0; i<*p_num; i++) {
if ((*rids)[i] == rid) if ((*pp_rids)[i] == rid)
return; return;
} }
*rids = TALLOC_REALLOC_ARRAY(mem_ctx, *rids, uint32, *num+1); *pp_rids = TALLOC_REALLOC_ARRAY(mem_ctx, *pp_rids, uint32, *p_num+1);
if (*rids == NULL) if (*pp_rids == NULL)
return; return;
(*rids)[*num] = rid; (*pp_rids)[*p_num] = rid;
*num += 1; *p_num += 1;
} }
static BOOL ldapsam_extract_rid_from_entry(LDAP *ldap_struct, static BOOL ldapsam_extract_rid_from_entry(LDAP *ldap_struct,
@ -2386,8 +2386,8 @@ static BOOL ldapsam_extract_rid_from_entry(LDAP *ldap_struct,
static NTSTATUS ldapsam_enum_group_members(struct pdb_methods *methods, static NTSTATUS ldapsam_enum_group_members(struct pdb_methods *methods,
TALLOC_CTX *mem_ctx, TALLOC_CTX *mem_ctx,
const DOM_SID *group, const DOM_SID *group,
uint32 **member_rids, uint32 **pp_member_rids,
int *num_members) size_t *p_num_members)
{ {
struct ldapsam_privates *ldap_state = struct ldapsam_privates *ldap_state =
(struct ldapsam_privates *)methods->private_data; (struct ldapsam_privates *)methods->private_data;
@ -2404,11 +2404,11 @@ static NTSTATUS ldapsam_enum_group_members(struct pdb_methods *methods,
if (!lp_parm_bool(-1, "ldapsam", "trusted", False)) if (!lp_parm_bool(-1, "ldapsam", "trusted", False))
return pdb_default_enum_group_members(methods, mem_ctx, group, return pdb_default_enum_group_members(methods, mem_ctx, group,
member_rids, pp_member_rids,
num_members); p_num_members);
*member_rids = NULL; *pp_member_rids = NULL;
*num_members = 0; *p_num_members = 0;
pstr_sprintf(filter, pstr_sprintf(filter,
"(&(objectClass=sambaSamAccount)" "(&(objectClass=sambaSamAccount)"
@ -2439,8 +2439,8 @@ static NTSTATUS ldapsam_enum_group_members(struct pdb_methods *methods,
continue; continue;
} }
add_rid_to_array_unique(mem_ctx, rid, member_rids, add_rid_to_array_unique(mem_ctx, rid, pp_member_rids,
num_members); p_num_members);
} }
if (msg != NULL) if (msg != NULL)
@ -2543,8 +2543,8 @@ static NTSTATUS ldapsam_enum_group_members(struct pdb_methods *methods,
sid_peek_rid(&sid, &rid); sid_peek_rid(&sid, &rid);
add_rid_to_array_unique(mem_ctx, rid, member_rids, add_rid_to_array_unique(mem_ctx, rid, pp_member_rids,
num_members); p_num_members);
} }
result = NT_STATUS_OK; result = NT_STATUS_OK;
@ -2564,8 +2564,8 @@ static NTSTATUS ldapsam_enum_group_members(struct pdb_methods *methods,
static NTSTATUS ldapsam_enum_group_memberships(struct pdb_methods *methods, static NTSTATUS ldapsam_enum_group_memberships(struct pdb_methods *methods,
const char *username, const char *username,
gid_t primary_gid, gid_t primary_gid,
DOM_SID **sids, gid_t **gids, DOM_SID **pp_sids, gid_t **pp_gids,
int *num_groups) size_t *p_num_groups)
{ {
struct ldapsam_privates *ldap_state = struct ldapsam_privates *ldap_state =
(struct ldapsam_privates *)methods->private_data; (struct ldapsam_privates *)methods->private_data;
@ -2577,14 +2577,14 @@ static NTSTATUS ldapsam_enum_group_memberships(struct pdb_methods *methods,
LDAPMessage *msg = NULL; LDAPMessage *msg = NULL;
LDAPMessage *entry; LDAPMessage *entry;
NTSTATUS result = NT_STATUS_UNSUCCESSFUL; NTSTATUS result = NT_STATUS_UNSUCCESSFUL;
int num_sids, num_gids; size_t num_sids, num_gids;
if (!lp_parm_bool(-1, "ldapsam", "trusted", False)) if (!lp_parm_bool(-1, "ldapsam", "trusted", False))
return pdb_default_enum_group_memberships(methods, username, return pdb_default_enum_group_memberships(methods, username,
primary_gid, sids, primary_gid, pp_sids,
gids, num_groups); pp_gids, p_num_groups);
*sids = NULL; *pp_sids = NULL;
num_sids = 0; num_sids = 0;
escape_name = escape_ldap_string_alloc(username); escape_name = escape_ldap_string_alloc(username);
@ -2603,18 +2603,18 @@ static NTSTATUS ldapsam_enum_group_memberships(struct pdb_methods *methods,
goto done; goto done;
num_gids = 0; num_gids = 0;
*gids = NULL; *pp_gids = NULL;
num_sids = 0; num_sids = 0;
*sids = NULL; *pp_sids = NULL;
/* We need to add the primary group as the first gid/sid */ /* We need to add the primary group as the first gid/sid */
add_gid_to_array_unique(NULL, primary_gid, gids, &num_gids); add_gid_to_array_unique(NULL, primary_gid, pp_gids, &num_gids);
/* This sid will be replaced later */ /* This sid will be replaced later */
add_sid_to_array_unique(NULL, &global_sid_NULL, sids, &num_sids); add_sid_to_array_unique(NULL, &global_sid_NULL, pp_sids, &num_sids);
for (entry = ldap_first_entry(conn->ldap_struct, msg); for (entry = ldap_first_entry(conn->ldap_struct, msg);
entry != NULL; entry != NULL;
@ -2644,19 +2644,19 @@ static NTSTATUS ldapsam_enum_group_memberships(struct pdb_methods *methods,
goto done; goto done;
if (gid == primary_gid) { if (gid == primary_gid) {
sid_copy(&(*sids)[0], &sid); sid_copy(&(*pp_sids)[0], &sid);
} else { } else {
add_gid_to_array_unique(NULL, gid, gids, &num_gids); add_gid_to_array_unique(NULL, gid, pp_gids, &num_gids);
add_sid_to_array_unique(NULL, &sid, sids, &num_sids); add_sid_to_array_unique(NULL, &sid, pp_sids, &num_sids);
} }
} }
if (sid_compare(&global_sid_NULL, &(*sids)[0]) == 0) { if (sid_compare(&global_sid_NULL, &(*pp_sids)[0]) == 0) {
DEBUG(3, ("primary group of [%s] not found\n", username)); DEBUG(3, ("primary group of [%s] not found\n", username));
goto done; goto done;
} }
*num_groups = num_sids; *p_num_groups = num_sids;
result = NT_STATUS_OK; result = NT_STATUS_OK;
@ -2979,15 +2979,15 @@ static NTSTATUS ldapsam_getsamgrent(struct pdb_methods *my_methods,
static NTSTATUS ldapsam_enum_group_mapping(struct pdb_methods *methods, static NTSTATUS ldapsam_enum_group_mapping(struct pdb_methods *methods,
enum SID_NAME_USE sid_name_use, enum SID_NAME_USE sid_name_use,
GROUP_MAP **rmap, int *num_entries, GROUP_MAP **pp_rmap, size_t *p_num_entries,
BOOL unix_only) BOOL unix_only)
{ {
GROUP_MAP map; GROUP_MAP map;
GROUP_MAP *mapt; GROUP_MAP *mapt;
int entries = 0; size_t entries = 0;
*num_entries = 0; *p_num_entries = 0;
*rmap = NULL; *pp_rmap = NULL;
if (!NT_STATUS_IS_OK(ldapsam_setsamgrent(methods, False))) { if (!NT_STATUS_IS_OK(ldapsam_setsamgrent(methods, False))) {
DEBUG(0, ("ldapsam_enum_group_mapping: Unable to open passdb\n")); DEBUG(0, ("ldapsam_enum_group_mapping: Unable to open passdb\n"));
@ -3005,14 +3005,14 @@ static NTSTATUS ldapsam_enum_group_mapping(struct pdb_methods *methods,
continue; continue;
} }
mapt=SMB_REALLOC_ARRAY((*rmap), GROUP_MAP, entries+1); mapt=SMB_REALLOC_ARRAY((*pp_rmap), GROUP_MAP, entries+1);
if (!mapt) { if (!mapt) {
DEBUG(0,("ldapsam_enum_group_mapping: Unable to enlarge group map!\n")); DEBUG(0,("ldapsam_enum_group_mapping: Unable to enlarge group map!\n"));
SAFE_FREE(*rmap); SAFE_FREE(*pp_rmap);
return NT_STATUS_UNSUCCESSFUL; return NT_STATUS_UNSUCCESSFUL;
} }
else else
(*rmap) = mapt; (*pp_rmap) = mapt;
mapt[entries] = map; mapt[entries] = map;
@ -3021,7 +3021,7 @@ static NTSTATUS ldapsam_enum_group_mapping(struct pdb_methods *methods,
} }
ldapsam_endsamgrent(methods); ldapsam_endsamgrent(methods);
*num_entries = entries; *p_num_entries = entries;
return NT_STATUS_OK; return NT_STATUS_OK;
} }
@ -3126,8 +3126,8 @@ static NTSTATUS ldapsam_del_aliasmem(struct pdb_methods *methods,
} }
static NTSTATUS ldapsam_enum_aliasmem(struct pdb_methods *methods, static NTSTATUS ldapsam_enum_aliasmem(struct pdb_methods *methods,
const DOM_SID *alias, DOM_SID **members, const DOM_SID *alias, DOM_SID **pp_members,
int *num_members) size_t *p_num_members)
{ {
struct ldapsam_privates *ldap_state = struct ldapsam_privates *ldap_state =
(struct ldapsam_privates *)methods->private_data; (struct ldapsam_privates *)methods->private_data;
@ -3137,9 +3137,10 @@ static NTSTATUS ldapsam_enum_aliasmem(struct pdb_methods *methods,
char **values; char **values;
int i; int i;
pstring filter; pstring filter;
size_t num_members;
*members = NULL; *pp_members = NULL;
*num_members = 0; *p_num_members = 0;
pstr_sprintf(filter, "(&(|(objectClass=%s)(objectclass=%s))(%s=%s))", pstr_sprintf(filter, "(&(|(objectClass=%s)(objectclass=%s))(%s=%s))",
LDAP_OBJ_GROUPMAP, LDAP_OBJ_IDMAP_ENTRY, LDAP_OBJ_GROUPMAP, LDAP_OBJ_IDMAP_ENTRY,
@ -3193,9 +3194,10 @@ static NTSTATUS ldapsam_enum_aliasmem(struct pdb_methods *methods,
if (!string_to_sid(&member, values[i])) if (!string_to_sid(&member, values[i]))
continue; continue;
add_sid_to_array(NULL, &member, members, num_members); add_sid_to_array(NULL, &member, pp_members, &num_members);
} }
*p_num_members = num_members;
ldap_value_free(values); ldap_value_free(values);
ldap_msgfree(result); ldap_msgfree(result);
@ -3206,9 +3208,9 @@ static NTSTATUS ldapsam_alias_memberships(struct pdb_methods *methods,
TALLOC_CTX *mem_ctx, TALLOC_CTX *mem_ctx,
const DOM_SID *domain_sid, const DOM_SID *domain_sid,
const DOM_SID *members, const DOM_SID *members,
int num_members, size_t num_members,
uint32 **alias_rids, uint32 **pp_alias_rids,
int *num_alias_rids) size_t *p_num_alias_rids)
{ {
struct ldapsam_privates *ldap_state = struct ldapsam_privates *ldap_state =
(struct ldapsam_privates *)methods->private_data; (struct ldapsam_privates *)methods->private_data;
@ -3265,8 +3267,8 @@ static NTSTATUS ldapsam_alias_memberships(struct pdb_methods *methods,
if (!sid_peek_check_rid(domain_sid, &sid, &rid)) if (!sid_peek_check_rid(domain_sid, &sid, &rid))
continue; continue;
add_rid_to_array_unique(mem_ctx, rid, alias_rids, add_rid_to_array_unique(mem_ctx, rid, pp_alias_rids,
num_alias_rids); p_num_alias_rids);
} }
ldap_msgfree(result); ldap_msgfree(result);

View File

@ -669,7 +669,7 @@ int pdb_nds_get_password(
LDAP *ld = ldap_state->ldap_struct; LDAP *ld = ldap_state->ldap_struct;
int rc = -1; int rc = -1;
rc = nmasldap_get_password(ld, object_dn, pwd_len, pwd); rc = nmasldap_get_password(ld, object_dn, pwd_len, (unsigned char *)pwd);
if (rc == LDAP_SUCCESS) { if (rc == LDAP_SUCCESS) {
#ifdef DEBUG_PASSWORD #ifdef DEBUG_PASSWORD
DEBUG(100,("nmasldap_get_password returned %s for %s\n", pwd, object_dn)); DEBUG(100,("nmasldap_get_password returned %s for %s\n", pwd, object_dn));

View File

@ -526,7 +526,7 @@ char *sql_account_query_update(TALLOC_CTX *mem_ctx, const char *location, const
config_value_write(location, config_value_write(location,
"logon hours column", "logon hours column",
CONFIG_LOGON_HOURS), CONFIG_LOGON_HOURS),
pdb_get_hours(newpwd)); (const char *)pdb_get_hours(newpwd));
} }
if (!some_field_affected) { if (!some_field_affected) {

View File

@ -226,7 +226,7 @@ BOOL eventlog_add_source( const char *eventlog, const char *sourcename,
already_in = False; already_in = False;
wrklist = NULL; wrklist = NULL;
dump_data( 1, rval->data_p, rval->size ); dump_data( 1, (const char *)rval->data_p, rval->size );
if ( ( numsources = if ( ( numsources =
regval_convert_multi_sz( ( uint16 * ) rval->data_p, rval->size, regval_convert_multi_sz( ( uint16 * ) rval->data_p, rval->size,
&wrklist ) ) > 0 ) { &wrklist ) ) > 0 ) {

View File

@ -872,10 +872,10 @@ static uint32 _reg_perfcount_perf_data_block_fixup(PERF_DATA_BLOCK *block, prs_s
counter_data->ByteLength = counter->CounterOffset + counter->CounterSize + sizeof(counter_data->ByteLength); counter_data->ByteLength = counter->CounterOffset + counter->CounterSize + sizeof(counter_data->ByteLength);
temp = TALLOC_REALLOC_ARRAY(ps->mem_ctx, temp = TALLOC_REALLOC_ARRAY(ps->mem_ctx,
temp, temp,
uint8, char,
counter_data->ByteLength- sizeof(counter_data->ByteLength)); counter_data->ByteLength- sizeof(counter_data->ByteLength));
memset(temp, 0, counter_data->ByteLength - sizeof(counter_data->ByteLength)); memset(temp, 0, counter_data->ByteLength - sizeof(counter_data->ByteLength));
src_addr = counter_data->data; src_addr = (char *)counter_data->data;
for(i = 0; i < object[obj].NumCounters; i++) for(i = 0; i < object[obj].NumCounters; i++)
{ {
counter = &(object[obj].counters[i]); counter = &(object[obj].counters[i]);

View File

@ -255,7 +255,7 @@ NTSTATUS rpccli_netlogon_setup_creds(struct rpc_pipe_client *cli,
const char *server_name, const char *server_name,
const char *domain, const char *domain,
const char *machine_account, const char *machine_account,
const char machine_pwd[16], const unsigned char machine_pwd[16],
uint32 sec_chan_type, uint32 sec_chan_type,
uint32 *neg_flags_inout) uint32 *neg_flags_inout)
{ {
@ -435,8 +435,8 @@ NTSTATUS rpccli_netlogon_sam_sync(struct rpc_pipe_client *cli, TALLOC_CTX *mem_c
creds_client_step(cli->dc, &clnt_creds); creds_client_step(cli->dc, &clnt_creds);
prs_set_session_key(&qbuf, cli->dc->sess_key); prs_set_session_key(&qbuf, (const char *)cli->dc->sess_key);
prs_set_session_key(&rbuf, cli->dc->sess_key); prs_set_session_key(&rbuf, (const char *)cli->dc->sess_key);
init_net_q_sam_sync(&q, cli->dc->remote_machine, global_myname(), init_net_q_sam_sync(&q, cli->dc->remote_machine, global_myname(),
&clnt_creds, &ret_creds, database_id, next_rid); &clnt_creds, &ret_creds, database_id, next_rid);
@ -564,7 +564,7 @@ NTSTATUS rpccli_netlogon_sam_logon(struct rpc_pipe_client *cli,
0, /* param_ctrl */ 0, /* param_ctrl */
0xdead, 0xbeef, /* LUID? */ 0xdead, 0xbeef, /* LUID? */
username, clnt_name_slash, username, clnt_name_slash,
cli->dc->sess_key, lm_owf_user_pwd, (const char *)cli->dc->sess_key, lm_owf_user_pwd,
nt_owf_user_pwd); nt_owf_user_pwd);
break; break;
@ -740,7 +740,7 @@ LSA Server Password Set.
****************************************************************************/ ****************************************************************************/
NTSTATUS rpccli_net_srv_pwset(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, NTSTATUS rpccli_net_srv_pwset(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx,
const char *machine_name, uint8 hashed_mach_pwd[16]) const char *machine_name, const uint8 hashed_mach_pwd[16])
{ {
prs_struct rbuf; prs_struct rbuf;
prs_struct qbuf; prs_struct qbuf;

View File

@ -250,7 +250,7 @@ static NTSTATUS cli_pipe_verify_ntlmssp(struct rpc_pipe_client *cli, RPC_HDR *pr
data = (unsigned char *)(prs_data_p(current_pdu) + RPC_HEADER_LEN + RPC_HDR_RESP_LEN); data = (unsigned char *)(prs_data_p(current_pdu) + RPC_HEADER_LEN + RPC_HDR_RESP_LEN);
data_len = (size_t)(prhdr->frag_len - RPC_HEADER_LEN - RPC_HDR_RESP_LEN - RPC_HDR_AUTH_LEN - auth_len); data_len = (size_t)(prhdr->frag_len - RPC_HEADER_LEN - RPC_HDR_RESP_LEN - RPC_HDR_AUTH_LEN - auth_len);
full_packet_data = prs_data_p(current_pdu); full_packet_data = (unsigned char *)prs_data_p(current_pdu);
full_packet_data_len = prhdr->frag_len - auth_len; full_packet_data_len = prhdr->frag_len - auth_len;
/* Pull the auth header and the following data into a blob. */ /* Pull the auth header and the following data into a blob. */
@ -265,7 +265,7 @@ static NTSTATUS cli_pipe_verify_ntlmssp(struct rpc_pipe_client *cli, RPC_HDR *pr
return NT_STATUS_BUFFER_TOO_SMALL; return NT_STATUS_BUFFER_TOO_SMALL;
} }
auth_blob.data = prs_data_p(current_pdu) + prs_offset(current_pdu); auth_blob.data = (unsigned char *)prs_data_p(current_pdu) + prs_offset(current_pdu);
auth_blob.length = auth_len; auth_blob.length = auth_len;
switch (cli->auth.auth_level) { switch (cli->auth.auth_level) {
@ -1143,7 +1143,7 @@ static NTSTATUS create_bind_or_alt_ctx_internal(uint8 pkt_type,
if(auth_len != 0) { if(auth_len != 0) {
if (ss_padding_len) { if (ss_padding_len) {
unsigned char pad[8]; char pad[8];
memset(pad, '\0', 8); memset(pad, '\0', 8);
if (!prs_copy_data_in(rpc_out, pad, ss_padding_len)) { if (!prs_copy_data_in(rpc_out, pad, ss_padding_len)) {
DEBUG(0,("create_bind_or_alt_ctx_internal: failed to marshall padding.\n")); DEBUG(0,("create_bind_or_alt_ctx_internal: failed to marshall padding.\n"));
@ -1272,9 +1272,9 @@ static NTSTATUS add_ntlmssp_auth_footer(struct rpc_pipe_client *cli,
case PIPE_AUTH_LEVEL_PRIVACY: case PIPE_AUTH_LEVEL_PRIVACY:
/* Data portion is encrypted. */ /* Data portion is encrypted. */
status = ntlmssp_seal_packet(cli->auth.a_u.ntlmssp_state, status = ntlmssp_seal_packet(cli->auth.a_u.ntlmssp_state,
prs_data_p(outgoing_pdu) + RPC_HEADER_LEN + RPC_HDR_RESP_LEN, (unsigned char *)prs_data_p(outgoing_pdu) + RPC_HEADER_LEN + RPC_HDR_RESP_LEN,
data_and_pad_len, data_and_pad_len,
prs_data_p(outgoing_pdu), (unsigned char *)prs_data_p(outgoing_pdu),
(size_t)prs_offset(outgoing_pdu), (size_t)prs_offset(outgoing_pdu),
&auth_blob); &auth_blob);
if (!NT_STATUS_IS_OK(status)) { if (!NT_STATUS_IS_OK(status)) {
@ -1286,9 +1286,9 @@ static NTSTATUS add_ntlmssp_auth_footer(struct rpc_pipe_client *cli,
case PIPE_AUTH_LEVEL_INTEGRITY: case PIPE_AUTH_LEVEL_INTEGRITY:
/* Data is signed. */ /* Data is signed. */
status = ntlmssp_sign_packet(cli->auth.a_u.ntlmssp_state, status = ntlmssp_sign_packet(cli->auth.a_u.ntlmssp_state,
prs_data_p(outgoing_pdu) + RPC_HEADER_LEN + RPC_HDR_RESP_LEN, (unsigned char *)prs_data_p(outgoing_pdu) + RPC_HEADER_LEN + RPC_HDR_RESP_LEN,
data_and_pad_len, data_and_pad_len,
prs_data_p(outgoing_pdu), (unsigned char *)prs_data_p(outgoing_pdu),
(size_t)prs_offset(outgoing_pdu), (size_t)prs_offset(outgoing_pdu),
&auth_blob); &auth_blob);
if (!NT_STATUS_IS_OK(status)) { if (!NT_STATUS_IS_OK(status)) {
@ -1306,7 +1306,7 @@ static NTSTATUS add_ntlmssp_auth_footer(struct rpc_pipe_client *cli,
/* Finally marshall the blob. */ /* Finally marshall the blob. */
if (!prs_copy_data_in(outgoing_pdu, auth_blob.data, NTLMSSP_SIG_SIZE)) { if (!prs_copy_data_in(outgoing_pdu, (const char *)auth_blob.data, NTLMSSP_SIG_SIZE)) {
DEBUG(0,("add_ntlmssp_auth_footer: failed to add %u bytes auth blob.\n", DEBUG(0,("add_ntlmssp_auth_footer: failed to add %u bytes auth blob.\n",
(unsigned int)NTLMSSP_SIG_SIZE)); (unsigned int)NTLMSSP_SIG_SIZE));
data_blob_free(&auth_blob); data_blob_free(&auth_blob);
@ -2391,7 +2391,7 @@ static struct rpc_pipe_client *get_schannel_session_key(struct cli_state *cli,
uint32 neg_flags = NETLOGON_NEG_AUTH2_FLAGS|NETLOGON_NEG_SCHANNEL; uint32 neg_flags = NETLOGON_NEG_AUTH2_FLAGS|NETLOGON_NEG_SCHANNEL;
struct rpc_pipe_client *netlogon_pipe = NULL; struct rpc_pipe_client *netlogon_pipe = NULL;
uint32 sec_chan_type = 0; uint32 sec_chan_type = 0;
char machine_pwd[16]; unsigned char machine_pwd[16];
fstring machine_account; fstring machine_account;
netlogon_pipe = cli_rpc_pipe_open_noauth(cli, PI_NETLOGON, perr); netlogon_pipe = cli_rpc_pipe_open_noauth(cli, PI_NETLOGON, perr);
@ -2513,7 +2513,7 @@ static struct rpc_pipe_client *get_schannel_session_key_auth_ntlmssp(struct cli_
uint32 neg_flags = NETLOGON_NEG_AUTH2_FLAGS|NETLOGON_NEG_SCHANNEL; uint32 neg_flags = NETLOGON_NEG_AUTH2_FLAGS|NETLOGON_NEG_SCHANNEL;
struct rpc_pipe_client *netlogon_pipe = NULL; struct rpc_pipe_client *netlogon_pipe = NULL;
uint32 sec_chan_type = 0; uint32 sec_chan_type = 0;
char machine_pwd[16]; unsigned char machine_pwd[16];
fstring machine_account; fstring machine_account;
netlogon_pipe = cli_rpc_pipe_open_spnego_ntlmssp(cli, PI_NETLOGON, PIPE_AUTH_LEVEL_PRIVACY, domain, username, password, perr); netlogon_pipe = cli_rpc_pipe_open_spnego_ntlmssp(cli, PI_NETLOGON, PIPE_AUTH_LEVEL_PRIVACY, domain, username, password, perr);

View File

@ -932,7 +932,7 @@ BOOL net_io_r_auth_3(const char *desc, NET_R_AUTH_3 *r_a, prs_struct *ps, int de
void init_q_srv_pwset(NET_Q_SRV_PWSET *q_s, void init_q_srv_pwset(NET_Q_SRV_PWSET *q_s,
const char *logon_srv, const char *sess_key, const char *acct_name, const char *logon_srv, const char *sess_key, const char *acct_name,
uint16 sec_chan, const char *comp_name, uint16 sec_chan, const char *comp_name,
DOM_CRED *cred, uchar hashed_mach_pwd[16]) DOM_CRED *cred, const uchar hashed_mach_pwd[16])
{ {
unsigned char nt_cypher[16]; unsigned char nt_cypher[16];

View File

@ -1431,7 +1431,7 @@ BOOL prs_hash1(prs_struct *ps, uint32 offset, int len)
dump_data(100, ps->sess_key, 16); dump_data(100, ps->sess_key, 16);
dump_data(100, q, len); dump_data(100, q, len);
#endif #endif
SamOEMhash((uchar *) q, ps->sess_key, len); SamOEMhash((uchar *) q, (const unsigned char *)ps->sess_key, len);
#ifdef DEBUG_PASSWORD #ifdef DEBUG_PASSWORD
dump_data(100, q, len); dump_data(100, q, len);

View File

@ -7050,12 +7050,12 @@ void init_samr_q_chgpasswd_user(SAMR_Q_CHGPASSWD_USER * q_u,
init_unistr2(&q_u->uni_user_name, user_name, UNI_FLAGS_NONE); init_unistr2(&q_u->uni_user_name, user_name, UNI_FLAGS_NONE);
init_uni_hdr(&q_u->hdr_user_name, &q_u->uni_user_name); init_uni_hdr(&q_u->hdr_user_name, &q_u->uni_user_name);
init_enc_passwd(&q_u->nt_newpass, nt_newpass); init_enc_passwd(&q_u->nt_newpass, (const char *)nt_newpass);
init_enc_hash(&q_u->nt_oldhash, nt_oldhash); init_enc_hash(&q_u->nt_oldhash, nt_oldhash);
q_u->unknown = 0x01; q_u->unknown = 0x01;
init_enc_passwd(&q_u->lm_newpass, lm_newpass); init_enc_passwd(&q_u->lm_newpass, (const char *)lm_newpass);
init_enc_hash(&q_u->lm_oldhash, lm_oldhash); init_enc_hash(&q_u->lm_oldhash, lm_oldhash);
} }

View File

@ -483,7 +483,7 @@ int write_eventlog_tdb( TDB_CONTEXT * the_tdb, Eventlog_entry * ee )
next_record = tdb_fetch_int32( the_tdb, EVT_NEXT_RECORD ); next_record = tdb_fetch_int32( the_tdb, EVT_NEXT_RECORD );
n_packed = n_packed =
tdb_pack( packed_ee, ee->record.length + MARGIN, tdb_pack( (char *)packed_ee, ee->record.length + MARGIN,
"ddddddwwwwddddddBBdBBBd", ee->record.length, "ddddddwwwwddddddBBdBBBd", ee->record.length,
ee->record.reserved1, next_record, ee->record.reserved1, next_record,
ee->record.time_generated, ee->record.time_written, ee->record.time_generated, ee->record.time_written,
@ -512,10 +512,10 @@ int write_eventlog_tdb( TDB_CONTEXT * the_tdb, Eventlog_entry * ee )
/* increment the record count */ /* increment the record count */
kbuf.dsize = sizeof( int32 ); kbuf.dsize = sizeof( int32 );
kbuf.dptr = ( uint8 * ) & next_record; kbuf.dptr = (char * ) & next_record;
ebuf.dsize = n_packed; ebuf.dsize = n_packed;
ebuf.dptr = packed_ee; ebuf.dptr = (char *)packed_ee;
if ( tdb_store( the_tdb, kbuf, ebuf, 0 ) ) { if ( tdb_store( the_tdb, kbuf, ebuf, 0 ) ) {
/* DEBUG(1,("write_eventlog_tdb: Can't write record %d to eventlog\n",next_record)); */ /* DEBUG(1,("write_eventlog_tdb: Can't write record %d to eventlog\n",next_record)); */

View File

@ -337,7 +337,7 @@ NTSTATUS _net_auth(pipes_struct *p, NET_Q_AUTH *q_u, NET_R_AUTH *r_u)
creds_server_init(p->dc, creds_server_init(p->dc,
&p->dc->clnt_chal, /* Stored client chal. */ &p->dc->clnt_chal, /* Stored client chal. */
&p->dc->srv_chal, /* Stored server chal. */ &p->dc->srv_chal, /* Stored server chal. */
p->dc->mach_pw, (const char *)p->dc->mach_pw,
&srv_chal_out); &srv_chal_out);
/* Check client credentials are valid. */ /* Check client credentials are valid. */
@ -414,7 +414,7 @@ NTSTATUS _net_auth_2(pipes_struct *p, NET_Q_AUTH_2 *q_u, NET_R_AUTH_2 *r_u)
creds_server_init(p->dc, creds_server_init(p->dc,
&p->dc->clnt_chal, /* Stored client chal. */ &p->dc->clnt_chal, /* Stored client chal. */
&p->dc->srv_chal, /* Stored server chal. */ &p->dc->srv_chal, /* Stored server chal. */
p->dc->mach_pw, (const char *)p->dc->mach_pw,
&srv_chal_out); &srv_chal_out);
/* Check client credentials are valid. */ /* Check client credentials are valid. */

View File

@ -173,7 +173,7 @@ static BOOL create_next_pdu_ntlmssp(pipes_struct *p)
/* Copy the sign/seal padding data. */ /* Copy the sign/seal padding data. */
if (ss_padding_len) { if (ss_padding_len) {
unsigned char pad[8]; char pad[8];
memset(pad, '\0', 8); memset(pad, '\0', 8);
if (!prs_copy_data_in(&outgoing_pdu, pad, ss_padding_len)) { if (!prs_copy_data_in(&outgoing_pdu, pad, ss_padding_len)) {
@ -210,9 +210,9 @@ static BOOL create_next_pdu_ntlmssp(pipes_struct *p)
case PIPE_AUTH_LEVEL_PRIVACY: case PIPE_AUTH_LEVEL_PRIVACY:
/* Data portion is encrypted. */ /* Data portion is encrypted. */
status = ntlmssp_seal_packet(a->ntlmssp_state, status = ntlmssp_seal_packet(a->ntlmssp_state,
prs_data_p(&outgoing_pdu) + RPC_HEADER_LEN + RPC_HDR_RESP_LEN, (unsigned char *)prs_data_p(&outgoing_pdu) + RPC_HEADER_LEN + RPC_HDR_RESP_LEN,
data_len + ss_padding_len, data_len + ss_padding_len,
prs_data_p(&outgoing_pdu), (unsigned char *)prs_data_p(&outgoing_pdu),
(size_t)prs_offset(&outgoing_pdu), (size_t)prs_offset(&outgoing_pdu),
&auth_blob); &auth_blob);
if (!NT_STATUS_IS_OK(status)) { if (!NT_STATUS_IS_OK(status)) {
@ -224,9 +224,9 @@ static BOOL create_next_pdu_ntlmssp(pipes_struct *p)
case PIPE_AUTH_LEVEL_INTEGRITY: case PIPE_AUTH_LEVEL_INTEGRITY:
/* Data is signed. */ /* Data is signed. */
status = ntlmssp_sign_packet(a->ntlmssp_state, status = ntlmssp_sign_packet(a->ntlmssp_state,
prs_data_p(&outgoing_pdu) + RPC_HEADER_LEN + RPC_HDR_RESP_LEN, (unsigned char *)prs_data_p(&outgoing_pdu) + RPC_HEADER_LEN + RPC_HDR_RESP_LEN,
data_len + ss_padding_len, data_len + ss_padding_len,
prs_data_p(&outgoing_pdu), (unsigned char *)prs_data_p(&outgoing_pdu),
(size_t)prs_offset(&outgoing_pdu), (size_t)prs_offset(&outgoing_pdu),
&auth_blob); &auth_blob);
if (!NT_STATUS_IS_OK(status)) { if (!NT_STATUS_IS_OK(status)) {
@ -241,7 +241,7 @@ static BOOL create_next_pdu_ntlmssp(pipes_struct *p)
} }
/* Append the auth blob. */ /* Append the auth blob. */
if (!prs_copy_data_in(&outgoing_pdu, auth_blob.data, NTLMSSP_SIG_SIZE)) { if (!prs_copy_data_in(&outgoing_pdu, (char *)auth_blob.data, NTLMSSP_SIG_SIZE)) {
DEBUG(0,("create_next_pdu_ntlmssp: failed to add %u bytes auth blob.\n", DEBUG(0,("create_next_pdu_ntlmssp: failed to add %u bytes auth blob.\n",
(unsigned int)NTLMSSP_SIG_SIZE)); (unsigned int)NTLMSSP_SIG_SIZE));
data_blob_free(&auth_blob); data_blob_free(&auth_blob);
@ -731,7 +731,7 @@ BOOL api_pipe_bind_auth3(pipes_struct *p, prs_struct *rpc_in_p)
blob = data_blob(NULL,p->hdr.auth_len); blob = data_blob(NULL,p->hdr.auth_len);
if (!prs_copy_data_out(blob.data, rpc_in_p, p->hdr.auth_len)) { if (!prs_copy_data_out((char *)blob.data, rpc_in_p, p->hdr.auth_len)) {
DEBUG(0,("api_pipe_bind_auth3: Failed to pull %u bytes - the response blob.\n", DEBUG(0,("api_pipe_bind_auth3: Failed to pull %u bytes - the response blob.\n",
(unsigned int)p->hdr.auth_len )); (unsigned int)p->hdr.auth_len ));
goto err; goto err;
@ -1036,7 +1036,7 @@ static BOOL pipe_spnego_auth_bind_negotiate(pipes_struct *p, prs_struct *rpc_in_
/* Grab the SPNEGO blob. */ /* Grab the SPNEGO blob. */
blob = data_blob(NULL,p->hdr.auth_len); blob = data_blob(NULL,p->hdr.auth_len);
if (!prs_copy_data_out(blob.data, rpc_in_p, p->hdr.auth_len)) { if (!prs_copy_data_out((char *)blob.data, rpc_in_p, p->hdr.auth_len)) {
DEBUG(0,("pipe_spnego_auth_bind_negotiate: Failed to pull %u bytes - the SPNEGO auth header.\n", DEBUG(0,("pipe_spnego_auth_bind_negotiate: Failed to pull %u bytes - the SPNEGO auth header.\n",
(unsigned int)p->hdr.auth_len )); (unsigned int)p->hdr.auth_len ));
goto err; goto err;
@ -1103,7 +1103,7 @@ static BOOL pipe_spnego_auth_bind_negotiate(pipes_struct *p, prs_struct *rpc_in_
goto err; goto err;
} }
if (!prs_copy_data_in(pout_auth, response.data, response.length)) { if (!prs_copy_data_in(pout_auth, (char *)response.data, response.length)) {
DEBUG(0,("pipe_spnego_auth_bind_negotiate: marshalling of data blob failed.\n")); DEBUG(0,("pipe_spnego_auth_bind_negotiate: marshalling of data blob failed.\n"));
goto err; goto err;
} }
@ -1154,7 +1154,7 @@ static BOOL pipe_spnego_auth_bind_continue(pipes_struct *p, prs_struct *rpc_in_p
/* Grab the SPNEGO blob. */ /* Grab the SPNEGO blob. */
spnego_blob = data_blob(NULL,p->hdr.auth_len); spnego_blob = data_blob(NULL,p->hdr.auth_len);
if (!prs_copy_data_out(spnego_blob.data, rpc_in_p, p->hdr.auth_len)) { if (!prs_copy_data_out((char *)spnego_blob.data, rpc_in_p, p->hdr.auth_len)) {
DEBUG(0,("pipe_spnego_auth_bind_continue: Failed to pull %u bytes - the SPNEGO auth header.\n", DEBUG(0,("pipe_spnego_auth_bind_continue: Failed to pull %u bytes - the SPNEGO auth header.\n",
(unsigned int)p->hdr.auth_len )); (unsigned int)p->hdr.auth_len ));
goto err; goto err;
@ -1306,13 +1306,13 @@ static BOOL pipe_ntlmssp_auth_bind(pipes_struct *p, prs_struct *rpc_in_p,
/* Grab the NTLMSSP blob. */ /* Grab the NTLMSSP blob. */
blob = data_blob(NULL,p->hdr.auth_len); blob = data_blob(NULL,p->hdr.auth_len);
if (!prs_copy_data_out(blob.data, rpc_in_p, p->hdr.auth_len)) { if (!prs_copy_data_out((char *)blob.data, rpc_in_p, p->hdr.auth_len)) {
DEBUG(0,("pipe_ntlmssp_auth_bind: Failed to pull %u bytes - the NTLM auth header.\n", DEBUG(0,("pipe_ntlmssp_auth_bind: Failed to pull %u bytes - the NTLM auth header.\n",
(unsigned int)p->hdr.auth_len )); (unsigned int)p->hdr.auth_len ));
goto err; goto err;
} }
if (strncmp(blob.data, "NTLMSSP", 7) != 0) { if (strncmp((char *)blob.data, "NTLMSSP", 7) != 0) {
DEBUG(0,("pipe_ntlmssp_auth_bind: Failed to read NTLMSSP in blob\n")); DEBUG(0,("pipe_ntlmssp_auth_bind: Failed to read NTLMSSP in blob\n"));
goto err; goto err;
} }
@ -1341,7 +1341,7 @@ static BOOL pipe_ntlmssp_auth_bind(pipes_struct *p, prs_struct *rpc_in_p,
goto err; goto err;
} }
if (!prs_copy_data_in(pout_auth, response.data, response.length)) { if (!prs_copy_data_in(pout_auth, (char *)response.data, response.length)) {
DEBUG(0,("pipe_ntlmssp_auth_bind: marshalling of data blob failed.\n")); DEBUG(0,("pipe_ntlmssp_auth_bind: marshalling of data blob failed.\n"));
goto err; goto err;
} }
@ -1896,7 +1896,7 @@ BOOL api_pipe_ntlmssp_auth_process(pipes_struct *p, prs_struct *rpc_in,
return False; return False;
} }
auth_blob.data = prs_data_p(rpc_in) + prs_offset(rpc_in); auth_blob.data = (unsigned char *)prs_data_p(rpc_in) + prs_offset(rpc_in);
auth_blob.length = auth_len; auth_blob.length = auth_len;
switch (p->auth.auth_level) { switch (p->auth.auth_level) {

View File

@ -1688,9 +1688,9 @@ NTSTATUS _samr_query_usergroups(pipes_struct *p, SAMR_Q_QUERY_USERGROUPS *q_u, S
DOM_SID sid; DOM_SID sid;
DOM_SID *sids; DOM_SID *sids;
DOM_GID *gids = NULL; DOM_GID *gids = NULL;
int num_groups = 0; size_t num_groups = 0;
gid_t *unix_gids; gid_t *unix_gids;
int i, num_gids; size_t i, num_gids;
uint32 acc_granted; uint32 acc_granted;
BOOL ret; BOOL ret;
NTSTATUS result; NTSTATUS result;
@ -2988,10 +2988,10 @@ NTSTATUS _samr_set_userinfo2(pipes_struct *p, SAMR_Q_SET_USERINFO2 *q_u, SAMR_R_
NTSTATUS _samr_query_useraliases(pipes_struct *p, SAMR_Q_QUERY_USERALIASES *q_u, SAMR_R_QUERY_USERALIASES *r_u) NTSTATUS _samr_query_useraliases(pipes_struct *p, SAMR_Q_QUERY_USERALIASES *q_u, SAMR_R_QUERY_USERALIASES *r_u)
{ {
int num_alias_rids; size_t num_alias_rids;
uint32 *alias_rids; uint32 *alias_rids;
struct samr_info *info = NULL; struct samr_info *info = NULL;
int i; size_t i;
NTSTATUS ntstatus1; NTSTATUS ntstatus1;
NTSTATUS ntstatus2; NTSTATUS ntstatus2;
@ -3052,9 +3052,8 @@ NTSTATUS _samr_query_useraliases(pipes_struct *p, SAMR_Q_QUERY_USERALIASES *q_u,
NTSTATUS _samr_query_aliasmem(pipes_struct *p, SAMR_Q_QUERY_ALIASMEM *q_u, SAMR_R_QUERY_ALIASMEM *r_u) NTSTATUS _samr_query_aliasmem(pipes_struct *p, SAMR_Q_QUERY_ALIASMEM *q_u, SAMR_R_QUERY_ALIASMEM *r_u)
{ {
int i; size_t i;
size_t num_sids = 0;
int num_sids = 0;
DOM_SID2 *sid; DOM_SID2 *sid;
DOM_SID *sids=NULL; DOM_SID *sids=NULL;
@ -3165,7 +3164,7 @@ NTSTATUS _samr_query_groupmem(pipes_struct *p, SAMR_Q_QUERY_GROUPMEM *q_u, SAMR_
{ {
DOM_SID group_sid; DOM_SID group_sid;
fstring group_sid_str; fstring group_sid_str;
int i, num_members; size_t i, num_members;
uint32 *rid=NULL; uint32 *rid=NULL;
uint32 *attr=NULL; uint32 *attr=NULL;

View File

@ -579,7 +579,7 @@ static NTSTATUS cmd_samr_query_useraliases(struct rpc_pipe_client *cli,
POLICY_HND connect_pol, domain_pol; POLICY_HND connect_pol, domain_pol;
NTSTATUS result = NT_STATUS_UNSUCCESSFUL; NTSTATUS result = NT_STATUS_UNSUCCESSFUL;
DOM_SID *sids; DOM_SID *sids;
int num_sids; size_t num_sids;
uint32 num_aliases, *alias_rids; uint32 num_aliases, *alias_rids;
uint32 access_mask = MAXIMUM_ALLOWED_ACCESS; uint32 access_mask = MAXIMUM_ALLOWED_ACCESS;
int i; int i;

View File

@ -2059,13 +2059,13 @@ static WERROR cmd_spoolss_setprinterdata(struct rpc_pipe_client *cli,
} }
value.size = len*2; value.size = len*2;
value.data_p = TALLOC_ARRAY(mem_ctx, char, value.size); value.data_p = TALLOC_ARRAY(mem_ctx, unsigned char, value.size);
if (value.data_p == NULL) { if (value.data_p == NULL) {
result = WERR_NOMEM; result = WERR_NOMEM;
goto done; goto done;
} }
p = value.data_p; p = (char *)value.data_p;
len = value.size; len = value.size;
for (i=4; i<argc; i++) { for (i=4; i<argc; i++) {
size_t l = (strlen(argv[i])+1)*2; size_t l = (strlen(argv[i])+1)*2;

View File

@ -493,7 +493,7 @@ SEC_DESC* svcctl_get_secdesc( TALLOC_CTX *ctx, const char *name, NT_USER_TOKEN *
/* stream the printer security descriptor */ /* stream the printer security descriptor */
prs_init( &ps, 0, key, UNMARSHALL); prs_init( &ps, 0, key, UNMARSHALL);
prs_give_memory( &ps, regval_data_p(val), regval_size(val), False ); prs_give_memory( &ps, (char *)regval_data_p(val), regval_size(val), False );
if ( !sec_io_desc("sec_desc", &sd, &ps, 0 ) ) { if ( !sec_io_desc("sec_desc", &sd, &ps, 0 ) ) {
regkey_close_internal( key ); regkey_close_internal( key );

View File

@ -26,7 +26,7 @@ extern struct unix_error_map unix_dos_nt_errmap[];
extern uint32 global_client_caps; extern uint32 global_client_caps;
/* these can be set by some functions to override the error codes */ /* these can be set by some functions to override the error codes */
static int override_ERR_class; static int override_ERR_class;
static int override_ERR_code; static uint32 override_ERR_code;
static NTSTATUS override_ERR_ntstatus; static NTSTATUS override_ERR_ntstatus;
/**************************************************************************** /****************************************************************************

View File

@ -1797,8 +1797,8 @@ static BOOL api_NetUserGetGroups(connection_struct *conn,uint16 vuid, char *para
BOOL ret = False; BOOL ret = False;
DOM_SID *sids; DOM_SID *sids;
gid_t *gids; gid_t *gids;
int num_groups; size_t num_groups;
int i; size_t i;
fstring grp_domain; fstring grp_domain;
fstring grp_name; fstring grp_name;
enum SID_NAME_USE grp_type; enum SID_NAME_USE grp_type;

View File

@ -172,7 +172,7 @@ static int negprot_spnego(char *p, uint8 *pkeylen)
DATA_BLOB blob; DATA_BLOB blob;
nstring dos_name; nstring dos_name;
fstring unix_name; fstring unix_name;
uint8 guid[17]; char guid[17];
const char *OIDs_krb5[] = {OID_KERBEROS5, const char *OIDs_krb5[] = {OID_KERBEROS5,
OID_KERBEROS5_OLD, OID_KERBEROS5_OLD,
OID_NTLMSSP, OID_NTLMSSP,
@ -186,7 +186,7 @@ static int negprot_spnego(char *p, uint8 *pkeylen)
safe_strcpy(unix_name, global_myname(), sizeof(unix_name)-1); safe_strcpy(unix_name, global_myname(), sizeof(unix_name)-1);
strlower_m(unix_name); strlower_m(unix_name);
push_ascii_nstring(dos_name, unix_name); push_ascii_nstring(dos_name, unix_name);
safe_strcpy((char *)guid, dos_name, sizeof(guid)-1); safe_strcpy(guid, dos_name, sizeof(guid)-1);
#ifdef DEVELOPER #ifdef DEVELOPER
/* valgrind fixer... */ /* valgrind fixer... */

View File

@ -2130,7 +2130,7 @@ void send_file_readbraw(connection_struct *conn, files_struct *fsp, SMB_OFF_T st
DATA_BLOB header; DATA_BLOB header;
_smb_setlen(outbuf,nread); _smb_setlen(outbuf,nread);
header.data = outbuf; header.data = (uint8 *)outbuf;
header.length = 4; header.length = 4;
header.free = NULL; header.free = NULL;
@ -2509,7 +2509,7 @@ int send_file_readX(connection_struct *conn, char *inbuf,char *outbuf,int length
SSVAL(smb_buf(outbuf),-2,smb_maxcnt); SSVAL(smb_buf(outbuf),-2,smb_maxcnt);
SCVAL(outbuf,smb_vwv0,0xFF); SCVAL(outbuf,smb_vwv0,0xFF);
set_message(outbuf,12,smb_maxcnt,False); set_message(outbuf,12,smb_maxcnt,False);
header.data = outbuf; header.data = (uint8 *)outbuf;
header.length = data - outbuf; header.length = data - outbuf;
header.free = NULL; header.free = NULL;

View File

@ -34,7 +34,7 @@
static void print_data(TDB_DATA d) static void print_data(TDB_DATA d)
{ {
unsigned char *p = d.dptr; unsigned char *p = (unsigned char *)d.dptr;
int len = d.dsize; int len = d.dsize;
while (len--) { while (len--) {
if (isprint(*p) && !strchr("\"\\", *p)) { if (isprint(*p) && !strchr("\"\\", *p)) {

View File

@ -131,7 +131,7 @@ static int print_rec(TDB_CONTEXT *the_tdb, TDB_DATA key, TDB_DATA dbuf, void *st
static int print_key(TDB_CONTEXT *the_tdb, TDB_DATA key, TDB_DATA dbuf, void *state); static int print_key(TDB_CONTEXT *the_tdb, TDB_DATA key, TDB_DATA dbuf, void *state);
static int print_hexkey(TDB_CONTEXT *the_tdb, TDB_DATA key, TDB_DATA dbuf, void *state); static int print_hexkey(TDB_CONTEXT *the_tdb, TDB_DATA key, TDB_DATA dbuf, void *state);
static void print_asc(unsigned char *buf,int len) static void print_asc(const char *buf,int len)
{ {
int i; int i;
@ -145,7 +145,7 @@ static void print_asc(unsigned char *buf,int len)
printf("%c",isprint(buf[i])?buf[i]:'.'); printf("%c",isprint(buf[i])?buf[i]:'.');
} }
static void print_data(unsigned char *buf,int len) static void print_data(const char *buf,int len)
{ {
int i=0; int i=0;
if (len<=0) return; if (len<=0) return;

View File

@ -505,7 +505,7 @@ BOOL tdb_pack_append(TALLOC_CTX *mem_ctx, uint8_t **buf, size_t *len,
return False; return False;
va_start(ap, fmt); va_start(ap, fmt);
len2 = tdb_pack_va((*buf)+(*len), len1, fmt, ap); len2 = tdb_pack_va((char *)(*buf)+(*len), len1, fmt, ap);
va_end(ap); va_end(ap);
if (len1 != len2) if (len1 != len2)

View File

@ -202,7 +202,7 @@ static int recv_cldap_netlogon(int sock, struct cldap_netlogon_reply *reply)
ASN1_DATA data; ASN1_DATA data;
DATA_BLOB blob; DATA_BLOB blob;
DATA_BLOB os1, os2, os3; DATA_BLOB os1, os2, os3;
uint32 i1; int i1;
char *p; char *p;
blob = data_blob(NULL, 8192); blob = data_blob(NULL, 8192);

View File

@ -109,9 +109,9 @@ static void print_map_entry ( GROUP_MAP map, BOOL long_list )
**********************************************************/ **********************************************************/
static int net_groupmap_list(int argc, const char **argv) static int net_groupmap_list(int argc, const char **argv)
{ {
int entries; size_t entries;
BOOL long_list = False; BOOL long_list = False;
int i; size_t i;
fstring ntgroup = ""; fstring ntgroup = "";
fstring sid_string = ""; fstring sid_string = "";
@ -597,7 +597,7 @@ static int net_groupmap_set(int argc, const char **argv)
static int net_groupmap_cleanup(int argc, const char **argv) static int net_groupmap_cleanup(int argc, const char **argv)
{ {
GROUP_MAP *map = NULL; GROUP_MAP *map = NULL;
int i, entries; size_t i, entries;
if (!pdb_enum_group_mapping(SID_NAME_UNKNOWN, &map, &entries, if (!pdb_enum_group_mapping(SID_NAME_UNKNOWN, &map, &entries,
ENUM_ALL_MAPPED)) { ENUM_ALL_MAPPED)) {
@ -670,7 +670,7 @@ static int net_groupmap_listmem(int argc, const char **argv)
{ {
DOM_SID alias; DOM_SID alias;
DOM_SID *members; DOM_SID *members;
int i, num; size_t i, num;
if ( (argc != 1) || if ( (argc != 1) ||
!string_to_sid(&alias, argv[0]) ) { !string_to_sid(&alias, argv[0]) ) {
@ -697,7 +697,7 @@ static BOOL print_alias_memberships(TALLOC_CTX *mem_ctx,
const DOM_SID *member) const DOM_SID *member)
{ {
uint32 *alias_rids; uint32 *alias_rids;
int i, num_alias_rids; size_t i, num_alias_rids;
alias_rids = NULL; alias_rids = NULL;
num_alias_rids = 0; num_alias_rids = 0;

View File

@ -76,8 +76,8 @@ static int net_idmap_dump(int argc, const char **argv)
struct hwms { struct hwms {
BOOL ok; BOOL ok;
int user_hwm; uid_t user_hwm;
int group_hwm; gid_t group_hwm;
}; };
static int net_idmap_find_max_id(TDB_CONTEXT *tdb, TDB_DATA key, TDB_DATA data, static int net_idmap_find_max_id(TDB_CONTEXT *tdb, TDB_DATA key, TDB_DATA data,
@ -160,8 +160,8 @@ static NTSTATUS net_idmap_fixup_hwm(void)
goto done; goto done;
} }
if ((tdb_store_int32(idmap_tdb, "USER HWM", hwms.user_hwm) != 0) || if ((tdb_store_int32(idmap_tdb, "USER HWM", (int32)hwms.user_hwm) != 0) ||
(tdb_store_int32(idmap_tdb, "GROUP HWM", hwms.group_hwm) != 0)) { (tdb_store_int32(idmap_tdb, "GROUP HWM", (int32)hwms.group_hwm) != 0)) {
d_printf("Could not store HWMs\n"); d_printf("Could not store HWMs\n");
goto done; goto done;
} }

View File

@ -4800,7 +4800,7 @@ static NTSTATUS rpc_trustdom_add_internals(const DOM_SID *domain_sid,
LOGON_HRS hrs; LOGON_HRS hrs;
uchar pwbuf[516]; uchar pwbuf[516];
encode_pw_buffer((char *)pwbuf, argv[1], STR_UNICODE); encode_pw_buffer(pwbuf, argv[1], STR_UNICODE);
ZERO_STRUCT(ctr); ZERO_STRUCT(ctr);
ZERO_STRUCT(p23); ZERO_STRUCT(p23);

View File

@ -357,7 +357,7 @@ static BOOL write_registry_tree( REGF_FILE *infile, REGF_NK_REC *nk,
for ( i=0; i<nk->num_values; i++ ) { for ( i=0; i<nk->num_values; i++ ) {
regval_ctr_addvalue( values, nk->values[i].valuename, nk->values[i].type, regval_ctr_addvalue( values, nk->values[i].valuename, nk->values[i].type,
nk->values[i].data, (nk->values[i].data_size & ~VK_DATA_IN_OFFSET) ); (const char *)nk->values[i].data, (nk->values[i].data_size & ~VK_DATA_IN_OFFSET) );
} }
/* copy subkeys into the REGSUBKEY_CTR */ /* copy subkeys into the REGSUBKEY_CTR */

View File

@ -755,7 +755,7 @@ static void offer_gss_spnego_mechs(void) {
/* Server negTokenInit (mech offerings) */ /* Server negTokenInit (mech offerings) */
spnego.type = SPNEGO_NEG_TOKEN_INIT; spnego.type = SPNEGO_NEG_TOKEN_INIT;
spnego.negTokenInit.mechTypes = SMB_XMALLOC_ARRAY(char *, 2); spnego.negTokenInit.mechTypes = SMB_XMALLOC_ARRAY(const char *, 2);
#ifdef HAVE_KRB5 #ifdef HAVE_KRB5
spnego.negTokenInit.mechTypes[0] = smb_xstrdup(OID_KERBEROS5_OLD); spnego.negTokenInit.mechTypes[0] = smb_xstrdup(OID_KERBEROS5_OLD);
spnego.negTokenInit.mechTypes[1] = smb_xstrdup(OID_NTLMSSP); spnego.negTokenInit.mechTypes[1] = smb_xstrdup(OID_NTLMSSP);
@ -1056,7 +1056,7 @@ static BOOL manage_client_ntlmssp_init(SPNEGO_DATA spnego)
} }
spnego.type = SPNEGO_NEG_TOKEN_INIT; spnego.type = SPNEGO_NEG_TOKEN_INIT;
spnego.negTokenInit.mechTypes = CONST_DISCARD(char **,my_mechs); spnego.negTokenInit.mechTypes = my_mechs;
spnego.negTokenInit.reqFlags = 0; spnego.negTokenInit.reqFlags = 0;
spnego.negTokenInit.mechListMIC = null_blob; spnego.negTokenInit.mechListMIC = null_blob;

View File

@ -476,7 +476,7 @@ static BOOL test_plaintext(enum ntlm_break break_which)
SAFE_FREE(password); SAFE_FREE(password);
lm_response.length = strlen(lm_response.data); lm_response.length = strlen((const char *)lm_response.data);
switch (break_which) { switch (break_which) {
case BREAK_NONE: case BREAK_NONE:

View File

@ -100,7 +100,7 @@ static int export_database (struct pdb_context *in, struct pdb_context
static int export_groups (struct pdb_context *in, struct pdb_context *out) { static int export_groups (struct pdb_context *in, struct pdb_context *out) {
GROUP_MAP *maps = NULL; GROUP_MAP *maps = NULL;
int i, entries = 0; size_t i, entries = 0;
if (NT_STATUS_IS_ERR(in->pdb_enum_group_mapping(in, SID_NAME_UNKNOWN, if (NT_STATUS_IS_ERR(in->pdb_enum_group_mapping(in, SID_NAME_UNKNOWN,
&maps, &entries, &maps, &entries,

View File

@ -96,7 +96,7 @@ static BOOL copy_registry_tree( REGF_FILE *infile, REGF_NK_REC *nk,
for ( i=0; i<nk->num_values; i++ ) { for ( i=0; i<nk->num_values; i++ ) {
regval_ctr_addvalue( values, nk->values[i].valuename, nk->values[i].type, regval_ctr_addvalue( values, nk->values[i].valuename, nk->values[i].type,
nk->values[i].data, (nk->values[i].data_size & ~VK_DATA_IN_OFFSET) ); (const char *)nk->values[i].data, (nk->values[i].data_size & ~VK_DATA_IN_OFFSET) );
} }
/* copy subkeys into the REGSUBKEY_CTR */ /* copy subkeys into the REGSUBKEY_CTR */