[SCM] Samba Shared Repository - branch v3-2-test updated -
initial-v3-2-unstable-315-g72c19d1
Jeremy Allison
jra at samba.org
Wed Nov 14 18:37:48 GMT 2007
The branch, v3-2-test has been updated
via 72c19d114b40ee307bbe45d9828667165a26d7a3 (commit)
from d6e2519c67fd015e1089021769de04085fd90894 (commit)
http://gitweb.samba.org/?p=samba.git;a=shortlog;h=v3-2-test
- Log -----------------------------------------------------------------
commit 72c19d114b40ee307bbe45d9828667165a26d7a3
Author: Jeremy Allison <jra at samba.org>
Date: Wed Nov 14 10:37:18 2007 -0800
Remove pstring from auth/*
Jeremy.
-----------------------------------------------------------------------
Summary of changes:
source/auth/auth_util.c | 52 +++++++++++++++++++++++++++++++++------------
source/auth/pass_check.c | 7 ++++-
2 files changed, 43 insertions(+), 16 deletions(-)
Changeset truncated at 500 lines:
diff --git a/source/auth/auth_util.c b/source/auth/auth_util.c
index 99eea6c..7ef8942 100644
--- a/source/auth/auth_util.c
+++ b/source/auth/auth_util.c
@@ -32,20 +32,44 @@
static int smb_create_user(const char *domain, const char *unix_username, const char *homedir)
{
- pstring add_script;
+ TALLOC_CTX *ctx = talloc_tos();
+ char *add_script;
int ret;
- pstrcpy(add_script, lp_adduser_script());
- if (! *add_script)
+ add_script = talloc_strdup(ctx, lp_adduser_script());
+ if (!add_script || !*add_script) {
return -1;
- all_string_sub(add_script, "%u", unix_username, sizeof(pstring));
- if (domain)
- all_string_sub(add_script, "%D", domain, sizeof(pstring));
- if (homedir)
- all_string_sub(add_script, "%H", homedir, sizeof(pstring));
+ }
+ add_script = talloc_all_string_sub(ctx,
+ add_script,
+ "%u",
+ unix_username);
+ if (!add_script) {
+ return -1;
+ }
+ if (domain) {
+ add_script = talloc_all_string_sub(ctx,
+ add_script,
+ "%D",
+ domain);
+ if (!add_script) {
+ return -1;
+ }
+ }
+ if (homedir) {
+ add_script = talloc_all_string_sub(ctx,
+ add_script,
+ "%H",
+ homedir);
+ if (!add_script) {
+ return -1;
+ }
+ }
ret = smbrun(add_script,NULL);
flush_pwnam_cache();
- DEBUG(ret ? 0 : 3,("smb_create_user: Running the command `%s' gave %d\n",add_script,ret));
+ DEBUG(ret ? 0 : 3,
+ ("smb_create_user: Running the command `%s' gave %d\n",
+ add_script,ret));
return ret;
}
@@ -53,15 +77,15 @@ static int smb_create_user(const char *domain, const char *unix_username, const
Create an auth_usersupplied_data structure
****************************************************************************/
-static NTSTATUS make_user_info(auth_usersupplied_info **user_info,
- const char *smb_name,
+static NTSTATUS make_user_info(auth_usersupplied_info **user_info,
+ const char *smb_name,
const char *internal_username,
- const char *client_domain,
+ const char *client_domain,
const char *domain,
- const char *wksta_name,
+ const char *wksta_name,
DATA_BLOB *lm_pwd, DATA_BLOB *nt_pwd,
DATA_BLOB *lm_interactive_pwd, DATA_BLOB *nt_interactive_pwd,
- DATA_BLOB *plaintext,
+ DATA_BLOB *plaintext,
bool encrypted)
{
diff --git a/source/auth/pass_check.c b/source/auth/pass_check.c
index 8773804..27915bf 100644
--- a/source/auth/pass_check.c
+++ b/source/auth/pass_check.c
@@ -599,7 +599,7 @@ return NT_STATUS_OK on correct match, appropriate error otherwise
NTSTATUS pass_check(const struct passwd *pass, const char *user, const char *password,
int pwlen, bool (*fn) (const char *, const char *), bool run_cracker)
{
- pstring pass2;
+ char *pass2 = NULL;
int level = lp_passwordlevel();
NTSTATUS nt_status;
@@ -758,7 +758,10 @@ NTSTATUS pass_check(const struct passwd *pass, const char *user, const char *pas
}
/* make a copy of it */
- pstrcpy(pass2, password);
+ pass2 = talloc_strdup(talloc_tos(), password);
+ if (!pass2) {
+ return NT_STATUS_NO_MEMORY;
+ }
/* try all lowercase if it's currently all uppercase */
if (strhasupper(pass2)) {
--
Samba Shared Repository
More information about the samba-cvs
mailing list