diff options
author | Nathan Neulinger <nneul@umr.edu> | 2000-11-03 19:27:11 +0000 |
---|---|---|
committer | Nathan Neulinger <nneul@umr.edu> | 2000-11-03 19:27:11 +0000 |
commit | c63dddfcd33c956267f406dfb559832a001c9f8a (patch) | |
tree | 387291611ea31a2e067c18aa357cef12d74eb6b5 | |
parent | 2cdf2ad90db544ad077362558c7068481bc968de (diff) | |
download | wireshark-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.h | 7 | ||||
-rw-r--r-- | packet-afs-macros.h | 54 | ||||
-rw-r--r-- | packet-afs-register-info.h | 14 | ||||
-rw-r--r-- | packet-afs.c | 57 |
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(); } } } |