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

Diff for /src/usr.bin/ssh/sftp-client.c between version 1.42 and 1.42.2.2

version 1.42, 2003/03/05 22:33:43 version 1.42.2.2, 2004/03/04 18:18:16
Line 1 
Line 1 
 /*  /*
  * Copyright (c) 2001-2003 Damien Miller.  All rights reserved.   * Copyright (c) 2001-2004 Damien Miller <djm@openbsd.org>
  *   *
  * 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.  
  */   */
   
 /* XXX: memleaks */  /* XXX: memleaks */
Line 71 
Line 63 
   
         /* Send length first */          /* Send length first */
         PUT_32BIT(mlen, buffer_len(m));          PUT_32BIT(mlen, buffer_len(m));
         if (atomicio(write, fd, mlen, sizeof(mlen)) <= 0)          if (atomicio(vwrite, fd, mlen, sizeof(mlen)) <= 0)
                 fatal("Couldn't send packet: %s", strerror(errno));                  fatal("Couldn't send packet: %s", strerror(errno));
   
         if (atomicio(write, fd, buffer_ptr(m), buffer_len(m)) <= 0)          if (atomicio(vwrite, fd, buffer_ptr(m), buffer_len(m)) <= 0)
                 fatal("Couldn't send packet: %s", strerror(errno));                  fatal("Couldn't send packet: %s", strerror(errno));
   
         buffer_clear(m);          buffer_clear(m);
Line 507 
Line 499 
                 if (quiet)                  if (quiet)
                         debug("Server version does not support lstat operation");                          debug("Server version does not support lstat operation");
                 else                  else
                         log("Server version does not support lstat operation");                          logit("Server version does not support lstat operation");
                 return(do_stat(conn, path, quiet));                  return(do_stat(conn, path, quiet));
         }          }
   
Line 798 
Line 790 
                 return(-1);                  return(-1);
         }          }
   
         local_fd = open(local_path, O_WRONLY | O_CREAT | O_TRUNC,          local_fd = open(local_path, O_WRONLY | O_CREAT | O_TRUNC,
             mode | S_IWRITE);              mode | S_IWRITE);
         if (local_fd == -1) {          if (local_fd == -1) {
                 error("Couldn't open local file \"%s\" for writing: %s",                  error("Couldn't open local file \"%s\" for writing: %s",
Line 875 
Line 867 
                                 fatal("Received more data than asked for "                                  fatal("Received more data than asked for "
                                     "%u > %u", len, req->len);                                      "%u > %u", len, req->len);
                         if ((lseek(local_fd, req->offset, SEEK_SET) == -1 ||                          if ((lseek(local_fd, req->offset, SEEK_SET) == -1 ||
                             atomicio(write, local_fd, data, len) != len) &&                              atomicio(vwrite, local_fd, data, len) != len) &&
                             !write_error) {                              !write_error) {
                                 write_errno = errno;                                  write_errno = errno;
                                 write_error = 1;                                  write_error = 1;

Legend:
Removed from v.1.42  
changed lines
  Added in v.1.42.2.2