mirror of
https://github.com/samba-team/samba.git
synced 2024-12-24 21:34:56 +03:00
smbd: Move get_lock_offset to smb2_reply.c
Signed-off-by: David Mulder <dmulder@suse.com> Reviewed-by: Jeremy Allison <jra@samba.org>
This commit is contained in:
parent
fdf5727c1e
commit
a85436ac48
@ -961,8 +961,6 @@ uint64_t get_lock_pid(const uint8_t *data, int data_offset,
|
|||||||
bool large_file_format);
|
bool large_file_format);
|
||||||
uint64_t get_lock_count(const uint8_t *data, int data_offset,
|
uint64_t get_lock_count(const uint8_t *data, int data_offset,
|
||||||
bool large_file_format);
|
bool large_file_format);
|
||||||
uint64_t get_lock_offset(const uint8_t *data, int data_offset,
|
|
||||||
bool large_file_format);
|
|
||||||
void reply_lockingX(struct smb_request *req);
|
void reply_lockingX(struct smb_request *req);
|
||||||
void reply_readbmpx(struct smb_request *req);
|
void reply_readbmpx(struct smb_request *req);
|
||||||
void reply_readbs(struct smb_request *req);
|
void reply_readbs(struct smb_request *req);
|
||||||
@ -1036,6 +1034,8 @@ NTSTATUS copy_file(TALLOC_CTX *ctx,
|
|||||||
int ofun,
|
int ofun,
|
||||||
int count,
|
int count,
|
||||||
bool target_is_directory);
|
bool target_is_directory);
|
||||||
|
uint64_t get_lock_offset(const uint8_t *data, int data_offset,
|
||||||
|
bool large_file_format);
|
||||||
|
|
||||||
/* The following definitions come from smbd/seal.c */
|
/* The following definitions come from smbd/seal.c */
|
||||||
|
|
||||||
|
@ -6127,28 +6127,6 @@ uint64_t get_lock_count(const uint8_t *data, int data_offset,
|
|||||||
return count;
|
return count;
|
||||||
}
|
}
|
||||||
|
|
||||||
/****************************************************************************
|
|
||||||
Get a lock offset, dealing with large offset requests.
|
|
||||||
****************************************************************************/
|
|
||||||
|
|
||||||
uint64_t get_lock_offset(const uint8_t *data, int data_offset,
|
|
||||||
bool large_file_format)
|
|
||||||
{
|
|
||||||
uint64_t offset = 0;
|
|
||||||
|
|
||||||
if(!large_file_format) {
|
|
||||||
offset = (uint64_t)IVAL(data,SMB_LKOFF_OFFSET(data_offset));
|
|
||||||
} else {
|
|
||||||
/*
|
|
||||||
* No BVAL, this is reversed!
|
|
||||||
*/
|
|
||||||
offset = (((uint64_t) IVAL(data,SMB_LARGE_LKOFF_OFFSET_HIGH(data_offset))) << 32) |
|
|
||||||
((uint64_t) IVAL(data,SMB_LARGE_LKOFF_OFFSET_LOW(data_offset)));
|
|
||||||
}
|
|
||||||
|
|
||||||
return offset;
|
|
||||||
}
|
|
||||||
|
|
||||||
struct smbd_do_unlocking_state {
|
struct smbd_do_unlocking_state {
|
||||||
struct files_struct *fsp;
|
struct files_struct *fsp;
|
||||||
uint16_t num_ulocks;
|
uint16_t num_ulocks;
|
||||||
|
@ -2010,3 +2010,25 @@ NTSTATUS copy_file(TALLOC_CTX *ctx,
|
|||||||
TALLOC_FREE(smb_fname_dst_tmp);
|
TALLOC_FREE(smb_fname_dst_tmp);
|
||||||
return status;
|
return status;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/****************************************************************************
|
||||||
|
Get a lock offset, dealing with large offset requests.
|
||||||
|
****************************************************************************/
|
||||||
|
|
||||||
|
uint64_t get_lock_offset(const uint8_t *data, int data_offset,
|
||||||
|
bool large_file_format)
|
||||||
|
{
|
||||||
|
uint64_t offset = 0;
|
||||||
|
|
||||||
|
if(!large_file_format) {
|
||||||
|
offset = (uint64_t)IVAL(data,SMB_LKOFF_OFFSET(data_offset));
|
||||||
|
} else {
|
||||||
|
/*
|
||||||
|
* No BVAL, this is reversed!
|
||||||
|
*/
|
||||||
|
offset = (((uint64_t) IVAL(data,SMB_LARGE_LKOFF_OFFSET_HIGH(data_offset))) << 32) |
|
||||||
|
((uint64_t) IVAL(data,SMB_LARGE_LKOFF_OFFSET_LOW(data_offset)));
|
||||||
|
}
|
||||||
|
|
||||||
|
return offset;
|
||||||
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user