aboutsummaryrefslogtreecommitdiffstats
path: root/packet-gnutella.c
diff options
context:
space:
mode:
authorGilbert Ramirez <gram@alumni.rice.edu>2001-10-26 02:09:01 +0000
committerGilbert Ramirez <gram@alumni.rice.edu>2001-10-26 02:09:01 +0000
commit44dd278a0ce381bd618e0948e413b039234da159 (patch)
treeb55628122191b4562f6d7ecc75cf29ef6c9674b8 /packet-gnutella.c
parent2a2e3fd3a1cceba657b6f9825dd67e9615ae59d6 (diff)
Fix improper uses of proto_tree_add_item(). When possible, switch to
using proto_tree_add_item(). svn path=/trunk/; revision=4083
Diffstat (limited to 'packet-gnutella.c')
-rw-r--r--packet-gnutella.c107
1 files changed, 24 insertions, 83 deletions
diff --git a/packet-gnutella.c b/packet-gnutella.c
index 3d2c6d92d3..e03b55a864 100644
--- a/packet-gnutella.c
+++ b/packet-gnutella.c
@@ -2,7 +2,7 @@
* Routines for gnutella dissection
* Copyright 2001, B. Johannessen <bob@havoq.com>
*
- * $Id: packet-gnutella.c,v 1.5 2001/10/25 21:25:51 gram Exp $
+ * $Id: packet-gnutella.c,v 1.6 2001/10/26 02:09:01 gram Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@ethereal.com>
@@ -96,10 +96,6 @@ static gint ett_gnutella = -1;
static void dissect_gnutella_pong(tvbuff_t *tvb, int offset, proto_tree *tree, int size) {
- int port, ip0, ip1, ip2, ip3;
- int files, kbytes;
- unsigned long ip;
-
if(offset + size > tvb_length(tvb)) {
proto_tree_add_item(tree,
hf_gnutella_truncated,
@@ -110,55 +106,38 @@ static void dissect_gnutella_pong(tvbuff_t *tvb, int offset, proto_tree *tree, i
return;
}
- port = tvb_get_letohs(tvb, offset + GNUTELLA_PONG_PORT_OFFSET);
-
- ip = tvb_get_letohl(tvb, offset + GNUTELLA_PONG_IP_OFFSET);
-
- ip0 = tvb_get_guint8(tvb, offset + GNUTELLA_PONG_IP_OFFSET);
- ip1 = tvb_get_guint8(tvb, offset + GNUTELLA_PONG_IP_OFFSET + 1);
- ip2 = tvb_get_guint8(tvb, offset + GNUTELLA_PONG_IP_OFFSET + 2);
- ip3 = tvb_get_guint8(tvb, offset + GNUTELLA_PONG_IP_OFFSET + 3);
-
- files = tvb_get_letohl(tvb, offset + GNUTELLA_PONG_FILES_OFFSET);
-
- kbytes = tvb_get_letohl(tvb, offset + GNUTELLA_PONG_KBYTES_OFFSET);
-
proto_tree_add_item(tree,
hf_gnutella_pong_port,
tvb,
offset + GNUTELLA_PONG_PORT_OFFSET,
GNUTELLA_PORT_LENGTH,
- port);
+ TRUE);
- proto_tree_add_ipv4_format(tree,
+ proto_tree_add_item(tree,
hf_gnutella_pong_ip,
tvb,
offset + GNUTELLA_PONG_IP_OFFSET,
GNUTELLA_IP_LENGTH,
- ip,
- "IP: %i.%i.%i.%i",
- ip0, ip1, ip2, ip3);
+ FALSE);
proto_tree_add_item(tree,
hf_gnutella_pong_files,
tvb,
offset + GNUTELLA_PONG_FILES_OFFSET,
GNUTELLA_LONG_LENGTH,
- files);
+ TRUE);
proto_tree_add_item(tree,
hf_gnutella_pong_kbytes,
tvb,
offset + GNUTELLA_PONG_KBYTES_OFFSET,
GNUTELLA_LONG_LENGTH,
- kbytes);
+ TRUE);
}
static void dissect_gnutella_query(tvbuff_t *tvb, int offset, proto_tree *tree, int size) {
- int min_speed;
-
if(offset + size > tvb_length(tvb)) {
proto_tree_add_item(tree,
hf_gnutella_truncated,
@@ -169,14 +148,12 @@ static void dissect_gnutella_query(tvbuff_t *tvb, int offset, proto_tree *tree,
return;
}
- min_speed = tvb_get_letohs(tvb, offset + GNUTELLA_QUERY_SPEED_OFFSET);
-
proto_tree_add_item(tree,
hf_gnutella_query_min_speed,
tvb,
offset + GNUTELLA_QUERY_SPEED_OFFSET,
GNUTELLA_SHORT_LENGTH,
- min_speed);
+ TRUE);
if (size > GNUTELLA_SHORT_LENGTH) {
proto_tree_add_item(tree,
@@ -198,8 +175,7 @@ static void dissect_gnutella_query(tvbuff_t *tvb, int offset, proto_tree *tree,
static void dissect_gnutella_queryhit(tvbuff_t *tvb, int offset, proto_tree *tree, int size) {
proto_tree *qhi, *hit_tree;
- int hit_count, port, speed;
- int ip0, ip1, ip2, ip3, i;
+ int hit_count, i;
int hit_offset, idx, hit_size;
int name_length, extra_length;
int idx_at_offset, size_at_offset;
@@ -218,20 +194,9 @@ static void dissect_gnutella_queryhit(tvbuff_t *tvb, int offset, proto_tree *tre
return;
}
- hit_count = tvb_get_guint8(tvb, offset + GNUTELLA_QUERYHIT_COUNT_OFFSET);
-
- port = tvb_get_ntohs(tvb, offset + GNUTELLA_QUERYHIT_PORT_OFFSET);
-
- ip = tvb_get_letohl(tvb, offset + GNUTELLA_QUERYHIT_IP_OFFSET);
-
- ip0 = tvb_get_guint8(tvb, offset + GNUTELLA_QUERYHIT_IP_OFFSET);
- ip1 = tvb_get_guint8(tvb, offset + GNUTELLA_QUERYHIT_IP_OFFSET + 1);
- ip2 = tvb_get_guint8(tvb, offset + GNUTELLA_QUERYHIT_IP_OFFSET + 2);
- ip3 = tvb_get_guint8(tvb, offset + GNUTELLA_QUERYHIT_IP_OFFSET + 3);
-
- speed = tvb_get_letohl(tvb, offset + GNUTELLA_QUERYHIT_SPEED_OFFSET);
+ hit_count = tvb_get_guint8(tvb, offset + GNUTELLA_QUERYHIT_COUNT_OFFSET);
- proto_tree_add_item(tree,
+ proto_tree_add_uint(tree,
hf_gnutella_queryhit_count,
tvb,
offset + GNUTELLA_QUERYHIT_COUNT_OFFSET,
@@ -243,30 +208,25 @@ static void dissect_gnutella_queryhit(tvbuff_t *tvb, int offset, proto_tree *tre
tvb,
offset + GNUTELLA_QUERYHIT_PORT_OFFSET,
GNUTELLA_PORT_LENGTH,
- port);
+ TRUE);
- proto_tree_add_ipv4_format(tree,
+ proto_tree_add_item(tree,
hf_gnutella_queryhit_ip,
tvb,
offset + GNUTELLA_QUERYHIT_IP_OFFSET,
GNUTELLA_IP_LENGTH,
- ip,
- "IP: %i.%i.%i.%i",
- ip0, ip1, ip2, ip3);
+ FALSE);
proto_tree_add_item(tree,
hf_gnutella_queryhit_speed,
tvb,
offset + GNUTELLA_QUERYHIT_SPEED_OFFSET,
GNUTELLA_LONG_LENGTH,
- speed);
+ TRUE);
hit_offset = offset + GNUTELLA_QUERYHIT_FIRST_HIT_OFFSET;
for(i = 0; i < hit_count; i++) {
- idx = tvb_get_letohl(tvb, hit_offset + GNUTELLA_QUERYHIT_HIT_INDEX_OFFSET);
- hit_size = tvb_get_letohl(tvb, hit_offset + GNUTELLA_QUERYHIT_HIT_SIZE_OFFSET);
-
idx_at_offset = hit_offset;
size_at_offset = hit_offset + GNUTELLA_QUERYHIT_HIT_SIZE_OFFSET;
@@ -317,14 +277,14 @@ static void dissect_gnutella_queryhit(tvbuff_t *tvb, int offset, proto_tree *tre
tvb,
idx_at_offset,
GNUTELLA_LONG_LENGTH,
- idx);
+ TRUE);
proto_tree_add_item(hit_tree,
hf_gnutella_queryhit_hit_size,
tvb,
size_at_offset,
GNUTELLA_LONG_LENGTH,
- hit_size);
+ TRUE);
proto_tree_add_item(hit_tree,
hf_gnutella_queryhit_hit_name,
@@ -371,9 +331,6 @@ static void dissect_gnutella_queryhit(tvbuff_t *tvb, int offset, proto_tree *tre
static void dissect_gnutella_push(tvbuff_t *tvb, int offset, proto_tree *tree, int size) {
- int idx, ip0, ip1, ip2, ip3, port;
- unsigned long ip;
-
if(offset + size > tvb_length(tvb)) {
proto_tree_add_item(tree,
hf_gnutella_truncated,
@@ -384,14 +341,6 @@ static void dissect_gnutella_push(tvbuff_t *tvb, int offset, proto_tree *tree, i
return;
}
- idx = tvb_get_letohl(tvb, offset + GNUTELLA_PUSH_INDEX_OFFSET);
- ip = tvb_get_letohl(tvb, offset + GNUTELLA_PUSH_IP_OFFSET);
- ip0 = tvb_get_guint8(tvb, offset + GNUTELLA_PUSH_IP_OFFSET);
- ip1 = tvb_get_guint8(tvb, offset + GNUTELLA_PUSH_IP_OFFSET + 1);
- ip2 = tvb_get_guint8(tvb, offset + GNUTELLA_PUSH_IP_OFFSET + 2);
- ip3 = tvb_get_guint8(tvb, offset + GNUTELLA_PUSH_IP_OFFSET + 3);
- port = tvb_get_letohs(tvb, offset + GNUTELLA_PUSH_PORT_OFFSET);
-
proto_tree_add_item(tree,
hf_gnutella_push_servent_id,
tvb,
@@ -404,23 +353,21 @@ static void dissect_gnutella_push(tvbuff_t *tvb, int offset, proto_tree *tree, i
tvb,
offset + GNUTELLA_PUSH_INDEX_OFFSET,
GNUTELLA_LONG_LENGTH,
- idx);
+ TRUE);
- proto_tree_add_ipv4_format(tree,
+ proto_tree_add_item(tree,
hf_gnutella_push_ip,
tvb,
offset + GNUTELLA_PUSH_IP_OFFSET,
GNUTELLA_IP_LENGTH,
- ip,
- "IP: %i.%i.%i.%i",
- ip0, ip1, ip2, ip3);
+ FALSE);
proto_tree_add_item(tree,
hf_gnutella_push_port,
tvb,
offset + GNUTELLA_PUSH_PORT_OFFSET,
GNUTELLA_PORT_LENGTH,
- port);
+ TRUE);
}
@@ -430,7 +377,7 @@ static void dissect_gnutella(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree
proto_tree *gnutella_tree, *gnutella_header_tree, *gnutella_pong_tree;
proto_tree *gnutella_queryhit_tree, *gnutella_push_tree;
proto_tree *gnutella_query_tree;
- int snap_len, payload_descriptor, ttl, hops, offset;
+ int snap_len, payload_descriptor, offset;
unsigned int size;
char *payload_descriptor_text;
@@ -483,12 +430,6 @@ static void dissect_gnutella(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree
tvb,
offset +
GNUTELLA_HEADER_PAYLOAD_OFFSET);
- ttl = tvb_get_guint8(
- tvb,
- offset + GNUTELLA_HEADER_TTL_OFFSET);
- hops = tvb_get_guint8(
- tvb,
- offset + GNUTELLA_HEADER_HOPS_OFFSET);
size = tvb_get_letohl(
tvb,
offset + GNUTELLA_HEADER_SIZE_OFFSET);
@@ -544,16 +485,16 @@ static void dissect_gnutella(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree
tvb,
offset + GNUTELLA_HEADER_TTL_OFFSET,
GNUTELLA_BYTE_LENGTH,
- ttl);
+ FALSE);
proto_tree_add_item(gnutella_header_tree,
hf_gnutella_header_hops,
tvb,
offset + GNUTELLA_HEADER_HOPS_OFFSET,
GNUTELLA_BYTE_LENGTH,
- hops);
+ FALSE);
- proto_tree_add_item(gnutella_header_tree,
+ proto_tree_add_uint(gnutella_header_tree,
hf_gnutella_header_size,
tvb,
offset + GNUTELLA_HEADER_SIZE_OFFSET,