Hello Mikolaj,

I confirm that this patch fixes the issue.
Thank you very much! Now pptp through pppoe works fine!

Bohdan Tymkiv

On Tue, Jun 30, 2009 at 10:40 PM, Mikolaj Golub<to.my.troc...@gmail.com> wrote:
> The following reply was made to PR kern/134557; it has been noted by GNATS.
>
> From: Mikolaj Golub <to.my.troc...@gmail.com>
> To: bug-follo...@freebsd.org
> Cc: freebsd-net@FreeBSD.org, Sergei Cherveni <sergei.cherv...@gmail.com>, 
> Alexander Motin <m...@freebsd.org>
> Subject: Re: kern/134557: [netgraph] [hang] 7.2 with mpd5.3 hanging up - 
> ng_pptp problem
> Date: Tue, 30 Jun 2009 22:33:12 +0300
>
>  --=-=-=
>
>  Unfortunately, the problem was introduced by this commit :-)
>
>  ----------
>
>  Author:        mav
>  Date:  Sat Jan 31 12:48:09 2009 UTC (4 months, 4 weeks ago)
>  Log Message:
>
>  MFC rev. 187495
>
>  Check for infinite recursion possible on some broken PPTP/L2TP/... VPN 
> setups.
>  Mark packets with mbuf_tag on first interface passage and drop on second.
>
>  PR:            ports/129625, ports/125303
>
>  ----------
>
>  If a packet goes through two or more ng interfaces, "while" loop in the tag
>  checking code can run infinitely. The attached patch should fix this.
>
>  --
>  Mikolaj Golub
>
>
>  --=-=-=
>  Content-Type: text/x-diff
>  Content-Disposition: attachment; filename=ng_iface.c.patch
>
>  --- netgraph/ng_iface.c.orig   2009-06-30 21:47:54.000000000 +0300
>  +++ netgraph/ng_iface.c        2009-06-30 21:49:29.000000000 +0300
>  @@ -365,7 +365,8 @@
>        }
>
>        /* Protect from deadly infinite recursion. */
>  -      while ((mtag = m_tag_locate(m, MTAG_NGIF, MTAG_NGIF_CALLED, NULL))) {
>  +      mtag = NULL;
>  +      while ((mtag = m_tag_locate(m, MTAG_NGIF, MTAG_NGIF_CALLED, mtag))) {
>                if (*(struct ifnet **)(mtag + 1) == ifp) {
>                        log(LOG_NOTICE, "Loop detected on %s\n", 
> ifp->if_xname);
>                        m_freem(m);
>
>  --=-=-=--
> _______________________________________________
> freebsd-net@freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-net
> To unsubscribe, send any mail to "freebsd-net-unsubscr...@freebsd.org"
>
_______________________________________________
freebsd-net@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-net
To unsubscribe, send any mail to "freebsd-net-unsubscr...@freebsd.org"

Reply via email to