[Pkg-shadow-commits] r2715 - in upstream/trunk: libmisc src
Nicolas FRANÇOIS
nekral-guest at alioth.debian.org
Mon Apr 20 11:37:41 UTC 2009
Author: nekral-guest
Date: 2009-04-20 11:37:41 +0000 (Mon, 20 Apr 2009)
New Revision: 2715
Modified:
upstream/trunk/libmisc/failure.c
upstream/trunk/libmisc/failure.h
upstream/trunk/src/login.c
Log:
* libmisc/failure.h, libmisc/failure.c, src/login.c: Added
username as first parameter of failtmp to avoid issues with
non-null terminated ut_user, unavailability of ut_user, incomplete
username (that should not happen currently).
Modified: upstream/trunk/libmisc/failure.c
===================================================================
--- upstream/trunk/libmisc/failure.c 2009-04-20 11:31:05 UTC (rev 2714)
+++ upstream/trunk/libmisc/failure.c 2009-04-20 11:37:41 UTC (rev 2715)
@@ -288,7 +288,7 @@
* maintains a record of all login failures.
*/
-void failtmp (
+void failtmp (const char *username,
#ifdef HAVE_UTMPX_H
const struct utmpx *failent
#else
@@ -320,13 +320,9 @@
fd = open (ftmp, O_WRONLY | O_APPEND);
if (-1 == fd) {
- char ut_user[sizeof failent->ut_user];
- (void) strncpy (&ut_user[0], failent->ut_user, sizeof ut_user);
- ut_user[sizeof ut_user - 1] = '\0';
-
SYSLOG ((LOG_WARN,
"Can't append failure of user %s to %s.",
- ut_user, ftmp));
+ username, ftmp));
return;
}
@@ -336,13 +332,9 @@
if ( (write (fd, (const void *) failent, sizeof *failent) != (ssize_t) sizeof *failent)
|| (close (fd) != 0)) {
- char ut_user[sizeof failent->ut_user];
- (void) strncpy (&ut_user[0], failent->ut_user, sizeof ut_user);
- ut_user[sizeof ut_user - 1] = '\0';
-
SYSLOG ((LOG_WARN,
"Can't append failure of user %s to %s.",
- ut_user, ftmp));
+ username, ftmp));
(void) close (fd);
}
}
Modified: upstream/trunk/libmisc/failure.h
===================================================================
--- upstream/trunk/libmisc/failure.h 2009-04-20 11:31:05 UTC (rev 2714)
+++ upstream/trunk/libmisc/failure.h 2009-04-20 11:37:41 UTC (rev 2715)
@@ -2,7 +2,7 @@
* Copyright (c) 1990 - 1994, Julianne Frances Haugh
* Copyright (c) 1997 - 2000, Marek Michałkiewicz
* Copyright (c) 2005 , Tomasz Kłoczko
- * Copyright (c) 2008 , Nicolas François
+ * Copyright (c) 2008 - 2009, Nicolas François
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@@ -75,9 +75,9 @@
* maintains a record of all login failures.
*/
#ifdef HAVE_UTMPX_H
-extern void failtmp (const struct utmpx *);
+extern void failtmp (const char *username, const struct utmpx *);
#else
-extern void failtmp (const struct utmp *);
+extern void failtmp (const char *username, const struct utmp *);
#endif
#endif
Modified: upstream/trunk/src/login.c
===================================================================
--- upstream/trunk/src/login.c 2009-04-20 11:31:05 UTC (rev 2714)
+++ upstream/trunk/src/login.c 2009-04-20 11:37:41 UTC (rev 2715)
@@ -997,7 +997,7 @@
strncpy (failent.ut_user, failent_user,
sizeof (failent.ut_user));
failent.ut_type = USER_PROCESS;
- failtmp (&failent);
+ failtmp (failent_user, &failent);
}
retries--;
More information about the Pkg-shadow-commits
mailing list