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

Diff for /src/usr.bin/ssh/auth2.c between version 1.89 and 1.89.2.1

version 1.89, 2002/03/19 14:27:39 version 1.89.2.1, 2002/05/18 04:12:10
Line 51 
Line 51 
 #include "canohost.h"  #include "canohost.h"
 #include "match.h"  #include "match.h"
 #include "monitor_wrap.h"  #include "monitor_wrap.h"
   #include "atomicio.h"
   
 /* import */  /* import */
 extern ServerOptions options;  extern ServerOptions options;
Line 261 
Line 262 
         }          }
 }  }
   
 static void  char *
 userauth_banner(void)  auth2_read_banner(void)
 {  {
         struct stat st;          struct stat st;
         char *banner = NULL;          char *banner = NULL;
         off_t len, n;          off_t len, n;
         int fd;          int fd;
   
         if (options.banner == NULL || (datafellows & SSH_BUG_BANNER))          if ((fd = open(options.banner, O_RDONLY)) == -1)
                 return;                  return (NULL);
         if ((fd = open(options.banner, O_RDONLY)) < 0)          if (fstat(fd, &st) == -1) {
                 return;                  close(fd);
         if (fstat(fd, &st) < 0)                  return (NULL);
                 goto done;          }
         len = st.st_size;          len = st.st_size;
         banner = xmalloc(len + 1);          banner = xmalloc(len + 1);
         if ((n = read(fd, banner, len)) < 0)          n = atomicio(read, fd, banner, len);
                 goto done;          close(fd);
   
           if (n != len) {
                   free(banner);
                   return (NULL);
           }
         banner[n] = '\0';          banner[n] = '\0';
   
           return (banner);
   }
   
   static void
   userauth_banner(void)
   {
           char *banner = NULL;
   
           if (options.banner == NULL || (datafellows & SSH_BUG_BANNER))
                   return;
   
           if ((banner = PRIVSEP(auth2_read_banner())) == NULL)
                   goto done;
   
         packet_start(SSH2_MSG_USERAUTH_BANNER);          packet_start(SSH2_MSG_USERAUTH_BANNER);
         packet_put_cstring(banner);          packet_put_cstring(banner);
         packet_put_cstring("");         /* language, unused */          packet_put_cstring("");         /* language, unused */
Line 288 
Line 309 
 done:  done:
         if (banner)          if (banner)
                 xfree(banner);                  xfree(banner);
         close(fd);  
         return;          return;
 }  }
   

Legend:
Removed from v.1.89  
changed lines
  Added in v.1.89.2.1