cvs: php4 /ext/vpopmail config.m4 php_vpopmail.c

From: Date: Tue, 19 Mar 2002 22:47:39 +0000
Subject: cvs: php4 /ext/vpopmail config.m4 php_vpopmail.c
Groups: php.cvs 
Request: Send a blank email to php-cvs+get-10442@lists.php.net to get a copy of this message
mfischer Tue Mar 19 17:47:39 2002 EDT Modified files: /php4/ext/vpopmail config.m4 php_vpopmail.c Log: - Support vpopmail 5.2 (fixes #16120). Index: php4/ext/vpopmail/config.m4 diff -u php4/ext/vpopmail/config.m4:1.11 php4/ext/vpopmail/config.m4:1.12 --- php4/ext/vpopmail/config.m4:1.11 Sun Mar 17 03:33:24 2002 +++ php4/ext/vpopmail/config.m4 Tue Mar 19 17:47:34 2002 @@ -1,5 +1,5 @@ dnl -dnl $Id: config.m4,v 1.11 2002/03/17 08:33:24 mfischer Exp $ +dnl $Id: config.m4,v 1.12 2002/03/19 22:47:34 mfischer Exp $ dnl PHP_ARG_WITH(vpopmail, for vpopmail support, @@ -22,20 +22,28 @@ VPOPMAIL_LIB_DIR=$i/lib fi - if test -r $i/vadddomain; then + if test -x $i/vadddomain; then VPOPMAIL_BIN_DIR=$i - elif test -r $i/bin/vadddomain; then + elif test -x $i/bin/vadddomain; then VPOPMAIL_BIN_DIR=$i/bin fi done - for i in "$VPOPMAIL_INC_DIR/vpopmail.h" "$VPOPMAIL_INC_DIR/vpopmail_config.h" "$VPOPMAIL_LIB_DIR/libvpopmail.a" "$VPOPMAIL_BIN_DIR/vadddomain" "$VPOPMAIL_BIN_DIR/vaddaliasdomain" "$VPOPMAIL_BIN_DIR/vdeldomain" ; do + for i in "$VPOPMAIL_INC_DIR/vpopmail.h" "$VPOPMAIL_INC_DIR/vpopmail_config.h" "$VPOPMAIL_LIB_DIR/libvpopmail.a"; do if test ! -r "$i"; then AC_MSG_ERROR(Could not find '$i'. Please make sure you have vpopmail installed. Use ./configure --with-vpopmail=<vpopmail-home-dir> if necessary) fi done + for i in "$VPOPMAIL_BIN_DIR/vadddomain" "$VPOPMAIL_BIN_DIR/vaddaliasdomain" "$VPOPMAIL_BIN_DIR/vdeldomain" ; do + if test ! -x "$i"; then + AC_MSG_ERROR(Could not find '$i' or binary not executeable under current user. +Please make sure you have vpopmail properly installed. +Use ./configure --with-vpopmail=<vpopmail-home-dir> if necessary) + fi + done + AC_MSG_RESULT($VPOPMAIL_DIR) dnl newer versions of vpopmail have include/vauth.h defining valias functions @@ -56,6 +64,31 @@ AC_DEFINE(HAVE_VPOPMAIL,1,[Whether you have vpopmail]) AC_DEFINE_UNQUOTED(VPOPMAIL_BIN_DIR,"$VPOPMAIL_BIN_DIR",[vpopmail bin path]) + + dnl Detect if we have vpopmail >= 5.2 to accomodate C-API changes + dnl + dnl The current table is: + dnl + dnl PHP API VPOPMAIL VERSION + dnl 1 < 5.2 + dnl 2 >= 5.2 + vpopmail_internal_api=1 + version=grep VERSION $VPOPMAIL_INC_DIR/vpopmail_config.h + if test -n "$version"; then + version_major=echo "$version" | sed 's/^[[^"]]\+"\([[0-9]]\+\)\.[[0-9]]\+"/\1/'; + version_minor=echo "$version" | sed 's/^[[^"]]\+"[[0-9]]\+\.\([[0-9]]\+\)"/\1/' + if test $version_major -ge 5; then + if test $version_major -eq 5; then + if test $version_minor -ge 2; then + vpopmail_internal_api=2 + fi + fi + if test $version_major -gt 5; then + vpopmail_internal_api=2 + fi + fi + fi + AC_DEFINE_UNQUOTED(HAVE_VPOPMAIL_API,$vpopmail_internal_api,[Interal definition for vpopmail API changes]) PHP_NEW_EXTENSION(vpopmail, php_vpopmail.c, $ext_shared) fi Index: php4/ext/vpopmail/php_vpopmail.c diff -u php4/ext/vpopmail/php_vpopmail.c:1.25 php4/ext/vpopmail/php_vpopmail.c:1.26 --- php4/ext/vpopmail/php_vpopmail.c:1.25 Tue Mar 12 22:51:21 2002 +++ php4/ext/vpopmail/php_vpopmail.c Tue Mar 19 17:47:36 2002 @@ -17,7 +17,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: php_vpopmail.c,v 1.25 2002/03/13 03:51:21 bbonev Exp $ */ +/* $Id: php_vpopmail.c,v 1.26 2002/03/19 22:47:36 mfischer Exp $ */ /* TODO: move to config.m4 when support for old versions is ready or just * don't support rather old vpopmail. current version must bail out if @@ -285,7 +285,11 @@ RETURN_FALSE; } +#if (!defined(HAVE_VPOPMAIL_API) || HAVE_VPOPMAIL_API == 1) if (add_domain_assign(Z_STRVAL_PP(aliasdomain), Dir, uid, gid) != 1) { +#else + if (add_domain_assign(Z_STRVAL_PP(aliasdomain), Z_STRVAL_PP(domain), Dir, uid, gid) != 1) { +#endif php_error(E_WARNING, "vpopmail_addaliasdomain could not add domain to control files"); VPOPMAILG(vpopmail_errno) = 1; RETURN_FALSE; @@ -922,7 +926,7 @@ } /* }}} */ -#endif HAVE_VPOPMAIL +#endif /* HAVE_VPOPMAIL */ /* * Local variables:

« previous php.cvs (#10442) next »