talons

Fork of Claws Mail https://www.claws-mail
Log | Files | Refs | README | LICENSE

commit 138ab1d4e8cbcb4e1729f56e988dfbf2e3a9f29c
parent 31dc76667294e4304f7149af8bf22cd2a5252b2f
Author: Colin Leroy <colin@colino.net>
Date:   Thu, 15 Nov 2018 10:56:23 +0100

Fix bug #4120, "New cert files are created in $HOME instead  of in ~/.claws-mail/certs"

Diffstat:
Msrc/common/ssl_certificate.c | 19+++++++++++++------
1 file changed, 13 insertions(+), 6 deletions(-)

diff --git a/src/common/ssl_certificate.c b/src/common/ssl_certificate.c @@ -55,17 +55,24 @@ gboolean prefs_common_unsafe_ssl_certs(void); static gchar *get_certificate_path(const gchar *host, const gchar *port, const gchar *fp) { gchar *ret; + gchar *filename; + + if (fp != NULL && prefs_common_unsafe_ssl_certs()) { + filename = g_strconcat(host, ".", port, ".", fp, ".cert", NULL); + subst_for_filename(filename); - if (fp != NULL && prefs_common_unsafe_ssl_certs()) ret = g_strconcat(get_rc_dir(), G_DIR_SEPARATOR_S, "certs", G_DIR_SEPARATOR_S, - host, ".", port, ".", fp, ".cert", NULL); - else + filename, NULL); + } else { + filename = g_strconcat(host, ".", port, ".cert", NULL); + subst_for_filename(filename); + ret = g_strconcat(get_rc_dir(), G_DIR_SEPARATOR_S, "certs", G_DIR_SEPARATOR_S, - host, ".", port, ".cert", NULL); - - subst_for_filename(ret); + filename, NULL); + } + g_free(filename); return ret; }