This is an automated email from the ASF dual-hosted git repository.

btellier pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/james-project.git


The following commit(s) were added to refs/heads/master by this push:
     new 0f82887492 JAMES-3754 Support Thunderbird syntax for ID extension 
(#1439)
0f82887492 is described below

commit 0f828874926e21394e2446d5fe0d9d473bdc572c
Author: Benoit TELLIER <[email protected]>
AuthorDate: Tue Feb 14 07:12:23 2023 +0700

    JAMES-3754 Support Thunderbird syntax for ID extension (#1439)
---
 .../src/main/resources/org/apache/james/imap/scripts/Id.test   |  4 ++++
 .../org/apache/james/imap/decode/parser/IDCommandParser.java   | 10 ++++++----
 2 files changed, 10 insertions(+), 4 deletions(-)

diff --git 
a/mpt/impl/imap-mailbox/core/src/main/resources/org/apache/james/imap/scripts/Id.test
 
b/mpt/impl/imap-mailbox/core/src/main/resources/org/apache/james/imap/scripts/Id.test
index c52fda89d4..51a613503b 100644
--- 
a/mpt/impl/imap-mailbox/core/src/main/resources/org/apache/james/imap/scripts/Id.test
+++ 
b/mpt/impl/imap-mailbox/core/src/main/resources/org/apache/james/imap/scripts/Id.test
@@ -25,3 +25,7 @@ S: a0 OK ID completed.
 C: a1 ID ("vendor", "whatever", "version", "3.7.0", "random", "random value")
 S: \* ID \(\)
 S: a1 OK ID completed.
+
+C: a1 ID ("name" "Thunderbird" "version" "102.7.1")
+S: \* ID \(\)
+S: a1 OK ID completed.
diff --git 
a/protocols/imap/src/main/java/org/apache/james/imap/decode/parser/IDCommandParser.java
 
b/protocols/imap/src/main/java/org/apache/james/imap/decode/parser/IDCommandParser.java
index 79e7c84111..d1d8901b10 100644
--- 
a/protocols/imap/src/main/java/org/apache/james/imap/decode/parser/IDCommandParser.java
+++ 
b/protocols/imap/src/main/java/org/apache/james/imap/decode/parser/IDCommandParser.java
@@ -65,13 +65,15 @@ public class IDCommandParser extends 
AbstractImapCommandParser {
             if (first) {
                 first = false;
             } else {
-                request.nextWordChar();
-                request.consumeChar(',');
+                if (request.nextWordChar() == ',') {
+                    request.consumeChar(',');
+                }
             }
             request.nextWordChar();
             String field = request.consumeQuoted();
-            request.nextWordChar();
-            request.consumeChar(',');
+            if (request.nextWordChar() == ',') {
+                request.consumeChar(',');
+            }
             request.nextWordChar();
             String value = request.consumeQuoted();
 


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to