[SCM] Samba Shared Repository - branch v3-2-test updated -
initial-v3-2-unstable-602-gd30b945
Günther Deschner
gd at samba.org
Wed Dec 12 00:00:13 GMT 2007
The branch, v3-2-test has been updated
via d30b945e99390761e405492e40c90e84da4fe482 (commit)
via 3f426f394f3b1454c52d92331c14f41dd1474516 (commit)
via bd5308e5f63e4f692761557d0ecdee7226b66a15 (commit)
via 88e9da2f14b41a62bdb478f9ffc2de66643bbf14 (commit)
from 0a3be0aad7220eb97fe39460e20f36c8ae9ce474 (commit)
http://gitweb.samba.org/?p=samba.git;a=shortlog;h=v3-2-test
- Log -----------------------------------------------------------------
commit d30b945e99390761e405492e40c90e84da4fe482
Author: Günther Deschner <gd at samba.org>
Date: Tue Dec 11 17:40:52 2007 +0100
Add lp_include_registry_globals().
Guenther
commit 3f426f394f3b1454c52d92331c14f41dd1474516
Author: Günther Deschner <gd at samba.org>
Date: Tue Dec 11 21:22:04 2007 +0100
Some cleanups for "net dom join".
Guenther
commit bd5308e5f63e4f692761557d0ecdee7226b66a15
Author: Günther Deschner <gd at samba.org>
Date: Wed Dec 12 00:42:22 2007 +0100
Add split_domain_user() (not to mix with winbind variants).
Guenther
commit 88e9da2f14b41a62bdb478f9ffc2de66643bbf14
Author: Günther Deschner <gd at samba.org>
Date: Wed Dec 12 00:44:10 2007 +0100
Make decode_wkssvc_join_password_buffer() return WERRORs.
Guenther
-----------------------------------------------------------------------
Summary of changes:
source/lib/util.c | 24 ++++++++++++++++++++++++
source/libsmb/smbencrypt.c | 19 ++++++++++++++-----
source/param/loadparm.c | 5 +++++
source/utils/net_dom.c | 13 +++++++++----
4 files changed, 52 insertions(+), 9 deletions(-)
Changeset truncated at 500 lines:
diff --git a/source/lib/util.c b/source/lib/util.c
index 19c3e0c..73b035b 100644
--- a/source/lib/util.c
+++ b/source/lib/util.c
@@ -3197,6 +3197,30 @@ int get_safe_IVAL(const char *buf_base, size_t buf_len, char *ptr, size_t off, i
return IVAL(ptr,off);
}
+/****************************************************************
+ Split DOM\user into DOM and user. Do not mix with winbind variants of that
+ call (they take care of winbind separator and other winbind specific settings).
+****************************************************************/
+
+void split_domain_user(TALLOC_CTX *mem_ctx,
+ const char *full_name,
+ char **domain,
+ char **user)
+{
+ const char *p = NULL;
+
+ p = strchr_m(full_name, '\\');
+
+ if (p != NULL) {
+ *domain = talloc_strndup(mem_ctx, full_name,
+ PTR_DIFF(p, full_name));
+ *user = talloc_strdup(mem_ctx, p+1);
+ } else {
+ *domain = talloc_strdup(mem_ctx, "");
+ *user = talloc_strdup(mem_ctx, full_name);
+ }
+}
+
#if 0
Disable these now we have checked all code paths and ensured
diff --git a/source/libsmb/smbencrypt.c b/source/libsmb/smbencrypt.c
index 8793fdc..9e37d1d 100644
--- a/source/libsmb/smbencrypt.c
+++ b/source/libsmb/smbencrypt.c
@@ -731,10 +731,10 @@ void encode_wkssvc_join_password_buffer(TALLOC_CTX *mem_ctx,
data_blob_free(&confounded_session_key);
}
-void decode_wkssvc_join_password_buffer(TALLOC_CTX *mem_ctx,
- struct wkssvc_PasswordBuffer *pwd_buf,
- DATA_BLOB *session_key,
- char **pwd)
+WERROR decode_wkssvc_join_password_buffer(TALLOC_CTX *mem_ctx,
+ struct wkssvc_PasswordBuffer *pwd_buf,
+ DATA_BLOB *session_key,
+ char **pwd)
{
uint8_t buffer[516];
struct MD5Context ctx;
@@ -745,6 +745,11 @@ void decode_wkssvc_join_password_buffer(TALLOC_CTX *mem_ctx,
int confounder_len = 8;
uint8_t confounder[8];
+ if (session_key->length != 16) {
+ DEBUG(10,("invalid session key\n"));
+ return WERR_BAD_PASSWORD;
+ }
+
memcpy(&confounder, &pwd_buf->data[0], confounder_len);
memcpy(&buffer, &pwd_buf->data[8], 516);
@@ -755,7 +760,11 @@ void decode_wkssvc_join_password_buffer(TALLOC_CTX *mem_ctx,
SamOEMhashBlob(buffer, 516, &confounded_session_key);
- decode_pw_buffer(mem_ctx, buffer, pwd, &pwd_len, STR_UNICODE);
+ if (!decode_pw_buffer(mem_ctx, buffer, pwd, &pwd_len, STR_UNICODE)) {
+ return WERR_BAD_PASSWORD;
+ }
data_blob_free(&confounded_session_key);
+
+ return WERR_OK;
}
diff --git a/source/param/loadparm.c b/source/param/loadparm.c
index e676edf..881bcec 100644
--- a/source/param/loadparm.c
+++ b/source/param/loadparm.c
@@ -3629,6 +3629,11 @@ static void add_to_file_list(const char *fname, const char *subfname)
}
}
+bool lp_include_registry_globals(void)
+{
+ return include_registry_globals;
+}
+
/*******************************************************************
Check if a config file has changed date.
********************************************************************/
diff --git a/source/utils/net_dom.c b/source/utils/net_dom.c
index dc6bfb0..fd386c9 100644
--- a/source/utils/net_dom.c
+++ b/source/utils/net_dom.c
@@ -59,7 +59,9 @@ static int net_dom_unjoin(int argc, const char **argv)
return net_dom_usage(argc, argv);
}
- server_name = opt_host;
+ if (opt_host) {
+ server_name = opt_host;
+ }
for (i=0; i<argc; i++) {
if (strnequal(argv[i], "account", strlen("account"))) {
@@ -142,7 +144,9 @@ static int net_dom_join(int argc, const char **argv)
return net_dom_usage(argc, argv);
}
- server_name = opt_host;
+ if (opt_host) {
+ server_name = opt_host;
+ }
if (opt_force) {
join_flags |= WKSSVC_JOIN_FLAGS_DOMAIN_JOIN_IF_JOINED;
@@ -191,8 +195,9 @@ static int net_dom_join(int argc, const char **argv)
werr = NetJoinDomain(server_name, domain_name, account_ou,
Account, password, join_flags);
if (!W_ERROR_IS_OK(werr)) {
- printf("Failed to join domain: %s\n",
- get_friendly_nt_error_msg(werror_to_ntstatus(werr)));
+ printf("Failed to join domain: %s (WERROR: %s)\n",
+ get_friendly_nt_error_msg(werror_to_ntstatus(werr)),
+ dos_errstr(werr));
goto done;
}
--
Samba Shared Repository
More information about the samba-cvs
mailing list