The branch, v3-6-test has been updated via 837333e s3-waf: make the --with-Xdir options work more like in the classic build. via cbaecf4 s3-waf: no need to compile librpc/gen_ndr/cli_dfs.c anymore. via 68833a0 s3-build: no need to compile librpc/gen_ndr/cli_dfs.c anymore. via 5912141 s3-rpcclient: use dcerpc_dfs_X functions. from f2a4eec s3-net: Fix bug #7690: retry DNS updates when connection to one nameserver has failed.
http://gitweb.samba.org/?p=samba.git;a=shortlog;h=v3-6-test - Log ----------------------------------------------------------------- commit 837333e5407c034f71dce383d4920b9e616910d5 Author: Günther Deschner <g...@samba.org> Date: Fri Jan 7 00:05:27 2011 +0100 s3-waf: make the --with-Xdir options work more like in the classic build. Also remove duplicates and sort the tables. Still not sure if I understand the reason of processing the flags table after the diroptions table, as every option you give it via configure was overwritten immediately. Guenther Autobuild-User: Günther Deschner <g...@samba.org> Autobuild-Date: Fri Jan 7 00:57:10 CET 2011 on sn-devel-104 (cherry picked from commit f405384ad840ebe438ecf3a2ce05893857c952b2) commit cbaecf495ef997d08fe563fa29eb19f85a70b5ac Author: Günther Deschner <g...@samba.org> Date: Wed Jan 5 17:26:39 2011 +0100 s3-waf: no need to compile librpc/gen_ndr/cli_dfs.c anymore. Guenther Autobuild-User: Günther Deschner <g...@samba.org> Autobuild-Date: Thu Jan 6 15:20:14 CET 2011 on sn-devel-104 (cherry picked from commit 2958a43fad6b714e3f2bfe5f0e43b344395de179) commit 68833a0793e1cacca85385546613a543bcdf85e5 Author: Günther Deschner <g...@samba.org> Date: Wed Jan 5 17:26:16 2011 +0100 s3-build: no need to compile librpc/gen_ndr/cli_dfs.c anymore. Guenther (cherry picked from commit 577b4e527c27ff074ea375ff31a339a5ad4e8071) commit 59121419c3901df5d9f4d5c6c01a9759dc91c253 Author: Günther Deschner <g...@samba.org> Date: Wed Jan 5 17:22:24 2011 +0100 s3-rpcclient: use dcerpc_dfs_X functions. Guenther (cherry picked from commit 7888108e89995b0bacbd5915bd70778fe901820a) ----------------------------------------------------------------------- Summary of changes: source3/Makefile.in | 3 +- source3/build/dynconfig.py | 49 ++++++++++++++++++++---------------------- source3/build/wscript | 4 ++- source3/rpcclient/cmd_dfs.c | 36 +++++++++++++++++++++---------- source3/wscript_build | 6 +---- 5 files changed, 52 insertions(+), 46 deletions(-) Changeset truncated at 500 lines: diff --git a/source3/Makefile.in b/source3/Makefile.in index 376a2f1..7151df9 100644 --- a/source3/Makefile.in +++ b/source3/Makefile.in @@ -354,8 +354,7 @@ LIBCLI_NTSVCS_OBJ = librpc/gen_ndr/ndr_ntsvcs_c.o LIBCLI_DRSUAPI_OBJ = librpc/gen_ndr/cli_drsuapi.o \ librpc/gen_ndr/ndr_drsuapi_c.o -LIBCLI_DFS_OBJ = librpc/gen_ndr/cli_dfs.o \ - librpc/gen_ndr/ndr_dfs_c.o +LIBCLI_DFS_OBJ = librpc/gen_ndr/ndr_dfs_c.o LIBCLI_ECHO_OBJ = librpc/gen_ndr/cli_echo.o \ librpc/gen_ndr/ndr_echo_c.o diff --git a/source3/build/dynconfig.py b/source3/build/dynconfig.py index 4bc97e5..f755f7f 100644 --- a/source3/build/dynconfig.py +++ b/source3/build/dynconfig.py @@ -2,51 +2,48 @@ import string, Utils # list of directory options to offer in configure dir_options = { - 'with-piddir' : [ '${PREFIX}/var/locks', 'where to put pid files' ], - 'with-privatedir' : [ '${PREFIX}/private', 'Where to put sam.ldb and other private files' ], - 'with-winbindd-socket-dir' : [ '${PREFIX}/var/lib/winbindd', 'winbind socket directory' ], - 'with-winbindd-privileged-socket-dir' : [ '${PREFIX}/var/lib/winbindd_privileged', 'winbind privileged socket directory'], - 'with-ntp-signd-socket-dir' : [ '${PREFIX}/var/run/ntp_signd', 'NTP signed directory'], - 'with-lockdir' : [ '${PREFIX}/var/locks', 'where to put lock files' ], - 'with-codepagedir' : [ '${PREFIX}/lib/samba', 'where to put codepages' ], - 'with-privatedir' : [ '${PREFIX}/private', 'where to put smbpasswd' ], 'with-cachedir' : [ '${PREFIX}/var/locks', 'where to put temporary cache files' ], - 'with-logfilebase' : [ '${PREFIX}/var/log/samba', 'Where to put log files' ], + 'with-codepagedir' : [ '${PREFIX}/lib/samba', 'where to put codepages' ], 'with-configdir' : [ '${PREFIX}/etc/samba', 'Where to put configuration files' ], - 'with-swatdir' : [ '${PREFIX}/swat', 'Where to put SWAT files' ], - 'with-statedir' : [ '${PREFIX}/var/locks', 'where to put persistent state files' ], - 'with-cachedir' : [ '${PREFIX}/var/locks', 'where to put temporary cache files' ], + 'with-lockdir' : [ '${PREFIX}/var/locks', 'where to put lock files' ], + 'with-logfilebase' : [ '${PREFIX}/var/log/samba', 'Where to put log files' ], 'with-ncalrpcdir' : [ '${PREFIX}/var/ncalrpc', 'where to put ncalrpc sockets' ], + 'with-ntp-signd-socket-dir' : [ '${PREFIX}/var/run/ntp_signd', 'NTP signed directory'], 'with-pammodulesdir' : [ '', 'Which directory to use for PAM modules' ], - 'with-codepagedir' : [ '${PREFIX}/lib/samba', 'Where to put codepages' ], + 'with-piddir' : [ '${PREFIX}/var/locks', 'where to put pid files' ], + 'with-privatedir' : [ '${PREFIX}/private', 'where to put smbpasswd' ], 'with-selftest-prefix' : [ '', 'The prefix where make test will be run' ], - 'with-selftest-shrdir' : [ '', 'The share directory that make test will be run against' ] + 'with-selftest-shrdir' : [ '', 'The share directory that make test will be run against' ], + 'with-statedir' : [ '${PREFIX}/var/locks', 'where to put persistent state files' ], + 'with-swatdir' : [ '${PREFIX}/swat', 'Where to put SWAT files' ], + 'with-winbindd-privileged-socket-dir' : [ '${PREFIX}/var/lib/winbindd_privileged', 'winbind privileged socket directory'], + 'with-winbindd-socket-dir' : [ '${PREFIX}/var/lib/winbindd', 'winbind socket directory' ], } # list of cflags to use for dynconfig.c dyn_cflags = { - 'CONFIGFILE' : '${SYSCONFDIR}/smb.conf', 'BINDIR' : '${BINDIR}', - 'SBINDIR' : '${SBINDIR}', + 'CACHEDIR' : '${CACHEDIR}', + 'CODEPAGEDIR' : '${CODEPAGEDIR}', + 'CONFIGDIR' : '${SYSCONFDIR}', + 'CONFIGFILE' : '${SYSCONFDIR}/smb.conf', + 'DATADIR' : '${DATADIR}', 'LIBDIR' : '${LIBDIR}', - 'STATEDIR' : '${LOCALSTATEDIR}', 'LMHOSTSFILE' : '${SYSCONFDIR}/lmhosts', 'LOCKDIR' : '${LOCALSTATEDIR}/locks', - 'PIDDIR' : '${LOCALSTATEDIR}/run', - 'DATADIR' : '${DATADIR}', 'LOGFILEBASE' : '${LOCALSTATEDIR}', - 'CONFIGDIR' : '${SYSCONFDIR}', + 'MODULESDIR' : '${PREFIX}/modules', 'NCALRPCDIR' : '${LOCALSTATEDIR}/ncalrpc', - 'SWATDIR' : '${PREFIX}/swat', + 'NTP_SIGND_SOCKET_DIR' : '${NTP_SIGND_SOCKET_DIR}', + 'PIDDIR' : '${LOCALSTATEDIR}/run', 'PRIVATE_DIR' : '${PRIVATEDIR}', - 'MODULESDIR' : '${PREFIX}/modules', + 'SBINDIR' : '${SBINDIR}', 'SETUPDIR' : '${DATADIR}/setup', + 'SMB_PASSWD_FILE' : '${PRIVATEDIR}/smbpasswd', + 'STATEDIR' : '${LOCALSTATEDIR}', + 'SWATDIR' : '${PREFIX}/swat', 'WINBINDD_PRIVILEGED_SOCKET_DIR' : '${WINBINDD_PRIVILEGED_SOCKET_DIR}', 'WINBINDD_SOCKET_DIR' : '${WINBINDD_SOCKET_DIR}', - 'NTP_SIGND_SOCKET_DIR' : '${NTP_SIGND_SOCKET_DIR}', - 'CODEPAGEDIR' : '${CODEPAGEDIR}', - 'CACHEDIR' : '${CACHEDIR}', - 'SMB_PASSWD_FILE' : '${PRIVATEDIR}/smbpasswd', } def get_varname(v): diff --git a/source3/build/wscript b/source3/build/wscript index 3b0c66a..c6eb55f 100644 --- a/source3/build/wscript +++ b/source3/build/wscript @@ -23,6 +23,7 @@ def configure(conf): for option in dir_options.keys(): varname = get_varname(option) value = getattr(Options.options, varname, None) + value = Utils.subst_vars(value, conf.env) conf.ASSERT(value is not None, "Missing configure option %s" % varname) conf.ASSERT(varname not in conf.env, "Variable %s already defined" % varname) conf.env[varname] = value @@ -33,7 +34,8 @@ def configure(conf): v = Utils.subst_vars(v, conf.env) conf.ASSERT(v != '', "Empty dynconfig value for %s" % f) conf.ASSERT(v.find('${') == -1, "Unsubstituted variable in %s : %s : %s" % (f, dyn_cflags[f], v)) - conf.env[f] = v + if f not in conf.env: + conf.env[f] = v if f in cflags_vars: conf.DEFINE(f, v, quote=True) diff --git a/source3/rpcclient/cmd_dfs.c b/source3/rpcclient/cmd_dfs.c index 1f1eb3d..3de6aff 100644 --- a/source3/rpcclient/cmd_dfs.c +++ b/source3/rpcclient/cmd_dfs.c @@ -30,13 +30,14 @@ static WERROR cmd_dfs_version(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, { enum dfs_ManagerVersion version; NTSTATUS result; + struct dcerpc_binding_handle *b = cli->binding_handle; if (argc != 1) { printf("Usage: %s\n", argv[0]); return WERR_OK; } - result = rpccli_dfs_GetManagerVersion(cli, mem_ctx, &version); + result = dcerpc_dfs_GetManagerVersion(b, mem_ctx, &version); if (!NT_STATUS_IS_OK(result)) { return ntstatus_to_werror(result); @@ -58,6 +59,7 @@ static WERROR cmd_dfs_add(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, WERROR werr; const char *path, *servername, *sharename, *comment; uint32 flags = 0; + struct dcerpc_binding_handle *b = cli->binding_handle; if (argc != 5) { printf("Usage: %s path servername sharename comment\n", @@ -70,7 +72,7 @@ static WERROR cmd_dfs_add(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, sharename = argv[3]; comment = argv[4]; - result = rpccli_dfs_Add(cli, mem_ctx, path, servername, + result = dcerpc_dfs_Add(b, mem_ctx, path, servername, sharename, comment, flags, &werr); if (!NT_STATUS_IS_OK(result)) { return ntstatus_to_werror(result); @@ -85,6 +87,7 @@ static WERROR cmd_dfs_remove(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, NTSTATUS result; WERROR werr; const char *path, *servername, *sharename; + struct dcerpc_binding_handle *b = cli->binding_handle; if (argc != 4) { printf("Usage: %s path servername sharename\n", argv[0]); @@ -95,7 +98,7 @@ static WERROR cmd_dfs_remove(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, servername = argv[2]; sharename = argv[3]; - result = rpccli_dfs_Remove(cli, mem_ctx, path, servername, + result = dcerpc_dfs_Remove(b, mem_ctx, path, servername, sharename, &werr); if (!NT_STATUS_IS_OK(result)) { return ntstatus_to_werror(result); @@ -195,6 +198,7 @@ static WERROR cmd_dfs_enum(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, struct dfs_EnumArray4 info4; struct dfs_EnumArray200 info200; struct dfs_EnumArray300 info300; + struct dcerpc_binding_handle *b = cli->binding_handle; NTSTATUS result; WERROR werr; @@ -221,10 +225,12 @@ static WERROR cmd_dfs_enum(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, break; } - result = rpccli_dfs_Enum(cli, mem_ctx, str.level, 0xFFFFFFFF, &str, + result = dcerpc_dfs_Enum(b, mem_ctx, str.level, 0xFFFFFFFF, &str, &total, &werr); - - if (NT_STATUS_IS_OK(result)) { + if (!NT_STATUS_IS_OK(result)) { + return ntstatus_to_werror(result); + } + if (W_ERROR_IS_OK(werr)) { display_dfs_enumstruct(&str); } @@ -243,6 +249,7 @@ static WERROR cmd_dfs_enumex(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, struct dfs_EnumArray4 info4; struct dfs_EnumArray200 info200; struct dfs_EnumArray300 info300; + struct dcerpc_binding_handle *b = cli->binding_handle; NTSTATUS result; WERROR werr; @@ -270,10 +277,12 @@ static WERROR cmd_dfs_enumex(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, break; } - result = rpccli_dfs_EnumEx(cli, mem_ctx, argv[1], str.level, + result = dcerpc_dfs_EnumEx(b, mem_ctx, argv[1], str.level, 0xFFFFFFFF, &str, &total, &werr); - - if (NT_STATUS_IS_OK(result)) { + if (!NT_STATUS_IS_OK(result)) { + return ntstatus_to_werror(result); + } + if (W_ERROR_IS_OK(werr)) { display_dfs_enumstruct(&str); } @@ -289,6 +298,7 @@ static WERROR cmd_dfs_getinfo(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, const char *path, *servername, *sharename; uint32 info_level = 1; union dfs_Info ctr; + struct dcerpc_binding_handle *b = cli->binding_handle; if (argc < 4 || argc > 5) { printf("Usage: %s path servername sharename " @@ -303,10 +313,12 @@ static WERROR cmd_dfs_getinfo(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, if (argc == 5) info_level = atoi(argv[4]); - result = rpccli_dfs_GetInfo(cli, mem_ctx, path, servername, + result = dcerpc_dfs_GetInfo(b, mem_ctx, path, servername, sharename, info_level, &ctr, &werr); - - if (NT_STATUS_IS_OK(result)) { + if (!NT_STATUS_IS_OK(result)) { + return ntstatus_to_werror(result); + } + if (W_ERROR_IS_OK(werr)) { display_dfs_info(info_level, &ctr); } diff --git a/source3/wscript_build b/source3/wscript_build index 5fa5296..a9e2e24 100644 --- a/source3/wscript_build +++ b/source3/wscript_build @@ -1137,10 +1137,6 @@ bld.SAMBA_SUBSYSTEM('RPCCLI_SVCCTL', source='../librpc/gen_ndr/cli_svcctl.c', public_deps='RPC_NDR_SVCCTL') -bld.SAMBA_SUBSYSTEM('RPCCLI_DFS', - source='../librpc/gen_ndr/cli_dfs.c', - public_deps='RPC_NDR_DFS') - bld.SAMBA_SUBSYSTEM('RPCCLI_DRSUAPI', source='../librpc/gen_ndr/cli_drsuapi.c', public_deps='RPC_NDR_DRSUAPI') @@ -1231,7 +1227,7 @@ bld.SAMBA_BINARY('rpcclient/rpcclient', LIBADS SMBREADLINE DCUTIL RPCCLI_WINREG RPCCLI_ECHO RPC_CLIENT_SCHANNEL LIBCLI_SAMR LIBCLI_LSA LIBCLI_NETLOGON LIBCLI_SPOOLSS - RPCCLI_SRVSVC RPCCLI_WKSSVC RPC_NDR_DSSETUP RPCCLI_DFS + RPCCLI_SRVSVC RPCCLI_WKSSVC RPC_NDR_DSSETUP RPC_NDR_DFS RPCCLI_DRSUAPI RPC_NDR_NTSVCS RPCCLI_EVENTLOG INIT_NETLOGON INIT_SAMR ''', -- Samba Shared Repository