[SCM] Samba Shared Repository - branch v3-devel updated - release-3-2-0pre2-4015-gafdd14c

Günther Deschner gd at samba.org
Fri Sep 5 11:17:15 GMT 2008


The branch, v3-devel has been updated
       via  afdd14c26c27c9fa245165985a5d8e644855c4b5 (commit)
       via  e28c332f32c4f7b1ac493f69f17254185d9cee96 (commit)
       via  39a42380ca3fac92eb27bded90ab06f7760937b9 (commit)
       via  b66cee247fa7ef5293074b191b9cc2cbf4eef5f3 (commit)
       via  03a7f7f33370d65493a81ccead2038ee3ab291d0 (commit)
       via  038ec4d73a04e53c1cc0a1fa6a830d1032dee489 (commit)
       via  8a5b0b639240c829cb5bde1bed1707b3ea4ac480 (commit)
      from  8d541a3579637bb48c04ebb2b18844509c1f43e8 (commit)

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


- Log -----------------------------------------------------------------
commit afdd14c26c27c9fa245165985a5d8e644855c4b5
Author: Günther Deschner <gd at samba.org>
Date:   Tue Sep 2 13:24:51 2008 +0200

    netapi: move join related examples to one directory.
    
    Guenther

commit e28c332f32c4f7b1ac493f69f17254185d9cee96
Author: Günther Deschner <gd at samba.org>
Date:   Tue Sep 2 13:18:32 2008 +0200

    netapi: add NetRenameMachineInDomain example code.
    
    Guenther

commit 39a42380ca3fac92eb27bded90ab06f7760937b9
Author: Günther Deschner <gd at samba.org>
Date:   Tue Sep 2 13:17:57 2008 +0200

    netapi: implement NetRenameMachineInDomain_r.
    
    Guenther

commit b66cee247fa7ef5293074b191b9cc2cbf4eef5f3
Author: Günther Deschner <gd at samba.org>
Date:   Tue Sep 2 11:06:22 2008 +0200

    netapi: add NetRenameMachineInDomain to public header.
    
    Guenther

commit 03a7f7f33370d65493a81ccead2038ee3ab291d0
Author: Günther Deschner <gd at samba.org>
Date:   Tue Sep 2 11:02:43 2008 +0200

    netapi: add skeleton for NetRenameMachineInDomain.
    
    Guenther

commit 038ec4d73a04e53c1cc0a1fa6a830d1032dee489
Author: Günther Deschner <gd at samba.org>
Date:   Tue Sep 2 10:59:44 2008 +0200

    re-run make idl.
    
    Guenther

commit 8a5b0b639240c829cb5bde1bed1707b3ea4ac480
Author: Günther Deschner <gd at samba.org>
Date:   Tue Sep 2 10:58:54 2008 +0200

    netapi: add NetRenameMachineInDomain to IDL.
    
    Guenther

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

Summary of changes:
 source/lib/netapi/examples/Makefile.in             |   10 ++-
 .../examples/getjoinableous/getjoinableous.c       |   95 ------------------
 source/lib/netapi/examples/join/getjoinableous.c   |   95 ++++++++++++++++++
 source/lib/netapi/examples/join/netdomjoin.c       |  104 ++++++++++++++++++++
 source/lib/netapi/examples/join/rename_machine.c   |   86 ++++++++++++++++
 source/lib/netapi/examples/netdomjoin/netdomjoin.c |  104 --------------------
 source/lib/netapi/joindomain.c                     |   52 ++++++++++
 source/lib/netapi/libnetapi.c                      |   48 +++++++++
 source/lib/netapi/libnetapi.h                      |    9 ++
 source/lib/netapi/netapi.h                         |   23 +++++
 source/librpc/gen_ndr/libnetapi.h                  |   16 +++
 source/librpc/gen_ndr/ndr_libnetapi.c              |   26 +++++
 source/librpc/gen_ndr/ndr_libnetapi.h              |   79 ++++++++-------
 source/librpc/idl/libnetapi.idl                    |   12 +++
 14 files changed, 521 insertions(+), 238 deletions(-)
 delete mode 100644 source/lib/netapi/examples/getjoinableous/getjoinableous.c
 create mode 100644 source/lib/netapi/examples/join/getjoinableous.c
 create mode 100644 source/lib/netapi/examples/join/netdomjoin.c
 create mode 100644 source/lib/netapi/examples/join/rename_machine.c
 delete mode 100644 source/lib/netapi/examples/netdomjoin/netdomjoin.c


