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]