On ons, 2024/12/11 at 08:00:29 +0000, yisuyong--- via dovecot wrote:
> I added "subscription = no" as you said
> 
> namespace virtual {
>   hidden = yes
>   list = no
>   location = 
> virtual:/etc/dovecot/virtual:INDEX=~/.virtual:CONTROL=~/.virtual:VOLATILEDIR=~/.virtual/
>   prefix = virtual/
>   separator = /
>   subscriptions = no
>   type = private
> }
> 
> And I done change ownership and dovecot-virtual.
> []#chown -R vmail:vmail /etc/dovecot/virtual
> []# ls -la /etc/dovecot/virtual 
> drwxr-xr-x 4 vmail vmail 4096 12월 11 12:47 .
> drwxr-xr-x 5 root  root  4096 12월 11 16:44 ..
> drwxr-xr-x 2 vmail vmail 4096 12월 11 16:27 All
> drwxr-xr-x 2 vmail vmail 4096 12월 11 16:27 Flagged
> 
> []# cat /etc/dovecot/virtual/All/dovecot-virtual
> *
> -Junk
> -[virtual]/*
> -Trash
> -Trash/*
> all

The "all" here needs a space in front of it. I don't know why, but if it
is not indented it will not work (from my own experience). Try putting a
space or two in front of it.

> []# cat /etc/dovecot/virtual/Flagged/dovecot-virtual 
> [virtual]/All
> flagged
> 
> > When you in your email client open the /virtual/Flagged or /virtual/All
> > folder, what do you see?
> 
> I can't see anything.
> 
> Debugging log for Dovecot when you click Flagged.
> 
> Dec 11 16:13:39 mail dovecot: auth: Debug: auth client connected (pid=271743)
> Dec 11 16:13:39 mail dovecot: imap-login: Debug: SSL: where=0x10, ret=1: 
> before SSL initialization
> Dec 11 16:13:39 mail dovecot: imap-login: Debug: SSL: where=0x2001, ret=1: 
> before SSL initialization
> Dec 11 16:13:39 mail dovecot: imap-login: Debug: SSL: where=0x2002, ret=-1: 
> before SSL initialization
> Dec 11 16:13:39 mail dovecot: imap-login: Debug: SSL: where=0x2001, ret=1: 
> before SSL initialization
> Dec 11 16:13:39 mail dovecot: imap-login: Debug: SSL: where=0x2001, ret=1: 
> SSLv3/TLS read client hello
> Dec 11 16:13:39 mail dovecot: imap-login: Debug: SSL: where=0x2001, ret=1: 
> SSLv3/TLS write server hello
> Dec 11 16:13:39 mail dovecot: imap-login: Debug: SSL: where=0x2001, ret=1: 
> SSLv3/TLS write change cipher spec
> Dec 11 16:13:39 mail dovecot: imap-login: Debug: SSL: where=0x2001, ret=1: 
> TLSv1.3 write encrypted extensions
> Dec 11 16:13:39 mail dovecot: imap-login: Debug: SSL: where=0x2001, ret=1: 
> SSLv3/TLS write certificate
> Dec 11 16:13:39 mail dovecot: imap-login: Debug: SSL: where=0x2001, ret=1: 
> TLSv1.3 write server certificate verify
> Dec 11 16:13:39 mail dovecot: imap-login: Debug: SSL: where=0x2001, ret=1: 
> SSLv3/TLS write finished
> Dec 11 16:13:39 mail dovecot: imap-login: Debug: SSL: where=0x2001, ret=1: 
> TLSv1.3 early data
> Dec 11 16:13:39 mail dovecot: imap-login: Debug: SSL: where=0x2002, ret=-1: 
> TLSv1.3 early data
> Dec 11 16:13:39 mail dovecot: message repeated 2 times: [ imap-login: Debug: 
> SSL: where=0x2002, ret=-1: TLSv1.3 early data]
> Dec 11 16:13:39 mail dovecot: imap-login: Debug: SSL: where=0x2001, ret=1: 
> TLSv1.3 early data
> Dec 11 16:13:39 mail dovecot: imap-login: Debug: SSL: where=0x2001, ret=1: 
> SSLv3/TLS read finished
> Dec 11 16:13:39 mail dovecot: imap-login: Debug: SSL: where=0x20, ret=1: 
> SSLv3/TLS write session ticket
> Dec 11 16:13:39 mail dovecot: imap-login: Debug: SSL: where=0x2001, ret=1: 
> SSLv3/TLS write session ticket
> Dec 11 16:13:39 mail dovecot: imap-login: Debug: SSL: where=0x2001, ret=1: 
> SSLv3/TLS write session ticket
> Dec 11 16:13:39 mail dovecot: imap-login: Debug: SSL: where=0x2002, ret=1: 
> SSL negotiation finished successfully
> Dec 11 16:13:39 mail dovecot: auth: Debug: client in: 
> AUTH#0111#011PLAIN#011service=imap#011secured=tls#011session=t9Y+VvkoZqV/AAAB#011lip=127.0.0.1#011rip=127.0.0.1#011lport=143#011rport=42342#011local_name=mail.example.com#011resp=AGppbW15QGVkZ2VuZXQua3IAVGJ2amFvczk1MCE=
>  (previous base64 data may contain sensitive data)
> Dec 11 16:13:39 mail dovecot: auth: Debug: 
> sql(us...@example.com,127.0.0.1,<t9Y+VvkoZqV/AAAB>): Performing passdb lookup
> Dec 11 16:13:39 mail dovecot: auth-worker(271735): Debug: conn 
> unix:auth-worker (pid=270435,uid=115): auth-worker<5>: Handling PASSV request
> Dec 11 16:13:39 mail dovecot: auth-worker(271735): Debug: conn 
> unix:auth-worker (pid=270435,uid=115): auth-worker<5>: 
> sql(us...@example.com,127.0.0.1,<t9Y+VvkoZqV/AAAB>): Performing passdb lookup
> Dec 11 16:13:39 mail dovecot: auth-worker(271735): Debug: conn 
> unix:auth-worker (pid=270435,uid=115): auth-worker<5>: 
> sql(us...@example.com,127.0.0.1,<t9Y+VvkoZqV/AAAB>): query: SELECT username 
> AS user,password FROM mailbox WHERE username = 'us...@example.com' AND 
> active='1'
> Dec 11 16:13:39 mail dovecot: auth-worker(271735): Debug: mysql(localhost): 
> Finished query 'SELECT username AS user,password FROM mailbox WHERE username 
> = 'us...@example.com' AND active='1'' in 0 msecs
> Dec 11 16:13:39 mail dovecot: auth: Debug: 
> sql(us...@example.com,127.0.0.1,<t9Y+VvkoZqV/AAAB>): Finished passdb lookup
> Dec 11 16:13:39 mail dovecot: auth: Debug: 
> auth(us...@example.com,127.0.0.1,<t9Y+VvkoZqV/AAAB>): Auth request finished
> Dec 11 16:13:39 mail dovecot: auth: Debug: client passdb out: 
> OK#0111#011user=us...@example.com#011
> Dec 11 16:13:39 mail dovecot: auth-worker(271735): Debug: conn 
> unix:auth-worker (pid=270435,uid=115): auth-worker<5>: 
> sql(us...@example.com,127.0.0.1,<t9Y+VvkoZqV/AAAB>): Finished passdb lookup
> Dec 11 16:13:39 mail dovecot: auth-worker(271735): Debug: conn 
> unix:auth-worker (pid=270435,uid=115): auth-worker<5>: Finished
> Dec 11 16:13:39 mail dovecot: auth: Debug: master in: 
> REQUEST#0113602776065#011271743#0111#011b5686d3c53ea773e7fb938fcd8ca0dc0#011session_pid=271744#011request_auth_token
> Dec 11 16:13:39 mail dovecot: auth: Debug: 
> sql(us...@example.com,127.0.0.1,<t9Y+VvkoZqV/AAAB>): Performing userdb lookup
> Dec 11 16:13:39 mail dovecot: auth-worker(271735): Debug: conn 
> unix:auth-worker (pid=270435,uid=115): auth-worker<6>: Handling USER request
> Dec 11 16:13:39 mail dovecot: auth-worker(271735): Debug: conn 
> unix:auth-worker (pid=270435,uid=115): auth-worker<6>: 
> sql(us...@example.com,127.0.0.1,<t9Y+VvkoZqV/AAAB>): Performing userdb lookup
> Dec 11 16:13:39 mail dovecot: auth-worker(271735): Debug: conn 
> unix:auth-worker (pid=270435,uid=115): auth-worker<6>: 
> sql(us...@example.com,127.0.0.1,<t9Y+VvkoZqV/AAAB>): SELECT 
> CONCAT('/home/vmail/', maildir) AS home, 6000 AS uid, 6000 AS gid, 
> CONCAT('*:bytes=', quota) AS quota_rule FROM mailbox WHERE username = 
> 'us...@example.com' AND active='1'
> Dec 11 16:13:39 mail dovecot: auth-worker(271735): Debug: mysql(localhost): 
> Finished query 'SELECT CONCAT('/home/vmail/', maildir) AS home, 6000 AS uid, 
> 6000 AS gid, CONCAT('*:bytes=', quota) AS quota_rule FROM mailbox WHERE 
> username = 'us...@example.com' AND active='1'' in 0 msecs
> Dec 11 16:13:39 mail dovecot: auth: Debug: 
> sql(us...@example.com,127.0.0.1,<t9Y+VvkoZqV/AAAB>): Finished userdb lookup
> Dec 11 16:13:39 mail dovecot: auth: Debug: master userdb out: 
> USER#0113602776065#011us...@example.com#011home=/home/vmail/example.com/user1/#011uid=6000#011gid=6000#011quota_rule=*:bytes=11264000#011auth_mech=PLAIN#011auth_token=afb051dec9014e1a66f47f144b554eabc8e53ecd
> Dec 11 16:13:39 mail dovecot: auth-worker(271735): Debug: conn 
> unix:auth-worker (pid=270435,uid=115): auth-worker<6>: 
> sql(us...@example.com,127.0.0.1,<t9Y+VvkoZqV/AAAB>): Finished userdb lookup
> Dec 11 16:13:39 mail dovecot: auth-worker(271735): Debug: conn 
> unix:auth-worker (pid=270435,uid=115): auth-worker<6>: Finished
> Dec 11 16:13:39 mail dovecot: imap-login: Login: user=<us...@example.com>, 
> method=PLAIN, rip=127.0.0.1, lip=127.0.0.1, mpid=271744, TLS, 
> session=<t9Y+VvkoZqV/AAAB>
> Dec 11 16:13:39 mail dovecot: 
> imap(us...@example.com)<271744><t9Y+VvkoZqV/AAAB>: Debug: Loading modules 
> from directory: /usr/lib/dovecot/modules
> Dec 11 16:13:39 mail dovecot: 
> imap(us...@example.com)<271744><t9Y+VvkoZqV/AAAB>: Debug: Module loaded: 
> /usr/lib/dovecot/modules/lib10_quota_plugin.so
> Dec 11 16:13:39 mail dovecot: 
> imap(us...@example.com)<271744><t9Y+VvkoZqV/AAAB>: Debug: Module loaded: 
> /usr/lib/dovecot/modules/lib11_imap_quota_plugin.so
> Dec 11 16:13:39 mail dovecot: 
> imap(us...@example.com)<271744><t9Y+VvkoZqV/AAAB>: Debug: Module loaded: 
> /usr/lib/dovecot/modules/lib20_virtual_plugin.so
> Dec 11 16:13:39 mail dovecot: 
> imap(us...@example.com)<271744><t9Y+VvkoZqV/AAAB>: Debug: Added userdb 
> setting: plugin/quota_rule=*:bytes=11264000
> Dec 11 16:13:39 mail dovecot: 
> imap(us...@example.com)<271744><t9Y+VvkoZqV/AAAB>: Debug: Effective uid=6000, 
> gid=6000, home=/home/vmail/example.com/user1/
> Dec 11 16:13:39 mail dovecot: 
> imap(us...@example.com)<271744><t9Y+VvkoZqV/AAAB>: Debug: Quota root: 
> name=User quota backend=dict args=:proxy::quota
> Dec 11 16:13:39 mail dovecot: 
> imap(us...@example.com)<271744><t9Y+VvkoZqV/AAAB>: Debug: Quota rule: 
> root=User quota mailbox=* bytes=11264000 messages=0
> Dec 11 16:13:39 mail dovecot: 
> imap(us...@example.com)<271744><t9Y+VvkoZqV/AAAB>: Debug: Quota rule: 
> root=User quota mailbox=INBOX/Trash bytes=+104857600 messages=0
> Dec 11 16:13:39 mail dovecot: 
> imap(us...@example.com)<271744><t9Y+VvkoZqV/AAAB>: Debug: Quota warning: 
> bytes=10700800 (95%) messages=0 reverse=no command=quota-warning 95 
> us...@example.com
> Dec 11 16:13:39 mail dovecot: 
> imap(us...@example.com)<271744><t9Y+VvkoZqV/AAAB>: Debug: Quota warning: 
> bytes=9011200 (80%) messages=0 reverse=no command=quota-warning 80 
> us...@example.com
> Dec 11 16:13:39 mail dovecot: 
> imap(us...@example.com)<271744><t9Y+VvkoZqV/AAAB>: Debug: Quota grace: 
> root=User quota bytes=1126400 (10%)
> Dec 11 16:13:39 mail dovecot: 
> imap(us...@example.com)<271744><t9Y+VvkoZqV/AAAB>: Debug: quota-dict: 
> user=us...@example.com, uri=proxy::quota, noenforcing=0
> Dec 11 16:13:39 mail dovecot: 
> imap(us...@example.com)<271744><t9Y+VvkoZqV/AAAB>: Debug: Namespace virtual: 
> type=private, prefix=virtual/, sep=/, inbox=no, hidden=yes, list=no, 
> subscriptions=yes 
> location=virtual:/etc/dovecot/virtual:INDEX=~/.virtual:CONTROL=~/.virtual:VOLATILEDIR=~/.virtual/
> Dec 11 16:13:39 mail dovecot: 
> imap(us...@example.com)<271744><t9Y+VvkoZqV/AAAB>: Debug: fs: 
> root=/etc/dovecot/virtual, index=/home/vmail/example.com/user1//.virtual, 
> indexpvt=, control=/home/vmail/example.com/user1//.virtual, inbox=, alt=
> Dec 11 16:13:39 mail dovecot: 
> imap(us...@example.com)<271744><t9Y+VvkoZqV/AAAB>: Debug: Namespace inbox: 
> type=private, prefix=INBOX/, sep=/, inbox=yes, hidden=no, list=yes, 
> subscriptions=yes location=maildir:~/Maildir
> Dec 11 16:13:39 mail dovecot: 
> imap(us...@example.com)<271744><t9Y+VvkoZqV/AAAB>: Debug: maildir++: 
> root=/home/vmail/example.com/user1//Maildir, index=, indexpvt=, control=, 
> inbox=/home/vmail/example.com/user1//Maildir, alt=
> Dec 11 16:13:39 mail dovecot: 
> imap(us...@example.com)<271744><t9Y+VvkoZqV/AAAB>: Debug: Namespace : 
> type=private, prefix=, sep=, inbox=no, hidden=yes, list=no, subscriptions=no 
> location=fail::LAYOUT=none
> Dec 11 16:13:39 mail dovecot: 
> imap(us...@example.com)<271744><t9Y+VvkoZqV/AAAB>: Debug: none: root=, 
> index=, indexpvt=, control=, inbox=, alt=
> Dec 11 16:13:39 mail dovecot: 
> imap(us...@example.com)<271744><t9Y+VvkoZqV/AAAB>: Debug: quota: 
> quota_over_flag check: quota_over_script unset - skipping
> Dec 11 16:13:39 mail dovecot: 
> imap(us...@example.com)<271744><t9Y+VvkoZqV/AAAB>: Debug: 
> dict(proxy)<us...@example.com>: Looking up 'priv/quota/storage'
> Dec 11 16:13:39 mail dovecot: 
> imap(us...@example.com)<271744><t9Y+VvkoZqV/AAAB>: Debug: 
> dict(proxy)<us...@example.com>: Looking up (async) 'priv/quota/storage'
> Dec 11 16:13:39 mail dovecot: 
> imap(us...@example.com)<271744><t9Y+VvkoZqV/AAAB>: Debug: 
> dict(proxy)<us...@example.com>: conn unix:/run/dovecot/dict: Connecting
> Dec 11 16:13:39 mail dovecot: 
> imap(us...@example.com)<271744><t9Y+VvkoZqV/AAAB>: Debug: 
> dict(proxy)<us...@example.com>: conn unix:/run/dovecot/dict 
> (pid=270426,uid=0): Client connected (fd=9)
> Dec 11 16:13:39 mail dovecot: 
> imap(us...@example.com)<271744><t9Y+VvkoZqV/AAAB>: Debug: 
> dict(proxy)<us...@example.com>: Lookup finished for 'priv/quota/storage': 
> found
> Dec 11 16:13:39 mail dovecot: 
> imap(us...@example.com)<271744><t9Y+VvkoZqV/AAAB>: Debug: 
> dict(proxy)<us...@example.com>: Lookup finished for 'priv/quota/storage': 
> found
> Dec 11 16:13:39 mail dovecot: 
> imap(us...@example.com)<271744><t9Y+VvkoZqV/AAAB>: Debug: 
> dict(proxy)<us...@example.com>: Looking up 'priv/quota/messages'
> Dec 11 16:13:39 mail dovecot: 
> imap(us...@example.com)<271744><t9Y+VvkoZqV/AAAB>: Debug: 
> dict(proxy)<us...@example.com>: Looking up (async) 'priv/quota/messages'
> Dec 11 16:13:39 mail dovecot: 
> imap(us...@example.com)<271744><t9Y+VvkoZqV/AAAB>: Debug: 
> dict(proxy)<us...@example.com>: Lookup finished for 'priv/quota/messages': 
> found
> Dec 11 16:13:39 mail dovecot: 
> imap(us...@example.com)<271744><t9Y+VvkoZqV/AAAB>: Debug: 
> dict(proxy)<us...@example.com>: Lookup finished for 'priv/quota/messages': 
> found
> Dec 11 16:13:39 mail dovecot: 
> imap(us...@example.com)<271744><t9Y+VvkoZqV/AAAB>: Debug: 
> dict(proxy)<us...@example.com>: conn unix:/run/dovecot/dict 
> (pid=270426,uid=0): Disconnected: Connection closed (fd=9)
> Dec 11 16:13:39 mail dovecot: imap-login: Debug: SSL alert: close notify
> Dec 11 16:13:39 mail dovecot: 
> imap(us...@example.com)<271744><t9Y+VvkoZqV/AAAB>: Disconnected: Logged out 
> in=365 out=818 deleted=0 expunged=0 trashed=0 hdr_count=0 hdr_bytes=0 
> body_count=0 body_bytes=0
> Dec 11 16:13:39 mail dovecot: 
> imap(us...@example.com)<271744><t9Y+VvkoZqV/AAAB>: Debug: 
> dict(proxy)<us...@example.com>: Waiting for dict to finish pending operations
> 
> 
> Are there any other settings that need to be modified?

I do not think so. The subscriptions and the indentation of the search
criteria was my main stumbling blocks - maybe I got lucky and did not run
into other things.

namespace virtual {
  prefix = "[virt]/"
  hidden = no
  list = yes
  subscriptions = no
  separator = /
  location = 
virtual:/etc/dovecot/virtual:INDEX=~/virtual:CONTROL=~/virtual:VOLATILEDIR=~/virtual
  mailbox "[virt]/Inbox" {
    auto = no
    comment = Virtual Threaded INBOX
  }
}

Is my setting for virtual namespace (I have a few other folders defined as
well, but this shows how the main part is configured).


-- 
Kind regards,

/S
_______________________________________________
dovecot mailing list -- dovecot@dovecot.org
To unsubscribe send an email to dovecot-le...@dovecot.org

Reply via email to