Skip to content

Commits on Source 396

296 additional commits have been omitted to prevent performance issues.
......@@ -25,7 +25,7 @@
########################################################
SAMBA_VERSION_MAJOR=4
SAMBA_VERSION_MINOR=10
SAMBA_VERSION_RELEASE=0
SAMBA_VERSION_RELEASE=7
########################################################
# If a official release has a serious bug #
......
This diff is collapsed.
......@@ -1115,7 +1115,7 @@ _PUBLIC_ void cli_credentials_get_ntlm_username_domain(struct cli_credentials *c
const char **username,
const char **domain)
{
if (cred->principal_obtained > cred->username_obtained) {
if (cred->principal_obtained >= cred->username_obtained) {
*domain = talloc_strdup(mem_ctx, "");
*username = cli_credentials_get_principal(cred, mem_ctx);
} else {
......
......@@ -342,6 +342,22 @@ NTSTATUS ntlmssp_client_challenge(struct gensec_security *gensec_security,
}
}
if (DEBUGLEVEL >= 10) {
struct CHALLENGE_MESSAGE *challenge =
talloc(ntlmssp_state, struct CHALLENGE_MESSAGE);
if (challenge != NULL) {
NTSTATUS status;
challenge->NegotiateFlags = chal_flags;
status = ntlmssp_pull_CHALLENGE_MESSAGE(
&in, challenge, challenge);
if (NT_STATUS_IS_OK(status)) {
NDR_PRINT_DEBUG(CHALLENGE_MESSAGE,
challenge);
}
TALLOC_FREE(challenge);
}
}
if (chal_flags & NTLMSSP_TARGET_TYPE_SERVER) {
ntlmssp_state->server.is_standalone = true;
} else {
......@@ -702,6 +718,22 @@ NTSTATUS ntlmssp_client_challenge(struct gensec_security *gensec_security,
return nt_status;
}
if (DEBUGLEVEL >= 10) {
struct AUTHENTICATE_MESSAGE *authenticate =
talloc(ntlmssp_state, struct AUTHENTICATE_MESSAGE);
if (authenticate != NULL) {
NTSTATUS status;
authenticate->NegotiateFlags = ntlmssp_state->neg_flags;
status = ntlmssp_pull_AUTHENTICATE_MESSAGE(
out, authenticate, authenticate);
if (NT_STATUS_IS_OK(status)) {
NDR_PRINT_DEBUG(AUTHENTICATE_MESSAGE,
authenticate);
}
TALLOC_FREE(authenticate);
}
}
/*
* We always include the MIC, even without:
* av_flags->Value.AvFlags |= NTLMSSP_AVFLAG_MIC_IN_AUTHENTICATE_MESSAGE;
......
......@@ -32,7 +32,7 @@ POSSIBILITY OF SUCH DAMAGE.
import os, sys, inspect
VERSION="2.0.8"
VERSION="2.0.17"
REVISION="x"
GIT="x"
INSTALL="x"
......
# Samba automatic dependency handling and project rules
import os, sys, re, time
import os, sys, re
from waflib import Build, Options, Logs, Utils, Errors
from waflib.Logs import debug
......@@ -1102,8 +1102,7 @@ def check_project_rules(bld):
if not force_project_rules and load_samba_deps(bld, tgt_list):
return
global tstart
tstart = time.clock()
timer = Utils.Timer()
bld.new_rules = True
Logs.info("Checking project rules ...")
......@@ -1112,26 +1111,26 @@ def check_project_rules(bld):
expand_subsystem_deps(bld)
debug("deps: expand_subsystem_deps: %f" % (time.clock() - tstart))
debug("deps: expand_subsystem_deps: %s" % str(timer))
replace_grouping_libraries(bld, tgt_list)
debug("deps: replace_grouping_libraries: %f" % (time.clock() - tstart))
debug("deps: replace_grouping_libraries: %s" % str(timer))
build_direct_deps(bld, tgt_list)
debug("deps: build_direct_deps: %f" % (time.clock() - tstart))
debug("deps: build_direct_deps: %s" % str(timer))
break_dependency_loops(bld, tgt_list)
debug("deps: break_dependency_loops: %f" % (time.clock() - tstart))
debug("deps: break_dependency_loops: %s" % str(timer))
if Options.options.SHOWDEPS:
show_dependencies(bld, Options.options.SHOWDEPS, set())
calculate_final_deps(bld, tgt_list, loops)
debug("deps: calculate_final_deps: %f" % (time.clock() - tstart))
debug("deps: calculate_final_deps: %s" % str(timer))
if Options.options.SHOW_DUPLICATES:
show_object_duplicates(bld, tgt_list)
......@@ -1140,7 +1139,7 @@ def check_project_rules(bld):
for f in [ build_dependencies, build_includes, add_init_functions ]:
debug('deps: project rules checking %s', f)
for t in tgt_list: f(t)
debug("deps: %s: %f" % (f, time.clock() - tstart))
debug("deps: %s: %s" % (f, str(timer)))
debug('deps: project rules stage1 completed')
......@@ -1148,17 +1147,17 @@ def check_project_rules(bld):
Logs.error("Duplicate sources present - aborting")
sys.exit(1)
debug("deps: check_duplicate_sources: %f" % (time.clock() - tstart))
debug("deps: check_duplicate_sources: %s" % str(timer))
if not bld.check_group_ordering(tgt_list):
Logs.error("Bad group ordering - aborting")
sys.exit(1)
debug("deps: check_group_ordering: %f" % (time.clock() - tstart))
debug("deps: check_group_ordering: %s" % str(timer))
show_final_deps(bld, tgt_list)
debug("deps: show_final_deps: %f" % (time.clock() - tstart))
debug("deps: show_final_deps: %s" % str(timer))
debug('deps: project rules checking completed - %u targets checked',
len(tgt_list))
......@@ -1166,7 +1165,7 @@ def check_project_rules(bld):
if not bld.is_install:
save_samba_deps(bld, tgt_list)
debug("deps: save_samba_deps: %f" % (time.clock() - tstart))
debug("deps: save_samba_deps: %s" % str(timer))
Logs.info("Project rules pass")
......
......@@ -37,7 +37,7 @@ LIB_PATH="shared"
os.environ['PYTHONUNBUFFERED'] = '1'
if Context.HEXVERSION not in (0x2000800,):
if Context.HEXVERSION not in (0x2001100,):
Logs.error('''
Please use the version of waf that comes with Samba, not
a system installed version. See http://wiki.samba.org/index.php/Waf
......
......@@ -27,7 +27,6 @@ tests/takeover/ctdb_takeover.pyc
tests/eventscripts/var
tests/eventscripts/etc/iproute2
tests/eventscripts/etc-ctdb/policy_routing
include/ctdb_version.h
packaging/RPM/ctdb.spec
doc/*.[1-7]
doc/*.[1-7].html
......@@ -117,7 +117,8 @@ int event_script_get_list(TALLOC_CTX *mem_ctx,
}
*out = script_list;
return 0;
ret = 0;
goto done;
nomem:
ret = ENOMEM;
......
......@@ -295,13 +295,22 @@ again:
proc->result.sig = WTERMSIG(status);
}
/* Confirm that all data has been read from the pipe */
if (proc->fd != -1) {
proc_read_handler(ev, proc->fde, 0, proc);
TALLOC_FREE(proc->fde);
proc->fd = -1;
}
DLIST_REMOVE(run_ctx->plist, proc);
/* Active run_proc request */
if (proc->req != NULL) {
run_proc_done(proc->req);
} else {
talloc_free(proc);
}
DLIST_REMOVE(run_ctx->plist, proc);
goto again;
}
......@@ -419,6 +428,7 @@ static void run_proc_done(struct tevent_req *req)
if (state->proc->output != NULL) {
state->output = talloc_steal(state, state->proc->output);
}
talloc_steal(state, state->proc);
tevent_req_done(req);
}
......
......@@ -893,7 +893,7 @@ static void sock_daemon_run_socket_fail(struct tevent_req *subreq)
subreq, struct tevent_req);
struct sock_daemon_run_state *state = tevent_req_data(
req, struct sock_daemon_run_state);
const char *sockpath = NULL;
const char *sockpath = "INVALID";
int ret = 0;
bool status;
......
/*
CTDB version string
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
the Free Software Foundation; either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, see <http://www.gnu.org/licenses/>.
*/
#include "ctdb_version.h"
const char ctdb_version_string[] = CTDB_VERSION_STRING;
/*
CTDB version string
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
the Free Software Foundation; either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, see <http://www.gnu.org/licenses/>.
*/
extern const char ctdb_version_string[];
......@@ -2,6 +2,7 @@
Description=CTDB
Documentation=man:ctdbd(1) man:ctdb(7)
After=network-online.target time-sync.target
ConditionFileNotEmpty=/etc/ctdb/nodes
[Service]
Type=forking
......
......@@ -6,7 +6,7 @@
. "${CTDB_BASE}/functions"
service_name="nfs"
service_name="nfs-kernel-server"
load_script_options "service" "60.nfs"
......
......@@ -6,9 +6,9 @@
. "${CTDB_BASE}/functions"
service_name="nfs"
service_name="nfs-kernel-server"
load_system_config "nfs"
load_system_config "nfs-kernel-server"
load_script_options
......
......@@ -33,15 +33,16 @@ fi
load_system_config ()
{
if [ -z "$1" ] ; then
return
fi
for _i ; do
if [ -f "${CTDB_SYS_ETCDIR}/sysconfig/$1" ]; then
. "${CTDB_SYS_ETCDIR}/sysconfig/$1"
elif [ -f "${CTDB_SYS_ETCDIR}/default/$1" ]; then
. "${CTDB_SYS_ETCDIR}/default/$1"
if [ -f "${CTDB_SYS_ETCDIR}/sysconfig/${_i}" ]; then
. "${CTDB_SYS_ETCDIR}/sysconfig/${_i}"
return
elif [ -f "${CTDB_SYS_ETCDIR}/default/${_i}" ]; then
. "${CTDB_SYS_ETCDIR}/default/${_i}"
return
fi
done
}
# load_script_options [ component script ]
......
......@@ -2,6 +2,6 @@
version="1"
restart_every=2
unhealthy_after=6
service_stop_cmd="killall -q -9 rpc.statd"
service_start_cmd="rpc.statd ${STATD_HA_CALLOUT:+-H} $STATD_HA_CALLOUT ${STATD_HOSTNAME:+-n} $STATD_HOSTNAME ${STATD_PORT:+-p} $STATD_PORT ${STATD_OUTGOING_PORT:+-o} $STATD_OUTGOING_PORT"
service_stop_cmd="$CTDB_NFS_CALLOUT stop status"
service_start_cmd="$CTDB_NFS_CALLOUT start status"
service_debug_cmd="program_stack_traces rpc.statd 5"
......@@ -2,6 +2,6 @@
version="1"
restart_every=2
unhealthy_after=6
service_stop_cmd="killall -q -9 rpc.mountd"
service_start_cmd="rpc.mountd $RPCMOUNTDOPTS ${MOUNTD_PORT:+-p} $MOUNTD_PORT"
service_stop_cmd="$CTDB_NFS_CALLOUT stop mountd"
service_start_cmd="$CTDB_NFS_CALLOUT start mountd"
service_debug_cmd="program_stack_traces rpc.mountd 5"
......@@ -2,6 +2,6 @@
version="1"
restart_every=2
unhealthy_after=6
service_stop_cmd="killall -q -9 rpc.rquotad"
service_start_cmd="rpc.rquotad ${RQUOTAD_PORT:+-p} $RQUOTAD_PORT"
service_stop_cmd="$CTDB_NFS_CALLOUT stop rquotad"
service_start_cmd="$CTDB_NFS_CALLOUT start rquotad"
service_debug_cmd="program_stack_traces rpc.rquotad 5"