From d17c6af57c6e5ec10d71a9fcbffc6ce4d34a553f Mon Sep 17 00:00:00 2001 From: Günther Deschner Date: Thu, 7 May 2009 23:26:54 +0200 Subject: s3-samr: implement _samr_OemChangePasswordUser2(). Guenther --- source3/rpc_server/srv_samr_nt.c | 58 +++++++++++++++++++++++++++++++++------- 1 file changed, 48 insertions(+), 10 deletions(-) (limited to 'source3/rpc_server') diff --git a/source3/rpc_server/srv_samr_nt.c b/source3/rpc_server/srv_samr_nt.c index e656e6c456..cef8c08c64 100644 --- a/source3/rpc_server/srv_samr_nt.c +++ b/source3/rpc_server/srv_samr_nt.c @@ -1811,6 +1811,54 @@ NTSTATUS _samr_ChangePasswordUser2(pipes_struct *p, return status; } +/**************************************************************** + _samr_OemChangePasswordUser2 +****************************************************************/ + +NTSTATUS _samr_OemChangePasswordUser2(pipes_struct *p, + struct samr_OemChangePasswordUser2 *r) +{ + NTSTATUS status; + fstring user_name; + const char *wks = NULL; + + DEBUG(5,("_samr_OemChangePasswordUser2: %d\n", __LINE__)); + + fstrcpy(user_name, r->in.account->string); + if (r->in.server && r->in.server->string) { + wks = r->in.server->string; + } + + DEBUG(5,("_samr_OemChangePasswordUser2: user: %s wks: %s\n", user_name, wks)); + + /* + * Pass the user through the NT -> unix user mapping + * function. + */ + + (void)map_username(user_name); + + /* + * UNIX username case mangling not required, pass_oem_change + * is case insensitive. + */ + + if (!r->in.hash || !r->in.password) { + return NT_STATUS_INVALID_PARAMETER; + } + + status = pass_oem_change(user_name, + r->in.password->data, + r->in.hash->hash, + 0, + 0, + NULL); + + DEBUG(5,("_samr_OemChangePasswordUser2: %d\n", __LINE__)); + + return status; +} + /******************************************************************* _samr_ChangePasswordUser3 ********************************************************************/ @@ -6109,16 +6157,6 @@ NTSTATUS _samr_RemoveMultipleMembersFromAlias(pipes_struct *p, /**************************************************************** ****************************************************************/ -NTSTATUS _samr_OemChangePasswordUser2(pipes_struct *p, - struct samr_OemChangePasswordUser2 *r) -{ - p->rng_fault_state = true; - return NT_STATUS_NOT_IMPLEMENTED; -} - -/**************************************************************** -****************************************************************/ - NTSTATUS _samr_SetBootKeyInformation(pipes_struct *p, struct samr_SetBootKeyInformation *r) { -- cgit