Changeset truncated at 500 lines:

diff --git a/source/lib/netapi/examples/Makefile.in b/source/lib/netapi/examples/Makefile.in
index 169736c..ee72a95 100644
--- a/source/lib/netapi/examples/Makefile.in
+++ b/source/lib/netapi/examples/Makefile.in
@@ -22,6 +22,7 @@ PROGS = bin/getdc at EXEEXT@ \
 	bin/netdomjoin at EXEEXT@ \
 	bin/netdomjoin-gui at EXEEXT@ \
 	bin/getjoinableous at EXEEXT@ \
+	bin/rename_machine at EXEEXT@ \
 	bin/user_add at EXEEXT@ \
 	bin/user_del at EXEEXT@ \
 	bin/user_enum at EXEEXT@ \
@@ -84,9 +85,10 @@ bin/.dummy:
 CMDLINE_OBJ = common.o
 GETDC_OBJ = getdc/getdc.o $(CMDLINE_OBJ)
 DSGETDC_OBJ = dsgetdc/dsgetdc.o $(CMDLINE_OBJ)
-NETDOMJOIN_OBJ = netdomjoin/netdomjoin.o $(CMDLINE_OBJ)
+NETDOMJOIN_OBJ = join/netdomjoin.o $(CMDLINE_OBJ)
 NETDOMJOIN_GUI_OBJ = netdomjoin-gui/netdomjoin-gui.o
-GETJOINABLEOUS_OBJ = getjoinableous/getjoinableous.o $(CMDLINE_OBJ)
+GETJOINABLEOUS_OBJ = join/getjoinableous.o $(CMDLINE_OBJ)
+RENAMEMACHINE_OBJ = join/rename_machine.o $(CMDLINE_OBJ)
 USERADD_OBJ = user/user_add.o $(CMDLINE_OBJ)
 USERDEL_OBJ = user/user_del.o $(CMDLINE_OBJ)
 USERENUM_OBJ = user/user_enum.o $(CMDLINE_OBJ)
@@ -132,6 +134,10 @@ bin/getjoinableous at EXEEXT@: $(BINARY_PREREQS) $(GETJOINABLEOUS_OBJ)
 	@echo Linking $@
 	@$(CC) $(FLAGS) -o $@ $(GETJOINABLEOUS_OBJ) $(LDFLAGS) $(DYNEXP) $(CMDLINE_LIBS)
 
+bin/rename_machine at EXEEXT@: $(BINARY_PREREQS) $(RENAMEMACHINE_OBJ)
+	@echo Linking $@
+	@$(CC) $(FLAGS) -o $@ $(RENAMEMACHINE_OBJ) $(LDFLAGS) $(DYNEXP) $(CMDLINE_LIBS)
+
 bin/netdomjoin at EXEEXT@: $(BINARY_PREREQS) $(NETDOMJOIN_OBJ)
 	@echo Linking $@
 	@$(CC) $(FLAGS) -o $@ $(NETDOMJOIN_OBJ) $(LDFLAGS) $(DYNEXP) $(CMDLINE_LIBS)
