[prev in list] [next in list] [prev in thread] [next in thread] 

List:       squirrelmail-cvs
Subject:    [SM-CVS] CVS: squirrelmail/config conf.pl,1.239,1.240
From:       Tomas Kuliavas <tokul () users ! sourceforge ! net>
Date:       2006-06-26 17:13:35
Message-ID: E1FuueV-0002xK-N8 () sc8-pr-cvs8 ! sourceforge ! net
[Download RAW message or body]

Update of /cvsroot/squirrelmail/squirrelmail/config
In directory sc8-pr-cvs8.sourceforge.net:/tmp/cvs-serv10898

Modified Files:
	conf.pl 
Log Message:
don't accept 8bit characters in IMAP folder names and warn about special
IMAP characters (#1485501).


Index: conf.pl
===================================================================
RCS file: /cvsroot/squirrelmail/squirrelmail/config/conf.pl,v
retrieving revision 1.239
retrieving revision 1.240
diff -u -w -r1.239 -r1.240
--- conf.pl	8 Jun 2006 15:45:28 -0000	1.239
+++ conf.pl	26 Jun 2006 17:13:33 -0000	1.240
@@ -1639,7 +1639,11 @@
     if ( $new_trash_folder eq "\n" ) {
         $new_trash_folder = $trash_folder;
     } else {
+        if (check_imap_folder($new_trash_folder)) {
         $new_trash_folder =~ s/[\r\n]//g;
+        } else {
+            $new_trash_folder = $trash_folder;
+        }
     }
     return $new_trash_folder;
 }
@@ -1660,7 +1664,11 @@
     if ( $new_sent_folder eq "\n" ) {
         $new_sent_folder = $sent_folder;
     } else {
+        if (check_imap_folder($new_sent_folder)) {
         $new_sent_folder =~ s/[\r\n]//g;
+        } else {
+            $new_sent_folder = $sent_folder;
+        }
     }
     return $new_sent_folder;
 }
@@ -1682,7 +1690,11 @@
     if ( $new_draft_folder eq "\n" ) {
         $new_draft_folder = $draft_folder;
     } else {
+        if (check_imap_folder($new_draft_folder)) {
         $new_draft_folder =~ s/[\r\n]//g;
+        } else {
+            $new_draft_folder = $draft_folder;
+        }
     }
     return $new_draft_folder;
 }
@@ -4520,3 +4532,30 @@
         system "clear";
     }
 }
+
+# checks IMAP mailbox name. Refuses to accept 8bit folders
+# returns 0 (folder name is not correct) or 1 (folder name is correct)
+sub check_imap_folder($) {
+    my $folder_name = shift(@_);
+    if ($folder_name =~ /[\x{80}-\x{FFFF}]/) {
+        # check for 8bit. Using iso-10646 range, because x80-xFF range does not match unicode chars
+        print "Folder name contains 8bit characters. Configuration utility requires\n";
+        print "UTF7-IMAP encoded folder names.\n";
+        print "Press any key to continue...";
+        my $tmp = <STDIN>;
+        return 0;
+    } elsif ($folder_name =~ /[&\*\%]/) {
+        # check for ampersand and list-wildcards
+        print "Folder name contains special UTF7-IMAP characters.\n";
+        print "Are you sure that folder name is correct? (yN): ";
+        my $tmp = <STDIN>;
+        $tmp = lc(trim($tmp));
+        if ($tmp =~ /^y$/) {
+            return 1;
+        } else {
+            return 0;
+        }
+    } else {
+        return 1;
+    }
+}


Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
--
squirrelmail-cvs mailing list
List Address: squirrelmail-cvs@lists.sourceforge.net
List Info: https://lists.sourceforge.net/lists/listinfo/squirrelmail-cvs
http://squirrelmail.org/cvs
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic