jani Mon Jul 21 10:16:32 2008 UTC
Modified files:
/php-src configure.in
/php-src/ext/standard basic_functions.c
Log:
MFB:- Fixed bug #40079 (php_get_current_user() not thread safe).
http://cvs.php.net/viewvc.cgi/php-src/configure.in?r1=1.660&r2=1.661&diff_format=u
Index: php-src/configure.in
diff -u php-src/configure.in:1.660 php-src/configure.in:1.661
--- php-src/configure.in:1.660 Wed Jul 16 16:29:13 2008
+++ php-src/configure.in Mon Jul 21 10:16:32 2008
@@ -1,4 +1,4 @@
-## $Id: configure.in,v 1.660 2008/07/16 16:29:13 jani Exp $ -*- autoconf -*-
+## $Id: configure.in,v 1.661 2008/07/21 10:16:32 jani Exp $ -*- autoconf -*-
dnl ## Process this file with autoconf to produce a configure script.
divert(1)
@@ -71,10 +71,10 @@
echo "#define PHP_VERSION_ID $PHP_VERSION_ID" >> php_version.h.new
cmp php_version.h.new $srcdir/main/php_version.h >/dev/null 2>&1
if test $? -ne 0 ; then
- rm -f $srcdir/main/php_version.h && mv php_version.h.new
$srcdir/main/php_version.h && \
- echo 'Updated main/php_version.h'
+ rm -f $srcdir/main/php_version.h && mv php_version.h.new
$srcdir/main/php_version.h && \
+ echo 'Updated main/php_version.h'
else
- rm -f php_version.h.new
+ rm -f php_version.h.new
fi
@@ -161,7 +161,6 @@
PHP_RUNPATH_SWITCH
dnl Checks for some support/generator progs
-
PHP_PROG_AWK
PHP_PROG_BISON
PHP_PROG_RE2C
@@ -183,16 +182,16 @@
else
AC_MSG_CHECKING([whether re2c -g works])
AC_TRY_COMPILE([],[
- int main(int argc, const char **argv)
- {
- argc = argc;
- argv = argv;
+int main(int argc, const char **argv)
+{
+ argc = argc;
+ argv = argv;
label1:
label2:
- static void *adr[] = { &&label1, &&label2};
- goto *adr[0];
- return 0;
- }
+ static void *adr[] = { &&label1, &&label2};
+ goto *adr[0];
+ return 0;
+}
],[
RE2C_FLAGS=""
AC_MSG_RESULT([no])
@@ -208,7 +207,7 @@
dnl See bug #28605
case $host_cpu in
-alpha*)
+ alpha*)
if test "$GCC" = "yes"; then
CFLAGS="$CFLAGS -mieee"
else
@@ -233,15 +232,16 @@
fi
case $host_alias in
-*solaris*)
+ *solaris*)
CPPFLAGS="$CPPFLAGS -D_POSIX_PTHREAD_SEMANTICS"
if test "${enable_libgcc+set}" != "set" && test "$GCC" = "yes"; then
enable_libgcc=yes
fi
;;
-*dgux*)
- CPPFLAGS="$CPPFLAGS -D_BSD_TIMEOFDAY_FLAVOR";;
-*darwin*|*rhapsody*)
+ *dgux*)
+ CPPFLAGS="$CPPFLAGS -D_BSD_TIMEOFDAY_FLAVOR"
+ ;;
+ *darwin*|*rhapsody*)
if test -n "$GCC"; then
PHP_CHECK_GCC_ARG(-no-cpp-precomp, gcc_no_cpp_precomp=yes)
if test "$gcc_no_cpp_precomp" = "yes"; then
@@ -249,18 +249,21 @@
fi
fi
AC_DEFINE(BIND_8_COMPAT, 1, [Enabling BIND8 compatibility for Panther])
- php_multiple_shlib_versions_ok=yes;;
-*beos*)
+ php_multiple_shlib_versions_ok=yes
+ ;;
+ *beos*)
beos_threads=1
- LIBS="$LIBS -lbe -lroot";;
-*mips*)
- CPPFLAGS="$CPPFLAGS -D_XPG_IV";;
-*hpux*)
+ LIBS="$LIBS -lbe -lroot"
+ ;;
+ *mips*)
+ CPPFLAGS="$CPPFLAGS -D_XPG_IV"
+ ;;
+ *hpux*)
if test "$GCC" = "yes"; then
CPPFLAGS="$CPPFLAGS -D_XOPEN_SOURCE_EXTENDED"
fi
;;
-*netware*)
+ *netware*)
PHP_BUILD_PROGRAM
PHP_ADD_SOURCES(/main, internal_functions.c,,PHP_GLOBAL_OBJS)
PHP_ADD_SOURCES(win32, sendmail.c, -I$CFLAGS, PHP_GLOBAL_OBJS)
@@ -275,7 +278,7 @@
# to avoid the performance hit from the lost register
AC_MSG_CHECKING([whether to force non-PIC code in shared modules])
case $host_alias in
-i?86-*-linux*|i?86-*-freebsd*)
+ i?86-*-linux*|i?86-*-freebsd*)
if test "${with_pic+set}" != "set" || test "$with_pic" = "no"; then
with_pic=no
AC_MSG_RESULT(yes)
@@ -283,7 +286,9 @@
AC_MSG_RESULT(no)
fi
;;
-*) AC_MSG_RESULT(no) ;;
+ *)
+ AC_MSG_RESULT(no)
+ ;;
esac
@@ -361,8 +366,8 @@
dnl Check for /usr/pkg/{lib,include} which is where NetBSD puts binary
dnl and source packages. This should be harmless on other OSs.
if test -d /usr/pkg/include -a -d /usr/pkg/lib ; then
- CPPFLAGS="$CPPFLAGS -I/usr/pkg/include"
- LDFLAGS="$LDFLAGS -L/usr/pkg/lib"
+ CPPFLAGS="$CPPFLAGS -I/usr/pkg/include"
+ LDFLAGS="$LDFLAGS -L/usr/pkg/lib"
fi
test -d /usr/ucblib && PHP_ADD_LIBPATH(/usr/ucblib)
@@ -482,12 +487,10 @@
dnl Don't use mach-o/dyld.h on Darwin 8+, dl* is recommended by Apple from
there on
dnl See
http://developer.apple.com/documentation/DeveloperTools/Conceptual/MachOTopics/Articles/loading_code.html
case $host_alias in
-*darwin[[89]]*)
+ *darwin[[89]]*)
;;
-*)
- AC_CHECK_HEADERS([ \
-mach-o/dyld.h
-],[],[][])
+ *)
+ AC_CHECK_HEADERS([mach-o/dyld.h],[],[],[])
;;
esac
@@ -572,6 +575,7 @@
gmtime_r \
getpwnam_r \
getgrnam_r \
+getpwuid_r \
grantpt \
inet_ntoa \
inet_ntop \
@@ -938,20 +942,24 @@
enable_static=yes
case $php_build_target in
-program|static)
+ program|static)
standard_libtool_flag='-prefer-non-pic -static'
if test -z "$PHP_MODULES" && test -z "$PHP_ZEND_EX"; then
enable_shared=no
fi
-;;
-shared)
+ ;;
+ shared)
enable_static=no
case $with_pic in
- yes) standard_libtool_flag='-prefer-pic';;
- no) standard_libtool_flag='-prefer-non-pic';;
+ yes)
+ standard_libtool_flag='-prefer-pic'
+ ;;
+ no)
+ standard_libtool_flag='-prefer-non-pic'
+ ;;
esac
EXTRA_LDFLAGS="$EXTRA_LDFLAGS -avoid-version -module"
-;;
+ ;;
esac
EXTRA_LIBS="$EXTRA_LIBS $DLIBS $LIBS"
@@ -1018,7 +1026,6 @@
'${prefix}/share')
datadir=$datadir/php
;;
- *) ;;
esac
phplibdir=`pwd`/modules
@@ -1319,18 +1326,18 @@
PHP_ADD_SOURCES(main/streams, streams.c cast.c memory.c filter.c \
plain_wrapper.c userspace.c transports.c xp_socket.c mmap.c \
- unicode_filter.c glob_wrapper.c)
+ unicode_filter.c glob_wrapper.c)
PHP_ADD_SOURCES(/main, internal_functions.c,, sapi)
case $host_alias in
-*netware*)
- PHP_ADD_BUILD_DIR(win32)
- PHP_ADD_BUILD_DIR(netware)
- ;;
-*)
- PHP_ADD_SOURCES(/main, internal_functions_cli.c,, cli)
- ;;
+ *netware*)
+ PHP_ADD_BUILD_DIR(win32)
+ PHP_ADD_BUILD_DIR(netware)
+ ;;
+ *)
+ PHP_ADD_SOURCES(/main, internal_functions_cli.c,, cli)
+ ;;
esac
PHP_ADD_SOURCES(Zend, \
@@ -1346,8 +1353,7 @@
zend_strtol.c zend_gc.c zend_closures.c)
if test -r "$abs_srcdir/Zend/zend_objects.c"; then
- PHP_ADD_SOURCES(Zend, zend_objects.c zend_object_handlers.c
zend_objects_API.c \
- zend_default_classes.c)
+ PHP_ADD_SOURCES(Zend, zend_objects.c zend_object_handlers.c
zend_objects_API.c zend_default_classes.c)
fi
dnl Selectively disable optimization due to high RAM usage during
@@ -1425,13 +1431,6 @@
cli_extensions="$EXT_CLI_STATIC"
sh $srcdir/build/genif.sh $srcdir/main/internal_functions.c.in $srcdir
"$EXTRA_MODULE_PTRS" $AWK \$cli_extensions > main/internal_functions_cli.c
-dnl if cmp main/internal_functions.c.old main/internal_functions.c >
/dev/null 2>&1; then
-dnl echo "main/internal_functions.c is unchanged"
-dnl mv main/internal_functions.c.old main/internal_functions.c
-dnl else
-dnl rm -f main/internal_functions.c.old
-dnl fi
-
if test "$UNAME" = "FreeBSD" && test "$PHP_SAPI" = "apache2filter" && test
"$TSRM_PTH" != "pth-config" ; then
echo
"+--------------------------------------------------------------------+"
echo "| *** WARNING ***
|"
http://cvs.php.net/viewvc.cgi/php-src/ext/standard/basic_functions.c?r1=1.903&r2=1.904&diff_format=u
Index: php-src/ext/standard/basic_functions.c
diff -u php-src/ext/standard/basic_functions.c:1.903
php-src/ext/standard/basic_functions.c:1.904
--- php-src/ext/standard/basic_functions.c:1.903 Mon Jul 21 10:10:34 2008
+++ php-src/ext/standard/basic_functions.c Mon Jul 21 10:16:32 2008
@@ -17,7 +17,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: basic_functions.c,v 1.903 2008/07/21 10:10:34 jani Exp $ */
+/* $Id: basic_functions.c,v 1.904 2008/07/21 10:16:32 jani Exp $ */
#include "php.h"
#include "php_streams.h"
@@ -5064,6 +5064,22 @@
#else
struct passwd *pwd;
+#if defined(ZTS) && defined(HAVE_GETPWUID_R) && defined(_SC_GETPW_R_SIZE_MAX)
+ struct passwd _pw;
+ struct passwd *retpwptr = NULL;
+ int pwbuflen = sysconf(_SC_GETPW_R_SIZE_MAX);
+ char *pwbuf;
+
+ if (pwbuflen < 1) {
+ return "";
+ }
+ pwbuf = emalloc(pwbuflen);
+ if (getpwuid_r(pstat->st_uid, &_pw, pwbuf, pwbuflen, &retpwptr)
!= 0) {
+ efree(pwbuf);
+ return "";
+ }
+ pwd = &_pw;
+#else
if ((pwd=getpwuid(pstat->st_uid))==NULL) {
return "";
}
@@ -5475,7 +5491,7 @@
{
syntax_highlighter_ini->highlight_comment =
INI_STR("highlight.comment");
syntax_highlighter_ini->highlight_default =
INI_STR("highlight.default");
- syntax_highlighter_ini->highlight_html = INI_STR("highlight.html");
+ syntax_highlighter_ini->highlight_html = INI_STR("highlight.html");
syntax_highlighter_ini->highlight_keyword =
INI_STR("highlight.keyword");
syntax_highlighter_ini->highlight_string = INI_STR("highlight.string");
}
--
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php