summaryrefslogtreecommitdiff
path: root/loginrec.c
diff options
context:
space:
mode:
authorDamien Miller <djm@mindrot.org>2003-04-09 20:59:48 +1000
committerDamien Miller <djm@mindrot.org>2003-04-09 20:59:48 +1000
commit996acd2476d9d34b18bb4f99012ea0927458f418 (patch)
tree1420f273ae5395fc0adc9aa25dcd44fe821884a6 /loginrec.c
parent5f16a5ee4e35d36e72f8f72fb2334087cb2ea680 (diff)
*** empty log message ***
Diffstat (limited to 'loginrec.c')
-rw-r--r--loginrec.c66
1 files changed, 33 insertions, 33 deletions
diff --git a/loginrec.c b/loginrec.c
index db2528a79..38e1d8e82 100644
--- a/loginrec.c
+++ b/loginrec.c
@@ -163,7 +163,7 @@
163#include "log.h" 163#include "log.h"
164#include "atomicio.h" 164#include "atomicio.h"
165 165
166RCSID("$Id: loginrec.c,v 1.48 2003/04/09 09:40:34 djm Exp $"); 166RCSID("$Id: loginrec.c,v 1.49 2003/04/09 10:59:49 djm Exp $");
167 167
168#ifdef HAVE_UTIL_H 168#ifdef HAVE_UTIL_H
169# include <util.h> 169# include <util.h>
@@ -413,7 +413,7 @@ login_write (struct logininfo *li)
413{ 413{
414#ifndef HAVE_CYGWIN 414#ifndef HAVE_CYGWIN
415 if ((int)geteuid() != 0) { 415 if ((int)geteuid() != 0) {
416 log("Attempt to write login records by non-root user (aborting)"); 416 logit("Attempt to write login records by non-root user (aborting)");
417 return 1; 417 return 1;
418 } 418 }
419#endif 419#endif
@@ -818,7 +818,7 @@ utmp_write_direct(struct logininfo *li, struct utmp *ut)
818 endttyent(); 818 endttyent();
819 819
820 if((struct ttyent *)0 == ty) { 820 if((struct ttyent *)0 == ty) {
821 log("utmp_write_entry: tty not found"); 821 logit("utmp_write_entry: tty not found");
822 return(1); 822 return(1);
823 } 823 }
824#else /* FIXME */ 824#else /* FIXME */
@@ -843,7 +843,7 @@ utmp_write_direct(struct logininfo *li, struct utmp *ut)
843 843
844 (void)lseek(fd, (off_t)(tty * sizeof(struct utmp)), SEEK_SET); 844 (void)lseek(fd, (off_t)(tty * sizeof(struct utmp)), SEEK_SET);
845 if (atomicio(write, fd, ut, sizeof(*ut)) != sizeof(*ut)) 845 if (atomicio(write, fd, ut, sizeof(*ut)) != sizeof(*ut))
846 log("utmp_write_direct: error writing %s: %s", 846 logit("utmp_write_direct: error writing %s: %s",
847 UTMP_FILE, strerror(errno)); 847 UTMP_FILE, strerror(errno));
848 848
849 (void)close(fd); 849 (void)close(fd);
@@ -862,12 +862,12 @@ utmp_perform_login(struct logininfo *li)
862 construct_utmp(li, &ut); 862 construct_utmp(li, &ut);
863# ifdef UTMP_USE_LIBRARY 863# ifdef UTMP_USE_LIBRARY
864 if (!utmp_write_library(li, &ut)) { 864 if (!utmp_write_library(li, &ut)) {
865 log("utmp_perform_login: utmp_write_library() failed"); 865 logit("utmp_perform_login: utmp_write_library() failed");
866 return 0; 866 return 0;
867 } 867 }
868# else 868# else
869 if (!utmp_write_direct(li, &ut)) { 869 if (!utmp_write_direct(li, &ut)) {
870 log("utmp_perform_login: utmp_write_direct() failed"); 870 logit("utmp_perform_login: utmp_write_direct() failed");
871 return 0; 871 return 0;
872 } 872 }
873# endif 873# endif
@@ -883,12 +883,12 @@ utmp_perform_logout(struct logininfo *li)
883 construct_utmp(li, &ut); 883 construct_utmp(li, &ut);
884# ifdef UTMP_USE_LIBRARY 884# ifdef UTMP_USE_LIBRARY
885 if (!utmp_write_library(li, &ut)) { 885 if (!utmp_write_library(li, &ut)) {
886 log("utmp_perform_logout: utmp_write_library() failed"); 886 logit("utmp_perform_logout: utmp_write_library() failed");
887 return 0; 887 return 0;
888 } 888 }
889# else 889# else
890 if (!utmp_write_direct(li, &ut)) { 890 if (!utmp_write_direct(li, &ut)) {
891 log("utmp_perform_logout: utmp_write_direct() failed"); 891 logit("utmp_perform_logout: utmp_write_direct() failed");
892 return 0; 892 return 0;
893 } 893 }
894# endif 894# endif
@@ -907,7 +907,7 @@ utmp_write_entry(struct logininfo *li)
907 return utmp_perform_logout(li); 907 return utmp_perform_logout(li);
908 908
909 default: 909 default:
910 log("utmp_write_entry: invalid type field"); 910 logit("utmp_write_entry: invalid type field");
911 return 0; 911 return 0;
912 } 912 }
913} 913}
@@ -948,7 +948,7 @@ utmpx_write_library(struct logininfo *li, struct utmpx *utx)
948static int 948static int
949utmpx_write_direct(struct logininfo *li, struct utmpx *utx) 949utmpx_write_direct(struct logininfo *li, struct utmpx *utx)
950{ 950{
951 log("utmpx_write_direct: not implemented!"); 951 logit("utmpx_write_direct: not implemented!");
952 return 0; 952 return 0;
953} 953}
954# endif /* UTMPX_USE_LIBRARY */ 954# endif /* UTMPX_USE_LIBRARY */
@@ -961,12 +961,12 @@ utmpx_perform_login(struct logininfo *li)
961 construct_utmpx(li, &utx); 961 construct_utmpx(li, &utx);
962# ifdef UTMPX_USE_LIBRARY 962# ifdef UTMPX_USE_LIBRARY
963 if (!utmpx_write_library(li, &utx)) { 963 if (!utmpx_write_library(li, &utx)) {
964 log("utmpx_perform_login: utmp_write_library() failed"); 964 logit("utmpx_perform_login: utmp_write_library() failed");
965 return 0; 965 return 0;
966 } 966 }
967# else 967# else
968 if (!utmpx_write_direct(li, &ut)) { 968 if (!utmpx_write_direct(li, &ut)) {
969 log("utmpx_perform_login: utmp_write_direct() failed"); 969 logit("utmpx_perform_login: utmp_write_direct() failed");
970 return 0; 970 return 0;
971 } 971 }
972# endif 972# endif
@@ -1004,7 +1004,7 @@ utmpx_write_entry(struct logininfo *li)
1004 case LTYPE_LOGOUT: 1004 case LTYPE_LOGOUT:
1005 return utmpx_perform_logout(li); 1005 return utmpx_perform_logout(li);
1006 default: 1006 default:
1007 log("utmpx_write_entry: invalid type field"); 1007 logit("utmpx_write_entry: invalid type field");
1008 return 0; 1008 return 0;
1009 } 1009 }
1010} 1010}
@@ -1026,14 +1026,14 @@ wtmp_write(struct logininfo *li, struct utmp *ut)
1026 int fd, ret = 1; 1026 int fd, ret = 1;
1027 1027
1028 if ((fd = open(WTMP_FILE, O_WRONLY|O_APPEND, 0)) < 0) { 1028 if ((fd = open(WTMP_FILE, O_WRONLY|O_APPEND, 0)) < 0) {
1029 log("wtmp_write: problem writing %s: %s", 1029 logit("wtmp_write: problem writing %s: %s",
1030 WTMP_FILE, strerror(errno)); 1030 WTMP_FILE, strerror(errno));
1031 return 0; 1031 return 0;
1032 } 1032 }
1033 if (fstat(fd, &buf) == 0) 1033 if (fstat(fd, &buf) == 0)
1034 if (atomicio(write, fd, ut, sizeof(*ut)) != sizeof(*ut)) { 1034 if (atomicio(write, fd, ut, sizeof(*ut)) != sizeof(*ut)) {
1035 ftruncate(fd, buf.st_size); 1035 ftruncate(fd, buf.st_size);
1036 log("wtmp_write: problem writing %s: %s", 1036 logit("wtmp_write: problem writing %s: %s",
1037 WTMP_FILE, strerror(errno)); 1037 WTMP_FILE, strerror(errno));
1038 ret = 0; 1038 ret = 0;
1039 } 1039 }
@@ -1070,7 +1070,7 @@ wtmp_write_entry(struct logininfo *li)
1070 case LTYPE_LOGOUT: 1070 case LTYPE_LOGOUT:
1071 return wtmp_perform_logout(li); 1071 return wtmp_perform_logout(li);
1072 default: 1072 default:
1073 log("wtmp_write_entry: invalid type field"); 1073 logit("wtmp_write_entry: invalid type field");
1074 return 0; 1074 return 0;
1075 } 1075 }
1076} 1076}
@@ -1119,12 +1119,12 @@ wtmp_get_entry(struct logininfo *li)
1119 li->tv_sec = li->tv_usec = 0; 1119 li->tv_sec = li->tv_usec = 0;
1120 1120
1121 if ((fd = open(WTMP_FILE, O_RDONLY)) < 0) { 1121 if ((fd = open(WTMP_FILE, O_RDONLY)) < 0) {
1122 log("wtmp_get_entry: problem opening %s: %s", 1122 logit("wtmp_get_entry: problem opening %s: %s",
1123 WTMP_FILE, strerror(errno)); 1123 WTMP_FILE, strerror(errno));
1124 return 0; 1124 return 0;
1125 } 1125 }
1126 if (fstat(fd, &st) != 0) { 1126 if (fstat(fd, &st) != 0) {
1127 log("wtmp_get_entry: couldn't stat %s: %s", 1127 logit("wtmp_get_entry: couldn't stat %s: %s",
1128 WTMP_FILE, strerror(errno)); 1128 WTMP_FILE, strerror(errno));
1129 close(fd); 1129 close(fd);
1130 return 0; 1130 return 0;
@@ -1139,7 +1139,7 @@ wtmp_get_entry(struct logininfo *li)
1139 1139
1140 while (!found) { 1140 while (!found) {
1141 if (atomicio(read, fd, &ut, sizeof(ut)) != sizeof(ut)) { 1141 if (atomicio(read, fd, &ut, sizeof(ut)) != sizeof(ut)) {
1142 log("wtmp_get_entry: read of %s failed: %s", 1142 logit("wtmp_get_entry: read of %s failed: %s",
1143 WTMP_FILE, strerror(errno)); 1143 WTMP_FILE, strerror(errno));
1144 close (fd); 1144 close (fd);
1145 return 0; 1145 return 0;
@@ -1192,7 +1192,7 @@ wtmpx_write(struct logininfo *li, struct utmpx *utx)
1192 int fd, ret = 1; 1192 int fd, ret = 1;
1193 1193
1194 if ((fd = open(WTMPX_FILE, O_WRONLY|O_APPEND, 0)) < 0) { 1194 if ((fd = open(WTMPX_FILE, O_WRONLY|O_APPEND, 0)) < 0) {
1195 log("wtmpx_write: problem opening %s: %s", 1195 logit("wtmpx_write: problem opening %s: %s",
1196 WTMPX_FILE, strerror(errno)); 1196 WTMPX_FILE, strerror(errno));
1197 return 0; 1197 return 0;
1198 } 1198 }
@@ -1200,7 +1200,7 @@ wtmpx_write(struct logininfo *li, struct utmpx *utx)
1200 if (fstat(fd, &buf) == 0) 1200 if (fstat(fd, &buf) == 0)
1201 if (atomicio(write, fd, utx, sizeof(*utx)) != sizeof(*utx)) { 1201 if (atomicio(write, fd, utx, sizeof(*utx)) != sizeof(*utx)) {
1202 ftruncate(fd, buf.st_size); 1202 ftruncate(fd, buf.st_size);
1203 log("wtmpx_write: problem writing %s: %s", 1203 logit("wtmpx_write: problem writing %s: %s",
1204 WTMPX_FILE, strerror(errno)); 1204 WTMPX_FILE, strerror(errno));
1205 ret = 0; 1205 ret = 0;
1206 } 1206 }
@@ -1239,7 +1239,7 @@ wtmpx_write_entry(struct logininfo *li)
1239 case LTYPE_LOGOUT: 1239 case LTYPE_LOGOUT:
1240 return wtmpx_perform_logout(li); 1240 return wtmpx_perform_logout(li);
1241 default: 1241 default:
1242 log("wtmpx_write_entry: invalid type field"); 1242 logit("wtmpx_write_entry: invalid type field");
1243 return 0; 1243 return 0;
1244 } 1244 }
1245} 1245}
@@ -1275,12 +1275,12 @@ wtmpx_get_entry(struct logininfo *li)
1275 li->tv_sec = li->tv_usec = 0; 1275 li->tv_sec = li->tv_usec = 0;
1276 1276
1277 if ((fd = open(WTMPX_FILE, O_RDONLY)) < 0) { 1277 if ((fd = open(WTMPX_FILE, O_RDONLY)) < 0) {
1278 log("wtmpx_get_entry: problem opening %s: %s", 1278 logit("wtmpx_get_entry: problem opening %s: %s",
1279 WTMPX_FILE, strerror(errno)); 1279 WTMPX_FILE, strerror(errno));
1280 return 0; 1280 return 0;
1281 } 1281 }
1282 if (fstat(fd, &st) != 0) { 1282 if (fstat(fd, &st) != 0) {
1283 log("wtmpx_get_entry: couldn't stat %s: %s", 1283 logit("wtmpx_get_entry: couldn't stat %s: %s",
1284 WTMPX_FILE, strerror(errno)); 1284 WTMPX_FILE, strerror(errno));
1285 close(fd); 1285 close(fd);
1286 return 0; 1286 return 0;
@@ -1295,7 +1295,7 @@ wtmpx_get_entry(struct logininfo *li)
1295 1295
1296 while (!found) { 1296 while (!found) {
1297 if (atomicio(read, fd, &utx, sizeof(utx)) != sizeof(utx)) { 1297 if (atomicio(read, fd, &utx, sizeof(utx)) != sizeof(utx)) {
1298 log("wtmpx_get_entry: read of %s failed: %s", 1298 logit("wtmpx_get_entry: read of %s failed: %s",
1299 WTMPX_FILE, strerror(errno)); 1299 WTMPX_FILE, strerror(errno));
1300 close (fd); 1300 close (fd);
1301 return 0; 1301 return 0;
@@ -1340,7 +1340,7 @@ syslogin_perform_login(struct logininfo *li)
1340 struct utmp *ut; 1340 struct utmp *ut;
1341 1341
1342 if (! (ut = (struct utmp *)malloc(sizeof(*ut)))) { 1342 if (! (ut = (struct utmp *)malloc(sizeof(*ut)))) {
1343 log("syslogin_perform_login: couldn't malloc()"); 1343 logit("syslogin_perform_login: couldn't malloc()");
1344 return 0; 1344 return 0;
1345 } 1345 }
1346 construct_utmp(li, ut); 1346 construct_utmp(li, ut);
@@ -1359,7 +1359,7 @@ syslogin_perform_logout(struct logininfo *li)
1359 (void)line_stripname(line, li->line, sizeof(line)); 1359 (void)line_stripname(line, li->line, sizeof(line));
1360 1360
1361 if (!logout(line)) { 1361 if (!logout(line)) {
1362 log("syslogin_perform_logout: logout() returned an error"); 1362 logit("syslogin_perform_logout: logout() returned an error");
1363# ifdef HAVE_LOGWTMP 1363# ifdef HAVE_LOGWTMP
1364 } else { 1364 } else {
1365 logwtmp(line, "", ""); 1365 logwtmp(line, "", "");
@@ -1382,7 +1382,7 @@ syslogin_write_entry(struct logininfo *li)
1382 case LTYPE_LOGOUT: 1382 case LTYPE_LOGOUT:
1383 return syslogin_perform_logout(li); 1383 return syslogin_perform_logout(li);
1384 default: 1384 default:
1385 log("syslogin_write_entry: Invalid type field"); 1385 logit("syslogin_write_entry: Invalid type field");
1386 return 0; 1386 return 0;
1387 } 1387 }
1388} 1388}
@@ -1417,7 +1417,7 @@ lastlog_filetype(char *filename)
1417 struct stat st; 1417 struct stat st;
1418 1418
1419 if (stat(LASTLOG_FILE, &st) != 0) { 1419 if (stat(LASTLOG_FILE, &st) != 0) {
1420 log("lastlog_perform_login: Couldn't stat %s: %s", LASTLOG_FILE, 1420 logit("lastlog_perform_login: Couldn't stat %s: %s", LASTLOG_FILE,
1421 strerror(errno)); 1421 strerror(errno));
1422 return 0; 1422 return 0;
1423 } 1423 }
@@ -1448,7 +1448,7 @@ lastlog_openseek(struct logininfo *li, int *fd, int filemode)
1448 LASTLOG_FILE, li->username); 1448 LASTLOG_FILE, li->username);
1449 break; 1449 break;
1450 default: 1450 default:
1451 log("lastlog_openseek: %.100s is not a file or directory!", 1451 logit("lastlog_openseek: %.100s is not a file or directory!",
1452 LASTLOG_FILE); 1452 LASTLOG_FILE);
1453 return 0; 1453 return 0;
1454 } 1454 }
@@ -1465,7 +1465,7 @@ lastlog_openseek(struct logininfo *li, int *fd, int filemode)
1465 offset = (off_t) ((long)li->uid * sizeof(struct lastlog)); 1465 offset = (off_t) ((long)li->uid * sizeof(struct lastlog));
1466 1466
1467 if ( lseek(*fd, offset, SEEK_SET) != offset ) { 1467 if ( lseek(*fd, offset, SEEK_SET) != offset ) {
1468 log("lastlog_openseek: %s->lseek(): %s", 1468 logit("lastlog_openseek: %s->lseek(): %s",
1469 lastlog_file, strerror(errno)); 1469 lastlog_file, strerror(errno));
1470 return 0; 1470 return 0;
1471 } 1471 }
@@ -1489,7 +1489,7 @@ lastlog_perform_login(struct logininfo *li)
1489 /* write the entry */ 1489 /* write the entry */
1490 if (atomicio(write, fd, &last, sizeof(last)) != sizeof(last)) { 1490 if (atomicio(write, fd, &last, sizeof(last)) != sizeof(last)) {
1491 close(fd); 1491 close(fd);
1492 log("lastlog_write_filemode: Error writing to %s: %s", 1492 logit("lastlog_write_filemode: Error writing to %s: %s",
1493 LASTLOG_FILE, strerror(errno)); 1493 LASTLOG_FILE, strerror(errno));
1494 return 0; 1494 return 0;
1495 } 1495 }
@@ -1505,7 +1505,7 @@ lastlog_write_entry(struct logininfo *li)
1505 case LTYPE_LOGIN: 1505 case LTYPE_LOGIN:
1506 return lastlog_perform_login(li); 1506 return lastlog_perform_login(li);
1507 default: 1507 default:
1508 log("lastlog_write_entry: Invalid type field"); 1508 logit("lastlog_write_entry: Invalid type field");
1509 return 0; 1509 return 0;
1510 } 1510 }
1511} 1511}