commit 08e517d: [Minor] Copy ipv6 address in full on accept

Vsevolod Stakhov vsevolod at highsecure.ru
Tue Nov 5 15:49:16 UTC 2019


Author: Vsevolod Stakhov
Date: 2019-11-05 15:42:06 +0000
URL: https://github.com/rspamd/rspamd/commit/08e517da1b18105b16fe7124f304f248a7a86e2f (HEAD -> master)

[Minor] Copy ipv6 address in full on accept

---
 src/libutil/addr.c | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/src/libutil/addr.c b/src/libutil/addr.c
index 138dc1318..15480a9ad 100644
--- a/src/libutil/addr.c
+++ b/src/libutil/addr.c
@@ -248,18 +248,19 @@ rspamd_accept_from_socket (gint sock, rspamd_inet_addr_t **target,
 				addr = rspamd_inet_addr_create (AF_INET, NULL);
 				memcpy (&addr->u.in.addr.s4.sin_addr, &p[12],
 						sizeof (struct in_addr));
+				addr->u.in.addr.s4.sin_port = su.s6.sin6_port;
 			}
 			else {
 				/* Something strange but not mapped v4 address */
 				addr = rspamd_inet_addr_create (AF_INET6, NULL);
-				memcpy (&addr->u.in.addr.s6.sin6_addr, &su.s6.sin6_addr,
-						sizeof (struct in6_addr));
+				memcpy (&addr->u.in.addr.s6, &su.s6,
+						sizeof (struct sockaddr_in6));
 			}
 		}
 		else {
 			addr = rspamd_inet_addr_create (AF_INET6, NULL);
-			memcpy (&addr->u.in.addr.s6.sin6_addr, &su.s6.sin6_addr,
-					sizeof (struct in6_addr));
+			memcpy (&addr->u.in.addr.s6, &su.s6,
+					sizeof (struct sockaddr_in6));
 		}
 
 	}


More information about the Commits mailing list