aboutsummaryrefslogtreecommitdiffstats
path: root/g10/gpg.c
diff options
context:
space:
mode:
authorWerner Koch <[email protected]>2018-01-24 17:29:08 +0000
committerWerner Koch <[email protected]>2018-01-24 17:38:20 +0000
commitdb7661b5a297a58c95fa9873d43f31d697b8feb3 (patch)
treef1f8715c207e40a273497ed5d38f8e2e34adb4d5 /g10/gpg.c
parentiobuf: Increase the size of the buffer. Add iobuf_set_buffer_size. (diff)
downloadgnupg-db7661b5a297a58c95fa9873d43f31d697b8feb3.tar.gz
gnupg-db7661b5a297a58c95fa9873d43f31d697b8feb3.zip
gpg: New maintainer option --debug-set-iobuf-size.
* g10/gpg.c (opts): Add new option. (opt_set_iobuf_size): New var. (set_debug): Set the option. * tests/openpgp/armor.scm: Use this option to revert the buffer size to the one which used to exhibit the tested bugs. Signed-off-by: Werner Koch <[email protected]>
Diffstat (limited to 'g10/gpg.c')
-rw-r--r--g10/gpg.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/g10/gpg.c b/g10/gpg.c
index 283de2038..cbac967d8 100644
--- a/g10/gpg.c
+++ b/g10/gpg.c
@@ -223,6 +223,7 @@ enum cmd_and_opt_values
oDebugLevel,
oDebugAll,
oDebugIOLBF,
+ oDebugSetIobufSize,
oStatusFD,
oStatusFile,
oAttributeFD,
@@ -642,6 +643,7 @@ static ARGPARSE_OPTS opts[] = {
ARGPARSE_s_s (oDebugLevel, "debug-level", "@"),
ARGPARSE_s_n (oDebugAll, "debug-all", "@"),
ARGPARSE_s_n (oDebugIOLBF, "debug-iolbf", "@"),
+ ARGPARSE_s_u (oDebugSetIobufSize, "debug-set-iobuf-size", "@"),
ARGPARSE_s_i (oStatusFD, "status-fd", "@"),
ARGPARSE_s_s (oStatusFile, "status-file", "@"),
ARGPARSE_s_i (oAttributeFD, "attribute-fd", "@"),
@@ -956,6 +958,8 @@ int g10_errors_seen = 0;
static int utf8_strings = 0;
static int maybe_setuid = 1;
+static unsigned int opt_set_iobuf_size;
+static unsigned int opt_set_iobuf_size_used;
static char *build_list( const char *text, char letter,
const char *(*mapf)(int), int (*chkf)(int) );
@@ -1276,6 +1280,10 @@ set_debug (const char *level)
if (opt.debug)
parse_debug_flag (NULL, &opt.debug, debug_flags);
+
+ if (opt_set_iobuf_size || opt_set_iobuf_size_used)
+ log_debug ("iobuf buffer size is %uk\n",
+ iobuf_set_buffer_size (opt_set_iobuf_size));
}
@@ -2742,6 +2750,11 @@ main (int argc, char **argv)
case oDebugIOLBF: break; /* Already set in pre-parse step. */
+ case oDebugSetIobufSize:
+ opt_set_iobuf_size = pargs.r.ret_ulong;
+ opt_set_iobuf_size_used = 1;
+ break;
+
case oStatusFD:
set_status_fd ( translate_sys2libc_fd_int (pargs.r.ret_int, 1) );
break;