From 32f9f92487f797bcaef6d3cbf92b7fb802a6079e Mon Sep 17 00:00:00 2001 From: Guy Harris Date: Sun, 3 Jan 2016 15:05:13 -0800 Subject: Rename ipv4_addr and ipv6_addr to indicate their full contents. They're not just addresses, they also include a mask length for IPv4 and a prefix length for IPv6. Rename them appropriately. Rename the old ipv4_addr_and_mask() and ipv6_addr_and_mask() to reflect that 1) they fetch data from a tvbuff and 2) *don't* fetch the mask length or prefix length, those lengths are passed as arguments to indicate how many bytes worth of address to fetch. Change-Id: I4cad5a186ad7bfcb60022a91dbe8bc8479e6471f Reviewed-on: https://code.wireshark.org/review/13035 Petri-Dish: Guy Harris Tested-by: Petri Dish Buildbot Reviewed-by: Guy Harris --- epan/addr_and_mask.c | 7 ++++--- epan/addr_and_mask.h | 6 +++--- epan/dissectors/packet-bgp.c | 24 +++++++++++------------ epan/dissectors/packet-eigrp.c | 4 ++-- epan/dissectors/packet-isis-lsp.c | 4 ++-- epan/ftypes/ftype-ipv4.c | 24 +++++++++++------------ epan/ftypes/ftype-ipv6.c | 8 ++++---- epan/ftypes/ftypes.h | 34 ++++++++++++++++----------------- epan/ipv4.c | 32 +++++++++++++++---------------- epan/ipv4.h | 38 +++++++++++++++++++------------------ epan/ipv6.h | 2 +- epan/proto.c | 40 +++++++++++++++++++-------------------- ui/gtk/packet_win.c | 2 +- ui/gtk/rtp_analysis.c | 10 +++++----- ui/qt/rtp_analysis_dialog.cpp | 10 +++++----- 15 files changed, 124 insertions(+), 121 deletions(-) diff --git a/epan/addr_and_mask.c b/epan/addr_and_mask.c index fed0637e49..c87bfb7c50 100644 --- a/epan/addr_and_mask.c +++ b/epan/addr_and_mask.c @@ -56,7 +56,8 @@ ip_get_subnet_mask(const guint32 mask_length) */ int -ipv4_addr_and_mask(tvbuff_t *tvb, int offset, guint8 *addr, guint32 prefix_len) +tvb_get_ipv4_addr_with_prefix_len(tvbuff_t *tvb, int offset, guint8 *addr, + guint32 prefix_len) { guint32 addr_len; @@ -72,8 +73,8 @@ ipv4_addr_and_mask(tvbuff_t *tvb, int offset, guint8 *addr, guint32 prefix_len) } int -ipv6_addr_and_mask(tvbuff_t *tvb, int offset, struct e_in6_addr *addr, - guint32 prefix_len) +tvb_get_ipv6_addr_with_prefix_len(tvbuff_t *tvb, int offset, struct e_in6_addr *addr, + guint32 prefix_len) { guint32 addr_len; diff --git a/epan/addr_and_mask.h b/epan/addr_and_mask.h index a0c1369a13..f37ae17d59 100644 --- a/epan/addr_and_mask.h +++ b/epan/addr_and_mask.h @@ -38,10 +38,10 @@ extern "C" { #define PREFIX_LEN_TOO_LONG 1 #define PREFIX_LEN_ZERO 2 -extern int ipv4_addr_and_mask(tvbuff_t *tvb, int offset, guint8 *addr, - guint32 prefix_len); +extern int tvb_get_ipv4_addr_with_prefix_len(tvbuff_t *tvb, int offset, + guint8 *addr, guint32 prefix_len); -extern int ipv6_addr_and_mask(tvbuff_t *tvb, int offset, +extern int tvb_get_ipv6_addr_with_prefix_len(tvbuff_t *tvb, int offset, struct e_in6_addr *addr, guint32 prefix_len); guint32 ip_get_subnet_mask(const guint32 mask_length); diff --git a/epan/dissectors/packet-bgp.c b/epan/dissectors/packet-bgp.c index ee33973bf3..318df81964 100644 --- a/epan/dissectors/packet-bgp.c +++ b/epan/dissectors/packet-bgp.c @@ -1847,7 +1847,7 @@ decode_path_prefix4(proto_tree *tree, packet_info *pinfo, int hf_path_id, int hf /* snarf path identifier length and prefix */ path_identifier = tvb_get_ntohl(tvb, offset); plen = tvb_get_guint8(tvb, offset + 4); - length = ipv4_addr_and_mask(tvb, offset + 4 + 1, ip_addr.addr_bytes, plen); + length = tvb_get_ipv4_addr_with_prefix_len(tvb, offset + 4 + 1, ip_addr.addr_bytes, plen); if (length < 0) { proto_tree_add_expert_format(tree, pinfo, &ei_bgp_length_invalid, tvb, offset + 4 , 1, "%s length %u invalid (> 32)", tag, plen); @@ -1882,7 +1882,7 @@ decode_prefix4(proto_tree *tree, packet_info *pinfo, proto_item *parent_item, in /* snarf length and prefix */ plen = tvb_get_guint8(tvb, offset); - length = ipv4_addr_and_mask(tvb, offset + 1, ip_addr.addr_bytes, plen); + length = tvb_get_ipv4_addr_with_prefix_len(tvb, offset + 1, ip_addr.addr_bytes, plen); if (length < 0) { proto_tree_add_expert_format(tree, pinfo, &ei_bgp_length_invalid, tvb, offset, 1, "%s length %u invalid (> 32)", tag, plen); @@ -1920,7 +1920,7 @@ decode_prefix6(proto_tree *tree, packet_info *pinfo, int hf_addr, tvbuff_t *tvb, /* snarf length and prefix */ plen = tvb_get_guint8(tvb, offset); - length = ipv6_addr_and_mask(tvb, offset + 1, &addr, plen); + length = tvb_get_ipv6_addr_with_prefix_len(tvb, offset + 1, &addr, plen); if (length < 0) { proto_tree_add_expert_format(tree, pinfo, &ei_bgp_length_invalid, tvb, offset, 1, "%s length %u invalid", tag, plen); @@ -1958,7 +1958,7 @@ decode_fspec_match_prefix6(proto_tree *tree, proto_item *parent_item, int hf_add poffset_place = 0; plength_place = 1; } - length = ipv6_addr_and_mask(tvb, offset + 2, &addr, plen); + length = tvb_get_ipv6_addr_with_prefix_len(tvb, offset + 2, &addr, plen); if (length < 0) { expert_add_info_format(pinfo, parent_item, &ei_bgp_prefix_length_err, "Length is invalid %u", plen); return -1; @@ -4189,7 +4189,7 @@ decode_prefix_MP(proto_tree *tree, int hf_addr4, int hf_addr6, return -1; } plen -= (labnum * 3*8); - length = ipv4_addr_and_mask(tvb, offset, ip4addr.addr_bytes, plen); + length = tvb_get_ipv4_addr_with_prefix_len(tvb, offset, ip4addr.addr_bytes, plen); if (length < 0) { proto_tree_add_expert_format(tree, pinfo, &ei_bgp_prefix_length_invalid, tvb, start_offset, 1, "%s Labeled IPv4 prefix length %u invalid", @@ -4296,7 +4296,7 @@ decode_prefix_MP(proto_tree *tree, int hf_addr4, int hf_addr6, tnl_id = tvb_get_ntohs(tvb, offset + 1); offset += 3; /* Length + Tunnel Id */ plen -= 16; /* 2-octet Identifier */ - length = ipv4_addr_and_mask(tvb, offset, ip4addr.addr_bytes, plen); + length = tvb_get_ipv4_addr_with_prefix_len(tvb, offset, ip4addr.addr_bytes, plen); if (length < 0) { proto_tree_add_expert_format(tree, pinfo, &ei_bgp_prefix_length_invalid, tvb, start_offset, 1, "%s Tunnel IPv4 prefix length %u invalid", @@ -4343,7 +4343,7 @@ decode_prefix_MP(proto_tree *tree, int hf_addr4, int hf_addr6, } plen -= 8*8; - length = ipv4_addr_and_mask(tvb, offset + 8, ip4addr.addr_bytes, plen); + length = tvb_get_ipv4_addr_with_prefix_len(tvb, offset + 8, ip4addr.addr_bytes, plen); if (length < 0) { proto_tree_add_expert_format(tree, pinfo, &ei_bgp_prefix_length_invalid, tvb, start_offset, 1, "%s Labeled VPN IPv4 prefix length %u invalid", @@ -4402,7 +4402,7 @@ decode_prefix_MP(proto_tree *tree, int hf_addr4, int hf_addr6, } plen -= (labnum * 3*8); - length = ipv6_addr_and_mask(tvb, offset, &ip6addr, plen); + length = tvb_get_ipv6_addr_with_prefix_len(tvb, offset, &ip6addr, plen); if (length < 0) { proto_tree_add_expert_format(tree, pinfo, &ei_bgp_prefix_length_invalid, tvb, start_offset, 1, "%s Labeled IPv6 prefix length %u invalid", @@ -4444,7 +4444,7 @@ decode_prefix_MP(proto_tree *tree, int hf_addr4, int hf_addr6, tnl_id = tvb_get_ntohs(tvb, offset + 1); offset += 3; /* Length + Tunnel Id */ plen -= 16; /* 2-octet Identifier */ - length = ipv6_addr_and_mask(tvb, offset, &ip6addr, plen); + length = tvb_get_ipv6_addr_with_prefix_len(tvb, offset, &ip6addr, plen); if (length < 0) { proto_tree_add_expert_format(tree, pinfo, &ei_bgp_prefix_length_invalid, tvb, start_offset, 1, "%s Tunnel IPv6 prefix length %u invalid", @@ -4493,7 +4493,7 @@ decode_prefix_MP(proto_tree *tree, int hf_addr4, int hf_addr6, switch (rd_type) { case FORMAT_AS2_LOC: - length = ipv6_addr_and_mask(tvb, offset + 8, &ip6addr, plen); + length = tvb_get_ipv6_addr_with_prefix_len(tvb, offset + 8, &ip6addr, plen); if (length < 0) { proto_tree_add_expert_format(tree, pinfo, &ei_bgp_prefix_length_invalid, tvb, start_offset, 1, "%s Labeled VPN IPv6 prefix length %u invalid", @@ -4514,7 +4514,7 @@ decode_prefix_MP(proto_tree *tree, int hf_addr4, int hf_addr6, break; case FORMAT_IP_LOC: - length = ipv6_addr_and_mask(tvb, offset + 8, &ip6addr, plen); + length = tvb_get_ipv6_addr_with_prefix_len(tvb, offset + 8, &ip6addr, plen); if (length < 0) { proto_tree_add_expert_format(tree, pinfo, &ei_bgp_prefix_length_invalid, tvb, start_offset, 1, "%s Labeled VPN IPv6 prefix length %u invalid", @@ -4535,7 +4535,7 @@ decode_prefix_MP(proto_tree *tree, int hf_addr4, int hf_addr6, break; case FORMAT_AS4_LOC: - length = ipv6_addr_and_mask(tvb, offset + 8, &ip6addr, plen); + length = tvb_get_ipv6_addr_with_prefix_len(tvb, offset + 8, &ip6addr, plen); if (length < 0) { proto_tree_add_expert_format(tree, pinfo, &ei_bgp_prefix_length_invalid, tvb, start_offset, 1, "%s Labeled VPN IPv6 prefix length %u invalid", diff --git a/epan/dissectors/packet-eigrp.c b/epan/dissectors/packet-eigrp.c index 46399fc3c4..11276c1fe0 100644 --- a/epan/dissectors/packet-eigrp.c +++ b/epan/dissectors/packet-eigrp.c @@ -1113,7 +1113,7 @@ dissect_eigrp_ipv4_addrs (proto_item *ti, proto_tree *tree, tvbuff_t *tvb, for (; tvb_reported_length_remaining(tvb, offset) > 0; offset += (1 + addr_len)) { length = tvb_get_guint8(tvb, offset); - addr_len = ipv4_addr_and_mask(tvb, offset + 1, ip_addr.addr_bytes, length); + addr_len = tvb_get_ipv4_addr_with_prefix_len(tvb, offset + 1, ip_addr.addr_bytes, length); if (addr_len < 0) { /* Invalid prefix length, more than 32 bits */ @@ -1167,7 +1167,7 @@ dissect_eigrp_ipv6_addrs (proto_item *ti, proto_tree *tree, tvbuff_t *tvb, for (; tvb_reported_length_remaining(tvb, offset) > 0; offset += (1 + addr_len)) { length = tvb_get_guint8(tvb, offset); - addr_len = ipv6_addr_and_mask(tvb, offset + 1, &addr, length); + addr_len = tvb_get_ipv6_addr_with_prefix_len(tvb, offset + 1, &addr, length); if (addr_len < 0) { /* Invalid prefix length, more than 128 bits */ diff --git a/epan/dissectors/packet-isis-lsp.c b/epan/dissectors/packet-isis-lsp.c index 2d4d7bac7c..62c7abf825 100644 --- a/epan/dissectors/packet-isis-lsp.c +++ b/epan/dissectors/packet-isis-lsp.c @@ -817,7 +817,7 @@ dissect_lsp_ext_ip_reachability_clv(tvbuff_t *tvb, packet_info* pinfo, proto_tre while (length > 0) { ctrl_info = tvb_get_guint8(tvb, offset+4); bit_length = ctrl_info & 0x3f; - byte_length = ipv4_addr_and_mask(tvb, offset+5, prefix, bit_length); + byte_length = tvb_get_ipv4_addr_with_prefix_len(tvb, offset+5, prefix, bit_length); if (byte_length == -1) { proto_tree_add_expert_format(tree, pinfo, &ei_isis_lsp_short_packet, tvb, offset, -1, "IPv4 prefix has an invalid length: %d bits", bit_length ); @@ -1447,7 +1447,7 @@ dissect_lsp_ipv6_reachability_clv(tvbuff_t *tvb, packet_info* pinfo, proto_tree while (length > 0) { ctrl_info = tvb_get_guint8(tvb, offset+4); bit_length = tvb_get_guint8(tvb, offset+5); - byte_length = ipv6_addr_and_mask(tvb, offset+6, &prefix, bit_length); + byte_length = tvb_get_ipv6_addr_with_prefix_len(tvb, offset+6, &prefix, bit_length); if (byte_length == -1) { proto_tree_add_expert_format(tree, pinfo, &ei_isis_lsp_short_packet, tvb, offset, -1, "IPv6 prefix has an invalid length: %d bits", bit_length ); diff --git a/epan/ftypes/ftype-ipv4.c b/epan/ftypes/ftype-ipv4.c index 3f0b6f77f3..c189d42617 100644 --- a/epan/ftypes/ftype-ipv4.c +++ b/epan/ftypes/ftype-ipv4.c @@ -30,8 +30,8 @@ static void set_uinteger(fvalue_t *fv, guint32 value) { - ipv4_addr_set_net_order_addr(&(fv->value.ipv4), value); - ipv4_addr_set_netmask_bits(&(fv->value.ipv4), 32); + ipv4_addr_and_mask_set_net_order_addr(&(fv->value.ipv4), value); + ipv4_addr_and_mask_set_netmask_bits(&(fv->value.ipv4), 32); } static gpointer @@ -75,7 +75,7 @@ val_from_unparsed(fvalue_t *fv, const char *s, gboolean allow_partial_value _U_, if (addr_str_to_free) wmem_free(NULL, addr_str_to_free); - ipv4_addr_set_net_order_addr(&(fv->value.ipv4), addr); + ipv4_addr_and_mask_set_net_order_addr(&(fv->value.ipv4), addr); /* If CIDR, get netmask bits. */ if (slash) { @@ -97,11 +97,11 @@ val_from_unparsed(fvalue_t *fv, const char *s, gboolean allow_partial_value _U_, } return FALSE; } - ipv4_addr_set_netmask_bits(&fv->value.ipv4, nmask_bits); + ipv4_addr_and_mask_set_netmask_bits(&fv->value.ipv4, nmask_bits); } else { /* Not CIDR; mask covers entire address. */ - ipv4_addr_set_netmask_bits(&(fv->value.ipv4), 32); + ipv4_addr_and_mask_set_netmask_bits(&(fv->value.ipv4), 32); } return TRUE; @@ -119,43 +119,43 @@ val_repr_len(fvalue_t *fv _U_, ftrepr_t rtype _U_, int field_display _U_) static void val_to_repr(fvalue_t *fv, ftrepr_t rtype _U_, int field_display _U_, char *buf) { - ipv4_addr_str_buf(&fv->value.ipv4, buf); + ipv4_addr_and_mask_str_buf(&fv->value.ipv4, buf); } static gboolean cmp_eq(const fvalue_t *a, const fvalue_t *b) { - return ipv4_addr_eq(&a->value.ipv4, &b->value.ipv4); + return ipv4_addr_and_mask_eq(&a->value.ipv4, &b->value.ipv4); } static gboolean cmp_ne(const fvalue_t *a, const fvalue_t *b) { - return ipv4_addr_ne(&a->value.ipv4, &b->value.ipv4); + return ipv4_addr_and_mask_ne(&a->value.ipv4, &b->value.ipv4); } static gboolean cmp_gt(const fvalue_t *a, const fvalue_t *b) { - return ipv4_addr_gt(&a->value.ipv4, &b->value.ipv4); + return ipv4_addr_and_mask_gt(&a->value.ipv4, &b->value.ipv4); } static gboolean cmp_ge(const fvalue_t *a, const fvalue_t *b) { - return ipv4_addr_ge(&a->value.ipv4, &b->value.ipv4); + return ipv4_addr_and_mask_ge(&a->value.ipv4, &b->value.ipv4); } static gboolean cmp_lt(const fvalue_t *a, const fvalue_t *b) { - return ipv4_addr_lt(&a->value.ipv4, &b->value.ipv4); + return ipv4_addr_and_mask_lt(&a->value.ipv4, &b->value.ipv4); } static gboolean cmp_le(const fvalue_t *a, const fvalue_t *b) { - return ipv4_addr_le(&a->value.ipv4, &b->value.ipv4); + return ipv4_addr_and_mask_le(&a->value.ipv4, &b->value.ipv4); } static gboolean diff --git a/epan/ftypes/ftype-ipv6.c b/epan/ftypes/ftype-ipv6.c index 1e6c5b0baa..6f33cb581c 100644 --- a/epan/ftypes/ftype-ipv6.c +++ b/epan/ftypes/ftype-ipv6.c @@ -117,8 +117,8 @@ static const guint8 bitmasks[9] = static gint cmp_compare(const fvalue_t *fv_a, const fvalue_t *fv_b) { - const ipv6_addr *a = &(fv_a->value.ipv6); - const ipv6_addr *b = &(fv_b->value.ipv6); + const ipv6_addr_and_prefix *a = &(fv_a->value.ipv6); + const ipv6_addr_and_prefix *b = &(fv_b->value.ipv6); guint32 prefix; int pos = 0; @@ -185,8 +185,8 @@ cmp_le(const fvalue_t *fv_a, const fvalue_t *fv_b) static gboolean cmp_bitwise_and(const fvalue_t *fv_a, const fvalue_t *fv_b) { - const ipv6_addr *a = &(fv_a->value.ipv6); - const ipv6_addr *b = &(fv_b->value.ipv6); + const ipv6_addr_and_prefix *a = &(fv_a->value.ipv6); + const ipv6_addr_and_prefix *b = &(fv_b->value.ipv6); guint32 prefix; int pos = 0; diff --git a/epan/ftypes/ftypes.h b/epan/ftypes/ftypes.h index 60ee74048d..5e363af3ca 100644 --- a/epan/ftypes/ftypes.h +++ b/epan/ftypes/ftypes.h @@ -201,23 +201,23 @@ typedef struct _fvalue_t { ftype_t *ftype; union { /* Put a few basic types in here */ - guint32 uinteger; - gint32 sinteger; - guint64 integer64; - guint64 uinteger64; - gint64 sinteger64; - gdouble floating; - gchar *string; - guchar *ustring; - GByteArray *bytes; - ipv4_addr ipv4; - ipv6_addr ipv6; - e_guid_t guid; - nstime_t time; - tvbuff_t *tvb; - GRegex *re; - guint16 sfloat_ieee_11073; - guint32 float_ieee_11073; + guint32 uinteger; + gint32 sinteger; + guint64 integer64; + guint64 uinteger64; + gint64 sinteger64; + gdouble floating; + gchar *string; + guchar *ustring; + GByteArray *bytes; + ipv4_addr_and_mask ipv4; + ipv6_addr_and_prefix ipv6; + e_guid_t guid; + nstime_t time; + tvbuff_t *tvb; + GRegex *re; + guint16 sfloat_ieee_11073; + guint32 float_ieee_11073; } value; /* The following is provided for private use diff --git a/epan/ipv4.c b/epan/ipv4.c index 3957941eb0..103e7b47d4 100644 --- a/epan/ipv4.c +++ b/epan/ipv4.c @@ -34,54 +34,54 @@ #include "addr_and_mask.h" -ipv4_addr* -ipv4_addr_new(void) +ipv4_addr_and_mask* +ipv4_addr_and_mask_new(void) { - ipv4_addr *ipv4; + ipv4_addr_and_mask *ipv4; - ipv4 = g_new(ipv4_addr, 1); + ipv4 = g_new(ipv4_addr_and_mask, 1); return ipv4; } void -ipv4_addr_free(ipv4_addr *ipv4) +ipv4_addr_and_mask_free(ipv4_addr_and_mask *ipv4) { g_free(ipv4); } void -ipv4_addr_set_host_order_addr(ipv4_addr *ipv4, const guint32 new_addr) +ipv4_addr_and_mask_set_host_order_addr(ipv4_addr_and_mask *ipv4, const guint32 new_addr) { ipv4->addr = new_addr; } void -ipv4_addr_set_net_order_addr(ipv4_addr *ipv4, const guint32 new_addr) +ipv4_addr_and_mask_set_net_order_addr(ipv4_addr_and_mask *ipv4, const guint32 new_addr) { ipv4->addr = g_ntohl(new_addr); } void -ipv4_addr_set_netmask_bits(ipv4_addr *ipv4, const guint new_nmask_bits) +ipv4_addr_and_mask_set_netmask_bits(ipv4_addr_and_mask *ipv4, const guint new_nmask_bits) { ipv4->nmask = ip_get_subnet_mask(new_nmask_bits); } guint32 -ipv4_get_net_order_addr(ipv4_addr *ipv4) +ipv4_get_net_order_addr(ipv4_addr_and_mask *ipv4) { return g_htonl(ipv4->addr); } guint32 -ipv4_get_host_order_addr(ipv4_addr *ipv4) +ipv4_get_host_order_addr(ipv4_addr_and_mask *ipv4) { return ipv4->addr; } /* We're assuming the buffer is at least MAX_IP_STR_LEN (16 bytes) */ void -ipv4_addr_str_buf(const ipv4_addr *ipv4, gchar *buf) +ipv4_addr_and_mask_str_buf(const ipv4_addr_and_mask *ipv4, gchar *buf) { guint32 ipv4_host_order = g_htonl(ipv4->addr); ip_to_str_buf((guint8*)&ipv4_host_order, buf, MAX_IP_STR_LEN); @@ -95,7 +95,7 @@ ipv4_addr_str_buf(const ipv4_addr *ipv4, gchar *buf) /* Returns TRUE if equal, FALSE if not */ gboolean -ipv4_addr_eq(const ipv4_addr *a, const ipv4_addr *b) +ipv4_addr_and_mask_eq(const ipv4_addr_and_mask *a, const ipv4_addr_and_mask *b) { guint32 val_a, val_b, nmask; @@ -106,7 +106,7 @@ ipv4_addr_eq(const ipv4_addr *a, const ipv4_addr *b) } gboolean -ipv4_addr_gt(const ipv4_addr *a, const ipv4_addr *b) +ipv4_addr_and_mask_gt(const ipv4_addr_and_mask *a, const ipv4_addr_and_mask *b) { guint32 val_a, val_b, nmask; @@ -118,7 +118,7 @@ ipv4_addr_gt(const ipv4_addr *a, const ipv4_addr *b) } gboolean -ipv4_addr_ge(const ipv4_addr *a, const ipv4_addr *b) +ipv4_addr_and_mask_ge(const ipv4_addr_and_mask *a, const ipv4_addr_and_mask *b) { guint32 val_a, val_b, nmask; @@ -130,7 +130,7 @@ ipv4_addr_ge(const ipv4_addr *a, const ipv4_addr *b) } gboolean -ipv4_addr_lt(const ipv4_addr *a, const ipv4_addr *b) +ipv4_addr_and_mask_lt(const ipv4_addr_and_mask *a, const ipv4_addr_and_mask *b) { guint32 val_a, val_b, nmask; @@ -142,7 +142,7 @@ ipv4_addr_lt(const ipv4_addr *a, const ipv4_addr *b) } gboolean -ipv4_addr_le(const ipv4_addr *a, const ipv4_addr *b) +ipv4_addr_and_mask_le(const ipv4_addr_and_mask *a, const ipv4_addr_and_mask *b) { guint32 val_a, val_b, nmask; diff --git a/epan/ipv4.h b/epan/ipv4.h index 6bc65027e4..fce104aedb 100644 --- a/epan/ipv4.h +++ b/epan/ipv4.h @@ -34,35 +34,37 @@ typedef struct { guint32 addr; /* stored in host order */ guint32 nmask; /* stored in host order */ -} ipv4_addr; +} ipv4_addr_and_mask; -/* Allocate a new ipv4_addr struct, initialize it, and return pointer */ -ipv4_addr* ipv4_addr_new(void); +/* Allocate a new ipv4_addr_and_mask struct, initialize it, + * and return pointer + */ +ipv4_addr_and_mask* ipv4_addr_and_mask_new(void); -/* Frees an ipv4 struct */ -void ipv4_addr_free(ipv4_addr *ipv4); +/* Frees an ipv4_addr_and_mask struct */ +void ipv4_addr_and_mask_free(ipv4_addr_and_mask *ipv4); -void ipv4_addr_set_host_order_addr(ipv4_addr *ipv4, const guint32 new_addr); -void ipv4_addr_set_net_order_addr(ipv4_addr *ipv4, const guint32 new_addr); -void ipv4_addr_set_netmask_bits(ipv4_addr *ipv4, const guint new_nmask_bits); +void ipv4_addr_and_mask_set_host_order_addr(ipv4_addr_and_mask *ipv4, const guint32 new_addr); +void ipv4_addr_and_mask_set_net_order_addr(ipv4_addr_and_mask *ipv4, const guint32 new_addr); +void ipv4_addr_and_mask_set_netmask_bits(ipv4_addr_and_mask *ipv4, const guint new_nmask_bits); WS_DLL_PUBLIC -guint32 ipv4_get_net_order_addr(ipv4_addr *ipv4); -guint32 ipv4_get_host_order_addr(ipv4_addr *ipv4); +guint32 ipv4_get_net_order_addr(ipv4_addr_and_mask *ipv4); +guint32 ipv4_get_host_order_addr(ipv4_addr_and_mask *ipv4); /* Fills in a buffer with a dotted-decimal notation representation of an IPv4 * address. */ -void ipv4_addr_str_buf(const ipv4_addr *ipv4, gchar *buf); +void ipv4_addr_and_mask_str_buf(const ipv4_addr_and_mask *ipv4, gchar *buf); -/* Compares two ipv4_addrs, taking into account the less restrictive of the +/* Compares two ipv4_addr_and_masks, taking into account the less restrictive of the * two netmasks, applying that netmask to both addrs. */ -gboolean ipv4_addr_eq(const ipv4_addr *a, const ipv4_addr *b); -gboolean ipv4_addr_gt(const ipv4_addr *a, const ipv4_addr *b); -gboolean ipv4_addr_ge(const ipv4_addr *a, const ipv4_addr *b); -gboolean ipv4_addr_lt(const ipv4_addr *a, const ipv4_addr *b); -gboolean ipv4_addr_le(const ipv4_addr *a, const ipv4_addr *b); +gboolean ipv4_addr_and_mask_eq(const ipv4_addr_and_mask *a, const ipv4_addr_and_mask *b); +gboolean ipv4_addr_and_mask_gt(const ipv4_addr_and_mask *a, const ipv4_addr_and_mask *b); +gboolean ipv4_addr_and_mask_ge(const ipv4_addr_and_mask *a, const ipv4_addr_and_mask *b); +gboolean ipv4_addr_and_mask_lt(const ipv4_addr_and_mask *a, const ipv4_addr_and_mask *b); +gboolean ipv4_addr_and_mask_le(const ipv4_addr_and_mask *a, const ipv4_addr_and_mask *b); -#define ipv4_addr_ne(a,b) !ipv4_addr_eq((a),(b)) +#define ipv4_addr_and_mask_ne(a,b) !ipv4_addr_and_mask_eq((a),(b)) #endif diff --git a/epan/ipv6.h b/epan/ipv6.h index 7bf081375e..915c83fbc2 100644 --- a/epan/ipv6.h +++ b/epan/ipv6.h @@ -33,6 +33,6 @@ struct e_in6_addr { typedef struct { struct e_in6_addr addr; guint32 prefix; -} ipv6_addr; +} ipv6_addr_and_prefix; #endif /* __IPV6_UTILS_H__ */ diff --git a/epan/proto.c b/epan/proto.c index 87088d89ce..b6f1c00a62 100644 --- a/epan/proto.c +++ b/epan/proto.c @@ -4527,13 +4527,13 @@ const gchar * proto_custom_set(proto_tree* tree, GSList *field_ids, gint occurrence, gchar *result, gchar *expr, const int size) { - guint32 number; - guint64 number64; - guint8 *bytes; - ipv4_addr *ipv4; - struct e_in6_addr *ipv6; - address addr; - guint32 n_addr; /* network-order IPv4 address */ + guint32 number; + guint64 number64; + guint8 *bytes; + ipv4_addr_and_mask *ipv4; + struct e_in6_addr *ipv6; + address addr; + guint32 n_addr; /* network-order IPv4 address */ const true_false_string *tfstring; @@ -4802,7 +4802,7 @@ proto_custom_set(proto_tree* tree, GSList *field_ids, gint occurrence, break; case FT_IPv4: - ipv4 = (ipv4_addr *)fvalue_get(&finfo->value); + ipv4 = (ipv4_addr_and_mask *)fvalue_get(&finfo->value); n_addr = ipv4_get_net_order_addr(ipv4); set_address (&addr, AT_IPv4, 4, &n_addr); address_to_str_buf(&addr, result+offset_r, size-offset_r); @@ -6623,17 +6623,17 @@ label_fill_descr(char *label_str, gsize pos, const header_field_info *hfinfo, co void proto_item_fill_label(field_info *fi, gchar *label_str) { - header_field_info *hfinfo; - guint8 *bytes; - guint32 integer; - guint64 integer64; - ipv4_addr *ipv4; - e_guid_t *guid; - guint32 n_addr; /* network-order IPv4 address */ - gchar *name; - address addr; - char *addr_str; - char *tmp; + header_field_info *hfinfo; + guint8 *bytes; + guint32 integer; + guint64 integer64; + ipv4_addr_and_mask *ipv4; + e_guid_t *guid; + guint32 n_addr; /* network-order IPv4 address */ + gchar *name; + address addr; + char *addr_str; + char *tmp; if (!fi) { if (label_str) @@ -6820,7 +6820,7 @@ proto_item_fill_label(field_info *fi, gchar *label_str) break; case FT_IPv4: - ipv4 = (ipv4_addr *)fvalue_get(&fi->value); + ipv4 = (ipv4_addr_and_mask *)fvalue_get(&fi->value); n_addr = ipv4_get_net_order_addr(ipv4); addr.type = AT_IPv4; diff --git a/ui/gtk/packet_win.c b/ui/gtk/packet_win.c index 2c896b5111..a50475053a 100644 --- a/ui/gtk/packet_win.c +++ b/ui/gtk/packet_win.c @@ -615,7 +615,7 @@ new_finfo_window(GtkWidget *w, struct FieldinfoWinData *DataPtr) g_signal_connect(fvalue_edit, "toggled", G_CALLBACK(finfo_boolean_changed), DataPtr); } else if (finfo_type == FT_IPv4) { - guint32 net_addr = ipv4_get_net_order_addr((ipv4_addr *)fvalue_get(&finfo->value)); + guint32 net_addr = ipv4_get_net_order_addr((ipv4_addr_and_mask *)fvalue_get(&finfo->value)); #if GTK_CHECK_VERSION(3,0,0) GtkAdjustment *adj; #else diff --git a/ui/gtk/rtp_analysis.c b/ui/gtk/rtp_analysis.c index 0058e97960..846635e206 100644 --- a/ui/gtk/rtp_analysis.c +++ b/ui/gtk/rtp_analysis.c @@ -3723,10 +3723,10 @@ static gboolean process_node(proto_node *ptree_node, header_field_info *hfinformation, const gchar* proto_field, guint32* p_result) { - field_info *finfo; - proto_node *proto_sibling_node; - header_field_info *hfssrc; - ipv4_addr *ipv4; + field_info *finfo; + proto_node *proto_sibling_node; + header_field_info *hfssrc; + ipv4_addr_and_mask *ipv4; finfo = PNODE_FINFO(ptree_node); @@ -3743,7 +3743,7 @@ process_node(proto_node *ptree_node, header_field_info *hfinformation, finfo = PNODE_FINFO(ptree_node); if (hfssrc == finfo->hfinfo) { if (hfinformation->type == FT_IPv4) { - ipv4 = (ipv4_addr *)fvalue_get(&finfo->value); + ipv4 = (ipv4_addr_and_mask *)fvalue_get(&finfo->value); *p_result = ipv4_get_net_order_addr(ipv4); } else { diff --git a/ui/qt/rtp_analysis_dialog.cpp b/ui/qt/rtp_analysis_dialog.cpp index b733369ce5..ae819d48ad 100644 --- a/ui/qt/rtp_analysis_dialog.cpp +++ b/ui/qt/rtp_analysis_dialog.cpp @@ -1369,10 +1369,10 @@ void RtpAnalysisDialog::saveCsv(RtpAnalysisDialog::StreamDirection direction) // Adapted from rtp_analysis.c:process_node guint32 RtpAnalysisDialog::processNode(proto_node *ptree_node, header_field_info *hfinformation, const gchar *proto_field, bool *ok) { - field_info *finfo; - proto_node *proto_sibling_node; - header_field_info *hfssrc; - ipv4_addr *ipv4; + field_info *finfo; + proto_node *proto_sibling_node; + header_field_info *hfssrc; + ipv4_addr_and_mask *ipv4; finfo = PNODE_FINFO(ptree_node); @@ -1391,7 +1391,7 @@ guint32 RtpAnalysisDialog::processNode(proto_node *ptree_node, header_field_info if (hfssrc == finfo->hfinfo) { guint32 result; if (hfinformation->type == FT_IPv4) { - ipv4 = (ipv4_addr *)fvalue_get(&finfo->value); + ipv4 = (ipv4_addr_and_mask *)fvalue_get(&finfo->value); result = ipv4_get_net_order_addr(ipv4); } else { result = fvalue_get_uinteger(&finfo->value); -- cgit v1.2.3