[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.45 and 1.46

version 1.45, 2004/02/19 21:15:04 version 1.46, 2004/06/21 17:36:31
Line 254 
Line 254 
 }  }
   
 static void  static void
 send_status(u_int32_t id, u_int32_t error)  send_status(u_int32_t id, u_int32_t status)
 {  {
         Buffer msg;          Buffer msg;
         const char *status_messages[] = {          const char *status_messages[] = {
Line 270 
Line 270 
                 "Unknown error"                 /* Others */                  "Unknown error"                 /* Others */
         };          };
   
         TRACE("sent status id %u error %u", id, error);          TRACE("sent status id %u error %u", id, status);
         buffer_init(&msg);          buffer_init(&msg);
         buffer_put_char(&msg, SSH2_FXP_STATUS);          buffer_put_char(&msg, SSH2_FXP_STATUS);
         buffer_put_int(&msg, id);          buffer_put_int(&msg, id);
         buffer_put_int(&msg, error);          buffer_put_int(&msg, status);
         if (version >= 3) {          if (version >= 3) {
                 buffer_put_cstring(&msg,                  buffer_put_cstring(&msg,
                     status_messages[MIN(error,SSH2_FX_MAX)]);                      status_messages[MIN(status,SSH2_FX_MAX)]);
                 buffer_put_cstring(&msg, "");                  buffer_put_cstring(&msg, "");
         }          }
         send_msg(&msg);          send_msg(&msg);
Line 843 
Line 843 
 {  {
         u_int32_t id;          u_int32_t id;
         int len;          int len;
         char link[MAXPATHLEN];          char buf[MAXPATHLEN];
         char *path;          char *path;
   
         id = get_int();          id = get_int();
         path = get_string(NULL);          path = get_string(NULL);
         TRACE("readlink id %u path %s", id, path);          TRACE("readlink id %u path %s", id, path);
         if ((len = readlink(path, link, sizeof(link) - 1)) == -1)          if ((len = readlink(path, buf, sizeof(buf) - 1)) == -1)
                 send_status(id, errno_to_portable(errno));                  send_status(id, errno_to_portable(errno));
         else {          else {
                 Stat s;                  Stat s;
   
                 link[len] = '\0';                  buf[len] = '\0';
                 attrib_clear(&s.attrib);                  attrib_clear(&s.attrib);
                 s.name = s.long_name = link;                  s.name = s.long_name = buf;
                 send_names(id, 1, &s);                  send_names(id, 1, &s);
         }          }
         xfree(path);          xfree(path);

Legend:
Removed from v.1.45  
changed lines
  Added in v.1.46