49 lines
1.2 KiB
Diff
49 lines
1.2 KiB
Diff
|
--- at-3.1.13.orig/configure.ac
|
||
|
+++ at-3.1.13/configure.ac
|
||
|
@@ -17,8 +17,9 @@ AC_SUBST(VERSION)
|
||
|
AC_CANONICAL_HOST
|
||
|
|
||
|
dnl Checks for programs.
|
||
|
-
|
||
|
-AC_PROG_CC
|
||
|
+AC_USE_SYSTEM_EXTENSIONS
|
||
|
+AC_PROG_CC_STDC
|
||
|
+AC_SYS_LARGEFILE
|
||
|
AC_PROG_INSTALL
|
||
|
AC_PROG_LN_S
|
||
|
AC_PROG_YACC
|
||
|
@@ -58,6 +59,7 @@ AC_CHECK_LIB(fl,yywrap,
|
||
|
|
||
|
PKG_CHECK_MODULES([HX], [libHX])
|
||
|
|
||
|
+AC_CHECK_FUNCS([__secure_getenv secure_getenv])
|
||
|
dnl Checks for header files.
|
||
|
AC_HEADER_DIRENT
|
||
|
AC_HEADER_STDC
|
||
|
--- at-3.1.13.orig/at.c
|
||
|
+++ at-3.1.13/at.c
|
||
|
@@ -97,6 +97,14 @@
|
||
|
#define DEFAULT_QUEUE 'a'
|
||
|
#define BATCH_QUEUE 'b'
|
||
|
|
||
|
+#ifndef HAVE_SECURE_GETENV
|
||
|
+# ifdef HAVE___SECURE_GETENV
|
||
|
+# define secure_getenv __secure_getenv
|
||
|
+# else
|
||
|
+# error neither secure_getenv nor __secure_getenv is available
|
||
|
+# endif
|
||
|
+#endif
|
||
|
+
|
||
|
enum {
|
||
|
ATQ, BATCH, ATRM, AT, CAT
|
||
|
}; /* what program we want to run */
|
||
|
@@ -359,7 +367,7 @@ writefile(time_t runtimer, char queue)
|
||
|
*/
|
||
|
mailname = getlogin();
|
||
|
if (mailname == NULL)
|
||
|
- mailname = getenv("LOGNAME");
|
||
|
+ mailname = secure_getenv("LOGNAME");
|
||
|
if (mailname == NULL || mailname[0] == '\0' || getpwnam(mailname) == NULL) {
|
||
|
pass_entry = getpwuid(real_uid);
|
||
|
if (pass_entry != NULL)
|