Mercurial > ~mikael > mcabber > hg
comparison mcabber/src/main.c @ 938:40175f3dcef7
SSL server certificate verification
This patch enables SSL server certificate verification.
author | Jefferson Ogata <ogata@antibozo.net> |
---|---|
date | Sat, 08 Jul 2006 23:32:49 +0200 |
parents | b461d7ee6d96 |
children | 12fa2ae6445d |
comparison
equal
deleted
inserted
replaced
937:548def60b810 | 938:40175f3dcef7 |
---|---|
66 { | 66 { |
67 const char *username, *password, *resource, *servername; | 67 const char *username, *password, *resource, *servername; |
68 const char *proxy_host; | 68 const char *proxy_host; |
69 char *jid; | 69 char *jid; |
70 int ssl; | 70 int ssl; |
71 int sslverify = -1; | |
72 const char *sslvopt = NULL, *cafile = NULL, *capath = NULL, *ciphers = NULL; | |
71 unsigned int port; | 73 unsigned int port; |
72 | 74 |
73 servername = settings_opt_get("server"); | 75 servername = settings_opt_get("server"); |
74 username = settings_opt_get("username"); | 76 username = settings_opt_get("username"); |
75 password = settings_opt_get("password"); | 77 password = settings_opt_get("password"); |
89 return; | 91 return; |
90 } | 92 } |
91 if (!resource) | 93 if (!resource) |
92 resource = "mcabber"; | 94 resource = "mcabber"; |
93 | 95 |
94 ssl = (settings_opt_get_int("ssl") > 0); | 96 port = (unsigned int) settings_opt_get_int("port"); |
95 port = (unsigned int) settings_opt_get_int("port"); | 97 |
98 ssl = settings_opt_get_int("ssl"); | |
99 sslvopt = settings_opt_get("ssl_verify"); | |
100 if (sslvopt) | |
101 sslverify = settings_opt_get_int("ssl_verify"); | |
102 cafile = settings_opt_get("ssl_cafile"); | |
103 capath = settings_opt_get("ssl_capath"); | |
104 ciphers = settings_opt_get("ssl_ciphers"); | |
96 | 105 |
97 #if !defined(HAVE_OPENSSL) && !defined(HAVE_GNUTLS) | 106 #if !defined(HAVE_OPENSSL) && !defined(HAVE_GNUTLS) |
98 if (ssl) { | 107 if (ssl || sslvopt || cafile || capath || ciphers) { |
99 scr_LogPrint(LPRINT_LOGNORM, | 108 scr_LogPrint(LPRINT_LOGNORM, |
100 "** Warning: SSL is NOT available, ignoring 'ssl' value"); | 109 "** Warning: SSL is NOT available, ignoring ssl-related setting"); |
101 ssl = 0; | 110 ssl = sslverify = 0; |
111 cafile = capath = ciphers = NULL; | |
102 } | 112 } |
103 #endif | 113 #endif |
114 cw_set_ssl_options(sslverify, cafile, capath, ciphers, servername); | |
104 | 115 |
105 /* Connect to server */ | 116 /* Connect to server */ |
106 scr_LogPrint(LPRINT_NORMAL|LPRINT_DEBUG, "Connecting to server: %s", | 117 scr_LogPrint(LPRINT_NORMAL|LPRINT_DEBUG, "Connecting to server: %s", |
107 servername); | 118 servername); |
108 if (port) | 119 if (port) |