diff options
author | Stig Bjørlykke <stig@bjorlykke.org> | 2008-04-21 21:36:11 +0000 |
---|---|---|
committer | Stig Bjørlykke <stig@bjorlykke.org> | 2008-04-21 21:36:11 +0000 |
commit | 5ccc52fbb62455cdeaeb78decab08f05c927dab5 (patch) | |
tree | 98030992f02275e5e247f1237628d91ff38bc27b /epan/dissectors/packet-afp.c | |
parent | 5ddabf170f2b2c4ba6a471dfaff7f352a6c07119 (diff) | |
download | wireshark-5ccc52fbb62455cdeaeb78decab08f05c927dab5.tar.gz wireshark-5ccc52fbb62455cdeaeb78decab08f05c927dab5.tar.bz2 wireshark-5ccc52fbb62455cdeaeb78decab08f05c927dab5.zip |
From Alex deVries (bug 2486):
This adds fpSyncFork and fpSyncDir functionality to the AFP dissector.
svn path=/trunk/; revision=25142
Diffstat (limited to 'epan/dissectors/packet-afp.c')
-rw-r--r-- | epan/dissectors/packet-afp.c | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/epan/dissectors/packet-afp.c b/epan/dissectors/packet-afp.c index d5d435d606..377334edc2 100644 --- a/epan/dissectors/packet-afp.c +++ b/epan/dissectors/packet-afp.c @@ -160,6 +160,10 @@ http://developer.apple.com/documentation/Networking/Reference/AFP_Reference/inde #define AFP_SETACL 74 #define AFP_ACCESS 75 +/* AFP 3.2 calls added in 10.5 */ +#define AFP_SYNCDIR 78 +#define AFP_SYNCFORK 79 + /* ----------------------------- */ static int proto_afp = -1; static int hf_afp_reserved = -1; @@ -422,6 +426,8 @@ const value_string CommandCode_vals[] = { {AFP_GETACL, "FPGetACL" }, {AFP_SETACL, "FPSetACL" }, {AFP_ACCESS, "FPAccess" }, + {AFP_SYNCFORK, "FPSyncFork" }, + {AFP_SYNCDIR, "FPSyncDir" }, {0, NULL } }; @@ -2638,6 +2644,7 @@ dissect_query_afp_close_dt(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tr fork number AFP_FLUSHFORK AFP_CLOSEFORK + AFP_SYNCFORK */ static gint dissect_query_afp_with_fork(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, gint offset) @@ -3851,6 +3858,19 @@ dissect_query_afp_access(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, gi } /* ************************** */ +static gint +dissect_query_afp_with_did(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, gint offset) +{ + PAD(1); + offset = decode_vol_did(tree, tvb, offset); + + proto_tree_add_item(tree, hf_afp_did, tvb, offset, 4,FALSE); + offset += 4; + + return offset; +} + +/* ************************** */ static guint16 decode_acl_list_bitmap(tvbuff_t *tvb, proto_tree *tree, gint offset) { @@ -4143,6 +4163,7 @@ dissect_afp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) case AFP_CLOSEDT: offset = dissect_query_afp_close_dt(tvb, pinfo, afp_tree, offset);break; case AFP_FLUSHFORK: /* same packet as closefork */ + case AFP_SYNCFORK: case AFP_CLOSEFORK: offset = dissect_query_afp_with_fork(tvb, pinfo, afp_tree, offset);break; case AFP_COPYFILE: @@ -4258,6 +4279,8 @@ dissect_afp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) offset = dissect_query_afp_set_acl(tvb, pinfo, afp_tree, offset);break; case AFP_ACCESS: offset = dissect_query_afp_access(tvb, pinfo, afp_tree, offset);break; + case AFP_SYNCDIR: + offset = dissect_query_afp_with_did(tvb, pinfo, afp_tree, offset);break; } } else { |