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:
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;
}