aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGuy Harris <guy@alum.mit.edu>2008-08-08 18:15:24 +0000
committerGuy Harris <guy@alum.mit.edu>2008-08-08 18:15:24 +0000
commit652343e2d1501be5fc596c036817d9b5ddfe4892 (patch)
tree7e7c425918bf23957f3461b39d8f2cbc6358655a
parentdfef2ab6326d7322a3bf54aa83dcf62e16027745 (diff)
Don't get AF_ values used in protocols from system header files -
they're not guaranteed to be the same in all OSes. Define them ourselves. svn path=/trunk/; revision=25958
-rw-r--r--epan/dissectors/packet-dplay.c27
1 files changed, 15 insertions, 12 deletions
diff --git a/epan/dissectors/packet-dplay.c b/epan/dissectors/packet-dplay.c
index 6151f05017..d3f63da740 100644
--- a/epan/dissectors/packet-dplay.c
+++ b/epan/dissectors/packet-dplay.c
@@ -29,14 +29,6 @@
# include "config.h"
#endif
-#ifdef HAVE_SYS_SOCKET_H
-#include <sys/socket.h>
-#endif
-
-#ifdef HAVE_WINSOCK2_H
-#include <winsock2.h> /* needed to define AF_ values on Windows */
-#endif
-
#include <epan/packet.h>
#include <epan/prefs.h>
#include <epan/emem.h>
@@ -51,10 +43,21 @@ static gint dissect_type1a_message(proto_tree *tree, tvbuff_t *tvb, gint offset)
static int proto_dplay = -1;
static dissector_handle_t dplay_handle;
+/*
+ * Address family definitions used in the protocol; we don't use the AF_
+ * values for the OS for which we're building, as there's no guarantee
+ * that the definitions for that OS match the ones used in the protocol.
+ *
+ * XXX - check that these match what's used in the protocol; what's
+ * used in the protocol is probably what's defined in Winsock.
+ */
+#define DPLAY_AF_INET 2
+#define DPLAY_AF_IPX 6 /* XXX - sys/socket.h: AF_IPX is 4 ? */
+
/* Common data fields */
static int hf_dplay_size = -1; /* Size of the whole data */
static int hf_dplay_token = -1;
-static int hf_dplay_saddr_af = -1; /* AF_INET, as this dissector does not handle IPX yet */
+static int hf_dplay_saddr_af = -1; /* DPLAY_AF_INET, as this dissector does not handle IPX yet */
static int hf_dplay_saddr_port = -1; /* port to use for the reply to this packet */
static int hf_dplay_saddr_ip = -1; /* IP to use for the reply to this packet, or 0.0.0.0,
then use the same IP as this packet used. */
@@ -363,8 +366,8 @@ static const value_string dplay_command_val[] = {
};
static const value_string dplay_af_val[] = {
- { 0x0002, "AF_INET" },
- { 0x0006, "AF_IPX" }, /* XXX - sys/socket.h: AF_IPX is 4 ? */
+ { DPLAY_AF_INET, "AF_INET" },
+ { DPLAY_AF_IPX, "AF_IPX" },
{ 0 , NULL},
};
@@ -1206,7 +1209,7 @@ static gboolean heur_dissect_dplay(tvbuff_t *tvb, packet_info *pinfo, proto_tree
token = (token & 0xfff00000) >> 20;
if (token == 0xfab || token == 0xbab || token == 0xcab) {
/* Check the s_addr_in structure */
- if (tvb_get_letohs(tvb, 4) == AF_INET) {
+ if (tvb_get_letohs(tvb, 4) == DPLAY_AF_INET) {
int offset;
for (offset = 12; offset <= 20; offset++)
if (tvb_get_guint8(tvb, offset) != 0)