[BACK]Return to sftp-server.c CVS log [TXT][DIR] Up to [local] / src / usr.bin / ssh

Diff for /src/usr.bin/ssh/sftp-server.c between version 1.47 and 1.47.4.2

version 1.47, 2004/06/25 05:38:48 version 1.47.4.2, 2006/02/03 02:53:45
Line 21 
Line 21 
 #include "getput.h"  #include "getput.h"
 #include "log.h"  #include "log.h"
 #include "xmalloc.h"  #include "xmalloc.h"
   #include "misc.h"
   
 #include "sftp.h"  #include "sftp.h"
 #include "sftp-common.h"  #include "sftp-common.h"
Line 128 
Line 129 
 static void  static void
 handle_init(void)  handle_init(void)
 {  {
         int i;          u_int i;
   
         for (i = 0; i < sizeof(handles)/sizeof(Handle); i++)          for (i = 0; i < sizeof(handles)/sizeof(Handle); i++)
                 handles[i].use = HANDLE_UNUSED;                  handles[i].use = HANDLE_UNUSED;
Line 137 
Line 138 
 static int  static int
 handle_new(int use, const char *name, int fd, DIR *dirp)  handle_new(int use, const char *name, int fd, DIR *dirp)
 {  {
         int i;          u_int i;
   
         for (i = 0; i < sizeof(handles)/sizeof(Handle); i++) {          for (i = 0; i < sizeof(handles)/sizeof(Handle); i++) {
                 if (handles[i].use == HANDLE_UNUSED) {                  if (handles[i].use == HANDLE_UNUSED) {
Line 154 
Line 155 
 static int  static int
 handle_is_ok(int i, int type)  handle_is_ok(int i, int type)
 {  {
         return i >= 0 && i < sizeof(handles)/sizeof(Handle) &&          return i >= 0 && (u_int)i < sizeof(handles)/sizeof(Handle) &&
             handles[i].use == type;              handles[i].use == type;
 }  }
   
Line 475 
Line 476 
                 } else {                  } else {
 /* XXX ATOMICIO ? */  /* XXX ATOMICIO ? */
                         ret = write(fd, data, len);                          ret = write(fd, data, len);
                         if (ret == -1) {                          if (ret < 0) {
                                 error("process_write: write failed");                                  error("process_write: write failed");
                                 status = errno_to_portable(errno);                                  status = errno_to_portable(errno);
                         } else if (ret == len) {                          } else if ((size_t)ret == len) {
                                 status = SSH2_FX_OK;                                  status = SSH2_FX_OK;
                         } else {                          } else {
                                 logit("nothing at all written");                                  logit("nothing at all written");
Line 925 
Line 926 
                 return;         /* Incomplete message. */                  return;         /* Incomplete message. */
         cp = buffer_ptr(&iqueue);          cp = buffer_ptr(&iqueue);
         msg_len = GET_32BIT(cp);          msg_len = GET_32BIT(cp);
         if (msg_len > 256 * 1024) {          if (msg_len > SFTP_MAX_MSG_LENGTH) {
                 error("bad message ");                  error("bad message ");
                 exit(11);                  exit(11);
         }          }
Line 1015 
Line 1016 
         fd_set *rset, *wset;          fd_set *rset, *wset;
         int in, out, max;          int in, out, max;
         ssize_t len, olen, set_size;          ssize_t len, olen, set_size;
   
           /* Ensure that fds 0, 1 and 2 are open or directed to /dev/null */
           sanitise_stdfd();
   
         /* XXX should use getopt */          /* XXX should use getopt */
   

Legend:
Removed from v.1.47  
changed lines
  Added in v.1.47.4.2