more enctypes...
[metze/samba/wip.git] / source3 / libnet / libnet_join.c
index 5db2ca09ccc3e02da9bd75bdbb210d320c077a53..5a0834520820b2de77d86d2a4c72a7a80c4ffdb3 100644 (file)
@@ -20,6 +20,7 @@
 
 #include "includes.h"
 #include "ads.h"
+#include "libsmb/namequery.h"
 #include "librpc/gen_ndr/ndr_libnet_join.h"
 #include "libnet/libnet_join.h"
 #include "libcli/auth/libcli_auth.h"
@@ -43,6 +44,7 @@
 #include "libcli/auth/netlogon_creds_cli.h"
 #include "auth/credentials/credentials.h"
 #include "krb5_env.h"
+#include "libsmb/dsgetdcname.h"
 
 /****************************************************************
 ****************************************************************/
@@ -2359,15 +2361,7 @@ WERROR libnet_init_JoinCtx(TALLOC_CTX *mem_ctx,
 
        ctx->in.secure_channel_type = SEC_CHAN_WKSTA;
 
-       ctx->in.desired_encryption_types = ENC_CRC32 |
-                                          ENC_RSA_MD5 |
-                                          ENC_RC4_HMAC_MD5;
-#ifdef HAVE_ENCTYPE_AES128_CTS_HMAC_SHA1_96
-       ctx->in.desired_encryption_types |= ENC_HMAC_SHA1_96_AES128;
-#endif
-#ifdef HAVE_ENCTYPE_AES256_CTS_HMAC_SHA1_96
-       ctx->in.desired_encryption_types |= ENC_HMAC_SHA1_96_AES256;
-#endif
+       ctx->in.desired_encryption_types = kerberos_supported_encryption_types();
 
        *r = ctx;
 
@@ -2665,9 +2659,10 @@ static WERROR libnet_DomainJoin(TALLOC_CTX *mem_ctx,
                DEBUG(5, ("failed to precreate account in ou %s: %s",
                        r->in.account_ou, ads_errstr(ads_status)));
        }
+ rpc_join:
+
 #endif /* HAVE_ADS */
 
- rpc_join:
        if ((r->in.join_flags & WKSSVC_JOIN_FLAGS_JOIN_UNSECURE) &&
            (r->in.join_flags & WKSSVC_JOIN_FLAGS_MACHINE_PWD_PASSED)) {
                status = libnet_join_joindomain_rpc_unsecure(mem_ctx, r, cli);
@@ -2865,6 +2860,8 @@ static WERROR libnet_DomainUnjoin(TALLOC_CTX *mem_ctx,
                        return ntstatus_to_werror(status);
                }
 
+               r->out.dns_domain_name = talloc_strdup(mem_ctx,
+                                                     r->in.domain_name);
                r->out.disabled_machine_account = true;
        }