Fri Feb 5 17:40:51 2010 UTC ()
Add a patch from Jonathan Angliss fixing IMAP search problems:
http://thread.gmane.org/gmane.mail.squirrelmail.user/36642

Bump PKGREVISION.


(wiz)
diff -r1.110 -r1.111 pkgsrc/mail/squirrelmail/Makefile
diff -r1.56 -r1.57 pkgsrc/mail/squirrelmail/distinfo
diff -r0 -r1.5 pkgsrc/mail/squirrelmail/patches/patch-ac

cvs diff -r1.110 -r1.111 pkgsrc/mail/squirrelmail/Makefile (switch to unified diff)

--- pkgsrc/mail/squirrelmail/Makefile 2009/10/04 01:27:15 1.110
+++ pkgsrc/mail/squirrelmail/Makefile 2010/02/05 17:40:51 1.111
@@ -1,92 +1,92 @@ @@ -1,92 +1,92 @@
1# $NetBSD: Makefile,v 1.110 2009/10/04 01:27:15 taca Exp $ 1# $NetBSD: Makefile,v 1.111 2010/02/05 17:40:51 wiz Exp $
2 2
3DISTNAME= squirrelmail-1.4.20-RC2 3DISTNAME= squirrelmail-1.4.20-RC2
4PKGNAME= ${DISTNAME:S/-RC2/rc2/} 4PKGNAME= ${DISTNAME:S/-RC2/rc2/}
5PKGREVISION= 2 5PKGREVISION= 3
6CATEGORIES= mail www 6CATEGORIES= mail www
7MASTER_SITES= ${MASTER_SITE_SOURCEFORGE:=squirrelmail/} 7MASTER_SITES= ${MASTER_SITE_SOURCEFORGE:=squirrelmail/}
8EXTRACT_SUFX= .tar.bz2 8EXTRACT_SUFX= .tar.bz2
9 9
10MAINTAINER= martti@NetBSD.org 10MAINTAINER= martti@NetBSD.org
11HOMEPAGE= http://www.squirrelmail.org/ 11HOMEPAGE= http://www.squirrelmail.org/
12COMMENT= PHP webmail package 12COMMENT= PHP webmail package
13LICENSE= gnu-gpl-v2 13LICENSE= gnu-gpl-v2
14 14
15CONFLICTS= sq-attachment-handlers-[0-9]* 15CONFLICTS= sq-attachment-handlers-[0-9]*
16CONFLICTS+= sq-squirrelspell-[0-9]* 16CONFLICTS+= sq-squirrelspell-[0-9]*
17CONFLICTS+= ja-squirrelspell-[0-9]* 17CONFLICTS+= ja-squirrelspell-[0-9]*
18CONFLICTS+= ja-squirrelmail-[0-9]* 18CONFLICTS+= ja-squirrelmail-[0-9]*
19 19
20DEPENDS+= ${PHP_PKG_PREFIX}-gettext>=4.3.3:../../devel/php-gettext 20DEPENDS+= ${PHP_PKG_PREFIX}-gettext>=4.3.3:../../devel/php-gettext
21 21
22USE_LANGUAGES= # empty 22USE_LANGUAGES= # empty
23NO_BUILD= yes 23NO_BUILD= yes
24USE_TOOLS+= perl:run 24USE_TOOLS+= perl:run
25REPLACE_PERL+= config/conf.pl 25REPLACE_PERL+= config/conf.pl
26 26
27PKG_GROUPS_VARS+= APACHE_GROUP 27PKG_GROUPS_VARS+= APACHE_GROUP
28PKG_USERS_VARS+= APACHE_USER 28PKG_USERS_VARS+= APACHE_USER
29BUILD_DEFS+= VARBASE 29BUILD_DEFS+= VARBASE
30 30
31.include "../../mk/bsd.prefs.mk" 31.include "../../mk/bsd.prefs.mk"
32 32
33PKG_SYSCONFSUBDIR?= httpd 33PKG_SYSCONFSUBDIR?= httpd
34MESSAGE_SUBST+= PKG_SYSCONFDIR=${PKG_SYSCONFDIR} 34MESSAGE_SUBST+= PKG_SYSCONFDIR=${PKG_SYSCONFDIR}
35 35
36EGDIR= ${PREFIX}/share/examples/squirrelmail 36EGDIR= ${PREFIX}/share/examples/squirrelmail
37SMDIR= ${PREFIX}/share/squirrelmail 37SMDIR= ${PREFIX}/share/squirrelmail
38DATADIR= ${VARBASE}/spool/squirrelmail 38DATADIR= ${VARBASE}/spool/squirrelmail
39ATTACHMENTS_DIR= ${DATADIR}/attachments 39ATTACHMENTS_DIR= ${DATADIR}/attachments
40USER_PREFS_DIR= ${DATADIR}/data 40USER_PREFS_DIR= ${DATADIR}/data
41 41
42MESSAGE_SUBST+= SMDIR=${SMDIR} 42MESSAGE_SUBST+= SMDIR=${SMDIR}
43FILES_SUBST+= SMDIR=${SMDIR} 43FILES_SUBST+= SMDIR=${SMDIR}
44 44
45CONF_FILES= ${SMDIR}/config/config_default.php \ 45CONF_FILES= ${SMDIR}/config/config_default.php \
46 ${SMDIR}/config/config.php 46 ${SMDIR}/config/config.php
47CONF_FILES+= ${SMDIR}/data/default_pref \ 47CONF_FILES+= ${SMDIR}/data/default_pref \
48 ${DATADIR}/data/default_pref 48 ${DATADIR}/data/default_pref
49CONF_FILES+= ${EGDIR}/squirrelmail.conf \ 49CONF_FILES+= ${EGDIR}/squirrelmail.conf \
50 ${PKG_SYSCONFDIR}/squirrelmail.conf 50 ${PKG_SYSCONFDIR}/squirrelmail.conf
51 51
52REQD_DIRS+= ${SMDIR} ${SMDIR}/config 52REQD_DIRS+= ${SMDIR} ${SMDIR}/config
53 53
54OWN_DIRS= ${DATADIR} 54OWN_DIRS= ${DATADIR}
55OWN_DIRS_PERMS= ${ATTACHMENTS_DIR} ${ROOT_USER} ${APACHE_GROUP} 730 55OWN_DIRS_PERMS= ${ATTACHMENTS_DIR} ${ROOT_USER} ${APACHE_GROUP} 730
56OWN_DIRS_PERMS+= ${USER_PREFS_DIR} ${APACHE_USER} ${APACHE_GROUP} 755 56OWN_DIRS_PERMS+= ${USER_PREFS_DIR} ${APACHE_USER} ${APACHE_GROUP} 755
57 57
58SUBST_CLASSES+= paths 58SUBST_CLASSES+= paths
59SUBST_FILES.paths= ${WRKDIR}/squirrelmail.conf.dist 59SUBST_FILES.paths= ${WRKDIR}/squirrelmail.conf.dist
60SUBST_FILES.paths+= config/config_default.php 60SUBST_FILES.paths+= config/config_default.php
61SUBST_SED.paths+= -e 's,@PREFIX@,${PREFIX},g' 61SUBST_SED.paths+= -e 's,@PREFIX@,${PREFIX},g'
62SUBST_SED.paths+= -e 's,@ATTACHMENTS_DIR@,${ATTACHMENTS_DIR},g' 62SUBST_SED.paths+= -e 's,@ATTACHMENTS_DIR@,${ATTACHMENTS_DIR},g'
63SUBST_SED.paths+= -e 's,@USER_PREFS_DIR@,${USER_PREFS_DIR},g' 63SUBST_SED.paths+= -e 's,@USER_PREFS_DIR@,${USER_PREFS_DIR},g'
64SUBST_SED.paths+= -e 's,@SMDIR@,${SMDIR},g' 64SUBST_SED.paths+= -e 's,@SMDIR@,${SMDIR},g'
65SUBST_STAGE.paths= post-patch 65SUBST_STAGE.paths= post-patch
66 66
67INSTALLATION_DIRS= ${PKGMANDIR}/man8 67INSTALLATION_DIRS= ${PKGMANDIR}/man8
68INSTALLATION_DIRS+= share/examples/squirrelmail 68INSTALLATION_DIRS+= share/examples/squirrelmail
69INSTALLATION_DIRS+= share/squirrelmail 69INSTALLATION_DIRS+= share/squirrelmail
70 70
71post-extract: 71post-extract:
72 cp ${FILESDIR}/squirrelmail.conf.dist \ 72 cp ${FILESDIR}/squirrelmail.conf.dist \
73 ${WRKDIR}/squirrelmail.conf.dist 73 ${WRKDIR}/squirrelmail.conf.dist
74 74
75pre-configure: 75pre-configure:
76 find ${WRKSRC} \( -name '*.orig*' -o -name '.cvsignore' \) \ 76 find ${WRKSRC} \( -name '*.orig*' -o -name '.cvsignore' \) \
77 -exec rm -f {} \; 77 -exec rm -f {} \;
78 78
79do-install: 79do-install:
80 ${INSTALL_DATA} ${WRKDIR}/squirrelmail.conf.dist ${EGDIR}/squirrelmail.conf 80 ${INSTALL_DATA} ${WRKDIR}/squirrelmail.conf.dist ${EGDIR}/squirrelmail.conf
81 cp -R ${WRKSRC}/* ${SMDIR} 81 cp -R ${WRKSRC}/* ${SMDIR}
82 chown -R ${SHAREOWN}:${SHAREGRP} ${SMDIR} 82 chown -R ${SHAREOWN}:${SHAREGRP} ${SMDIR}
83 find ${SMDIR} -type d -exec chmod ${PKGDIRMODE} {} \; 83 find ${SMDIR} -type d -exec chmod ${PKGDIRMODE} {} \;
84 find ${SMDIR} -type f -exec chmod ${SHAREMODE} {} \; 84 find ${SMDIR} -type f -exec chmod ${SHAREMODE} {} \;
85 chmod a+x ${SMDIR}/config/conf.pl 85 chmod a+x ${SMDIR}/config/conf.pl
86 ${INSTALL_DATA} ${WRKSRC}/data/index.php ${USER_PREFS_DIR}/ 86 ${INSTALL_DATA} ${WRKSRC}/data/index.php ${USER_PREFS_DIR}/
87 ${INSTALL_DATA} ${WRKSRC}/data/.htaccess ${USER_PREFS_DIR}/ 87 ${INSTALL_DATA} ${WRKSRC}/data/.htaccess ${USER_PREFS_DIR}/
88 mv ${PREFIX}/share/squirrelmail/contrib/conf.pl.8 \ 88 mv ${PREFIX}/share/squirrelmail/contrib/conf.pl.8 \
89 ${PREFIX}/${PKGMANDIR}/man8/squirrelmail-conf.pl.8 89 ${PREFIX}/${PKGMANDIR}/man8/squirrelmail-conf.pl.8
90 90
91.include "../../lang/php/phpversion.mk" 91.include "../../lang/php/phpversion.mk"
92.include "../../mk/bsd.pkg.mk" 92.include "../../mk/bsd.pkg.mk"

cvs diff -r1.56 -r1.57 pkgsrc/mail/squirrelmail/distinfo (switch to unified diff)

--- pkgsrc/mail/squirrelmail/distinfo 2009/10/04 01:27:15 1.56
+++ pkgsrc/mail/squirrelmail/distinfo 2010/02/05 17:40:51 1.57
@@ -1,8 +1,9 @@ @@ -1,8 +1,9 @@
1$NetBSD: distinfo,v 1.56 2009/10/04 01:27:15 taca Exp $ 1$NetBSD: distinfo,v 1.57 2010/02/05 17:40:51 wiz Exp $
2 2
3SHA1 (squirrelmail-1.4.20-RC2.tar.bz2) = f1cdccfdd17d8974adc0b79aba44b62f98f78f64 3SHA1 (squirrelmail-1.4.20-RC2.tar.bz2) = f1cdccfdd17d8974adc0b79aba44b62f98f78f64
4RMD160 (squirrelmail-1.4.20-RC2.tar.bz2) = f736e33af6f7b5a4c49f96968ed3fdeb2d42f06f 4RMD160 (squirrelmail-1.4.20-RC2.tar.bz2) = f736e33af6f7b5a4c49f96968ed3fdeb2d42f06f
5Size (squirrelmail-1.4.20-RC2.tar.bz2) = 516825 bytes 5Size (squirrelmail-1.4.20-RC2.tar.bz2) = 516825 bytes
6SHA1 (patch-aa) = 4c5556c804c1b728eec87322272abb06edcfcc2a 6SHA1 (patch-aa) = 4c5556c804c1b728eec87322272abb06edcfcc2a
7SHA1 (patch-ab) = 503bef625388a3224ad6f54aa332190e7440dde3 7SHA1 (patch-ab) = 503bef625388a3224ad6f54aa332190e7440dde3
 8SHA1 (patch-ac) = 1145e03ab1b084e27c2b97958d7fc13720977357
8SHA1 (patch-ai) = 701fdbc84afde5f8e255af13ba0e44469343e17c 9SHA1 (patch-ai) = 701fdbc84afde5f8e255af13ba0e44469343e17c

File Added: pkgsrc/mail/squirrelmail/patches/Attic/patch-ac
$NetBSD: patch-ac,v 1.5 2010/02/05 17:40:51 wiz Exp $

Patch for fixing IMAP search problems:
http://thread.gmane.org/gmane.mail.squirrelmail.user/36642

--- functions/imap_search.php.orig	2010-02-05 18:35:41.000000000 +0100
+++ functions/imap_search.php
@@ -46,22 +46,23 @@ function sqimap_search($imapConnection, 
        on the client side, but should be fixed on the server
        as per the RFC */
 
