samr:idl: add samr_SupportedFeatures for samr_Connect5()
authorAndreas Schneider <asn@samba.org>
Wed, 25 Aug 2021 12:11:28 +0000 (14:11 +0200)
committerAndreas Schneider <asn@cryptomilk.org>
Thu, 28 Jul 2022 11:51:28 +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/torture/rpc/samr.c
source4/torture/rpc/samr_accessmask.c
source4/torture/rpc/samr_handletype.c

index ab9d6d763e88c323724075d7e9d06ba248815aef..d897047ea874fd54070fd344aef38f687f9897de 100644 (file)
@@ -1479,9 +1479,16 @@ import "misc.idl", "lsa.idl", "security.idl";
        /************************/
        /* Function    0x40      */
 
+       typedef [v1_enum] enum {
+               SAMR_CONNECT_FEATURE_RID_ONLY = 0x00000001,
+               SAMR_CONNECT_FEATURE_RESRVED1 = 0x00000002,
+               SAMR_CONNECT_FEATURE_RESRVED2 = 0x00000004,
+               SAMR_CONNECT_FEATURE_USE_AES  = 0x00000010
+       } samr_SupportedFeatures;
+
        typedef struct {
                samr_ConnectVersion client_version; /* w2k3 gives 3 */
-               uint32         unknown2; /* w2k3 gives 0 */
+               samr_SupportedFeatures supported_features;
        } samr_ConnectInfo1;
 
        typedef union {
index 7f2c0a861f56f9175dcf0010d11bb1fb57c5cf17..2eb7c28cd47543768167b0e12c4d82364643108e 100644 (file)
@@ -4197,7 +4197,7 @@ NTSTATUS _samr_Connect5(struct pipes_struct *p,
        struct samr_ConnectInfo1 info1;
 
        info1.client_version = SAMR_CONNECT_AFTER_W2K;
-       info1.unknown2 = 0;
+       info1.supported_features = 0;
 
        c.in.system_name        = r->in.system_name;
        c.in.access_mask        = r->in.access_mask;
index 10c53b19e0d4370fd7d792985f4f989d704dcbfb..79704373acec4636852d74a2b3924db6b861ed2b 100644 (file)
@@ -4953,7 +4953,7 @@ static NTSTATUS dcesrv_samr_Connect5(struct dcesrv_call_state *dce_call, TALLOC_
        status = dcesrv_samr_Connect(dce_call, mem_ctx, &c);
 
        r->out.info_out->info1.client_version = SAMR_CONNECT_AFTER_W2K;
-       r->out.info_out->info1.unknown2 = 0;
+       r->out.info_out->info1.supported_features = 0;
        *r->out.level_out = r->in.level_in;
 
        return status;
index b8bab9825e2720ab1a33423fff4d45be985fc4ff..c2523f860e3b62adb3d288f8c8cdc801104379ad 100644 (file)
@@ -8580,7 +8580,7 @@ static bool test_Connect(struct dcerpc_binding_handle *b,
        torture_comment(tctx, "Testing samr_Connect5\n");
 
        info.info1.client_version = 0;
-       info.info1.unknown2 = 0;
+       info.info1.supported_features = 0;
 
        r5.in.system_name = "";
        r5.in.access_mask = SEC_FLAG_MAXIMUM_ALLOWED;
index 118026f80ffba8689c72677dc494e92876351573..0d4c69b9b7f434b2d85c41ef2344244ebbc0fa8e 100644 (file)
@@ -57,7 +57,7 @@ static NTSTATUS torture_samr_Connect5(struct torture_context *tctx,
        uint32_t level_out = 0;
 
        info.info1.client_version = 0;
-       info.info1.unknown2 = 0;
+       info.info1.supported_features = 0;
        r5.in.system_name = "";
        r5.in.level_in = 1;
        r5.in.info_in = &info;
index f4800f4320cc539dc984caccd74f7ceabc32f424..ab5e7d03d6ea57146a24772b02d9cf0268bc2d02 100644 (file)
@@ -60,7 +60,7 @@ static NTSTATUS torture_samr_Connect5(struct torture_context *tctx,
        uint32_t level_out = 0;
 
        info.info1.client_version = 0;
-       info.info1.unknown2 = 0;
+       info.info1.supported_features = 0;
        r5.in.system_name = "";
        r5.in.level_in = 1;
        r5.in.info_in = &info;