summaryrefslogtreecommitdiff
path: root/source3/smbd/trans2.c
diff options
context:
space:
mode:
Diffstat (limited to 'source3/smbd/trans2.c')
-rw-r--r--source3/smbd/trans2.c49
1 files changed, 11 insertions, 38 deletions
diff --git a/source3/smbd/trans2.c b/source3/smbd/trans2.c
index 7d25b09e1f..40394c3d8a 100644
--- a/source3/smbd/trans2.c
+++ b/source3/smbd/trans2.c
@@ -807,8 +807,7 @@ static int call_trans2open(connection_struct *conn, char *inbuf, char *outbuf, i
}
if (!check_name(fname,conn)) {
- return set_bad_path_error(errno, False, outbuf,
- ERRDOS, ERRnoaccess);
+ return UNIXERROR(ERRDOS, ERRnoaccess);
}
if (open_ofun == 0) {
@@ -1726,8 +1725,7 @@ close_if_end = %d requires_resume_key = %d level = 0x%x, max_data_bytes = %d\n",
return ERROR_NT(NT_STATUS_OBJECT_PATH_NOT_FOUND);
}
if(!check_name(directory,conn)) {
- return set_bad_path_error(errno, False, outbuf,
- ERRDOS,ERRbadpath);
+ return UNIXERROR(ERRDOS, ERRbadpath);
}
p = strrchr_m(directory,'/');
@@ -2704,21 +2702,6 @@ cap_low = 0x%x, cap_high = 0x%x\n",
return outsize;
}
-/****************************************************************************
- Utility function to set bad path error.
-****************************************************************************/
-
-int set_bad_path_error(int err, BOOL bad_path, char *outbuf, int def_class, uint32 def_code)
-{
- DEBUG(10,("set_bad_path_error: err = %d bad_path = %d\n",
- err, (int)bad_path ));
-
- if ((err == ENOENT) && bad_path) {
- return ERROR_NT(NT_STATUS_OBJECT_PATH_NOT_FOUND);
- }
- return UNIXERROR(def_class,def_code);
-}
-
#if defined(HAVE_POSIX_ACLS)
/****************************************************************************
Utility function to count the number of entries in a POSIX acl.
@@ -2908,14 +2891,11 @@ static int call_trans2qfilepathinfo(connection_struct *conn, char *inbuf, char *
/* Always do lstat for UNIX calls. */
if (SMB_VFS_LSTAT(conn,fname,&sbuf)) {
DEBUG(3,("call_trans2qfilepathinfo: SMB_VFS_LSTAT of %s failed (%s)\n",fname,strerror(errno)));
- return set_bad_path_error(
- errno, False, outbuf,
- ERRDOS,ERRbadpath);
+ return UNIXERROR(ERRDOS, ERRbadpath);
}
} else if (SMB_VFS_STAT(conn,fname,&sbuf)) {
DEBUG(3,("call_trans2qfilepathinfo: SMB_VFS_STAT of %s failed (%s)\n",fname,strerror(errno)));
- return set_bad_path_error(errno, False, outbuf,
- ERRDOS,ERRbadpath);
+ return UNIXERROR(ERRDOS, ERRbadpath);
}
delete_pending = get_delete_on_close_flag(sbuf.st_dev, sbuf.st_ino);
@@ -2959,21 +2939,18 @@ static int call_trans2qfilepathinfo(connection_struct *conn, char *inbuf, char *
}
if (!check_name(fname,conn)) {
DEBUG(3,("call_trans2qfilepathinfo: fileinfo of %s failed (%s)\n",fname,strerror(errno)));
- return set_bad_path_error(errno, False, outbuf,
- ERRDOS,ERRbadpath);
+ return UNIXERROR(ERRDOS, ERRbadpath);
}
if (INFO_LEVEL_IS_UNIX(info_level)) {
/* Always do lstat for UNIX calls. */
if (SMB_VFS_LSTAT(conn,fname,&sbuf)) {
DEBUG(3,("call_trans2qfilepathinfo: SMB_VFS_LSTAT of %s failed (%s)\n",fname,strerror(errno)));
- return set_bad_path_error(errno, False, outbuf,
- ERRDOS,ERRbadpath);
+ return UNIXERROR(ERRDOS, ERRbadpath);
}
} else if (!VALID_STAT(sbuf) && SMB_VFS_STAT(conn,fname,&sbuf) && (info_level != SMB_INFO_IS_NAME_VALID)) {
DEBUG(3,("call_trans2qfilepathinfo: SMB_VFS_STAT of %s failed (%s)\n",fname,strerror(errno)));
- return set_bad_path_error(errno, False, outbuf,
- ERRDOS,ERRbadpath);
+ return UNIXERROR(ERRDOS, ERRbadpath);
}
delete_pending = get_delete_on_close_flag(sbuf.st_dev, sbuf.st_ino);
@@ -3819,8 +3796,7 @@ static int call_trans2setfilepathinfo(connection_struct *conn, char *inbuf, char
pstrcpy(fname, fsp->fsp_name);
if (SMB_VFS_STAT(conn,fname,&sbuf) != 0) {
DEBUG(3,("call_trans2setfilepathinfo: fileinfo of %s failed (%s)\n",fname,strerror(errno)));
- return set_bad_path_error(errno, False, outbuf,
- ERRDOS,ERRbadpath);
+ return UNIXERROR(ERRDOS, ERRbadpath);
}
} else if (fsp && fsp->print_file) {
/*
@@ -3872,13 +3848,11 @@ static int call_trans2setfilepathinfo(connection_struct *conn, char *inbuf, char
if(!VALID_STAT(sbuf) && !INFO_LEVEL_IS_UNIX(info_level)) {
DEBUG(3,("call_trans2setfilepathinfo: stat of %s failed (%s)\n", fname, strerror(errno)));
- return set_bad_path_error(errno, False, outbuf,
- ERRDOS,ERRbadpath);
+ return UNIXERROR(ERRDOS, ERRbadpath);
}
if(!check_name(fname, conn)) {
- return set_bad_path_error(errno, False, outbuf,
- ERRDOS,ERRbadpath);
+ return UNIXERROR(ERRDOS, ERRbadpath);
}
}
@@ -4871,8 +4845,7 @@ static int call_trans2mkdir(connection_struct *conn, char *inbuf, char *outbuf,
if (!check_name(directory,conn)) {
DEBUG(5,("call_trans2mkdir error (%s)\n", strerror(errno)));
- return set_bad_path_error(errno, False, outbuf, ERRDOS,
- ERRnoaccess);
+ return UNIXERROR(ERRDOS, ERRnoaccess);
}
status = create_directory(conn, directory);