From a491ec96fc9fa19a164febd45309a47504fddc16 Mon Sep 17 00:00:00 2001 From: Jeremy Allison Date: Wed, 18 Nov 1998 01:19:32 +0000 Subject: Fixed problem with HAVE_NETGROUP being used on platforms that cannot support it. Jeremy. (This used to be commit 7a6f25ac4ab0f0bef7a66f26004c15120248ff66) --- source3/configure | 2 +- source3/configure.in | 2 +- source3/include/config.h.in | 9 +++++++++ source3/include/includes.h | 2 +- source3/lib/replace.c | 26 ++++++++++++++------------ 5 files changed, 26 insertions(+), 15 deletions(-) diff --git a/source3/configure b/source3/configure index 1d5779bf34..ea8bbcc907 100755 --- a/source3/configure +++ b/source3/configure @@ -3659,7 +3659,7 @@ else fi done -for ac_func in strftime sigprocmask sigblock sigaction innetgr +for ac_func in strftime sigprocmask sigblock sigaction innetgr setnetgrent getnetgrent endnetgrent do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 echo "configure:3666: checking for $ac_func" >&5 diff --git a/source3/configure.in b/source3/configure.in index f555087ddf..5435d59f76 100644 --- a/source3/configure.in +++ b/source3/configure.in @@ -166,7 +166,7 @@ fi AC_CHECK_FUNCS(waitpid getcwd strdup strerror chown chmod chroot) AC_CHECK_FUNCS(fstat strchr utime utimes getrlimit fsync execl bzero memset) AC_CHECK_FUNCS(memmove vsnprintf snprintf setsid glob strpbrk pipe crypt16 getauthuid) -AC_CHECK_FUNCS(strftime sigprocmask sigblock sigaction innetgr) +AC_CHECK_FUNCS(strftime sigprocmask sigblock sigaction innetgr setnetgrent getnetgrent endnetgrent) AC_CHECK_FUNCS(initgroups select rdchk getgrnam pathconf putprpwnam) AC_CHECK_FUNCS(setuidx setgroups mktime rename ftruncate stat64 fstat64 lstat64 fopen64) AC_CHECK_FUNCS(set_auth_parameters atexit grantpt getspnam dup2 lseek64 ftruncate64) diff --git a/source3/include/config.h.in b/source3/include/config.h.in index c5c761ede3..57ef45312b 100644 --- a/source3/include/config.h.in +++ b/source3/include/config.h.in @@ -387,6 +387,9 @@ /* Define if you have the dup2 function. */ #undef HAVE_DUP2 +/* Define if you have the endnetgrent function. */ +#undef HAVE_ENDNETGRENT + /* Define if you have the execl function. */ #undef HAVE_EXECL @@ -426,6 +429,9 @@ /* Define if you have the getgrnam function. */ #undef HAVE_GETGRNAM +/* Define if you have the getnetgrent function. */ +#undef HAVE_GETNETGRENT + /* Define if you have the getprpwnam function. */ #undef HAVE_GETPRPWNAM @@ -528,6 +534,9 @@ /* Define if you have the setluid function. */ #undef HAVE_SETLUID +/* Define if you have the setnetgrent function. */ +#undef HAVE_SETNETGRENT + /* Define if you have the setsid function. */ #undef HAVE_SETSID diff --git a/source3/include/includes.h b/source3/include/includes.h index 24fb84c803..92b415efa1 100644 --- a/source3/include/includes.h +++ b/source3/include/includes.h @@ -585,7 +585,7 @@ union semun { #define HAVE_PAM 1 #endif -#if defined(HAVE_YP_GET_DEFAULT_DOMAIN) +#if defined(HAVE_YP_GET_DEFAULT_DOMAIN) && defined(HAVE_SETNETGRENT) && defined(HAVE_ENDNETGRENT) && defined(HAVE_GETNETGRENT) #define HAVE_NETGROUP 1 #endif diff --git a/source3/lib/replace.c b/source3/lib/replace.c index b0adb72fd2..2d4ed775a4 100644 --- a/source3/lib/replace.c +++ b/source3/lib/replace.c @@ -41,7 +41,7 @@ ftruncate for operating systems that don't have it fl.l_type = F_WRLCK; return fcntl(f, F_FREESP, &fl); } -#endif +#endif /* HAVE_FTRUNCATE */ #ifndef HAVE_MKTIME @@ -119,10 +119,11 @@ Corrections by richard.kettlewell@kewill.com } return unlink (zfrom); } -#endif +#endif /* HAVE_RENAME */ #ifndef HAVE_INNETGR +#if defined(HAVE_SETNETGRENT) && defined(HAVE_GETNETGRENT) && defined(HAVE_ENDNETGRENT) /* * Search for a match in a netgroup. This replaces it on broken systems. */ @@ -142,7 +143,8 @@ Corrections by richard.kettlewell@kewill.com endnetgrent(); return (0); } -#endif +#endif /* HAVE_SETNETGRENT HAVE_GETNETGRENT HAVE_ENDNETGRENT */ +#endif /* HAVE_INNETGR */ @@ -160,7 +162,7 @@ Corrections by richard.kettlewell@kewill.com } /* yikes! no SETGROUPS or INITGROUPS? how can this work? */ return(0); -#else +#else /* HAVE_SETGROUPS */ gid_t grouplst[NGROUPS_MAX]; int i,j; struct group *g; @@ -186,9 +188,9 @@ Corrections by richard.kettlewell@kewill.com } endgrent(); return(setgroups(i,grouplst)); -#endif +#endif /* HAVE_SETGROUPS */ } -#endif +#endif /* HAVE_INITGROUPS */ #if (defined(SecureWare) && defined(SCO)) @@ -260,7 +262,7 @@ needs. } return(dest); } -#endif +#endif /* HAVE_MEMMOVE */ #ifndef HAVE_STRDUP /**************************************************************************** @@ -268,7 +270,7 @@ duplicate a string ****************************************************************************/ char *strdup(const char *s) { - int len; + size_t len; char *ret; if (!s) return(NULL); @@ -279,7 +281,7 @@ duplicate a string memcpy(ret,s,len); return(ret); } -#endif +#endif /* HAVE_STRDUP */ #ifdef REPLACE_INET_NTOA char *rep_inet_ntoa(struct in_addr ip) @@ -289,11 +291,11 @@ char *rep_inet_ntoa(struct in_addr ip) #if WORDS_BIGENDIAN slprintf(buf, 17, "%d.%d.%d.%d", (int)p[0], (int)p[1], (int)p[2], (int)p[3]); -#else +#else /* WORDS_BIGENDIAN */ slprintf(buf, 17, "%d.%d.%d.%d", (int)p[3], (int)p[2], (int)p[1], (int)p[0]); -#endif +#endif /* WORDS_BIGENDIAN */ return buf; } -#endif +#endif /* REPLACE_INET_NTOA */ -- cgit