From 5a3e68382d3414b922af58a19196635d750581ca Mon Sep 17 00:00:00 2001 From: Damien Miller Date: Mon, 27 Dec 1999 09:48:56 +1100 Subject: [PATCH] - Added --with-default-path to specify custom path for server - Removed #ifdef trickery from acconfig.h into defines.h --- ChangeLog | 2 + acconfig.h | 209 ++------------------------------------------------- configure.in | 11 ++- defines.h | 207 ++++++++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 227 insertions(+), 202 deletions(-) create mode 100644 defines.h diff --git a/ChangeLog b/ChangeLog index 46765e42a..9cf245473 100644 --- a/ChangeLog +++ b/ChangeLog @@ -2,6 +2,8 @@ - Automatically correct paths in manpages and configuration files. Patch and script from Andre Lucas - Removed credits from README to CREDITS file, updated. + - Added --with-default-path to specify custom path for server + - Removed #ifdef trickery from acconfig.h into defines.h 19991226 - Enabled utmpx support by default for Solaris diff --git a/acconfig.h b/acconfig.h index 2ed1033b7..15de34575 100644 --- a/acconfig.h +++ b/acconfig.h @@ -1,4 +1,7 @@ -/* config.h.in. Generated by hand, don't use autoheader. */ +/* Generated automatically from acconfig.h by autoheader. */ +/* Please make your changes there */ + +@TOP@ /* SSL directory. */ #undef ssldir @@ -100,207 +103,11 @@ /* Define if you need to use IP address instead of hostname in $DISPLAY */ #undef IPADDR_IN_DISPLAY +/* Specify default $PATH */ +#undef USER_PATH + @BOTTOM@ /* ******************* Shouldn't need to edit below this line ************** */ -#include /* For u_intXX_t */ -#include /* For SHUT_XXXX */ - -#ifdef HAVE_PATHS_H -# include /* For _PATH_XXX */ -#endif - -#ifdef HAVE_UTMP_H -# include /* For _PATH_XXX */ -#endif - -#if defined(HAVE_UTMPX_H) && defined(USE_UTMPX) -# include /* For _PATH_XXX */ -#endif - -#ifdef HAVE_SYS_TIME_H -# include /* For timersub */ -#endif - -#ifdef HAVE_MAILLOCK_H -#include -#endif - -#ifndef SHUT_RDWR -enum -{ - SHUT_RD = 0, /* No more receptions. */ - SHUT_WR, /* No more transmissions. */ - SHUT_RDWR /* No more receptions or transmissions. */ -}; -# define SHUT_RD SHUT_RD -# define SHUT_WR SHUT_WR -# define SHUT_RDWR SHUT_RDWR -#endif - -/* If sys/types.h does not supply intXX_t, supply them ourselves */ -/* (or die trying) */ -#ifndef HAVE_INTXX_T -# if (SIZEOF_SHORT_INT == 2) -# define int16_t short int -# else -# error "16 bit int type not found." -# endif -# if (SIZEOF_INT == 4) -# define int32_t int -# else -# error "32 bit int type not found." -# endif -# if (SIZEOF_LONG_INT == 8) -# define int64_t long int -# else -# if (SIZEOF_LONG_LONG_INT == 8) -# define int64_t long long int -# else -# error "64 bit int type not found." -# endif -# endif -#endif - -/* If sys/types.h does not supply u_intXX_t, supply them ourselves */ -#ifndef HAVE_U_INTXX_T -# ifdef HAVE_UINTXX_T -# define u_int16_t uint16_t -# define u_int32_t uint32_t -# define u_int64_t uint64_t -# else -# if (SIZEOF_SHORT_INT == 2) -# define u_int16_t unsigned short int -# else -# error "16 bit int type not found." -# endif -# if (SIZEOF_INT == 4) -# define u_int32_t unsigned int -# else -# error "32 bit int type not found." -# endif -# if (SIZEOF_LONG_INT == 8) -# define u_int64_t unsigned long int -# else -# if (SIZEOF_LONG_LONG_INT == 8) -# define u_int64_t unsigned long long int -# else -# error "64 bit int type not found." -# endif -# endif -# endif -#endif - -/* If quad_t is not supplied, then supply it now. We can rely on int64_t */ -/* being defined by the above */ -#ifndef HAVE_QUAD_T -# define quad_t int64_t -#endif - -/* If _PATH_LASTLOG is not defined by system headers, set it to the */ -/* lastlog file detected by autoconf */ -#ifndef _PATH_LASTLOG -# ifdef LASTLOG_LOCATION -# define _PATH_LASTLOG LASTLOG_LOCATION -# endif -#endif - -#ifndef _PATH_UTMP -# ifdef UTMP_FILE -# define _PATH_UTMP UTMP_FILE -# else -# define _PATH_UTMP "/var/adm/utmp" -# endif -#endif - -#ifndef _PATH_WTMP -# ifdef WTMP_FILE -# define _PATH_WTMP WTMP_FILE -# else -# define _PATH_WTMP "/var/adm/wtmp" -# endif -#endif - -#if defined(HAVE_UTMPX_H) && defined(USE_UTMPX) -# ifndef _PATH_UTMPX -# ifdef UTMPX_FILE -# define _PATH_UTMPX UTMPX_FILE -# else -# define _PATH_UTMPX "/var/adm/utmpx" -# endif -# endif -# ifndef _PATH_WTMPX -# ifdef WTMPX_FILE -# define _PATH_WTMPX WTMPX_FILE -# else -# define _PATH_WTMPX "/var/adm/wtmp" -# endif -# endif -#endif - -#ifndef _PATH_BSHELL -# define _PATH_BSHELL "/bin/sh" -#endif - -#ifndef _PATH_STDPATH -# define _PATH_STDPATH "/usr/bin:/bin:/usr/sbin:/sbin" -#endif - -#ifndef _PATH_DEVNULL -# define _PATH_DEVNULL "/dev/null" -#endif - -#ifndef MAILDIR -# define MAILDIR MAIL_DIRECTORY -#endif - -#if !defined(_PATH_MAILDIR) && defined(MAILDIR) -# define _PATH_MAILDIR MAILDIR -#endif /* !defined(_PATH_MAILDIR) && defined(MAILDIR) */ - -#ifndef MAX -# define MAX(a,b) (((a)>(b))?(a):(b)) -# define MIN(a,b) (((a)<(b))?(a):(b)) -#endif - -#ifndef timersub -#define timersub(a, b, result) \ - do { \ - (result)->tv_sec = (a)->tv_sec - (b)->tv_sec; \ - (result)->tv_usec = (a)->tv_usec - (b)->tv_usec; \ - if ((result)->tv_usec < 0) { \ - --(result)->tv_sec; \ - (result)->tv_usec += 1000000; \ - } \ - } while (0) -#endif - -/* In older versions of libpam, pam_strerror takes a single argument */ -#ifdef HAVE_OLD_PAM -# define PAM_STRERROR(a,b) pam_strerror((b)) -#else -# define PAM_STRERROR(a,b) pam_strerror((a),(b)) -#endif - -#ifndef __P -# define __P(x) x -#endif - -#if !defined(__GNUC__) || (__GNUC__ < 2) -# define __attribute__(x) -#endif /* !defined(__GNUC__) || (__GNUC__ < 2) */ - -#if !defined(HAVE_SETEUID) && defined(HAVE_SETREUID) -# define seteuid(a) setreuid(-1,a) -#endif /* !defined(HAVE_SETEUID) && defined(HAVE_SETREUID) */ - -#ifndef HAVE_INNETGR -# define innetgr(a,b,c,d) (0) -#endif /* HAVE_INNETGR */ - -#ifndef _PATH_RSH -# ifdef RSH_PATH -# define _PATH_RSH RSH_PATH -# endif /* RSH_PATH */ -#endif /* _PATH_RSH */ +#include "defines.h" diff --git a/configure.in b/configure.in index 6cfacd2db..17b392d8f 100644 --- a/configure.in +++ b/configure.in @@ -267,7 +267,7 @@ AC_EGREP_HEADER(syslen, utmpx.h, dnl Look for lastlog location AC_ARG_WITH(lastlog, - [ --with-lastlog Location of lastlog file], + [ --with-lastlog=FILE Location of lastlog file], [ if test "x$withval" = "xno" ; then AC_DEFINE(DISABLE_LASTLOG) @@ -396,6 +396,15 @@ AC_ARG_WITH(ipaddr-display, ] ) +AC_ARG_WITH(path, + [ --with-default-path=PATH Specify default \$PATH environment for server], + [ + if test "x$withval" != "xno" ; then + AC_DEFINE_UNQUOTED(USER_PATH, $withval") + fi + ] +) + dnl Check for mail directory (last resort if we cannot get it from headers) if test ! -z "$MAIL" ; then maildir=`dirname $MAIL` diff --git a/defines.h b/defines.h new file mode 100644 index 000000000..9d5d17f2b --- /dev/null +++ b/defines.h @@ -0,0 +1,207 @@ +#include /* For u_intXX_t */ +#include /* For SHUT_XXXX */ + +#ifdef HAVE_PATHS_H +# include /* For _PATH_XXX */ +#endif + +#ifdef HAVE_UTMP_H +# include /* For _PATH_XXX */ +#endif + +#if defined(HAVE_UTMPX_H) && defined(USE_UTMPX) +# include /* For _PATH_XXX */ +#endif + +#ifdef HAVE_SYS_TIME_H +# include /* For timersub */ +#endif + +#ifdef HAVE_MAILLOCK_H +#include +#endif + +#ifndef SHUT_RDWR +enum +{ + SHUT_RD = 0, /* No more receptions. */ + SHUT_WR, /* No more transmissions. */ + SHUT_RDWR /* No more receptions or transmissions. */ +}; +# define SHUT_RD SHUT_RD +# define SHUT_WR SHUT_WR +# define SHUT_RDWR SHUT_RDWR +#endif + +/* If sys/types.h does not supply intXX_t, supply them ourselves */ +/* (or die trying) */ +#ifndef HAVE_INTXX_T +# if (SIZEOF_SHORT_INT == 2) +# define int16_t short int +# else +# error "16 bit int type not found." +# endif +# if (SIZEOF_INT == 4) +# define int32_t int +# else +# error "32 bit int type not found." +# endif +# if (SIZEOF_LONG_INT == 8) +# define int64_t long int +# else +# if (SIZEOF_LONG_LONG_INT == 8) +# define int64_t long long int +# else +# error "64 bit int type not found." +# endif +# endif +#endif + +/* If sys/types.h does not supply u_intXX_t, supply them ourselves */ +#ifndef HAVE_U_INTXX_T +# ifdef HAVE_UINTXX_T +# define u_int16_t uint16_t +# define u_int32_t uint32_t +# define u_int64_t uint64_t +# else +# if (SIZEOF_SHORT_INT == 2) +# define u_int16_t unsigned short int +# else +# error "16 bit int type not found." +# endif +# if (SIZEOF_INT == 4) +# define u_int32_t unsigned int +# else +# error "32 bit int type not found." +# endif +# if (SIZEOF_LONG_INT == 8) +# define u_int64_t unsigned long int +# else +# if (SIZEOF_LONG_LONG_INT == 8) +# define u_int64_t unsigned long long int +# else +# error "64 bit int type not found." +# endif +# endif +# endif +#endif + +/* If quad_t is not supplied, then supply it now. We can rely on int64_t */ +/* being defined by the above */ +#ifndef HAVE_QUAD_T +# define quad_t int64_t +#endif + +/* If _PATH_LASTLOG is not defined by system headers, set it to the */ +/* lastlog file detected by autoconf */ +#ifndef _PATH_LASTLOG +# ifdef LASTLOG_LOCATION +# define _PATH_LASTLOG LASTLOG_LOCATION +# endif +#endif + +#ifndef _PATH_UTMP +# ifdef UTMP_FILE +# define _PATH_UTMP UTMP_FILE +# else +# define _PATH_UTMP "/var/adm/utmp" +# endif +#endif + +#ifndef _PATH_WTMP +# ifdef WTMP_FILE +# define _PATH_WTMP WTMP_FILE +# else +# define _PATH_WTMP "/var/adm/wtmp" +# endif +#endif + +#if defined(HAVE_UTMPX_H) && defined(USE_UTMPX) +# ifndef _PATH_UTMPX +# ifdef UTMPX_FILE +# define _PATH_UTMPX UTMPX_FILE +# else +# define _PATH_UTMPX "/var/adm/utmpx" +# endif +# endif +# ifndef _PATH_WTMPX +# ifdef WTMPX_FILE +# define _PATH_WTMPX WTMPX_FILE +# else +# define _PATH_WTMPX "/var/adm/wtmp" +# endif +# endif +#endif + +#ifndef _PATH_BSHELL +# define _PATH_BSHELL "/bin/sh" +#endif + +#ifdef USER_PATH +# ifdef _PATH_STDPATH +# undef _PATH_STDPATH +# endif +# define _PATH_STDPATH USER_PATH +#endif + +#ifndef _PATH_STDPATH +# define _PATH_STDPATH "/usr/bin:/bin:/usr/sbin:/sbin" +#endif + +#ifndef _PATH_DEVNULL +# define _PATH_DEVNULL "/dev/null" +#endif + +#ifndef MAILDIR +# define MAILDIR MAIL_DIRECTORY +#endif + +#if !defined(_PATH_MAILDIR) && defined(MAILDIR) +# define _PATH_MAILDIR MAILDIR +#endif /* !defined(_PATH_MAILDIR) && defined(MAILDIR) */ + +#ifndef MAX +# define MAX(a,b) (((a)>(b))?(a):(b)) +# define MIN(a,b) (((a)<(b))?(a):(b)) +#endif + +#ifndef timersub +#define timersub(a, b, result) \ + do { \ + (result)->tv_sec = (a)->tv_sec - (b)->tv_sec; \ + (result)->tv_usec = (a)->tv_usec - (b)->tv_usec; \ + if ((result)->tv_usec < 0) { \ + --(result)->tv_sec; \ + (result)->tv_usec += 1000000; \ + } \ + } while (0) +#endif + +/* In older versions of libpam, pam_strerror takes a single argument */ +#ifdef HAVE_OLD_PAM +# define PAM_STRERROR(a,b) pam_strerror((b)) +#else +# define PAM_STRERROR(a,b) pam_strerror((a),(b)) +#endif + +#ifndef __P +# define __P(x) x +#endif + +#if !defined(__GNUC__) || (__GNUC__ < 2) +# define __attribute__(x) +#endif /* !defined(__GNUC__) || (__GNUC__ < 2) */ + +#if !defined(HAVE_SETEUID) && defined(HAVE_SETREUID) +# define seteuid(a) setreuid(-1,a) +#endif /* !defined(HAVE_SETEUID) && defined(HAVE_SETREUID) */ + +#ifndef HAVE_INNETGR +# define innetgr(a,b,c,d) (0) +#endif /* HAVE_INNETGR */ + +#ifndef _PATH_RSH +# ifdef RSH_PATH +# define _PATH_RSH RSH_PATH +# endif /* RSH_PATH */ +#endif /* _PATH_RSH */