From 14e312f86ccc80a7b0b6a807df03ef0d48781a91 Mon Sep 17 00:00:00 2001 From: "Alfred E. Heggestad" Date: Mon, 30 Oct 2017 15:13:11 +0100 Subject: [PATCH] tls: add dtls_recv_packet() (#89) --- include/re_tls.h | 2 ++ src/tls/openssl/tls_udp.c | 14 ++++++++++++++ 2 files changed, 16 insertions(+) diff --git a/include/re_tls.h b/include/re_tls.h index aa45f60..050e049 100644 --- a/include/re_tls.h +++ b/include/re_tls.h @@ -90,6 +90,8 @@ void dtls_set_handlers(struct tls_conn *tc, dtls_estab_h *estabh, dtls_recv_h *recvh, dtls_close_h *closeh, void *arg); const struct sa *dtls_peer(const struct tls_conn *tc); void dtls_set_peer(struct tls_conn *tc, const struct sa *peer); +void dtls_recv_packet(struct dtls_sock *sock, const struct sa *src, + struct mbuf *mb); #ifdef USE_OPENSSL diff --git a/src/tls/openssl/tls_udp.c b/src/tls/openssl/tls_udp.c index e04cd87..7d518fb 100644 --- a/src/tls/openssl/tls_udp.c +++ b/src/tls/openssl/tls_udp.c @@ -829,6 +829,20 @@ void dtls_set_mtu(struct dtls_sock *sock, size_t mtu) } +void dtls_recv_packet(struct dtls_sock *sock, const struct sa *src, + struct mbuf *mb) +{ + struct sa addr; + + if (!sock || !src || !mb) + return; + + addr = *src; + + recv_handler(&addr, mb, sock); +} + + #ifdef TLS_BIO_OPAQUE BIO_METHOD *tls_method_udp(void) {