aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--packet-afs-defs.h23
-rw-r--r--packet-afs-macros.h37
-rw-r--r--packet-afs-register-info.h32
-rw-r--r--packet-afs.c121
4 files changed, 200 insertions, 13 deletions
diff --git a/packet-afs-defs.h b/packet-afs-defs.h
index cd05246218..2fb2ebd5a9 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.1 2000/11/03 17:32:51 nneul Exp $
+ * $Id: packet-afs-defs.h,v 1.2 2000/11/03 18:37:24 nneul Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@zing.org>
@@ -469,6 +469,14 @@ static const value_string ubik_lock_types[] = {
{ 0, NULL },
};
+static const value_string vice_lock_types[] = {
+ { 0, "read" },
+ { 1, "write" },
+ { 2, "extend" },
+ { 3, "release" },
+ { 0, NULL },
+};
+
static const value_string volume_types[] = {
{ 0, "read-write" },
{ 1, "read-only" },
@@ -519,6 +527,13 @@ static int hf_afs_fs_symlink_content = -1;
static int hf_afs_fs_volid = -1;
static int hf_afs_fs_volname = -1;
static int hf_afs_fs_timestamp = -1;
+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_cps_spare2 = -1;
+static int hf_afs_fs_cps_spare3 = -1;
+static int hf_afs_fs_vicelocktype = -1;
static int hf_afs_fs_status_anonymousaccess = -1;
static int hf_afs_fs_status_author = -1;
@@ -549,6 +564,12 @@ static int hf_afs_fs_status_spare3 = -1;
static int hf_afs_fs_status_spare4 = -1;
static int hf_afs_fs_status_synccounter = -1;
+static int hf_afs_fs_volsync_spare1 = -1;
+static int hf_afs_fs_volsync_spare2 = -1;
+static int hf_afs_fs_volsync_spare3 = -1;
+static int hf_afs_fs_volsync_spare4 = -1;
+static int hf_afs_fs_volsync_spare5 = -1;
+static int hf_afs_fs_volsync_spare6 = -1;
static int hf_afs_fs_acl_datasize = -1;
static int hf_afs_fs_acl_count_negative = -1;
diff --git a/packet-afs-macros.h b/packet-afs-macros.h
index 998da3ca82..4942f678e8 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.1 2000/11/03 17:32:51 nneul Exp $
+ * $Id: packet-afs-macros.h,v 1.2 2000/11/03 18:37:24 nneul Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@zing.org>
@@ -190,7 +190,7 @@
/* Output a FetchStatus */
#define OUT_FS_AFSFetchStatus(label) \
{ proto_tree *save, *ti; \
- ti = proto_tree_add_text(tree, NullTVB, curoffset, 6*4, \
+ ti = proto_tree_add_text(tree, NullTVB, curoffset, 21*4, \
label); \
save = tree; \
tree = proto_item_add_subtree(ti, ett_afs_status); \
@@ -220,8 +220,18 @@
/* Output a VolSync */
#define OUT_FS_AFSVolSync() \
- { \
- SKIP(6*sizeof(guint32)); \
+ { proto_tree *save, *ti; \
+ ti = proto_tree_add_text(tree, NullTVB, curoffset, 6*4, \
+ "VolSync"); \
+ save = tree; \
+ tree = proto_item_add_subtree(ti, ett_afs_volsync); \
+ OUT_UINT(hf_afs_fs_volsync_spare1); \
+ OUT_UINT(hf_afs_fs_volsync_spare2); \
+ OUT_UINT(hf_afs_fs_volsync_spare3); \
+ OUT_UINT(hf_afs_fs_volsync_spare4); \
+ OUT_UINT(hf_afs_fs_volsync_spare5); \
+ OUT_UINT(hf_afs_fs_volsync_spare6); \
+ tree = save; \
}
/* Output a AFSCBFids */
@@ -230,8 +240,23 @@
/* Output a AFSCBs */
#define OUT_FS_AFSCBs()
-/* Output a ViceLockType */
-#define OUT_FS_ViceLockType()
+/* Output a AFSBulkStats */
+#define OUT_FS_AFSBulkStats()
+
+/* Output a AFSFetchVolumeStatus */
+#define OUT_FS_AFSFetchVolumeStatus()
+
+/* Output a AFSStoreVolumeStatus */
+#define OUT_FS_AFSStoreVolumeStatus()
+
+/* Output a ViceStatistics structure */
+#define OUT_FS_ViceStatistics()
+
+/* Output a AFS_CollData structure */
+#define OUT_FS_AFS_CollData()
+
+/* Output a VolumeInfo structure */
+#define OUT_FS_VolumeInfo()
/* Output a AFS acl */
#define ACLOUT(who, positive, acl, bytes) \
diff --git a/packet-afs-register-info.h b/packet-afs-register-info.h
index a39d7da100..c12356265a 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.1 2000/11/03 17:32:51 nneul Exp $
+ * $Id: packet-afs-register-info.h,v 1.2 2000/11/03 18:37:24 nneul Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@zing.org>
@@ -133,7 +133,21 @@
FT_STRING, BASE_HEX, 0, 0, "Volume Name" }},
{ &hf_afs_fs_timestamp, { "Timestamp", "afs.fs.timestamp",
FT_ABSOLUTE_TIME, BASE_DEC, 0, 0, "Timestamp" }},
-
+{ &hf_afs_fs_offlinemsg, { "Offline Message", "afs.fs.offlinemsg",
+ FT_STRING, BASE_HEX, 0, 0, "Volume Name" }},
+{ &hf_afs_fs_motd, { "Message of the Day", "afs.fs.motd",
+ 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_timestamp, { "XStats Timestamp", "afs.fs.xstats.timestamp",
+ FT_UINT32, BASE_DEC, 0, 0, "XStats Timestamp" }},
+{ &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_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",
@@ -192,6 +206,20 @@
FT_UINT32, BASE_DEC, 0, 0, "Length" }},
+{ &hf_afs_fs_volsync_spare1, { "Spare 1", "afs.fs.volsync.spare1",
+ FT_UINT32, BASE_DEC, 0, 0, "Spare 1" }},
+{ &hf_afs_fs_volsync_spare2, { "Spare 2", "afs.fs.volsync.spare2",
+ FT_UINT32, BASE_DEC, 0, 0, "Spare 2" }},
+{ &hf_afs_fs_volsync_spare3, { "Spare 3", "afs.fs.volsync.spare3",
+ FT_UINT32, BASE_DEC, 0, 0, "Spare 3" }},
+{ &hf_afs_fs_volsync_spare4, { "Spare 4", "afs.fs.volsync.spare4",
+ FT_UINT32, BASE_DEC, 0, 0, "Spare 4" }},
+{ &hf_afs_fs_volsync_spare5, { "Spare 5", "afs.fs.volsync.spare5",
+ FT_UINT32, BASE_DEC, 0, 0, "Spare 5" }},
+{ &hf_afs_fs_volsync_spare6, { "Spare 6", "afs.fs.volsync.spare6",
+ FT_UINT32, BASE_DEC, 0, 0, "Spare 6" }},
+
+
{ &hf_afs_fs_acl_count_positive, {
"ACL Count (Positive)", "afs.fs.acl.count.positive",
FT_UINT32, BASE_DEC,
diff --git a/packet-afs.c b/packet-afs.c
index d681cd7345..602e65e31a 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.19 2000/11/03 17:32:51 nneul Exp $
+ * $Id: packet-afs.c,v 1.20 2000/11/03 18:37:24 nneul Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@zing.org>
@@ -533,24 +533,137 @@ dissect_fs_reply(const u_char *pd, int offset, frame_data *fd, proto_tree *tree,
case 132: /* Fetch status */
OUT_FS_AFSFetchStatus("Status");
OUT_FS_AFSCallBack();
- OUT_FS_AFSVolSync();
- /* left off here */
+ OUT_FS_AFSVolSync();
+ break;
+ case 133: /* Store data */
+ OUT_FS_AFSFetchStatus("Status");
+ OUT_FS_AFSVolSync();
+ break;
+ case 134: /* Store ACL */
+ OUT_FS_AFSFetchStatus("Status");
+ OUT_FS_AFSVolSync();
+ break;
case 135: /* Store status */
OUT_FS_AFSFetchStatus("Status");
OUT_FS_AFSVolSync();
break;
+ case 136: /* Remove file */
+ OUT_FS_AFSFetchStatus("Status");
+ OUT_FS_AFSVolSync();
+ break;
case 137: /* create file */
OUT_FS_AFSFid("New File");
+ OUT_FS_AFSFetchStatus("File Status");
+ OUT_FS_AFSFetchStatus("Directory Status");
+ OUT_FS_AFSCallBack();
+ OUT_FS_AFSVolSync();
break;
+ case 138: /* rename */
+ OUT_FS_AFSFetchStatus("Old Directory Status");
+ OUT_FS_AFSFetchStatus("New Directory Status");
+ OUT_FS_AFSVolSync();
+ break;
+ case 139: /* symlink */
+ OUT_FS_AFSFid("Symlink");
+ OUT_FS_AFSFetchStatus("Symlink Status");
+ OUT_FS_AFSFetchStatus("Directory Status");
+ OUT_FS_AFSVolSync();
+ break;
+ case 140: /* link */
+ OUT_FS_AFSFetchStatus("Symlink Status");
+ OUT_FS_AFSFetchStatus("Directory Status");
+ OUT_FS_AFSVolSync();
+ break;
case 141: /* make dir */
OUT_FS_AFSFid("New Directory");
+ OUT_FS_AFSFetchStatus("File Status");
+ OUT_FS_AFSFetchStatus("Directory Status");
+ OUT_FS_AFSCallBack();
+ OUT_FS_AFSVolSync();
+ break;
+ case 142: /* rmdir */
+ OUT_FS_AFSFetchStatus("Directory Status");
+ OUT_FS_AFSVolSync();
+ break;
+ case 143: /* old set lock */
+ /* nothing returned */
+ break;
+ case 144: /* old extend lock */
+ /* nothing returned */
+ break;
+ case 145: /* old release lock */
+ /* nothing returned */
+ break;
+ case 146: /* get statistics */
+ OUT_FS_ViceStatistics();
+ break;
+ case 147: /* give up callbacks */
+ /* nothing returned */
+ break;
+ case 148: /* get volume info */
+ OUT_FS_VolumeInfo();
+ break;
+ case 149: /* get volume status */
+ OUT_FS_AFSFetchVolumeStatus();
+ OUT_STRING(hf_afs_fs_volname);
+ OUT_STRING(hf_afs_fs_offlinemsg);
+ OUT_STRING(hf_afs_fs_motd);
+ break;
+ case 150: /* set volume status */
+ /* nothing returned */
break;
case 151: /* root volume */
OUT_STRING(hf_afs_fs_volname);
break;
+ case 152: /* check token */
+ /* nothing returned */
+ break;
case 153: /* get time */
OUT_TIMESTAMP(hf_afs_fs_timestamp);
break;
+ case 154: /* n-get-volume-info */
+ OUT_FS_VolumeInfo();
+ break;
+ case 155: /* bulk status */
+ OUT_FS_AFSBulkStats();
+ OUT_FS_AFSCBs();
+ OUT_FS_AFSVolSync();
+ break;
+ case 156: /* set lock */
+ OUT_FS_AFSVolSync();
+ break;
+ case 157: /* extend lock */
+ OUT_FS_AFSVolSync();
+ break;
+ case 158: /* release lock */
+ OUT_FS_AFSVolSync();
+ break;
+ case 159: /* x-stats-version */
+ OUT_UINT(hf_afs_fs_xstats_version);
+ break;
+ case 160: /* get xstats */
+ OUT_UINT(hf_afs_fs_xstats_version);
+ OUT_DATE(hf_afs_fs_xstats_timestamp);
+ OUT_FS_AFS_CollData();
+ break;
+ case 161: /* lookup */
+ OUT_FS_AFSFid("File");
+ OUT_FS_AFSFetchStatus("File Status");
+ OUT_FS_AFSFetchStatus("Directory Status");
+ OUT_FS_AFSCallBack();
+ OUT_FS_AFSVolSync();
+ break;
+ case 162: /* flush cps */
+ OUT_UINT(hf_afs_fs_cps_spare2);
+ OUT_UINT(hf_afs_fs_cps_spare3);
+ break;
+ case 163: /* dfs symlink */
+ OUT_FS_AFSFid("File");
+ OUT_FS_AFSFetchStatus("File Status");
+ OUT_FS_AFSFetchStatus("Directory Status");
+ OUT_FS_AFSCallBack();
+ OUT_FS_AFSVolSync();
+ break;
}
}
else if ( rxh->type == RX_PACKET_TYPE_ABORT )
@@ -638,7 +751,7 @@ dissect_fs_request(const u_char *pd, int offset, frame_data *fd, proto_tree *tre
break;
case 143: /* Old Set Lock */
OUT_FS_AFSFid("Target");
- OUT_FS_ViceLockType();
+ OUT_UINT(hf_afs_fs_vicelocktype);
OUT_FS_AFSVolSync();
break;
case 144: /* Old Extend Lock */