[SCM] Samba Shared Repository - branch v3-3-test updated -
release-3-2-0pre2-4523-g3e529fb
Günther Deschner
gd at samba.org
Tue Nov 25 14:41:47 GMT 2008
The branch, v3-3-test has been updated
via 3e529fb619384e694e01204ca305e2a13724defd (commit)
via 0e99fe1855c66e9743725d43ba92ec59f35f5b55 (commit)
via ffca48241731d416090215b194da5f8047303329 (commit)
from 7518cbbad3d866253c03d4d080d0880e343499c5 (commit)
http://gitweb.samba.org/?p=samba.git;a=shortlog;h=v3-3-test
- Log -----------------------------------------------------------------
commit 3e529fb619384e694e01204ca305e2a13724defd
Author: Günther Deschner <gd at samba.org>
Date: Fri Nov 21 15:56:30 2008 +0100
s3-libnetjoin: fix build warning.
Guenther
commit 0e99fe1855c66e9743725d43ba92ec59f35f5b55
Author: Günther Deschner <gd at samba.org>
Date: Thu Nov 6 13:37:03 2008 +0100
s3-libnetjoin: try to show a better error message upon invalid configuration.
Guenther
commit ffca48241731d416090215b194da5f8047303329
Author: Günther Deschner <gd at samba.org>
Date: Fri Nov 21 23:28:23 2008 +0100
WHATSNEW: add more items.
Guenther
-----------------------------------------------------------------------
Summary of changes:
WHATSNEW.txt | 2 +
source/libnet/libnet_join.c | 61 +++++++++++++++++++++++++++++++++++--------
2 files changed, 52 insertions(+), 11 deletions(-)
Changeset truncated at 500 lines:
diff --git a/WHATSNEW.txt b/WHATSNEW.txt
index 8321adf..76d8c34 100644
--- a/WHATSNEW.txt
+++ b/WHATSNEW.txt
@@ -231,6 +231,8 @@ o Günther Deschner <gd at samba.org>
parsing
* Fix winbind password change code for Windows 2000 DCs
* Fix PNP_HwProfInfo NDR parsing
+ * Added wbclient wbcLogonUser and wbcLogoffUserEx functions
+ * Automatic home directory creation for pam_winbind
o Dina Fine <dina at exanet.com>
diff --git a/source/libnet/libnet_join.c b/source/libnet/libnet_join.c
index 75aafde..3b6af5e 100644
--- a/source/libnet/libnet_join.c
+++ b/source/libnet/libnet_join.c
@@ -1638,24 +1638,31 @@ WERROR libnet_init_UnjoinCtx(TALLOC_CTX *mem_ctx,
static WERROR libnet_join_check_config(TALLOC_CTX *mem_ctx,
struct libnet_JoinCtx *r)
{
+ bool valid_security = false;
+ bool valid_workgroup = false;
+ bool valid_realm = false;
+
/* check if configuration is already set correctly */
+ valid_workgroup = strequal(lp_workgroup(), r->out.netbios_domain_name);
+
switch (r->out.domain_is_ad) {
case false:
- if ((strequal(lp_workgroup(),
- r->out.netbios_domain_name)) &&
- (lp_security() == SEC_DOMAIN)) {
+ valid_security = (lp_security() == SEC_DOMAIN);
+ if (valid_workgroup && valid_security) {
/* nothing to be done */
return WERR_OK;
}
break;
case true:
- if ((strequal(lp_workgroup(),
- r->out.netbios_domain_name)) &&
- (strequal(lp_realm(),
- r->out.dns_domain_name)) &&
- ((lp_security() == SEC_ADS) ||
- (lp_security() == SEC_DOMAIN))) {
+ valid_realm = strequal(lp_realm(), r->out.dns_domain_name);
+ switch (lp_security()) {
+ case SEC_DOMAIN:
+ case SEC_ADS:
+ valid_security = true;
+ }
+
+ if (valid_workgroup && valid_realm && valid_security) {
/* nothing to be done */
return WERR_OK;
}
@@ -1665,9 +1672,41 @@ static WERROR libnet_join_check_config(TALLOC_CTX *mem_ctx,
/* check if we are supposed to manipulate configuration */
if (!r->in.modify_config) {
+
+ char *wrong_conf = talloc_strdup(mem_ctx, "");
+
+ if (!valid_workgroup) {
+ wrong_conf = talloc_asprintf_append(wrong_conf,
+ "\"workgroup\" set to '%s', should be '%s'",
+ lp_workgroup(), r->out.netbios_domain_name);
+ W_ERROR_HAVE_NO_MEMORY(wrong_conf);
+ }
+
+ if (!valid_realm) {
+ wrong_conf = talloc_asprintf_append(wrong_conf,
+ "\"realm\" set to '%s', should be '%s'",
+ lp_realm(), r->out.dns_domain_name);
+ W_ERROR_HAVE_NO_MEMORY(wrong_conf);
+ }
+
+ if (!valid_security) {
+ const char *sec = NULL;
+ switch (lp_security()) {
+ case SEC_SHARE: sec = "share"; break;
+ case SEC_USER: sec = "user"; break;
+ case SEC_DOMAIN: sec = "domain"; break;
+ case SEC_ADS: sec = "ads"; break;
+ }
+ wrong_conf = talloc_asprintf_append(wrong_conf,
+ "\"security\" set to '%s', should be %s",
+ sec, r->out.domain_is_ad ?
+ "either 'domain' or 'ads'" : "'domain'");
+ W_ERROR_HAVE_NO_MEMORY(wrong_conf);
+ }
+
libnet_join_set_error_string(mem_ctx, r,
- "Invalid configuration and configuration modification "
- "was not requested");
+ "Invalid configuration (%s) and configuration modification "
+ "was not requested", wrong_conf);
return WERR_CAN_NOT_COMPLETE;
}
--
Samba Shared Repository
More information about the samba-cvs
mailing list