[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.41 and 1.41.2.2

version 1.41, 2003/03/26 04:02:51 version 1.41.2.2, 2004/03/04 18:18:16
Line 1 
Line 1 
 /*  /*
  * Copyright (c) 2000, 2001, 2002 Markus Friedl.  All rights reserved.   * Copyright (c) 2000-2004 Markus Friedl.  All rights reserved.
  *   *
  * Redistribution and use in source and binary forms, with or without   * Permission to use, copy, modify, and distribute this software for any
  * modification, are permitted provided that the following conditions   * purpose with or without fee is hereby granted, provided that the above
  * are met:   * copyright notice and this permission notice appear in all copies.
  * 1. Redistributions of source code must retain the above copyright  
  *    notice, this list of conditions and the following disclaimer.  
  * 2. Redistributions in binary form must reproduce the above copyright  
  *    notice, this list of conditions and the following disclaimer in the  
  *    documentation and/or other materials provided with the distribution.  
  *   *
  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR   * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
  * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES   * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
  * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.   * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
  * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,   * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
  * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT   * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
  * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,   * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY   * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT  
  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF  
  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  
  */   */
 #include "includes.h"  #include "includes.h"
 RCSID("$OpenBSD$");  RCSID("$OpenBSD$");
Line 46 
Line 38 
 /* Version of client */  /* Version of client */
 int version;  int version;
   
 /* portable attibutes, etc. */  /* portable attributes, etc. */
   
 typedef struct Stat Stat;  typedef struct Stat Stat;
   
Line 143 
Line 135 
 }  }
   
 static int  static int
 handle_new(int use, char *name, int fd, DIR *dirp)  handle_new(int use, const char *name, int fd, DIR *dirp)
 {  {
         int i;          int i;
   
Line 178 
Line 170 
 }  }
   
 static int  static int
 handle_from_string(char *handle, u_int hlen)  handle_from_string(const char *handle, u_int hlen)
 {  {
         int val;          int val;
   
Line 292 
Line 284 
         buffer_free(&msg);          buffer_free(&msg);
 }  }
 static void  static void
 send_data_or_handle(char type, u_int32_t id, char *data, int dlen)  send_data_or_handle(char type, u_int32_t id, const char *data, int dlen)
 {  {
         Buffer msg;          Buffer msg;
   
Line 305 
Line 297 
 }  }
   
 static void  static void
 send_data(u_int32_t id, char *data, int dlen)  send_data(u_int32_t id, const char *data, int dlen)
 {  {
         TRACE("sent data id %u len %d", id, dlen);          TRACE("sent data id %u len %d", id, dlen);
         send_data_or_handle(SSH2_FXP_DATA, id, data, dlen);          send_data_or_handle(SSH2_FXP_DATA, id, data, dlen);
Line 324 
Line 316 
 }  }
   
 static void  static void
 send_names(u_int32_t id, int count, Stat *stats)  send_names(u_int32_t id, int count, const Stat *stats)
 {  {
         Buffer msg;          Buffer msg;
         int i;          int i;
Line 344 
Line 336 
 }  }
   
 static void  static void
 send_attrib(u_int32_t id, Attrib *a)  send_attrib(u_int32_t id, const Attrib *a)
 {  {
         Buffer msg;          Buffer msg;
   
Line 436 
Line 428 
             (unsigned long long)off, len);              (unsigned long long)off, len);
         if (len > sizeof buf) {          if (len > sizeof buf) {
                 len = sizeof buf;                  len = sizeof buf;
                 log("read change len %d", len);                  logit("read change len %d", len);
         }          }
         fd = handle_to_fd(handle);          fd = handle_to_fd(handle);
         if (fd >= 0) {          if (fd >= 0) {
Line 489 
Line 481 
                         } else if (ret == len) {                          } else if (ret == len) {
                                 status = SSH2_FX_OK;                                  status = SSH2_FX_OK;
                         } else {                          } else {
                                 log("nothing at all written");                                  logit("nothing at all written");
                         }                          }
                 }                  }
         }          }
Line 561 
Line 553 
 }  }
   
 static struct timeval *  static struct timeval *
 attrib_to_tv(Attrib *a)  attrib_to_tv(const Attrib *a)
 {  {
         static struct timeval tv[2];          static struct timeval tv[2];
   

Legend:
Removed from v.1.41  
changed lines
  Added in v.1.41.2.2