[SCM] Samba Shared Repository - branch v3-2-stable updated - initial-v3-2-test-1389-gef2e825

Gerald (Jerry) Carter jerry at samba.org
Tue Jan 15 16:49:13 GMT 2008


The branch, v3-2-stable has been updated
       via  ef2e825e1fe5493115d2b271c2f4198e9e5b1f47 (commit)
       via  5a527476a07ea43178dc5afeaf8ad78da8a4080c (commit)
       via  642424b3779dd33cd2b5049789aa16e678438bb9 (commit)
       via  151b42a150a17f566e7b4055bbdbc0564a3c106d (commit)
       via  08c1720509dffa2886ed057e2d14907699122f3c (commit)
       via  7a3fe68bef7acde9d9f8a7a44ce7e9432f3c5a95 (commit)
       via  561e529a711338b2a3191f1b04f384f5ab3413ac (commit)
       via  58c806dbf85fd634c8f3559a035751a4cd0b5c4b (commit)
       via  15d0e574386e39a4d2fa61cd268b48dfa5c84dcb (commit)
       via  586d6cef521cebfd6fe2d433fdef498d4a59cb1b (commit)
       via  d94bd3a03b574b3fdddd62add25b0c04673500a3 (commit)
       via  0a914a55bab30d765872d72cfdd59889d2afe42a (commit)
       via  f44f76415a7ce3ea73b5c52494f3b36feab4c870 (commit)
       via  7a48779ee5ec8bdd5e2b5eef94fd465f733b74b4 (commit)
       via  9a4b6fd3e21f54a0ff83f1fd0d0d5331a2cfdd0a (commit)
       via  beaa83f32bd367f1b6ec72ef80a8a258d662f523 (commit)
       via  1941c365b50d48fc90f0f98059b8cccf6c7a1a06 (commit)
      from  04e0460c7e4adfe29a8c788e1912129c4c0c7e62 (commit)

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=v3-2-stable


- Log -----------------------------------------------------------------
commit ef2e825e1fe5493115d2b271c2f4198e9e5b1f47
Author: Gerald (Jerry) Carter <jerry at samba.org>
Date:   Tue Jan 15 10:48:49 2008 -0600

    Update release notes for vfs_ea_rename to complete the recent merge.

commit 5a527476a07ea43178dc5afeaf8ad78da8a4080c
Merge: 04e0460c7e4adfe29a8c788e1912129c4c0c7e62 642424b3779dd33cd2b5049789aa16e678438bb9
Author: Gerald (Jerry) Carter <jerry at samba.org>
Date:   Tue Jan 15 10:47:07 2008 -0600

    Merge commit 'samba/v3-2-test' into v3-2-stable

-----------------------------------------------------------------------

Summary of changes:
 WHATSNEW.txt                            |    2 +-
 source/Makefile.in                      |   13 +-
 source/configure.in                     |    4 +-
 source/include/smb.h                    |    2 +
 source/libnet/libnet.h                  |    2 +-
 source/libnet/libnet_join.c             |   16 +-
 source/libnet/libnet_join.h             |   75 ----
 source/librpc/gen_ndr/libnet_join.h     |   73 +++
 source/librpc/gen_ndr/ndr_libnet_join.c |  103 +++++
 source/librpc/gen_ndr/ndr_libnet_join.h |   20 +
 source/librpc/idl/libnet_join.idl       |   60 +++
 source/librpc/ndr/ndr_basic.c           |   11 +
 source/librpc/ndr/ndr_misc.c            |   81 ++++
 source/modules/vfs_ea_tdb.c             |  736 ------------------------------
 source/modules/vfs_xattr_tdb.c          |  737 +++++++++++++++++++++++++++++++
 source/registry/reg_api.c               |   25 +-
 source/rpc_client/cli_lsarpc.c          |    8 +-
 source/rpcclient/rpcclient.c            |    2 +-
 source/script/tests/selftest.sh         |    2 +-
 source/utils/net.h                      |    2 +-
 source/utils/net_ads.c                  |    7 +-
 source/utils/net_domain.c               |    2 +-
 source/utils/net_rpc.c                  |   11 +-
 source/utils/net_rpc_join.c             |    4 +-
 source/winbindd/winbindd_cm.c           |    6 +-
 25 files changed, 1149 insertions(+), 855 deletions(-)
 delete mode 100644 source/libnet/libnet_join.h
 create mode 100644 source/librpc/gen_ndr/libnet_join.h
 create mode 100644 source/librpc/gen_ndr/ndr_libnet_join.c
 create mode 100644 source/librpc/gen_ndr/ndr_libnet_join.h
 create mode 100644 source/librpc/idl/libnet_join.idl
 delete mode 100644 source/modules/vfs_ea_tdb.c
 create mode 100644 source/modules/vfs_xattr_tdb.c


