summaryrefslogtreecommitdiff
path: root/auth
diff options
context:
space:
mode:
authorStefan Metzmacher <metze@samba.org>2016-01-07 16:06:25 +0100
committerAndrew Bartlett <abartlet@samba.org>2016-06-30 03:30:27 +0200
commit74bccb3be1cd6fab808dac5e25c587238d850990 (patch)
treecad9250426887cd1dbef711a9b4e916f03cde1f1 /auth
parent3b94fde963be2c4e4dcd03cc020428383a809eeb (diff)
downloadsamba-74bccb3be1cd6fab808dac5e25c587238d850990.tar.gz
auth/auth_sam_reply: make auth_convert_user_info_dc_sambaseinfo() a private helper
Signed-off-by: Stefan Metzmacher <metze@samba.org> Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Diffstat (limited to 'auth')
-rw-r--r--auth/auth_sam_reply.c26
-rw-r--r--auth/auth_sam_reply.h3
2 files changed, 12 insertions, 17 deletions
diff --git a/auth/auth_sam_reply.c b/auth/auth_sam_reply.c
index cfdd5333d0a..319a8b03d9e 100644
--- a/auth/auth_sam_reply.c
+++ b/auth/auth_sam_reply.c
@@ -25,14 +25,14 @@
#include "libcli/security/security.h"
#include "auth/auth_sam_reply.h"
-NTSTATUS auth_convert_user_info_dc_sambaseinfo(TALLOC_CTX *mem_ctx,
- const struct auth_user_info_dc *user_info_dc,
- struct netr_SamBaseInfo **_sam)
+static NTSTATUS auth_convert_user_info_dc_sambaseinfo(TALLOC_CTX *mem_ctx,
+ const struct auth_user_info_dc *user_info_dc,
+ struct netr_SamBaseInfo *sam)
{
NTSTATUS status;
- struct auth_user_info *info;
- struct netr_SamBaseInfo *sam = talloc_zero(mem_ctx, struct netr_SamBaseInfo);
- NT_STATUS_HAVE_NO_MEMORY(sam);
+ const struct auth_user_info *info;
+
+ ZERO_STRUCTP(sam);
if (user_info_dc->num_sids > PRIMARY_USER_SID_INDEX) {
status = dom_sid_split_rid(sam, &user_info_dc->sids[PRIMARY_USER_SID_INDEX],
@@ -68,7 +68,7 @@ NTSTATUS auth_convert_user_info_dc_sambaseinfo(TALLOC_CTX *mem_ctx,
#define _COPY_STRING_TALLOC(src_name, dst_name) do { \
if (info->src_name != NULL) {\
- sam->dst_name.string = talloc_strdup(sam, info->src_name); \
+ sam->dst_name.string = talloc_strdup(mem_ctx, info->src_name); \
if (sam->dst_name.string == NULL) { \
return NT_STATUS_NO_MEMORY; \
} \
@@ -91,7 +91,7 @@ NTSTATUS auth_convert_user_info_dc_sambaseinfo(TALLOC_CTX *mem_ctx,
if (user_info_dc->num_sids > 2) {
size_t i;
- sam->groups.rids = talloc_array(sam, struct samr_RidWithAttribute,
+ sam->groups.rids = talloc_array(mem_ctx, struct samr_RidWithAttribute,
user_info_dc->num_sids);
if (sam->groups.rids == NULL)
@@ -134,8 +134,6 @@ NTSTATUS auth_convert_user_info_dc_sambaseinfo(TALLOC_CTX *mem_ctx,
sizeof(sam->LMSessKey.key));
}
- *_sam = sam;
-
return NT_STATUS_OK;
}
@@ -146,7 +144,6 @@ NTSTATUS auth_convert_user_info_dc_saminfo6(TALLOC_CTX *mem_ctx,
struct netr_SamInfo6 **_sam6)
{
NTSTATUS status;
- struct netr_SamBaseInfo *sam = NULL;
struct netr_SamInfo6 *sam6 = NULL;
size_t i;
@@ -155,12 +152,13 @@ NTSTATUS auth_convert_user_info_dc_saminfo6(TALLOC_CTX *mem_ctx,
return NT_STATUS_NO_MEMORY;
}
- status = auth_convert_user_info_dc_sambaseinfo(sam6, user_info_dc, &sam);
+ status = auth_convert_user_info_dc_sambaseinfo(sam6,
+ user_info_dc,
+ &sam6->base);
if (!NT_STATUS_IS_OK(status)) {
TALLOC_FREE(sam6);
return status;
}
- sam6->base = *sam;
sam6->sids = talloc_array(sam6, struct netr_SidAttr,
user_info_dc->num_sids);
@@ -171,7 +169,7 @@ NTSTATUS auth_convert_user_info_dc_saminfo6(TALLOC_CTX *mem_ctx,
/* We don't put the user and group SIDs in there */
for (i=2; i<user_info_dc->num_sids; i++) {
- if (dom_sid_in_domain(sam->domain_sid, &user_info_dc->sids[i])) {
+ if (dom_sid_in_domain(sam6->base.domain_sid, &user_info_dc->sids[i])) {
continue;
}
sam6->sids[sam6->sidcount].sid = dom_sid_dup(sam6->sids, &user_info_dc->sids[i]);
diff --git a/auth/auth_sam_reply.h b/auth/auth_sam_reply.h
index 22e3c77e267..5d86830b328 100644
--- a/auth/auth_sam_reply.h
+++ b/auth/auth_sam_reply.h
@@ -38,9 +38,6 @@ NTSTATUS make_user_info_SamBaseInfo(TALLOC_CTX *mem_ctx,
bool authenticated,
struct auth_user_info **_user_info);
-NTSTATUS auth_convert_user_info_dc_sambaseinfo(TALLOC_CTX *mem_ctx,
- const struct auth_user_info_dc *user_info_dc,
- struct netr_SamBaseInfo **_sam);
NTSTATUS auth_convert_user_info_dc_saminfo6(TALLOC_CTX *mem_ctx,
const struct auth_user_info_dc *user_info_dc,
struct netr_SamInfo6 **_sam6);