diff options
author | defanor <defanor@uberspace.net> | 2023-09-26 19:32:24 +0300 |
---|---|---|
committer | defanor <defanor@uberspace.net> | 2023-09-26 19:32:24 +0300 |
commit | 153439d434bc914bcfaac403da84e3e9f0bf1367 (patch) | |
tree | 9f71a2a9e6beb5cfc6483b84159e56b19a757637 /src/rexmpp_tls.h | |
parent | 7a63d327772dc64978e9159d49885a9ae7dd9b4e (diff) |
Support OpenSSL for DTLS-SRTP
Diffstat (limited to 'src/rexmpp_tls.h')
-rw-r--r-- | src/rexmpp_tls.h | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/src/rexmpp_tls.h b/src/rexmpp_tls.h index 3c16049..4a966ca 100644 --- a/src/rexmpp_tls.h +++ b/src/rexmpp_tls.h @@ -58,6 +58,8 @@ enum rexmpp_openssl_direction { struct rexmpp_tls { SSL_CTX *openssl_ctx; SSL *openssl_conn; + BIO *bio_conn; + BIO *bio_io; enum rexmpp_openssl_direction openssl_direction; }; #else @@ -77,20 +79,20 @@ void rexmpp_tls_session_free (rexmpp_tls_t *tls_ctx); rexmpp_tls_err_t rexmpp_tls_connect (rexmpp_t *s); rexmpp_tls_err_t rexmpp_tls_handshake (rexmpp_t *s, rexmpp_tls_t *tls_ctx); -rexmpp_tls_err_t rexmpp_tls_disconnect (rexmpp_t *s); +rexmpp_tls_err_t rexmpp_tls_disconnect (rexmpp_t *s, rexmpp_tls_t *tls_ctx); rexmpp_tls_err_t rexmpp_dtls_connect (rexmpp_t *s, rexmpp_tls_t *tls_ctx, void *user_data, int client); +void rexmpp_dtls_feed(rexmpp_t *s, rexmpp_tls_t *tls_ctx, uint8_t *buf, size_t len); int rexmpp_tls_srtp_get_keys (rexmpp_t *s, rexmpp_tls_t *tls_ctx, size_t key_len, size_t salt_len, - unsigned char *client_key_wsalt, - unsigned char *server_key_wsalt); + unsigned char *key_mat); rexmpp_tls_err_t rexmpp_tls_send (rexmpp_t *s, @@ -130,6 +132,11 @@ int rexmpp_tls_peer_fp (rexmpp_t *s, char *fp_str, size_t *fp_size); +int rexmpp_tls_my_fp (rexmpp_t *s, + char *raw_fp, + char *fp_str, + size_t *fp_size); + int rexmpp_tls_session_fp (rexmpp_t *s, rexmpp_tls_t *tls_ctx, const char *algo_str, |