From 2a5550b7a13ce627ed0e40ab9582478ab5c9b809 Mon Sep 17 00:00:00 2001 From: NIIBE Yutaka Date: Wed, 25 May 2022 16:33:33 +0900 Subject: client: Handle inquiry from server with CONFIDENTIAL. * src/assuan-defs.h (struct assuan_context_s): Add new flags, in_inq_cb and confidential_inquiry. * src/client.c (assuan_transact): Use the new flags to wipe the outbound buffer for inquiry when CONFIDENTIAL. * src/context.c (assuan_set_flag): When ASSUAN_CONFIDENTIAL is set in inquire callback, set the confidential_inquiry flag. -- GnuPG-bug-id: 5977 Signed-off-by: NIIBE Yutaka --- src/context.c | 2 ++ 1 file changed, 2 insertions(+) (limited to 'src/context.c') diff --git a/src/context.c b/src/context.c index 82166bb..dd89de9 100644 --- a/src/context.c +++ b/src/context.c @@ -76,6 +76,8 @@ assuan_set_flag (assuan_context_t ctx, assuan_flag_t flag, int value) case ASSUAN_CONFIDENTIAL: ctx->flags.confidential = value; + if (ctx->flags.in_inq_cb && value) + ctx->flags.confidential_inquiry = value; break; case ASSUAN_NO_FIXSIGNALS: -- cgit v1.2.3