summaryrefslogtreecommitdiff
path: root/source4/lib
diff options
context:
space:
mode:
Diffstat (limited to 'source4/lib')
-rw-r--r--source4/lib/samba3/group.c17
-rw-r--r--source4/lib/samba3/idmap.c18
-rw-r--r--source4/lib/samba3/secrets.c30
-rw-r--r--source4/lib/samba3/tdbsam.c2
4 files changed, 36 insertions, 31 deletions
diff --git a/source4/lib/samba3/group.c b/source4/lib/samba3/group.c
index cf76bddffe..eea70c8530 100644
--- a/source4/lib/samba3/group.c
+++ b/source4/lib/samba3/group.c
@@ -74,8 +74,9 @@ NTSTATUS samba3_read_grouptdb(const char *file, TALLOC_CTX *ctx, struct samba3_g
kbuf.dptr;
newkey = tdb_nextkey(tdb, kbuf), safe_free(kbuf.dptr), kbuf=newkey) {
struct samba3_groupmapping map;
+ const char *k = (const char *)kbuf.dptr;
- if (strncmp(kbuf.dptr, GROUP_PREFIX, strlen(GROUP_PREFIX)) == 0)
+ if (strncmp(k, GROUP_PREFIX, strlen(GROUP_PREFIX)) == 0)
{
dbuf = tdb_fetch(tdb, kbuf);
if (!dbuf.dptr)
@@ -83,9 +84,9 @@ NTSTATUS samba3_read_grouptdb(const char *file, TALLOC_CTX *ctx, struct samba3_g
ZERO_STRUCT(map);
- map.sid = dom_sid_parse_talloc(ctx, kbuf.dptr+strlen(GROUP_PREFIX));
+ map.sid = dom_sid_parse_talloc(ctx, k+strlen(GROUP_PREFIX));
- ret = tdb_unpack(tdb, dbuf.dptr, dbuf.dsize, "dd",
+ ret = tdb_unpack(tdb, (char *)dbuf.dptr, dbuf.dsize, "dd",
&map.gid, &map.sid_name_use);
if ( ret == -1 ) {
@@ -93,8 +94,8 @@ NTSTATUS samba3_read_grouptdb(const char *file, TALLOC_CTX *ctx, struct samba3_g
continue;
}
- map.nt_name = talloc_strdup(ctx, dbuf.dptr+ret);
- map.comment = talloc_strdup(ctx, dbuf.dptr+ret+strlen(map.nt_name));
+ map.nt_name = talloc_strdup(ctx, (const char *)(dbuf.dptr+ret));
+ map.comment = talloc_strdup(ctx, (const char *)(dbuf.dptr+ret+strlen(map.nt_name)));
db->groupmappings = talloc_realloc(ctx, db->groupmappings, struct samba3_groupmapping, db->groupmap_count+1);
@@ -104,7 +105,7 @@ NTSTATUS samba3_read_grouptdb(const char *file, TALLOC_CTX *ctx, struct samba3_g
db->groupmappings[db->groupmap_count] = map;
db->groupmap_count++;
- } else if (strncmp(kbuf.dptr, MEMBEROF_PREFIX, strlen(MEMBEROF_PREFIX)) == 0)
+ } else if (strncmp(k, MEMBEROF_PREFIX, strlen(MEMBEROF_PREFIX)) == 0)
{
struct samba3_alias alias;
const char **member_strlist;
@@ -114,11 +115,11 @@ NTSTATUS samba3_read_grouptdb(const char *file, TALLOC_CTX *ctx, struct samba3_g
if (!dbuf.dptr)
continue;
- alias.sid = dom_sid_parse_talloc(ctx, kbuf.dptr+strlen(MEMBEROF_PREFIX));
+ alias.sid = dom_sid_parse_talloc(ctx, k+strlen(MEMBEROF_PREFIX));
alias.member_count = 0;
alias.members = NULL;
- member_strlist = str_list_make_shell(ctx, dbuf.dptr, " ");
+ member_strlist = str_list_make_shell(ctx, (const char *)dbuf.dptr, " ");
for (i = 0; member_strlist[i]; i++) {
alias.members = talloc_realloc(ctx, alias.members, struct dom_sid *, alias.member_count+1);
diff --git a/source4/lib/samba3/idmap.c b/source4/lib/samba3/idmap.c
index b1c7c0dcca..205089f1cc 100644
--- a/source4/lib/samba3/idmap.c
+++ b/source4/lib/samba3/idmap.c
@@ -58,17 +58,21 @@ NTSTATUS samba3_read_idmap(const char *fn, TALLOC_CTX *ctx, struct samba3_idmapd
for (key = tdb_firstkey(tdb); key.dptr; key = tdb_nextkey(tdb, key))
{
struct samba3_idmap_mapping map;
-
- if (strncmp(key.dptr, "GID ", 4) == 0) {
+ const char *k = (const char *)key.dptr;
+ const char *v;
+
+ if (strncmp(k, "GID ", 4) == 0) {
map.type = IDMAP_GROUP;
- map.unix_id = atoi(key.dptr+4);
+ map.unix_id = atoi(k+4);
val = tdb_fetch(tdb, key);
- map.sid = dom_sid_parse_talloc(ctx, val.dptr);
- } else if (strncmp(key.dptr, "UID ", 4) == 0) {
+ v = (const char *)val.dptr;
+ map.sid = dom_sid_parse_talloc(ctx, v);
+ } else if (strncmp(k, "UID ", 4) == 0) {
map.type = IDMAP_USER;
- map.unix_id = atoi(key.dptr+4);
+ map.unix_id = atoi(k+4);
val = tdb_fetch(tdb, key);
- map.sid = dom_sid_parse_talloc(ctx, val.dptr);
+ v = (const char *)val.dptr;
+ map.sid = dom_sid_parse_talloc(ctx, v);
} else {
continue;
}
diff --git a/source4/lib/samba3/secrets.c b/source4/lib/samba3/secrets.c
index 953e00d367..33992a9b32 100644
--- a/source4/lib/samba3/secrets.c
+++ b/source4/lib/samba3/secrets.c
@@ -81,19 +81,19 @@ static struct samba3_domainsecrets *secrets_find_domain(TALLOC_CTX *ctx, struct
static NTSTATUS ipc_password (TDB_CONTEXT *tdb, const char *key, TDB_DATA vbuf, TALLOC_CTX *ctx, struct samba3_secrets *db)
{
- cli_credentials_set_password(db->ipc_cred, vbuf.dptr, CRED_SPECIFIED);
+ cli_credentials_set_password(db->ipc_cred, (const char *)vbuf.dptr, CRED_SPECIFIED);
return NT_STATUS_OK;
}
static NTSTATUS ipc_username (TDB_CONTEXT *tdb, const char *key, TDB_DATA vbuf, TALLOC_CTX *ctx, struct samba3_secrets *db)
{
- cli_credentials_set_username(db->ipc_cred, vbuf.dptr, CRED_SPECIFIED);
+ cli_credentials_set_username(db->ipc_cred, (const char *)vbuf.dptr, CRED_SPECIFIED);
return NT_STATUS_OK;
}
static NTSTATUS ipc_domain (TDB_CONTEXT *tdb, const char *key, TDB_DATA vbuf, TALLOC_CTX *ctx, struct samba3_secrets *db)
{
- cli_credentials_set_domain(db->ipc_cred, vbuf.dptr, CRED_SPECIFIED);
+ cli_credentials_set_domain(db->ipc_cred, (const char *)vbuf.dptr, CRED_SPECIFIED);
return NT_STATUS_OK;
}
@@ -101,7 +101,7 @@ static NTSTATUS domain_sid (TDB_CONTEXT *tdb, const char *key, TDB_DATA vbuf, TA
{
struct samba3_domainsecrets *domainsec = secrets_find_domain(ctx, db, key);
domainsec->sid.sub_auths = talloc_array(ctx, uint32_t, 15);
- tdb_sid_unpack(tdb, vbuf.dptr, vbuf.dsize, &domainsec->sid);
+ tdb_sid_unpack(tdb, (char *)vbuf.dptr, vbuf.dsize, &domainsec->sid);
return NT_STATUS_OK;
}
@@ -116,7 +116,7 @@ static NTSTATUS ldap_bind_pw (TDB_CONTEXT *tdb, const char *key, TDB_DATA vbuf,
{
struct samba3_ldappw pw;
pw.dn = talloc_strdup(ctx, key);
- pw.password = talloc_strdup(ctx, vbuf.dptr);
+ pw.password = talloc_strdup(ctx, (const char *)vbuf.dptr);
db->ldappws = talloc_realloc(ctx, db->ldappws, struct samba3_ldappw, db->ldappw_count+1);
db->ldappws[db->ldappw_count] = pw;
@@ -155,7 +155,7 @@ static NTSTATUS machine_last_change_time (TDB_CONTEXT *tdb, const char *key, TDB
static NTSTATUS machine_password (TDB_CONTEXT *tdb, const char *key, TDB_DATA vbuf, TALLOC_CTX *ctx, struct samba3_secrets *db)
{
struct samba3_domainsecrets *domainsec = secrets_find_domain(ctx, db, key);
- domainsec->plaintext_pw = talloc_strdup(ctx, vbuf.dptr);
+ domainsec->plaintext_pw = talloc_strdup(ctx, (const char *)vbuf.dptr);
return NT_STATUS_OK;
}
@@ -184,19 +184,19 @@ static NTSTATUS domtrust_acc (TDB_CONTEXT *tdb, const char *key, TDB_DATA vbuf,
return NT_STATUS_UNSUCCESSFUL;
/* unpack unicode domain name and plaintext password */
- len += tdb_unpack(tdb, vbuf.dptr, vbuf.dsize - len, "d", &pass.uni_name_len);
+ len += tdb_unpack(tdb, (char *)vbuf.dptr, vbuf.dsize - len, "d", &pass.uni_name_len);
for (idx = 0; idx < 32; idx++)
- len += tdb_unpack(tdb, vbuf.dptr + len, vbuf.dsize - len, "w", &pass.uni_name[idx]);
+ len += tdb_unpack(tdb, (char *)(vbuf.dptr + len), vbuf.dsize - len, "w", &pass.uni_name[idx]);
- len += tdb_unpack(tdb, vbuf.dptr + len, vbuf.dsize - len, "d", &pass_len);
- pass.pass = talloc_strdup(ctx, vbuf.dptr+len);
- len += strlen(vbuf.dptr)+1;
- len += tdb_unpack(tdb, vbuf.dptr + len, vbuf.dsize - len, "d", &pass.mod_time);
+ len += tdb_unpack(tdb, (char *)(vbuf.dptr + len), vbuf.dsize - len, "d", &pass_len);
+ pass.pass = talloc_strdup(ctx, (char *)(vbuf.dptr+len));
+ len += strlen((const char *)vbuf.dptr)+1;
+ len += tdb_unpack(tdb, (char *)(vbuf.dptr + len), vbuf.dsize - len, "d", &pass.mod_time);
pass.domain_sid.sub_auths = talloc_array(ctx, uint32_t, 15);
/* unpack domain sid */
- len += tdb_sid_unpack(tdb, vbuf.dptr + len, vbuf.dsize - len, &pass.domain_sid);
+ len += tdb_sid_unpack(tdb, (char *)(vbuf.dptr + len), vbuf.dsize - len, &pass.domain_sid);
/* FIXME: Add to list */
@@ -244,8 +244,8 @@ NTSTATUS samba3_read_secrets(const char *fname, TALLOC_CTX *ctx, struct samba3_s
vbuf = tdb_fetch(tdb, kbuf);
for (i = 0; secrets_handlers[i].prefix; i++) {
- if (!strncmp(kbuf.dptr, secrets_handlers[i].prefix, strlen(secrets_handlers[i].prefix))) {
- key = talloc_strndup(ctx, kbuf.dptr+strlen(secrets_handlers[i].prefix), kbuf.dsize-strlen(secrets_handlers[i].prefix));
+ if (!strncmp((const char *)kbuf.dptr, secrets_handlers[i].prefix, strlen(secrets_handlers[i].prefix))) {
+ key = talloc_strndup(ctx, (const char *)(kbuf.dptr+strlen(secrets_handlers[i].prefix)), kbuf.dsize-strlen(secrets_handlers[i].prefix));
secrets_handlers[i].handler(tdb, key, vbuf, ctx, db);
talloc_free(key);
break;
diff --git a/source4/lib/samba3/tdbsam.c b/source4/lib/samba3/tdbsam.c
index 5397abca49..80f1448d9c 100644
--- a/source4/lib/samba3/tdbsam.c
+++ b/source4/lib/samba3/tdbsam.c
@@ -235,7 +235,7 @@ NTSTATUS samba3_read_tdbsam(const char *filename, TALLOC_CTX *ctx, struct samba3
for (key = tdb_firstkey(tdb); key.dptr; key = tdb_nextkey(tdb, key))
{
BOOL ret;
- if (strncmp(key.dptr, "USER_", 5) != 0)
+ if (strncmp((const char *)key.dptr, "USER_", 5) != 0)
continue;
val = tdb_fetch(tdb, key);