From 1cee8a16b9669b64cd19905850556eaf281a54e8 Mon Sep 17 00:00:00 2001 From: Deomid Ryabkov <rojer@cesanta.com> Date: Tue, 18 Apr 2017 13:26:46 +0100 Subject: [PATCH] Fix mg_socket_if_get_conn_addr for UDP sockets Remote address is not associated with an outgoing UDP socket. Instead, it is stored in mg_connection.sa PUBLISHED_FROM=16f82ee8a69b995d684ec96b8db6b5591cd400db --- mongoose.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/mongoose.c b/mongoose.c index 7840a2649..7c40cb9c0 100644 --- a/mongoose.c +++ b/mongoose.c @@ -3792,6 +3792,10 @@ void mg_sock_to_str(sock_t sock, char *buf, size_t len, int flags) { void mg_socket_if_get_conn_addr(struct mg_connection *nc, int remote, union socket_address *sa) { + if ((nc->flags & MG_F_UDP) && remote) { + memcpy(sa, &nc->sa, sizeof(*sa)); + return; + } mg_sock_get_addr(nc->sock, remote, sa); } -- GitLab