From c9d97e3a2e7d2d9ca6612fdeb5fdf7a84781bbc1 Mon Sep 17 00:00:00 2001 From: Volker Lendecke Date: Wed, 26 Aug 2015 10:52:44 +0200 Subject: [PATCH] lib: Make sid_linearize take a uint8_t We marshall into a binary buffer, uint8_t better reflects that. Signed-off-by: Volker Lendecke Reviewed-by: Jeremy Allison Autobuild-User(master): Jeremy Allison Autobuild-Date(master): Thu Aug 27 00:40:58 CEST 2015 on sn-devel-104 --- source3/include/proto.h | 2 +- source3/lib/util_sid.c | 6 +++--- source3/libsmb/cliquota.c | 4 ++-- source3/passdb/pdb_ipa.c | 2 +- source3/smbd/nttrans.c | 5 +++-- source3/smbd/trans2.c | 3 ++- 6 files changed, 12 insertions(+), 10 deletions(-) diff --git a/source3/include/proto.h b/source3/include/proto.h index b8f4a670da0d..0af8cdd9e65c 100644 --- a/source3/include/proto.h +++ b/source3/include/proto.h @@ -525,7 +525,7 @@ char *sid_to_fstring(fstring sidstr_out, const struct dom_sid *sid); char *sid_string_talloc(TALLOC_CTX *mem_ctx, const struct dom_sid *sid); char *sid_string_dbg(const struct dom_sid *sid); char *sid_string_tos(const struct dom_sid *sid); -bool sid_linearize(char *outbuf, size_t len, const struct dom_sid *sid); +bool sid_linearize(uint8_t *outbuf, size_t len, const struct dom_sid *sid); bool non_mappable_sid(struct dom_sid *sid); char *sid_binstring_hex_talloc(TALLOC_CTX *mem_ctx, const struct dom_sid *sid); struct netr_SamInfo3; diff --git a/source3/lib/util_sid.c b/source3/lib/util_sid.c index e336510ae403..4b6fb81d7550 100644 --- a/source3/lib/util_sid.c +++ b/source3/lib/util_sid.c @@ -72,7 +72,7 @@ char *sid_string_tos(const struct dom_sid *sid) Write a sid out into on-the-wire format. *****************************************************************/ -bool sid_linearize(char *outbuf, size_t len, const struct dom_sid *sid) +bool sid_linearize(uint8_t *outbuf, size_t len, const struct dom_sid *sid) { size_t i; @@ -116,9 +116,9 @@ bool non_mappable_sid(struct dom_sid *sid) char *sid_binstring_hex_talloc(TALLOC_CTX *mem_ctx, const struct dom_sid *sid) { int len = ndr_size_dom_sid(sid, 0); - char buf[len]; + uint8_t buf[len]; sid_linearize(buf, len, sid); - return hex_encode_talloc(mem_ctx, (const unsigned char *)buf, len); + return hex_encode_talloc(mem_ctx, buf, len); } NTSTATUS sid_array_from_info3(TALLOC_CTX *mem_ctx, diff --git a/source3/libsmb/cliquota.c b/source3/libsmb/cliquota.c index bbf16ba83634..875c41977734 100644 --- a/source3/libsmb/cliquota.c +++ b/source3/libsmb/cliquota.c @@ -129,7 +129,7 @@ NTSTATUS cli_get_user_quota(struct cli_state *cli, int quota_fnum, data_len = sid_len+8; SIVAL(data, 0, 0x00000000); SIVAL(data, 4, sid_len); - sid_linearize((char *)data+8, sid_len, &pqt->sid); + sid_linearize(data+8, sid_len, &pqt->sid); status = cli_trans(talloc_tos(), cli, SMBnttrans, NULL, -1, /* name, fid */ @@ -183,7 +183,7 @@ NTSTATUS cli_set_user_quota(struct cli_state *cli, int quota_fnum, SBIG_UINT(data,16,pqt->usedspace); SBIG_UINT(data,24,pqt->softlim); SBIG_UINT(data,32,pqt->hardlim); - sid_linearize((char *)data+40, sid_len, &pqt->sid); + sid_linearize(data+40, sid_len, &pqt->sid); status = cli_trans(talloc_tos(), cli, SMBnttrans, NULL, -1, /* name, fid */ diff --git a/source3/passdb/pdb_ipa.c b/source3/passdb/pdb_ipa.c index e1e55276175c..4d9d09c84c28 100644 --- a/source3/passdb/pdb_ipa.c +++ b/source3/passdb/pdb_ipa.c @@ -768,7 +768,7 @@ static struct pdb_domain_info *pdb_ipasam_get_domain_info(struct pdb_methods *pd struct pdb_domain_info *info; struct ldapsam_privates *ldap_state = (struct ldapsam_privates *)pdb_methods->private_data; - char sid_buf[24]; + uint8_t sid_buf[24]; DATA_BLOB sid_blob; NTSTATUS status; diff --git a/source3/smbd/nttrans.c b/source3/smbd/nttrans.c index cd7454a1b566..19c7153e22d3 100644 --- a/source3/smbd/nttrans.c +++ b/source3/smbd/nttrans.c @@ -2384,7 +2384,8 @@ static void call_nt_transact_get_user_quota(connection_struct *conn, SBIG_UINT(entry,32,tmp_list->quotas->hardlim); /* and now the SID */ - sid_linearize(entry+40, sid_len, &tmp_list->quotas->sid); + sid_linearize((uint8_t *)(entry+40), sid_len, + &tmp_list->quotas->sid); } qt_handle->tmp_list = tmp_list; @@ -2486,7 +2487,7 @@ static void call_nt_transact_get_user_quota(connection_struct *conn, SBIG_UINT(entry,32,qt.hardlim); /* and now the SID */ - sid_linearize(entry+40, sid_len, &sid); + sid_linearize((uint8_t *)(entry+40), sid_len, &sid); break; diff --git a/source3/smbd/trans2.c b/source3/smbd/trans2.c index 8816402a52f4..58d18fbe9875 100644 --- a/source3/smbd/trans2.c +++ b/source3/smbd/trans2.c @@ -3796,7 +3796,8 @@ cBytesSector=%u, cUnitTotal=%u, cUnitAvail=%d\n", (unsigned int)bsize, (unsigned &conn->session_info->security_token->sids[i], 0); - sid_linearize(pdata + data_len, sid_len, + sid_linearize((uint8_t *)(pdata + data_len), + sid_len, &conn->session_info->security_token->sids[i]); data_len += sid_len; } -- 2.34.1