diff options
Diffstat (limited to 'user/physlock/utmps.patch')
-rw-r--r-- | user/physlock/utmps.patch | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/user/physlock/utmps.patch b/user/physlock/utmps.patch new file mode 100644 index 000000000..efae166a9 --- /dev/null +++ b/user/physlock/utmps.patch @@ -0,0 +1,33 @@ +--- physlock-11/auth.c 2017-07-13 07:23:52.000000000 +0000 ++++ physlock-11/auth.c 2018-09-21 21:21:36.240024566 +0000 +@@ -16,13 +16,14 @@ + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + ++#define _GNU_SOURCE + #include <paths.h> + #include <stdio.h> + #include <stdlib.h> + #include <string.h> + #include <pwd.h> + #include <unistd.h> +-#include <utmp.h> ++#include <utmpx.h> + #include <errno.h> + #include <security/pam_misc.h> + +@@ -41,12 +42,12 @@ static void get_pam(userinfo_t *uinfo) { + + void get_user(userinfo_t *uinfo, int vt, uid_t owner) { + FILE *uf; +- struct utmp r; ++ struct utmpx r; + struct passwd *pw; + char tty[16], name[UT_NAMESIZE+1]; + + uinfo->name = NULL; +- while ((uf = fopen(_PATH_UTMP, "r")) == NULL && errno == EINTR); ++ while ((uf = fopen(UTMPX_FILE, "r")) == NULL && errno == EINTR); + + if (uf != NULL) { + snprintf(tty, sizeof(tty), "tty%d", vt); |