svn commit: r231383 - in head: lib/libutil usr.sbin/vipw
Ed Schouten
ed at FreeBSD.org
Fri Feb 10 13:40:32 UTC 2012
Author: ed
Date: Fri Feb 10 13:40:32 2012
New Revision: 231383
URL: http://svn.freebsd.org/changeset/base/231383
Log:
Detect file modification properly by using tv_nsec.
POSIX 2008 standardizes st_mtim, meaning we can simply use nanosecond
precision to detect file modification.
MFC after: 2 weeks
Modified:
head/lib/libutil/pw_util.c
head/usr.sbin/vipw/vipw.8
Modified: head/lib/libutil/pw_util.c
==============================================================================
--- head/lib/libutil/pw_util.c Fri Feb 10 13:36:39 2012 (r231382)
+++ head/lib/libutil/pw_util.c Fri Feb 10 13:40:32 2012 (r231383)
@@ -347,7 +347,8 @@ pw_edit(int notsetuid)
sigprocmask(SIG_SETMASK, &oldsigset, NULL);
if (stat(tempname, &st2) == -1)
return (-1);
- return (st1.st_mtime != st2.st_mtime);
+ return (st1.st_mtim.tv_sec != st2.st_mtim.tv_sec ||
+ st1.st_mtim.tv_nsec != st2.st_mtim.tv_nsec);
}
/*
Modified: head/usr.sbin/vipw/vipw.8
==============================================================================
--- head/usr.sbin/vipw/vipw.8 Fri Feb 10 13:36:39 2012 (r231382)
+++ head/usr.sbin/vipw/vipw.8 Fri Feb 10 13:40:32 2012 (r231383)
@@ -28,7 +28,7 @@
.\" @(#)vipw.8 8.1 (Berkeley) 6/6/93
.\" $FreeBSD$
.\"
-.Dd June 6, 1993
+.Dd February 10, 2011
.Dt VIPW 8
.Os
.Sh NAME
@@ -110,10 +110,3 @@ The
.Nm
utility appeared in
.Bx 4.0 .
-.Sh BUGS
-The mechanism for checking for password file modifications requires that
-.Ev EDITOR
-run for at least one second.
-Non-interactive editor scripts should invoke
-.Xr sleep 1
-or equivalent to ensure this happens.
More information about the svn-src-head
mailing list