Mercurial > ~mikael > mcabber > hg
comparison mcabber/src/main.c @ 1222:75aee46d3aee
Fix a problem with the ssl_ca{file,path} variables expansion
author | Mikael Berthe <mikael@lilotux.net> |
---|---|
date | Thu, 17 May 2007 10:44:01 +0200 |
parents | 2de8f8ba1f34 |
children | 591d8b35c881 |
comparison
equal
deleted
inserted
replaced
1221:0dd5df7eb007 | 1222:75aee46d3aee |
---|---|
69 const char *proxy_host; | 69 const char *proxy_host; |
70 char *bjid; | 70 char *bjid; |
71 int ssl; | 71 int ssl; |
72 int sslverify = -1; | 72 int sslverify = -1; |
73 const char *sslvopt = NULL, *cafile = NULL, *capath = NULL, *ciphers = NULL; | 73 const char *sslvopt = NULL, *cafile = NULL, *capath = NULL, *ciphers = NULL; |
74 char *cafile_xp = NULL, *capath_xp = NULL; | 74 static char *cafile_xp, *capath_xp; |
75 unsigned int port; | 75 unsigned int port; |
76 | 76 |
77 servername = settings_opt_get("server"); | 77 servername = settings_opt_get("server"); |
78 username = settings_opt_get("username"); | 78 username = settings_opt_get("username"); |
79 password = settings_opt_get("password"); | 79 password = settings_opt_get("password"); |
80 resource = settings_opt_get("resource"); | 80 resource = settings_opt_get("resource"); |
81 proxy_host = settings_opt_get("proxy_host"); | 81 proxy_host = settings_opt_get("proxy_host"); |
82 | |
83 // Free the ca*_xp strings if they've already been set. | |
84 g_free(cafile_xp); | |
85 g_free(capath_xp); | |
86 cafile_xp = capath_xp = NULL; | |
82 | 87 |
83 if (!servername) { | 88 if (!servername) { |
84 scr_LogPrint(LPRINT_NORMAL, "Server name has not been specified!"); | 89 scr_LogPrint(LPRINT_NORMAL, "Server name has not been specified!"); |
85 return; | 90 return; |
86 } | 91 } |
111 "** Warning: SSL is NOT available, ignoring ssl-related setting"); | 116 "** Warning: SSL is NOT available, ignoring ssl-related setting"); |
112 ssl = sslverify = 0; | 117 ssl = sslverify = 0; |
113 cafile = capath = ciphers = NULL; | 118 cafile = capath = ciphers = NULL; |
114 } | 119 } |
115 #endif | 120 #endif |
116 if (cafile) cafile_xp = expand_filename(cafile); | 121 cafile_xp = expand_filename(cafile); |
117 if (capath) capath_xp = expand_filename(capath); | 122 capath_xp = expand_filename(capath); |
118 cw_set_ssl_options(sslverify, cafile_xp, capath_xp, ciphers, servername); | 123 cw_set_ssl_options(sslverify, cafile_xp, capath_xp, ciphers, servername); |
119 g_free(cafile_xp); | 124 // We can't free the ca*_xp variables now, because they're not duplicated |
120 g_free(capath_xp); | 125 // in cw_set_ssl_options(). |
121 | 126 |
122 /* Connect to server */ | 127 /* Connect to server */ |
123 scr_LogPrint(LPRINT_NORMAL|LPRINT_DEBUG, "Connecting to server: %s", | 128 scr_LogPrint(LPRINT_NORMAL|LPRINT_DEBUG, "Connecting to server: %s", |
124 servername); | 129 servername); |
125 if (port) | 130 if (port) |