smb_sdrc_t smb_com_query_information(smb_request_t *sr) { uint16_t infolev = SMB_QUERY_INFORMATION; if (STYPE_ISIPC(sr->tid_tree->t_res_type)) { smbsr_error(sr, NT_STATUS_ACCESS_DENIED, ERRDOS, ERROR_ACCESS_DENIED); return (SDRC_ERROR); } if (smb_query_by_path(sr, NULL, infolev) != 0) return (SDRC_ERROR); return (SDRC_SUCCESS); }
smb_sdrc_t smb_com_query_information(smb_request_t *sr) { char *path = sr->arg.dirop.fqi.fq_path.pn_path; uint16_t infolev = SMB_QUERY_INFORMATION; if (!STYPE_ISDSK(sr->tid_tree->t_res_type)) { smbsr_error(sr, NT_STATUS_ACCESS_DENIED, ERRDOS, ERROR_ACCESS_DENIED); return (SDRC_ERROR); } if (smb_query_by_path(sr, NULL, infolev, path) != 0) return (SDRC_ERROR); return (SDRC_SUCCESS); }
/* * smb_com_trans2_query_path_information */ smb_sdrc_t smb_com_trans2_query_path_information(smb_request_t *sr, smb_xa_t *xa) { uint16_t infolev; smb_fqi_t *fqi = &sr->arg.dirop.fqi; if (STYPE_ISIPC(sr->tid_tree->t_res_type)) { smbsr_error(sr, NT_STATUS_INVALID_DEVICE_REQUEST, ERRDOS, ERROR_INVALID_FUNCTION); return (SDRC_ERROR); } if (smb_mbc_decodef(&xa->req_param_mb, "%w4.u", sr, &infolev, &fqi->fq_path.pn_path) != 0) return (SDRC_ERROR); if (smb_query_by_path(sr, xa, infolev) != 0) return (SDRC_ERROR); return (SDRC_SUCCESS); }
/* * smb_com_trans2_query_path_information */ smb_sdrc_t smb_com_trans2_query_path_information(smb_request_t *sr, smb_xa_t *xa) { uint16_t infolev; char *path; if (!STYPE_ISDSK(sr->tid_tree->t_res_type)) { smbsr_error(sr, NT_STATUS_INVALID_DEVICE_REQUEST, ERRDOS, ERROR_INVALID_FUNCTION); return (SDRC_ERROR); } if (smb_mbc_decodef(&xa->req_param_mb, "%w4.u", sr, &infolev, &path) != 0) return (SDRC_ERROR); if (smb_query_by_path(sr, xa, infolev, path) != 0) return (SDRC_ERROR); return (SDRC_SUCCESS); }