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]

Reply via email to