1
0
mirror of https://github.com/samba-team/samba.git synced 2025-02-28 01:58:17 +03:00

r1878: implemet libnet_context_{init,destroy}

and implement libnet_Change_Password_generic()

metze
(This used to be commit d48050ae906ecf8d4f78c224042f8f9fe584ad39)
This commit is contained in:
Stefan Metzmacher 2004-08-18 11:01:06 +00:00 committed by Gerald (Jerry) Carter
parent f7c842707a
commit 226478521b
3 changed files with 61 additions and 1 deletions

View File

@ -1,6 +1,8 @@
#################################
# Start SUBSYSTEM LIBNET
[SUBSYSTEM::LIBNET]
INIT_OBJ_FILES = \
libnet/libnet.o
ADD_OBJ_FILES = \
libnet/libnet_passwd.o \
libnet/libnet_rpc.o

45
source4/libnet/libnet.c Normal file
View File

@ -0,0 +1,45 @@
/*
Unix SMB/CIFS implementation.
Copyright (C) Stefan Metzmacher 2004
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
(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, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
#include "includes.h"
struct libnet_context *libnet_context_init(void)
{
TALLOC_CTX *mem_ctx;
struct libnet_context *ctx;
mem_ctx = talloc_init("libnet_context");
ctx = talloc_p(mem_ctx, struct libnet_context);
if (!ctx) {
return NULL;
}
ctx->mem_ctx = mem_ctx;
return ctx;
}
void libnet_context_destroy(struct libnet_context **libnetctx)
{
talloc_destroy((*libnetctx)->mem_ctx);
(*libnetctx) = NULL;
}

View File

@ -106,7 +106,20 @@ disconnect:
static NTSTATUS libnet_ChangePassword_generic(struct libnet_context *ctx, TALLOC_CTX *mem_ctx, union libnet_ChangePassword *r)
{
return NT_STATUS_NOT_IMPLEMENTED;
NTSTATUS status;
union libnet_ChangePassword r2;
r2.generic.level = LIBNET_CHANGE_PASSWORD_RPC;
r2.rpc.in.account_name = NULL;
r2.rpc.in.domain_name = NULL;
r2.rpc.in.oldpassword = NULL;
r2.rpc.in.newpassword = NULL;
status = libnet_ChangePassword(ctx, mem_ctx, &r2);
r->generic.out.error_string = r2.rpc.out.error_string;
return status;
}
NTSTATUS libnet_ChangePassword(struct libnet_context *ctx, TALLOC_CTX *mem_ctx, union libnet_ChangePassword *r)