Module Name: othersrc
Committed By: lukem
Date: Tue Jan 29 13:30:32 UTC 2019
Modified Files:
othersrc/libexec/tnftpd: configure.ac
othersrc/libexec/tnftpd/src: ftpd.c
Log Message:
save passwd.pw_class if it exists
Add autoconf check for struct passwd.pw_class.
If pw_class is present, save it in sgetpwnam().
Inspired by FreeBSD head/libexec/ftpd/ftpd.c revision 261885.
To generate a diff of this commit:
cvs rdiff -u -r1.41 -r1.42 othersrc/libexec/tnftpd/configure.ac
cvs rdiff -u -r1.35 -r1.36 othersrc/libexec/tnftpd/src/ftpd.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: othersrc/libexec/tnftpd/configure.ac
diff -u othersrc/libexec/tnftpd/configure.ac:1.41 othersrc/libexec/tnftpd/configure.ac:1.42
--- othersrc/libexec/tnftpd/configure.ac:1.41 Tue Jan 29 13:06:14 2019
+++ othersrc/libexec/tnftpd/configure.ac Tue Jan 29 13:30:32 2019
@@ -1,4 +1,4 @@
-# $NetBSD: configure.ac,v 1.41 2019/01/29 13:06:14 lukem Exp $
+# $NetBSD: configure.ac,v 1.42 2019/01/29 13:30:32 lukem Exp $
#
# Process this file with autoconf to produce a configure script.
@@ -9,7 +9,7 @@ AC_COPYRIGHT([
Copyright (c) 2001-2019 The NetBSD Foundation, Inc.
All rights reserved.
])
-AC_REVISION([$Revision: 1.41 $])
+AC_REVISION([$Revision: 1.42 $])
AS_SHELL_SANITIZE()
@@ -243,7 +243,9 @@ AC_TYPE_SIZE_T()
AC_STRUCT_TM()
AC_CHECK_MEMBERS([struct sockaddr.sa_len, struct sockaddr_in.sin_len,
DIR.dd_fd, DIR.__dd_fd, struct dirent.d_namlen,
- struct passwd.pw_change, struct passwd.pw_expire],
+ struct passwd.pw_change,
+ struct passwd.pw_class,
+ struct passwd.pw_expire],
[], [], [$accheck_includes])
AC_CHECK_TYPES([in_port_t, sa_family_t, socklen_t, struct addrinfo],
[], [], [$accheck_includes])
Index: othersrc/libexec/tnftpd/src/ftpd.c
diff -u othersrc/libexec/tnftpd/src/ftpd.c:1.35 othersrc/libexec/tnftpd/src/ftpd.c:1.36
--- othersrc/libexec/tnftpd/src/ftpd.c:1.35 Tue Jan 29 12:14:46 2019
+++ othersrc/libexec/tnftpd/src/ftpd.c Tue Jan 29 13:30:32 2019
@@ -1,4 +1,4 @@
-/* $NetBSD: ftpd.c,v 1.35 2019/01/29 12:14:46 lukem Exp $ */
+/* $NetBSD: ftpd.c,v 1.36 2019/01/29 13:30:32 lukem Exp $ */
/* from NetBSD: ftpd.c,v 1.204 2018/04/28 13:38:00 riastradh Exp */
/*
@@ -946,6 +946,9 @@ sgetpwnam(const char *name)
free((char *)save.pw_gecos);
free((char *)save.pw_dir);
free((char *)save.pw_shell);
+#if defined(HAVE_STRUCT_PASSWD_PW_CLASS)
+ free((char *)save.pw_class);
+#endif
}
save = *p;
save.pw_name = ftpd_strdup(p->pw_name);
@@ -953,6 +956,9 @@ sgetpwnam(const char *name)
save.pw_gecos = ftpd_strdup(p->pw_gecos);
save.pw_dir = ftpd_strdup(p->pw_dir);
save.pw_shell = ftpd_strdup(p->pw_shell);
+#if defined(HAVE_STRUCT_PASSWD_PW_CLASS)
+ save.pw_class = ftpd_strdup(p->pw_class);
+#endif
return (&save);
}