Changeset truncated at 500 lines:

diff --git a/WHATSNEW.txt b/WHATSNEW.txt
index 86f8ad9..253fe26 100644
--- a/WHATSNEW.txt
+++ b/WHATSNEW.txt
@@ -175,7 +175,7 @@ o   Volker Lendecke <vl at samba.org>
     * Add generic a in-memory cache.
     * Import the Linux red-black tree implementation.
     * Remove large amount of global variables.
-    * Add vfs_ea_tdb module for file systems that do not implement xattrs.
+    * Add vfs_xattr_tdb module for file systems that do not implement xattrs.
 
 
 o   Stefan Metzmacher <metze at samba.org>
diff --git a/source/Makefile.in b/source/Makefile.in
index 4260145..46f733c 100644
--- a/source/Makefile.in
+++ b/source/Makefile.in
@@ -268,7 +268,8 @@ LIBNDR_GEN_OBJ = librpc/gen_ndr/ndr_wkssvc.o \
 		 librpc/gen_ndr/ndr_srvsvc.o \
 		 librpc/gen_ndr/ndr_svcctl.o \
 		 librpc/gen_ndr/ndr_eventlog.o \
-		 librpc/gen_ndr/ndr_notify.o
+		 librpc/gen_ndr/ndr_notify.o \
+		 librpc/gen_ndr/ndr_libnet_join.o
 
 RPC_PARSE_OBJ0 = rpc_parse/parse_prs.o rpc_parse/parse_misc.o
 
@@ -503,7 +504,7 @@ VFS_CAP_OBJ = modules/vfs_cap.o
 VFS_EXPAND_MSDFS_OBJ = modules/vfs_expand_msdfs.o
 VFS_SHADOW_COPY_OBJ = modules/vfs_shadow_copy.o
 VFS_AFSACL_OBJ = modules/vfs_afsacl.o
-VFS_EA_TDB_OBJ = modules/vfs_ea_tdb.o librpc/gen_ndr/ndr_xattr.o
+VFS_XATTR_TDB_OBJ = modules/vfs_xattr_tdb.o librpc/gen_ndr/ndr_xattr.o
 VFS_POSIXACL_OBJ = modules/vfs_posixacl.o
 VFS_AIXACL_OBJ = modules/vfs_aixacl.o modules/vfs_aixacl_util.o
 VFS_AIXACL2_OBJ = modules/vfs_aixacl2.o modules/vfs_aixacl_util.o modules/nfs4_acls.o
@@ -1403,9 +1404,9 @@ bin/libwbclient. at SHLIBEXT@: $(BINARY_PREREQS) $(LIBWBCLIENT_OBJ)
 		@SONAMEFLAG@`basename $@`.$(SONAME_VER)
 	@ln -s -f `basename $@` $@.$(SONAME_VER)
 
-bin/libwbclient.a: $(BINARY_PREREQS) $(LIBWBCLIENT_OBJ)
+bin/libwbclient.a: $(BINARY_PREREQS) $(LIBWBCLIENT_OBJ0)
 	@echo Linking non-shared library $@
-	@-$(AR) -rc $@ $(LIBWBCLIENT_OBJ)
+	@-$(AR) -rc $@ $(LIBWBCLIENT_OBJ0)
 
 bin/libaddns. at SHLIBEXT@: $(BINARY_PREREQS) $(LIBADDNS_OBJ)
 	@echo Linking shared library $@
