]> The Tcpdump Group git mirrors - tcpdump/blobdiff - print-ospf.c
initial checkin
[tcpdump] / print-ospf.c
index c929e57e6da134ae13c3da10d84aef890ef98c92..cd3f65421bfc3c628b06b33a7e9918fe902c34f2 100644 (file)
 
 #ifndef lint
 static const char rcsid[] =
-    "@(#) $Header: /tcpdump/master/tcpdump/print-ospf.c,v 1.28 2000-09-23 08:54:36 guy Exp $ (LBL)";
+    "@(#) $Header: /tcpdump/master/tcpdump/print-ospf.c,v 1.32 2002-08-01 08:53:22 risso Exp $ (LBL)";
 #endif
 
 #ifdef HAVE_CONFIG_H
 #include "config.h"
 #endif
 
-#include <sys/param.h>
-#include <sys/time.h>
-#include <sys/socket.h>
+#include <tcpdump-stdinc.h>
 
-#include <netinet/in.h>
-#include <netinet/in_systm.h>
-
-#include <ctype.h>
 #include <stdio.h>
 
 #include "interface.h"
@@ -79,6 +73,10 @@ static struct tok type2str[] = {
 
 static char tstr[] = " [|ospf]";
 
+#ifdef WIN32
+#define inline __inline
+#endif /* WIN32 */
+
 /* Forwards */
 static inline void ospf_print_seqage(u_int32_t, time_t);
 static inline void ospf_print_bits(const struct bits *, u_char);
@@ -404,8 +402,9 @@ ospf_decode_v2(register const struct ospfhdr *op,
                        printf(" bdr %s",
                            ipaddr_string(&op->ospf_hello.hello_bdr));
                if (vflag) {
-                       printf(" nbrs");
                        ap = op->ospf_hello.hello_neighbor;
+                       if ((u_char *)ap < dataend)
+                               printf(" nbrs");
                        while ((u_char *)ap < dataend) {
                                TCHECK(*ap);
                                printf(" %s", ipaddr_string(ap));
@@ -510,12 +509,6 @@ ospf_print(register const u_char *bp, register u_int length,
 
        op = (struct ospfhdr *)bp;
        ip = (struct ip *)bp2;
-       /* Print the source and destination address  */
-#if 0
-       (void) printf("%s > %s:",
-           ipaddr_string(&ip->ip_src),
-           ipaddr_string(&ip->ip_dst));
-#endif
 
         /* XXX Before we do anything else, strip off the MD5 trailer */
         TCHECK(op->ospf_authtype);
@@ -528,7 +521,7 @@ ospf_print(register const u_char *bp, register u_int length,
        /* value.  If it's not valid, say so and return */
        TCHECK(op->ospf_type);
        cp = tok2str(type2str, "type%d", op->ospf_type);
-       printf(" OSPFv%d-%s %d:", op->ospf_version, cp, length);
+       printf("OSPFv%d-%s %d:", op->ospf_version, cp, length);
        if (*cp == 't')
                return;