# conformance file for SRVSVC # MANUAL srvsvc_dissect_element_NetShareInfo_info1501_ MANUAL srvsvc_dissect_element_NetGetFileSecurity_sd_buf_ MANUAL srvsvc_dissect_element_NetSetFileSecurity_sd_buf MANUAL srvsvc_dissect_element_NetShareCtr1501_array__ MANUAL srvsvc_dissect_element_NetShareInfo502_sd_ # we wont need to manually define servertype once svcctl is autogenerated MANUAL srvsvc_dissect_element_NetSrvInfo101_server_type MANUAL srvsvc_dissect_element_NetSrvInfo102_server_type # until we get secinfo MANUAL srvsvc_dissect_element_NetGetFileSecurity_securityinformation MANUAL srvsvc_dissect_element_NetSetFileSecurity_securityinformation HF_FIELD hf_srvsvc_sec_desc_buf_len "Sec Desc Buf Len" "srvsvc.sec_desc_buf_len" FT_UINT32 BASE_DEC NULL 0 "" "" "" # # # Prettifications PARAM_VALUE srvsvc_dissect_element_NetCharDevEnum_server_unc_ 1|PIDL_SET_COL_INFO PARAM_VALUE srvsvc_dissect_element_NetCharDevEnum_level_ PIDL_SET_COL_INFO PARAM_VALUE srvsvc_dissect_element_NetCharDevQEnum_server_unc_ 1|PIDL_SET_COL_INFO PARAM_VALUE srvsvc_dissect_element_NetCharDevQEnum_user_ 1|PIDL_SET_COL_INFO PARAM_VALUE srvsvc_dissect_element_NetCharDevQEnum_level_ PIDL_SET_COL_INFO PARAM_VALUE srvsvc_dissect_element_NetConnEnum_server_unc_ 1|PIDL_SET_COL_INFO PARAM_VALUE srvsvc_dissect_element_NetConnEnum_path_ 1|PIDL_SET_COL_INFO PARAM_VALUE srvsvc_dissect_element_NetConnEnum_level_ PIDL_SET_COL_INFO PARAM_VALUE srvsvc_dissect_element_NetFileEnum_server_unc_ 1|PIDL_SET_COL_INFO PARAM_VALUE srvsvc_dissect_element_NetFileEnum_level_ PIDL_SET_COL_INFO CODE START #include "packet-smb.h" #include "packet-smb-browse.h" static int srvsvc_dissect_sec_desc_buf(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, dcerpc_info* di, guint8 *drep) { guint32 len; if(di->conformant_run){ /*just a run to handle conformant arrays, nothing to dissect */ return offset; } offset = dissect_ndr_uint32 (tvb, offset, pinfo, tree, di, drep, hf_srvsvc_sec_desc_buf_len, &len); dissect_nt_sec_desc(tvb, offset, pinfo, tree, drep, TRUE, len, NULL); offset += len; return offset; } static int srvsvc_dissect_element_NetShareInfo_info1501_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, dcerpc_info* di, guint8 *drep) { return srvsvc_dissect_sec_desc_buf(tvb, offset, pinfo, tree, di, drep); } static int srvsvc_dissect_element_NetGetFileSecurity_sd_buf_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, dcerpc_info* di, guint8 *drep) { return srvsvc_dissect_sec_desc_buf(tvb, offset, pinfo, tree, di, drep); } static int srvsvc_dissect_element_NetSetFileSecurity_sd_buf(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, dcerpc_info* di, guint8 *drep) { return srvsvc_dissect_sec_desc_buf(tvb, offset, pinfo, tree, di, drep); } static int srvsvc_dissect_element_NetShareCtr1501_array__(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, dcerpc_info* di, guint8 *drep) { return srvsvc_dissect_sec_desc_buf(tvb, offset, pinfo, tree, di, drep); } static int srvsvc_dissect_element_NetShareInfo502_sd_(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, dcerpc_info* di, guint8 *drep) { return srvsvc_dissect_sec_desc_buf(tvb, offset, pinfo, tree, di, drep); } static int srvsvc_dissect_ServerType(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, dcerpc_info* di, guint8 *drep) { if(di->conformant_run){ /*just a run to handle conformant arrays, nothing to dissect */ return offset; } offset=dissect_smb_server_type_flags(tvb, offset, pinfo, tree, drep, 0); return offset; } static int srvsvc_dissect_element_NetSrvInfo101_server_type(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, dcerpc_info* di, guint8 *drep) { return srvsvc_dissect_ServerType(tvb, offset, pinfo, tree, di, drep); } static int srvsvc_dissect_element_NetSrvInfo102_server_type(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, dcerpc_info* di, guint8 *drep) { return srvsvc_dissect_ServerType(tvb, offset, pinfo, tree, di, drep); } static int srvsvc_dissect_secinfo(tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, dcerpc_info* di, guint8 *drep _U_) { if(di->conformant_run){ /*just a run to handle conformant arrays, nothing to dissect */ return offset; } offset=dissect_security_information_mask(tvb, tree, offset); return offset; } static int srvsvc_dissect_element_NetGetFileSecurity_securityinformation(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, dcerpc_info* di, guint8 *drep) { return srvsvc_dissect_secinfo(tvb, offset, pinfo, tree, di, drep); } static int srvsvc_dissect_element_NetSetFileSecurity_securityinformation(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, dcerpc_info* di, guint8 *drep) { return srvsvc_dissect_secinfo(tvb, offset, pinfo, tree, di, drep); } CODE END