diff options
author | foobar <sniper@php.net> | 2003-01-18 07:00:47 +0000 |
---|---|---|
committer | foobar <sniper@php.net> | 2003-01-18 07:00:47 +0000 |
commit | 83e9f231827d19ece6c3be32ec6c8162db478fb4 (patch) | |
tree | 248f3bdef1b34b2cf6619cb3d732aa5e0d9b8fdd /ext/imap | |
parent | aba4c07be1c16a6af7e7c287c2cdad2a01ef58ad (diff) | |
download | php-git-83e9f231827d19ece6c3be32ec6c8162db478fb4.tar.gz |
Fix bug: #21687, imap extension does not include gss authentication mechanism
Diffstat (limited to 'ext/imap')
-rw-r--r-- | ext/imap/config.m4 | 22 | ||||
-rw-r--r-- | ext/imap/php_imap.c | 6 |
2 files changed, 19 insertions, 9 deletions
diff --git a/ext/imap/config.m4 b/ext/imap/config.m4 index be9f492e6b..cb74f15e51 100644 --- a/ext/imap/config.m4 +++ b/ext/imap/config.m4 @@ -21,10 +21,10 @@ AC_DEFUN(IMAP_LIB_CHK,[ done ]) -dnl PHP_IMAP_TEST_BUILD(action-if-ok, action-if-not-ok [, extra-libs]) +dnl PHP_IMAP_TEST_BUILD(function, action-if-ok, action-if-not-ok [, extra-libs]) AC_DEFUN(PHP_IMAP_TEST_BUILD, [ old_LIBS=$LIBS - LIBS="$3 $LIBS" + LIBS="$4 $LIBS" AC_TRY_RUN([ void mm_log(void){} void mm_dlog(void){} @@ -41,17 +41,17 @@ AC_DEFUN(PHP_IMAP_TEST_BUILD, [ void mm_exists(void){} void mm_searched(void){} void mm_expunged(void){} - char mail_open(); + char $1(); int main() { - mail_open(0,"",0); + $1(); return 0; } ], [ LIBS=$old_LIBS - $1 + $2 ],[ LIBS=$old_LIBS - $2 + $3 ]) ]) @@ -127,7 +127,7 @@ AC_DEFUN(PHP_IMAP_SSL_CHK, [ TST_LIBS="$TST_LIBS -L$PHP_KERBEROS/lib -lgssapi_krb5 -lkrb5 -lk5crypto -lcom_err" fi - PHP_IMAP_TEST_BUILD([ + PHP_IMAP_TEST_BUILD(ssl_onceonlyinit, [ AC_MSG_RESULT(no) ], [ AC_MSG_RESULT(yes) @@ -204,8 +204,14 @@ if test "$PHP_IMAP" != "no"; then dnl Test the build in the end TST_LIBS="$DLIBS $IMAP_SHARED_LIBADD" + + dnl Check if auth_gss exists + PHP_IMAP_TEST_BUILD(auth_gssapi_valid, [ + AC_DEFINE(HAVE_IMAP_AUTH_GSS, 1, [ ]) + ], [], $TST_LIBS) + AC_MSG_CHECKING(whether IMAP works) - PHP_IMAP_TEST_BUILD([ + PHP_IMAP_TEST_BUILD(mail_open, [ AC_MSG_RESULT(yes) ], [ AC_MSG_RESULT(no) diff --git a/ext/imap/php_imap.c b/ext/imap/php_imap.c index af12742c12..8362583cb3 100644 --- a/ext/imap/php_imap.c +++ b/ext/imap/php_imap.c @@ -415,7 +415,11 @@ PHP_MINIT_FUNCTION(imap) #ifndef PHP_WIN32 auth_link(&auth_log); /* link in the log authenticator */ auth_link(&auth_md5); /* link in the cram-md5 authenticator */ -#ifdef HAVE_IMAP_SSL +#ifdef HAVE_IMAP_AUTH_GSS + auth_link(&auth_gss); /* link in the gss authenticator */ +#endif + +#ifdef HAVE_IMAP_SSL ssl_onceonlyinit (); #endif #endif |