break;
}
- status = smbd_do_qfsinfo(smb2req->xconn, conn, state,
+ status = smbd_do_qfsinfo(smb2req->xconn,
+ conn,
+ state,
file_info_level,
STR_UNICODE,
in_output_buffer_length,
&fixed_portion,
fsp,
- fsp->fsp_name,
&data,
&data_size);
/* some responses set STATUS_BUFFER_OVERFLOW and return
unsigned int max_data_bytes,
size_t *fixed_portion,
struct files_struct *fsp,
- struct smb_filename *fname,
char **ppdata,
int *ret_data_len)
{
const char *vname = volume_label(talloc_tos(), SNUM(conn));
int snum = SNUM(conn);
const char *fstype = lp_fstype(SNUM(conn));
- const char *filename = NULL;
uint64_t bytes_per_sector = 512;
- struct smb_filename smb_fname;
SMB_STRUCT_STAT st;
NTSTATUS status = NT_STATUS_OK;
uint64_t df_ret;
uint32_t serial;
- if (fname == NULL || fname->base_name == NULL) {
- filename = ".";
- } else {
- filename = fname->base_name;
- }
-
if (IS_IPC(conn)) {
if (info_level != SMB_QUERY_CIFS_UNIX_INFO) {
DBG_ERR("not an allowed info level (0x%x) on IPC$.\n",
DBG_NOTICE("level = %d\n", info_level);
- smb_fname = (struct smb_filename) {
- .base_name = discard_const_p(char, filename),
- .flags = fname ? fname->flags : 0,
- .twrp = fname ? fname->twrp : 0,
- };
-
- if(info_level != SMB_FS_QUOTA_INFORMATION
- && SMB_VFS_STAT(conn, &smb_fname) != 0) {
- DEBUG(2,("stat of . failed (%s)\n", strerror(errno)));
- return map_nt_error_from_unix(errno);
- }
-
st = fsp->fsp_name->st;
if (max_data_bytes + DIR_ENTRY_SAFETY_MARGIN < max_data_bytes) {