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)