enable/disable shared namespace in passdb

abi at oleane.net abi at oleane.net
Mon Apr 4 15:15:54 UTC 2016


 >
> hello all
>
> i'm currently using passdb to enable and disable various namespaces
> conditionally :  for example the following work
>
> namespace/inbox/inbox=no
> namespace/legacy_pfso/disabled=no
> namespace/legacy_pfso/inbox=no
> namespace/local_storage/disabled=no
> namespace/comboINBOX_local_pfso/disabled=no
> namespace/comboINBOX_local_pfso/inbox=yes
>
> but i can't get things like the following to work
>
> namespace/shared/disabled=yes
>
> --
>
> the shared namespace is configured as shown below
>
> namespace shared {
>      type = shared
>      list = yes    # children
>      disabled = yes
>      separator = /
>      prefix = shared/%%u/
>      location = imapc:~/dovemail/shared/%%u/
> }
>
> imapc_host = localhost
> imapc_port = 143
> imapc_password = superpassword        # either super or a dummy
> imapc_master_user = %u
>
> --
>
> it seems the shared namespaces do not have names any more so they can't
> be modified dynamically
>
> is there a way to circumvent ?  something i missed ?
>
> i'm running 2.2.22 but i can switch easily to 2.2.9 or any other version
> providing master_user or one of the variables that can let me know if a
> master login was performed is available in passdb
>
> the reason i'm doing this is so i can prevent long chains/loops from
> occuring : then accessed by imapc: , the passdb should disable the
> shared namespace so it does not produce (an)other imapc connection(s)
>
> thanks for your help
>
> alexis

hi all

bumping on my own...

i've tried to declare the namespace inside the imap protocol and adding 
the following extra protocol and listner

service imap-login-noshares {
	protocol = imapnoshares
	executable = imap-login
	inet_listener imapnoshares {
		address =
		port = 20143
		reuse_port = no
		ssl = no
	}
	$login_process_common_stuff
}

protocol imapnoshares {
	# we need to clone imap stuff here... maybe not everything but at least 
quota and the likes
}

unfortunately it seems that the protocol is still 'imap' : the passdb 
and userdb queries still contain imap as the protocol name, the log 
displays imap(username), and it looks like the shared namespace is active.

the namespace is now declared like this

protocol imap {
	namespace shared {
		type = shared
		list = yes	# children
		#disabled = yes
		separator = /
		prefix = shared/%%u/
		location = imapc:~/dovemail/shared/%%u/
	}
}


any ideas ?

has anybody managed to get acls to work with imapc ?

thanks for your time

alexis


More information about the dovecot mailing list