[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.93 and 1.94

version 1.93, 2010/09/22 22:58:51 version 1.94, 2010/12/04 00:18:01
Line 68 
Line 68 
 #define SFTP_EXT_POSIX_RENAME   0x00000001  #define SFTP_EXT_POSIX_RENAME   0x00000001
 #define SFTP_EXT_STATVFS        0x00000002  #define SFTP_EXT_STATVFS        0x00000002
 #define SFTP_EXT_FSTATVFS       0x00000004  #define SFTP_EXT_FSTATVFS       0x00000004
   #define SFTP_EXT_HARDLINK       0x00000008
         u_int exts;          u_int exts;
         u_int64_t limit_kbps;          u_int64_t limit_kbps;
         struct bwlimit bwlimit_in, bwlimit_out;          struct bwlimit bwlimit_in, bwlimit_out;
Line 371 
Line 372 
                     strcmp(value, "2") == 0) {                      strcmp(value, "2") == 0) {
                         ret->exts |= SFTP_EXT_STATVFS;                          ret->exts |= SFTP_EXT_STATVFS;
                         known = 1;                          known = 1;
                 } if (strcmp(name, "fstatvfs@openssh.com") == 0 &&                  } else if (strcmp(name, "fstatvfs@openssh.com") == 0 &&
                     strcmp(value, "2") == 0) {                      strcmp(value, "2") == 0) {
                         ret->exts |= SFTP_EXT_FSTATVFS;                          ret->exts |= SFTP_EXT_FSTATVFS;
                         known = 1;                          known = 1;
                   } else if (strcmp(name, "hardlink@openssh.com") == 0 &&
                       strcmp(value, "1") == 0) {
                           ret->exts |= SFTP_EXT_HARDLINK;
                           known = 1;
                 }                  }
                 if (known) {                  if (known) {
                         debug2("Server supports extension \"%s\" revision %s",                          debug2("Server supports extension \"%s\" revision %s",
Line 782 
Line 787 
         status = get_status(conn, id);          status = get_status(conn, id);
         if (status != SSH2_FX_OK)          if (status != SSH2_FX_OK)
                 error("Couldn't rename file \"%s\" to \"%s\": %s", oldpath,                  error("Couldn't rename file \"%s\" to \"%s\": %s", oldpath,
                       newpath, fx2txt(status));
   
           return(status);
   }
   
   int
   do_hardlink(struct sftp_conn *conn, char *oldpath, char *newpath)
   {
           Buffer msg;
           u_int status, id;
   
           buffer_init(&msg);
   
           /* Send link request */
           id = conn->msg_id++;
           if ((conn->exts & SFTP_EXT_HARDLINK) == 0) {
                   error("Server does not support hardlink@openssh.com extension");
                   return -1;
           }
   
           buffer_put_char(&msg, SSH2_FXP_EXTENDED);
           buffer_put_int(&msg, id);
           buffer_put_cstring(&msg, "hardlink@openssh.com");
           buffer_put_cstring(&msg, oldpath);
           buffer_put_cstring(&msg, newpath);
           send_msg(conn, &msg);
           debug3("Sent message hardlink@openssh.com \"%s\" -> \"%s\"",
                  oldpath, newpath);
           buffer_free(&msg);
   
           status = get_status(conn, id);
           if (status != SSH2_FX_OK)
                   error("Couldn't link file \"%s\" to \"%s\": %s", oldpath,
                     newpath, fx2txt(status));                      newpath, fx2txt(status));
   
         return(status);          return(status);

Legend:
Removed from v.1.93  
changed lines
  Added in v.1.94