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 (expand / 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,18 +1,18 @@ @@ -1,18 +1,18 @@
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]*

cvs diff -r1.56 -r1.57 pkgsrc/mail/squirrelmail/distinfo (expand / 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);