-    if ($imap_server_type == 'macosx' || $imap_server_type == 'hmailserver') {
-        foreach ($multi_search as $multi_search_part) {
-            if (strtoupper($languages[$squirrelmail_language]['CHARSET']) == 'ISO-2022-JP') {
-                $multi_search_part = mb_convert_encoding($multi_search_part, 'JIS', 'auto');
-            }
-            $search_string .= $search_where . ' ' .$multi_search_part . ' ';
+    if (strtoupper($languages[$squirrelmail_language]['CHARSET'] == 'ISO-2022-JP')) {
+        foreach($multi_search as $idx=>$search_part) {
+            $multi_search[$idx] = mb_convert_encoding($search_parth, 'JIS', 'auto');
         }
     }
+
+    $search_lit = array();
+
+    if ($imap_server_type == 'macosx' || $imap_server_type == 'hmailserver') {
+        $search_string .= $search_where . ' ' . implode(' ', $multi_search);
+    }
     else {
-        foreach ($multi_search as $multi_search_part) {
-            if (strtoupper($languages[$squirrelmail_language]['CHARSET']) == 'ISO-2022-JP') {
-                $multi_search_part = mb_convert_encoding($multi_search_part, 'JIS', 'auto');
-            }
-            $search_string .= $search_where . ' {' . strlen($multi_search_part)
-                . "}\r\n" . $multi_search_part . ' ';
-        }
+        $search_string .= $search_where;
+        $search_lit = array(
+                    'command' => '',
+                    'literal_args' => $multi_search
+                );
     }
 
     $search_string = trim($search_string);
@@ -76,15 +77,24 @@ function sqimap_search($imapConnection, 
         $ss = "SEARCH ALL $search_string";
     }
 
-    /* read data back from IMAP */
-    $readin = sqimap_run_command($imapConnection, $ss, false, $result, $message, $uid_support);
+    if (empty($search_lit)) {
+        /* read data back from IMAP */
+        $readin = sqimap_run_command($imapConnection, $ss, false, $result, $message, $uid_support);
+    } else {
+        $search_lit['command'] = $ss;
+        $readin = sqimap_run_literal_command($imapConnection, $search_lit, false, $result, $message, $uid_support);
+    }
 
     /* try US-ASCII charset if search fails */
     if (isset($languages[$squirrelmail_language]['CHARSET'])
         && strtolower($result) == 'no') {
         $ss = "SEARCH CHARSET \"US-ASCII\" ALL $search_string";
-        $readin = sqimap_run_command ($imapConnection, $ss, true,
-                                      $result, $message, $uid_support);
+        if (empty($search_lit)) {
+            $readin = sqimap_run_command($imapConnection, $ss, false, $result, $message, $uid_support);
+        } else {
+            $search_lit['command'] = $ss;
+            $readin = sqimap_run_literal_command($imapConnection, $search_lit, false, $result, $message, $uid_support);
+        }
     }
 
     unset($messagelist);