tcpdump/tcpdump-4.0.0-aliasing.patch
Petr Uzel b858cd2211 - update to 4.2.1
- Only build the Babel printer if IPv6 is enabled.
  - Support Babel on port 6696 as well as 6697.
  - Include ppi.h in release tarball.
  - Include all the test files in the release tarball, and don't
    "include" test files that no longer exist.
  - Don't assume we have <rpc/rpc.h> - check for it.
  - Support "-T carp" as a way of dissecting IP protocol 112 as CARP
    rather than VRRP.
  - Support Hilscher NetAnalyzer link-layer header format.
  - Constify some pointers and fix compiler warnings.
  - Get rid of never-true test.
  - Fix an unintended fall-through in a case statement in the ARP
    printer.
  - Fix several cases where sizeof(sizeof(XXX)) was used when just
    sizeof(XXX) was intended.
  - Make stricter sanity checks in the ES-IS printer.
  - Get rid of some GCCisms that caused builds to fail with compilers
    that don't support them.
  - Fix typo in man page.
  - Added length checks to Babel printer.
- drop tcpdump-4.2.0-ppi.patch (upstream)

OBS-URL: https://build.opensuse.org/package/show/network:utilities/tcpdump?expand=0&rev=7
2012-01-03 14:53:20 +00:00

119 lines
3.1 KiB
Diff

Index: icmp6.h
===================================================================
--- icmp6.h.orig
+++ icmp6.h
@@ -404,7 +404,11 @@ struct icmp6_router_renum { /* router re
u_int8_t rr_segnum;
u_int8_t rr_flags;
u_int16_t rr_maxdelay;
+ union {
+ u_int8_t rr_reserved8[4];
+ u_int16_t rr_reserved16[2];
u_int32_t rr_reserved;
+ };
};
#define ICMP6_RR_FLAGS_TEST 0x80
#define ICMP6_RR_FLAGS_REQRESULT 0x40
Index: print-icmp.c
===================================================================
--- print-icmp.c.orig
+++ print-icmp.c
@@ -47,6 +47,12 @@ static const char rcsid[] _U_ =
* Per RFC 792, September 1981.
*/
+/* rfc1191 */
+struct mtu_discovery {
+ u_int16_t unused;
+ u_int16_t nexthopmtu;
+};
+
/*
* Structure of an icmp header.
*/
@@ -61,8 +67,12 @@ struct icmp {
u_int16_t icd_id;
u_int16_t icd_seq;
} ih_idseq;
+ union {
u_int32_t ih_void;
+ struct mtu_discovery ih_mtu_discovery;
+ };
} icmp_hun;
+#define icmp_mtu_discovery icmp_hun.ih_mtu_discovery
#define icmp_pptr icmp_hun.ih_pptr
#define icmp_gwaddr icmp_hun.ih_gwaddr
#define icmp_id icmp_hun.ih_idseq.icd_id
@@ -243,12 +253,6 @@ static struct tok type2str[] = {
{ 0, NULL }
};
-/* rfc1191 */
-struct mtu_discovery {
- u_int16_t unused;
- u_int16_t nexthopmtu;
-};
-
/* rfc1256 */
struct ih_rdiscovery {
u_int8_t ird_addrnum;
@@ -413,7 +417,7 @@ icmp_print(const u_char *bp, u_int plen,
case ICMP_UNREACH_NEEDFRAG:
{
register const struct mtu_discovery *mp;
- mp = (struct mtu_discovery *)(u_char *)&dp->icmp_void;
+ mp = &dp->icmp_mtu_discovery;
mtu = EXTRACT_16BITS(&mp->nexthopmtu);
if (mtu) {
(void)snprintf(buf, sizeof(buf),
Index: print-icmp6.c
===================================================================
--- print-icmp6.c.orig
+++ print-icmp6.c
@@ -1279,7 +1279,7 @@ icmp6_rrenum_print(const u_char *bp, con
printf("seg=%u,", rr6->rr_segnum);
printf("maxdelay=%u", EXTRACT_16BITS(&rr6->rr_maxdelay));
if (rr6->rr_reserved)
- printf("rsvd=0x%x", EXTRACT_32BITS(&rr6->rr_reserved));
+ printf("rsvd=0x%x", EXTRACT_16BITS(&rr6->rr_reserved16[0]));
/*[*/
printf("]");
#undef F
Index: print-timed.c
===================================================================
--- print-timed.c.orig
+++ print-timed.c
@@ -86,8 +86,8 @@ timed_print(register const u_char *bp)
fputs(" [|timed]", stdout);
return;
}
- sec = EXTRACT_32BITS(&tsp->tsp_time.tv_sec);
- usec = EXTRACT_32BITS(&tsp->tsp_time.tv_usec);
+ sec = EXTRACT_32BITS(&tsp->tsp_time.tv_sec32[0]);
+ usec = EXTRACT_32BITS(&tsp->tsp_time.tv_usec32[0]);
if (usec < 0)
/* corrupt, skip the rest of the packet */
return;
Index: timed.h
===================================================================
--- timed.h.orig
+++ timed.h
@@ -54,7 +54,16 @@ struct tsp {
u_int8_t tsp_vers;
u_int16_t tsp_seq;
union {
- struct tsp_timeval tspu_time;
+ struct {
+ union {
+ int tv_sec32[2];
+ long tv_sec;
+ };
+ union {
+ int tv_usec32[2];
+ long tv_usec;
+ };
+ } tspu_time;
int8_t tspu_hopcnt;
} tsp_u;
int8_t tsp_name[256];