#define SMB2_HDR_FLAG_REPLAY_OPERATION 0x20000000
/* SMB2 opcodes */
-#define SMB2_OP_NEGPROT 0x00
-#define SMB2_OP_SESSSETUP 0x01
-#define SMB2_OP_LOGOFF 0x02
-#define SMB2_OP_TCON 0x03
-#define SMB2_OP_TDIS 0x04
-#define SMB2_OP_CREATE 0x05
-#define SMB2_OP_CLOSE 0x06
-#define SMB2_OP_FLUSH 0x07
-#define SMB2_OP_READ 0x08
-#define SMB2_OP_WRITE 0x09
-#define SMB2_OP_LOCK 0x0a
-#define SMB2_OP_IOCTL 0x0b
-#define SMB2_OP_CANCEL 0x0c
-#define SMB2_OP_KEEPALIVE 0x0d
-#define SMB2_OP_FIND 0x0e
-#define SMB2_OP_NOTIFY 0x0f
-#define SMB2_OP_GETINFO 0x10
-#define SMB2_OP_SETINFO 0x11
-#define SMB2_OP_BREAK 0x12
+#define SMB2_OP_NEGPROT 0x00
+#define SMB2_OP_SESSSETUP 0x01
+#define SMB2_OP_LOGOFF 0x02
+#define SMB2_OP_TCON 0x03
+#define SMB2_OP_TDIS 0x04
+#define SMB2_OP_CREATE 0x05
+#define SMB2_OP_CLOSE 0x06
+#define SMB2_OP_FLUSH 0x07
+#define SMB2_OP_READ 0x08
+#define SMB2_OP_WRITE 0x09
+#define SMB2_OP_LOCK 0x0a
+#define SMB2_OP_IOCTL 0x0b
+#define SMB2_OP_CANCEL 0x0c
+#define SMB2_OP_KEEPALIVE 0x0d
+#define SMB2_OP_QUERY_DIRECTORY 0x0e
+#define SMB2_OP_NOTIFY 0x0f
+#define SMB2_OP_GETINFO 0x10
+#define SMB2_OP_SETINFO 0x11
+#define SMB2_OP_BREAK 0x12
#define SMB2_MAGIC 0x424D53FE /* 0xFE 'S' 'M' 'B' */
#include "trans2.h"
#include "../lib/util/tevent_ntstatus.h"
-static struct tevent_req *smbd_smb2_find_send(TALLOC_CTX *mem_ctx,
+static struct tevent_req *smbd_smb2_query_directory_send(TALLOC_CTX *mem_ctx,
struct tevent_context *ev,
struct smbd_smb2_request *smb2req,
struct files_struct *in_fsp,
uint32_t in_file_index,
uint32_t in_output_buffer_length,
const char *in_file_name);
-static NTSTATUS smbd_smb2_find_recv(struct tevent_req *req,
+static NTSTATUS smbd_smb2_query_directory_recv(struct tevent_req *req,
TALLOC_CTX *mem_ctx,
DATA_BLOB *out_output_buffer);
static void smbd_smb2_request_find_done(struct tevent_req *subreq);
-NTSTATUS smbd_smb2_request_process_find(struct smbd_smb2_request *req)
+NTSTATUS smbd_smb2_request_process_query_directory(struct smbd_smb2_request *req)
{
NTSTATUS status;
const uint8_t *inbody;
return smbd_smb2_request_error(req, NT_STATUS_FILE_CLOSED);
}
- subreq = smbd_smb2_find_send(req, req->sconn->ev_ctx,
+ subreq = smbd_smb2_query_directory_send(req, req->sconn->ev_ctx,
req, in_fsp,
in_file_info_class,
in_flags,
NTSTATUS status;
NTSTATUS error; /* transport error */
- status = smbd_smb2_find_recv(subreq,
+ status = smbd_smb2_query_directory_recv(subreq,
req,
&out_output_buffer);
TALLOC_FREE(subreq);
}
}
-struct smbd_smb2_find_state {
+struct smbd_smb2_query_directory_state {
struct smbd_smb2_request *smb2req;
DATA_BLOB out_output_buffer;
};
-static struct tevent_req *smbd_smb2_find_send(TALLOC_CTX *mem_ctx,
+static struct tevent_req *smbd_smb2_query_directory_send(TALLOC_CTX *mem_ctx,
struct tevent_context *ev,
struct smbd_smb2_request *smb2req,
struct files_struct *fsp,
{
struct smbXsrv_connection *xconn = smb2req->xconn;
struct tevent_req *req;
- struct smbd_smb2_find_state *state;
+ struct smbd_smb2_query_directory_state *state;
struct smb_request *smbreq;
connection_struct *conn = smb2req->tcon->compat;
NTSTATUS status;
char *p;
req = tevent_req_create(mem_ctx, &state,
- struct smbd_smb2_find_state);
+ struct smbd_smb2_query_directory_state);
if (req == NULL) {
return NULL;
}
state->smb2req = smb2req;
state->out_output_buffer = data_blob_null;
- DEBUG(10,("smbd_smb2_find_send: %s - %s\n",
+ DEBUG(10,("smbd_smb2_query_directory_send: %s - %s\n",
fsp_str_dbg(fsp), fsp_fnum_dbg(fsp)));
smbreq = smbd_smb2_fake_smb_request(smb2req);
}
if (in_output_buffer_length > xconn->smb2.server.max_trans) {
- DEBUG(2,("smbd_smb2_find_send: "
+ DEBUG(2,("smbd_smb2_query_directory_send: "
"client ignored max trans:%s: 0x%08X: 0x%08X\n",
__location__, in_output_buffer_length,
xconn->smb2.server.max_trans));
off = 0;
num = 0;
- DEBUG(8,("smbd_smb2_find_send: dirpath=<%s> dontdescend=<%s>, "
+ DEBUG(8,("smbd_smb2_query_directory_send: dirpath=<%s> dontdescend=<%s>, "
"in_output_buffer_length = %u\n",
fsp->fsp_name->base_name, lp_dont_descend(talloc_tos(), SNUM(conn)),
(unsigned int)in_output_buffer_length ));
return tevent_req_post(req, ev);
}
-static NTSTATUS smbd_smb2_find_recv(struct tevent_req *req,
+static NTSTATUS smbd_smb2_query_directory_recv(struct tevent_req *req,
TALLOC_CTX *mem_ctx,
DATA_BLOB *out_output_buffer)
{
NTSTATUS status;
- struct smbd_smb2_find_state *state = tevent_req_data(req,
- struct smbd_smb2_find_state);
+ struct smbd_smb2_query_directory_state *state = tevent_req_data(req,
+ struct smbd_smb2_query_directory_state);
if (tevent_req_is_nterror(req, &status)) {
tevent_req_received(req);