summaryrefslogtreecommitdiff
path: root/source4/torture
diff options
context:
space:
mode:
Diffstat (limited to 'source4/torture')
-rw-r--r--source4/torture/rap/rap.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/source4/torture/rap/rap.c b/source4/torture/rap/rap.c
index 0542379913..26d503a59c 100644
--- a/source4/torture/rap/rap.c
+++ b/source4/torture/rap/rap.c
@@ -67,6 +67,7 @@ struct rap_call {
uint16_t callno;
char *paramdesc;
const char *datadesc;
+ const char *auxdatadesc;
uint16_t status;
uint16_t convert;
@@ -95,6 +96,7 @@ static struct rap_call *new_rap_cli_call(TALLOC_CTX *mem_ctx, struct smb_iconv_c
call->paramdesc = NULL;
call->datadesc = NULL;
+ call->auxdatadesc = NULL;
call->ndr_push_param = ndr_push_init_ctx(mem_ctx, iconv_convenience);
call->ndr_push_param->flags = RAPNDR_FLAGS;
@@ -183,6 +185,11 @@ static void rap_cli_expect_format(struct rap_call *call, const char *format)
call->datadesc = format;
}
+static void rap_cli_expect_extra_format(struct rap_call *call, const char *format)
+{
+ call->auxdatadesc = format;
+}
+
static NTSTATUS rap_pull_string(TALLOC_CTX *mem_ctx, struct ndr_pull *ndr,
uint16_t convert, const char **dest)
{
@@ -246,6 +253,9 @@ static NTSTATUS rap_cli_do_call(struct smbcli_tree *tree,
NDR_RETURN(ndr_push_bytes(params, param_blob.data,
param_blob.length));
+ if (call->auxdatadesc)
+ NDR_RETURN(ndr_push_string(params, NDR_SCALARS, call->auxdatadesc));
+
trans.in.params = ndr_push_blob(params);
trans.in.data = data_blob(NULL, 0);