james-server-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From btell...@apache.org
Subject [2/6] james-project git commit: JAMES-1900 JSieve header instruction should unfold and decode headers
Date Tue, 06 Jun 2017 02:04:25 GMT
JAMES-1900 JSieve header instruction should unfold and decode headers


Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/110db27d
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/110db27d
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/110db27d

Branch: refs/heads/master
Commit: 110db27d6831b9089cb1237d104c04806e78223d
Parents: beefb43
Author: benwa <btellier@linagora.com>
Authored: Fri May 5 11:05:05 2017 +0700
Committer: benwa <btellier@linagora.com>
Committed: Mon Jun 5 20:24:51 2017 +0700

----------------------------------------------------------------------
 .../mailets/delivery/SieveIntegrationTest.java  |  20 +++
 .../mailets/src/test/resources/eml/gmail.eml    | 154 +++++++++++++++++++
 .../mailets/delivery/headerEncodedFolded.script |  26 ++++
 server/pom.xml                                  |   2 +-
 4 files changed, 201 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/james-project/blob/110db27d/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/delivery/SieveIntegrationTest.java
----------------------------------------------------------------------
diff --git a/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/delivery/SieveIntegrationTest.java
b/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/delivery/SieveIntegrationTest.java
index 04a4b6c..8d7c43b 100644
--- a/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/delivery/SieveIntegrationTest.java
+++ b/server/mailet/mailets/src/test/java/org/apache/james/transport/mailets/delivery/SieveIntegrationTest.java
@@ -44,6 +44,7 @@ import org.joda.time.DateTime;
 import org.joda.time.format.DateTimeFormat;
 import org.joda.time.format.DateTimeFormatter;
 import org.junit.Before;
+import org.junit.Ignore;
 import org.junit.Test;
 import org.slf4j.Logger;
 
@@ -264,6 +265,25 @@ public class SieveIntegrationTest {
         assertThat(mail.getAttribute(MailStore.DELIVERY_PATH_PREFIX + LOCAL_PART)).isEqualTo(expressMailboxNameWithSlash(NOT_SELECTED_MAILBOX.getName()));
     }
 
+    @Ignore("Waiting for JAMES-1900 JSieve part to be merged")
+    @Test
+    public void headerInstructionShouldSupportFoldedEncodedHeaders() throws Exception {
+        prepareTestUsingScript("org/apache/james/transport/mailets/delivery/headerEncodedFolded.script");
+
+        FakeMail mail = FakeMail.builder()
+            .mimeMessage(MimeMessageBuilder.mimeMessageFromStream(
+                ClassLoader.getSystemResourceAsStream("eml/gmail.eml")))
+            .state(Mail.DEFAULT)
+            .recipient(new MailAddress(RECEIVER_DOMAIN_COM))
+            .sender(new MailAddress("sender@any.com"))
+            .build();
+        testee.service(mail);
+
+        assertThat(mail.getAttribute(MailStore.DELIVERY_PATH_PREFIX + LOCAL_PART))
+            .isEqualTo(expressMailboxNameWithSlash(SELECTED_MAILBOX.getName()));
+    }
+
+
     @Test
     public void headerScriptShouldWorkIfHeaderIsPresent() throws Exception {
         prepareTestUsingScript("org/apache/james/transport/mailets/delivery/header.script");

http://git-wip-us.apache.org/repos/asf/james-project/blob/110db27d/server/mailet/mailets/src/test/resources/eml/gmail.eml
----------------------------------------------------------------------
diff --git a/server/mailet/mailets/src/test/resources/eml/gmail.eml b/server/mailet/mailets/src/test/resources/eml/gmail.eml
new file mode 100644
index 0000000..1b95cba
--- /dev/null
+++ b/server/mailet/mailets/src/test/resources/eml/gmail.eml
@@ -0,0 +1,154 @@
+Return-Path: <aduprat@linagora.com>
+Subject: Fwd: Invitation: (Aucun objet) - ven. 20 janv. 2017 14:00 - 15:00
+ (CET) (aduprat@linagora.com)
+To: =?UTF-8?Q?Beno=c3=aet_TELLIER?=
+ <tellier@linagora.com>
+From: aduprat <duprat@linagora.com>
+X-Forwarded-Message-Id: <001a114380a6a260d105467765ab@google.com>
+Message-ID: <f18fa52e-2e9d-1125-327d-2100b23f8a6b@linagora.com>
+Date: Thu, 19 Jan 2017 20:36:37 +0100
+MIME-Version: 1.0
+In-Reply-To: <001a114380a6a260d105467765ab@google.com>
+Content-Type: multipart/mixed;
+ boundary="------------17D96D411CBD55D8239A8C1F"
+
+This is a multi-part message in MIME format.
+--------------17D96D411CBD55D8239A8C1F
+Content-Type: multipart/alternative;
+ boundary="------------64D716A3DDAEC185D3E67448"
+
+
+--------------64D716A3DDAEC185D3E67448
+Content-Type: text/plain; charset=utf-8; format=flowed
+Content-Transfer-Encoding: 8bit
+
+
+
+
+-------- Message transéré --------
+Sujet : 	Invitation: (Aucun objet) - ven. 20 janv. 2017 14:00 - 15:00
+(CET) (duprat@linagora.com)
+Date : 	Thu, 19 Jan 2017 19:18:23 +0000
+De : 	Antoine Duprat <duprat@gmail.com>
+Répondre à : 	antduprat@gmail.com
+Pour : 	aduprat@linagora.com
+
+
+
+
+--------------64D716A3DDAEC185D3E67448
+Content-Type: text/html; charset=utf-8
+Content-Transfer-Encoding: 8bit
+
+<html>
+  <head>
+
+    <meta http-equiv="content-type" content="text/html; charset=utf-8">
+  </head>
+  <body bgcolor="#FFFFFF" text="#000000">
+    <p><br>
+    </p>
+    <div class="moz-forward-container"><br>
+      <br>
+      -------- Message transéré --------
+      <table class="moz-email-headers-table" border="0" cellpadding="0"
+        cellspacing="0">
+        <tbody>
+          <tr>
+            <th align="RIGHT" valign="BASELINE" nowrap="nowrap">Sujet :
+            </th>
+            <td>Invitation: (Aucun objet) - ven. 20 janv. 2017 14:00 -
+              15:00 (CET) (<a class="moz-txt-link-abbreviated" href="mailto:aduprat@linagora.com">aduprat@linagora.com</a>)</td>
+          </tr>
+          <tr>
+            <th align="RIGHT" valign="BASELINE" nowrap="nowrap">Date : </th>
+            <td>Thu, 19 Jan 2017 19:18:23 +0000</td>
+          </tr>
+          <tr>
+            <th align="RIGHT" valign="BASELINE" nowrap="nowrap">De : </th>
+            <td>Antoine Duprat <a class="moz-txt-link-rfc2396E" href="mailto:antduprat@gmail.com">&lt;antduprat@gmail.com&gt;</a></td>
+          </tr>
+          <tr>
+            <th align="RIGHT" valign="BASELINE" nowrap="nowrap">Répondre
+              Ã Â : </th>
+            <td><a class="moz-txt-link-abbreviated" href="mailto:antduprat@gmail.com">antduprat@gmail.com</a></td>
+          </tr>
+          <tr>
+            <th align="RIGHT" valign="BASELINE" nowrap="nowrap">Pour : </th>
+            <td><a class="moz-txt-link-abbreviated" href="mailto:aduprat@linagora.com">aduprat@linagora.com</a></td>
+          </tr>
+        </tbody>
+      </table>
+      <br>
+      <br>
+    </div>
+  </body>
+</html>
+
+--------------64D716A3DDAEC185D3E67448--
+
+--------------17D96D411CBD55D8239A8C1F
+Content-Type: text/calendar;
+ name="Portion de message joint"
+Content-Transfer-Encoding: 8bit
+Content-Disposition: attachment;
+ filename="Portion de message joint"
+
+BEGIN:VCALENDAR
+PRODID:-//Google Inc//Google Calendar 70.9054//EN
+VERSION:2.0
+CALSCALE:GREGORIAN
+METHOD:REQUEST
+BEGIN:VEVENT
+DTSTART:20170120T130000Z
+DTEND:20170120T140000Z
+DTSTAMP:20170119T191823Z
+ORGANIZER;CN=Antoine Duprat:mailto:duprat@gmail.com
+UID:ah86k5m342bmcrbe9khkkhln00@google.com
+ATTENDEE;CUTYPE=INDIVIDUAL;ROLE=REQ-PARTICIPANT;PARTSTAT=NEEDS-ACTION;RSVP=
+ TRUE;CN=aduprat@linagora.com;X-NUM-GUESTS=0:mailto:duprat@linagora.com
+ATTENDEE;CUTYPE=INDIVIDUAL;ROLE=REQ-PARTICIPANT;PARTSTAT=ACCEPTED;RSVP=TRUE
+ ;CN=Antoine Duprat;X-NUM-GUESTS=0:mailto:duprat@gmail.com
+CREATED:20170119T191823Z
+DESCRIPTION:Affichez votre evenement sur la page https://www.google.com/cal
+ endar/event?action=VIEW&eid=YWg4Nms1bTM0MmJtY3JiZTlraGtraGxuMDAgYWR1cHJhdEB
+ saW5hZ29yYS5jb20&tok=MTkjYW50ZHVwcmF0QGdtYWlsLmNvbTg1OTM5NWM4MGRlYmE1YTI4Nz
+ RjN2UyNjU0M2YyZmQ4NzRkNThhYTQ&ctz=Europe/Paris&hl=fr.
+LAST-MODIFIED:20170119T191823Z
+LOCATION:
+SEQUENCE:0
+STATUS:CONFIRMED
+SUMMARY:
+TRANSP:OPAQUE
+END:VEVENT
+END:VCALENDAR
+
+
+--------------17D96D411CBD55D8239A8C1F
+Content-Type: application/ics;
+ name="invite.ics"
+Content-Transfer-Encoding: base64
+Content-Disposition: attachment;
+ filename="invite.ics"
+
+QkVHSU46VkNBTEVOREFSDQpQUk9ESUQ6LS8vR29vZ2xlIEluYy8vR29vZ2xlIENhbGVuZGFy
+IDcwLjkwNTQvL0VODQpWRVJTSU9OOjIuMA0KQ0FMU0NBTEU6R1JFR09SSUFODQpNRVRIT0Q6
+UkVRVUVTVA0KQkVHSU46VkVWRU5UDQpEVFNUQVJUOjIwMTcwMTIwVDEzMDAwMFoNCkRURU5E
+OjIwMTcwMTIwVDE0MDAwMFoNCkRUU1RBTVA6MjAxNzAxMTlUMTkxODIzWg0KT1JHQU5JWkVS
+O0NOPUFudG9pbmUgRHVwcmF0Om1haWx0bzphbnRkdXByYXRAZ21haWwuY29tDQpVSUQ6YWg4
+Nms1bTM0MmJtY3JiZTlraGtraGxuMDBAZ29vZ2xlLmNvbQ0KQVRURU5ERUU7Q1VUWVBFPUlO
+RElWSURVQUw7Uk9MRT1SRVEtUEFSVElDSVBBTlQ7UEFSVFNUQVQ9TkVFRFMtQUNUSU9OO1JT
+VlA9DQogVFJVRTtDTj1hZHVwcmF0QGxpbmFnb3JhLmNvbTtYLU5VTS1HVUVTVFM9MDptYWls
+dG86YWR1cHJhdEBsaW5hZ29yYS5jb20NCkFUVEVOREVFO0NVVFlQRT1JTkRJVklEVUFMO1JP
+TEU9UkVRLVBBUlRJQ0lQQU5UO1BBUlRTVEFUPUFDQ0VQVEVEO1JTVlA9VFJVRQ0KIDtDTj1B
+bnRvaW5lIER1cHJhdDtYLU5VTS1HVUVTVFM9MDptYWlsdG86YW50ZHVwcmF0QGdtYWlsLmNv
+bQ0KQ1JFQVRFRDoyMDE3MDExOVQxOTE4MjNaDQpERVNDUklQVElPTjpBZmZpY2hleiB2b3Ry
+ZSDDqXbDqW5lbWVudCBzdXIgbGEgcGFnZSBodHRwczovL3d3dy5nb29nbGUuY29tL2NhbA0K
+IGVuZGFyL2V2ZW50P2FjdGlvbj1WSUVXJmVpZD1ZV2c0Tm1zMWJUTTBNbUp0WTNKaVpUbHJh
+R3RyYUd4dU1EQWdZV1IxY0hKaGRFQg0KIHNhVzVoWjI5eVlTNWpiMjAmdG9rPU1Ua2pZVzUw
+WkhWd2NtRjBRR2R0WVdsc0xtTnZiVGcxT1RNNU5XTTRNR1JsWW1FMVlUSTROeg0KIFJqTjJV
+eU5qVTBNMll5Wm1RNE56UmtOVGhoWVRRJmN0ej1FdXJvcGUvUGFyaXMmaGw9ZnIuDQpMQVNU
+LU1PRElGSUVEOjIwMTcwMTE5VDE5MTgyM1oNCkxPQ0FUSU9OOg0KU0VRVUVOQ0U6MA0KU1RB
+VFVTOkNPTkZJUk1FRA0KU1VNTUFSWToNClRSQU5TUDpPUEFRVUUNCkVORDpWRVZFTlQNCkVO
+RDpWQ0FMRU5EQVINCg==
+--------------17D96D411CBD55D8239A8C1F--

http://git-wip-us.apache.org/repos/asf/james-project/blob/110db27d/server/mailet/mailets/src/test/resources/org/apache/james/transport/mailets/delivery/headerEncodedFolded.script
----------------------------------------------------------------------
diff --git a/server/mailet/mailets/src/test/resources/org/apache/james/transport/mailets/delivery/headerEncodedFolded.script
b/server/mailet/mailets/src/test/resources/org/apache/james/transport/mailets/delivery/headerEncodedFolded.script
new file mode 100644
index 0000000..b9f506d
--- /dev/null
+++ b/server/mailet/mailets/src/test/resources/org/apache/james/transport/mailets/delivery/headerEncodedFolded.script
@@ -0,0 +1,26 @@
+################################################################
+# Licensed to the Apache Software Foundation (ASF) under one   #
+# or more contributor license agreements.  See the NOTICE file #
+# distributed with this work for additional information        #
+# regarding copyright ownership.  The ASF licenses this file   #
+# to you under the Apache License, Version 2.0 (the            #
+# "License"); you may not use this file except in compliance   #
+# with the License.  You may obtain a copy of the License at   #
+#                                                              #
+#   http://www.apache.org/licenses/LICENSE-2.0                 #
+#                                                              #
+# Unless required by applicable law or agreed to in writing,   #
+# software distributed under the License is distributed on an  #
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY       #
+# KIND, either express or implied.  See the License for the    #
+# specific language governing permissions and limitations      #
+# under the License.                                           #
+################################################################
+
+require "fileinto";
+
+if header :contains ["To"] ["Benoît TELLIER <tellier@linagora.com>"] {
+    fileinto "INBOX.select";
+} else {
+     fileinto "INBOX.not.selected";
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/james-project/blob/110db27d/server/pom.xml
----------------------------------------------------------------------
diff --git a/server/pom.xml b/server/pom.xml
index f2749ee..f9cb099 100644
--- a/server/pom.xml
+++ b/server/pom.xml
@@ -128,7 +128,7 @@
         <javax.activation.groupId>javax.activation</javax.activation.groupId>
         <javax.activation.artifactId>activation</javax.activation.artifactId>
         <jackrabbit.version>2.5.2</jackrabbit.version>
-        <jsieve.version>0.6</jsieve.version>
+        <jsieve.version>0.7-SNAPSHOT</jsieve.version>
         <spring.version>3.2.14.RELEASE</spring.version>
         <geronimo-jms-spec.version>1.1.1</geronimo-jms-spec.version>
         <h2.version>1.3.170</h2.version>


---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org


Mime
View raw message