The branch, master has been updated via 65379ef param: Use IDL-based constants for NBT and NBT dgram ports via c253f95 smb.conf.5: Mark "dgram port" and "nbt port" as deprecated via 67c041a samba-tool drs: Ensure we do not replicate all secrets to an RODC, even with --local via 023055e torture3: Rename LOCAL-WBCLIENT to WBCLIENT-MULTI-PING via dbc4320 selftest: Run LOCAL-WBCLIENT against a test environment, not none via 2881175 dsdb-repl: Always set DRSUAPI_DRS_SPECIAL_SECRET_PROCESSING when we are an RODC via b5be45c s4-process_model: Remove prefork and onefork via 98d2d8d selftest: Fix comments in provision_promoted_dc via 91629ae pygensec: Add bindings for gensec_set_target_service and gensec_set_target_hostname via 3c0e3af Transition to waf 1.8: wrapped conf.check_cfg via 5771276 Transition to waf 1.8: replaced on_results by update_outputs via 2ab6c10 Update the copy of waf to current 1.5 via 782e8d6 lib/param: Add hook that allows modification of default settings. via a549b45 Require at least Python 2.6. via 44113a4 selftest: use server_maxtime = 9000 by default via 9198246 s4.2/fsmo.py: fixed fsmo transfer exception via 09b3e42 s4:auth/gensec_gssapi: let gensec_gssapi_update() return NT_STATUS_LOGON_FAILURE for unknown errors from dd43b70 librpc: use the correct "MSServerClusterMgmtAPI" auth service for clusapi.
https://git.samba.org/?p=samba.git;a=shortlog;h=master - Log ----------------------------------------------------------------- commit 65379ef3a44972698fd64905edfbb8865b338df8 Author: Andrew Bartlett <abart...@samba.org> Date: Sun Mar 1 20:04:00 2015 +1300 param: Use IDL-based constants for NBT and NBT dgram ports Signed-off-by: Andrew Bartlett <abart...@samba.org> Reviewed-by: Jelmer Vernooij <jel...@samba.org> Autobuild-User(master): Andrew Bartlett <abart...@samba.org> Autobuild-Date(master): Mon Mar 16 05:35:56 CET 2015 on sn-devel-104 commit c253f956ef0b40a8d1d877acfd5da9d27ec0d0b4 Author: Andrew Bartlett <abart...@samba.org> Date: Sun Mar 1 20:00:05 2015 +1300 smb.conf.5: Mark "dgram port" and "nbt port" as deprecated These are not honored in the source3 codebase, so keeping them is confusing. Signed-off-by: Andrew Bartlett <abart...@samba.org> Reviewed-by: Jelmer Vernooij <jel...@samba.org> BUG: https://bugzilla.samba.org/show_bug.cgi?id=11126 commit 67c041ab7693106b44a098d82d7422ea5aa48445 Author: Andrew Bartlett <abart...@samba.org> Date: Fri Feb 20 17:54:32 2015 +1300 samba-tool drs: Ensure we do not replicate all secrets to an RODC, even with --local Signed-off-by: Andrew Bartlett <abart...@samba.org> Reviewed-by: Jelmer Vernooij <jel...@samba.org> commit 023055ec80ef0bb82e68a7e1677dac2eff061cf2 Author: Andrew Bartlett <abart...@samba.org> Date: Mon Feb 23 11:52:58 2015 +1300 torture3: Rename LOCAL-WBCLIENT to WBCLIENT-MULTI-PING This is not a local test, it should not be named LOCAL-* Signed-off-by: Andrew Bartlett <abart...@samba.org> Reviewed-by: Jelmer Vernooij <jel...@samba.org> commit dbc43200968a4a54fc1b820bd74737beb63a2343 Author: Andrew Bartlett <abart...@samba.org> Date: Mon Feb 23 11:49:29 2015 +1300 selftest: Run LOCAL-WBCLIENT against a test environment, not none The issue with this test was that it ran against whatever was listening (or not) at the build prefix, not what was running under make test Signed-off-by: Andrew Bartlett <abart...@samba.org> Reviewed-by: Jelmer Vernooij <jel...@samba.org> commit 288117507f6ba0faa25bc83df532cdd254738e00 Author: Andrew Bartlett <abart...@samba.org> Date: Fri Feb 20 17:55:49 2015 +1300 dsdb-repl: Always set DRSUAPI_DRS_SPECIAL_SECRET_PROCESSING when we are an RODC Unless we are using DRSUAPI_EXOP_REPL_SECRET, always remove DRSUAPI_DRS_WRIT_REP and always set DRSUAPI_DRS_SPECIAL_SECRET_PROCESSING Otherwise, we will not work as an RODC, because replication will fail with access denied errors. Signed-off-by: Andrew Bartlett <abart...@samba.org> Reviewed-by: Jelmer Vernooij <jel...@samba.org> commit b5be45c453bd51373bade26c29828b500ba586ec Author: Andrew Bartlett <abart...@samba.org> Date: Thu Feb 19 14:44:00 2015 +1300 s4-process_model: Remove prefork and onefork While it is possible to run Samba in these modes, it isn't tested and isn't required. Each of these modes requires that SIGCHLD be set to SIGIGN, and that breaks samba_runcmd_*(). Signed-off-by: Andrew Bartlett <abart...@samba.org> Reviewed-by: Jelmer Vernooij <jel...@samba.org> commit 98d2d8d6cd53a5cff6b9ec17ddc3ee9cb8a75b3e Author: Andrew Bartlett <abart...@samba.org> Date: Tue Feb 17 15:47:47 2015 +1300 selftest: Fix comments in provision_promoted_dc Signed-off-by: Andrew Bartlett <abart...@samba.org> Reviewed-by: Jelmer Vernooij <jel...@samba.org> commit 91629aeb48b1a6b748b3d391a39deb156ff2b25b Author: Andrew Bartlett <abart...@samba.org> Date: Mon Mar 2 13:58:21 2015 +1300 pygensec: Add bindings for gensec_set_target_service and gensec_set_target_hostname Signed-off-by: Andrew Bartlett <abart...@samba.org> Reviewed-by: Jelmer Vernooij <jel...@samba.org> commit 3c0e3af39541f15eef0f9017cb1622706e73e46a Author: Thomas Nagy <tnagy2po...@gmail.com> Date: Sat Mar 7 15:31:19 2015 +0100 Transition to waf 1.8: wrapped conf.check_cfg Reviewed-By: Jelmer Vernooij <jel...@samba.org> (forward ported to current master by abartlet) Reviewed-by: Andrew Bartlett <abart...@samba.org> commit 5771276be91ec3aad6a7d8cf396ee4721a171feb Author: Thomas Nagy <tnagy2po...@gmail.com> Date: Sat Mar 7 15:31:18 2015 +0100 Transition to waf 1.8: replaced on_results by update_outputs Reviewed-By: Jelmer Vernooij <jel...@samba.org> Reviewed-by: Andrew Bartlett <abart...@samba.org> commit 2ab6c10f843c2bd703528bf5b753d8a74e97cf3a Author: Jelmer Vernooij <jel...@samba.org> Date: Sat Mar 7 15:31:17 2015 +0100 Update the copy of waf to current 1.5 After making the update, this commit reverts the upstream addition of LDVERSION support in Python.py, which is necessary for Python 3 support in waf. This change conflicts with the last remaining Samba-specific change in waf to help with cross-compilation. Change-Id: Iedfdc0199e9d10dfbd910c4eab50c23f984b6e2d Signed-Off-By: Jelmer Vernooij <jel...@samba.org> Reviewed-by: Andrew Bartlett <abart...@samba.org> commit 782e8d6aabd6535448992f1ee69f25c71e8f2b6c Author: Jelmer Vernooij <jel...@samba.org> Date: Mon Mar 16 12:30:27 2015 +1300 lib/param: Add hook that allows modification of default settings. This is useful for reducing the amount of configuration necessary for OpenChange. The hook is ideally registered from a plugin initialization function, so that it automatically gets used whenever the plugin is installed. This makes it possible for plugins to e.g. extend the default value for the list of enabled dcerpc endpoint services. Like all our interfaces, callers are expected to use this API responsibly. For example, OpenChange should only enable its DCE/RPC interface if it has been provisioned. Change-Id: Ic8bacdd8b4c92a2a4b97cfa1a50dc41365b78071 Signed-Off-By: Jelmer Vernooij <jel...@samba.org> Reviewed-by: Andrew Bartlett <abart...@samba.org> commit a549b45ed7747e8817ff07e8e755ef04edb35574 Author: Jelmer Vernooij <jel...@samba.org> Date: Sun Mar 8 15:54:07 2015 +0100 Require at least Python 2.6. Per discussion on the list earlier this year. Change-Id: I085c6e8253b2b8183749c2b0962714c350b2d440 Signed-off-by: Jelmer Vernooij <jel...@samba.org> Reviewed-by: Andrew Bartlett <abart...@samba.org> commit 44113a45dcf139f7ac95f217dcc9aab45a203975 Author: Stefan Metzmacher <me...@samba.org> Date: Sun Mar 15 23:06:47 2015 +0100 selftest: use server_maxtime = 9000 by default With something like this: samba.stdout: [1730(16549)/1735 at 2h9m58s] samba4.blackbox.dbcheck(dc) ERROR: Testsuite[samba4.blackbox.dbcheck(dc)] REASON: unable to set up environment dc:local - exiting samba.stderr: samba: maximum runtime exceeded - terminating at 1426447450, current ts: 1426447450 samba child process 653 exited with value 0 Signed-off-by: Stefan Metzmacher <me...@samba.org> Reviewed-by: Andrew Bartlett <abart...@samba.org> commit 9198246f91c02e33ed7a3580588557d0fb9f8811 Author: Steve Howells <steve.howe...@moscowfirst.com> Date: Sat Jan 31 16:09:17 2015 +0000 s4.2/fsmo.py: fixed fsmo transfer exception In transfer_role() there is an duplicate call to samdb.modify() inside the if statement where the type of role is being determined (specifically for the naming fsmo). This call is unnecessary as after the if statement their is a correct call, with a try/catch block, used by all fsmo transfers that will handle errors - such as the DC with the fsmo role being offline. The call to samdb.modify() inside the if statement for naming fsmo has been removed. Bug: https://bugzilla.samba.org/show_bug.cgi?id=10924 Signed-off-by: Steve Howells <steve.howe...@moscowfirst.com> Reviewed-by: Stefan Metzmacher <me...@samba.org> Reviewed-by: Marc Muehlfeld <mmuehlf...@samba.org> Reviewed-by: Andrew Bartlett <abart...@samba.org> commit 09b3e42e70b35bfa1985e70780a67085644b9914 Author: Stefan Metzmacher <me...@samba.org> Date: Fri Mar 13 14:39:10 2015 +0100 s4:auth/gensec_gssapi: let gensec_gssapi_update() return NT_STATUS_LOGON_FAILURE for unknown errors The 'nt_status' variable is set to NT_STATUS_OK before. Bug: https://bugzilla.samba.org/show_bug.cgi?id=11164 Signed-off-by: Stefan Metzmacher <me...@samba.org> Reviewed-by: Andrew Bartlett <abart...@samba.org> ----------------------------------------------------------------------- Summary of changes: buildtools/wafadmin/3rdparty/build_file_tracker.py | 54 ++++ buildtools/wafadmin/3rdparty/prefork.py | 276 +++++++++++++++++++++ buildtools/wafadmin/Node.py | 2 +- buildtools/wafadmin/TaskGen.py | 2 +- buildtools/wafadmin/Tools/tex.py | 2 +- buildtools/wafadmin/Utils.py | 12 +- buildtools/wafsamba/samba_autoconf.py | 4 + buildtools/wafsamba/samba_autoproto.py | 2 +- buildtools/wafsamba/samba_pidl.py | 4 +- buildtools/wafsamba/wafsamba.py | 2 +- buildtools/wafsamba/wscript | 2 +- docs-xml/smbdotconf/protocol/dgramport.xml | 3 +- docs-xml/smbdotconf/protocol/nbtport.xml | 2 + lib/param/loadparm.c | 38 ++- lib/param/param.h | 15 ++ lib/param/param_table.c | 6 +- python/samba/netcmd/drs.py | 5 +- python/samba/netcmd/fsmo.py | 1 - selftest/selftest.pl | 2 +- selftest/target/Samba4.pm | 4 +- source3/param/loadparm.c | 5 +- source3/selftest/tests.py | 4 +- source3/torture/torture.c | 4 +- source3/wscript | 6 +- source3/wscript_configure_system_ncurses | 2 +- source4/auth/gensec/gensec_gssapi.c | 4 +- source4/auth/gensec/pygensec.c | 40 +++ source4/dsdb/repl/drepl_out_helpers.c | 3 + source4/heimdal_build/wscript_build | 14 +- source4/lib/tls/wscript | 4 +- source4/smbd/process_onefork.c | 149 ----------- source4/smbd/process_prefork.c | 207 ---------------- source4/smbd/wscript_build | 17 -- wscript | 4 +- wscript_configure_system_mitkrb5 | 6 +- 35 files changed, 484 insertions(+), 423 deletions(-) create mode 100644 buildtools/wafadmin/3rdparty/build_file_tracker.py create mode 100755 buildtools/wafadmin/3rdparty/prefork.py delete mode 100644 source4/smbd/process_onefork.c delete mode 100644 source4/smbd/process_prefork.c Changeset truncated at 500 lines: diff --git a/buildtools/wafadmin/3rdparty/build_file_tracker.py b/buildtools/wafadmin/3rdparty/build_file_tracker.py new file mode 100644 index 0000000..9c48928 --- /dev/null +++ b/buildtools/wafadmin/3rdparty/build_file_tracker.py @@ -0,0 +1,54 @@ +#! /usr/bin/env python +# encoding: utf-8 +# Thomas Nagy, 2015 + +""" +Force tasks to use file timestamps to force partial rebuilds when touch-ing build files + +touch out/libfoo.a +... rebuild what depends on libfoo.a + +to use:: + def options(opt): + opt.tool_options('build_file_tracker') +""" + +import os +import Task, Utils + +def signature(self): + try: return self.cache_sig[0] + except AttributeError: pass + + self.m = Utils.md5() + + # explicit deps + exp_sig = self.sig_explicit_deps() + + # env vars + var_sig = self.sig_vars() + + # implicit deps + imp_sig = Task.SIG_NIL + if self.scan: + try: + imp_sig = self.sig_implicit_deps() + except ValueError: + return self.signature() + + # timestamp dependency on build files only (source files are hashed) + buf = [] + for k in self.inputs + getattr(self, 'dep_nodes', []) + self.generator.bld.node_deps.get(self.unique_id(), []): + if k.id & 3 == 3: + t = os.stat(k.abspath(self.env)).st_mtime + buf.append(t) + self.m.update(str(buf)) + + # we now have the signature (first element) and the details (for debugging) + ret = self.m.digest() + self.cache_sig = (ret, exp_sig, imp_sig, var_sig) + return ret + +Task.Task.signature_bak = Task.Task.signature # unused, kept just in case +Task.Task.signature = signature # overridden + diff --git a/buildtools/wafadmin/3rdparty/prefork.py b/buildtools/wafadmin/3rdparty/prefork.py new file mode 100755 index 0000000..1c760c2 --- /dev/null +++ b/buildtools/wafadmin/3rdparty/prefork.py @@ -0,0 +1,276 @@ +#! /usr/bin/env python +# encoding: utf-8 +# Thomas Nagy, 2015 (ita) +# +# prefer the waf 1.8 version + +""" +The full samba build can be faster by ~10%, but there are a few limitations: +* only one build process should be run at a time as the servers would use the same ports +* only one build command is going to be called ("waf build configure build" would not work) + +def build(bld): + + mod = Utils.load_tool('prefork') + mod.build(bld) + ... + (build declarations after) +""" + +import os, re, socket, threading, sys, subprocess, time, atexit, traceback +try: + import SocketServer +except ImportError: + import socketserver as SocketServer +try: + from queue import Queue +except ImportError: + from Queue import Queue +try: + import cPickle +except ImportError: + import pickle as cPickle + +DEFAULT_PORT = 51200 + +HEADER_SIZE = 128 + +REQ = 'REQ' +RES = 'RES' +BYE = 'BYE' + +def make_header(params): + header = ','.join(params) + if sys.hexversion > 0x3000000: + header = header.encode('iso8859-1') + header = header.ljust(HEADER_SIZE) + assert(len(header) == HEADER_SIZE) + return header + + +re_valid_query = re.compile('^[a-zA-Z0-9_, ]+$') +class req(SocketServer.StreamRequestHandler): + def handle(self): + while 1: + try: + self.process_command() + except Exception as e: + print(e) + break + + def process_command(self): + query = self.rfile.read(HEADER_SIZE) + if not query: + return + #print(len(query)) + assert(len(query) == HEADER_SIZE) + if sys.hexversion > 0x3000000: + query = query.decode('iso8859-1') + #print "%r" % query + if not re_valid_query.match(query): + raise ValueError('Invalid query %r' % query) + + query = query.strip().split(',') + + if query[0] == REQ: + self.run_command(query[1:]) + elif query[0] == BYE: + raise ValueError('Exit') + else: + raise ValueError('Invalid query %r' % query) + + def run_command(self, query): + + size = int(query[0]) + data = self.rfile.read(size) + assert(len(data) == size) + kw = cPickle.loads(data) + + # run command + ret = out = err = exc = None + cmd = kw['cmd'] + del kw['cmd'] + #print(cmd) + + try: + if kw['stdout'] or kw['stderr']: + p = subprocess.Popen(cmd, **kw) + (out, err) = p.communicate() + ret = p.returncode + else: + ret = subprocess.Popen(cmd, **kw).wait() + except Exception as e: + ret = -1 + exc = str(e) + traceback.format_exc() + + # write the results + if out or err or exc: + data = (out, err, exc) + data = cPickle.dumps(data, -1) + else: + data = '' + + params = [RES, str(ret), str(len(data))] + + self.wfile.write(make_header(params)) + + if data: + self.wfile.write(data) + +def create_server(conn, cls): + #SocketServer.ThreadingTCPServer.allow_reuse_address = True + #server = SocketServer.ThreadingTCPServer(conn, req) + + SocketServer.TCPServer.allow_reuse_address = True + server = SocketServer.TCPServer(conn, req) + #server.timeout = 6000 # seconds + server.serve_forever(poll_interval=0.001) + +if __name__ == '__main__': + if len(sys.argv) > 1: + port = int(sys.argv[1]) + else: + port = DEFAULT_PORT + #conn = (socket.gethostname(), port) + conn = ("127.0.0.1", port) + #print("listening - %r %r\n" % conn) + create_server(conn, req) +else: + + import Runner, Utils + + def init_task_pool(self): + # lazy creation, and set a common pool for all task consumers + pool = self.pool = [] + for i in range(self.numjobs): + consumer = Runner.get_pool() + pool.append(consumer) + consumer.idx = i + self.ready = Queue(0) + def setq(consumer): + consumer.ready = self.ready + try: + threading.current_thread().idx = consumer.idx + except Exception as e: + print(e) + for x in pool: + x.ready.put(setq) + return pool + Runner.Parallel.init_task_pool = init_task_pool + + PORT = 51200 + + def make_server(idx): + port = PORT + idx + cmd = [sys.executable, os.path.abspath(__file__), str(port)] + proc = subprocess.Popen(cmd) + proc.port = port + return proc + + def make_conn(srv): + #port = PORT + idx + port = srv.port + conn = socket.socket(socket.AF_INET, socket.SOCK_STREAM) + conn.connect(('127.0.0.1', port)) + return conn + + SERVERS = [] + CONNS = [] + def close_all(): + while CONNS: + conn = CONNS.pop() + try: + conn.close() + except: + pass + while SERVERS: + srv = SERVERS.pop() + try: + srv.kill() + except: + pass + atexit.register(close_all) + + def put_data(conn, data): + conn.send(data) + + def read_data(conn, siz): + ret = conn.recv(siz) + if not ret: + print("closed connection?") + + assert(len(ret) == siz) + return ret + + def exec_command(cmd, **kw): + if 'log' in kw: + log = kw['log'] + kw['stdout'] = kw['stderr'] = subprocess.PIPE + del(kw['log']) + else: + kw['stdout'] = kw['stderr'] = None + kw['shell'] = isinstance(cmd, str) + + idx = threading.current_thread().idx + kw['cmd'] = cmd + + data = cPickle.dumps(kw, -1) + params = [REQ, str(len(data))] + header = make_header(params) + + conn = CONNS[idx] + + put_data(conn, header) + put_data(conn, data) + + data = read_data(conn, HEADER_SIZE) + if sys.hexversion > 0x3000000: + data = data.decode('iso8859-1') + + lst = data.split(',') + ret = int(lst[1]) + dlen = int(lst[2]) + + out = err = None + if dlen: + data = read_data(conn, dlen) + (out, err, exc) = cPickle.loads(data) + if exc: + raise Utils.WafError('Execution failure: %s' % exc) + + if out: + log.write(out) + if err: + log.write(err) + + return ret + + def __init__(self): + threading.Thread.__init__(self) + + # identifier of the current thread + self.idx = len(SERVERS) + + # create a server and wait for the connection + srv = make_server(self.idx) + SERVERS.append(srv) + + conn = None + for x in range(30): + try: + conn = make_conn(srv) + break + except socket.error: + time.sleep(0.01) + if not conn: + raise ValueError('Could not start the server!') + CONNS.append(conn) + + self.setDaemon(1) + self.start() + Runner.TaskConsumer.__init__ = __init__ + + def build(bld): + # dangerous, there is no other command hopefully + Utils.exec_command = exec_command + diff --git a/buildtools/wafadmin/Node.py b/buildtools/wafadmin/Node.py index 236dd0d..4fa205c 100644 --- a/buildtools/wafadmin/Node.py +++ b/buildtools/wafadmin/Node.py @@ -663,7 +663,7 @@ class Node(object): def update_build_dir(self, env=None): if not env: - for env in bld.all_envs: + for env in self.bld.all_envs: self.update_build_dir(env) return diff --git a/buildtools/wafadmin/TaskGen.py b/buildtools/wafadmin/TaskGen.py index ae1834a..52d0236 100644 --- a/buildtools/wafadmin/TaskGen.py +++ b/buildtools/wafadmin/TaskGen.py @@ -567,7 +567,7 @@ def exec_rule(self): if getattr(self, 'cwd', None): tsk.cwd = self.cwd - if getattr(self, 'on_results', None): + if getattr(self, 'on_results', None) or getattr(self, 'update_outputs', None): Task.update_outputs(cls) if getattr(self, 'always', None): diff --git a/buildtools/wafadmin/Tools/tex.py b/buildtools/wafadmin/Tools/tex.py index 2dd748b..700c54f 100644 --- a/buildtools/wafadmin/Tools/tex.py +++ b/buildtools/wafadmin/Tools/tex.py @@ -154,7 +154,7 @@ def tex_build(task, command='LATEX'): task.env.SRCFILE = srcfile ret = fun(task) if ret: - error('error when calling %s %s' % (command, latex_compile_cmd)) + error('error when calling %s %s' % (command, latex_fun)) return ret return None # ok diff --git a/buildtools/wafadmin/Utils.py b/buildtools/wafadmin/Utils.py index 91ded93..cff6719 100644 --- a/buildtools/wafadmin/Utils.py +++ b/buildtools/wafadmin/Utils.py @@ -416,15 +416,15 @@ def pprint(col, str, label='', sep='\n'): "print messages in color" sys.stderr.write("%s%s%s %s%s" % (Logs.colors(col), str, Logs.colors.NORMAL, label, sep)) -def check_dir(dir): +def check_dir(path): """If a folder doesn't exists, create it.""" - try: - os.lstat(dir) - except OSError: + if not os.path.isdir(path): try: - os.makedirs(dir) + os.makedirs(path) except OSError, e: - raise WafError("Cannot create folder '%s' (original error: %s)" % (dir, e)) + if not os.path.isdir(path): + raise Errors.WafError('Cannot create the folder %r' % path, ex=e) + def cmd_output(cmd, **kw): diff --git a/buildtools/wafsamba/samba_autoconf.py b/buildtools/wafsamba/samba_autoconf.py index 905adc7..4f646fd 100644 --- a/buildtools/wafsamba/samba_autoconf.py +++ b/buildtools/wafsamba/samba_autoconf.py @@ -846,3 +846,7 @@ def SAMBA_CHECK_UNDEFINED_SYMBOL_FLAGS(conf): if not sys.platform.startswith("openbsd") and conf.env.undefined_ignore_ldflags == []: if conf.CHECK_LDFLAGS(['-undefined', 'dynamic_lookup']): conf.env.undefined_ignore_ldflags = ['-undefined', 'dynamic_lookup'] + +@conf +def CHECK_CFG(self, *k, **kw): + return self.check_cfg(*k, **kw) diff --git a/buildtools/wafsamba/samba_autoproto.py b/buildtools/wafsamba/samba_autoproto.py index 2d8ea54..bad627a 100644 --- a/buildtools/wafsamba/samba_autoproto.py +++ b/buildtools/wafsamba/samba_autoproto.py @@ -13,7 +13,7 @@ def SAMBA_AUTOPROTO(bld, header, source): name = name, source = source, target = header, - on_results=True, + update_outputs=True, ext_out='.c', before ='cc', rule = '${PERL} "${SCRIPT}/mkproto.pl" --srcdir=.. --builddir=. --public=/dev/null --private="${TGT}" ${SRC}' diff --git a/buildtools/wafsamba/samba_pidl.py b/buildtools/wafsamba/samba_pidl.py index 2393c72..110b15e 100644 --- a/buildtools/wafsamba/samba_pidl.py +++ b/buildtools/wafsamba/samba_pidl.py @@ -78,7 +78,7 @@ def SAMBA_PIDL(bld, pname, source, t = bld(rule='cd .. && %s %s ${PERL} "${PIDL}" --quiet ${OPTIONS} --outputdir ${OUTPUTDIR} -- "${SRC[0].abspath(env)}"' % (cpp, cc), ext_out = '.c', before = 'cc', - on_results = True, + update_outputs = True, shell = True, source = source, target = out_files, @@ -135,7 +135,7 @@ def SAMBA_PIDL_TABLES(bld, name, target): rule = '${PERL} ${SRC} --output ${TGT} | sed "s|default/||" > ${TGT}', ext_out = '.c', before = 'cc', - on_results = True, + update_outputs = True, shell = True, source = '../../librpc/tables.pl', target = target, diff --git a/buildtools/wafsamba/wafsamba.py b/buildtools/wafsamba/wafsamba.py index c054315..c423e60 100644 --- a/buildtools/wafsamba/wafsamba.py +++ b/buildtools/wafsamba/wafsamba.py @@ -638,7 +638,7 @@ def SAMBA_GENERATOR(bld, name, rule, source='', target='', source=bld.EXPAND_VARIABLES(source, vars=vars), target=target, shell=isinstance(rule, str), - on_results=True, + update_outputs=True, before='cc', ext_out='.c', samba_type='GENERATOR', diff --git a/buildtools/wafsamba/wscript b/buildtools/wafsamba/wscript index 8027c00..3180543 100755 --- a/buildtools/wafsamba/wscript +++ b/buildtools/wafsamba/wscript @@ -383,7 +383,7 @@ def configure(conf): conf.CHECK_INLINE() # check for pkgconfig - conf.check_cfg(atleast_pkgconfig_version='0.0.0') + conf.CHECK_CFG(atleast_pkgconfig_version='0.0.0') conf.DEFINE('_GNU_SOURCE', 1, add_to_cflags=True) conf.DEFINE('_XOPEN_SOURCE_EXTENDED', 1, add_to_cflags=True) diff --git a/docs-xml/smbdotconf/protocol/dgramport.xml b/docs-xml/smbdotconf/protocol/dgramport.xml index ee10e9c..a90310d 100644 --- a/docs-xml/smbdotconf/protocol/dgramport.xml +++ b/docs-xml/smbdotconf/protocol/dgramport.xml @@ -6,6 +6,7 @@ <description> <para>Specifies which ports the server should listen on for NetBIOS datagram traffic.</para> </description> - +<para>This parameter is deprecated, as it is not honoured in the +majority of the code base.</para> <value type="default">138</value> </samba:parameter> diff --git a/docs-xml/smbdotconf/protocol/nbtport.xml b/docs-xml/smbdotconf/protocol/nbtport.xml index 1d99270..f7ec1e7 100644 --- a/docs-xml/smbdotconf/protocol/nbtport.xml +++ b/docs-xml/smbdotconf/protocol/nbtport.xml @@ -8,5 +8,7 @@ services traffic.</para> </description> -- Samba Shared Repository