From b8e4c889b3139308b9dc3c0688e6a8ee7f098306 Mon Sep 17 00:00:00 2001 From: Jeff Trawick Date: Fri, 10 Nov 2000 23:52:18 +0000 Subject: [PATCH] Get mod_userdir compiling on FreeBSD when APR_HAS_THREADS. This doesn't account for the fact that getpwnam() isn't thread-safe on FreeBSD; it also doesn't account for systems where getpwnam_r lives outside of libc. See thread with subject "[?PATCH?] using getpwnam_r in mod_userdir" in Nov. 2000 new-httpd for some better long-term ideas for how to handle the problem. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@86917 13f79535-47bb-0310-9956-ffa450edef68 --- modules/aaa/config.m4 | 4 +++- modules/mappers/mod_userdir.c | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/modules/aaa/config.m4 b/modules/aaa/config.m4 index 9aaa782cc1..7bf261a28e 100644 --- a/modules/aaa/config.m4 +++ b/modules/aaa/config.m4 @@ -25,7 +25,9 @@ APACHE_CHECK_STANDARD_MODULE(asis, as-is filetypes, , yes) APACHE_CHECK_STANDARD_MODULE(imap, internal imagemaps, , yes) APACHE_CHECK_STANDARD_MODULE(actions, Action triggering on requests, action, yes) APACHE_CHECK_STANDARD_MODULE(speling, correct common URL misspellings, , no) -APACHE_CHECK_STANDARD_MODULE(userdir, mapping of user requests, , yes) +APACHE_CHECK_STANDARD_MODULE(userdir, mapping of user requests, , yes, [ + AC_CHECK_FUNCS(getpwnam_r) +]) APACHE_CHECK_STANDARD_MODULE(suexec, set uid and gid for spawned processes, , no) APACHE_CHECK_STANDARD_MODULE(alias, translation of requests, , yes) diff --git a/modules/mappers/mod_userdir.c b/modules/mappers/mod_userdir.c index b04d2a5556..56c236d54f 100644 --- a/modules/mappers/mod_userdir.c +++ b/modules/mappers/mod_userdir.c @@ -326,7 +326,7 @@ static int translate_userdir(request_rec *r) #else /* WIN32 */ struct passwd *pw; -#if APR_HAS_THREADS && defined(_POSIX_THREAD_SAFE_FUNCTIONS) +#if APR_HAS_THREADS && defined(HAVE_GETPWNAM_R) struct passwd pwd; size_t buflen = sysconf(_SC_GETPW_R_SIZE_MAX); char *buf = apr_pcalloc(r->pool, buflen); -- 2.40.0