aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNathan Neulinger <nneul@umr.edu>2000-11-03 19:27:11 +0000
committerNathan Neulinger <nneul@umr.edu>2000-11-03 19:27:11 +0000
commitc63dddfcd33c956267f406dfb559832a001c9f8a (patch)
tree387291611ea31a2e067c18aa357cef12d74eb6b5
parent2cdf2ad90db544ad077362558c7068481bc968de (diff)
downloadwireshark-c63dddfcd33c956267f406dfb559832a001c9f8a.tar.gz
wireshark-c63dddfcd33c956267f406dfb559832a001c9f8a.tar.bz2
wireshark-c63dddfcd33c956267f406dfb559832a001c9f8a.zip
finished up afs fs requests, more macros implemented
svn path=/trunk/; revision=2555
-rw-r--r--packet-afs-defs.h7
-rw-r--r--packet-afs-macros.h54
-rw-r--r--packet-afs-register-info.h14
-rw-r--r--packet-afs.c57
4 files changed, 108 insertions, 24 deletions
diff --git a/packet-afs-defs.h b/packet-afs-defs.h
index 2fb2ebd5a9..4d23db0725 100644
--- a/packet-afs-defs.h
+++ b/packet-afs-defs.h
@@ -8,7 +8,7 @@
* Portions based on information/specs retrieved from the OpenAFS sources at
* www.openafs.org, Copyright IBM.
*
- * $Id: packet-afs-defs.h,v 1.2 2000/11/03 18:37:24 nneul Exp $
+ * $Id: packet-afs-defs.h,v 1.3 2000/11/03 19:27:11 nneul Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@zing.org>
@@ -531,9 +531,14 @@ static int hf_afs_fs_offlinemsg = -1;
static int hf_afs_fs_motd = -1;
static int hf_afs_fs_xstats_version = -1;
static int hf_afs_fs_xstats_timestamp = -1;
+static int hf_afs_fs_xstats_clientversion = -1;
+static int hf_afs_fs_xstats_collnumber = -1;
+static int hf_afs_fs_cps_spare1 = -1;
static int hf_afs_fs_cps_spare2 = -1;
static int hf_afs_fs_cps_spare3 = -1;
static int hf_afs_fs_vicelocktype = -1;
+static int hf_afs_fs_viceid = -1;
+static int hf_afs_fs_ipaddr = -1;
static int hf_afs_fs_status_anonymousaccess = -1;
static int hf_afs_fs_status_author = -1;
diff --git a/packet-afs-macros.h b/packet-afs-macros.h
index 4942f678e8..48b24ae9d1 100644
--- a/packet-afs-macros.h
+++ b/packet-afs-macros.h
@@ -8,7 +8,7 @@
* Portions based on information/specs retrieved from the OpenAFS sources at
* www.openafs.org, Copyright IBM.
*
- * $Id: packet-afs-macros.h,v 1.2 2000/11/03 18:37:24 nneul Exp $
+ * $Id: packet-afs-macros.h,v 1.3 2000/11/03 19:27:11 nneul Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@zing.org>
@@ -48,8 +48,14 @@
after adding a 'Truncated' message to tree */
#define TRUNC(bytes) \
if(!BYTES_ARE_IN_FRAME(curoffset,(bytes))) \
- { proto_tree_add_text(tree, NullTVB,curoffset,END_OF_FRAME,"Truncated"); \
- return; }
+ { \
+ proto_tree_add_text(tree, NullTVB,curoffset, \
+ END_OF_FRAME,"Truncated"); \
+ /* not sure why, but this didn't work */ \
+ /* if (check_col(fd, COL_INFO)) */ \
+ /* col_append_fstr(fd, COL_INFO, " (TRUNCATED)"); */ \
+ return; \
+ }
/* Output a unsigned integer, stored into field 'field'
Assumes it is in network byte order, converts to host before using */
@@ -100,13 +106,13 @@
tree = proto_item_add_subtree(ti, ett_afs_callback); \
TRUNC(3*sizeof(guint32)); \
OUT_UINT(hf_afs_fs_callback_version); \
- OUT_TIMESTAMP(hf_afs_fs_callback_expires); \
+ OUT_DATE(hf_afs_fs_callback_expires); \
OUT_UINT(hf_afs_fs_callback_type); \
tree = save; \
}
/* Output a callback */
-#define CB_CALLBACKOUT() \
+#define OUT_CB_AFSCallBack() \
{ proto_tree *save, *ti; \
ti = proto_tree_add_text(tree, NullTVB, curoffset, 3*4, "Callback"); \
save = tree; \
@@ -235,7 +241,40 @@
}
/* Output a AFSCBFids */
-#define OUT_FS_AFSCBFids()
+#define OUT_FS_AFSCBFids() \
+ { \
+ unsigned int j,i; \
+ TRUNC(1); \
+ j = pntohl(&pd[curoffset]); \
+ curoffset += 1; \
+ for (i=0; i<j; i++) { \
+ OUT_FS_AFSFid("Target"); \
+ } \
+ }
+
+/* Output a ViceIds */
+#define OUT_FS_ViceIds() \
+ { \
+ unsigned int j,i; \
+ TRUNC(1); \
+ j = pntohl(&pd[curoffset]); \
+ curoffset += 1; \
+ for (i=0; i<j; i++) { \
+ OUT_UINT(hf_afs_fs_viceid); \
+ } \
+ }
+
+/* Output a IPAddrs */
+#define OUT_FS_IPAddrs() \
+ { \
+ unsigned int j,i; \
+ TRUNC(1); \
+ j = pntohl(&pd[curoffset]); \
+ curoffset += 1; \
+ for (i=0; i<j; i++) { \
+ OUT_IP(hf_afs_fs_ipaddr); \
+ } \
+ }
/* Output a AFSCBs */
#define OUT_FS_AFSCBs()
@@ -258,6 +297,9 @@
/* Output a VolumeInfo structure */
#define OUT_FS_VolumeInfo()
+/* Output an AFS Token - might just be bytes though */
+#define OUT_FS_AFSTOKEN()
+
/* Output a AFS acl */
#define ACLOUT(who, positive, acl, bytes) \
{ proto_tree *save, *ti; \
diff --git a/packet-afs-register-info.h b/packet-afs-register-info.h
index c12356265a..adcffd58d9 100644
--- a/packet-afs-register-info.h
+++ b/packet-afs-register-info.h
@@ -8,7 +8,7 @@
* Portions based on information/specs retrieved from the OpenAFS sources at
* www.openafs.org, Copyright IBM.
*
- * $Id: packet-afs-register-info.h,v 1.2 2000/11/03 18:37:24 nneul Exp $
+ * $Id: packet-afs-register-info.h,v 1.3 2000/11/03 19:27:11 nneul Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@zing.org>
@@ -139,15 +139,25 @@
FT_STRING, BASE_HEX, 0, 0, "Message of the Day" }},
{ &hf_afs_fs_xstats_version, { "XStats Version", "afs.fs.xstats.version",
FT_UINT32, BASE_DEC, 0, 0, "XStats Version" }},
+{ &hf_afs_fs_xstats_clientversion, { "Client Version", "afs.fs.xstats.clientversion",
+ FT_UINT32, BASE_DEC, 0, 0, "Client Version" }},
+{ &hf_afs_fs_xstats_version, { "Collection Number", "afs.fs.xstats.collnumber",
+ FT_UINT32, BASE_DEC, 0, 0, "Collection Number" }},
{ &hf_afs_fs_xstats_timestamp, { "XStats Timestamp", "afs.fs.xstats.timestamp",
FT_UINT32, BASE_DEC, 0, 0, "XStats Timestamp" }},
+{ &hf_afs_fs_cps_spare1, { "CPS Spare1", "afs.fs.cps.spare1",
+ FT_UINT32, BASE_DEC, 0, 0, "CPS Spare1" }},
{ &hf_afs_fs_cps_spare2, { "CPS Spare2", "afs.fs.cps.spare2",
FT_UINT32, BASE_DEC, 0, 0, "CPS Spare2" }},
{ &hf_afs_fs_cps_spare3, { "CPS Spare3", "afs.fs.cps.spare3",
FT_UINT32, BASE_DEC, 0, 0, "CPS Spare3" }},
{ &hf_afs_fs_vicelocktype, { "Vice Lock Type", "afs.fs.vicelocktype",
FT_UINT32, BASE_DEC, VALS(vice_lock_types), 0, "Vice Lock Type" }},
-
+{ &hf_afs_fs_viceid, { "Vice ID", "afs.fs.viceid",
+ FT_UINT32, BASE_DEC, 0, 0, "Vice ID" }},
+{ &hf_afs_fs_viceid, { "IP Address", "afs.fs.ipaddr",
+ FT_IPv4, BASE_HEX, 0, 0, "IP Address" }},
+
{ &hf_afs_fs_status_mask, { "Mask", "afs.fs.status.mask",
FT_UINT32, BASE_HEX, 0, 0, "Mask" }},
{ &hf_afs_fs_status_mask_setmodtime, { "Set Modification Time", "afs.fs.status.mask.setmodtime",
diff --git a/packet-afs.c b/packet-afs.c
index 602e65e31a..5ccee4ca20 100644
--- a/packet-afs.c
+++ b/packet-afs.c
@@ -8,7 +8,7 @@
* Portions based on information/specs retrieved from the OpenAFS sources at
* www.openafs.org, Copyright IBM.
*
- * $Id: packet-afs.c,v 1.20 2000/11/03 18:37:24 nneul Exp $
+ * $Id: packet-afs.c,v 1.21 2000/11/03 19:27:11 nneul Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@zing.org>
@@ -736,9 +736,9 @@ dissect_fs_request(const u_char *pd, int offset, frame_data *fd, proto_tree *tre
OUT_FS_AFSStoreStatus("Status");
break;
case 140: /* Link */
- OUT_FS_AFSFid("Link From (Old File)");
- OUT_STRING(hf_afs_fs_name);
OUT_FS_AFSFid("Link To (New File)");
+ OUT_STRING(hf_afs_fs_name);
+ OUT_FS_AFSFid("Link From (Old File)");
break;
case 141: /* Make dir */
OUT_FS_AFSFid("Target");
@@ -777,25 +777,30 @@ dissect_fs_request(const u_char *pd, int offset, frame_data *fd, proto_tree *tre
break;
case 150: /* Set vol stats */
OUT_UINT(hf_afs_fs_volid);
+ OUT_FS_AFSStoreVolumeStatus();
+ OUT_STRING(hf_afs_fs_volname);
+ OUT_STRING(hf_afs_fs_offlinemsg);
+ OUT_STRING(hf_afs_fs_motd);
+ break;
+ case 151: /* get root volume */
+ /* no params */
+ break;
+ case 152: /* check token */
+ OUT_UINT(hf_afs_fs_viceid);
+ OUT_FS_AFSTOKEN();
+ break;
+ case 153: /* get time */
+ /* no params */
break;
case 154: /* new get vol info */
OUT_STRING(hf_afs_fs_volname);
break;
case 155: /* bulk stat */
- {
- unsigned int j,i;
- TRUNC(1);
-
- j = pntohl(&pd[curoffset]);
- curoffset += 1;
- for (i=0; i<j; i++)
- {
- OUT_FS_AFSFid("Target");
- }
+ OUT_FS_AFSCBFids();
break;
- }
case 156: /* Set Lock */
OUT_FS_AFSFid("Target");
+ OUT_UINT(hf_afs_fs_vicelocktype);
break;
case 157: /* Extend Lock */
OUT_FS_AFSFid("Target");
@@ -803,6 +808,28 @@ dissect_fs_request(const u_char *pd, int offset, frame_data *fd, proto_tree *tre
case 158: /* Release Lock */
OUT_FS_AFSFid("Target");
break;
+ case 159: /* xstats version */
+ /* no params */
+ break;
+ case 160: /* get xstats */
+ OUT_UINT(hf_afs_fs_xstats_clientversion);
+ OUT_UINT(hf_afs_fs_xstats_collnumber);
+ break;
+ case 161: /* lookup */
+ OUT_FS_AFSFid("Target");
+ OUT_STRING(hf_afs_fs_name);
+ break;
+ case 162: /* flush cps */
+ OUT_FS_ViceIds();
+ OUT_FS_IPAddrs();
+ OUT_UINT(hf_afs_fs_cps_spare1);
+ break;
+ case 163: /* dfs symlink */
+ OUT_FS_AFSFid("Target");
+ OUT_STRING(hf_afs_fs_symlink_name);
+ OUT_STRING(hf_afs_fs_symlink_content);
+ OUT_FS_AFSStoreStatus("Symlink Status");
+ break;
}
}
@@ -1087,7 +1114,7 @@ dissect_cb_request(const u_char *pd, int offset, frame_data *fd, proto_tree *tre
j = GETINT();
for (i=0; i<j; i++)
{
- CB_CALLBACKOUT();
+ OUT_CB_AFSCallBack();
}
}
}