mirror of
https://git.jabber.space/devs/cproof.git
synced 2026-07-26 23:26:23 +00:00
fixed some bugs, added some more
- Added JABBER_RAW_CONNECT[ING/ED] connection states - Added cl_ev_connect_raw and session_connect_raw to conform to normal connection functions - Fixed SIGABRT during registration - Added a check in cmd_register to ensure it's actually connected before registering--but this will always fail atm
This commit is contained in:
@@ -204,6 +204,43 @@ session_connect_with_details(const char* const jid, const char* const passwd, co
|
||||
saved_details.auth_policy);
|
||||
}
|
||||
|
||||
jabber_conn_status_t
|
||||
session_connect_raw(const char* const altdomain, const int port, const char* const tls_policy,
|
||||
const char* const auth_policy)
|
||||
{
|
||||
assert(altdomain != NULL);
|
||||
|
||||
_session_free_saved_account();
|
||||
_session_free_saved_details();
|
||||
|
||||
// save details for reconnect
|
||||
saved_details.altdomain = strdup(altdomain);
|
||||
if (port != 0) {
|
||||
saved_details.port = port;
|
||||
} else {
|
||||
saved_details.port = 0;
|
||||
}
|
||||
if (tls_policy) {
|
||||
saved_details.tls_policy = strdup(tls_policy);
|
||||
} else {
|
||||
saved_details.tls_policy = NULL;
|
||||
}
|
||||
if (auth_policy) {
|
||||
saved_details.auth_policy = strdup(auth_policy);
|
||||
} else {
|
||||
saved_details.auth_policy = NULL;
|
||||
}
|
||||
|
||||
// raw connect
|
||||
log_info("Raw connecting to server: %s", altdomain);
|
||||
|
||||
return connection_connect_raw(
|
||||
saved_details.altdomain,
|
||||
saved_details.port,
|
||||
saved_details.tls_policy,
|
||||
saved_details.auth_policy);
|
||||
}
|
||||
|
||||
void
|
||||
session_autoping_fail(void)
|
||||
{
|
||||
@@ -261,6 +298,8 @@ session_process_events(void)
|
||||
switch (conn_status) {
|
||||
case JABBER_CONNECTED:
|
||||
case JABBER_CONNECTING:
|
||||
case JABBER_RAW_CONNECTED:
|
||||
case JABBER_RAW_CONNECTING:
|
||||
case JABBER_DISCONNECTING:
|
||||
connection_check_events();
|
||||
break;
|
||||
@@ -543,3 +582,4 @@ _session_free_saved_details(void)
|
||||
FREE_SET_NULL(saved_details.tls_policy);
|
||||
FREE_SET_NULL(saved_details.auth_policy);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user