]> andersk Git - openssh.git/blobdiff - loginrec.c
- (tim) [configure.ac] Move CHECK_HEADERS test before platform specific
[openssh.git] / loginrec.c
index 149619e47b913dc6a4af6fce7ffc9a667d67e179..e591277478203b0194613fdbdd4a6a5050d70e26 100644 (file)
 
 #include "includes.h"
 
-#include "ssh.h"
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <sys/socket.h>
+
+#include <netinet/in.h>
+
+#include <errno.h>
+#include <fcntl.h>
+#ifdef HAVE_PATHS_H
+# include <paths.h>
+#endif
+#include <pwd.h>
+#include <stdarg.h>
+#include <string.h>
+#include <unistd.h>
+
 #include "xmalloc.h"
+#include "key.h"
+#include "hostfile.h"
+#include "ssh.h"
 #include "loginrec.h"
 #include "log.h"
 #include "atomicio.h"
 # include <libutil.h>
 #endif
 
-RCSID("$Id$");
-
 /**
  ** prototypes for helper functions in this file
  **/
@@ -362,7 +378,7 @@ login_init_entry(struct logininfo *li, int pid, const char *username,
                strlcpy(li->username, username, sizeof(li->username));
                pw = getpwnam(li->username);
                if (pw == NULL) {
-                       fatal("%s: Cannot find user \"%s\"", __func__, 
+                       fatal("%s: Cannot find user \"%s\"", __func__,
                            li->username);
                }
                li->uid = pw->pw_uid;
@@ -374,7 +390,7 @@ login_init_entry(struct logininfo *li, int pid, const char *username,
        return (1);
 }
 
-/* 
+/*
  * login_set_current_time(struct logininfo *)    - set the current time
  *
  * Set the current time in a logininfo structure. This function is
@@ -443,8 +459,9 @@ login_write(struct logininfo *li)
        wtmpx_write_entry(li);
 #endif
 #ifdef CUSTOM_SYS_AUTH_RECORD_LOGIN
-       if (li->type == LTYPE_LOGIN && 
-          !sys_auth_record_login(li->username,li->hostname,li->line, &loginmsg))
+       if (li->type == LTYPE_LOGIN &&
+           !sys_auth_record_login(li->username,li->hostname,li->line,
+           &loginmsg))
                logit("Writing login record failed for %s", li->username);
 #endif
 #ifdef SSH_AUDIT_EVENTS
@@ -534,7 +551,7 @@ getlast_entry(struct logininfo *li)
  * sure dst has enough space, if not just copy src (ugh)
  */
 char *
-line_fullname(char *dst, const char *src, int dstsize)
+line_fullname(char *dst, const char *src, u_int dstsize)
 {
        memset(dst, '\0', dstsize);
        if ((strncmp(src, "/dev/", 5) == 0) || (dstsize < (strlen(src) + 5)))
@@ -558,7 +575,7 @@ line_stripname(char *dst, const char *src, int dstsize)
        return (dst);
 }
 
-/* 
+/*
  * line_abbrevname(): Return the abbreviated (usually four-character)
  * form of the line (Just use the last <dstsize> characters of the
  * full name.)
@@ -808,7 +825,7 @@ utmp_write_library(struct logininfo *li, struct utmp *ut)
 }
 # else /* UTMP_USE_LIBRARY */
 
-/* 
+/*
  * Write a utmp entry direct to the file
  * This is a slightly modification of code in OpenBSD's login.c
  */
@@ -852,7 +869,7 @@ utmp_write_direct(struct logininfo *li, struct utmp *ut)
                        return (0);
                }
                if (ret != pos) {
-                       logit("%s: Couldn't seek to tty %d slot in %s", 
+                       logit("%s: Couldn't seek to tty %d slot in %s",
                            __func__, tty, UTMP_FILE);
                        return (0);
                }
@@ -1052,7 +1069,7 @@ utmpx_write_entry(struct logininfo *li)
 
 #ifdef USE_WTMP
 
-/* 
+/*
  * Write a wtmp entry direct to the end of the file
  * This is a slight modification of code in OpenBSD's logwtmp.c
  */
@@ -1113,7 +1130,7 @@ wtmp_write_entry(struct logininfo *li)
 }
 
 
-/* 
+/*
  * Notes on fetching login data from wtmp/wtmpx
  *
  * Logouts are usually recorded with (amongst other things) a blank
@@ -1157,12 +1174,12 @@ wtmp_get_entry(struct logininfo *li)
        li->tv_sec = li->tv_usec = 0;
 
        if ((fd = open(WTMP_FILE, O_RDONLY)) < 0) {
-               logit("%s: problem opening %s: %s", __func__, 
+               logit("%s: problem opening %s: %s", __func__,
                    WTMP_FILE, strerror(errno));
                return (0);
        }
        if (fstat(fd, &st) != 0) {
-               logit("%s: couldn't stat %s: %s", __func__, 
+               logit("%s: couldn't stat %s: %s", __func__,
                    WTMP_FILE, strerror(errno));
                close(fd);
                return (0);
@@ -1177,7 +1194,7 @@ wtmp_get_entry(struct logininfo *li)
 
        while (!found) {
                if (atomicio(read, fd, &ut, sizeof(ut)) != sizeof(ut)) {
-                       logit("%s: read of %s failed: %s", __func__, 
+                       logit("%s: read of %s failed: %s", __func__,
                            WTMP_FILE, strerror(errno));
                        close (fd);
                        return (0);
@@ -1235,7 +1252,7 @@ wtmpx_write(struct logininfo *li, struct utmpx *utx)
        int fd, ret = 1;
 
        if ((fd = open(WTMPX_FILE, O_WRONLY|O_APPEND, 0)) < 0) {
-               logit("%s: problem opening %s: %s", __func__, 
+               logit("%s: problem opening %s: %s", __func__,
                    WTMPX_FILE, strerror(errno));
                return (0);
        }
@@ -1322,12 +1339,12 @@ wtmpx_get_entry(struct logininfo *li)
        li->tv_sec = li->tv_usec = 0;
 
        if ((fd = open(WTMPX_FILE, O_RDONLY)) < 0) {
-               logit("%s: problem opening %s: %s", __func__, 
+               logit("%s: problem opening %s: %s", __func__,
                    WTMPX_FILE, strerror(errno));
                return (0);
        }
        if (fstat(fd, &st) != 0) {
-               logit("%s: couldn't stat %s: %s", __func__, 
+               logit("%s: couldn't stat %s: %s", __func__,
                    WTMPX_FILE, strerror(errno));
                close(fd);
                return (0);
@@ -1342,13 +1359,13 @@ wtmpx_get_entry(struct logininfo *li)
 
        while (!found) {
                if (atomicio(read, fd, &utx, sizeof(utx)) != sizeof(utx)) {
-                       logit("%s: read of %s failed: %s", __func__, 
+                       logit("%s: read of %s failed: %s", __func__,
                            WTMPX_FILE, strerror(errno));
                        close (fd);
                        return (0);
                }
                /*
-                * Logouts are recorded as a blank username on a particular 
+                * Logouts are recorded as a blank username on a particular
                 * line. So, we just need to find the username in struct utmpx
                 */
                if (wtmpx_islogin(li, &utx)) {
@@ -1588,7 +1605,7 @@ lastlog_get_entry(struct logininfo *li)
                return (0);
        default:
                error("%s: Error reading from %s: Expecting %d, got %d",
-                   __func__, LASTLOG_FILE, sizeof(last), ret);
+                   __func__, LASTLOG_FILE, (int)sizeof(last), ret);
                return (0);
        }
 
@@ -1612,7 +1629,7 @@ record_failed_login(const char *username, const char *hostname,
        int fd;
        struct utmp ut;
        struct sockaddr_storage from;
-       size_t fromlen = sizeof(from);
+       socklen_t fromlen = sizeof(from);
        struct sockaddr_in *a4;
        struct sockaddr_in6 *a6;
        time_t t;
This page took 0.082454 seconds and 4 git commands to generate.