Benoit Tellier created JAMES-4091:
-------------------------------------

             Summary: Listing connected users
                 Key: JAMES-4091
                 URL: https://issues.apache.org/jira/browse/JAMES-4091
             Project: James Server
          Issue Type: New Feature
          Components: IMAPServer, JMAP, SMTPServer
            Reporter: Benoit Tellier
            Assignee: Antoine Duprat


h3. Why?

This could be a usefull administrative feature, for instance offered by Dovecot:

(credits chatgpt)

{code:java}
Dovecot: Provides robust administrative tools, including the doveadm who 
command, 
which lists all currently connected users. This functionality is exposed via 
the Dovecot 
Admin socket rather than an HTTP API.
{code}

Given JAMES-4090 we already track opened channels, exposing the users would 
thus be doable easily.

Ref https://manpages.ubuntu.com/manpages/focal/man1/doveadm-who.1.html

This is useful for diagnostic purposes.

h2. API proposal

{code:java}
curl -XGET /servers/channels/btell...@apache.org
{code}

Would return all channels belonging to `btell...@apache.org`:

{code:java}
[
   {
       "protocol": "IMAP",
        "endpoint": "imap-ssl",
        "encrypted": true, // SSLHandler part of the pipeline
        "connectionDate": "2024-11-20T16:00:00Z", // Tracked via an attribute 
to set upon connection
        "remoteAddress": "12.23.45.43:4378",
        "isActive": true,
        "username": "btell...@apache.org",
        "protocolSpecificInformation": {
             "compressed": "true", // CompressHandler part of the pipeline
             "selectedMailbox": "INBOX", // Read the IMAPSession
             "isIdling": "true",  // Inspect behavious in protocol overrides
         }   
   },
   {
       "protocol": "SMTP",
        "endpoint": "smtp-server-global",
        "encrypted": true, // SSLHandler part of the pipeline
        "connectionDate": "2024-11-20T16:00:00Z", // Tracked via an attribute 
to set upon connection
        "remoteAddress": "12.23.45.43:4378",
        "isActive": true,
        "username": "btell...@apache.org",
        "protocolSpecificInformation": {  }   
   },
...
]
{code}





--
This message was sent by Atlassian Jira
(v8.20.10#820010)

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

Reply via email to