diff --git a/source/lib/netapi/examples/getjoinableous/getjoinableous.c b/source/lib/netapi/examples/getjoinableous/getjoinableous.c
deleted file mode 100644
index 732f73d..0000000
--- a/source/lib/netapi/examples/getjoinableous/getjoinableous.c
+++ /dev/null
@@ -1,95 +0,0 @@
-/*
- *  Unix SMB/CIFS implementation.
- *  Join Support (cmdline + netapi)
- *  Copyright (C) Guenther Deschner 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/>.
- */
-
-#include <string.h>
-#include <stdio.h>
-#include <sys/types.h>
-#include <inttypes.h>
-
-#include <netapi.h>
-
-#include "common.h"
-
-int main(int argc, const char **argv)
-{
-	NET_API_STATUS status;
-	const char *host_name = NULL;
-	const char *domain_name = NULL;
-	const char **ous = NULL;
-	uint32_t num_ous = 0;
-	struct libnetapi_ctx *ctx = NULL;
-	int i;
-
-	poptContext pc;
-	int opt;
-
-	struct poptOption long_options[] = {
-		POPT_AUTOHELP
-		{ "domain", 0, POPT_ARG_STRING, NULL, 'D', "Domain name", "DOMAIN" },
-		POPT_COMMON_LIBNETAPI_EXAMPLES
-		POPT_TABLEEND
-	};
-
-	status = libnetapi_init(&ctx);
-	if (status != 0) {
-		return status;
-	}
-
-	pc = poptGetContext("getjoinableous", argc, argv, long_options, 0);
-
-	poptSetOtherOptionHelp(pc, "hostname domainname");
-	while((opt = poptGetNextOpt(pc)) != -1) {
-		switch (opt) {
-			case 'D':
-				domain_name = poptGetOptArg(pc);
-				break;
-		}
-	}
-
-	if (!poptPeekArg(pc)) {
-		poptPrintHelp(pc, stderr, 0);
-		goto out;
-	}
-	host_name = poptGetArg(pc);
-
-	/* NetGetJoinableOUs */
-
-	status = NetGetJoinableOUs(host_name,
-				   domain_name,
-				   ctx->username,
-				   ctx->password,
-				   &num_ous,
-				   &ous);
-	if (status != 0) {
-		printf("failed with: %s\n",
-			libnetapi_get_error_string(ctx, status));
-	} else {
-		printf("Successfully queried joinable ous:\n");
-		for (i=0; i<num_ous; i++) {
-			printf("ou: %s\n", ous[i]);
-		}
-	}
-
- out:
-	NetApiBufferFree(ous);
-	libnetapi_free(ctx);
-	poptFreeContext(pc);
-
-	return status;
-}
diff --git a/source/lib/netapi/examples/join/getjoinableous.c b/source/lib/netapi/examples/join/getjoinableous.c
new file mode 100644
index 0000000..732f73d
--- /dev/null
+++ b/source/lib/netapi/examples/join/getjoinableous.c
@@ -0,0 +1,95 @@
+/*
+ *  Unix SMB/CIFS implementation.
+ *  Join Support (cmdline + netapi)
+ *  Copyright (C) Guenther Deschner 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/>.
+ */
+
+#include <string.h>
+#include <stdio.h>
+#include <sys/types.h>
+#include <inttypes.h>
+
+#include <netapi.h>
+
+#include "common.h"
+
+int main(int argc, const char **argv)
+{
+	NET_API_STATUS status;
+	const char *host_name = NULL;
+	const char *domain_name = NULL;
+	const char **ous = NULL;
+	uint32_t num_ous = 0;
+	struct libnetapi_ctx *ctx = NULL;
+	int i;
+
+	poptContext pc;
+	int opt;
+
+	struct poptOption long_options[] = {
+		POPT_AUTOHELP
+		{ "domain", 0, POPT_ARG_STRING, NULL, 'D', "Domain name", "DOMAIN" },
+		POPT_COMMON_LIBNETAPI_EXAMPLES
+		POPT_TABLEEND
+	};
+
+	status = libnetapi_init(&ctx);
+	if (status != 0) {
+		return status;
+	}
+
+	pc = poptGetContext("getjoinableous", argc, argv, long_options, 0);
+
+	poptSetOtherOptionHelp(pc, "hostname domainname");
+	while((opt = poptGetNextOpt(pc)) != -1) {
+		switch (opt) {
+			case 'D':
+				domain_name = poptGetOptArg(pc);
+				break;
+		}
+	}
+
+	if (!poptPeekArg(pc)) {
+		poptPrintHelp(pc, stderr, 0);
+		goto out;
+	}
+	host_name = poptGetArg(pc);
+
+	/* NetGetJoinableOUs */
+
+	status = NetGetJoinableOUs(host_name,
+				   domain_name,
+				   ctx->username,
+				   ctx->password,
+				   &num_ous,
+				   &ous);
+	if (status != 0) {
+		printf("failed with: %s\n",
+			libnetapi_get_error_string(ctx, status));
+	} else {
+		printf("Successfully queried joinable ous:\n");
+		for (i=0; i<num_ous; i++) {
+			printf("ou: %s\n", ous[i]);
+		}
+	}
+
+ out:
+	NetApiBufferFree(ous);
+	libnetapi_free(ctx);
+	poptFreeContext(pc);
+
+	return status;
+}
diff --git a/source/lib/netapi/examples/join/netdomjoin.c b/source/lib/netapi/examples/join/netdomjoin.c
new file mode 100644
index 0000000..08ce71b
--- /dev/null
+++ b/source/lib/netapi/examples/join/netdomjoin.c
@@ -0,0 +1,104 @@
+/*
+ *  Unix SMB/CIFS implementation.
+ *  Join Support (cmdline + netapi)
+ *  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/>.
+ */
+
+#include <sys/types.h>
+#include <inttypes.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+
+#include <netapi.h>
+
+#include "common.h"
+
+enum {
+	OPT_OU = 1000
+};
+
+int main(int argc, const char **argv)
+{
+	NET_API_STATUS status;
+	const char *host_name = NULL;
+	const char *domain_name = NULL;
+	const char *account_ou = NULL;
+	const char *account = NULL;
+	const char *password = NULL;
+	uint32_t join_flags = NETSETUP_JOIN_DOMAIN |
+			      NETSETUP_ACCT_CREATE |
+			      NETSETUP_DOMAIN_JOIN_IF_JOINED;
+	struct libnetapi_ctx *ctx = NULL;
+
+	poptContext pc;
+	int opt;
+
+	struct poptOption long_options[] = {
+		POPT_AUTOHELP
+		{ "ou", 0, POPT_ARG_STRING, &account_ou, 'U', "Account ou", "ACCOUNT_OU" },
+		{ "domain", 0, POPT_ARG_STRING, &domain_name, 'U', "Domain name (required)", "DOMAIN" },
+		{ "userd", 0, POPT_ARG_STRING, &account, 'U', "Domain admin account", "USERNAME" },
+		{ "passwordd", 0, POPT_ARG_STRING, &password, 'U', "Domain admin password", "PASSWORD" },
+		POPT_COMMON_LIBNETAPI_EXAMPLES
+		POPT_TABLEEND
+	};
+
+
+	status = libnetapi_init(&ctx);
+	if (status != 0) {
+		return status;
+	}
+
+	pc = poptGetContext("netdomjoin", argc, argv, long_options, 0);
+
+	poptSetOtherOptionHelp(pc, "hostname");
+	while((opt = poptGetNextOpt(pc)) != -1) {
+	}
+
+	if (!poptPeekArg(pc)) {
+		poptPrintHelp(pc, stderr, 0);
+		goto out;
+	}
+	host_name = poptGetArg(pc);
+
+	if (!domain_name) {
+		poptPrintHelp(pc, stderr, 0);
+		goto out;
+	}
+
+	/* NetJoinDomain */
+
+	status = NetJoinDomain(host_name,
+			       domain_name,
+			       account_ou,
+			       account,
+			       password,
+			       join_flags);
+	if (status != 0) {
+		const char *errstr = NULL;
+		errstr = libnetapi_get_error_string(ctx, status);
+		printf("Join failed with: %s\n", errstr);
+	} else {
+		printf("Successfully joined\n");
+	}
+
+ out:
+	libnetapi_free(ctx);
+	poptFreeContext(pc);
+
+	return status;
+}
diff --git a/source/lib/netapi/examples/join/rename_machine.c b/source/lib/netapi/examples/join/rename_machine.c
new file mode 100644
index 0000000..a21f919
--- /dev/null
+++ b/source/lib/netapi/examples/join/rename_machine.c
@@ -0,0 +1,86 @@
+/*
+ *  Unix SMB/CIFS implementation.
+ *  NetRenameMachineInDomain query
+ *  Copyright (C) Guenther Deschner 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/>.
+ */
+
+#include <string.h>
+#include <stdio.h>
+#include <sys/types.h>
+#include <inttypes.h>
+
+#include <netapi.h>
+
+#include "common.h"
+
+int main(int argc, const char **argv)
+{
+	NET_API_STATUS status;
+	const char *host_name = NULL;
+	const char *new_machine_name = NULL;
+	uint32_t rename_opt = 0;
+	struct libnetapi_ctx *ctx = NULL;
+
+	poptContext pc;
+	int opt;
+
+	struct poptOption long_options[] = {
+		POPT_AUTOHELP
+		POPT_COMMON_LIBNETAPI_EXAMPLES
+		POPT_TABLEEND
+	};
+
+	status = libnetapi_init(&ctx);
+	if (status != 0) {
+		return status;
+	}
+
+	pc = poptGetContext("rename_machine", argc, argv, long_options, 0);
+
+	poptSetOtherOptionHelp(pc, "hostname newmachinename");
+	while((opt = poptGetNextOpt(pc)) != -1) {
+	}
+
+	if (!poptPeekArg(pc)) {
+		poptPrintHelp(pc, stderr, 0);
+		goto out;
+	}
+	host_name = poptGetArg(pc);
+
+	if (!poptPeekArg(pc)) {
+		poptPrintHelp(pc, stderr, 0);
+		goto out;
+	}
+	new_machine_name = poptGetArg(pc);
+
+	/* NetRenameMachineInDomain */
+
+	status = NetRenameMachineInDomain(host_name,
+					  new_machine_name,
+					  ctx->username,
+					  ctx->password,
+					  rename_opt);
+	if (status != 0) {
+		printf("failed with: %s\n",
+			libnetapi_get_error_string(ctx, status));
+	}
+
+ out:
+	libnetapi_free(ctx);
+	poptFreeContext(pc);
+
+	return status;
+}
diff --git a/source/lib/netapi/examples/netdomjoin/netdomjoin.c b/source/lib/netapi/examples/netdomjoin/netdomjoin.c
deleted file mode 100644
index 08ce71b..0000000
--- a/source/lib/netapi/examples/netdomjoin/netdomjoin.c
+++ /dev/null
@@ -1,104 +0,0 @@
-/*
- *  Unix SMB/CIFS implementation.
- *  Join Support (cmdline + netapi)
- *  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/>.
- */
-
-#include <sys/types.h>
-#include <inttypes.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-
-#include <netapi.h>
-
-#include "common.h"
-
-enum {
-	OPT_OU = 1000
-};
-
-int main(int argc, const char **argv)
-{
-	NET_API_STATUS status;
-	const char *host_name = NULL;
-	const char *domain_name = NULL;
-	const char *account_ou = NULL;
-	const char *account = NULL;
-	const char *password = NULL;
-	uint32_t join_flags = NETSETUP_JOIN_DOMAIN |
-			      NETSETUP_ACCT_CREATE |
-			      NETSETUP_DOMAIN_JOIN_IF_JOINED;
-	struct libnetapi_ctx *ctx = NULL;
-
-	poptContext pc;
-	int opt;
-
-	struct poptOption long_options[] = {
-		POPT_AUTOHELP
-		{ "ou", 0, POPT_ARG_STRING, &account_ou, 'U', "Account ou", "ACCOUNT_OU" },
-		{ "domain", 0, POPT_ARG_STRING, &domain_name, 'U', "Domain name (required)", "DOMAIN" },
-		{ "userd", 0, POPT_ARG_STRING, &account, 'U', "Domain admin account", "USERNAME" },


-- 
Samba Shared Repository


More information about the samba-cvs mailing list