# HG changeset patch # User Holger Weiß # Date 1448124299 -3600 # Node ID 232c26383fc4f28cc63171b6d5ea8fac147f11c2 # Parent 90c25a29fb35de74d53b91a7c3de1f2d245547f1 New option: 'gpg_home' The new 'gpg_home' option can be used to specify a custom configuration directory for GnuPG. diff -r 90c25a29fb35 -r 232c26383fc4 mcabber/mcabber/pgp.c --- a/mcabber/mcabber/pgp.c Sat Nov 21 17:44:55 2015 +0100 +++ b/mcabber/mcabber/pgp.c Sat Nov 21 17:44:59 2015 +0100 @@ -57,7 +57,7 @@ gpgme_ctx_t ctx; gpgme_engine_info_t info; - const char *gpg_path; + const char *gpg_path, *gpg_home; // Check for version and OpenPGP protocol support. if (!gpgme_check_version(MIN_GPGME_VERSION)) { @@ -80,8 +80,11 @@ // The path to the gpg binary can be specified in order to force // version 1, for example. gpg_path = settings_opt_get("gpg_path"); - if (gpg_path) { - err = gpgme_set_engine_info(GPGME_PROTOCOL_OpenPGP, gpg_path, NULL); + gpg_home = settings_opt_get("gpg_home"); + if (gpg_path || gpg_home) { + char *xp_gpg_home = expand_filename(gpg_home); + err = gpgme_set_engine_info(GPGME_PROTOCOL_OpenPGP, gpg_path, xp_gpg_home); + g_free(xp_gpg_home); if (err) return -1; } diff -r 90c25a29fb35 -r 232c26383fc4 mcabber/mcabberrc.example --- a/mcabber/mcabberrc.example Sat Nov 21 17:44:55 2015 +0100 +++ b/mcabber/mcabberrc.example Sat Nov 21 17:44:59 2015 +0100 @@ -79,6 +79,10 @@ # You can specify the path to the gpg binary, e.g. to force the use of # GnuPG version 1 on systems which have both versions installed. #set gpg_path = /usr/bin/gpg +# +# If GnuPG should use a custom configuration directory, you can set +# 'gpg_home' to the desired path. +#set gpg_home = ~/.mcabber/gpg # Conference nickname # This nickname is used when joining a room, when no nick is explicitly