@@ -1685,9 +1686,9 @@ bin/afsacl. at SHLIBEXT@: $(BINARY_PREREQS) $(VFS_AFSACL_OBJ)
 	@echo "Building plugin $@"
 	@$(SHLD_MODULE) $(VFS_AFSACL_OBJ)
 
-bin/ea_tdb. at SHLIBEXT@: $(BINARY_PREREQS) $(VFS_EA_TDB_OBJ)
+bin/xattr_tdb. at SHLIBEXT@: $(BINARY_PREREQS) $(VFS_XATTR_TDB_OBJ)
 	@echo "Building plugin $@"
-	@$(SHLD_MODULE) $(VFS_EA_TDB_OBJ)
+	@$(SHLD_MODULE) $(VFS_XATTR_TDB_OBJ)
 
 bin/posixacl. at SHLIBEXT@: $(BINARY_PREREQS) $(VFS_POSIXACL_OBJ)
 	@echo "Building plugin $@"
diff --git a/source/configure.in b/source/configure.in
index 4ddc644..cd04b59 100644
--- a/source/configure.in
+++ b/source/configure.in
@@ -707,7 +707,7 @@ dnl These have to be built static:
 default_static_modules="pdb_smbpasswd pdb_tdbsam rpc_lsa rpc_samr rpc_winreg rpc_initshutdown rpc_lsa_ds rpc_wkssvc rpc_svcctl2 rpc_ntsvcs rpc_net rpc_netdfs rpc_srvsvc2 rpc_spoolss rpc_eventlog2 auth_sam auth_unix auth_winbind auth_server auth_domain auth_builtin vfs_default nss_info_template"
 
 dnl These are preferably build shared, and static if dlopen() is not available
-default_shared_modules="vfs_recycle vfs_audit vfs_extd_audit vfs_full_audit vfs_netatalk vfs_fake_perms vfs_default_quota vfs_readonly vfs_cap vfs_expand_msdfs vfs_shadow_copy charset_CP850 charset_CP437 auth_script vfs_readahead vfs_syncops vfs_ea_tdb"
+default_shared_modules="vfs_recycle vfs_audit vfs_extd_audit vfs_full_audit vfs_netatalk vfs_fake_perms vfs_default_quota vfs_readonly vfs_cap vfs_expand_msdfs vfs_shadow_copy charset_CP850 charset_CP437 auth_script vfs_readahead vfs_syncops vfs_xattr_tdb"
 
 if test "x$developer" = xyes; then
    default_static_modules="$default_static_modules rpc_rpcecho"
@@ -6489,7 +6489,7 @@ SMB_MODULE(vfs_cap, \$(VFS_CAP_OBJ), "bin/cap.$SHLIBEXT", VFS)
 SMB_MODULE(vfs_expand_msdfs, \$(VFS_EXPAND_MSDFS_OBJ), "bin/expand_msdfs.$SHLIBEXT", VFS)
 SMB_MODULE(vfs_shadow_copy, \$(VFS_SHADOW_COPY_OBJ), "bin/shadow_copy.$SHLIBEXT", VFS)
 SMB_MODULE(vfs_afsacl, \$(VFS_AFSACL_OBJ), "bin/afsacl.$SHLIBEXT", VFS)
-SMB_MODULE(vfs_ea_tdb, \$(VFS_EA_TDB_OBJ), "bin/ea_tdb.$SHLIBEXT", VFS)
+SMB_MODULE(vfs_xattr_tdb, \$(VFS_XATTR_TDB_OBJ), "bin/xattr_tdb.$SHLIBEXT", VFS)
 SMB_MODULE(vfs_posixacl, \$(VFS_POSIXACL_OBJ), "bin/posixacl.$SHLIBEXT", VFS)
 SMB_MODULE(vfs_aixacl, \$(VFS_AIXACL_OBJ), "bin/aixacl.$SHLIBEXT", VFS)
 SMB_MODULE(vfs_aixacl2, \$(VFS_AIXACL2_OBJ), "bin/aixacl2.$SHLIBEXT", VFS)
