diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-10 20:34:10 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-10 20:34:10 +0000 |
commit | e4ba6dbc3f1e76890b22773807ea37fe8fa2b1bc (patch) | |
tree | 68cb5ef9081156392f1dd62a00c6ccc1451b93df /epan/dissectors/pidl/srvsvc/srvsvc.cnf | |
parent | Initial commit. (diff) | |
download | wireshark-e4ba6dbc3f1e76890b22773807ea37fe8fa2b1bc.tar.xz wireshark-e4ba6dbc3f1e76890b22773807ea37fe8fa2b1bc.zip |
Adding upstream version 4.2.2.upstream/4.2.2
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'epan/dissectors/pidl/srvsvc/srvsvc.cnf')
-rw-r--r-- | epan/dissectors/pidl/srvsvc/srvsvc.cnf | 151 |
1 files changed, 151 insertions, 0 deletions
diff --git a/epan/dissectors/pidl/srvsvc/srvsvc.cnf b/epan/dissectors/pidl/srvsvc/srvsvc.cnf new file mode 100644 index 00000000..0b0333d4 --- /dev/null +++ b/epan/dissectors/pidl/srvsvc/srvsvc.cnf @@ -0,0 +1,151 @@ +# 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_ +NOEMIT 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 +MANUAL srvsvc_dissect_element_NetShareInfo502_sd_buf +MANUAL srvsvc_dissect_element_NetShareInfoCtr_ctr +NOEMIT srvsvc_dissect_element_NetGetFileSecurity_sd_buf__ +NOEMIT srvsvc_dissect_element_NetSetFileSecurity_sd_buf_ + +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_NetShareCtr(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *parent_tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, int hf_index _U_, guint32 param _U_); +static int +srvsvc_dissect_element_NetShareInfoCtr_ctr(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_, guint32 *level) +{ + ALIGN_TO_5_BYTES + offset = srvsvc_dissect_NetShareCtr(tvb, offset, pinfo, tree, di, drep, hf_srvsvc_srvsvc_NetShareInfoCtr_ctr, *level); + + return offset; +} + + +static int +srvsvc_dissect_sec_desc_buf(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, dcerpc_info* di, guint8 *drep, int hf_index); +static int +srvsvc_dissect_sec_desc_buf(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, dcerpc_info* di, guint8 *drep, int hf_index _U_) +{ + 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, hf_srvsvc_srvsvc_NetShareInfo_info1501); +} +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, hf_srvsvc_srvsvc_NetGetFileSecurity_sd_buf); +} +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, hf_srvsvc_srvsvc_NetSetFileSecurity_sd_buf); +} +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, hf_srvsvc_srvsvc_NetShareCtr1501_array); +} +static int +srvsvc_dissect_element_NetShareInfo502_sd_buf(tvbuff_t *tvb _U_, int offset _U_, packet_info *pinfo _U_, proto_tree *tree _U_, dcerpc_info* di _U_, guint8 *drep _U_) +{ + return srvsvc_dissect_sec_desc_buf(tvb,offset,pinfo,tree,di,drep, hf_srvsvc_srvsvc_NetShareInfo502_sd_buf); +} +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_, int hf_index _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, hf_srvsvc_srvsvc_NetGetFileSecurity_securityinformation); +} +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, hf_srvsvc_srvsvc_NetSetFileSecurity_securityinformation); +} + +CODE END + |