vincent royer created JAMES-4241:
------------------------------------

             Summary: IMAP Date decoding issue with apple devices
                 Key: JAMES-4241
                 URL: https://issues.apache.org/jira/browse/JAMES-4241
             Project: James Server
          Issue Type: Bug
          Components: IMAPServer
    Affects Versions: 3.9.0
            Reporter: vincent royer


I get this error with some Apple devices (ipad 26.6, iphone 26.5) because the 
day number is only one digit in the date. So 3-Nov-2026 20:42:47 +0000 is 
rejected because it is not at least 26 caraters long but 25.

See org.apache.james.imap.decode.DecoderUtils.isDateTime(), line 158. 

2026-11-03 20:47:42,779 INFO  [imapserver-ssl-io-1]   
AbstractImapCommandParser.java:74 lambda$parse$0 Cannot parse protocol
org.apache.james.imap.decode.DecodingException: Expected a date-time but was 
3-Nov-2026 20:42:47 +0000
    at 
org.apache.james.imap.decode.DecoderUtils.decodeDateTime(DecoderUtils.java:149)
    at 
org.apache.james.imap.decode.ImapRequestLineReader.dateTime(ImapRequestLineReader.java:564)
    at 
org.apache.james.imap.decode.parser.AppendCommandParser.parseDateTime(AppendCommandParser.java:78)
    at 
org.apache.james.imap.decode.parser.AppendCommandParser.decode(AppendCommandParser.java:87)
    at 
org.apache.james.imap.decode.base.AbstractImapCommandParser.parse(AbstractImapCommandParser.java:72)
    at 
org.apache.james.imap.decode.main.DefaultImapDecoder.decodeCommandNamed(DefaultImapDecoder.java:118)
    at 
org.apache.james.imap.decode.main.DefaultImapDecoder.decodeCommandTagged(DefaultImapDecoder.java:81)
    at 
org.apache.james.imap.decode.main.DefaultImapDecoder.decode(DefaultImapDecoder.java:71)
    at 
org.apache.james.imapserver.netty.ImapRequestFrameDecoder.parseImapMessage(ImapRequestFrameDecoder.java:150)
    at 
org.apache.james.imapserver.netty.ImapRequestFrameDecoder.decode(ImapRequestFrameDecoder.java:138)
    at 
io.netty.handler.codec.ByteToMessageDecoder.decodeRemovalReentryProtection(ByteToMessageDecoder.java:530)
    at 
io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:469)
    at 
io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:290)
    at 
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444)
    at 
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
    at 
io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
    at 
io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:346)
    at 
io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:333)
    at 
io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:455)



--
This message was sent by Atlassian Jira
(v10.3.26#10030026)

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

Reply via email to