From fe72740e8221575921c22030d6d4fcb19201b03b Mon Sep 17 00:00:00 2001 From: Rusty Russell Date: Wed, 18 Jul 2012 15:07:23 +0930 Subject: loadparm: make the source3/ lp_ functions take an explicit TALLOC_CTX *. They use talloc_tos() internally: hoist that up to the callers, some of whom don't want to us talloc_tos(). A simple patch, but hits a lot of files. Signed-off-by: Rusty Russell --- source3/smbd/share_access.c | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) (limited to 'source3/smbd/share_access.c') diff --git a/source3/smbd/share_access.c b/source3/smbd/share_access.c index 2a4775d2dd..7087a985a9 100644 --- a/source3/smbd/share_access.c +++ b/source3/smbd/share_access.c @@ -203,7 +203,7 @@ bool user_ok_token(const char *username, const char *domain, { if (lp_invalid_users(snum) != NULL) { if (token_contains_name_in_list(username, domain, - lp_servicename(snum), + lp_servicename(talloc_tos(), snum), token, lp_invalid_users(snum))) { DEBUG(10, ("User %s in 'invalid users'\n", username)); @@ -213,7 +213,8 @@ bool user_ok_token(const char *username, const char *domain, if (lp_valid_users(snum) != NULL) { if (!token_contains_name_in_list(username, domain, - lp_servicename(snum), token, + lp_servicename(talloc_tos(), snum), + token, lp_valid_users(snum))) { DEBUG(10, ("User %s not in 'valid users'\n", username)); @@ -223,14 +224,14 @@ bool user_ok_token(const char *username, const char *domain, if (lp_onlyuser(snum)) { const char *list[2]; - list[0] = lp_username(snum); + list[0] = lp_username(talloc_tos(), snum); list[1] = NULL; if ((list[0] == NULL) || (*list[0] == '\0')) { DEBUG(0, ("'only user = yes' and no 'username ='\n")); return False; } if (!token_contains_name_in_list(NULL, domain, - lp_servicename(snum), + lp_servicename(talloc_tos(), snum), token, list)) { DEBUG(10, ("%s != 'username'\n", username)); return False; @@ -238,7 +239,7 @@ bool user_ok_token(const char *username, const char *domain, } DEBUG(10, ("user_ok_token: share %s is ok for unix user %s\n", - lp_servicename(snum), username)); + lp_servicename(talloc_tos(), snum), username)); return True; } @@ -267,7 +268,8 @@ bool is_share_read_only_for_token(const char *username, if (lp_readlist(snum) != NULL) { if (token_contains_name_in_list(username, domain, - lp_servicename(snum), token, + lp_servicename(talloc_tos(), snum), + token, lp_readlist(snum))) { result = True; } @@ -275,14 +277,15 @@ bool is_share_read_only_for_token(const char *username, if (lp_writelist(snum) != NULL) { if (token_contains_name_in_list(username, domain, - lp_servicename(snum), token, + lp_servicename(talloc_tos(), snum), + token, lp_writelist(snum))) { result = False; } } DEBUG(10,("is_share_read_only_for_user: share %s is %s for unix user " - "%s\n", lp_servicename(snum), + "%s\n", lp_servicename(talloc_tos(), snum), result ? "read-only" : "read-write", username)); return result; -- cgit