return True;
}
-/****************************************************************************
- Return the message queued by this mid.
-****************************************************************************/
-
-struct pending_message_list *get_deferred_open_message_smb(
- struct smbd_server_connection *sconn, uint64_t mid)
-{
- struct pending_message_list *pml;
-
- for (pml = sconn->deferred_open_queue; pml; pml = pml->next) {
- if (((uint64_t)SVAL(pml->buf.data,smb_mid)) == mid) {
- return pml;
- }
- }
- return NULL;
-}
-
-/****************************************************************************
- Get the state data queued by this mid.
-****************************************************************************/
-
-bool get_deferred_open_message_state(struct smb_request *smbreq,
- struct timeval *p_request_time,
- struct deferred_open_record **open_rec)
-{
- struct pending_message_list *pml;
-
- if (smbreq->sconn->using_smb2) {
- return get_deferred_open_message_state_smb2(smbreq->smb2req,
- p_request_time,
- open_rec);
- }
-
- pml = get_deferred_open_message_smb(smbreq->sconn, smbreq->mid);
- if (!pml) {
- return false;
- }
- if (p_request_time) {
- *p_request_time = pml->request_time;
- }
- if (open_rec != NULL) {
- *open_rec = pml->open_rec;
- }
- return true;
-}
-
/****************************************************************************
Function to push a deferred open smb message onto a linked list of local smb
messages ready for processing.
bool do_signing, uint32_t seqnum,
bool do_encrypt,
struct smb_perfcount_data *pcd);
-bool get_deferred_open_message_state(struct smb_request *smbreq,
- struct timeval *p_request_time,
- struct deferred_open_record **open_rec);
bool push_deferred_open_message_smb(struct smb_request *req,
struct timeval timeout,
struct file_id id,
uint8_t *inbuf, size_t nread, size_t unread_bytes,
uint32_t seqnum, bool encrypted,
struct smb_perfcount_data *deferred_pcd);
-struct pending_message_list *get_deferred_open_message_smb(
- struct smbd_server_connection *sconn, uint64_t mid);
/* The following definitions come from smbd/smb2_process.c */
bool schedule_deferred_open_message_smb(struct smbXsrv_connection *xconn,
uint64_t mid);
bool open_was_deferred(struct smbXsrv_connection *xconn, uint64_t mid);
+bool get_deferred_open_message_state(struct smb_request *smbreq,
+ struct timeval *p_request_time,
+ struct deferred_open_record **open_rec);
/* The following definitions come from smbd/quotas.c */
struct deferred_open_record *open_rec;
};
+static struct pending_message_list *get_deferred_open_message_smb(
+ struct smbd_server_connection *sconn, uint64_t mid);
+
#if !defined(WITH_SMB1SERVER)
static bool smb2_srv_send(struct smbXsrv_connection *xconn, char *buffer,
bool do_signing, uint32_t seqnum,
}
return False;
}
+
+/****************************************************************************
+ Return the message queued by this mid.
+****************************************************************************/
+
+static struct pending_message_list *get_deferred_open_message_smb(
+ struct smbd_server_connection *sconn, uint64_t mid)
+{
+ struct pending_message_list *pml;
+
+ for (pml = sconn->deferred_open_queue; pml; pml = pml->next) {
+ if (((uint64_t)SVAL(pml->buf.data,smb_mid)) == mid) {
+ return pml;
+ }
+ }
+ return NULL;
+}
+
+/****************************************************************************
+ Get the state data queued by this mid.
+****************************************************************************/
+
+bool get_deferred_open_message_state(struct smb_request *smbreq,
+ struct timeval *p_request_time,
+ struct deferred_open_record **open_rec)
+{
+ struct pending_message_list *pml;
+
+ if (smbreq->sconn->using_smb2) {
+ return get_deferred_open_message_state_smb2(smbreq->smb2req,
+ p_request_time,
+ open_rec);
+ }
+
+ pml = get_deferred_open_message_smb(smbreq->sconn, smbreq->mid);
+ if (!pml) {
+ return false;
+ }
+ if (p_request_time) {
+ *p_request_time = pml->request_time;
+ }
+ if (open_rec != NULL) {
+ *open_rec = pml->open_rec;
+ }
+ return true;
+}