[SCM] Samba Shared Repository - branch v4-8-test updated
Karolin Seeger
kseeger at samba.org
Mon Jun 4 12:32:03 UTC 2018
The branch, v4-8-test has been updated
via 68999b8 lib/util: Call log_stack_trace() in smb_panic_default()
via 5733e90 lib/util: Move log_stack_trace() to common code
via d14cd61 lib/util: Log PANIC before calling pacic action just like s3
via 8f01d94 s3-lib: Remove support for libexc for IRIX backtraces
via 9c794a2 s3:utils: Do not segfault on error in DoDNSUpdate()
via 9cb6459 auth/ntlmssp: fix handling of GENSEC_FEATURE_LDAP_STYLE as a server
via 7faa201 s4:selftest: run test_ldb_simple.sh with more auth options
via e153636 auth/ntlmssp: add ntlmssp_client:ldap_style_send_seal option
from 2fb77a2 libgpo: Fix the build --without-ads
https://git.samba.org/?p=samba.git;a=shortlog;h=v4-8-test
- Log -----------------------------------------------------------------
commit 68999b8e6d1e887761e2ad3cf94ca3419719bac5
Author: Andrew Bartlett <abartlet at samba.org>
Date: Tue Apr 10 16:37:45 2018 +1200
lib/util: Call log_stack_trace() in smb_panic_default()
This matches the AD DC with the behaviour in smbd.
Signed-off-by: Andrew Bartlett <abartlet at samba.org>
Reviewed-by: Jeremy Allison <jra at samba.org>
BUG: https://bugzilla.samba.org/show_bug.cgi?id=13454
Autobuild-User(master): Jeremy Allison <jra at samba.org>
Autobuild-Date(master): Wed Apr 11 04:03:07 CEST 2018 on sn-devel-144
(cherry picked from commit 462eb4a44cc51dc17aebbcd5c609c9ff7f088554)
Autobuild-User(v4-8-test): Karolin Seeger <kseeger at samba.org>
Autobuild-Date(v4-8-test): Mon Jun 4 14:30:55 CEST 2018 on sn-devel-144
commit 5733e906fa3a55b7676d2229ed322777f94229d3
Author: Andrew Bartlett <abartlet at samba.org>
Date: Tue Apr 10 16:35:07 2018 +1200
lib/util: Move log_stack_trace() to common code
Signed-off-by: Andrew Bartlett <abartlet at samba.org>
Reviewed-by: Jeremy Allison <jra at samba.org>
BUG: https://bugzilla.samba.org/show_bug.cgi?id=13454
(cherry picked from commit bf9551902afdb32310db4a3381964c435dd08bf0)
commit d14cd61f45564b0a85a1946eb0e39fac02fa227d
Author: Andrew Bartlett <abartlet at samba.org>
Date: Tue Apr 10 16:06:12 2018 +1200
lib/util: Log PANIC before calling pacic action just like s3
This is like the changes made in s3 by
4fa555980070d78b39711ef21d77628d26055bc2
Signed-off-by: Andrew Bartlett <abartlet at samba.org>
Reviewed-by: Jeremy Allison <jra at samba.org>
BUG: https://bugzilla.samba.org/show_bug.cgi?id=13454
(cherry picked from commit 3acc00b6808d5d5ad035d9d43526204db1608c8a)
commit 8f01d946b49730b40481804b2c60cc0b105c458c
Author: Andrew Bartlett <abartlet at samba.org>
Date: Tue Apr 10 15:54:10 2018 +1200
s3-lib: Remove support for libexc for IRIX backtraces
IRIX is long dead, and this code needs become_root() which is not in
the top level code.
Additionally, the check for libexc never made it into waf, so this
has been dead code since Samba 4.1.
Signed-off-by: Andrew Bartlett <abartlet at samba.org>
Reviewed-by: Jeremy Allison <jra at samba.org>
BUG: https://bugzilla.samba.org/show_bug.cgi?id=13454
(cherry picked from commit 85dc9ee14023a8fb84b5c74555d43008bb6bb0c0)
commit 9c794a21b1fd845bd63543c88a9a23c07aca72ef
Author: Andreas Schneider <asn at samba.org>
Date: Thu May 17 11:53:18 2018 +0200
s3:utils: Do not segfault on error in DoDNSUpdate()
BUG: https://bugzilla.samba.org/show_bug.cgi?id=13440
Signed-off-by: Andreas Schneider <asn at samba.org>
Reviewed-by: Volker Lendecke <vl at samba.org>
(cherry picked from commit cdd98aa1e2116fb97e16718d115ee883fe1bc8ba)
commit 9cb645981ca5176a2f64b2a30313871a6b724dc4
Author: Stefan Metzmacher <metze at samba.org>
Date: Mon May 7 14:50:27 2018 +0200
auth/ntlmssp: fix handling of GENSEC_FEATURE_LDAP_STYLE as a server
This fixes "NTLMSSP NTLM2 packet check failed due to invalid signature!"
error messages, which were generated if the client only sends
NTLMSSP_NEGOTIATE_SIGN without NTLMSSP_NEGOTIATE_SEAL on an LDAP
connection.
This fixes a regession in the combination of commits
77adac8c3cd2f7419894d18db735782c9646a202 and
3a0b835408a6efa339e8b34333906bfe3aacd6e3.
We need to evaluate GENSEC_FEATURE_LDAP_STYLE at the end
of the authentication (as a server, while we already
do so at the beginning as a client).
As a reminder I introduced GENSEC_FEATURE_LDAP_STYLE
(as an internal flag) in order to let us work as a
Windows using NTLMSSP for LDAP. Even if only signing is
negotiated during the authentication the following PDUs
will still be encrypted if NTLMSSP is used. This is exactly the
same as if the client would have negotiated NTLMSSP_NEGOTIATE_SEAL.
I guess it's a bug in Windows, but we have to reimplement that
bug. Note this only applies to NTLMSSP and only to LDAP!
Signing only works fine for LDAP with Kerberos
or DCERPC and NTLMSSP.
Bug: https://bugzilla.samba.org/show_bug.cgi?id=13427
Signed-off-by: Stefan Metzmacher <metze at samba.org>
Reviewed-by: Andrew Bartlett <abartlet at samba.org>
Autobuild-User(master): Andrew Bartlett <abartlet at samba.org>
Autobuild-Date(master): Wed May 16 03:26:03 CEST 2018 on sn-devel-144
(cherry picked from commit c7a3ce95ac4ce837d8fde36578b3b1f56c3ac2fa)
commit 7faa201daf4a716caeb1c5753bd507589a4dd550
Author: Stefan Metzmacher <metze at samba.org>
Date: Wed May 9 13:33:05 2018 +0200
s4:selftest: run test_ldb_simple.sh with more auth options
This demonstrates the broken GENSEC_FEATURE_LDAP_STYLE
handling in our LDAP server.
Bug: https://bugzilla.samba.org/show_bug.cgi?id=13427
Signed-off-by: Stefan Metzmacher <metze at samba.org>
Reviewed-by: Andrew Bartlett <abartlet at samba.org>
(cherry picked from commit fc1c5bd3be2c3f90eab2f31e43cf053f7ff13782)
commit e153636f1af2139e3a87e054a85ff94296cb0c0b
Author: Stefan Metzmacher <metze at samba.org>
Date: Wed May 9 13:30:13 2018 +0200
auth/ntlmssp: add ntlmssp_client:ldap_style_send_seal option
This will be used to similate a Windows client only
using NTLMSSP_NEGOTIATE_SIGN without NTLMSSP_NEGOTIATE_SEAL
on an LDAP connection, which is indicated internally by
GENSEC_FEATURE_LDAP_STYLE.
Bug: https://bugzilla.samba.org/show_bug.cgi?id=13427
Signed-off-by: Stefan Metzmacher <metze at samba.org>
Reviewed-by: Andrew Bartlett <abartlet at samba.org>
(cherry picked from commit 7f2bebf09cd8056b3f901dd9ff1fc9e9525f3e9d)
-----------------------------------------------------------------------
Summary of changes:
auth/ntlmssp/gensec_ntlmssp_server.c | 19 -----
auth/ntlmssp/ntlmssp_client.c | 24 ++++--
auth/ntlmssp/ntlmssp_server.c | 8 ++
lib/util/fault.c | 107 ++++++++++++++++++++++++++-
lib/util/fault.h | 1 +
lib/util/wscript_configure | 1 +
source3/include/local.h | 3 -
source3/include/proto.h | 1 -
source3/lib/util.c | 139 -----------------------------------
source3/utils/net_dns.c | 1 +
source3/wscript | 2 +-
source4/selftest/tests.py | 7 ++
12 files changed, 142 insertions(+), 171 deletions(-)
Changeset truncated at 500 lines:
diff --git a/auth/ntlmssp/gensec_ntlmssp_server.c b/auth/ntlmssp/gensec_ntlmssp_server.c
index c0e6cff..ab92f4d 100644
--- a/auth/ntlmssp/gensec_ntlmssp_server.c
+++ b/auth/ntlmssp/gensec_ntlmssp_server.c
@@ -179,25 +179,6 @@ NTSTATUS gensec_ntlmssp_server_start(struct gensec_security *gensec_security)
ntlmssp_state->neg_flags |= NTLMSSP_NEGOTIATE_SIGN;
ntlmssp_state->neg_flags |= NTLMSSP_NEGOTIATE_SEAL;
- if (gensec_security->want_features & GENSEC_FEATURE_SESSION_KEY) {
- ntlmssp_state->neg_flags |= NTLMSSP_NEGOTIATE_SIGN;
- }
- if (gensec_security->want_features & GENSEC_FEATURE_SIGN) {
- ntlmssp_state->neg_flags |= NTLMSSP_NEGOTIATE_SIGN;
-
- if (gensec_security->want_features & GENSEC_FEATURE_LDAP_STYLE) {
- /*
- * We need to handle NTLMSSP_NEGOTIATE_SIGN as
- * NTLMSSP_NEGOTIATE_SEAL if GENSEC_FEATURE_LDAP_STYLE
- * is requested.
- */
- ntlmssp_state->force_wrap_seal = true;
- }
- }
- if (gensec_security->want_features & GENSEC_FEATURE_SEAL) {
- ntlmssp_state->neg_flags |= NTLMSSP_NEGOTIATE_SIGN;
- ntlmssp_state->neg_flags |= NTLMSSP_NEGOTIATE_SEAL;
- }
if (role == ROLE_STANDALONE) {
ntlmssp_state->server.is_standalone = true;
diff --git a/auth/ntlmssp/ntlmssp_client.c b/auth/ntlmssp/ntlmssp_client.c
index db2003f..54fda41 100644
--- a/auth/ntlmssp/ntlmssp_client.c
+++ b/auth/ntlmssp/ntlmssp_client.c
@@ -865,13 +865,23 @@ NTSTATUS gensec_ntlmssp_client_start(struct gensec_security *gensec_security)
* is requested.
*/
ntlmssp_state->force_wrap_seal = true;
- /*
- * We want also work against old Samba servers
- * which didn't had GENSEC_FEATURE_LDAP_STYLE
- * we negotiate SEAL too. We may remove this
- * in a few years. As all servers should have
- * GENSEC_FEATURE_LDAP_STYLE by then.
- */
+ }
+ }
+ if (ntlmssp_state->force_wrap_seal) {
+ bool ret;
+
+ /*
+ * We want also work against old Samba servers
+ * which didn't had GENSEC_FEATURE_LDAP_STYLE
+ * we negotiate SEAL too. We may remove this
+ * in a few years. As all servers should have
+ * GENSEC_FEATURE_LDAP_STYLE by then.
+ */
+ ret = gensec_setting_bool(gensec_security->settings,
+ "ntlmssp_client",
+ "ldap_style_send_seal",
+ true);
+ if (ret) {
ntlmssp_state->required_flags |= NTLMSSP_NEGOTIATE_SEAL;
}
}
diff --git a/auth/ntlmssp/ntlmssp_server.c b/auth/ntlmssp/ntlmssp_server.c
index 37ed2bc..140e89d 100644
--- a/auth/ntlmssp/ntlmssp_server.c
+++ b/auth/ntlmssp/ntlmssp_server.c
@@ -1080,6 +1080,14 @@ static NTSTATUS ntlmssp_server_postauth(struct gensec_security *gensec_security,
data_blob_free(&ntlmssp_state->challenge_blob);
if (gensec_ntlmssp_have_feature(gensec_security, GENSEC_FEATURE_SIGN)) {
+ if (gensec_security->want_features & GENSEC_FEATURE_LDAP_STYLE) {
+ /*
+ * We need to handle NTLMSSP_NEGOTIATE_SIGN as
+ * NTLMSSP_NEGOTIATE_SEAL if GENSEC_FEATURE_LDAP_STYLE
+ * is requested.
+ */
+ ntlmssp_state->force_wrap_seal = true;
+ }
nt_status = ntlmssp_sign_init(ntlmssp_state);
}
diff --git a/lib/util/fault.c b/lib/util/fault.c
index 54d8471..1b56361 100644
--- a/lib/util/fault.c
+++ b/lib/util/fault.c
@@ -3,6 +3,7 @@
Critical Fault handling
Copyright (C) Andrew Tridgell 1992-1998
Copyright (C) Tim Prouty 2009
+ Copyright (C) James Peach 2006
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -123,6 +124,10 @@ _PUBLIC_ const char *panic_action = NULL;
static void smb_panic_default(const char *why) _NORETURN_;
static void smb_panic_default(const char *why)
{
+ DBG_ERR("PANIC (pid %llu): %s\n",
+ (unsigned long long)getpid(), why);
+ log_stack_trace();
+
#if defined(HAVE_PRCTL) && defined(PR_SET_PTRACER)
/*
* Make sure all children can attach a debugger.
@@ -148,7 +153,6 @@ static void smb_panic_default(const char *why)
WEXITSTATUS(result)));
}
}
- DEBUG(0,("PANIC: %s\n", why));
#ifdef SIGABRT
CatchSignal(SIGABRT, SIG_DFL);
@@ -168,3 +172,104 @@ _PUBLIC_ void smb_panic(const char *why)
}
smb_panic_default(why);
}
+
+/*******************************************************************
+ Print a backtrace of the stack to the debug log. This function
+ DELIBERATELY LEAKS MEMORY. The expectation is that you should
+ exit shortly after calling it.
+********************************************************************/
+
+/* Buffer size to use when printing backtraces */
+#define BACKTRACE_STACK_SIZE 64
+
+
+#ifdef HAVE_LIBUNWIND_H
+#include <libunwind.h>
+#endif
+
+#ifdef HAVE_EXECINFO_H
+#include <execinfo.h>
+#endif
+
+void log_stack_trace(void)
+{
+#ifdef HAVE_LIBUNWIND
+ /* Try to use libunwind before any other technique since on ia64
+ * libunwind correctly walks the stack in more circumstances than
+ * backtrace.
+ */
+ unw_cursor_t cursor;
+ unw_context_t uc;
+ unsigned i = 0;
+
+ char procname[256];
+ unw_word_t ip, sp, off;
+
+ procname[sizeof(procname) - 1] = '\0';
+
+ if (unw_getcontext(&uc) != 0) {
+ goto libunwind_failed;
+ }
+
+ if (unw_init_local(&cursor, &uc) != 0) {
+ goto libunwind_failed;
+ }
+
+ DEBUG(0, ("BACKTRACE:\n"));
+
+ do {
+ ip = sp = 0;
+ unw_get_reg(&cursor, UNW_REG_IP, &ip);
+ unw_get_reg(&cursor, UNW_REG_SP, &sp);
+
+ switch (unw_get_proc_name(&cursor,
+ procname, sizeof(procname) - 1, &off) ) {
+ case 0:
+ /* Name found. */
+ case -UNW_ENOMEM:
+ /* Name truncated. */
+ DEBUGADD(0, (" #%u %s + %#llx [ip=%#llx] [sp=%#llx]\n",
+ i, procname, (long long)off,
+ (long long)ip, (long long) sp));
+ break;
+ default:
+ /* case -UNW_ENOINFO: */
+ /* case -UNW_EUNSPEC: */
+ /* No symbol name found. */
+ DEBUGADD(0, (" #%u %s [ip=%#llx] [sp=%#llx]\n",
+ i, "<unknown symbol>",
+ (long long)ip, (long long) sp));
+ }
+ ++i;
+ } while (unw_step(&cursor) > 0);
+
+ return;
+
+libunwind_failed:
+ DEBUG(0, ("unable to produce a stack trace with libunwind\n"));
+
+#elif HAVE_BACKTRACE_SYMBOLS
+ void *backtrace_stack[BACKTRACE_STACK_SIZE];
+ size_t backtrace_size;
+ char **backtrace_strings;
+
+ /* get the backtrace (stack frames) */
+ backtrace_size = backtrace(backtrace_stack,BACKTRACE_STACK_SIZE);
+ backtrace_strings = backtrace_symbols(backtrace_stack, backtrace_size);
+
+ DEBUG(0, ("BACKTRACE: %lu stack frames:\n",
+ (unsigned long)backtrace_size));
+
+ if (backtrace_strings) {
+ int i;
+
+ for (i = 0; i < backtrace_size; i++)
+ DEBUGADD(0, (" #%u %s\n", i, backtrace_strings[i]));
+
+ /* Leak the backtrace_strings, rather than risk what free() might do */
+ }
+
+#else
+ DEBUG(0, ("unable to produce a stack trace on this platform\n"));
+#endif
+}
diff --git a/lib/util/fault.h b/lib/util/fault.h
index 0ac6cb9..dfa339b 100644
--- a/lib/util/fault.h
+++ b/lib/util/fault.h
@@ -53,5 +53,6 @@ void fault_setup(void);
void fault_setup_disable(void);
_NORETURN_ void smb_panic(const char *reason);
+void log_stack_trace(void);
#endif /* _SAMBA_FAULT_H_ */
diff --git a/lib/util/wscript_configure b/lib/util/wscript_configure
index 8e5a59c..2a8dbef 100644
--- a/lib/util/wscript_configure
+++ b/lib/util/wscript_configure
@@ -6,6 +6,7 @@ if Options.options.disable_fault_handling:
# backtrace could be in libexecinfo or in libc
conf.CHECK_FUNCS_IN('backtrace backtrace_symbols', 'execinfo', checklibc=True, headers='execinfo.h')
+conf.CHECK_HEADERS('execinfo.h libunwind.h')
conf.CHECK_STRUCTURE_MEMBER('struct statvfs', 'f_frsize', define='HAVE_FRSIZE', headers='sys/statvfs.h')
diff --git a/source3/include/local.h b/source3/include/local.h
index 7f97d4e..c2be1ff 100644
--- a/source3/include/local.h
+++ b/source3/include/local.h
@@ -172,9 +172,6 @@
/* Number in seconds for winbindd to wait for the mutex. Make this 2 * smbd wait time. */
#define WINBIND_SERVER_MUTEX_WAIT_TIME (( ((NUM_CLI_AUTH_CONNECT_RETRIES) * ((CLI_AUTH_TIMEOUT)/1000)) + 5)*2)
-/* Buffer size to use when printing backtraces */
-#define BACKTRACE_STACK_SIZE 64
-
/* size of listen() backlog in smbd */
#define SMBD_LISTEN_BACKLOG 50
diff --git a/source3/include/proto.h b/source3/include/proto.h
index fa87407..2bc5ab2 100644
--- a/source3/include/proto.h
+++ b/source3/include/proto.h
@@ -356,7 +356,6 @@ char *gidtoname(gid_t gid);
uid_t nametouid(const char *name);
gid_t nametogid(const char *name);
void smb_panic_s3(const char *why);
-void log_stack_trace(void);
const char *readdirname(DIR *p);
bool is_in_path(const char *name, name_compare_entry *namelist, bool case_sensitive);
void set_namearray(name_compare_entry **ppname_array, const char *namelist);
diff --git a/source3/lib/util.c b/source3/lib/util.c
index ae9fe71..5f786f9 100644
--- a/source3/lib/util.c
+++ b/source3/lib/util.c
@@ -839,145 +839,6 @@ void smb_panic_s3(const char *why)
}
/*******************************************************************
- Print a backtrace of the stack to the debug log. This function
- DELIBERATELY LEAKS MEMORY. The expectation is that you should
- exit shortly after calling it.
-********************************************************************/
-
-#ifdef HAVE_LIBUNWIND_H
-#include <libunwind.h>
-#endif
-
-#ifdef HAVE_EXECINFO_H
-#include <execinfo.h>
-#endif
-
-#ifdef HAVE_LIBEXC_H
-#include <libexc.h>
-#endif
-
-void log_stack_trace(void)
-{
-#ifdef HAVE_LIBUNWIND
- /* Try to use libunwind before any other technique since on ia64
- * libunwind correctly walks the stack in more circumstances than
- * backtrace.
- */
- unw_cursor_t cursor;
- unw_context_t uc;
- unsigned i = 0;
-
- char procname[256];
- unw_word_t ip, sp, off;
-
- procname[sizeof(procname) - 1] = '\0';
-
- if (unw_getcontext(&uc) != 0) {
- goto libunwind_failed;
- }
-
- if (unw_init_local(&cursor, &uc) != 0) {
- goto libunwind_failed;
- }
-
- DEBUG(0, ("BACKTRACE:\n"));
-
- do {
- ip = sp = 0;
- unw_get_reg(&cursor, UNW_REG_IP, &ip);
- unw_get_reg(&cursor, UNW_REG_SP, &sp);
-
- switch (unw_get_proc_name(&cursor,
- procname, sizeof(procname) - 1, &off) ) {
- case 0:
- /* Name found. */
- case -UNW_ENOMEM:
- /* Name truncated. */
- DEBUGADD(0, (" #%u %s + %#llx [ip=%#llx] [sp=%#llx]\n",
- i, procname, (long long)off,
- (long long)ip, (long long) sp));
- break;
- default:
- /* case -UNW_ENOINFO: */
- /* case -UNW_EUNSPEC: */
- /* No symbol name found. */
- DEBUGADD(0, (" #%u %s [ip=%#llx] [sp=%#llx]\n",
- i, "<unknown symbol>",
- (long long)ip, (long long) sp));
- }
- ++i;
- } while (unw_step(&cursor) > 0);
-
- return;
-
-libunwind_failed:
- DEBUG(0, ("unable to produce a stack trace with libunwind\n"));
-
-#elif HAVE_BACKTRACE_SYMBOLS
- void *backtrace_stack[BACKTRACE_STACK_SIZE];
- size_t backtrace_size;
- char **backtrace_strings;
-
- /* get the backtrace (stack frames) */
- backtrace_size = backtrace(backtrace_stack,BACKTRACE_STACK_SIZE);
- backtrace_strings = backtrace_symbols(backtrace_stack, backtrace_size);
-
- DEBUG(0, ("BACKTRACE: %lu stack frames:\n",
- (unsigned long)backtrace_size));
-
- if (backtrace_strings) {
- int i;
-
- for (i = 0; i < backtrace_size; i++)
- DEBUGADD(0, (" #%u %s\n", i, backtrace_strings[i]));
-
- /* Leak the backtrace_strings, rather than risk what free() might do */
- }
-
-#elif HAVE_LIBEXC
-
- /* The IRIX libexc library provides an API for unwinding the stack. See
- * libexc(3) for details. Apparantly trace_back_stack leaks memory, but
- * since we are about to abort anyway, it hardly matters.
- */
-
-#define NAMESIZE 32 /* Arbitrary */
-
- __uint64_t addrs[BACKTRACE_STACK_SIZE];
- char * names[BACKTRACE_STACK_SIZE];
- char namebuf[BACKTRACE_STACK_SIZE * NAMESIZE];
-
- int i;
- int levels;
-
- ZERO_ARRAY(addrs);
- ZERO_ARRAY(names);
- ZERO_ARRAY(namebuf);
-
- /* We need to be root so we can open our /proc entry to walk
- * our stack. It also helps when we want to dump core.
- */
- become_root();
-
- for (i = 0; i < BACKTRACE_STACK_SIZE; i++) {
- names[i] = namebuf + (i * NAMESIZE);
- }
-
- levels = trace_back_stack(0, addrs, names,
- BACKTRACE_STACK_SIZE, NAMESIZE - 1);
-
- DEBUG(0, ("BACKTRACE: %d stack frames:\n", levels));
- for (i = 0; i < levels; i++) {
- DEBUGADD(0, (" #%d 0x%llx %s\n", i, addrs[i], names[i]));
- }
-#undef NAMESIZE
-
-#else
- DEBUG(0, ("unable to produce a stack trace on this platform\n"));
-#endif
-}
-
-/*******************************************************************
A readdir wrapper which just returns the file name.
********************************************************************/
diff --git a/source3/utils/net_dns.c b/source3/utils/net_dns.c
index d972a5d..9ee856c 100644
--- a/source3/utils/net_dns.c
+++ b/source3/utils/net_dns.c
@@ -75,6 +75,7 @@ DNS_ERROR DoDNSUpdate(char *pszServerName,
if (!ERR_DNS_IS_OK(err)) {
DEBUG(3,("DoDNSUpdate: failed to probe DNS\n"));
+ goto error;
}
if ((dns_response_code(resp->flags) == DNS_NO_ERROR) &&
diff --git a/source3/wscript b/source3/wscript
index 48a9271..763b4bd 100644
--- a/source3/wscript
+++ b/source3/wscript
@@ -96,7 +96,7 @@ def configure(conf):
# We crash without vfs_default
required_static_modules.extend(TO_LIST('vfs_default'))
- conf.CHECK_HEADERS('execinfo.h libexc.h libunwind.h netdb.h')
+ conf.CHECK_HEADERS('netdb.h')
conf.CHECK_HEADERS('linux/falloc.h linux/ioctl.h')
conf.CHECK_FUNCS('getcwd fchown chmod fchmod mknod')
diff --git a/source4/selftest/tests.py b/source4/selftest/tests.py
index 621a613..226617f 100755
--- a/source4/selftest/tests.py
+++ b/source4/selftest/tests.py
@@ -116,6 +116,13 @@ for env in ["ad_dc_ntvfs", "fl2008r2dc", "fl2003dc"]:
'--option=clientldapsaslwrapping=plain',
'--sign',
'--encrypt',
+ '-k yes --option=clientldapsaslwrapping=plain',
+ '-k yes --sign',
+ '-k yes --encrypt',
+ '-k no --option=clientldapsaslwrapping=plain',
+ '-k no --sign --option=ntlmssp_client:ldap_style_send_seal=no',
+ '-k no --sign',
+ '-k no --encrypt',
]
for auth_option in auth_options:
--
Samba Shared Repository
More information about the samba-cvs
mailing list