summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGünther Deschner <gd@samba.org>2008-03-04 19:04:54 +0100
committerKarolin Seeger <kseeger@samba.org>2008-04-22 08:51:48 +0200
commite9d5f77f571f5e7ec6dff1dac69ee26c2af61f89 (patch)
tree69d2e18df9d1d63da632bc0c2d24a20c6f35b6fc
parenta76356a717fd7b340ff93f8e7a43aff0827ed25d (diff)
downloadsamba-e9d5f77f571f5e7ec6dff1dac69ee26c2af61f89.tar.gz
samba-e9d5f77f571f5e7ec6dff1dac69ee26c2af61f89.tar.xz
samba-e9d5f77f571f5e7ec6dff1dac69ee26c2af61f89.zip
Add secure_channel_type to libnetjoin.
Guenther (cherry picked from commit f88910c1e5186737da4eda5a7a396c3238fc6775)
-rw-r--r--source/libnet/libnet_join.c4
-rw-r--r--source/librpc/gen_ndr/libnet_join.h3
-rw-r--r--source/librpc/gen_ndr/ndr_libnet_join.c1
-rw-r--r--source/librpc/idl/libnet_join.idl2
4 files changed, 9 insertions, 1 deletions
diff --git a/source/libnet/libnet_join.c b/source/libnet/libnet_join.c
index 3b874625819..16db032c502 100644
--- a/source/libnet/libnet_join.c
+++ b/source/libnet/libnet_join.c
@@ -632,7 +632,7 @@ static bool libnet_join_joindomain_store_secrets(TALLOC_CTX *mem_ctx,
if (!secrets_store_machine_password(r->in.machine_password,
r->out.netbios_domain_name,
- SEC_CHAN_WKSTA))
+ r->in.secure_channel_type))
{
DEBUG(1,("Failed to save machine password\n"));
return false;
@@ -1463,6 +1463,8 @@ WERROR libnet_init_JoinCtx(TALLOC_CTX *mem_ctx,
ctx->in.machine_name = talloc_strdup(mem_ctx, global_myname());
W_ERROR_HAVE_NO_MEMORY(ctx->in.machine_name);
+ ctx->in.secure_channel_type = SEC_CHAN_WKSTA;
+
*r = ctx;
return WERR_OK;
diff --git a/source/librpc/gen_ndr/libnet_join.h b/source/librpc/gen_ndr/libnet_join.h
index 8dbadcf0a26..0415f030b45 100644
--- a/source/librpc/gen_ndr/libnet_join.h
+++ b/source/librpc/gen_ndr/libnet_join.h
@@ -7,6 +7,8 @@
#ifndef _HEADER_libnetjoin
#define _HEADER_libnetjoin
+enum netr_SchannelType;
+
struct libnet_JoinCtx {
struct {
@@ -25,6 +27,7 @@ struct libnet_JoinCtx {
uint8_t modify_config;
struct ads_struct *ads;/* [ref] */
uint8_t debug;
+ enum netr_SchannelType secure_channel_type;
} in;
struct {
diff --git a/source/librpc/gen_ndr/ndr_libnet_join.c b/source/librpc/gen_ndr/ndr_libnet_join.c
index 2cb1adb1690..753859f0ed7 100644
--- a/source/librpc/gen_ndr/ndr_libnet_join.c
+++ b/source/librpc/gen_ndr/ndr_libnet_join.c
@@ -41,6 +41,7 @@ _PUBLIC_ void ndr_print_libnet_JoinCtx(struct ndr_print *ndr, const char *name,
ndr_print_ads_struct(ndr, "ads", r->in.ads);
ndr->depth--;
ndr_print_uint8(ndr, "debug", r->in.debug);
+ ndr_print_netr_SchannelType(ndr, "secure_channel_type", r->in.secure_channel_type);
ndr->depth--;
}
if (flags & NDR_OUT) {
diff --git a/source/librpc/idl/libnet_join.idl b/source/librpc/idl/libnet_join.idl
index 65d17c92030..3975d83a808 100644
--- a/source/librpc/idl/libnet_join.idl
+++ b/source/librpc/idl/libnet_join.idl
@@ -12,6 +12,7 @@ import "wkssvc.idl", "security.idl";
interface libnetjoin
{
typedef bitmap wkssvc_joinflags wkssvc_joinflags;
+ typedef enum netr_SchannelType netr_SchannelType;
[nopush,nopull,noopnum] WERROR libnet_JoinCtx(
[in] string dc_name,
@@ -29,6 +30,7 @@ interface libnetjoin
[in] boolean8 modify_config,
[in] ads_struct *ads,
[in] boolean8 debug,
+ [in] netr_SchannelType secure_channel_type,
[out] string account_name,
[out] string netbios_domain_name,
[out] string dns_domain_name,