From a91c4324163eba55f77fca831f7fd9e397443929 Mon Sep 17 00:00:00 2001 From: spz Date: Sun, 10 Feb 2008 12:11:08 +0000 Subject: [PATCH] closes PR bin/37644 did not meet violent opposition ( :) ) on ipsec-tools-devel --- crypto/dist/ipsec-tools/src/racoon/ipsec_doi.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/crypto/dist/ipsec-tools/src/racoon/ipsec_doi.c b/crypto/dist/ipsec-tools/src/racoon/ipsec_doi.c index 5b0d89bce3d2..42d82f472fb2 100644 --- a/crypto/dist/ipsec-tools/src/racoon/ipsec_doi.c +++ b/crypto/dist/ipsec-tools/src/racoon/ipsec_doi.c @@ -1,4 +1,4 @@ -/* $NetBSD: ipsec_doi.c,v 1.32 2007/12/04 19:52:30 mgrooms Exp $ */ +/* $NetBSD: ipsec_doi.c,v 1.33 2008/02/10 12:11:08 spz Exp $ */ /* Id: ipsec_doi.c,v 1.55 2006/08/17 09:20:41 vanhu Exp */ @@ -4313,6 +4313,11 @@ ipsecdoi_id2sockaddr(buf, saddr, prefixlen, ul_proto) : id_b->port); /* see sockaddr2id() */ memcpy(&((struct sockaddr_in6 *)saddr)->sin6_addr, buf->v + sizeof(*id_b), sizeof(struct in6_addr)); + ((struct sockaddr_in6 *)saddr)->sin6_scope_id = + (IN6_IS_ADDR_LINKLOCAL(&((struct sockaddr_in6 *)saddr)->sin6_addr) + ? ((struct sockaddr_in6 *)id_b)->sin6_scope_id + : 0); + break; #endif default: