Remove some obsolete configure tests, ancient Unix systems are no

longer supported.
This commit is contained in:
Todd C. Miller
2010-08-10 13:44:05 -04:00
parent 29efdc50ab
commit 8dd8aa000e
13 changed files with 14 additions and 291 deletions

View File

@@ -33,12 +33,5 @@
int
gettime(struct timeval *tv)
{
int rval;
#if defined(HAVE_GETTIMEOFDAY) && (defined(HAVE_ST_MTIM) || defined(HAVE_ST_MTIMESPEC))
rval = gettimeofday(tv, NULL);
#else
rval = (int)time(&tv->tv_sec);
tv->tv_usec = 0;
#endif
return (rval);
return gettimeofday(tv, NULL);
}

View File

@@ -122,22 +122,6 @@ static int xxxprintf(char **, size_t, int, const char *, va_list);
#define BUF 68
#ifndef HAVE_MEMCHR
void *
memchr(const void *s, unsigned char c, size_t n)
{
if (n != 0) {
const unsigned char *p = s;
do {
if (*p++ == c)
return ((void *)(p - 1));
} while (--n != 0);
}
return (NULL);
}
#endif /* !HAVE_MEMCHR */
/*
* Convert an unsigned long to ASCII for printf purposes, returning
* a pointer to the first character of the string representation.

View File

@@ -1,87 +0,0 @@
/*
* Copyright (c) 2004-2005, 2010
* Todd C. Miller <Todd.Miller@courtesan.com>
*
* Permission to use, copy, modify, and distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
* copyright notice and this permission notice appear in all copies.
*
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
* WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
* MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
* ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
* WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
#include <sys/types.h>
#include <config.h>
#include <compat.h>
/*
* Case insensitive string compare routines, same semantics as str[n]cmp()
* (assumes ASCII..).
* Derived from a public domain implementation included with the pdksh shell.
*/
static const char ichars[256] = {
0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7,
0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf,
0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f,
0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f,
0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f,
0x40, 'a', 'b', 'c', 'd', 'e', 'f', 'g',
'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o',
'p', 'q', 'r', 's', 't', 'u', 'v', 'w',
'x', 'y', 'z', 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
0x60, 'a', 'b', 'c', 'd', 'e', 'f', 'g',
'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o',
'p', 'q', 'r', 's', 't', 'u', 'v', 'w',
'x', 'y', 'z', 0x7b, 0x7c, 0x7d, 0x7e, 0x7f,
0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,
0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f,
0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97,
0x98, 0x99, 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f,
0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7,
0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf,
0xb0, 0xb1, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7,
0xb8, 0xb9, 0xba, 0xbb, 0xbc, 0xbd, 0xbe, 0xbf,
0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7,
0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf,
0xd0, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, 0xd7,
0xd8, 0xd9, 0xda, 0xdb, 0xdc, 0xdd, 0xde, 0xdf,
0xe0, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7,
0xe8, 0xe9, 0xea, 0xeb, 0xec, 0xed, 0xee, 0xef,
0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7,
0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff
};
int
strcasecmp(const char *s1, const char *s2)
{
const unsigned char *us1 = (const unsigned char *) s1;
const unsigned char *us2 = (const unsigned char *) s2;
while (ichars[*us1] == ichars[*us2++]) {
if (*us1++ == '\0')
return 0;
}
return ichars[*us1] - ichars[*--us2];
}
int
strncasecmp(const char *s1, const char *s2, size_t n)
{
const unsigned char *us1 = (const unsigned char *) s1;
const unsigned char *us2 = (const unsigned char *) s2;
while (n != 0 && ichars[*us1] == ichars[*us2++]) {
if (*us1++ == '\0')
return 0;
n--;
}
return n ? ichars[*us1] - ichars[*--us2] : 0;
}

View File

@@ -1,41 +0,0 @@
/*
* Copyright (c) 1999-2005, 2010
* Todd C. Miller <Todd.Miller@courtesan.com>
*
* Permission to use, copy, modify, and distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
* copyright notice and this permission notice appear in all copies.
*
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
* WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
* MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
* ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
* WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*
* Sponsored in part by the Defense Advanced Research Projects
* Agency (DARPA) and Air Force Research Laboratory, Air Force
* Materiel Command, USAF, under agreement number F39502-99-1-0512.
*/
#include <stdio.h>
#include <errno.h>
#include <config.h>
#include <compat.h>
/*
* Map errno -> error string.
*/
char *
strerror(int n)
{
extern int sys_nerr;
extern char *sys_errlist[];
if (n > 0 && n < sys_nerr)
return(sys_errlist[n]);
errno = EINVAL;
return("Unknown error");
}

View File

@@ -150,7 +150,7 @@
/* Define to 1 if you have the `getdomainname' function. */
#undef HAVE_GETDOMAINNAME
/* Define to 1 if your system has a working `getgroups' function. */
/* Define to 1 if you have the `getgroups' function. */
#undef HAVE_GETGROUPS
/* Define to 1 if you have the `getifaddrs' function. */
@@ -181,9 +181,6 @@
passwords) */
#undef HAVE_GETSPWUID
/* Define to 1 if you have the `gettimeofday' function. */
#undef HAVE_GETTIMEOFDAY
/* Define to 1 if you have the `getuserattr' function. */
#undef HAVE_GETUSERATTR
@@ -325,21 +322,12 @@
/* Define to 1 if you have the `mbr_check_membership' function. */
#undef HAVE_MBR_CHECK_MEMBERSHIP
/* Define to 1 if you have the `memchr' function. */
#undef HAVE_MEMCHR
/* Define to 1 if you have the `memcpy' function. */
#undef HAVE_MEMCPY
/* Define to 1 if you have the <memory.h> header file. */
#undef HAVE_MEMORY_H
/* Define to 1 if you have the `memrchr' function. */
#undef HAVE_MEMRCHR
/* Define to 1 if you have the `memset' function. */
#undef HAVE_MEMSET
/* Define to 1 if you have the `mkstemps' function. */
#undef HAVE_MKSTEMPS
@@ -430,9 +418,6 @@
/* Define to 1 if you have the `setreuid' function. */
#undef HAVE_SETREUID
/* Define to 1 if you have the `setrlimit' function. */
#undef HAVE_SETRLIMIT
/* Define to 1 if you have the `setrlimit64' function. */
#undef HAVE_SETRLIMIT64
@@ -460,15 +445,6 @@
/* Define to 1 if you have the <stdlib.h> header file. */
#undef HAVE_STDLIB_H
/* Define to 1 if you have the `strcasecmp' function. */
#undef HAVE_STRCASECMP
/* Define to 1 if you have the `strchr' function. */
#undef HAVE_STRCHR
/* Define to 1 if you have the `strerror' function. */
#undef HAVE_STRERROR
/* Define to 1 if you have the `strftime' function. */
#undef HAVE_STRFTIME
@@ -558,18 +534,9 @@
/* Define to 1 if you have the `vasprintf' function. */
#undef HAVE_VASPRINTF
/* Define to 1 if you have the `vhangup' function. */
#undef HAVE_VHANGUP
/* Define to 1 if you have the `vsnprintf' function. */
#undef HAVE_VSNPRINTF
/* Define to 1 if you have the `wait3' function. */
#undef HAVE_WAIT3
/* Define to 1 if you have the `waitpid' function. */
#undef HAVE_WAITPID
/* Define to 1 if you have the <zlib.h> header file. */
#undef HAVE_ZLIB_H
@@ -794,17 +761,6 @@
# endif /* HAVE_ST_MTIMESPEC */
#endif /* HAVE_ST_MTIM */
/*
* Emulate a subset of waitpid() if we don't have it.
*/
#ifdef HAVE_WAITPID
# define sudo_waitpid(p, s, o) waitpid(p, s, o)
#else
# ifdef HAVE_WAIT3
# define sudo_waitpid(p, s, o) wait3(s, o, NULL)
# endif
#endif
/* GNU stow needs /etc/sudoers to be a symlink. */
#ifdef USE_STOW
# define stat_sudoers stat

24
configure vendored
View File

@@ -13176,8 +13176,7 @@ fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_c89_strcasecmp" >&5
$as_echo "$ac_cv_lib_c89_strcasecmp" >&6; }
if test "x$ac_cv_lib_c89_strcasecmp" = x""yes; then :
$as_echo "#define HAVE_STRCASECMP 1" >>confdefs.h
LIBS="${LIBS} -lc89"; ac_cv_func_strcasecmp=yes
LIBS="${LIBS} -lc89"
fi
: ${mansectsu='1m'}
@@ -14746,10 +14745,8 @@ $as_echo "#define HAVE_GETGROUPS 1" >>confdefs.h
fi
LIBS=$ac_save_LIBS
for ac_func in strchr strrchr memchr memcpy memset sysconf tzset \
strftime setrlimit initgroups getgroups fstat gettimeofday \
regcomp setlocale getaddrinfo vhangup \
mbr_check_membership setrlimit64
for ac_func in strrchr sysconf tzset strftime initgroups getgroups fstat \
regcomp setlocale getaddrinfo mbr_check_membership setrlimit64
do :
as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
@@ -15160,19 +15157,6 @@ _ACEOF
fi
done
for ac_func in waitpid wait3
do :
as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
eval as_val=\$$as_ac_var
if test "x$as_val" = x""yes; then :
cat >>confdefs.h <<_ACEOF
#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
_ACEOF
break
fi
done
for ac_func in innetgr _innetgr
do :
as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
@@ -15333,7 +15317,7 @@ esac
fi
for ac_func in memrchr strerror strcasecmp strlcpy strlcat setenv
for ac_func in memrchr strlcpy strlcat setenv
do :
as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"

View File

