aboutsummaryrefslogtreecommitdiff
path: root/mail/squirrelmail-avelsieve-plugin
diff options
context:
space:
mode:
Diffstat (limited to 'mail/squirrelmail-avelsieve-plugin')
-rw-r--r--mail/squirrelmail-avelsieve-plugin/Makefile68
-rw-r--r--mail/squirrelmail-avelsieve-plugin/files/patch-avelsieve__include__managesieve.lib.php55
2 files changed, 59 insertions, 64 deletions
diff --git a/mail/squirrelmail-avelsieve-plugin/Makefile b/mail/squirrelmail-avelsieve-plugin/Makefile
index 2c3964af1cc5..3ac700f1d3da 100644
--- a/mail/squirrelmail-avelsieve-plugin/Makefile
+++ b/mail/squirrelmail-avelsieve-plugin/Makefile
@@ -6,78 +6,18 @@
PORTNAME= avelsieve
PORTVERSION= 1.9.7
-PORTREVISION= 1
-CATEGORIES= mail www
-MASTER_SITES= http://www.squirrelmail.org/plugins/
-PKGNAMEPREFIX= squirrelmail-
-PKGNAMESUFFIX= -plugin
+PORTREVISION= 2
DIST_SUBDIR= squirrelmail
MAINTAINER= neil@darlow.co.uk
-COMMENT= Interface to create server-side Sieve scripts
-
-RUN_DEPENDS= ${SQUIRRELDIR}/index.php:${PORTSDIR}/mail/squirrelmail
-
-SQUIRREL_PLUGIN_NAME= ${PORTNAME}
-
-.ifdef SQUIRRELDIR
-PLIST_SUB+= SQUIRRELDIR=${SQUIRRELDIR}
-SUB_LIST+= SQUIRRELDIR=${SQUIRRELDIR}
-.else
-. ifndef WITHOUT_WWWDIR
-SQUIRRELDIR= ${PREFIX}/www/squirrelmail
-PLIST_SUB+= SQUIRRELDIR=www/squirrelmail
-SUB_LIST+= SQUIRRELDIR=www/squirrelmail
-. else
-SQUIRRELDIR= ${PREFIX}/squirrelmail
-PLIST_SUB+= SQUIRRELDIR=squirrelmail
-SUB_LIST+= SQUIRRELDIR=squirrelmail
-. endif
-.endif
-PLIST_SUB+= SQUIRREL_PLUGIN_NAME=${SQUIRREL_PLUGIN_NAME}
-SUB_LIST+= SQUIRREL_PLUGIN_NAME=${SQUIRREL_PLUGIN_NAME}
-
-SUB_FILES= pkg-message
-
-NO_BUILD= yes
-NO_WRKSUBDIR= yes
-USE_PERL5_BUILD= yes
-WANT_PHP_WEB= yes
+COMMENT= SquirrelMail plugin for Server-Side Mail Filtering management
.include <bsd.port.pre.mk>
-
-pre-everything::
- @${ECHO} ""
-.ifndef WITHOUT_ACTIVATE
- @${ECHO} "Activating plug-in in SquirrelMail after installation."
- @${ECHO} "If you don't want to automatically activate the plug-in set"
- @${ECHO} "WITHOUT_ACTIVATE=yes"
-.else
- @${ECHO} "NOT Activating plug-in in SquirrelMail after installation."
- @${ECHO} "If you want to automatically activate the plug-in unset"
- @${ECHO} "WITHOUT_ACTIVATE"
-.endif
- @${ECHO} ""
+.include "${PORTSDIR}/mail/squirrelmail/bsd.squirrelmail.mk"
pre-install:
${RM} -Rf ${WRKSRC}/${SQUIRREL_PLUGIN_NAME}/po
${FIND} ${WRKSRC}/${SQUIRREL_PLUGIN_NAME} -type f \
- \( -name '.cvsignore' -o -name '*.bak' \) -exec ${RM} '{}' ';'
-
-do-install:
- ${CP} -R ${WRKSRC}/${SQUIRREL_PLUGIN_NAME} ${SQUIRRELDIR}/plugins
- ${CHOWN} -R ${WWWOWN}:${WWWGRP} ${SQUIRRELDIR}/plugins/${SQUIRREL_PLUGIN_NAME}
-
-post-install:
-.ifndef WITHOUT_ACTIVATE
-.if exists( ${SQUIRRELDIR}/config/config.php )
- @${ECHO} "Activating plug-in in SquirrelMail"
- ${SQUIRRELDIR}/config/conf.pl --install-plugin ${SQUIRREL_PLUGIN_NAME}
-.endif
-.else
- @${ECHO} "To activate the plug-in in SquirrelMail use"
- @${ECHO} "${SQUIRRELDIR}/config/conf.pl --install-plugin ${SQUIRREL_PLUGIN_NAME}"
-.endif
- @${CAT} ${PKGMESSAGE}
+ \( -name '.cvsignore' -o -name '*.bak' -o -name '*.orig' \) -exec ${RM} {} \;
.include <bsd.port.post.mk>
diff --git a/mail/squirrelmail-avelsieve-plugin/files/patch-avelsieve__include__managesieve.lib.php b/mail/squirrelmail-avelsieve-plugin/files/patch-avelsieve__include__managesieve.lib.php
new file mode 100644
index 000000000000..e3d925b8b4f0
--- /dev/null
+++ b/mail/squirrelmail-avelsieve-plugin/files/patch-avelsieve__include__managesieve.lib.php
@@ -0,0 +1,55 @@
+--- avelsieve/include/managesieve.lib.php.orig 2006-07-24 14:48:27.000000000 +0100
++++ avelsieve/include/managesieve.lib.php 2009-03-26 20:36:33.000000000 +0000
+@@ -686,6 +686,20 @@
+ }
+
+ /**
++ * Neil Darlow - 2009/03/26
++ * Changes to Sieve servers to be compliant with draft-managesieve-09.txt
++ * break authenticate() which cannot handle the capability strings received
++ * after AUTHENTICATE under a TLS encrypted session. We ignore capability
++ * strings for each SASL mechanism.
++ */
++ function ignore_capabilities()
++ {
++ if ($this->capabilities['starttls']) do {
++ $line = fgets($this->fp, 1024);
++ } while (strncmp($line, 'OK', 2));
++ }
++
++ /**
+ * Perform SASL authentication to SIEVE server.
+ *
+ * Attempts to authenticate to SIEVE, using some SASL authentication method
+@@ -701,6 +715,7 @@
+
+ $this->len=strlen($auth);
+ fputs($this->fp, 'AUTHENTICATE "PLAIN" {' . $this->len . '+}' . "\r\n");
++ $this->ignore_capabilities();
+ fputs($this->fp, "$auth\r\n");
+
+ $this->line=fgets($this->fp,1024);
+@@ -717,6 +732,7 @@
+ // SASL DIGEST-MD5 support works with timsieved 1.1.0
+ // follows rfc2831 for generating the $response to $challenge
+ fputs($this->fp, "AUTHENTICATE \"DIGEST-MD5\"\r\n");
++ $this->ignore_capabilities();
+ // $clen is length of server challenge, we ignore it.
+ $clen = fgets($this->fp, 1024);
+ // read for 2048, rfc2831 max length allowed
+@@ -768,6 +784,7 @@
+ // CRAM-MD5 does not support proxy of $auth by $user
+ // requires php mhash extension
+ fputs($this->fp, "AUTHENTICATE \"CRAM-MD5\"\r\n");
++ $this->ignore_capabilities();
+ // $clen is the length of the challenge line the server gives us
+ $clen = fgets($this->fp, 1024);
+ // read for 1024, should be long enough?
+@@ -793,6 +810,7 @@
+ $pass=base64_encode($this->pass);
+
+ fputs($this->fp, "AUTHENTICATE \"LOGIN\"\r\n");
++ $this->ignore_capabilities();
+ fputs($this->fp, "{".strlen($login)."+}\r\n");
+ fputs($this->fp, "$login\r\n");
+ fputs($this->fp, "{".strlen($pass)."+}\r\n");