Author: ae
Date: Thu Sep 29 19:57:37 2016
New Revision: 306459
URL: https://svnweb.freebsd.org/changeset/base/306459

Log:
  Fix bug introduced in r274300.
  
  In icmp6_reflect() use original source address of erroneous packet as
  destination address for source selection algorithm when original
  destination address is not one of our own.
  
  Reported by:  Mark Kamichoff <prox at prolixium com>
  Tested by:    Mark Kamichoff <prox at prolixium com>
  MFC after:    1 week

Modified:
  head/sys/netinet6/icmp6.c

Modified: head/sys/netinet6/icmp6.c
==============================================================================
--- head/sys/netinet6/icmp6.c   Thu Sep 29 19:45:24 2016        (r306458)
+++ head/sys/netinet6/icmp6.c   Thu Sep 29 19:57:37 2016        (r306459)
@@ -2146,7 +2146,7 @@ icmp6_reflect(struct mbuf *m, size_t off
                 * that we do not own.  Select a source address based on the
                 * source address of the erroneous packet.
                 */
-               in6_splitscope(&ip6->ip6_dst, &dst6, &scopeid);
+               in6_splitscope(&ip6->ip6_src, &dst6, &scopeid);
                error = in6_selectsrc_addr(RT_DEFAULT_FIB, &dst6,
                    scopeid, NULL, &src6, &hlim);
 
_______________________________________________
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to