samr.idl: Add samr_ChangePasswordUser4()
authorAndreas Schneider <asn@samba.org>
Thu, 26 Aug 2021 15:37:59 +0000 (17:37 +0200)
committerAndreas Schneider <asn@cryptomilk.org>
Thu, 28 Jul 2022 11:51:29 +0000 (11:51 +0000)
Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Stefan Metzmacher <metze@samba.org>
librpc/idl/samr.idl
source3/rpc_server/samr/srv_samr_nt.c
source4/rpc_server/samr/dcesrv_samr.c
source4/rpc_server/samr/samr_password.c

index d897047ea874fd54070fd344aef38f687f9897de..911f540729ed9b689dceda3dc18be4cc2e94c3fc 100644 (file)
@@ -1628,4 +1628,38 @@ import "misc.idl", "lsa.idl", "security.idl";
                [in,switch_is(level)] samr_ValidatePasswordReq *req,
                [out,ref,switch_is(level)] samr_ValidatePasswordRep **rep
                );
+
+       /************************/
+       /* Function    0x44     */
+       /************************/
+       [todo] void samr_Opnum68NotUsedOnWire(void);
+
+       /************************/
+       /* Function    0x45     */
+       /************************/
+       [todo] void samr_Opnum69NotUsedOnWire(void);
+
+       /************************/
+       /* Function    0x46     */
+       /************************/
+       [todo] void samr_Opnum70NotUsedOnWire(void);
+
+       /************************/
+       /* Function    0x47     */
+       /************************/
+       [todo] void samr_Opnum71NotUsedOnWire(void);
+
+       /************************/
+       /* Function    0x48     */
+       /************************/
+       [todo] void samr_Opnum72NotUsedOnWire(void);
+
+       /************************/
+       /* Function    0x49     */
+       /************************/
+       [public] NTSTATUS samr_ChangePasswordUser4(
+               [in,unique] lsa_String *server,
+               [in,ref]    lsa_String *account,
+               [in,ref]    samr_EncryptedPasswordAES *password
+               );
 }
index 2eb7c28cd47543768167b0e12c4d82364643108e..b418e2c4ff86899352e1d95bd2fa4607d5720caf 100644 (file)
@@ -7399,5 +7399,42 @@ NTSTATUS _samr_SetDsrmPassword(struct pipes_struct *p,
        return NT_STATUS_NOT_IMPLEMENTED;
 }
 
+void _samr_Opnum68NotUsedOnWire(struct pipes_struct *p,
+                               struct samr_Opnum68NotUsedOnWire *r)
+{
+       p->fault_state = DCERPC_FAULT_OP_RNG_ERROR;
+}
+
+void _samr_Opnum69NotUsedOnWire(struct pipes_struct *p,
+                               struct samr_Opnum69NotUsedOnWire *r)
+{
+       p->fault_state = DCERPC_FAULT_OP_RNG_ERROR;
+}
+
+void _samr_Opnum70NotUsedOnWire(struct pipes_struct *p,
+                               struct samr_Opnum70NotUsedOnWire *r)
+{
+       p->fault_state = DCERPC_FAULT_OP_RNG_ERROR;
+}
+
+void _samr_Opnum71NotUsedOnWire(struct pipes_struct *p,
+                               struct samr_Opnum71NotUsedOnWire *r)
+{
+       p->fault_state = DCERPC_FAULT_OP_RNG_ERROR;
+}
+
+void _samr_Opnum72NotUsedOnWire(struct pipes_struct *p,
+                               struct samr_Opnum72NotUsedOnWire *r)
+{
+       p->fault_state = DCERPC_FAULT_OP_RNG_ERROR;
+}
+
+NTSTATUS _samr_ChangePasswordUser4(struct pipes_struct *p,
+                                  struct samr_ChangePasswordUser4 *r)
+{
+       p->fault_state = DCERPC_FAULT_OP_RNG_ERROR;
+       return NT_STATUS_NOT_IMPLEMENTED;
+}
+
 /* include the generated boilerplate */
 #include "librpc/gen_ndr/ndr_samr_scompat.c"
index 79704373acec4636852d74a2b3924db6b861ed2b..41456c0883ec9e5452a42f8809f8663f856f6c8f 100644 (file)
@@ -5075,6 +5075,40 @@ static NTSTATUS dcesrv_samr_ValidatePassword(struct dcesrv_call_state *dce_call,
        return NT_STATUS_OK;
 }
 
+static void dcesrv_samr_Opnum68NotUsedOnWire(struct dcesrv_call_state *dce_call,
+                                            TALLOC_CTX *mem_ctx,
+                                            struct samr_Opnum68NotUsedOnWire *r)
+{
+       DCESRV_FAULT_VOID(DCERPC_FAULT_OP_RNG_ERROR);
+}
+
+static void dcesrv_samr_Opnum69NotUsedOnWire(struct dcesrv_call_state *dce_call,
+                                            TALLOC_CTX *mem_ctx,
+                                            struct samr_Opnum69NotUsedOnWire *r)
+{
+       DCESRV_FAULT_VOID(DCERPC_FAULT_OP_RNG_ERROR);
+}
+
+static void dcesrv_samr_Opnum70NotUsedOnWire(struct dcesrv_call_state *dce_call,
+                                            TALLOC_CTX *mem_ctx,
+                                            struct samr_Opnum70NotUsedOnWire *r)
+{
+       DCESRV_FAULT_VOID(DCERPC_FAULT_OP_RNG_ERROR);
+}
+
+static void dcesrv_samr_Opnum71NotUsedOnWire(struct dcesrv_call_state *dce_call,
+                                            TALLOC_CTX *mem_ctx,
+                                            struct samr_Opnum71NotUsedOnWire *r)
+{
+       DCESRV_FAULT_VOID(DCERPC_FAULT_OP_RNG_ERROR);
+}
+
+static void dcesrv_samr_Opnum72NotUsedOnWire(struct dcesrv_call_state *dce_call,
+                                            TALLOC_CTX *mem_ctx,
+                                            struct samr_Opnum72NotUsedOnWire *r)
+{
+       DCESRV_FAULT_VOID(DCERPC_FAULT_OP_RNG_ERROR);
+}
 
 /* include the generated boilerplate */
 #include "librpc/gen_ndr/ndr_samr_s.c"
index 0ac5a5a17e1b81a5d9989ff33512fcc3db7d9d67..ae9f37a91228ea74bdeb5d0939c69acf8ebe2658 100644 (file)
@@ -109,6 +109,16 @@ NTSTATUS dcesrv_samr_OemChangePasswordUser2(struct dcesrv_call_state *dce_call,
        return NT_STATUS_NOT_IMPLEMENTED;
 }
 
+/*
+  samr_ChangePasswordUser4
+*/
+NTSTATUS dcesrv_samr_ChangePasswordUser4(struct dcesrv_call_state *dce_call,
+                                        TALLOC_CTX *mem_ctx,
+                                        struct samr_ChangePasswordUser4 *r)
+{
+       /* TODO */
+       DCESRV_FAULT(DCERPC_FAULT_OP_RNG_ERROR);
+}
 
 /*
   samr_ChangePasswordUser3