mirror of
https://github.com/samba-team/samba.git
synced 2025-01-11 05:18:09 +03:00
smbd: move check_fsp 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
0d21c676ae
commit
347c7af9e9
@ -912,8 +912,6 @@ bool disk_quotas(connection_struct *conn, struct smb_filename *fname,
|
||||
|
||||
/* The following definitions come from smbd/reply.c */
|
||||
|
||||
bool check_fsp(connection_struct *conn, struct smb_request *req,
|
||||
files_struct *fsp);
|
||||
bool check_fsp_ntquota_handle(connection_struct *conn, struct smb_request *req,
|
||||
files_struct *fsp);
|
||||
void reply_special(struct smbXsrv_connection *xconn, char *inbuf, size_t inbuf_size);
|
||||
@ -1036,6 +1034,8 @@ size_t srvstr_pull_req_talloc(TALLOC_CTX *ctx, struct smb_request *req,
|
||||
char **dest, const uint8_t *src, int flags);
|
||||
bool check_fsp_open(connection_struct *conn, struct smb_request *req,
|
||||
files_struct *fsp);
|
||||
bool check_fsp(connection_struct *conn, struct smb_request *req,
|
||||
files_struct *fsp);
|
||||
|
||||
/* The following definitions come from smbd/seal.c */
|
||||
|
||||
|
@ -53,28 +53,6 @@
|
||||
#include "source3/printing/rap_jobid.h"
|
||||
#include "source3/lib/substitute.h"
|
||||
|
||||
/****************************************************************************
|
||||
Check if we have a correct fsp pointing to a file.
|
||||
****************************************************************************/
|
||||
|
||||
bool check_fsp(connection_struct *conn, struct smb_request *req,
|
||||
files_struct *fsp)
|
||||
{
|
||||
if (!check_fsp_open(conn, req, fsp)) {
|
||||
return False;
|
||||
}
|
||||
if (fsp->fsp_flags.is_directory) {
|
||||
reply_nterror(req, NT_STATUS_INVALID_DEVICE_REQUEST);
|
||||
return False;
|
||||
}
|
||||
if (fsp_get_pathref_fd(fsp) == -1) {
|
||||
reply_nterror(req, NT_STATUS_ACCESS_DENIED);
|
||||
return False;
|
||||
}
|
||||
fsp->num_smb_operations++;
|
||||
return True;
|
||||
}
|
||||
|
||||
/****************************************************************************
|
||||
Check if we have a correct fsp pointing to a quota fake file. Replacement for
|
||||
the CHECK_NTQUOTA_HANDLE_OK macro.
|
||||
|
@ -408,3 +408,25 @@ bool check_fsp_open(connection_struct *conn, struct smb_request *req,
|
||||
}
|
||||
return True;
|
||||
}
|
||||
|
||||
/****************************************************************************
|
||||
Check if we have a correct fsp pointing to a file.
|
||||
****************************************************************************/
|
||||
|
||||
bool check_fsp(connection_struct *conn, struct smb_request *req,
|
||||
files_struct *fsp)
|
||||
{
|
||||
if (!check_fsp_open(conn, req, fsp)) {
|
||||
return False;
|
||||
}
|
||||
if (fsp->fsp_flags.is_directory) {
|
||||
reply_nterror(req, NT_STATUS_INVALID_DEVICE_REQUEST);
|
||||
return False;
|
||||
}
|
||||
if (fsp_get_pathref_fd(fsp) == -1) {
|
||||
reply_nterror(req, NT_STATUS_ACCESS_DENIED);
|
||||
return False;
|
||||
}
|
||||
fsp->num_smb_operations++;
|
||||
return True;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user