equal
deleted
inserted
replaced
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) |