mcabber/mcabber/xmpp.c
changeset 2087 305297d088c2
parent 2086 3667697d677d
child 2089 91a8f3740a1a
equal deleted inserted replaced
2086:3667697d677d 2087:305297d088c2
  1796 //  xmpp_connect()
  1796 //  xmpp_connect()
  1797 // Return a non-zero value if there's an obvious problem
  1797 // Return a non-zero value if there's an obvious problem
  1798 // (no JID, no password, etc.)
  1798 // (no JID, no password, etc.)
  1799 gint xmpp_connect(void)
  1799 gint xmpp_connect(void)
  1800 {
  1800 {
  1801   const char *userjid, *password, *resource, *servername;
  1801   const char *userjid, *password, *resource, *servername, *ssl_fpr;
  1802   const char *ssl_fpr, *ssl_ciphers;
       
  1803   char *dynresource = NULL;
  1802   char *dynresource = NULL;
  1804   char fpr[16];
  1803   char fpr[16];
  1805   const char *proxy_host;
  1804   const char *proxy_host;
  1806   const char *resource_prefix = PACKAGE_NAME;
  1805   const char *resource_prefix = PACKAGE_NAME;
  1807   char *fjid;
  1806   char *fjid;
  1818   userjid     = settings_opt_get("jid");
  1817   userjid     = settings_opt_get("jid");
  1819   password    = settings_opt_get("password");
  1818   password    = settings_opt_get("password");
  1820   resource    = settings_opt_get("resource");
  1819   resource    = settings_opt_get("resource");
  1821   proxy_host  = settings_opt_get("proxy_host");
  1820   proxy_host  = settings_opt_get("proxy_host");
  1822   ssl_fpr     = settings_opt_get("ssl_fingerprint");
  1821   ssl_fpr     = settings_opt_get("ssl_fingerprint");
  1823   ssl_ciphers = settings_opt_get("ssl_ciphers");
       
  1824 
  1822 
  1825   if (!userjid) {
  1823   if (!userjid) {
  1826     scr_LogPrint(LPRINT_LOGNORM, "Your JID has not been specified!");
  1824     scr_LogPrint(LPRINT_LOGNORM, "Your JID has not been specified!");
  1827     return -1;
  1825     return -1;
  1828   }
  1826   }
  1954     return -1;
  1952     return -1;
  1955   }
  1953   }
  1956 
  1954 
  1957   lssl = lm_ssl_new((ssl_fpr ? fpr : NULL), ssl_cb, NULL, NULL);
  1955   lssl = lm_ssl_new((ssl_fpr ? fpr : NULL), ssl_cb, NULL, NULL);
  1958   if (lssl) {
  1956   if (lssl) {
       
  1957 #ifdef HAVE_LM_SSL_CIPHER_LIST
       
  1958     const char *ssl_ciphers = settings_opt_get("ssl_ciphers");
       
  1959     lm_ssl_set_cipher_list(lssl, ssl_ciphers);
       
  1960 #endif
  1959     lm_ssl_use_starttls(lssl, !ssl, tls);
  1961     lm_ssl_use_starttls(lssl, !ssl, tls);
  1960 #ifdef HAVE_LM_SSL_CIPHER_LIST
       
  1961     lm_ssl_set_cipher_list(lssl, ssl_ciphers);
       
  1962 #endif
       
  1963     lm_connection_set_ssl(lconnection, lssl);
  1962     lm_connection_set_ssl(lconnection, lssl);
  1964     lm_ssl_unref(lssl);
  1963     lm_ssl_unref(lssl);
  1965   } else if (ssl || tls) {
  1964   } else if (ssl || tls) {
  1966     scr_LogPrint(LPRINT_LOGNORM, "** Error: Couldn't create SSL struct.");
  1965     scr_LogPrint(LPRINT_LOGNORM, "** Error: Couldn't create SSL struct.");
  1967     return -1;
  1966     return -1;