|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
Patchespatch-ext_imap_config.m4 (last revision 2017-11-25 20:06 UTC by jdolecek at NetBSD dot org)Pull RequestsHistoryAllCommentsChangesGit/SVN commits
[2016-12-30 18:55 UTC] cmb@php.net
-Package: Feature/Change Request
+Package: IMAP related
[2017-11-25 20:08 UTC] jdolecek at NetBSD dot org
[2018-02-16 22:24 UTC] jdolecek at NetBSD dot org
[2019-07-15 00:10 UTC] girgias@php.net
-Status: Open
+Status: Closed
-Assigned To:
+Assigned To: girgias
[2019-07-15 00:10 UTC] girgias@php.net
|
|||||||||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Fri Oct 24 12:00:01 2025 UTC |
Description: ------------ It would be nice if it would be possible to compile imap module directly with imap-uw linkage file, so that all supported authentication modules and protocols would be available. Actually, patches implementing this are in NetBSD pkgsrc system for some time, and I hope such option would be useful for other systems too. Having this option integrated in main PHP tree would ease our package maintenance, too :) Note there is similar (now closed) PR #4136 with same issue. The bug DB entry claims it was fixed in CVS, I don't know why it was backed off. Anyway, following patch adds configure option --with-imap-linkage. This option makes php_imap.c #include directly c-client linkage.c, instead of using list of hardcoded stuff. Default is same as now, i.e. to NOT use linkage.c. The --with-imap-linkage also disables the --with-kerberos check, since that is not needed in this case. Patch #1 -- cut here -- --- config.m4.orig 2003-10-03 07:25:35.000000000 +0200 +++ config.m4 @@ -54,6 +54,14 @@ AC_DEFUN(PHP_IMAP_TEST_BUILD, [ ]) ]) +dsl Must be before --with-kerberos, affects the check +PHP_ARG_WITH(imap-linkage,use IMAP c-client linkage, +[ --with-imap-linkage Use IMAP c-client linkage to determine supported ite ms.]) + +if test "$PHP_IMAP_LINKAGE" != "no"; then + AC_DEFINE(HAVE_IMAP_LINKAGE, 1, [ ]) +fi + AC_DEFUN(PHP_IMAP_KRB_CHK, [ AC_ARG_WITH(kerberos, [ --with-kerberos[=DIR] IMAP: Include Kerberos support. DIR is the Kerbe ros install dir.],[ @@ -90,7 +98,7 @@ AC_DEFUN(PHP_IMAP_KRB_CHK, [ 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 + elif test "$PHP_IMAP_LINKAGE" != "yes"; then AC_EGREP_HEADER(auth_gss, $IMAP_INC_DIR/linkage.h, [ AC_MSG_ERROR([This c-client library is built with Kerberos support. -- cut here -- Patch #2 -- cut here -- --- php_imap.c.orig 2003-09-04 09:48:30.000000000 +0200 +++ php_imap.c @@ -408,6 +408,11 @@ PHP_MINIT_FUNCTION(imap) ZEND_INIT_MODULE_GLOBALS(imap, php_imap_init_globals, NULL) +/* + * Optionally use the installed c-client linkage.c to determine which drivers + * are authenticators are linked in. Otherwise use this fixed list. + */ +#ifndef HAVE_IMAP_LINKAGE #ifndef PHP_WIN32 mail_link(&unixdriver); /* link in the unix driver */ mail_link(&mhdriver); /* link in the mh driver */ @@ -423,6 +428,10 @@ PHP_MINIT_FUNCTION(imap) mail_link(&tenexdriver); /* link in the tenex driver */ mail_link(&mtxdriver); /* link in the mtx driver */ mail_link(&dummydriver); /* link in the dummy driver */ +#else /* HAVE_IMAP_LINKAGE */ + /* link in the c-client mail and auth drivers */ +#include "linkage.c" +#endif /* HAVE_IMAP_LINKAGE */ #ifndef PHP_WIN32 auth_link(&auth_log); /* link in the log authenticator */ -- cut here -- Reproduce code: --------------- Code inspection - php_imap.c uses fixed list instead of using imap-uw supplied linkage.c.