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