ID: 12883
User updated by: [EMAIL PROTECTED]
Reported By: [EMAIL PROTECTED]
Status: Open
Bug Type: Feature/Change Request
Operating System: Solaris (SPARC) 2.6
PHP Version: 4.0CVS-2001-08-21
New Comment:
I realized I should probably submit a patch that worked..
it works with 4.0.6, but not 4.0.7dev. The tests that
configure (4.0.7dev) runs to check for SSL support in
c-client misidentifies the krb4 c-client as having ssl. I
can configure and build 4.0.7dev if I disable the
IMAP_CHK_SSL in ext/imap/config.m4 and rerun buildconf.
configure: error: This c-client library is build with SSL
support.
Add --with-imap-ssl<=DIR> to your configure line.
Check config.log for details.
config.log:
configure:25058: gcc -o conftest -g -O2
-D_POSIX_PTHREAD_SEMANTICS -R/usr/ucblib -L/usr/ucblib
-R/usr/local/gnu/lib/gcc-lib/sparc-sun-solaris2.6/2.95.2
-L/usr/local/gnu/lib/gcc-lib/sparc-sun-solaris2.6/2.95.2
-R/usr/local/build/imap-2000c/lib
-L/usr/local/build/imap-2000c/lib -R/usr/local/krb4/lib
-L/usr/local/krb4/lib conftest.c -lcrypt -lpam -lcrypt
-lresolv -lresolv -lm -ldl -lnsl -lsocket -lsocket -lgcc
-lcrypt -ldes -lkrb -L/usr/local/build/imap-2000c/lib
-lc-client 1>&5
Undefined first referenced
symbol in file
tkt_string
/usr/local/build/imap-2000c/lib/libc-client.a(osdep.o)
(bunch of these for the krb4 functions). I think it's
because it's put an -lcrypt where it doesn't belong and
it's conflicting with some of the calls in the krb4 des
library. Not sure tho..
So.. here's the patch for 4.0.6.. again, it works as a cgi,
but not as an apache server module, and i've no idea why.
Trying to figure that part out..
diff -p -N -U 4 -r ext/imap/config.m4
ext/imap.krb4/config.m4
--- ext/imap/config.m4 Mon May 21 20:38:46 2001
+++ ext/imap.krb4/config.m4 Tue Aug 21 16:03:59 2001
@@ -20,8 +20,25 @@ AC_DEFUN(IMAP_LIB_CHK,[
fi
done
])
+AC_DEFUN(PHP_IMAP_KRB4_CHK, [
+ PHP_ARG_WITH(krb4,for KerberosIV support in IMAP,
+ [ --with-krb4[=DIR] IMAP: Include KerberosIV
support.])
+
+ if test "$PHP_KRB4" = "yes"; then
+ test -d /usr/kerberos && PHP_KRB4=/usr/kerberos
+ fi
+
+ if test "$PHP_KRB4" != "no"; then
+ AC_DEFINE(HAVE_IMAP_KRB4,1,[ ])
+ PHP_ADD_LIBPATH($PHP_KRB4/lib, IMAP_SHARED_LIBADD)
+ PHP_ADD_LIBRARY(des, 1, IMAP_SHARED_LIBADD)
+ PHP_ADD_LIBRARY(krb, 1, IMAP_SHARED_LIBADD)
+ fi
+])
+
+
AC_DEFUN(PHP_IMAP_KRB_CHK, [
PHP_ARG_WITH(kerberos,for Kerberos support in IMAP,
[ --with-kerberos[=DIR] IMAP: Include Kerberos
support.])
@@ -134,7 +151,8 @@ if test "$PHP_IMAP" != "no"; then
PHP_ADD_INCLUDE($IMAP_INC_DIR)
PHP_ADD_LIBPATH($IMAP_LIBDIR, IMAP_SHARED_LIBADD)
PHP_ADD_LIBRARY_DEFER($IMAP_LIB)
+ PHP_IMAP_KRB4_CHK
PHP_IMAP_KRB_CHK
PHP_IMAP_SSL_CHK
fi
diff -p -N -U 4 -r ext/imap/php_imap.c
ext/imap.krb4/php_imap.c
--- ext/imap/php_imap.c Tue Aug 21 16:06:23 2001
+++ ext/imap.krb4/php_imap.c Tue Aug 21 16:44:31 2001
@@ -449,8 +449,9 @@ PHP_MINIT_FUNCTION(imap)
#ifndef PHP_WIN32
mail_link(&mmdfdriver); /* link in the mmdf
driver */
mail_link(&newsdriver); /* link in the news
driver */
mail_link(&philedriver); /* link in the
phile driver */
+ auth_link(&auth_krb); /* link in the krb
authenticator */
auth_link(&auth_log); /* link in the log
authenticator */
auth_link(&auth_md5); /* link in the cram-md5
authenticator */
#ifdef HAVE_IMAP_SSL
ssl_onceonlyinit ();
Previous Comments:
------------------------------------------------------------------------
[2001-08-21 14:02:12] [EMAIL PROTECTED]
the line wrapping might be a little off..
this should allow php_imap.c to support a kerberized (krb4) c-client, with the
appropriate configure options.
it works with the CGI, but not the apache server module. i'm not sure why. we're
trying to figure that part out.
-----------------------------------------------------------
diff -p -N -U 4 -r ext/imap/config.m4 ext/imap-krb4/config.m4
--- ext/imap/config.m4 Tue Aug 21 12:41:18 2001
+++ ext/imap-krb4/config.m4 Tue Aug 21 13:50:28 2001
@@ -20,8 +20,37 @@ AC_DEFUN(IMAP_LIB_CHK,[
fi
done
])
+AC_DEFUN(PHP_IMAP_KRB4_CHK, [
+ AC_ARG_WITH(krb4,
+ [ --with-krb4[=DIR] IMAP: Include KerberosIV support. DIR is the Kerber
+os install dir.],[
+ PHP_KRB4=$withval
+ ],[
+ PHP_KRB4=no
+ ])
+
+ if test "$PHP_KRB4" = "yes"; then
+ test -d /usr/kerberos && PHP_KERBEROS=/usr/kerberos
+ fi
+
+ if test "$PHP_KRB4" != "no"; then
+ AC_DEFINE(HAVE_IMAP_KRB4,1,[ ])
+ PHP_ADD_LIBPATH($PHP_KRB4/lib, IMAP_SHARED_LIBADD)
+ PHP_ADD_LIBRARY(des, 1, IMAP_SHARED_LIBADD)
+ PHP_ADD_LIBRARY(krb, 1, IMAP_SHARED_LIBADD)
+ else
+ AC_EGREP_HEADER(auth_krb, $IMAP_INC_DIR/linkage.h, [
+ AC_MSG_ERROR(This c-client library is build with Kerberos support.
+
+ Add --with-krb4<=DIR> to your configure line. Check config.log for det
+ails.)
+ ])
+ fi
+
+])
+
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
@@ -163,7 +192,8 @@ if test "$PHP_IMAP" != "no"; then
PHP_ADD_INCLUDE($IMAP_INC_DIR)
PHP_ADD_LIBPATH($IMAP_LIBDIR, IMAP_SHARED_LIBADD)
PHP_ADD_LIBRARY_DEFER($IMAP_LIB,, IMAP_SHARED_LIBADD)
+ PHP_IMAP_KRB4_CHK
PHP_IMAP_KRB_CHK
PHP_IMAP_SSL_CHK
fi
diff -p -N -U 4 -r ext/imap/php_imap.c ext/imap-krb4/php_imap.c
--- ext/imap/php_imap.c Tue Aug 21 13:35:28 2001
+++ ext/imap-krb4/php_imap.c Tue Aug 21 12:45:53 2001
@@ -413,8 +413,9 @@ PHP_MINIT_FUNCTION(imap)
/* mail_link(&mxdriver); */ /* According to c-client docs (internal.
txt) this shouldn't be used. */
mail_link(&mmdfdriver); /* link in the mmdf driver */
mail_link(&newsdriver); /* link in the news driver */
mail_link(&philedriver); /* link in the phile driver */
+ auth_link(&auth_krb); /* link in the krb authenticator */
auth_link(&auth_md5); /* link in the cram-md5 authenticator */
auth_link(&auth_log); /* link in the log authenticator */
#ifdef HAVE_IMAP_SSL
ssl_onceonlyinit ();
------------------------------------------------------------------------
Edit this bug report at http://bugs.php.net/?id=12883&edit=1
--
PHP Development Mailing List <http://www.php.net/>
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]