From 669db206cb1f270046ad400fff7655e20c63e723 Mon Sep 17 00:00:00 2001 From: Gilbert Ramirez Date: Sun, 18 Jul 2004 18:06:47 +0000 Subject: Move dissectors to epan/dissectors directory. Also move ncp222.py, x11-fields, process-x11-fields.pl, make-reg-dotc, and make-reg-dotc.py. Adjust #include lines in files that include packet-*.h files. svn path=/trunk/; revision=11410 --- packet-dcerpc-fldb.c | 2142 -------------------------------------------------- 1 file changed, 2142 deletions(-) delete mode 100644 packet-dcerpc-fldb.c (limited to 'packet-dcerpc-fldb.c') diff --git a/packet-dcerpc-fldb.c b/packet-dcerpc-fldb.c deleted file mode 100644 index ee39792543..0000000000 --- a/packet-dcerpc-fldb.c +++ /dev/null @@ -1,2142 +0,0 @@ -/* packet-dcerpc-fldb.c - * - * Routines for dcerpc FLDB Calls - * Copyright 2004, Jaime Fournier - * This information is based off the released idl files from opengroup. - * ftp://ftp.opengroup.org/pub/dce122/dce/src/file.tar.gz file/flserver/fldb_proc.idl - * - * $Id$ - * - * Ethereal - Network traffic analyzer - * By Gerald Combs - * Copyright 1998 Gerald Combs - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - */ - -#ifdef HAVE_CONFIG_H -#include "config.h" -#endif - - -#ifdef HAVE_SYS_TYPES_H -#include -#endif - -#include - -#include -#include -#include "packet-dcerpc.h" -#include "packet-dcerpc-dce122.h" - - -static int proto_fldb = -1; -static int hf_fldb_opnum = -1; - -static gint ett_fldb = -1; -static gint ett_fldb_vldbentry = -1; -static gint ett_fldb_afsnetaddr = -1; -static gint ett_fldb_siteflags = -1; -static gint ett_fldb_afsflags = -1; -static gint ett_fldb_vlconf_cell = -1; -static gint ett_fldb_afsNameString_t = -1; - - - -static e_uuid_t uuid_fldb = - { 0x4d37f2dd, 0xed43, 0x0000, {0x02, 0xc0, 0x37, 0xcf, 0x2e, 0x00, 0x00, - 0x01} -}; -static guint16 ver_fldb = 4; - -static int hf_fldb_getentrybyname_rqst_var1 = -1; -static int hf_fldb_getentrybyname_rqst_key_size = -1; -static int hf_fldb_releaselock_rqst_fsid_high = -1; -static int hf_fldb_releaselock_rqst_fsid_low = -1; -static int hf_fldb_releaselock_rqst_voltype = -1; -static int hf_fldb_releaselock_rqst_voloper = -1; -static int hf_fldb_setlock_rqst_fsid_high = -1; -static int hf_fldb_setlock_rqst_fsid_low = -1; -static int hf_fldb_setlock_rqst_voltype = -1; -static int hf_fldb_setlock_rqst_voloper = -1; -static int hf_fldb_setlock_resp_st = -1; -static int hf_fldb_setlock_resp_st2 = -1; -static int hf_fldb_listentry_rqst_previous_index = -1; -static int hf_fldb_listentry_rqst_var1 = -1; -static int hf_fldb_listentry_resp_count = -1; -static int hf_fldb_listentry_resp_next_index = -1; -static int hf_fldb_listentry_resp_key_t = -1; -static int hf_fldb_listentry_resp_key_size = -1; -static int hf_fldb_listentry_resp_key_t2 = -1; -static int hf_fldb_listentry_resp_key_size2 = -1; -static int hf_fldb_listentry_resp_voltype = -1; -static int hf_fldb_createentry_rqst_key_t = -1; -static int hf_fldb_createentry_rqst_key_size = -1; -static int hf_fldb_deleteentry_rqst_fsid_high = -1; -static int hf_fldb_deleteentry_rqst_fsid_low = -1; -static int hf_fldb_deleteentry_rqst_voltype = -1; -static int hf_fldb_deleteentry_rqst_voloper = -1; -static int hf_fldb_getentrybyid_rqst_fsid_high = -1; -static int hf_fldb_getentrybyid_rqst_fsid_low = -1; -static int hf_fldb_getentrybyid_rqst_voltype = -1; -static int hf_fldb_getentrybyid_rqst_voloper = -1; -static int hf_fldb_replaceentry_rqst_fsid_high = -1; -static int hf_fldb_replaceentry_rqst_fsid_low = -1; -static int hf_fldb_replaceentry_rqst_voltype = -1; -static int hf_fldb_replaceentry_rqst_key_size = -1; -static int hf_fldb_replaceentry_rqst_key_t = -1; -static int hf_fldb_replaceentry_resp_st = -1; -static int hf_fldb_replaceentry_resp_st2 = -1; -static int hf_fldb_getentrybyname_resp_volumetype = -1; -static int hf_fldb_getentrybyname_resp_numservers = -1; -static int hf_fldb_getentrybyname_resp_sitecookies = -1; -static int hf_fldb_getentrybyname_resp_sitepartition = -1; -static int hf_fldb_getentrybyname_resp_siteflags = -1; -static int hf_fldb_getentrybyname_resp_sitemaxreplat = -1; -static int hf_fldb_getentrybyname_resp_volid_high = -1; -static int hf_fldb_getentrybyname_resp_volid_low = -1; -static int hf_fldb_getentrybyname_resp_voltype = -1; -static int hf_fldb_getentrybyname_resp_cloneid_high = -1; -static int hf_fldb_getentrybyname_resp_cloneid_low = -1; -static int hf_fldb_getentrybyname_resp_flags = -1; -static int hf_fldb_getentrybyname_resp_maxtotallat = -1; -static int hf_fldb_getentrybyname_resp_hardmaxtotlat = -1; -static int hf_fldb_getentrybyname_resp_minpouncedally = -1; -static int hf_fldb_getentrybyname_resp_defaultmaxreplat = -1; -static int hf_fldb_getentrybyname_resp_reclaimdally = -1; -static int hf_fldb_getentrybyname_resp_whenlocked = -1; -static int hf_fldb_getentrybyname_resp_spare1 = -1; -static int hf_fldb_getentrybyname_resp_spare2 = -1; -static int hf_fldb_getentrybyname_resp_spare3 = -1; -static int hf_fldb_getentrybyname_resp_spare4 = -1; -static int hf_fldb_getentrybyname_resp_key_t = -1; -static int hf_fldb_getentrybyname_resp_key_size = -1; -static int hf_fldb_getentrybyname_resp_test = -1; -static int hf_dcerpc_error_status = -1; -static int hf_fldb_vldbentry_volumename = -1; -static int hf_fldb_vldbentry_volumetype = -1; -static int hf_fldb_vldbentry_nservers = -1; -static int hf_fldb_vldbentry_sitepartition = -1; -static int hf_fldb_afsnetaddr_type = -1; -static int hf_fldb_afsnetaddr_data = -1; -static int hf_fldb_siteflags = -1; -static int hf_fldb_vldbentry_sitemaxreplicalatency = -1; -static int hf_fldb_vldbentry_siteprincipal = -1; -static int hf_fldb_vldbentry_siteowner = -1; -static int hf_fldb_vldbentry_siteobjid = -1; -static int hf_fldb_vldbentry_volids_high = -1; -static int hf_fldb_vldbentry_volids_low = -1; -static int hf_fldb_vldbentry_voltypes = -1; -static int hf_fldb_vldbentry_cloneid_high = -1; -static int hf_fldb_vldbentry_cloneid_low = -1; -static int hf_fldb_afsflags_flags = -1; -static int hf_fldb_vldbentry_maxtotallatency = -1; -static int hf_fldb_vldbentry_hardmaxtotallatency = -1; -static int hf_fldb_vldbentry_minimumpouncedally = -1; -static int hf_fldb_vldbentry_defaultmaxreplicalatency = -1; -static int hf_fldb_vldbentry_reclaimdally = -1; -static int hf_fldb_vldbentry_whenlocked = -1; -static int hf_fldb_vldbentry_spare1 = -1; -static int hf_fldb_vldbentry_spare2 = -1; -static int hf_fldb_vldbentry_spare3 = -1; -static int hf_fldb_vldbentry_spare4 = -1; -static int hf_fldb_vldbentry_lockername = -1; -static int hf_fldb_vldbentry_charspares = -1; -static int hf_fldb_vlconf_cell_name = -1; -static int hf_fldb_vlconf_cell_cellid_high = -1; -static int hf_fldb_vlconf_cell_cellid_low = -1; -static int hf_fldb_vlconf_cell_numservers = -1; -static int hf_fldb_vlconf_cell_hostname = -1; -static int hf_fldb_vlconf_cell_spare1 = -1; -static int hf_fldb_vlconf_cell_spare2 = -1; -static int hf_fldb_vlconf_cell_spare3 = -1; -static int hf_fldb_vlconf_cell_spare4 = -1; -static int hf_fldb_vlconf_cell_spare5 = -1; -static int hf_fldb_flagsp = -1; -static int hf_fldb_nextstartp = -1; -static int hf_fldb_afsNameString_t_principalName_string = -1; -static int hf_fldb_afsNameString_t_principalName_size = -1; -static int hf_fldb_afsNameString_t_principalName_size2 = -1; -static int hf_fldb_namestring = -1; -static int hf_error_st = -1; -static int hf_fldb_creationquota = -1; -static int hf_fldb_creationuses = -1; -static int hf_fldb_deletedflag = -1; -static int hf_fldb_namestring_size = -1; -static int hf_fldb_numwanted = -1; -static int hf_fldb_spare2 = -1; -static int hf_fldb_spare3 = -1; -static int hf_fldb_spare4 = -1; -static int hf_fldb_spare5 = -1; -static int hf_fldb_uuid_objid = -1; -static int hf_fldb_uuid_owner = -1; -static int hf_fldb_volid_high = -1; -static int hf_fldb_volid_low = -1; -static int hf_fldb_voltype = -1; -static guint32 st; -static const guint8 *st_str; - -#define AFS_FLAG_RETURNTOKEN 1 -#define AFS_FLAG_TOKENJUMPQUEUE 2 -#define AFS_FLAG_SKIPTOKEN 4 -#define AFS_FLAG_NOOPTIMISM 0x8 -#define AFS_FLAG_TOKENID 0x10 -#define AFS_FLAG_RETURNBLOCKER 0x20 -#define AFS_FLAG_ASYNCGRANT 0x40 -#define AFS_FLAG_NOREVOKE 0x80 -#define AFS_FLAG_MOVE_REESTABLISH 0x100 -#define AFS_FLAG_SERVER_REESTABLISH 0x200 -#define AFS_FLAG_NO_NEW_EPOCH 0x400 -#define AFS_FLAG_MOVE_SOURCE_OK 0x800 -#define AFS_FLAG_SYNC 0x1000 -#define AFS_FLAG_ZERO 0x2000 -#define AFS_FLAG_SKIPSTATUS 0x4000 -#define AFS_FLAG_FORCEREVOCATIONS 0x8000 -#define AFS_FLAG_FORCEVOLQUIESCE 0x10000 -#define AFS_FLAG_FORCEREVOCATIONDOWN 0x20000 - -#define AFS_FLAG_SEC_SERVICE 0x1 -#define AFS_FLAG_CONTEXT_NEW_IF 0x2 -#define AFS_FLAG_CONTEXT_DO_RESET 0x4 -#define AFS_FLAG_CONTEXT_NEW_ACL_IF 0x8 -#define AFS_FLAG_CONTEXT_NEW_TKN_TYPES 0x10 - -#define VLSF_NEWREPSITE 0x01 -#define VLSF_SPARE1 0x02 -#define VLSF_SPARE2 0x04 /* used for VLSF_RWVOL in flprocs.c */ -#define VLSF_SPARE3 0x08 /* used for VLSF_BACKVOL in flprocs.c */ -#define VLSF_SAMEASPREV 0x10 -#define VLSF_DEFINED 0x20 -#define VLSF_PARTIALADDRS 0x40 -#define VLSF_ZEROIXHERE 0x80000000 - -#define MACRO_ST_CLEAR(name) \ - offset = dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep, hf_error_st, &st); \ - st_str = val_to_str (st, dce_error_vals, "%u"); \ - if (st){ \ -if (check_col (pinfo->cinfo, COL_INFO)) \ - col_add_fstr (pinfo->cinfo, COL_INFO, "%s st:%s ", name, st_str); \ - }else{ \ -if (check_col (pinfo->cinfo, COL_INFO)) \ - col_append_fstr (pinfo->cinfo, COL_INFO, " st:%s ", st_str); \ -} - -static int -dissect_afsnetaddr (tvbuff_t * tvb, int offset, - packet_info * pinfo, proto_tree * parent_tree, - guint8 * drep) -{ - proto_item *item = NULL; - proto_tree *tree = NULL; - int old_offset = offset; - guint16 type; - guint8 data; - int i; - - if (parent_tree) - { - item = proto_tree_add_text (parent_tree, tvb, offset, -1, - "afsNetAddr:"); - tree = proto_item_add_subtree (item, ett_fldb_afsnetaddr); - } - -/* unsigned16 type; - unsigned8 data[14]; -*/ - - offset = - dissect_ndr_uint16 (tvb, offset, pinfo, tree, drep, - hf_fldb_afsnetaddr_type, &type); - - if (type) - { - if (check_col (pinfo->cinfo, COL_INFO)) - col_append_fstr (pinfo->cinfo, COL_INFO, " Type:%u ", type); - - - for (i = 0; i < 14; i++) - { - - offset = - dissect_ndr_uint8 (tvb, offset, pinfo, tree, drep, - hf_fldb_afsnetaddr_data, &data); - - - switch (i) - { - case 1: - if (data) - { - if (check_col (pinfo->cinfo, COL_INFO)) - col_append_fstr (pinfo->cinfo, COL_INFO, " Port:%u", - data); - } - break; - case 2: - if (check_col (pinfo->cinfo, COL_INFO)) - col_append_fstr (pinfo->cinfo, COL_INFO, " IP:%u.", data); - break; - case 3: - if (check_col (pinfo->cinfo, COL_INFO)) - col_append_fstr (pinfo->cinfo, COL_INFO, "%u.", data); - break; - case 4: - if (check_col (pinfo->cinfo, COL_INFO)) - col_append_fstr (pinfo->cinfo, COL_INFO, "%u.", data); - break; - case 5: - if (check_col (pinfo->cinfo, COL_INFO)) - col_append_fstr (pinfo->cinfo, COL_INFO, "%u", data); - break; - } - - } - - } - else - { - - offset += 14; /* space left after reading in type for the array. */ - } - - - - proto_item_set_len (item, offset - old_offset); - - return offset; -} - - -static int -dissect_vlconf_cell (tvbuff_t * tvb, int offset, - packet_info * pinfo, proto_tree * parent_tree, - guint8 * drep) -{ - - proto_item *item = NULL; - proto_tree *tree = NULL; - int old_offset = offset; -#define MAXVLCELLCHARS 128 -#define MAXVLHOSTSPERCELL 64 - const guint8 *name, *hostname; - int i; - guint32 cellid_high, cellid_low, numservers, spare1, spare2, spare3, spare4, - spare5; - - if (parent_tree) - { - item = proto_tree_add_text (parent_tree, tvb, offset, -1, - "vlconf_cell:"); - tree = proto_item_add_subtree (item, ett_fldb_vlconf_cell); - } - - /* byte name[MAXVLCELLCHARS]; Cell name */ - proto_tree_add_string (tree, hf_fldb_vlconf_cell_name, tvb, offset, 114, - tvb_get_ptr (tvb, offset, MAXVLCELLCHARS)); - name = tvb_get_ptr (tvb, offset, MAXVLCELLCHARS); - offset += MAXVLCELLCHARS; /* some reason this 114 seems to be incorrect... cutting 4 short to compensate.... */ - if (check_col (pinfo->cinfo, COL_INFO)) - col_append_fstr (pinfo->cinfo, COL_INFO, " Name: %s", name); - - - /* afsHyper CellID; identifier for that cell */ - - offset = - dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep, - hf_fldb_vlconf_cell_cellid_high, &cellid_high); - offset = - dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep, - hf_fldb_vlconf_cell_cellid_low, &cellid_low); - if (check_col (pinfo->cinfo, COL_INFO)) - col_append_fstr (pinfo->cinfo, COL_INFO, " CellID:%u-%u", cellid_high, - cellid_low); - - - /* unsigned32 numServers; *Num active servers for the cell */ - offset = - dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep, - hf_fldb_vlconf_cell_numservers, &numservers); - if (check_col (pinfo->cinfo, COL_INFO)) - col_append_fstr (pinfo->cinfo, COL_INFO, " numServers:%u", numservers); - - /* afsNetAddr hostAddr[MAXVLHOSTSPERCELL]; *addresses for cell's servers */ - for (i = 0; i < MAXVLHOSTSPERCELL; i++) - { - offset = dissect_afsnetaddr (tvb, offset, pinfo, tree, drep); - } - - - /* hostnam hostName[MAXVLHOSTSPERCELL]; *Names for cell's servers* */ - - for (i = 0; i < MAXVLHOSTSPERCELL; i++) - { - proto_tree_add_string (tree, hf_fldb_vlconf_cell_hostname, tvb, offset, - 64, tvb_get_ptr (tvb, offset, 64)); - hostname = tvb_get_ptr (tvb, offset, 64); - offset += 64; /* some reason this 114 seems to be incorrect... cutting 4 short to compensate.... */ - if (check_col (pinfo->cinfo, COL_INFO)) - col_append_fstr (pinfo->cinfo, COL_INFO, " hostName: %s", hostname); - } - - /* unsigned32 spare1; */ - offset = - dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep, - hf_fldb_vlconf_cell_spare1, &spare1); - if (check_col (pinfo->cinfo, COL_INFO)) - col_append_fstr (pinfo->cinfo, COL_INFO, " spare1:%u", spare1); - - - /* unsigned32 spare2; */ - offset = - dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep, - hf_fldb_vlconf_cell_spare2, &spare2); - if (check_col (pinfo->cinfo, COL_INFO)) - col_append_fstr (pinfo->cinfo, COL_INFO, " spare2:%u", spare2); - - /* unsigned32 spare3; */ - offset = - dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep, - hf_fldb_vlconf_cell_spare3, &spare3); - if (check_col (pinfo->cinfo, COL_INFO)) - col_append_fstr (pinfo->cinfo, COL_INFO, " spare3:%u", spare3); - - - /* unsigned32 spare4; */ - offset = - dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep, - hf_fldb_vlconf_cell_spare4, &spare4); - if (check_col (pinfo->cinfo, COL_INFO)) - col_append_fstr (pinfo->cinfo, COL_INFO, " spare4:%u", spare4); - - /* unsigned32 spare5; */ - offset = - dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep, - hf_fldb_vlconf_cell_spare5, &spare5); - if (check_col (pinfo->cinfo, COL_INFO)) - col_append_fstr (pinfo->cinfo, COL_INFO, " spare5:%u", spare5); - - - proto_item_set_len (item, offset - old_offset); - - return offset; -} - -static int -dissect_afsNameString_t (tvbuff_t * tvb, int offset, - packet_info * pinfo, proto_tree * parent_tree, - guint8 * drep) -{ - -/* -typedef [string] byte NameString_t[AFS_NAMEMAX]; -*/ - - proto_item *item = NULL; - proto_tree *tree = NULL; - int old_offset = offset; -#define AFS_NAMEMAX 256 - guint32 string_size; - const guint8 *namestring; - dcerpc_info *di; - - di = pinfo->private_data; - if (di->conformant_run) - { - return offset; - } - - - if (parent_tree) - { - item = proto_tree_add_text (parent_tree, tvb, offset, -1, - "afsNameString_t:"); - tree = proto_item_add_subtree (item, ett_fldb_afsNameString_t); - } - - offset = dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep, - hf_fldb_afsNameString_t_principalName_size, - &string_size); - if (check_col (pinfo->cinfo, COL_INFO)) - col_append_fstr (pinfo->cinfo, COL_INFO, " String_size:%u", string_size); - if (string_size < AFS_NAMEMAX) - { -/* proto_tree_add_string(tree, id, tvb, start, length, value_ptr); */ - proto_tree_add_string (tree, - hf_fldb_afsNameString_t_principalName_string, - tvb, offset, string_size, tvb_get_ptr (tvb, - offset, - string_size)); - namestring = tvb_get_ptr (tvb, offset, string_size); - offset += string_size; - if (check_col (pinfo->cinfo, COL_INFO)) - col_append_fstr (pinfo->cinfo, COL_INFO, " Principal:%s", namestring); - } - else - { - if (check_col (pinfo->cinfo, COL_INFO)) - col_append_fstr (pinfo->cinfo, COL_INFO, - " :FIXME!: Invalid string length of %u", - string_size); - } - proto_item_set_len (item, offset - old_offset); - return offset; -} - - - -static int -dissect_afsflags (tvbuff_t * tvb, int offset, - packet_info * pinfo, proto_tree * parent_tree, - guint8 * drep) -{ - proto_item *item = NULL; - proto_tree *tree = NULL; - int old_offset = offset; - guint32 afsflags; - - if (parent_tree) - { - item = proto_tree_add_text (parent_tree, tvb, offset, -1, "afsFlags:"); - tree = proto_item_add_subtree (item, ett_fldb_afsflags); - } - - offset = - dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep, - hf_fldb_afsflags_flags, &afsflags); - if (afsflags) - { - if (check_col (pinfo->cinfo, COL_INFO)) - col_append_str (pinfo->cinfo, COL_INFO, " afsFlags="); - if ((afsflags & AFS_FLAG_RETURNTOKEN) == AFS_FLAG_RETURNTOKEN) - { - if (check_col (pinfo->cinfo, COL_INFO)) - col_append_str (pinfo->cinfo, COL_INFO, ":RETURNTOKEN"); - } - if ((afsflags & AFS_FLAG_TOKENJUMPQUEUE) == AFS_FLAG_TOKENJUMPQUEUE) - { - if (check_col (pinfo->cinfo, COL_INFO)) - col_append_str (pinfo->cinfo, COL_INFO, ":TOKENJUMPQUEUE"); - } - if ((afsflags & AFS_FLAG_SKIPTOKEN) == AFS_FLAG_SKIPTOKEN) - { - if (check_col (pinfo->cinfo, COL_INFO)) - col_append_str (pinfo->cinfo, COL_INFO, ":SKIPTOKEN"); - } - if ((afsflags & AFS_FLAG_NOOPTIMISM) == AFS_FLAG_NOOPTIMISM) - { - if (check_col (pinfo->cinfo, COL_INFO)) - col_append_str (pinfo->cinfo, COL_INFO, ":NOOPTIMISM"); - } - if ((afsflags & AFS_FLAG_TOKENID) == AFS_FLAG_TOKENID) - { - if (check_col (pinfo->cinfo, COL_INFO)) - col_append_str (pinfo->cinfo, COL_INFO, ":TOKENID"); - } - if ((afsflags & AFS_FLAG_RETURNBLOCKER) == AFS_FLAG_RETURNBLOCKER) - { - if (check_col (pinfo->cinfo, COL_INFO)) - col_append_str (pinfo->cinfo, COL_INFO, ":RETURNBLOCKER"); - } - if ((afsflags & AFS_FLAG_ASYNCGRANT) == AFS_FLAG_ASYNCGRANT) - { - if (check_col (pinfo->cinfo, COL_INFO)) - col_append_str (pinfo->cinfo, COL_INFO, ":ASYNCGRANT"); - } - if ((afsflags & AFS_FLAG_NOREVOKE) == AFS_FLAG_NOREVOKE) - { - if (check_col (pinfo->cinfo, COL_INFO)) - col_append_str (pinfo->cinfo, COL_INFO, ":NOREVOKE"); - } - if ((afsflags & AFS_FLAG_MOVE_REESTABLISH) == AFS_FLAG_MOVE_REESTABLISH) - { - if (check_col (pinfo->cinfo, COL_INFO)) - col_append_str (pinfo->cinfo, COL_INFO, ":MOVE_REESTABLISH"); - } - if ((afsflags & AFS_FLAG_SERVER_REESTABLISH) == - AFS_FLAG_SERVER_REESTABLISH) - { - if (check_col (pinfo->cinfo, COL_INFO)) - col_append_str (pinfo->cinfo, COL_INFO, ":SERVER_REESTABLISH"); - if ((afsflags & AFS_FLAG_NO_NEW_EPOCH) == AFS_FLAG_NO_NEW_EPOCH) - { - if (check_col (pinfo->cinfo, COL_INFO)) - col_append_str (pinfo->cinfo, COL_INFO, ":NO_NEW_EPOCH"); - } - if ((afsflags & AFS_FLAG_MOVE_SOURCE_OK) == AFS_FLAG_MOVE_SOURCE_OK) - { - if (check_col (pinfo->cinfo, COL_INFO)) - col_append_str (pinfo->cinfo, COL_INFO, ":MOVE_SOURCE_OK"); - } - if ((afsflags & AFS_FLAG_SYNC) == AFS_FLAG_SYNC) - { - if (check_col (pinfo->cinfo, COL_INFO)) - col_append_str (pinfo->cinfo, COL_INFO, ":SYNC"); - } - if ((afsflags & AFS_FLAG_ZERO) == AFS_FLAG_ZERO) - { - if (check_col (pinfo->cinfo, COL_INFO)) - col_append_str (pinfo->cinfo, COL_INFO, ":ZERO"); - } - if ((afsflags & AFS_FLAG_SKIPSTATUS) == AFS_FLAG_SKIPSTATUS) - { - if (check_col (pinfo->cinfo, COL_INFO)) - col_append_str (pinfo->cinfo, COL_INFO, ":SKIPSTATUS"); - } - if ((afsflags & AFS_FLAG_FORCEREVOCATIONS) == - AFS_FLAG_FORCEREVOCATIONS) - { - if (check_col (pinfo->cinfo, COL_INFO)) - col_append_str (pinfo->cinfo, COL_INFO, ":FORCEREVOCATIONS"); - } - if ((afsflags & AFS_FLAG_FORCEVOLQUIESCE) == - AFS_FLAG_FORCEVOLQUIESCE) - { - if (check_col (pinfo->cinfo, COL_INFO)) - col_append_str (pinfo->cinfo, COL_INFO, ":FORCEVOLQUIESCE"); - } - if ((afsflags & AFS_FLAG_SEC_SERVICE) == AFS_FLAG_SEC_SERVICE) - { - if (check_col (pinfo->cinfo, COL_INFO)) - col_append_str (pinfo->cinfo, COL_INFO, ":SEC_SERVICE"); - } - if ((afsflags & AFS_FLAG_CONTEXT_NEW_ACL_IF) == - AFS_FLAG_CONTEXT_NEW_ACL_IF) - { - if (check_col (pinfo->cinfo, COL_INFO)) - col_append_str (pinfo->cinfo, COL_INFO, - ":CONTEXT_NEW_ACL_IF"); - } - - } - } - - proto_item_set_len (item, offset - old_offset); - - return offset; - -} - - -static int -dissect_siteflags (tvbuff_t * tvb, int offset, - packet_info * pinfo, proto_tree * parent_tree, - guint8 * drep) -{ - proto_item *item = NULL; - proto_tree *tree = NULL; - int old_offset = offset; - guint32 siteflags; - - if (parent_tree) - { - item = proto_tree_add_text (parent_tree, tvb, offset, -1, "SiteFlags:"); - tree = proto_item_add_subtree (item, ett_fldb_siteflags); - } - - offset = - dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep, hf_fldb_siteflags, - &siteflags); - - if (siteflags) - { - if (check_col (pinfo->cinfo, COL_INFO)) - col_append_str (pinfo->cinfo, COL_INFO, " SiteFlags"); - if ((siteflags & VLSF_NEWREPSITE) == VLSF_NEWREPSITE) - { - if (check_col (pinfo->cinfo, COL_INFO)) - col_append_str (pinfo->cinfo, COL_INFO, ":NEWREPSITE"); - } - if ((siteflags & VLSF_SPARE1) == VLSF_SPARE1) - { - if (check_col (pinfo->cinfo, COL_INFO)) - col_append_str (pinfo->cinfo, COL_INFO, ":SPARE1"); - } - if ((siteflags & VLSF_SPARE2) == VLSF_SPARE2) - { - if (check_col (pinfo->cinfo, COL_INFO)) - col_append_str (pinfo->cinfo, COL_INFO, ":SPARE2"); - } - if ((siteflags & VLSF_SPARE3) == VLSF_SPARE3) - { - if (check_col (pinfo->cinfo, COL_INFO)) - col_append_str (pinfo->cinfo, COL_INFO, ":SPARE3"); - } - if ((siteflags & VLSF_SAMEASPREV) == VLSF_SAMEASPREV) - { - if (check_col (pinfo->cinfo, COL_INFO)) - col_append_str (pinfo->cinfo, COL_INFO, ":SAMEASPREV"); - } - if ((siteflags & VLSF_DEFINED) == VLSF_DEFINED) - { - if (check_col (pinfo->cinfo, COL_INFO)) - col_append_str (pinfo->cinfo, COL_INFO, ":DEFINED"); - } - if ((siteflags & VLSF_PARTIALADDRS) == VLSF_PARTIALADDRS) - { - if (check_col (pinfo->cinfo, COL_INFO)) - col_append_str (pinfo->cinfo, COL_INFO, ":PARTIALADDRS "); - } - if ((siteflags & VLSF_ZEROIXHERE) == VLSF_ZEROIXHERE) - { - if (check_col (pinfo->cinfo, COL_INFO)) - col_append_str (pinfo->cinfo, COL_INFO, ":ZEROIXHERE"); - - } - } - - proto_item_set_len (item, offset - old_offset); - - return offset; -} - - - -static int -dissect_vldbentry (tvbuff_t * tvb, int offset, - packet_info * pinfo, proto_tree * parent_tree, - guint8 * drep) -{ - proto_item *item = NULL; - proto_tree *tree = NULL; - int old_offset = offset; - const guint8 *volumename, *siteprincipal, *charspares, *lockername; - guint32 volumetype, nservers, sitepartition, sitemaxreplicalatency, - volids_high, volids_low, voltypes, cloneid_high, cloneid_low, - maxtotallatency, hardmaxtotallatency, minimumpouncedally, - defaultmaxreplicalatency, reclaimdally, whenlocked, spare1, spare2, - spare3, spare4; - e_uuid_t siteowner, siteobjid; - gint i; -#define MAXNSERVERS 16 -#define MAXVOLTYPES 8 -#define MAXLOCKNAMELEN 64 - - if (parent_tree) - { - item = proto_tree_add_text (parent_tree, tvb, offset, -1, "vldbentry:"); - tree = proto_item_add_subtree (item, ett_fldb_vldbentry); - } - -/* byte name[114]; Volume name */ - - proto_tree_add_string (tree, hf_fldb_vldbentry_volumename, tvb, offset, 114, - tvb_get_ptr (tvb, offset, 114)); - volumename = tvb_get_ptr (tvb, offset, 114); - offset += 110; /* some reason this 114 seems to be incorrect... cutting 4 short to compensate.... */ - if (check_col (pinfo->cinfo, COL_INFO)) - col_append_fstr (pinfo->cinfo, COL_INFO, " Name: %s", volumename); - - /* unsigned32 volumeType; */ - offset = - dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep, - hf_fldb_vldbentry_volumetype, &volumetype); - if (check_col (pinfo->cinfo, COL_INFO)) - col_append_fstr (pinfo->cinfo, COL_INFO, " Type:%u", volumetype); - - /*unsigned32 nServers; */ - offset = - dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep, - hf_fldb_vldbentry_nservers, &nservers); - if (check_col (pinfo->cinfo, COL_INFO)) - col_append_fstr (pinfo->cinfo, COL_INFO, " nServers:%u", nservers); - - /* afsNetAddr siteAddr[MAXNSERVERS]; 16 */ - for (i = 0; i < MAXNSERVERS; i++) - { - /* if (check_col (pinfo->cinfo, COL_INFO)) - col_append_fstr (pinfo->cinfo, COL_INFO, " Site:%u", i); */ - - offset = dissect_afsnetaddr (tvb, offset, pinfo, tree, drep); - } - -/* unsigned32 sitePartition[MAXNSERVERS]; */ - for (i = 0; i < MAXNSERVERS; i++) - { - offset = - dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep, - hf_fldb_vldbentry_sitepartition, &sitepartition); - if (sitepartition) - { - if (check_col (pinfo->cinfo, COL_INFO)) - col_append_fstr (pinfo->cinfo, COL_INFO, " LFS:%u", - sitepartition); - } - } - - - /* unsigned32 siteFlags[MAXNSERVERS]; */ - for (i = 0; i < MAXNSERVERS; i++) - { - offset = dissect_siteflags (tvb, offset, pinfo, tree, drep); - } - - /* unsigned32 sitemaxReplicaLatency[MAXNSERVERS]; */ - for (i = 0; i < MAXNSERVERS; i++) - { - offset = - dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep, - hf_fldb_vldbentry_sitemaxreplicalatency, - &sitemaxreplicalatency); - if (sitemaxreplicalatency) - { - if (check_col (pinfo->cinfo, COL_INFO)) - col_append_fstr (pinfo->cinfo, COL_INFO, " MaxRepLat%d:%u", i, - sitemaxreplicalatency); - } - } - /* kerb_princ_name sitePrincipal[MAXNSERVERS]; principal */ - for (i = 0; i < MAXNSERVERS; i++) - { - proto_tree_add_string (tree, hf_fldb_vldbentry_siteprincipal, tvb, - offset, 64, tvb_get_ptr (tvb, offset, 64)); - siteprincipal = tvb_get_ptr (tvb, offset, 64); - offset += 64; - if (check_col (pinfo->cinfo, COL_INFO)) - col_append_fstr (pinfo->cinfo, COL_INFO, " Princ: %s", siteprincipal); - } - - /* afsUUID siteOwner[MAXNSERVERS]; */ - - for (i = 0; i < MAXNSERVERS; i++) - { - offset = - dissect_ndr_uuid_t (tvb, offset, pinfo, tree, drep, - hf_fldb_vldbentry_siteowner, &siteowner); - if (check_col (pinfo->cinfo, COL_INFO)) - col_append_fstr (pinfo->cinfo, COL_INFO, - " SiteOwner - %08x-%04x-%04x-%02x%02x-%02x%02x%02x%02x%02x%02x", - siteowner.Data1, siteowner.Data2, siteowner.Data3, - siteowner.Data4[0], siteowner.Data4[1], - siteowner.Data4[2], siteowner.Data4[3], - siteowner.Data4[4], siteowner.Data4[5], - siteowner.Data4[6], siteowner.Data4[7]); - } - - -/* afsUUID siteObjID[MAXNSERVERS]; */ - for (i = 0; i < MAXNSERVERS; i++) - { - offset = - dissect_ndr_uuid_t (tvb, offset, pinfo, tree, drep, - hf_fldb_vldbentry_siteobjid, &siteobjid); - if (check_col (pinfo->cinfo, COL_INFO)) - col_append_fstr (pinfo->cinfo, COL_INFO, - " SiteObjID - %08x-%04x-%04x-%02x%02x-%02x%02x%02x%02x%02x%02x", - siteobjid.Data1, siteobjid.Data2, siteobjid.Data3, - siteobjid.Data4[0], siteobjid.Data4[1], - siteobjid.Data4[2], siteobjid.Data4[3], - siteobjid.Data4[4], siteobjid.Data4[5], - siteobjid.Data4[6], siteobjid.Data4[7]); - } - - - /* afsHyper VolIDs[MAXVOLTYPES]; */ - /* XXX for these hypers, I will skip trying to use non portable guint64, and just read both, and use only low. - never seen a case of a volid going anywhere the overflow of the 32 low; */ - for (i = 0; i < MAXVOLTYPES; i++) - { - offset = - dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep, - hf_fldb_vldbentry_volids_high, &volids_high); - offset = - dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep, - hf_fldb_vldbentry_volids_low, &volids_low); - if (check_col (pinfo->cinfo, COL_INFO)) - col_append_fstr (pinfo->cinfo, COL_INFO, " VolIDs%d:%u", i, - volids_low); - } - - - /* unsigned32 VolTypes[MAXVOLTYPES]; */ - for (i = 0; i < MAXVOLTYPES; i++) - { - offset = - dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep, - hf_fldb_vldbentry_voltypes, &voltypes); - if (voltypes) - { - if (check_col (pinfo->cinfo, COL_INFO)) - col_append_fstr (pinfo->cinfo, COL_INFO, " VolTypes:%d:%u", i, - voltypes); - } - } - - /* afsHyper cloneId; Used during cloning */ - offset = - dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep, - hf_fldb_vldbentry_cloneid_high, &cloneid_high); - offset = - dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep, - hf_fldb_vldbentry_cloneid_low, &cloneid_low); - if (cloneid_low) - { - if (check_col (pinfo->cinfo, COL_INFO)) - col_append_fstr (pinfo->cinfo, COL_INFO, " CloneId:%u", cloneid_low); - } - - /* unsigned32 flags; General flags */ - offset = dissect_afsflags (tvb, offset, pinfo, tree, drep); - - - - /* unsigned32 maxTotalLatency; */ - offset = - dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep, - hf_fldb_vldbentry_maxtotallatency, &maxtotallatency); - if (check_col (pinfo->cinfo, COL_INFO)) - col_append_fstr (pinfo->cinfo, COL_INFO, " MaxTotLat:%u", - maxtotallatency); - - - /* unsigned32 hardMaxTotalLatency; */ - offset = - dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep, - hf_fldb_vldbentry_hardmaxtotallatency, - &hardmaxtotallatency); - if (check_col (pinfo->cinfo, COL_INFO)) - col_append_fstr (pinfo->cinfo, COL_INFO, " HardMaxTotLat:%u", - hardmaxtotallatency); - - - /* unsigned32 minimumPounceDally; */ - offset = - dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep, - hf_fldb_vldbentry_minimumpouncedally, - &minimumpouncedally); - if (check_col (pinfo->cinfo, COL_INFO)) - col_append_fstr (pinfo->cinfo, COL_INFO, " minPounceDally:%u", - minimumpouncedally); - - - /* unsigned32 defaultMaxReplicaLatency; */ - offset = - dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep, - hf_fldb_vldbentry_defaultmaxreplicalatency, - &defaultmaxreplicalatency); - if (check_col (pinfo->cinfo, COL_INFO)) - col_append_fstr (pinfo->cinfo, COL_INFO, " defaultMaxReplicaLatency:%u", - defaultmaxreplicalatency); - - /* unsigned32 reclaimDally; */ - offset = - dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep, - hf_fldb_vldbentry_reclaimdally, &reclaimdally); - if (check_col (pinfo->cinfo, COL_INFO)) - col_append_fstr (pinfo->cinfo, COL_INFO, " reclaimDally:%u", - reclaimdally); - - - /* unsigned32 WhenLocked; */ - offset = - dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep, - hf_fldb_vldbentry_whenlocked, &whenlocked); - if (check_col (pinfo->cinfo, COL_INFO)) - col_append_fstr (pinfo->cinfo, COL_INFO, " WhenLocked:%u", whenlocked); - - - /* unsigned32 spare1; */ - offset = - dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep, - hf_fldb_vldbentry_spare1, &spare1); - if (check_col (pinfo->cinfo, COL_INFO)) - col_append_fstr (pinfo->cinfo, COL_INFO, " spare1:%u", spare1); - - /* unsigned32 spare2; */ - offset = - dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep, - hf_fldb_vldbentry_spare2, &spare2); - if (check_col (pinfo->cinfo, COL_INFO)) - col_append_fstr (pinfo->cinfo, COL_INFO, " spare2:%u", spare2); - - - /* unsigned32 spare3; */ - offset = - dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep, - hf_fldb_vldbentry_spare3, &spare3); - if (check_col (pinfo->cinfo, COL_INFO)) - col_append_fstr (pinfo->cinfo, COL_INFO, " spare3:%u", spare3); - - /* unsigned32 spare4; */ - offset = - dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep, - hf_fldb_vldbentry_spare4, &spare4); - if (check_col (pinfo->cinfo, COL_INFO)) - col_append_fstr (pinfo->cinfo, COL_INFO, " spare4:%u", spare4); - - - /* byte LockerName[MAXLOCKNAMELEN]; */ - proto_tree_add_string (tree, hf_fldb_vldbentry_lockername, tvb, offset, - MAXLOCKNAMELEN, tvb_get_ptr (tvb, offset, - MAXLOCKNAMELEN)); - lockername = tvb_get_ptr (tvb, offset, MAXLOCKNAMELEN); - offset += MAXLOCKNAMELEN; /* some reason this 114 seems to be incorrect... cutting 4 short to compensate.... */ - if (check_col (pinfo->cinfo, COL_INFO)) - col_append_fstr (pinfo->cinfo, COL_INFO, " LockerName: %s", lockername); - - /* byte charSpares[50]; */ - proto_tree_add_string (tree, hf_fldb_vldbentry_charspares, tvb, offset, 50, - tvb_get_ptr (tvb, offset, 50)); - charspares = tvb_get_ptr (tvb, offset, 50); - offset += 50; /* some reason this 114 seems to be incorrect... cutting 4 short to compensate.... */ - if (check_col (pinfo->cinfo, COL_INFO)) - col_append_fstr (pinfo->cinfo, COL_INFO, " charSpares:%s", charspares); - - - - proto_item_set_len (item, offset - old_offset); - - return offset; - - -} - -static int -fldb_dissect_getcellinfo_resp (tvbuff_t * tvb, int offset, - packet_info * pinfo, proto_tree * tree, - guint8 * drep) -{ - dcerpc_info *di; - - di = pinfo->private_data; - if (di->conformant_run) - { - return offset; - } - - -/* [out] vlconf_cell *MyCell */ - offset = dissect_vlconf_cell (tvb, offset, pinfo, tree, drep); - - - return offset; -} - - - -static int -fldb_dissect_getentrybyname_rqst (tvbuff_t * tvb, int offset, - packet_info * pinfo, proto_tree * tree, - guint8 * drep) -{ - dcerpc_info *di; - - di = pinfo->private_data; - if (di->conformant_run) - { - return offset; - } - - - /* - * [in] volumeName volName, - */ - - offset += 4; - offset = dissect_afsNameString_t (tvb, offset, pinfo, tree, drep); - - - return offset; - -} - -static int -fldb_dissect_getentrybyname_resp (tvbuff_t * tvb, int offset, - packet_info * pinfo, proto_tree * tree, - guint8 * drep) -{ - /* - [out] vldbentry *entry - */ - dcerpc_info *di; - - di = pinfo->private_data; - if (di->conformant_run) - { - return offset; - } - - offset = dissect_vldbentry (tvb, offset, pinfo, tree, drep); - - MACRO_ST_CLEAR ("GetEntryByName reply"); - return offset; -} - -static int -fldb_dissect_getsiteinfo_rqst (tvbuff_t * tvb, int offset, - packet_info * pinfo, proto_tree * tree, - guint8 * drep) -{ - dcerpc_info *di; - - di = pinfo->private_data; - if (di->conformant_run) - { - return offset; - } - - - - /* - * [in] afsNetAddr *OldAddr, - * - */ - - offset = dissect_afsnetaddr (tvb, offset, pinfo, tree, drep); - - - /* - * - * [in] afsNetAddr *OldAddr, - * unsigned16 type; - unsigned8 data[14]; - */ - - - return offset; -} -static int -fldb_dissect_getsiteinfo_resp (tvbuff_t * tvb, int offset, - packet_info * pinfo, proto_tree * tree, - guint8 * drep) -{ - - dcerpc_info *di; - const guint8 *namestring; - e_uuid_t owner, objid; - guint32 creationquota, creationuses, deletedflag, spare2, spare3, spare4, - spare5; - - di = pinfo->private_data; - if (di->conformant_run) - { - return offset; - } - - /* - [out] siteDessiib *FullSiteInfo - afsNetAddr Addr[ADDRSINSITE]; - byte KerbPrin[MAXKPRINCIPALLEN] 64; - afsUUID Owner; - afsUUID ObjID; - unsigned32 CreationQuota; - unsigned32 CreationUses; - unsigned32 DeletedFlag; - unsigned32 spare2; - unsigned32 spare3; - unsigned32 spare4; - unsigned32 spare5; - */ - - offset = dissect_afsnetaddr (tvb, offset, pinfo, tree, drep); - - /* handle byte KerbPrin[64]. */ - - offset += 48; /* part of kerbprin before name... */ - - proto_tree_add_string (tree, hf_fldb_namestring, tvb, offset, hf_fldb_namestring_size, tvb_get_ptr (tvb, offset, 64)); - namestring = tvb_get_ptr (tvb, offset, 64); - offset += 64; - if (check_col (pinfo->cinfo, COL_INFO)) - col_append_fstr (pinfo->cinfo, COL_INFO, " %s", namestring); - - offset = dissect_ndr_uuid_t (tvb, offset, pinfo, tree, drep, hf_fldb_uuid_owner, &owner); - if (check_col (pinfo->cinfo, COL_INFO)) - col_append_fstr (pinfo->cinfo, COL_INFO, - " Owner - %08x-%04x-%04x-%02x%02x-%02x%02x%02x%02x%02x%02x", - owner.Data1, owner.Data2, owner.Data3, owner.Data4[0], - owner.Data4[1], owner.Data4[2], owner.Data4[3], - owner.Data4[4], owner.Data4[5], owner.Data4[6], - owner.Data4[7]); - - offset = - dissect_ndr_uuid_t (tvb, offset, pinfo, tree, drep, hf_fldb_uuid_objid, - &objid); - if (check_col (pinfo->cinfo, COL_INFO)) - col_append_fstr (pinfo->cinfo, COL_INFO, - " ObjID - %08x-%04x-%04x-%02x%02x-%02x%02x%02x%02x%02x%02x", - objid.Data1, objid.Data2, objid.Data3, objid.Data4[0], - objid.Data4[1], objid.Data4[2], objid.Data4[3], - objid.Data4[4], objid.Data4[5], objid.Data4[6], - objid.Data4[7]); - - offset = - dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep, hf_fldb_creationquota, - &creationquota); - offset = - dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep, hf_fldb_creationuses, - &creationuses); - offset = - dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep, hf_fldb_deletedflag, - &deletedflag); - offset = - dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep, hf_fldb_spare2, - &spare2); - offset = - dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep, hf_fldb_spare3, - &spare3); - offset = - dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep, hf_fldb_spare4, - &spare4); - offset = - dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep, hf_fldb_spare5, - &spare5); - - if (check_col (pinfo->cinfo, COL_INFO)) - col_append_fstr (pinfo->cinfo, COL_INFO, - " CreationQuota:%u CreationUses:%u DeletedFlag:%u Spare2:%u Spare3:%u Spare4:%u Spare5:%u", - creationquota, creationuses, deletedflag, spare2, spare3, - spare4, spare5); - - MACRO_ST_CLEAR ("GetSiteInfo reply"); - - return offset; - -} - -static int -fldb_dissect_listentry_rqst (tvbuff_t * tvb, int offset, - packet_info * pinfo, proto_tree * tree, - guint8 * drep) -{ - dcerpc_info *di; - - guint32 var1, previous_index; - - di = pinfo->private_data; - if (di->conformant_run) - { - return offset; - } - - - /* - * [in] unsigned32 previous_index, - * [out] unsigned32 *count, - * [out] unsigned32 *next_index, - * [out] vldbentry *entry - */ - - offset = - dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep, - hf_fldb_listentry_rqst_previous_index, - &previous_index); - offset = - dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep, - hf_fldb_listentry_rqst_var1, &var1); - - - if (check_col (pinfo->cinfo, COL_INFO)) - col_append_fstr (pinfo->cinfo, COL_INFO, " :PrevIndex: %u", - previous_index); - - - return offset; - -} - -static int -fldb_dissect_listentry_resp (tvbuff_t * tvb, int offset, - packet_info * pinfo, proto_tree * tree, - guint8 * drep) -{ - dcerpc_info *di; - guint32 count, next_index; - - di = pinfo->private_data; - if (di->conformant_run) - { - return offset; - } - - - /* - * [out] unsigned32 *count, - * [out] unsigned32 *next_index, - * [out] vldbentry *entry - */ - - offset = - dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep, - hf_fldb_listentry_resp_count, &count); - offset = - dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep, - hf_fldb_listentry_resp_next_index, &next_index); - offset = dissect_vldbentry (tvb, offset, pinfo, tree, drep); - return offset; - -} - -static int -fldb_dissect_setlock_rqst (tvbuff_t * tvb, int offset, - packet_info * pinfo, proto_tree * tree, - guint8 * drep) -{ - dcerpc_info *di; - guint32 fsid_high, fsid_low, voltype, voloper; - - di = pinfo->private_data; - if (di->conformant_run) - { - return offset; - } - - - offset = - dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep, - hf_fldb_setlock_rqst_fsid_high, &fsid_high); - offset = - dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep, - hf_fldb_setlock_rqst_fsid_low, &fsid_low); - offset = - dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep, - hf_fldb_setlock_rqst_voltype, &voltype); - offset = - dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep, - hf_fldb_setlock_rqst_voloper, &voloper); - - if (check_col (pinfo->cinfo, COL_INFO)) - col_append_fstr (pinfo->cinfo, COL_INFO, - " :FSID:%u/%u VolType:0x%x VolOper:%u", fsid_high, - fsid_low, voltype, voloper); - - return offset; - -} -static int -fldb_dissect_setlock_resp (tvbuff_t * tvb, int offset, - packet_info * pinfo, proto_tree * tree, - guint8 * drep) -{ - dcerpc_info *di; - - di = pinfo->private_data; - if (di->conformant_run) - { - return offset; - } - - MACRO_ST_CLEAR ("SetLock reply"); - - - - return offset; -} -static int -fldb_dissect_deleteentry_resp (tvbuff_t * tvb, int offset, - packet_info * pinfo, proto_tree * tree, - guint8 * drep) -{ - dcerpc_info *di; - - di = pinfo->private_data; - if (di->conformant_run) - { - return offset; - } - - - MACRO_ST_CLEAR ("DeleteEntry reply"); - - return offset; -} - -static int -fldb_dissect_deleteentry_rqst (tvbuff_t * tvb, int offset, - packet_info * pinfo, proto_tree * tree, - guint8 * drep) -{ - -/* - [in] afsHyper *Volid, - [in] unsigned32 voltype -*/ - dcerpc_info *di; - - guint32 fsid_high, fsid_low, voltype, voloper; - - di = pinfo->private_data; - if (di->conformant_run) - { - return offset; - } - - - - offset = - dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep, - hf_fldb_deleteentry_rqst_fsid_high, &fsid_high); - offset = - dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep, - hf_fldb_deleteentry_rqst_fsid_low, &fsid_low); - offset = - dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep, - hf_fldb_deleteentry_rqst_voltype, &voltype); - offset = - dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep, - hf_fldb_deleteentry_rqst_voloper, &voloper); - - if (check_col (pinfo->cinfo, COL_INFO)) - col_append_fstr (pinfo->cinfo, COL_INFO, " :FSID:%u/%u", fsid_high, - fsid_low); - - - return offset; - -} - -static int -fldb_dissect_createentry_resp (tvbuff_t * tvb, int offset, - packet_info * pinfo, proto_tree * tree, - guint8 * drep) -{ - dcerpc_info *di; - - di = pinfo->private_data; - if (di->conformant_run) - { - return offset; - } - - MACRO_ST_CLEAR ("CreateEntry reply"); - - return offset; -} - -static int -fldb_dissect_createentry_rqst (tvbuff_t * tvb, int offset, - packet_info * pinfo, proto_tree * tree, - guint8 * drep) -{ - dcerpc_info *di; - - di = pinfo->private_data; - if (di->conformant_run) - { - return offset; - } - - - offset = dissect_vldbentry (tvb, offset, pinfo, tree, drep); - return offset; - -} - -static int -fldb_dissect_getentrybyid_rqst (tvbuff_t * tvb, int offset, - packet_info * pinfo, proto_tree * tree, - guint8 * drep) -{ - dcerpc_info *di; - - guint32 volid_high, volid_low, voltype; - - di = pinfo->private_data; - if (di->conformant_run) - { - return offset; - } - - - -/* - [in] afsHyper *Volid, - [in] unsigned32 voltype, -*/ - - offset = - dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep, hf_fldb_volid_high, - &volid_high); - offset = - dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep, hf_fldb_volid_low, - &volid_low); - - offset = - dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep, hf_fldb_voltype, - &voltype); - - if (check_col (pinfo->cinfo, COL_INFO)) - col_append_fstr (pinfo->cinfo, COL_INFO, " VolID:%u/%u VolType:0x%x", - volid_high, volid_low, voltype); - - return offset; - -} - -static int -fldb_dissect_getnewvolumeids_rqst (tvbuff_t * tvb, int offset, - packet_info * pinfo, proto_tree * tree, - guint8 * drep) -{ -/* [in] unsigned32 numWanted, - [in] afsNetAddr *ServerAddr, -*/ - dcerpc_info *di; - guint32 numwanted; - - di = pinfo->private_data; - if (di->conformant_run) - { - return offset; - } - - offset = - dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep, hf_fldb_numwanted, - &numwanted); - if (check_col (pinfo->cinfo, COL_INFO)) - col_append_fstr (pinfo->cinfo, COL_INFO, " numWanted:%u", numwanted); - - - offset = dissect_afsnetaddr (tvb, offset, pinfo, tree, drep); - - - - return offset; -} - -static int -fldb_dissect_getentrybyid_resp (tvbuff_t * tvb, int offset, - packet_info * pinfo, proto_tree * tree, - guint8 * drep) -{ - dcerpc_info *di; - - di = pinfo->private_data; - if (di->conformant_run) - { - return offset; - } - - - offset = dissect_vldbentry (tvb, offset, pinfo, tree, drep); - return offset; -} - -static int -fldb_dissect_releaselock_resp (tvbuff_t * tvb, int offset, - packet_info * pinfo, proto_tree * tree, - guint8 * drep) -{ - dcerpc_info *di; - - di = pinfo->private_data; - if (di->conformant_run) - { - return offset; - } - - MACRO_ST_CLEAR ("ReleaseLock reply"); - - - return offset; -} - - -static int -fldb_dissect_releaselock_rqst (tvbuff_t * tvb, int offset, - packet_info * pinfo, proto_tree * tree, - guint8 * drep) -{ - dcerpc_info *di; - guint32 fsid_high, fsid_low, voltype, voloper; - - di = pinfo->private_data; - if (di->conformant_run) - { - return offset; - } - - - offset = - dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep, - hf_fldb_releaselock_rqst_fsid_high, &fsid_high); - offset = - dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep, - hf_fldb_releaselock_rqst_fsid_low, &fsid_low); - offset = - dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep, - hf_fldb_releaselock_rqst_voltype, &voltype); - offset = - dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep, - hf_fldb_releaselock_rqst_voloper, &voloper); - - if (check_col (pinfo->cinfo, COL_INFO)) - col_append_fstr (pinfo->cinfo, COL_INFO, " :FSID:%u/%u", fsid_high, - fsid_low); - - return offset; - -} -static int -fldb_dissect_replaceentry_resp (tvbuff_t * tvb, int offset, - packet_info * pinfo, proto_tree * tree, - guint8 * drep) -{ - dcerpc_info *di; - - di = pinfo->private_data; - if (di->conformant_run) - { - return offset; - } - - - MACRO_ST_CLEAR ("ReplaceEntry reply"); - - - return offset; -} -static int -fldb_dissect_getnextserversbyid_resp (tvbuff_t * tvb, int offset, - packet_info * pinfo, proto_tree * tree, - guint8 * drep) -{ - dcerpc_info *di; - - guint32 nextstartp, flagsp; - - di = pinfo->private_data; - if (di->conformant_run) - { - return offset; - } - - - - - - /* [out] unsigned32 *nextStartP, */ -/* XXX */ - offset = - dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep, hf_fldb_nextstartp, - &nextstartp); - if (check_col (pinfo->cinfo, COL_INFO)) - col_append_fstr (pinfo->cinfo, COL_INFO, " nextStartP:%u", nextstartp); - - - /* [out] vldbentry *entry, */ - offset = dissect_vldbentry (tvb, offset, pinfo, tree, drep); - - - /* [out] unsigned32 *flagsP */ - - offset = - dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep, hf_fldb_flagsp, - &flagsp); - - if (check_col (pinfo->cinfo, COL_INFO)) - col_append_fstr (pinfo->cinfo, COL_INFO, " flagsp:%u", flagsp); - - return offset; -} - -static int -fldb_dissect_replaceentry_rqst (tvbuff_t * tvb, int offset, - packet_info * pinfo, proto_tree * tree, - guint8 * drep) -{ - dcerpc_info *di; - guint32 fsid_high, fsid_low, voltype; - - di = pinfo->private_data; - if (di->conformant_run) - { - return offset; - } - - /* - * [in] afsHyper *Volid, - * [in] unsigned32 voltype, - * [in] vldbentry *newentry, - * [in] unsigned32 ReleaseType - */ - - offset = - dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep, - hf_fldb_replaceentry_rqst_fsid_high, &fsid_high); - offset = - dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep, - hf_fldb_replaceentry_rqst_fsid_low, &fsid_low); - offset = - dissect_ndr_uint32 (tvb, offset, pinfo, tree, drep, - hf_fldb_replaceentry_rqst_voltype, &voltype); - - - if (check_col (pinfo->cinfo, COL_INFO)) - col_append_fstr (pinfo->cinfo, COL_INFO, " FSID:%u/%u Name:", fsid_high, - fsid_low); - - offset = dissect_vldbentry (tvb, offset, pinfo, tree, drep); - - return offset; - -} - - -static dcerpc_sub_dissector fldb_dissectors[] = { - {0, "GetEntryByID", fldb_dissect_getentrybyid_rqst, - fldb_dissect_getentrybyid_resp}, - {1, "GetEntryByName", fldb_dissect_getentrybyname_rqst, - fldb_dissect_getentrybyname_resp}, - {2, "Probe", NULL, NULL}, - {3, "GetCellInfo", NULL, fldb_dissect_getcellinfo_resp}, - {4, "GetNextServersByID", NULL, fldb_dissect_getnextserversbyid_resp}, - {5, "GetNextServersByName", NULL, NULL}, - {6, "GetSiteInfo", fldb_dissect_getsiteinfo_rqst, - fldb_dissect_getsiteinfo_resp}, - {7, "GetCEntryByID", NULL, NULL}, - {8, "GetCEntryByName", NULL, NULL}, - {9, "GetCNextServersByID", NULL, NULL}, - {10, "GetCNextServersByName", NULL, NULL}, - {11, "ExpandSiteCookie", NULL, NULL}, - {12, "GetServerInterfaces", NULL, NULL}, - {13, "CreateEntry", fldb_dissect_createentry_rqst, - fldb_dissect_createentry_resp}, - {14, "DeleteEntry", fldb_dissect_deleteentry_rqst, - fldb_dissect_deleteentry_resp}, - {15, "GetNewVolumeId", NULL, NULL}, - {16, "ReplaceEntry", fldb_dissect_replaceentry_rqst, - fldb_dissect_replaceentry_resp}, - {17, "SetLock", fldb_dissect_setlock_rqst, fldb_dissect_setlock_resp}, - {18, "ReleaseLock", fldb_dissect_releaselock_rqst, - fldb_dissect_releaselock_resp}, - {19, "ListEntry", fldb_dissect_listentry_rqst, fldb_dissect_listentry_resp}, - {20, "ListByAttributes", NULL, NULL}, - {21, "GetStats", NULL, NULL}, - {22, "AddAddress", NULL, NULL}, - {23, "RemoveAddress", NULL, NULL}, - {24, "ChangeAddress", NULL, NULL}, - {25, "GenerateSites", NULL, NULL}, - {26, "GetNewVolumeIds", fldb_dissect_getnewvolumeids_rqst, NULL}, - {27, "CreateServer", NULL, NULL}, - {28, "AlterServer", NULL, NULL}, - {0, NULL, NULL, NULL}, -}; - - -void -proto_register_fldb (void) -{ - static hf_register_info hf[] = { - {&hf_fldb_releaselock_rqst_fsid_low, - {"FSID releaselock Low", "hf_fldb_releaselock_rqst_fsid_low", FT_UINT32, - BASE_DEC, NULL, 0x0, "", HFILL}}, - {&hf_fldb_releaselock_rqst_voltype, - {"voltype", "hf_fldb_releaselock_rqst_voltype", FT_UINT32, BASE_DEC, - NULL, 0x0, "", HFILL}}, - {&hf_fldb_releaselock_rqst_voloper, - {"voloper", "hf_fldb_releaselock_rqst_voloper", FT_UINT32, BASE_DEC, - NULL, 0x0, "", HFILL}}, - {&hf_fldb_setlock_rqst_fsid_high, - {"FSID setlock Hi", "hf_fldb_setlock_rqst_fsid_high", FT_UINT32, - BASE_DEC, NULL, 0x0, "", HFILL}}, - {&hf_fldb_setlock_rqst_fsid_low, - {"FSID setlock Low", "hf_fldb_setlock_rqst_fsid_low", FT_UINT32, - BASE_DEC, NULL, 0x0, "", HFILL}}, - {&hf_fldb_setlock_rqst_voltype, - {"voltype", "hf_fldb_setlock_rqst_voltype", FT_UINT32, BASE_DEC, NULL, - 0x0, "", HFILL}}, - {&hf_fldb_setlock_rqst_voloper, - {"voloper", "hf_fldb_setlock_rqst_voloper", FT_UINT32, BASE_DEC, NULL, - 0x0, "", HFILL}}, - {&hf_fldb_setlock_resp_st, - {"Error", "hf_fldb_setlock_resp_st", FT_UINT32, BASE_DEC, NULL, 0x0, "", - HFILL}}, - {&hf_fldb_setlock_resp_st2, - {"Error", "hf_fldb_setlock_resp_st2", FT_UINT32, BASE_DEC, NULL, 0x0, "", - HFILL}}, - {&hf_fldb_listentry_rqst_previous_index, - {"Previous Index", "hf_fldb_listentry_rqst_previous_index", FT_UINT32, - BASE_DEC, NULL, 0x0, "", HFILL}}, - {&hf_fldb_listentry_rqst_var1, - {"Var 1", "hf_fldb_listentry_rqst_var1", FT_UINT32, BASE_DEC, NULL, 0x0, - "", HFILL}}, - {&hf_fldb_listentry_resp_count, - {"Count", "hf_fldb_listentry_resp_count", FT_UINT32, BASE_DEC, NULL, 0x0, - "", HFILL}}, - {&hf_fldb_listentry_resp_next_index, - {"Next Index", "hf_fldb_listentry_resp_next_index", FT_UINT32, BASE_DEC, - NULL, 0x0, "", HFILL}}, - {&hf_fldb_listentry_resp_key_size, - {"Key Size", "hf_fldb_listentry_resp_key_size", FT_UINT32, BASE_DEC, - NULL, 0x0, "", HFILL}}, - {&hf_fldb_listentry_resp_key_t, - {"Volume", "hf_fldb_listentry_resp_key_t", FT_STRING, BASE_NONE, NULL, - 0x0, "", HFILL}}, - {&hf_fldb_listentry_resp_voltype, - {"VolType", "hf_fldb_listentry_resp_voltype", FT_UINT32, BASE_HEX, NULL, - 0x0, "", HFILL}}, - {&hf_fldb_listentry_resp_key_size2, - {"key_size2", "hf_fldb_listentry_resp_key_size2", FT_UINT32, BASE_DEC, - NULL, 0x0, "", HFILL}}, - {&hf_fldb_listentry_resp_key_t2, - {"Server", "hf_fldb_listentry_resp_key_t2", FT_STRING, BASE_NONE, NULL, - 0x0, "", HFILL}}, - {&hf_fldb_createentry_rqst_key_t, - {"Volume", "hf_fldb_createentry_rqst_key_t", FT_STRING, BASE_NONE, NULL, - 0x0, "", HFILL}}, - {&hf_fldb_createentry_rqst_key_size, - {"Volume Size", "hf_fldb_createentry_rqst_key_size", FT_UINT32, BASE_DEC, - NULL, 0x0, "", HFILL}}, - {&hf_fldb_deleteentry_rqst_fsid_high, - {"FSID deleteentry Hi", "hf_fldb_deleteentry_rqst_fsid_high", FT_UINT32, - BASE_DEC, NULL, 0x0, "", HFILL}}, - {&hf_fldb_deleteentry_rqst_fsid_low, - {"FSID deleteentry Low", "hf_fldb_deleteentry_rqst_fsid_low", FT_UINT32, - BASE_DEC, NULL, 0x0, "", HFILL}}, - {&hf_fldb_deleteentry_rqst_voltype, - {"voltype", "hf_fldb_deleteentry_rqst_voltype", FT_UINT32, BASE_DEC, - NULL, 0x0, "", HFILL}}, - {&hf_fldb_deleteentry_rqst_voloper, - {"voloper", "hf_fldb_deleteentry_rqst_voloper", FT_UINT32, BASE_DEC, - NULL, 0x0, "", HFILL}}, - {&hf_fldb_getentrybyid_rqst_fsid_high, - {"FSID deleteentry Hi", "hf_fldb_getentrybyid_rqst_fsid_high", FT_UINT32, - BASE_DEC, NULL, 0x0, "", HFILL}}, - {&hf_fldb_getentrybyid_rqst_fsid_low, - {"FSID getentrybyid Low", "hf_fldb_getentrybyid_rqst_fsid_low", - FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL}}, - {&hf_fldb_getentrybyid_rqst_voltype, - {"voltype", "hf_fldb_getentrybyid_rqst_voltype", FT_UINT32, BASE_DEC, - NULL, 0x0, "", HFILL}}, - {&hf_fldb_getentrybyid_rqst_voloper, - {"voloper", "hf_fldb_getentrybyid_rqst_voloper", FT_UINT32, BASE_DEC, - NULL, 0x0, "", HFILL}}, - {&hf_fldb_replaceentry_rqst_fsid_high, - {"FSID replaceentry Hi", "hf_fldb_replaceentry_rqst_fsid_high", - FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL}}, - {&hf_fldb_replaceentry_rqst_fsid_low, - {"FSID replaceentry Low", "hf_fldb_replaceentry_rqst_fsid_low", - FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL}}, - {&hf_fldb_replaceentry_rqst_voltype, - {"voltype", "hf_fldb_replaceentry_rqst_voltype", FT_UINT32, BASE_DEC, - NULL, 0x0, "", HFILL}}, - {&hf_fldb_replaceentry_rqst_key_t, - {"Key", "hf_fldb_replaceentry_rqst_key_t", FT_STRING, BASE_NONE, NULL, - 0x0, "", HFILL}}, - {&hf_fldb_replaceentry_rqst_key_size, - {"Key Size", "hf_fldb_replaceentry_rqst_key_size", FT_UINT32, BASE_DEC, - NULL, 0x0, "", HFILL}}, - {&hf_fldb_replaceentry_resp_st, - {"Error", "hf_fldb_replaceentry_resp_st", FT_UINT32, BASE_DEC, NULL, 0x0, - "", HFILL}}, - {&hf_fldb_replaceentry_resp_st2, - {"Error", "hf_fldb_replaceentry_resp_st2", FT_UINT32, BASE_DEC, NULL, - 0x0, "", HFILL}}, - {&hf_fldb_getentrybyname_resp_volumetype, - {"hf_fldb_getentrybyname_resp_volumetype", - "hf_fldb_getentrybyname_resp_volumetype", FT_UINT32, BASE_DEC, NULL, - 0x0, "", HFILL}}, - {&hf_fldb_getentrybyname_resp_numservers, - {"hf_fldb_getentrybyname_resp_numservers", - "hf_fldb_getentrybyname_resp_numservers", FT_UINT32, BASE_DEC, NULL, - 0x0, "", HFILL}}, - {&hf_fldb_getentrybyname_resp_sitecookies, - {"hf_fldb_getentrybyname_resp_sitecookies", - "hf_fldb_getentrybyname_resp_sitecookies", FT_UINT32, BASE_DEC, NULL, - 0x0, "", HFILL}}, - {&hf_fldb_getentrybyname_resp_sitepartition, - {"hf_fldb_getentrybyname_resp_sitepartition", - "hf_fldb_getentrybyname_resp_sitepartition", FT_UINT32, BASE_DEC, NULL, - 0x0, "", HFILL}}, - {&hf_fldb_getentrybyname_resp_siteflags, - {"hf_fldb_getentrybyname_resp_siteflags", - "hf_fldb_getentrybyname_resp_siteflags", FT_UINT32, BASE_DEC, NULL, 0x0, - "", HFILL}}, - {&hf_fldb_getentrybyname_resp_sitemaxreplat, - {"hf_fldb_getentrybyname_resp_sitemaxreplat", - "hf_fldb_getentrybyname_resp_sitemaxreplat", FT_UINT32, BASE_DEC, NULL, - 0x0, "", HFILL}}, - {&hf_fldb_getentrybyname_resp_volid_high, - {"hf_fldb_getentrybyname_resp_volid_high", - "hf_fldb_getentrybyname_resp_volid_high", FT_UINT32, BASE_DEC, NULL, - 0x0, "", HFILL}}, - {&hf_fldb_getentrybyname_resp_volid_low, - {"hf_fldb_getentrybyname_resp_volid_low", - "hf_fldb_getentrybyname_resp_volid_low", FT_UINT32, BASE_DEC, NULL, 0x0, - "", HFILL}}, - {&hf_fldb_getentrybyname_resp_voltype, - {"hf_fldb_getentrybyname_resp_voltype", - "hf_fldb_getentrybyname_resp_voltype", FT_UINT32, BASE_DEC, NULL, 0x0, - "", HFILL}}, - {&hf_fldb_getentrybyname_resp_cloneid_high, - {"hf_fldb_getentrybyname_resp_cloneid_high", - "hf_fldb_getentrybyname_resp_cloneid_high", FT_UINT32, BASE_DEC, NULL, - 0x0, "", HFILL}}, - {&hf_fldb_getentrybyname_resp_cloneid_low, - {"hf_fldb_getentrybyname_resp_cloneid_low", - "hf_fldb_getentrybyname_resp_cloneid_low", FT_UINT32, BASE_DEC, NULL, - 0x0, "", HFILL}}, - {&hf_fldb_getentrybyname_resp_flags, - {"hf_fldb_getentrybyname_resp_flags", - "hf_fldb_getentrybyname_resp_flags", FT_UINT32, BASE_DEC, NULL, 0x0, "", - HFILL}}, - {&hf_fldb_getentrybyname_resp_maxtotallat, - {"hf_fldb_getentrybyname_resp_maxtotallat", - "hf_fldb_getentrybyname_resp_maxtotallat", FT_UINT32, BASE_DEC, NULL, - 0x0, "", HFILL}}, - {&hf_fldb_getentrybyname_resp_hardmaxtotlat, - {"hf_fldb_getentrybyname_resp_hardmaxtotlat", - "hf_fldb_getentrybyname_resp_hardmaxtotlat", FT_UINT32, BASE_DEC, NULL, - 0x0, "", HFILL}}, - {&hf_fldb_getentrybyname_resp_minpouncedally, - {"hf_fldb_getentrybyname_resp_minpouncedally", - "hf_fldb_getentrybyname_resp_minpouncedally", FT_UINT32, BASE_DEC, NULL, - 0x0, "", HFILL}}, - {&hf_fldb_getentrybyname_resp_defaultmaxreplat, - {"hf_fldb_getentrybyname_resp_defaultmaxreplat", - "hf_fldb_getentrybyname_resp_defaultmaxreplat", FT_UINT32, BASE_DEC, - NULL, 0x0, "", HFILL}}, - {&hf_fldb_getentrybyname_resp_reclaimdally, - {"hf_fldb_getentrybyname_resp_reclaimdally", - "hf_fldb_getentrybyname_resp_reclaimdally", FT_UINT32, BASE_DEC, NULL, - 0x0, "", HFILL}}, - {&hf_fldb_getentrybyname_resp_whenlocked, - {"hf_fldb_getentrybyname_resp_whenlocked", - "hf_fldb_getentrybyname_resp_whenlocked", FT_UINT32, BASE_DEC, NULL, - 0x0, "", HFILL}}, - {&hf_fldb_getentrybyname_resp_spare1, - {"hf_fldb_getentrybyname_resp_spare1", - "hf_fldb_getentrybyname_resp_spare1", FT_UINT32, BASE_DEC, NULL, 0x0, - "", HFILL}}, - {&hf_fldb_getentrybyname_resp_spare2, - {"hf_fldb_getentrybyname_resp_spare2", - "hf_fldb_getentrybyname_resp_spare2", FT_UINT32, BASE_DEC, NULL, 0x0, - "", HFILL}}, - {&hf_fldb_getentrybyname_resp_spare3, - {"hf_fldb_getentrybyname_resp_spare3", - "hf_fldb_getentrybyname_resp_spare3", FT_UINT32, BASE_DEC, NULL, 0x0, - "", HFILL}}, - {&hf_fldb_getentrybyname_resp_spare4, - {"hf_fldb_getentrybyname_resp_spare4", - "hf_fldb_getentrybyname_resp_spare4", FT_UINT32, BASE_DEC, NULL, 0x0, - "", HFILL}}, - {&hf_fldb_getentrybyname_resp_key_t, - {"hf_fldb_getentrybyname_resp_key_t", - "hf_fldb_getentrybyname_resp_key_t", FT_STRING, BASE_NONE, NULL, 0x0, - "", HFILL}}, - {&hf_fldb_getentrybyname_resp_key_size, - {"hf_fldb_getentrybyname_resp_size", - "hf_fldb_getentrybyname_resp_key_size", FT_UINT32, BASE_DEC, NULL, 0x0, - "", HFILL}}, - {&hf_fldb_getentrybyname_resp_test, - {"hf_fldb_getentrybyname_resp_test", "hf_fldb_getentrybyname_resp_test", - FT_UINT8, BASE_DEC, NULL, 0x0, "", HFILL}}, - {&hf_fldb_releaselock_rqst_fsid_high, - {"FSID releaselock Hi", "hf_fldb_releaselock_rqst_fsid_high", FT_UINT32, - BASE_DEC, NULL, 0x0, "", HFILL}}, - {&hf_fldb_opnum, - {"Operation", "fldb.opnum", FT_UINT16, BASE_DEC, NULL, 0x0, "Operation", - HFILL}}, - {&hf_fldb_vldbentry_volumename, - {"VolumeName", "vldbentry.volumename", FT_STRING, BASE_NONE, NULL, 0x0, - "", HFILL}}, - {&hf_fldb_vldbentry_volumetype, - {"VolumeType", "vldbentry.volumetype", FT_UINT32, BASE_DEC, NULL, 0x0, - "", HFILL}}, - {&hf_fldb_vldbentry_nservers, - {"Number of Servers", "vldbentry.nservers", FT_UINT32, BASE_DEC, NULL, - 0x0, "", HFILL}}, - {&hf_fldb_afsnetaddr_type, - {"Type", "afsnetaddr.type", FT_UINT16, BASE_DEC, NULL, 0x0, "", HFILL}}, - {&hf_fldb_afsnetaddr_data, - {"IP Data", "afsnetaddr.data", FT_UINT8, BASE_DEC, NULL, 0x0, "", - HFILL}}, - {&hf_fldb_vldbentry_sitepartition, - {"Site Partition", "vldbentry.sitepartition", FT_UINT32, BASE_DEC, NULL, - 0x0, "", HFILL}}, - {&hf_fldb_siteflags, - {"Site Flags", "vldbentry.siteflags", FT_UINT32, BASE_DEC, NULL, 0x0, "", - HFILL}}, - {&hf_fldb_vldbentry_sitemaxreplicalatency, - {"Site Max Replica Latench", "vldbentry.sitemaxreplatency", FT_UINT32, - BASE_DEC, NULL, 0x0, "", HFILL}}, - {&hf_fldb_vldbentry_siteprincipal, - {"Principal Name", "vldbentry.siteprincipal", FT_STRING, BASE_NONE, NULL, - 0x0, "", HFILL}}, - {&hf_fldb_vldbentry_siteowner, - {"Site Owner", "vldbentry.siteowner", FT_STRING, BASE_NONE, NULL, 0x0, - "UUID", HFILL}}, - {&hf_fldb_vldbentry_siteobjid, - {"Site Object ID", "vldbentry.siteobjid", FT_STRING, BASE_NONE, NULL, - 0x0, "UUID", HFILL}}, - {&hf_fldb_vldbentry_volids_high, - {"VolIDs high", "vldbentry.volidshigh", FT_UINT32, BASE_DEC, NULL, 0x0, - "", HFILL}}, - {&hf_fldb_vldbentry_volids_low, - {"VolIDs low", "vldbentry.volidslow", FT_UINT32, BASE_DEC, NULL, 0x0, "", - HFILL}}, - {&hf_fldb_vldbentry_voltypes, - {"VolTypes", "vldbentry.voltypes", FT_UINT32, BASE_DEC, NULL, 0x0, "", - HFILL}}, - {&hf_fldb_vldbentry_cloneid_high, - {"CloneID High", "vldbentry.cloneidhigh", FT_UINT32, BASE_DEC, NULL, 0x0, - "", HFILL}}, - {&hf_fldb_vldbentry_cloneid_low, - {"CloneID Low", "vldbentry.cloneidlow", FT_UINT32, BASE_DEC, NULL, 0x0, - "", HFILL}}, - {&hf_fldb_afsflags_flags, - {"AFS Flags", "vldbentry.afsflags", FT_UINT32, BASE_DEC, NULL, 0x0, "", - HFILL}}, - {&hf_fldb_vldbentry_maxtotallatency, - {"Max Total Latency", "vldbentry.maxtotallatency", FT_UINT32, BASE_DEC, - NULL, 0x0, "", HFILL}}, - {&hf_fldb_vldbentry_hardmaxtotallatency, - {"Hard Max Total Latency", "vldbentry.hardmaxtotallatency", FT_UINT32, - BASE_DEC, NULL, 0x0, "", HFILL}}, - {&hf_fldb_vldbentry_minimumpouncedally, - {"Minimum Pounce Dally", "vldbentry.minimumpouncedally", FT_UINT32, - BASE_DEC, NULL, 0x0, "", HFILL}}, - {&hf_fldb_vldbentry_defaultmaxreplicalatency, - {"Default Max Replica Latency", "vldbentry.defaultmaxreplicalatency", - FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL}}, - {&hf_fldb_vldbentry_reclaimdally, - {"Reclaim Dally", "vldbentry.reclaimdally", FT_UINT32, BASE_DEC, NULL, - 0x0, "", HFILL}}, - {&hf_fldb_vldbentry_whenlocked, - {"When Locked", "vldbentry.whenlocked", FT_UINT32, BASE_DEC, NULL, 0x0, - "", HFILL}}, - {&hf_fldb_vldbentry_spare1, - {"Spare 1", "vldbentry.spare1", FT_UINT32, BASE_DEC, NULL, 0x0, "", - HFILL}}, - {&hf_fldb_vldbentry_spare2, - {"Spare 2", "vldbentry.spare2", FT_UINT32, BASE_DEC, NULL, 0x0, "", - HFILL}}, - {&hf_fldb_vldbentry_spare3, - {"Spare 3", "vldbentry.spare3", FT_UINT32, BASE_DEC, NULL, 0x0, "", - HFILL}}, - {&hf_fldb_vldbentry_spare4, - {"Spare 4", "vldbentry.spare4", FT_UINT32, BASE_DEC, NULL, 0x0, "", - HFILL}}, - {&hf_fldb_vldbentry_lockername, - {"Locker Name", "vldbentry.lockername", FT_STRING, BASE_NONE, NULL, 0x0, - "", HFILL}}, - {&hf_fldb_vldbentry_charspares, - {"Char Spares", "vldbentry.charspares", FT_STRING, BASE_NONE, NULL, 0x0, - "", HFILL}}, - {&hf_fldb_vlconf_cell_name, - {"Name", "vlconf.name", FT_STRING, BASE_NONE, NULL, 0x0, "", HFILL}}, - {&hf_fldb_vlconf_cell_cellid_high, - {"CellID High", "vlconf.cellidhigh", FT_UINT32, BASE_DEC, NULL, 0x0, "", - HFILL}}, - {&hf_fldb_vlconf_cell_cellid_low, - {"CellID Low", "vlconf.cellidlow", FT_UINT32, BASE_DEC, NULL, 0x0, "", - HFILL}}, - {&hf_fldb_vlconf_cell_numservers, - {"Number of Servers", "vlconf.numservers", FT_UINT32, BASE_DEC, NULL, - 0x0, "", HFILL}}, - {&hf_fldb_vlconf_cell_hostname, - {"hostName", "vlconf.hostname", FT_STRING, BASE_NONE, NULL, 0x0, "", - HFILL}}, - {&hf_fldb_vlconf_cell_spare1, - {"Spare1", "vlconf.spare1", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL}}, - {&hf_fldb_vlconf_cell_spare2, - {"Spare2", "vlconf.spare2", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL}}, - {&hf_fldb_vlconf_cell_spare3, - {"Spare3", "vlconf.spare3", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL}}, - {&hf_fldb_vlconf_cell_spare4, - {"Spare4", "vlconf.spare4", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL}}, - {&hf_fldb_vlconf_cell_spare5, - {"Spare5", "vlconf.spare5", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL}}, - {&hf_fldb_flagsp, - {"flagsp", "fldb.flagsp", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL}}, - {&hf_fldb_nextstartp, - {"nextstartp", "fldb.nextstartp", FT_UINT32, BASE_DEC, NULL, 0x0, "", - HFILL}}, - {&hf_fldb_afsNameString_t_principalName_size, - {"Principal Name Size", "fldb.principalName_size", FT_UINT32, BASE_DEC, - NULL, 0x0, "", HFILL}}, - {&hf_fldb_afsNameString_t_principalName_size2, - {"Principal Name Size2", "fldb.principalName_size2", FT_UINT32, BASE_DEC, - NULL, 0x0, "", HFILL}}, - {&hf_fldb_afsNameString_t_principalName_string, - {"Principal Name", "fldb.NameString_principal", FT_STRING, BASE_NONE, - NULL, 0x0, "", HFILL}}, - {&hf_fldb_namestring, - {"Name string", "fldb.NameString_principal", FT_STRING, BASE_NONE, NULL, - 0x0, "", HFILL}}, - {&hf_dcerpc_error_status, - {"Error Status", "fldb.NameString_principal", FT_UINT32, BASE_DEC, NULL, - 0x0, "", HFILL}}, - {&hf_error_st, - {"Error Status 2", "fldb.error_st", FT_UINT32, BASE_DEC, NULL, 0x0, "", - HFILL}}, - {&hf_fldb_creationquota, - {"creation quota", "fldb.creationquota", FT_UINT32, BASE_DEC, NULL, 0x0, - "", HFILL}}, - {&hf_fldb_creationuses, - {"creation uses", "fldb.creationuses", FT_UINT32, BASE_DEC, NULL, 0x0, - "", HFILL}}, - {&hf_fldb_deletedflag, - {"deletedflag", "fldb.deletedflag", FT_UINT32, BASE_DEC, NULL, 0x0, "", - HFILL}}, - {&hf_fldb_getentrybyname_rqst_key_size, - {"getentrybyname", "fldb.getentrybyname_rqst_key_size", FT_UINT32, - BASE_DEC, NULL, 0x0, "", HFILL}}, - {&hf_fldb_getentrybyname_rqst_var1, - {"getentrybyname var1", "fldb.getentrybyname_rqst_var1", FT_UINT32, - BASE_DEC, NULL, 0x0, "", HFILL}}, - {&hf_fldb_namestring_size, - {"namestring size", "fldb.namestring_size", FT_UINT32, BASE_DEC, NULL, - 0x0, "", HFILL}}, - {&hf_fldb_numwanted, - {"number wanted", "fldb.numwanted", FT_UINT32, BASE_DEC, NULL, 0x0, "", - HFILL}}, - {&hf_fldb_spare2, - {"spare2", "fldb.spare2", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL}}, - {&hf_fldb_spare3, - {"spare3", "fldb.spare3", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL}}, - {&hf_fldb_spare4, - {"spare4", "fldb.spare4", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL}}, - {&hf_fldb_spare5, - {"spare5", "fldb.spare5", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL}}, - {&hf_fldb_uuid_objid, - {"objid", "fldb.uuid_objid", FT_STRING, BASE_NONE, NULL, 0x0, "UUID", - HFILL}}, - {&hf_fldb_uuid_owner, - {"owner", "fldb.uuid_owner", FT_STRING, BASE_NONE, NULL, 0x0, "UUID", - HFILL}}, - {&hf_fldb_volid_high, - {"volid high", "fldb.volid_high", FT_UINT32, BASE_DEC, NULL, 0x0, "", - HFILL}}, - {&hf_fldb_volid_low, - {"volid low", "fldb.volid_low", FT_UINT32, BASE_DEC, NULL, 0x0, "", - HFILL}}, - {&hf_fldb_voltype, - {"voltype", "fldb.voltype", FT_UINT32, BASE_DEC, NULL, 0x0, "", HFILL}}, - }; - - static gint *ett[] = { - &ett_fldb, - &ett_fldb_vldbentry, - &ett_fldb_afsnetaddr, - &ett_fldb_siteflags, - &ett_fldb_afsflags, - &ett_fldb_vlconf_cell, - &ett_fldb_afsNameString_t, - }; - - proto_fldb = proto_register_protocol ("DCE/RPC FLDB", "FLDB", "fldb"); - proto_register_field_array (proto_fldb, hf, array_length (hf)); - proto_register_subtree_array (ett, array_length (ett)); -} - -void -proto_reg_handoff_fldb (void) -{ - /* Register the protocol as dcerpc */ - dcerpc_init_uuid (proto_fldb, ett_fldb, &uuid_fldb, ver_fldb, - fldb_dissectors, hf_fldb_opnum); -} -- cgit v1.2.3