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

Diff for /src/usr.bin/ssh/sshlogin.c between version 1.9 and 1.10

version 1.9, 2004/07/03 05:11:33 version 1.10, 2004/07/17 05:31:41
Line 45 
Line 45 
 #include <utmp.h>  #include <utmp.h>
 #include "sshlogin.h"  #include "sshlogin.h"
 #include "log.h"  #include "log.h"
   #include "buffer.h"
   #include "servconf.h"
   
   extern Buffer loginmsg;
   extern ServerOptions options;
   
 /*  /*
  * Returns the time when the user last logged in.  Returns 0 if the   * Returns the time when the user last logged in.  Returns 0 if the
  * information is not available.  This must be called before record_login.   * information is not available.  This must be called before record_login.
Line 79 
Line 84 
 }  }
   
 /*  /*
    * Generate and store last login message.  This must be done before
    * login_login() is called and lastlog is updated.
    */
   void
   store_lastlog_message(const char *user, uid_t uid)
   {
           char *time_string, hostname[MAXHOSTNAMELEN] = "", buf[512];
           time_t last_login_time;
   
           if (!options.print_lastlog)
                   return;
   
           last_login_time = get_last_login_time(uid, user, hostname,
               sizeof(hostname));
   
           if (last_login_time != 0) {
                   time_string = ctime(&last_login_time);
                   if (strchr(time_string, '\n'))
                       *strchr(time_string, '\n') = '\0';
                   if (strcmp(hostname, "") == 0)
                           snprintf(buf, sizeof(buf), "Last login: %s\r\n",
                               time_string);
                   else
                           snprintf(buf, sizeof(buf), "Last login: %s from %s\r\n",
                               time_string, hostname);
                   buffer_append(&loginmsg, buf, strlen(buf));
           }
   }
   
   /*
  * Records that the user has logged in.  I wish these parts of operating   * Records that the user has logged in.  I wish these parts of operating
  * systems were more standardized.   * systems were more standardized.
  */   */
Line 90 
Line 125 
         struct lastlog ll;          struct lastlog ll;
         char *lastlog;          char *lastlog;
         struct utmp u;          struct utmp u;
   
           /* save previous login details before writing new */
           store_lastlog_message(user, uid);
   
         /* Construct an utmp/wtmp entry. */          /* Construct an utmp/wtmp entry. */
         memset(&u, 0, sizeof(u));          memset(&u, 0, sizeof(u));

Legend:
Removed from v.1.9  
changed lines
  Added in v.1.10