Displaying 3 results from an estimated 3 matches for "handle_new".
2013 Oct 14
0
[PATCH-resend] Implement SSH2_FXF_APPEND
...XF_CREAT)
PAPPEND("CREATE")
if (pflags & SSH2_FXF_TRUNC)
@@ -179,6 +183,7 @@ struct Handle {
int use;
DIR *dirp;
int fd;
+ int flags;
char *name;
u_int64_t bytes_read, bytes_write;
int next_unused;
@@ -202,7 +207,7 @@ static void handle_unused(int i)
}
static int
-handle_new(int use, const char *name, int fd, DIR *dirp)
+handle_new(int use, const char *name, int fd, int flags, DIR *dirp)
{
int i;
@@ -220,6 +225,7 @@ handle_new(int use, const char *name, in
handles[i].use = use;
handles[i].dirp = dirp;
handles[i].fd = fd;
+ handles[i].flags = flags;
handles...
2007 Nov 11
1
ftp-server patch - restrict user to directory
...ortable(int unixerrno)
{
@@ -813,20 +948,24 @@
id = get_int();
path = get_string(NULL);
debug3("request %u: opendir", id);
- logit("opendir \"%s\"", path);
- dirp = opendir(path);
- if (dirp == NULL) {
- status = errno_to_portable(errno);
- } else {
- handle = handle_new(HANDLE_DIR, path, 0, dirp);
- if (handle < 0) {
- closedir(dirp);
+
+ if(allowed_access(path, "opendir")) { /* RestrictDirectory ? */
+ logit("opendir \"%s\"", path);
+ dirp = opendir(path);
+ if (dirp == NULL) {
+ status = errno_to_portable(errno);
} els...
2002 Mar 15
4
PATCH: sftp-server logging.
...lags, mode);
fd = open(name, flags, mode);
if (fd < 0) {
status = errno_to_portable(errno);
+ #ifdef SFTP_LOGGING
+ log("(%d/%d/%s) File/Dir open failed - %s: %s (%s,%04o)", ppid, cuid, CUNAME, status_to_logstr(status), name, sflags, mode);
+ #endif
} else {
handle = handle_new(HANDLE_FILE, xstrdup(name), fd, NULL);
if (handle < 0) {
close(fd);
+ #ifdef SFTP_LOGGING
+ log("(%d/%d/%s) File/Dir open failed - Could not allocate SFTP handle: %s (%s,%04o).", ppid, cuid, CUNAME, name, sflags, mode);
+ #endif
} else {
send_handle(id, handle);...