core: Always use runtime for gpgconf changes
* src/engine-gpgconf.c (gpgconf_write): Add --runtime. * src/gpgme.h.in (gpgme_conf_opt_change): Document this behavior. -- If a tool uses GPGME for changing configuration values it needs a way to ensure that these changes take effect. Otherwise users may change and see config values and do not understand why they are not working.
This commit is contained in:
parent
a4b9f1a2b4
commit
7103315829
@ -708,7 +708,7 @@ gpgconf_write (void *engine, const char *arg1, char *arg2, gpgme_data_t conf)
|
|||||||
#define BUFLEN 1024
|
#define BUFLEN 1024
|
||||||
char buf[BUFLEN];
|
char buf[BUFLEN];
|
||||||
int buflen = 0;
|
int buflen = 0;
|
||||||
char *argv[6];
|
char *argv[7];
|
||||||
int argc = 0;
|
int argc = 0;
|
||||||
int rp[2];
|
int rp[2];
|
||||||
struct spawn_fd_item_s cfd[] = { {-1, 0 /* STDIN_FILENO */}, {-1, -1} };
|
struct spawn_fd_item_s cfd[] = { {-1, 0 /* STDIN_FILENO */}, {-1, -1} };
|
||||||
@ -724,6 +724,7 @@ gpgconf_write (void *engine, const char *arg1, char *arg2, gpgme_data_t conf)
|
|||||||
argv[argc++] = gpgconf->home_dir;
|
argv[argc++] = gpgconf->home_dir;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
argv[argc++] = (char*)"--runtime";
|
||||||
argv[argc++] = (char*)arg1;
|
argv[argc++] = (char*)arg1;
|
||||||
argv[argc++] = arg2;
|
argv[argc++] = arg2;
|
||||||
argv[argc] = NULL;
|
argv[argc] = NULL;
|
||||||
|
@ -2410,7 +2410,8 @@ void gpgme_conf_arg_release (gpgme_conf_arg_t arg, gpgme_conf_type_t type);
|
|||||||
/* Register a change for the value of OPT to ARG. If RESET is 1 (do
|
/* Register a change for the value of OPT to ARG. If RESET is 1 (do
|
||||||
not use any values but 0 or 1), ARG is ignored and the option is
|
not use any values but 0 or 1), ARG is ignored and the option is
|
||||||
not changed (reverting a previous change). Otherwise, if ARG is
|
not changed (reverting a previous change). Otherwise, if ARG is
|
||||||
NULL, the option is cleared or reset to its default. */
|
NULL, the option is cleared or reset to its default. The change
|
||||||
|
is done with gpgconf's --runtime option to immediately take effect. */
|
||||||
gpgme_error_t gpgme_conf_opt_change (gpgme_conf_opt_t opt, int reset,
|
gpgme_error_t gpgme_conf_opt_change (gpgme_conf_opt_t opt, int reset,
|
||||||
gpgme_conf_arg_t arg);
|
gpgme_conf_arg_t arg);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user