diff --git a/source/include/smb.h b/source/include/smb.h
index 49245ea..744acd7 100644
--- a/source/include/smb.h
+++ b/source/include/smb.h
@@ -322,6 +322,8 @@ struct id_map {
 #include "librpc/gen_ndr/wkssvc.h"
 #include "librpc/gen_ndr/echo.h"
 #include "librpc/gen_ndr/svcctl.h"
+#include "librpc/gen_ndr/libnet_join.h"
+
 
 struct lsa_dom_info {
 	bool valid;
diff --git a/source/libnet/libnet.h b/source/libnet/libnet.h
index d6238ca..97e720f 100644
--- a/source/libnet/libnet.h
+++ b/source/libnet/libnet.h
@@ -20,7 +20,7 @@
 #ifndef __LIBNET_H__
 #define __LIBNET_H__
 
-#include "libnet/libnet_join.h"
+#include "librpc/gen_ndr/libnet_join.h"
 #include "libnet/libnet_conf.h"
 #include "libnet/libnet_proto.h"
 
diff --git a/source/libnet/libnet_join.c b/source/libnet/libnet_join.c
index c60f4c9..a189a38 100644
--- a/source/libnet/libnet_join.c
+++ b/source/libnet/libnet_join.c
@@ -236,7 +236,6 @@ static ADS_STATUS libnet_join_find_machine_acct(TALLOC_CTX *mem_ctx,
 		goto done;
 	}
 
-	TALLOC_FREE(r->out.dn);
 	r->out.dn = talloc_strdup(mem_ctx, dn);
 	if (!r->out.dn) {
 		status = ADS_ERROR_LDAP(LDAP_NO_MEMORY);
@@ -1214,6 +1213,10 @@ WERROR libnet_Join(TALLOC_CTX *mem_ctx,
 {
 	WERROR werr;
 
+	if (r->in.debug) {
+		NDR_PRINT_IN_DEBUG(libnet_JoinCtx, r);
+	}
+
 	werr = libnet_join_pre_processing(mem_ctx, r);
 	if (!W_ERROR_IS_OK(werr)) {
 		goto done;
@@ -1231,6 +1234,9 @@ WERROR libnet_Join(TALLOC_CTX *mem_ctx,
 		goto done;
 	}
  done:
+	if (r->in.debug) {
+		NDR_PRINT_OUT_DEBUG(libnet_JoinCtx, r);
+	}
 	return werr;
 }
 
@@ -1321,6 +1327,10 @@ WERROR libnet_Unjoin(TALLOC_CTX *mem_ctx,
 {
 	WERROR werr;
 
+	if (r->in.debug) {
+		NDR_PRINT_IN_DEBUG(libnet_UnjoinCtx, r);
+	}
+
 	werr = libnet_unjoin_pre_processing(mem_ctx, r);
 	if (!W_ERROR_IS_OK(werr)) {
 		goto done;
@@ -1339,5 +1349,9 @@ WERROR libnet_Unjoin(TALLOC_CTX *mem_ctx,
 	}
 
  done:
+	if (r->in.debug) {
+		NDR_PRINT_OUT_DEBUG(libnet_UnjoinCtx, r);
+	}
+
 	return werr;
 }
diff --git a/source/libnet/libnet_join.h b/source/libnet/libnet_join.h
deleted file mode 100644
index c47e8d9..0000000
--- a/source/libnet/libnet_join.h
+++ /dev/null
@@ -1,75 +0,0 @@
-/*
- *  Unix SMB/CIFS implementation.
- *  libnet Join Support
- *  Copyright (C) Guenther Deschner 2007-2008
- *
- *  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/>.
- */
-
-#ifndef __LIBNET_JOIN_H__
-#define __LIBNET_JOIN_H__
-
-struct libnet_JoinCtx {
-	struct {
-		const char *dc_name;
-		const char *machine_name;
-		const char *domain_name;
-		const char *account_ou;
-		const char *admin_account;
-		const char *admin_password;
-		const char *machine_password;
-		uint32_t join_flags;
-		const char *os_version;
-		const char *os_name;
-		bool create_upn;
-		const char *upn;
-		bool modify_config;
-		struct ads_struct *ads;
-		bool debug;
-	} in;
-
-	struct {
-		char *account_name;
-		char *netbios_domain_name;
-		char *dns_domain_name;
-		char *dn;
-		struct dom_sid *domain_sid;
-		bool modified_config;
-		WERROR result;
-		char *error_string;
-		bool domain_is_ad;
-	} out;
-};
-
-struct libnet_UnjoinCtx {
-	struct {
-		const char *dc_name;
-		const char *machine_name;
-		const char *domain_name;
-		const char *admin_account;
-		const char *admin_password;
-		uint32_t unjoin_flags;
-		bool modify_config;
-		struct dom_sid *domain_sid;
-		struct ads_struct *ads;
-	} in;
-
-	struct {
-		bool modified_config;
-		WERROR result;
-		char *error_string;
-	} out;
-};
-
-#endif
diff --git a/source/librpc/gen_ndr/libnet_join.h b/source/librpc/gen_ndr/libnet_join.h
new file mode 100644
index 0000000..40759cb
--- /dev/null
+++ b/source/librpc/gen_ndr/libnet_join.h
@@ -0,0 +1,73 @@
+/* header auto-generated by pidl */
+
+#include <stdint.h>
+
+#include "librpc/gen_ndr/wkssvc.h"
+#include "librpc/gen_ndr/security.h"
+#ifndef _HEADER_libnetjoin
+#define _HEADER_libnetjoin
+
+;
+
+
+struct libnet_JoinCtx {
+	struct {
+		const char * dc_name;
+		const char * machine_name;
+		const char * domain_name;/* [ref] */
+		const char * account_ou;
+		const char * admin_account;
+		const char * admin_password;
+		const char * machine_password;
+		uint32_t join_flags;
+		const char * os_version;
+		const char * os_name;
+		uint8_t create_upn;
+		const char * upn;
+		uint8_t modify_config;
+		struct ads_struct *ads;/* [ref] */
+		uint8_t debug;
+	} in;
+
+	struct {
+		const char * account_name;
+		const char * netbios_domain_name;
+		const char * dns_domain_name;
+		const char * dn;
+		struct dom_sid *domain_sid;/* [ref] */
+		uint8_t modified_config;
+		const char * error_string;
+		uint8_t domain_is_ad;
+		WERROR result;
+	} out;
+
+};
+
+
+struct libnet_UnjoinCtx {
+	struct {
+		const char * dc_name;
+		const char * machine_name;
+		const char * domain_name;
+		const char * account_ou;
+		const char * admin_account;
+		const char * admin_password;
+		const char * machine_password;
+		uint32_t unjoin_flags;
+		uint8_t modify_config;
+		struct dom_sid *domain_sid;/* [ref] */
+		struct ads_struct *ads;/* [ref] */
+		uint8_t debug;
+	} in;
+
+	struct {
+		const char * netbios_domain_name;
+		const char * dns_domain_name;
+		uint8_t modified_config;
+		const char * error_string;
+		WERROR result;
+	} out;
+
+};
+
+#endif /* _HEADER_libnetjoin */
diff --git a/source/librpc/gen_ndr/ndr_libnet_join.c b/source/librpc/gen_ndr/ndr_libnet_join.c
new file mode 100644
index 0000000..5345bc0
--- /dev/null
+++ b/source/librpc/gen_ndr/ndr_libnet_join.c
@@ -0,0 +1,103 @@
+/* parser auto-generated by pidl */
+
+#include "includes.h"
+#include "librpc/gen_ndr/ndr_libnet_join.h"
+
+#include "librpc/gen_ndr/ndr_wkssvc.h"
+#include "librpc/gen_ndr/ndr_security.h"
+_PUBLIC_ void ndr_print_libnet_JoinCtx(struct ndr_print *ndr, const char *name, int flags, const struct libnet_JoinCtx *r)
+{
+	ndr_print_struct(ndr, name, "libnet_JoinCtx");
+	ndr->depth++;
+	if (flags & NDR_SET_VALUES) {
+		ndr->flags |= LIBNDR_PRINT_SET_VALUES;
+	}
+	if (flags & NDR_IN) {
+		ndr_print_struct(ndr, "in", "libnet_JoinCtx");
+		ndr->depth++;
+		ndr_print_string(ndr, "dc_name", r->in.dc_name);
+		ndr_print_string(ndr, "machine_name", r->in.machine_name);
+		ndr_print_ptr(ndr, "domain_name", r->in.domain_name);
+		ndr->depth++;
+		ndr_print_string(ndr, "domain_name", r->in.domain_name);
+		ndr->depth--;
+		ndr_print_string(ndr, "account_ou", r->in.account_ou);
+		ndr_print_string(ndr, "admin_account", r->in.admin_account);
+		ndr_print_string(ndr, "admin_password", r->in.admin_password);
+		ndr_print_string(ndr, "machine_password", r->in.machine_password);
+		ndr_print_wkssvc_joinflags(ndr, "join_flags", r->in.join_flags);
+		ndr_print_string(ndr, "os_version", r->in.os_version);
+		ndr_print_string(ndr, "os_name", r->in.os_name);
+		ndr_print_uint8(ndr, "create_upn", r->in.create_upn);
+		ndr_print_string(ndr, "upn", r->in.upn);
+		ndr_print_uint8(ndr, "modify_config", r->in.modify_config);
+		ndr_print_ptr(ndr, "ads", r->in.ads);
+		ndr->depth++;
+		ndr_print_ads_struct(ndr, "ads", r->in.ads);
+		ndr->depth--;
+		ndr_print_uint8(ndr, "debug", r->in.debug);
+		ndr->depth--;
+	}
+	if (flags & NDR_OUT) {
+		ndr_print_struct(ndr, "out", "libnet_JoinCtx");
+		ndr->depth++;
+		ndr_print_string(ndr, "account_name", r->out.account_name);
+		ndr_print_string(ndr, "netbios_domain_name", r->out.netbios_domain_name);
+		ndr_print_string(ndr, "dns_domain_name", r->out.dns_domain_name);
+		ndr_print_string(ndr, "dn", r->out.dn);
+		ndr_print_ptr(ndr, "domain_sid", r->out.domain_sid);
+		ndr->depth++;
+		ndr_print_dom_sid(ndr, "domain_sid", r->out.domain_sid);
+		ndr->depth--;
+		ndr_print_uint8(ndr, "modified_config", r->out.modified_config);
+		ndr_print_string(ndr, "error_string", r->out.error_string);
+		ndr_print_uint8(ndr, "domain_is_ad", r->out.domain_is_ad);
+		ndr_print_WERROR(ndr, "result", r->out.result);
+		ndr->depth--;
+	}
+	ndr->depth--;
+}
+
+_PUBLIC_ void ndr_print_libnet_UnjoinCtx(struct ndr_print *ndr, const char *name, int flags, const struct libnet_UnjoinCtx *r)
+{
+	ndr_print_struct(ndr, name, "libnet_UnjoinCtx");
+	ndr->depth++;
+	if (flags & NDR_SET_VALUES) {
+		ndr->flags |= LIBNDR_PRINT_SET_VALUES;
+	}
+	if (flags & NDR_IN) {
+		ndr_print_struct(ndr, "in", "libnet_UnjoinCtx");
+		ndr->depth++;
+		ndr_print_string(ndr, "dc_name", r->in.dc_name);
+		ndr_print_string(ndr, "machine_name", r->in.machine_name);
+		ndr_print_string(ndr, "domain_name", r->in.domain_name);
+		ndr_print_string(ndr, "account_ou", r->in.account_ou);
+		ndr_print_string(ndr, "admin_account", r->in.admin_account);
+		ndr_print_string(ndr, "admin_password", r->in.admin_password);
+		ndr_print_string(ndr, "machine_password", r->in.machine_password);
+		ndr_print_wkssvc_joinflags(ndr, "unjoin_flags", r->in.unjoin_flags);
+		ndr_print_uint8(ndr, "modify_config", r->in.modify_config);
+		ndr_print_ptr(ndr, "domain_sid", r->in.domain_sid);
+		ndr->depth++;
+		ndr_print_dom_sid(ndr, "domain_sid", r->in.domain_sid);
+		ndr->depth--;
+		ndr_print_ptr(ndr, "ads", r->in.ads);
+		ndr->depth++;
+		ndr_print_ads_struct(ndr, "ads", r->in.ads);
+		ndr->depth--;
+		ndr_print_uint8(ndr, "debug", r->in.debug);
+		ndr->depth--;
+	}
+	if (flags & NDR_OUT) {
+		ndr_print_struct(ndr, "out", "libnet_UnjoinCtx");
+		ndr->depth++;
+		ndr_print_string(ndr, "netbios_domain_name", r->out.netbios_domain_name);
+		ndr_print_string(ndr, "dns_domain_name", r->out.dns_domain_name);
+		ndr_print_uint8(ndr, "modified_config", r->out.modified_config);
+		ndr_print_string(ndr, "error_string", r->out.error_string);
+		ndr_print_WERROR(ndr, "result", r->out.result);
+		ndr->depth--;
+	}
+	ndr->depth--;
+}
+
diff --git a/source/librpc/gen_ndr/ndr_libnet_join.h b/source/librpc/gen_ndr/ndr_libnet_join.h
new file mode 100644
index 0000000..4a5fdf0
--- /dev/null
+++ b/source/librpc/gen_ndr/ndr_libnet_join.h
@@ -0,0 +1,20 @@
+/* header auto-generated by pidl */
+
+#include "librpc/ndr/libndr.h"
+#include "librpc/gen_ndr/libnet_join.h"
+
+#ifndef _HEADER_NDR_libnetjoin
+#define _HEADER_NDR_libnetjoin
+
+#define NDR_LIBNET_JOINCTX (0x00)
+
+#define NDR_LIBNET_UNJOINCTX (0x01)
+
+#define NDR_LIBNETJOIN_CALL_COUNT (2)
+enum ndr_err_code ndr_push_libnet_JoinCtx(struct ndr_push *ndr, int flags, const struct libnet_JoinCtx *r);
+enum ndr_err_code ndr_pull_libnet_JoinCtx(struct ndr_pull *ndr, int flags, struct libnet_JoinCtx *r);
+void ndr_print_libnet_JoinCtx(struct ndr_print *ndr, const char *name, int flags, const struct libnet_JoinCtx *r);
+enum ndr_err_code ndr_push_libnet_UnjoinCtx(struct ndr_push *ndr, int flags, const struct libnet_UnjoinCtx *r);
+enum ndr_err_code ndr_pull_libnet_UnjoinCtx(struct ndr_pull *ndr, int flags, struct libnet_UnjoinCtx *r);
+void ndr_print_libnet_UnjoinCtx(struct ndr_print *ndr, const char *name, int flags, const struct libnet_UnjoinCtx *r);
+#endif /* _HEADER_NDR_libnetjoin */
diff --git a/source/librpc/idl/libnet_join.idl b/source/librpc/idl/libnet_join.idl
new file mode 100644
index 0000000..2741b7b
--- /dev/null
+++ b/source/librpc/idl/libnet_join.idl
@@ -0,0 +1,60 @@
+#include "idl_types.h"
+
+import "wkssvc.idl", "security.idl";
+
+/*
+  libnetjoin interface definition
+*/
+
+[
+	pointer_default(unique)
+]
+interface libnetjoin
+{
+	typedef bitmap wkssvc_joinflags wkssvc_joinflags;
+
+	[nopush,nopull] WERROR libnet_JoinCtx(
+		[in] string dc_name,
+		[in] string machine_name,
+		[in,ref] string *domain_name,
+		[in] string account_ou,
+		[in] string admin_account,
+		[in] string admin_password,
+		[in] string machine_password,
+		[in] wkssvc_joinflags join_flags,
+		[in] string os_version,
+		[in] string os_name,
+		[in] boolean8 create_upn,
+		[in] string upn,
+		[in] boolean8 modify_config,
+		[in] ads_struct *ads,
+		[in] boolean8 debug,
+		[out] string account_name,
+		[out] string netbios_domain_name,
+		[out] string dns_domain_name,
+		[out] string dn,
+		[out] dom_sid *domain_sid,
+		[out] boolean8 modified_config,


-- 
Samba Shared Repository


More information about the samba-cvs mailing list