You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by "Benoit Tellier (Jira)" <se...@james.apache.org> on 2020/06/18 04:25:00 UTC

[jira] [Commented] (JAMES-1694) POP3 CAPA command returns different capabilities in different states.

    [ https://issues.apache.org/jira/browse/JAMES-1694?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17139035#comment-17139035 ] 

Benoit Tellier commented on JAMES-1694:
---------------------------------------

https://tools.ietf.org/html/rfc1939#section-9

States that:


{code:java}
      Minimal POP3 Commands:

         USER name               valid in the AUTHORIZATION state
         PASS string
         QUIT

         STAT                    valid in the TRANSACTION state
         LIST [msg]
         RETR msg
         DELE msg
         NOOP
         RSET
         QUIT

      Optional POP3 Commands:

         APOP name digest        valid in the AUTHORIZATION state

         TOP msg n               valid in the TRANSACTION state
         UIDL [msg]

      POP3 Replies:

         +OK
         -ERR
{code}

CAPA command is defined in https://tools.ietf.org/html/rfc2449 POP3 Extension Mechanism

{code:java}
 A capability description MUST document in which states the capability
   is announced, and in which states the commands are valid.
{code}

Reading TOP description for instance: https://tools.ietf.org/html/rfc2449#section-6.1

{code:java}
   Announced states / possible differences:
       both / no

   Commands valid in states:
       TRANSACTION
{code}

So your report is likely valid (I'm sadly not POP3 fluent...)

Reading TopCmdHandler code:


{code:java}
    @Override
    public Set<String> getImplementedCapabilities(POP3Session session) {
        if (session.getHandlerState() == POP3Session.TRANSACTION) {
            return CAPS;
        } else {
            return Collections.emptySet();
        }
    }
{code}

likely needs to be modified.


> POP3 CAPA command returns different capabilities in different states.
> ---------------------------------------------------------------------
>
>                 Key: JAMES-1694
>                 URL: https://issues.apache.org/jira/browse/JAMES-1694
>             Project: James Server
>          Issue Type: Bug
>          Components: POP3Server
>    Affects Versions: 3.0.0-beta5
>         Environment: Linux
>            Reporter: Sandeep Savarala
>            Priority: Critical
>
> After you connect to the POP3 server and issue CAPA command it returns:
> capa
> +OK Capability list follows
> PIPELINING
> USER
> STLS
> .
> After you authenticate it returns additional UIDL capability.
> capa
> +OK Capability list follows
> PIPELINING
> USER
> UIDL
> TOP
> .
> The CAPA command should return the same output in any state.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

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