sniper Thu Dec 30 09:54:36 2004 EDT Modified files: (Branch: PHP_4_3) /php-src NEWS acinclude.m4 /php-src/ext/imap config.m4 /php-src/ext/openssl config0.m4 Log: MFH: - Fixed bug #31101 (missing kerberos header file path with --with-openssl)
http://cvs.php.net/diff.php/php-src/NEWS?r1=1.1247.2.789&r2=1.1247.2.790&ty=u Index: php-src/NEWS diff -u php-src/NEWS:1.1247.2.789 php-src/NEWS:1.1247.2.790 --- php-src/NEWS:1.1247.2.789 Wed Dec 29 20:01:54 2004 +++ php-src/NEWS Thu Dec 30 09:54:33 2004 @@ -11,6 +11,7 @@ - Fixed bugs #31107, #31110, #31111 (Compile failure of zend_strtod.c). (Jani) - Fixed bug #31106 (Fixed crash in overloaded objects). (Stas) - Fixed bug #31103 (Better error message when c-client cannot be found). (Ilia) +- Fixed bug #31101 (missing kerberos header file path with --with-openssl). (Jani) - Fixed bug #31072 (var_export() does not output an array element with an empty string key). (Derick) - Fixed bug #31056 (php_std_date() returns invalid formatted date if http://cvs.php.net/diff.php/php-src/acinclude.m4?r1=1.218.2.42&r2=1.218.2.43&ty=u Index: php-src/acinclude.m4 diff -u php-src/acinclude.m4:1.218.2.42 php-src/acinclude.m4:1.218.2.43 --- php-src/acinclude.m4:1.218.2.42 Thu Dec 30 02:02:15 2004 +++ php-src/acinclude.m4 Thu Dec 30 09:54:34 2004 @@ -1,4 +1,4 @@ -dnl $Id: acinclude.m4,v 1.218.2.42 2004/12/30 07:02:15 sniper Exp $ -*- autoconf -*- +dnl $Id: acinclude.m4,v 1.218.2.43 2004/12/30 14:54:34 sniper Exp $ -*- autoconf -*- dnl dnl This file contains local autoconf functions. @@ -1584,6 +1584,64 @@ ]) ]) +dnl +dnl PHP_SETUP_KERBEROS(shared-add [, action-found [, action-not-found]]) +dnl +dnl Common setup macro for kerberos +dnl +AC_DEFUN([PHP_SETUP_KERBEROS],[ + found_kerberos=no + unset KERBEROS_CFLAGS + unset KERBEROS_LIBS + + dnl First try to find krb5-config + if test -z "$KRB5_CONFIG"; then + AC_PATH_PROG(KRB5_CONFIG, krb5-config, no, [$PATH:/usr/kerberos/bin:/usr/local/bin]) + fi + + dnl If krb5-config is found try using it + if test "$PHP_KERBEROS" = "yes" && test -x "$KRB5_CONFIG"; then + KERBEROS_LIBS=`$KRB5_CONFIG --libs gssapi` + KERBEROS_CFLAGS=`$KRB5_CONFIG --cflags gssapi` + + if test -n "$KERBEROS_LIBS" && test -n "$KERBEROS_CFLAGS"; then + found_kerberos=yes + PHP_EVAL_LIBLINE($KERBEROS_LIBS, $1) + PHP_EVAL_INCLINE($KERBEROS_CFLAGS) + fi + fi + + dnl If still not found use old skool method + if test "$found_kerberos" = "no"; then + + if test "$PHP_KERBEROS" = "yes"; then + PHP_KERBEROS="/usr/kerberos /usr/local /usr" + fi + + for i in $PHP_KERBEROS; do + if test -f $i/lib/libkrb5.a || test -f $i/lib/libkrb5.$SHLIB_SUFFIX_NAME; then + PHP_KERBEROS_DIR=$i + break + fi + done + + if test "$PHP_KERBEROS_DIR"; then + found_kerberos=yes + PHP_ADD_LIBPATH($PHP_KERBEROS_DIR/lib, $1) + PHP_ADD_LIBRARY(gssapi_krb5, 1, $1) + PHP_ADD_LIBRARY(krb5, 1, $1) + PHP_ADD_LIBRARY(k5crypto, 1, $1) + PHP_ADD_LIBRARY(com_err, 1, $1) + PHP_ADD_INCLUDE($PHP_KERBEROS_DIR/include) + fi + fi + + if test "$found_kerberos" = "yes"; then +ifelse([$2],[],:,[$2]) +ifelse([$3],[],,[else $3]) + fi +]) + dnl dnl PHP_SETUP_OPENSSL(shared-add [, action-found [, action-not-found]]) dnl @@ -1594,13 +1652,20 @@ unset OPENSSL_INCDIR unset OPENSSL_LIBDIR + dnl Fallbacks for different configure options + if test "$PHP_OPENSSL" != "no"; then + PHP_OPENSSL_DIR=$PHP_OPENSSL + elif test "$PHP_IMAP_SSL" != "no"; then + PHP_OPENSSL_DIR=$PHP_IMAP_SSL + fi + dnl First try to find pkg-config if test -z "$PKG_CONFIG"; then AC_PATH_PROG(PKG_CONFIG, pkg-config, no) fi dnl If pkg-config is found try using it - if test "$PHP_OPENSSL" = "yes" && test -x "$PKG_CONFIG" && $PKG_CONFIG --exists openssl; then + if test "$PHP_OPENSSL_DIR" = "yes" && test -x "$PKG_CONFIG" && $PKG_CONFIG --exists openssl; then if $PKG_CONFIG --atleast-version=0.9.6 openssl; then found_openssl=yes OPENSSL_LIBS=`$PKG_CONFIG --libs openssl` @@ -1614,15 +1679,16 @@ PHP_EVAL_LIBLINE($OPENSSL_LIBS, $1) PHP_EVAL_INCLINE($OPENSSL_INCS) fi + fi - else - - dnl If pkg-config fails for some reason, revert to the old method - if test "$PHP_OPENSSL" = "yes"; then - PHP_OPENSSL="/usr/local/ssl /usr/local /usr /usr/local/openssl" + dnl If pkg-config fails for some reason, revert to the old method + if test "$found_openssl" = "no"; then + + if test "$PHP_OPENSSL_DIR" = "yes"; then + PHP_OPENSSL_DIR="/usr/local/ssl /usr/local /usr /usr/local/openssl" fi - for i in $PHP_OPENSSL; do + for i in $PHP_OPENSSL_DIR; do if test -r $i/include/openssl/evp.h; then OPENSSL_INCDIR=$i/include fi @@ -1680,11 +1746,11 @@ PHP_ADD_LIBPATH($OPENSSL_LIBDIR, $1) fi + if test "$found_openssl" = "yes"; then dnl For apache 1.3.x static build OPENSSL_INCDIR_OPT=-I$OPENSSL_INCDIR AC_SUBST(OPENSSL_INCDIR_OPT) - if test "$found_openssl" = "yes"; then ifelse([$2],[],:,[$2]) ifelse([$3],[],,[else $3]) fi http://cvs.php.net/diff.php/php-src/ext/imap/config.m4?r1=1.49.2.13&r2=1.49.2.14&ty=u Index: php-src/ext/imap/config.m4 diff -u php-src/ext/imap/config.m4:1.49.2.13 php-src/ext/imap/config.m4:1.49.2.14 --- php-src/ext/imap/config.m4:1.49.2.13 Thu Dec 30 02:02:17 2004 +++ php-src/ext/imap/config.m4 Thu Dec 30 09:54:35 2004 @@ -1,5 +1,5 @@ dnl -dnl $Id: config.m4,v 1.49.2.13 2004/12/30 07:02:17 sniper Exp $ +dnl $Id: config.m4,v 1.49.2.14 2004/12/30 14:54:35 sniper Exp $ dnl AC_DEFUN([IMAP_INC_CHK],[if test -r "$i$1/c-client.h"; then @@ -55,41 +55,16 @@ ]) AC_DEFUN([PHP_IMAP_KRB_CHK], [ - AC_ARG_WITH(kerberos, - [ --with-kerberos[=DIR] IMAP: Include Kerberos support. DIR is the Kerberos install dir.],[ - PHP_KERBEROS=$withval - ],[ - PHP_KERBEROS=no - ]) - if test "$PHP_KERBEROS" != "no"; then - - if test "$PHP_KERBEROS" = "yes"; then - SEARCH_PATHS="/usr/kerberos /usr/local /usr" - else - SEARCH_PATHS=$PHP_KERBEROS - fi - - for i in $SEARCH_PATHS; do - if test -f $i/lib/libkrb5.a || test -f $i/lib/libkrb5.$SHLIB_SUFFIX_NAME; then - PHP_KERBEROS_DIR=$i - break - fi - done - - if test -z "$PHP_KERBEROS_DIR"; then + PHP_SETUP_KERBEROS(IMAP_SHARED_LIBADD, + [ + AC_DEFINE(HAVE_IMAP_KRB,1,[ ]) + ], [ AC_MSG_ERROR([Kerberos libraries not found. Check the path given to --with-kerberos (if no path is given, searches in /usr/kerberos, /usr/local and /usr ) ]) - fi - AC_DEFINE(HAVE_IMAP_KRB,1,[ ]) - PHP_ADD_LIBPATH($PHP_KERBEROS_DIR/lib, IMAP_SHARED_LIBADD) - PHP_ADD_LIBRARY(gssapi_krb5, 1, IMAP_SHARED_LIBADD) - PHP_ADD_LIBRARY(krb5, 1, IMAP_SHARED_LIBADD) - PHP_ADD_LIBRARY(k5crypto, 1, IMAP_SHARED_LIBADD) - PHP_ADD_LIBRARY(com_err, 1, IMAP_SHARED_LIBADD) - PHP_ADD_INCLUDE($PHP_KERBEROS_DIR/include) + ]) else AC_EGREP_HEADER(auth_gss, $IMAP_INC_DIR/linkage.h, [ AC_MSG_ERROR([This c-client library is built with Kerberos support. @@ -98,31 +73,26 @@ ]) ]) fi - ]) AC_DEFUN([PHP_IMAP_SSL_CHK], [ - AC_ARG_WITH(imap-ssl, - [ --with-imap-ssl=<DIR> IMAP: Include SSL support. DIR is the OpenSSL install dir.],[ - PHP_IMAP_SSL=$withval - ],[ - PHP_IMAP_SSL=no - ]) - - if test "$PHP_IMAP_SSL" = "yes"; then - PHP_IMAP_SSL=/usr - fi - - AC_MSG_CHECKING([whether SSL libraries are needed for c-client]) - if test "$PHP_IMAP_SSL" != "no"; then - AC_MSG_RESULT([$PHP_IMAP_SSL/lib]) - AC_DEFINE(HAVE_IMAP_SSL,1,[ ]) - PHP_ADD_LIBRARY_DEFER(ssl, 1, IMAP_SHARED_LIBADD) - PHP_ADD_LIBRARY_DEFER(crypto, 1, IMAP_SHARED_LIBADD) - PHP_ADD_LIBPATH($PHP_IMAP_SSL/lib, IMAP_SHARED_LIBADD) - else - AC_MSG_RESULT(no) + PHP_SETUP_OPENSSL(IMAP_SHARED_LIBADD, + [ + AC_DEFINE(HAVE_IMAP_SSL,1,[ ]) + ], [ + AC_MSG_ERROR([OpenSSL libraries not found. + + Check the path given to --with-openssl-dir and output in config.log) + ]) + ]) + elif test -f "$IMAP_INC_DIR/linkage.c"; then + AC_EGREP_HEADER(ssl_onceonlyinit, $IMAP_INC_DIR/linkage.c, [ + AC_MSG_ERROR([This c-client library is built with SSL support. + + Add --with-imap-ssl to your configure line. Check config.log for details. + ]) + ]) fi ]) @@ -130,8 +100,14 @@ PHP_ARG_WITH(imap,for IMAP support, [ --with-imap[=DIR] Include IMAP support. DIR is the c-client install prefix.]) -if test "$PHP_IMAP" != "no"; then +PHP_ARG_WITH(kerberos,for IMAP Kerberos support, +[ --with-kerberos[=DIR] IMAP: Include Kerberos support. DIR is the Kerberos install prefix.], no, no) + +PHP_ARG_WITH(imap-ssl,for IMAP SSL support, +[ --with-imap-ssl[=DIR] IMAP: Include SSL support. DIR is the OpenSSL install prefix.], no, no) + +if test "$PHP_IMAP" != "no"; then PHP_SUBST(IMAP_SHARED_LIBADD) PHP_NEW_EXTENSION(imap, php_imap.c, $ext_shared) AC_DEFINE(HAVE_IMAP,1,[ ]) http://cvs.php.net/diff.php/php-src/ext/openssl/config0.m4?r1=1.2.2.2&r2=1.2.2.3&ty=u Index: php-src/ext/openssl/config0.m4 diff -u php-src/ext/openssl/config0.m4:1.2.2.2 php-src/ext/openssl/config0.m4:1.2.2.3 --- php-src/ext/openssl/config0.m4:1.2.2.2 Sat Nov 29 07:07:45 2003 +++ php-src/ext/openssl/config0.m4 Thu Dec 30 09:54:35 2004 @@ -1,22 +1,28 @@ dnl -dnl $Id: config0.m4,v 1.2.2.2 2003/11/29 12:07:45 sniper Exp $ +dnl $Id: config0.m4,v 1.2.2.3 2004/12/30 14:54:35 sniper Exp $ dnl PHP_ARG_WITH(openssl, for OpenSSL support, [ --with-openssl[=DIR] Include OpenSSL support (requires OpenSSL >= 0.9.6)]) +PHP_ARG_WITH(kerberos, for Kerberos support, +[ --with-kerberos[=DIR] OPENSSL: Include Kerberos support], no, no) + if test "$PHP_OPENSSL" != "no"; then + PHP_NEW_EXTENSION(openssl, openssl.c, $ext_shared) + PHP_SUBST(OPENSSL_SHARED_LIBADD) + + if test "$PHP_KERBEROS" != "no"; then + PHP_SETUP_KERBEROS(OPENSSL_SHARED_LIBADD) + fi + PHP_SETUP_OPENSSL(OPENSSL_SHARED_LIBADD, [ - PHP_NEW_EXTENSION(openssl, openssl.c, $ext_shared) - PHP_SUBST(OPENSSL_SHARED_LIBADD) - if test "$ext_shared" = "yes"; then AC_DEFINE(HAVE_OPENSSL_SHARED_EXT,1,[ ]) else AC_DEFINE(HAVE_OPENSSL_EXT,1,[ ]) fi - ], [ AC_MSG_ERROR([OpenSSL check failed. Please check config.log for more information.]) ])
-- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php