tcpdump mailing list archives

Re: Bug in print-ppp.c


From: Romain Francoise <rfrancoise () debian org>
Date: Sat, 24 Jul 2004 23:27:07 +0200

Darren Reed <darrenr () reed wattle id au> writes:

We've come here from handle_ppp() which calls handl_ctrl_proto() for
PPP_IPV6CP.

*** print-ppp.c 8 Jul 2004 11:10:37 -0000       1.2
--- print-ppp.c 13 Jul 2004 05:01:15 -0000
***************
*** 447,452 ****
--- 447,454 ----
                                pfunc = NULL;
                                break;
                        }
+                       if (pfunc == NULL)
+                               break;
                        if ((j = (*pfunc)(tptr, len)) == 0)
                                break;
                        x -= j;

This looks like Debian bug #255179, I fixed it differently by not trying
to analyze IPV6CP, a comment in print-ppp.c says that it's not supported
(yet).

  http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=255179&archive=yes

Corresponding fix currently in the Debian package (notice how the IPV6CP
case is outside #ifdef INET6, too):

diff -urNad tcpdump-3.8.3/print-ppp.c tcpdump-3.8.3/print-ppp.c
--- tcpdump-3.8.3/print-ppp.c   2004-04-17 00:25:32.000000000 +0200
+++ tcpdump-3.8.3/print-ppp.c   2004-06-19 14:54:40.000000000 +0200
@@ -1056,7 +1056,6 @@
        case PPP_IPCP:
        case PPP_OSICP:
        case PPP_MPLSCP:
-       case PPP_IPV6CP:
        case PPP_CCP:
        case PPP_BACP:
                handle_ctrl_proto(proto, p, length);
@@ -1077,6 +1076,7 @@
 #ifdef INET6
        case ETHERTYPE_IPV6:    /*XXX*/
        case PPP_IPV6:
+       case PPP_IPV6CP:
                ip6_print(p, length);
                break;
 #endif

-- 
  ,''`.
 : :' :        Romain Francoise <rfrancoise () debian org>
 `. `'         http://people.debian.org/~rfrancoise/
   `-
-
This is the tcpdump-workers list.
Visit https://lists.sandelman.ca/ to unsubscribe.


Current thread: