r23792: convert Samba4 to GPLv3
[samba.git] / source4 / libnet / libnet_join.c
index a60ae47b5ffda1b511a02fad6382d636329486b3..cecf07ed4e3c1692e14a94f889d552b347d4afbc 100644 (file)
@@ -7,7 +7,7 @@
  
    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 2 of the License, or
+   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,
@@ -16,8 +16,7 @@
    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, write to the Free Software
-   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */
 
 #include "includes.h"
@@ -117,7 +116,7 @@ static NTSTATUS libnet_JoinADSDomain(struct libnet_context *ctx, struct libnet_J
        if (!NT_STATUS_IS_OK(status)) {
                r->out.error_string = talloc_asprintf(r,
                                        "Connection to DRSUAPI pipe of PDC of domain '%s' failed: %s",
-                                       r->in.domain_name,
+                                       r->out.domain_name,
                                        nt_errstr(status));
                talloc_free(tmp_ctx);
                return status;
@@ -160,8 +159,8 @@ static NTSTATUS libnet_JoinADSDomain(struct libnet_context *ctx, struct libnet_J
        ZERO_STRUCT(r_crack_names);
        r_crack_names.in.bind_handle            = &drsuapi_bind_handle;
        r_crack_names.in.level                  = 1;
-       r_crack_names.in.req.req1.unknown1      = 0x000004e4;
-       r_crack_names.in.req.req1.unknown2      = 0x00000407;
+       r_crack_names.in.req.req1.codepage      = 1252; /* western european */
+       r_crack_names.in.req.req1.language      = 0x00000407; /* german */
        r_crack_names.in.req.req1.count         = 1;
        r_crack_names.in.req.req1.names         = names;
        r_crack_names.in.req.req1.format_flags  = DRSUAPI_DS_NAME_FLAG_NO_FLAGS;
@@ -860,7 +859,6 @@ static NTSTATUS libnet_Join_primary_domain(struct libnet_context *ctx,
        uint32_t acct_type = 0;
        const char *account_name;
        const char *netbios_name;
-       char *filter;
        
        r->out.error_string = NULL;
 
@@ -1143,33 +1141,6 @@ static NTSTATUS libnet_Join_primary_domain(struct libnet_context *ctx,
                return NT_STATUS_INTERNAL_DB_CORRUPTION;
        }
 
-       if (r2->out.realm) {
-               struct cli_credentials *creds;
-               /* Make a credentials structure from it */
-               creds = cli_credentials_init(mem_ctx);
-               if (!creds) {
-                       r->out.error_string = NULL;
-                       talloc_free(tmp_mem);
-                       return NT_STATUS_NO_MEMORY;
-               }
-               cli_credentials_set_conf(creds);
-               filter = talloc_asprintf(mem_ctx, "dn=%s", ldb_dn_get_linearized(msg->dn));
-               status = cli_credentials_set_secrets(creds, NULL, filter);
-               if (!NT_STATUS_IS_OK(status)) {
-                       r->out.error_string = talloc_asprintf(mem_ctx, "Failed to read secrets for keytab update for %s", 
-                                                             filter);
-                       talloc_free(tmp_mem);
-                       return status;
-               } 
-               ret = cli_credentials_update_keytab(creds);
-               if (ret != 0) {
-                       r->out.error_string = talloc_asprintf(mem_ctx, "Failed to update keytab for %s", 
-                                                             filter);
-                       talloc_free(tmp_mem);
-                       return NT_STATUS_UNSUCCESSFUL;
-               }
-       }
-
        /* move all out parameter to the callers TALLOC_CTX */
        r->out.error_string     = NULL;
        r->out.join_password    = r2->out.join_password;