@@ -1677,7 +1677,7 @@ case "$host" in
: ${with_rpath='yes'}
;;
*-ncr-sysv4*|*-ncr-sysvr4*)
AC_CHECK_LIB(c89, strcasecmp, AC_DEFINE(HAVE_STRCASECMP) [LIBS="${LIBS} -lc89"; ac_cv_func_strcasecmp=yes])
AC_CHECK_LIB(c89, strcasecmp, [LIBS="${LIBS} -lc89"])
: ${mansectsu='1m'}
: ${mansectform='4'}
: ${with_rpath='yes'}
@@ -1915,10 +1915,8 @@ dnl
dnl Function checks
dnl
AC_FUNC_GETGROUPS
AC_CHECK_FUNCS(strchr strrchr memchr memcpy memset sysconf tzset \
strftime setrlimit initgroups getgroups fstat gettimeofday \
regcomp setlocale getaddrinfo vhangup \
mbr_check_membership setrlimit64)
AC_CHECK_FUNCS(strrchr sysconf tzset strftime initgroups getgroups fstat \
regcomp setlocale getaddrinfo mbr_check_membership setrlimit64)
AC_CHECK_FUNCS(getline, [], [
AC_LIBOBJ(getline)
AC_CHECK_FUNCS(fgetln)
@@ -1964,13 +1962,12 @@ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <glob.h>]], [[int i = GLOB_BRACE |
AC_MSG_RESULT(yes)], [AC_LIBOBJ(glob)
AC_MSG_RESULT(no)])], [AC_LIBOBJ(glob)])
AC_CHECK_FUNCS(lockf flock, [break])
AC_CHECK_FUNCS(waitpid wait3, [break])
AC_CHECK_FUNCS(innetgr _innetgr, [AC_CHECK_FUNCS(getdomainname) [break]])
AC_CHECK_FUNCS(utimes, [AC_CHECK_FUNCS(futimes futimesat, [break])], [AC_CHECK_FUNCS(futime) AC_LIBOBJ(utimes)])
AC_CHECK_FUNCS(killpg, [], [AC_LIBOBJ(killpg)])
SUDO_FUNC_FNMATCH([AC_DEFINE(HAVE_FNMATCH)], [AC_LIBOBJ(fnmatch)])
SUDO_FUNC_ISBLANK
AC_REPLACE_FUNCS(memrchr strerror strcasecmp strlcpy strlcat setenv)
AC_REPLACE_FUNCS(memrchr strlcpy strlcat setenv)
AC_CHECK_FUNCS(nanosleep, [], [
# On Solaris, nanosleep is in librt
AC_CHECK_LIB(rt, nanosleep, [REPLAY_LIBS="${REPLAY_LIBS} -lrt"], [AC_LIBOBJ(nanosleep)])
@@ -2910,17 +2907,6 @@ AH_BOTTOM([/*
# endif /* HAVE_ST_MTIMESPEC */
#endif /* HAVE_ST_MTIM */
/*
* Emulate a subset of waitpid() if we don't have it.
*/
#ifdef HAVE_WAITPID
# define sudo_waitpid(p, s, o) waitpid(p, s, o)
#else
# ifdef HAVE_WAIT3
# define sudo_waitpid(p, s, o) wait3(s, o, NULL)
# endif
#endif
/* GNU stow needs /etc/sudoers to be a symlink. */
#ifdef USE_STOW
# define stat_sudoers stat

View File

@@ -118,19 +118,6 @@
# define STDERR_FILENO 2
#endif
/*
* These should be defined in <unistd.h> but not everyone has them.
*/
#ifndef SEEK_SET
# define SEEK_SET 0
#endif
#ifndef SEEK_CUR
# define SEEK_CUR 1
#endif
#ifndef SEEK_END
# define SEEK_END 2
#endif
/*
* BSD defines these in <sys/param.h> but others may not.
*/
@@ -149,22 +136,6 @@ int isblank(int);
# define isblank(_x) ((_x) == ' ' || (_x) == '\t')
#endif
/*
* Old BSD systems lack strchr(), strrchr(), memset() and memcpy()
*/
#if !defined(HAVE_STRCHR) && !defined(strchr)
# define strchr(_s, _c) index(_s, _c)
#endif
#if !defined(HAVE_STRRCHR) && !defined(strrchr)
# define strrchr(_s, _c) rindex(_s, _c)
#endif
#if !defined(HAVE_MEMCPY) && !defined(memcpy)
# define memcpy(_d, _s, _n) (bcopy(_s, _d, _n))
#endif
#if !defined(HAVE_MEMSET) && !defined(memset)
# define memset(_s, _x, _n) (bzero(_s, _n))
#endif
/*
* NCR's SVr4 has _innetgr(3) instead of innetgr(3) for some reason.
*/

View File

@@ -51,9 +51,6 @@ int asprintf(char **, const char *, ...) __printflike(2, 3);
#ifndef HAVE_VASPRINTF
int vasprintf(char **, const char *, va_list) __printflike(2, 0);
#endif
#ifndef HAVE_STRCASECMP
int strcasecmp(const char *, const char *);
#endif
#ifndef HAVE_STRLCAT
size_t strlcat(char *, const char *, size_t);
#endif

View File

@@ -440,11 +440,7 @@ send_mail(const char *fmt, ...)
default:
/* Parent. */
do {
#ifdef HAVE_WAITPID
rv = waitpid(pid, &status, 0);
#else
rv = wait(&status);
#endif
} while (rv == -1 && errno == EINTR);
return;
}
@@ -565,11 +561,7 @@ send_mail(const char *fmt, ...)
fclose(mail);
do {
#ifdef HAVE_WAITPID
rv = waitpid(pid, &status, 0);
#else
rv = wait(&status);
#endif
} while (rv == -1 && errno == EINTR);
_exit(0);
}

View File

@@ -33,10 +33,6 @@
#include <sys/stat.h>
#include <sys/param.h>
#include <sys/socket.h>
#ifdef HAVE_SETRLIMIT
# include <sys/time.h>
# include <sys/resource.h>
#endif
#include <stdio.h>
#ifdef STDC_HEADERS
# include <stdlib.h>
@@ -63,9 +59,7 @@
#include <fcntl.h>
#include <signal.h>
#include <grp.h>
#if TIME_WITH_SYS_TIME
# include <time.h>
#endif
#include <time.h>
#ifdef HAVE_SETLOCALE
# include <locale.h>
#endif

View File

@@ -670,11 +670,7 @@ run_command(char *path, char **argv)
}
do {
#ifdef sudo_waitpid
rv = sudo_waitpid(pid, &status, 0);
#else
rv = wait(&status);
#endif
rv = waitpid(pid, &status, 0);
} while (rv == -1 && errno == EINTR);
if (rv == -1 || !WIFEXITED(status))

View File

@@ -28,10 +28,8 @@
#ifdef HAVE_SYS_SELECT_H
# include <sys/select.h>
#endif /* HAVE_SYS_SELECT_H */
#ifdef HAVE_SETRLIMIT
# include <sys/time.h>
# include <sys/resource.h>
#endif
#include <sys/time.h>
#include <sys/resource.h>
#include <stdio.h>
#ifdef STDC_HEADERS
# include <stdlib.h>