conn: add flag XMPP_CONN_FLAG_TRUST_TLS
TLS modules accept invalid server's certificates when the flag is set.
This commit is contained in:
@@ -128,6 +128,7 @@ xmpp_conn_t *xmpp_conn_new(xmpp_ctx_t * const ctx)
|
||||
conn->tls_disabled = 0;
|
||||
conn->tls_mandatory = 0;
|
||||
conn->tls_legacy_ssl = 0;
|
||||
conn->tls_trust = 0;
|
||||
conn->tls_failed = 0;
|
||||
conn->sasl_support = 0;
|
||||
conn->secured = 0;
|
||||
@@ -911,7 +912,8 @@ long xmpp_conn_get_flags(const xmpp_conn_t * const conn)
|
||||
|
||||
flags = XMPP_CONN_FLAG_DISABLE_TLS * conn->tls_disabled |
|
||||
XMPP_CONN_FLAG_MANDATORY_TLS * conn->tls_mandatory |
|
||||
XMPP_CONN_FLAG_LEGACY_SSL * conn->tls_legacy_ssl;
|
||||
XMPP_CONN_FLAG_LEGACY_SSL * conn->tls_legacy_ssl |
|
||||
XMPP_CONN_FLAG_TRUST_TLS * conn->tls_trust;
|
||||
|
||||
return flags;
|
||||
}
|
||||
@@ -928,6 +930,7 @@ long xmpp_conn_get_flags(const xmpp_conn_t * const conn)
|
||||
* - XMPP_CONN_FLAG_DISABLE_TLS
|
||||
* - XMPP_CONN_FLAG_MANDATORY_TLS
|
||||
* - XMPP_CONN_FLAG_LEGACY_SSL
|
||||
* - XMPP_CONN_FLAG_TRUST_TLS
|
||||
*
|
||||
* @param conn a Strophe connection object
|
||||
* @param flags ORed connection flags
|
||||
@@ -944,7 +947,8 @@ int xmpp_conn_set_flags(xmpp_conn_t * const conn, long flags)
|
||||
return XMPP_EINVOP;
|
||||
}
|
||||
if (flags & XMPP_CONN_FLAG_DISABLE_TLS &&
|
||||
flags & (XMPP_CONN_FLAG_MANDATORY_TLS | XMPP_CONN_FLAG_LEGACY_SSL)) {
|
||||
flags & (XMPP_CONN_FLAG_MANDATORY_TLS | XMPP_CONN_FLAG_LEGACY_SSL |
|
||||
XMPP_CONN_FLAG_TRUST_TLS)) {
|
||||
xmpp_error(conn->ctx, "conn", "Flags 0x%04lx conflict", flags);
|
||||
return XMPP_EINVOP;
|
||||
}
|
||||
@@ -952,6 +956,7 @@ int xmpp_conn_set_flags(xmpp_conn_t * const conn, long flags)
|
||||
conn->tls_disabled = (flags & XMPP_CONN_FLAG_DISABLE_TLS) ? 1 : 0;
|
||||
conn->tls_mandatory = (flags & XMPP_CONN_FLAG_MANDATORY_TLS) ? 1 : 0;
|
||||
conn->tls_legacy_ssl = (flags & XMPP_CONN_FLAG_LEGACY_SSL) ? 1 : 0;
|
||||
conn->tls_trust = (flags & XMPP_CONN_FLAG_TRUST_TLS) ? 1 : 0;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user