summaryrefslogtreecommitdiff
path: root/ext/imap
diff options
context:
space:
mode:
authorfoobar <sniper@php.net>2003-01-18 07:00:47 +0000
committerfoobar <sniper@php.net>2003-01-18 07:00:47 +0000
commit83e9f231827d19ece6c3be32ec6c8162db478fb4 (patch)
tree248f3bdef1b34b2cf6619cb3d732aa5e0d9b8fdd /ext/imap
parentaba4c07be1c16a6af7e7c287c2cdad2a01ef58ad (diff)
downloadphp-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.m422
-rw-r--r--ext/imap/php_imap.c6
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