commit 85f10a0e2c357bb2d67cd41891aa06a7af818b49
parent b040d141d67d2fccf9e0fe56443edbfa3244ba13
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;
}