[SCM] Samba Shared Repository - branch master updated - tevent-0-9-8-705-gd1aa7d4
Jeremy Allison
jra at samba.org
Thu Sep 24 17:28:53 MDT 2009
The branch, master has been updated
via d1aa7d479697a8fcc5d8237271c473a1b831949b (commit)
via 536c4dd2d69f9a35547c0ce77b47c4f0b03aa5ac (commit)
via 4f10aa59730b44fc4328daca3e2e43693fc1b69f (commit)
from b39c390280d1f268e2550c731057aec550a3f086 (commit)
http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master
- Log -----------------------------------------------------------------
commit d1aa7d479697a8fcc5d8237271c473a1b831949b
Author: Jeremy Allison <jra at samba.org>
Date: Thu Sep 24 15:52:58 2009 -0700
Remove the const from the str_list_XXX functions that
allocate both list and containing strings. This fixes
problems that people have tried to cast away and are
not needed.
Jeremy.
commit 536c4dd2d69f9a35547c0ce77b47c4f0b03aa5ac
Author: Jeremy Allison <jra at samba.org>
Date: Thu Sep 24 15:44:28 2009 -0700
Revert b39c390280d1f268e2550c731057aec550a3f086 - casts should not
be here.
Jeremy.
commit 4f10aa59730b44fc4328daca3e2e43693fc1b69f
Author: Jeremy Allison <jra at samba.org>
Date: Thu Sep 24 15:42:36 2009 -0700
Revert 918b5a7e057bd91289ec06b3ef8d95da43a50ede. This code
should *not* return const.
Jeremy.
-----------------------------------------------------------------------
Summary of changes:
lib/util/util.h | 10 +++++-----
lib/util/util_strlist.c | 38 +++++++++++++++++++-------------------
source3/auth/auth.c | 18 +++++++++---------
source3/include/proto.h | 2 +-
source3/lib/util_str.c | 12 ++++++------
source3/param/loadparm.c | 6 +++---
source3/smbd/map_username.c | 2 +-
source3/smbd/password.c | 24 ++++++++++++------------
8 files changed, 56 insertions(+), 56 deletions(-)
Changeset truncated at 500 lines:
diff --git a/lib/util/util.h b/lib/util/util.h
index 385a3ae..c766e3d 100644
--- a/lib/util/util.h
+++ b/lib/util/util.h
@@ -407,12 +407,12 @@ _PUBLIC_ bool strequal(const char *s1, const char *s2);
/**
build an empty (only NULL terminated) list of strings (for expansion with str_list_add() etc)
*/
-_PUBLIC_ const char **str_list_make_empty(TALLOC_CTX *mem_ctx);
+_PUBLIC_ char **str_list_make_empty(TALLOC_CTX *mem_ctx);
/**
place the only element 'entry' into a new, NULL terminated string list
*/
-_PUBLIC_ const char **str_list_make_single(TALLOC_CTX *mem_ctx,
+_PUBLIC_ char **str_list_make_single(TALLOC_CTX *mem_ctx,
const char *entry);
/**
@@ -420,7 +420,7 @@ _PUBLIC_ const char **str_list_make_single(TALLOC_CTX *mem_ctx,
separator list. The separator list must contain characters less than
or equal to 0x2f for this to work correctly on multi-byte strings
*/
-_PUBLIC_ const char **str_list_make(TALLOC_CTX *mem_ctx, const char *string,
+_PUBLIC_ char **str_list_make(TALLOC_CTX *mem_ctx, const char *string,
const char *sep);
/**
@@ -428,7 +428,7 @@ _PUBLIC_ const char **str_list_make(TALLOC_CTX *mem_ctx, const char *string,
* Entries are seperated by spaces and can be enclosed by quotes.
* Does NOT support escaping
*/
-_PUBLIC_ const char **str_list_make_shell(TALLOC_CTX *mem_ctx, const char *string, const char *sep);
+_PUBLIC_ char **str_list_make_shell(TALLOC_CTX *mem_ctx, const char *string, const char *sep);
/**
* join a list back to one string
@@ -447,7 +447,7 @@ _PUBLIC_ size_t str_list_length(const char * const *list);
/**
copy a string list
*/
-_PUBLIC_ const char **str_list_copy(TALLOC_CTX *mem_ctx, const char **list);
+_PUBLIC_ char **str_list_copy(TALLOC_CTX *mem_ctx, const char **list);
/**
Return true if all the elements of the list match exactly.
diff --git a/lib/util/util_strlist.c b/lib/util/util_strlist.c
index b4b991f..1331fee 100644
--- a/lib/util/util_strlist.c
+++ b/lib/util/util_strlist.c
@@ -31,11 +31,11 @@
/**
build an empty (only NULL terminated) list of strings (for expansion with str_list_add() etc)
*/
-_PUBLIC_ const char **str_list_make_empty(TALLOC_CTX *mem_ctx)
+_PUBLIC_ char **str_list_make_empty(TALLOC_CTX *mem_ctx)
{
- const char **ret = NULL;
+ char **ret = NULL;
- ret = talloc_array(mem_ctx, const char *, 1);
+ ret = talloc_array(mem_ctx, char *, 1);
if (ret == NULL) {
return NULL;
}
@@ -48,11 +48,11 @@ _PUBLIC_ const char **str_list_make_empty(TALLOC_CTX *mem_ctx)
/**
place the only element 'entry' into a new, NULL terminated string list
*/
-_PUBLIC_ const char **str_list_make_single(TALLOC_CTX *mem_ctx, const char *entry)
+_PUBLIC_ char **str_list_make_single(TALLOC_CTX *mem_ctx, const char *entry)
{
- const char **ret = NULL;
+ char **ret = NULL;
- ret = talloc_array(mem_ctx, const char *, 2);
+ ret = talloc_array(mem_ctx, char *, 2);
if (ret == NULL) {
return NULL;
}
@@ -72,30 +72,30 @@ _PUBLIC_ const char **str_list_make_single(TALLOC_CTX *mem_ctx, const char *entr
separator list. The separator list must contain characters less than
or equal to 0x2f for this to work correctly on multi-byte strings
*/
-_PUBLIC_ const char **str_list_make(TALLOC_CTX *mem_ctx, const char *string, const char *sep)
+_PUBLIC_ char **str_list_make(TALLOC_CTX *mem_ctx, const char *string, const char *sep)
{
int num_elements = 0;
- const char **ret = NULL;
+ char **ret = NULL;
if (sep == NULL) {
sep = LIST_SEP;
}
- ret = talloc_array(mem_ctx, const char *, 1);
+ ret = talloc_array(mem_ctx, char *, 1);
if (ret == NULL) {
return NULL;
}
while (string && *string) {
size_t len = strcspn(string, sep);
- const char **ret2;
+ char **ret2;
if (len == 0) {
string += strspn(string, sep);
continue;
}
- ret2 = talloc_realloc(mem_ctx, ret, const char *,
+ ret2 = talloc_realloc(mem_ctx, ret, char *,
num_elements+2);
if (ret2 == NULL) {
talloc_free(ret);
@@ -123,12 +123,12 @@ _PUBLIC_ const char **str_list_make(TALLOC_CTX *mem_ctx, const char *string, con
* Entries are seperated by spaces and can be enclosed by quotes.
* Does NOT support escaping
*/
-_PUBLIC_ const char **str_list_make_shell(TALLOC_CTX *mem_ctx, const char *string, const char *sep)
+_PUBLIC_ char **str_list_make_shell(TALLOC_CTX *mem_ctx, const char *string, const char *sep)
{
int num_elements = 0;
- const char **ret = NULL;
+ char **ret = NULL;
- ret = talloc_array(mem_ctx, const char *, 1);
+ ret = talloc_array(mem_ctx, char *, 1);
if (ret == NULL) {
return NULL;
}
@@ -139,7 +139,7 @@ _PUBLIC_ const char **str_list_make_shell(TALLOC_CTX *mem_ctx, const char *strin
while (string && *string) {
size_t len = strcspn(string, sep);
char *element;
- const char **ret2;
+ char **ret2;
if (len == 0) {
string += strspn(string, sep);
@@ -161,7 +161,7 @@ _PUBLIC_ const char **str_list_make_shell(TALLOC_CTX *mem_ctx, const char *strin
return NULL;
}
- ret2 = talloc_realloc(mem_ctx, ret, const char *, num_elements+2);
+ ret2 = talloc_realloc(mem_ctx, ret, char *, num_elements+2);
if (ret2 == NULL) {
talloc_free(ret);
return NULL;
@@ -238,15 +238,15 @@ _PUBLIC_ size_t str_list_length(const char * const *list)
/**
copy a string list
*/
-_PUBLIC_ const char **str_list_copy(TALLOC_CTX *mem_ctx, const char **list)
+_PUBLIC_ char **str_list_copy(TALLOC_CTX *mem_ctx, const char **list)
{
int i;
- const char **ret;
+ char **ret;
if (list == NULL)
return NULL;
- ret = talloc_array(mem_ctx, const char *, str_list_length(list)+1);
+ ret = talloc_array(mem_ctx, char *, str_list_length(list)+1);
if (ret == NULL)
return NULL;
diff --git a/source3/auth/auth.c b/source3/auth/auth.c
index b445987..ce8722a 100644
--- a/source3/auth/auth.c
+++ b/source3/auth/auth.c
@@ -455,7 +455,7 @@ NTSTATUS make_auth_context_subsystem(struct auth_context **auth_context)
NTSTATUS nt_status;
if (lp_auth_methods()
- && !(auth_method_list = (char **) str_list_copy(talloc_tos(),
+ && !(auth_method_list = str_list_copy(talloc_tos(),
lp_auth_methods()))) {
return NT_STATUS_NO_MEMORY;
}
@@ -465,13 +465,13 @@ NTSTATUS make_auth_context_subsystem(struct auth_context **auth_context)
{
case SEC_DOMAIN:
DEBUG(5,("Making default auth method list for security=domain\n"));
- auth_method_list = (char **) str_list_make_v3(
+ auth_method_list = str_list_make_v3(
talloc_tos(), "guest sam winbind:ntdomain",
NULL);
break;
case SEC_SERVER:
DEBUG(5,("Making default auth method list for security=server\n"));
- auth_method_list = (char **) str_list_make_v3(
+ auth_method_list = str_list_make_v3(
talloc_tos(), "guest sam smbserver",
NULL);
break;
@@ -479,36 +479,36 @@ NTSTATUS make_auth_context_subsystem(struct auth_context **auth_context)
if (lp_encrypted_passwords()) {
if ((lp_server_role() == ROLE_DOMAIN_PDC) || (lp_server_role() == ROLE_DOMAIN_BDC)) {
DEBUG(5,("Making default auth method list for DC, security=user, encrypt passwords = yes\n"));
- auth_method_list = (char **) str_list_make_v3(
+ auth_method_list = str_list_make_v3(
talloc_tos(),
"guest sam winbind:trustdomain",
NULL);
} else {
DEBUG(5,("Making default auth method list for standalone security=user, encrypt passwords = yes\n"));
- auth_method_list = (char **) str_list_make_v3(
+ auth_method_list = str_list_make_v3(
talloc_tos(), "guest sam",
NULL);
}
} else {
DEBUG(5,("Making default auth method list for security=user, encrypt passwords = no\n"));
- auth_method_list = (char **) str_list_make_v3(
+ auth_method_list = str_list_make_v3(
talloc_tos(), "guest unix", NULL);
}
break;
case SEC_SHARE:
if (lp_encrypted_passwords()) {
DEBUG(5,("Making default auth method list for security=share, encrypt passwords = yes\n"));
- auth_method_list = (char **) str_list_make_v3(
+ auth_method_list = str_list_make_v3(
talloc_tos(), "guest sam", NULL);
} else {
DEBUG(5,("Making default auth method list for security=share, encrypt passwords = no\n"));
- auth_method_list = (char **) str_list_make_v3(
+ auth_method_list = str_list_make_v3(
talloc_tos(), "guest unix", NULL);
}
break;
case SEC_ADS:
DEBUG(5,("Making default auth method list for security=ADS\n"));
- auth_method_list = (char **) str_list_make_v3(
+ auth_method_list = str_list_make_v3(
talloc_tos(), "guest sam winbind:ntdomain",
NULL);
break;
diff --git a/source3/include/proto.h b/source3/include/proto.h
index e17486b..d664a26 100644
--- a/source3/include/proto.h
+++ b/source3/include/proto.h
@@ -1563,7 +1563,7 @@ bool validate_net_name( const char *name,
const char *invalid_chars,
int max_len);
char *escape_shell_string(const char *src);
-const char **str_list_make_v3(TALLOC_CTX *mem_ctx, const char *string, const char *sep);
+char **str_list_make_v3(TALLOC_CTX *mem_ctx, const char *string, const char *sep);
/* The following definitions come from lib/util_unistr.c */
diff --git a/source3/lib/util_str.c b/source3/lib/util_str.c
index 2136388..9a0b12a 100644
--- a/source3/lib/util_str.c
+++ b/source3/lib/util_str.c
@@ -2430,10 +2430,10 @@ char *escape_shell_string(const char *src)
#define S_LIST_ABS 16 /* List Allocation Block Size */
-const char **str_list_make_v3(TALLOC_CTX *mem_ctx, const char *string,
+char **str_list_make_v3(TALLOC_CTX *mem_ctx, const char *string,
const char *sep)
{
- const char **list;
+ char **list;
const char *str;
char *s, *tok;
int num, lsize;
@@ -2441,7 +2441,7 @@ const char **str_list_make_v3(TALLOC_CTX *mem_ctx, const char *string,
if (!string || !*string)
return NULL;
- list = TALLOC_ARRAY(mem_ctx, const char *, S_LIST_ABS+1);
+ list = TALLOC_ARRAY(mem_ctx, char *, S_LIST_ABS+1);
if (list == NULL) {
return NULL;
}
@@ -2461,11 +2461,11 @@ const char **str_list_make_v3(TALLOC_CTX *mem_ctx, const char *string,
while (next_token_talloc(list, &str, &tok, sep)) {
if (num == lsize) {
- const char **tmp;
+ char **tmp;
lsize += S_LIST_ABS;
- tmp = TALLOC_REALLOC_ARRAY(mem_ctx, list, const char *,
+ tmp = TALLOC_REALLOC_ARRAY(mem_ctx, list, char *,
lsize + 1);
if (tmp == NULL) {
DEBUG(0,("str_list_make: "
@@ -2477,7 +2477,7 @@ const char **str_list_make_v3(TALLOC_CTX *mem_ctx, const char *string,
list = tmp;
memset (&list[num], 0,
- ((sizeof(const char**)) * (S_LIST_ABS +1)));
+ ((sizeof(char**)) * (S_LIST_ABS +1)));
}
list[num] = tok;
diff --git a/source3/param/loadparm.c b/source3/param/loadparm.c
index c93787e..b278b96 100644
--- a/source3/param/loadparm.c
+++ b/source3/param/loadparm.c
@@ -6745,7 +6745,7 @@ static void copy_service(struct service *pserviceDest, struct service *pserviceS
break;
case P_LIST:
TALLOC_FREE(*((char ***)dest_ptr));
- *((const char ***)dest_ptr) = str_list_copy(NULL,
+ *((char ***)dest_ptr) = str_list_copy(NULL,
*(const char ***)src_ptr);
break;
default:
@@ -8218,8 +8218,8 @@ static void lp_save_defaults(void)
continue;
switch (parm_table[i].type) {
case P_LIST:
- parm_table[i].def.lvalue = (char **)
- str_list_copy(NULL, *(const char ***)parm_table[i].ptr);
+ parm_table[i].def.lvalue = str_list_copy(
+ NULL, *(const char ***)parm_table[i].ptr);
break;
case P_STRING:
case P_USTRING:
diff --git a/source3/smbd/map_username.c b/source3/smbd/map_username.c
index e9ef74c..24b4ddd 100644
--- a/source3/smbd/map_username.c
+++ b/source3/smbd/map_username.c
@@ -146,7 +146,7 @@ bool map_username(struct smbd_server_connection *sconn, fstring user)
while((s=fgets_slash(buf,sizeof(buf),f))!=NULL) {
char *unixname = s;
char *dosname = strchr_m(unixname,'=');
- const char **dosuserlist;
+ char **dosuserlist;
bool return_if_mapped = False;
if (!dosname)
diff --git a/source3/smbd/password.c b/source3/smbd/password.c
index d6a8447..4c1cef4 100644
--- a/source3/smbd/password.c
+++ b/source3/smbd/password.c
@@ -551,13 +551,14 @@ bool user_in_list(struct smbd_server_connection *sconn,
static bool user_ok(struct smbd_server_connection *sconn,
const char *user, int snum)
{
+ char **valid, **invalid;
bool ret;
+ valid = invalid = NULL;
ret = True;
if (lp_invalid_users(snum)) {
- char **invalid = (char **) str_list_copy(talloc_tos(),
- lp_invalid_users(snum));
+ invalid = str_list_copy(talloc_tos(), lp_invalid_users(snum));
if (invalid &&
str_list_substitute(invalid, "%S", lp_servicename(snum))) {
@@ -566,37 +567,36 @@ static bool user_ok(struct smbd_server_connection *sconn,
if ( invalid && str_list_sub_basic(invalid, "", "") ) {
ret = !user_in_list(sconn, user,
- (const char **)invalid);
+ (const char **)invalid);
}
}
- TALLOC_FREE(invalid);
}
+ TALLOC_FREE(invalid);
if (ret && lp_valid_users(snum)) {
- char **valid = (char **) str_list_copy(talloc_tos(),
- lp_valid_users(snum));
- if (valid &&
- str_list_substitute(valid, "%S", lp_servicename(snum))) {
+ valid = str_list_copy(talloc_tos(), lp_valid_users(snum));
+ if ( valid &&
+ str_list_substitute(valid, "%S", lp_servicename(snum)) ) {
/* This is used in sec=share only, so no current user
* around to pass to str_list_sub_basic() */
if ( valid && str_list_sub_basic(valid, "", "") ) {
ret = user_in_list(sconn, user,
- (const char **)valid);
+ (const char **)valid);
}
}
- TALLOC_FREE(valid);
}
+ TALLOC_FREE(valid);
if (ret && lp_onlyuser(snum)) {
- char **user_list = (char **) str_list_make_v3(
+ char **user_list = str_list_make_v3(
talloc_tos(), lp_username(snum), NULL);
if (user_list &&
str_list_substitute(user_list, "%S",
lp_servicename(snum))) {
ret = user_in_list(sconn, user,
- (const char **)user_list);
+ (const char **)user_list);
}
TALLOC_FREE(user_list);
}
--
Samba Shared Repository
More information about the samba-cvs
mailing list