[sendmail] lmtp, cyrusv2d, shared folders and case

Andrzej Adam Filip andrzej.filip at gmail.com
Fri Apr 3 13:05:29 EDT 2009


nodens2099 <nodens2099 at gmail.com> wrote:

> Andrzej Adam Filip a écrit :
>> nodens2099 <nodens2099 at gmail.com> wrote:
>> 
>>> Andrzej Adam Filip a écrit :
>>>>>> Does smmap return "unknown user" *even for lowercase folders*?
>>>>>>
>>>>> Nope, you're right. the real problem is on the mrs check, then. 
>>>> It can use only what smmap provides.
>>>> Are you ready to ask for changed in Cyrus' smmap to make it capable to
>>>> check Public folders availability?
>>>>
>>>> mrs_cyrus_mailertable may be changed to check validity of mailbox folder
>>>> its own list of valid folders.
>>>>
>>> This is already what I'm doing with ldap. There is no need to add
>>> another database, which would have to be maintained as the public folder
>>> list change, IMO.
>> 
>> OK - smmap map be needless for "LDAP centric" configuration.
>> 
>>> I actually took a look at the smmapd code, and it uses the
>>> lmtp_downcase_rcpt value to know whether the recipient should be
>>> converted to downcase or not.
>>> According to the code, it convert the user part only, and has a special
>>> case for shared folder, so it should be ok.
>>>
>>> Do you know a way to test smmapd manually ?
>> 
>> There are simple socket map client and server perl scripts in contrib
>> directory of sendmail distribution.
>> 
>
> I made some more test. The problem is definitely in the cyrus map.
>
> real mailbox name : Hosting/Abuse at domain.com
>
> sendmail -d -bt
> <cut meaningless debug info>
> ADDRESS TEST MODE (ruleset 3 NOT automatically invoked)
> Enter <ruleset> <address>
>> /map cyrus +Hosting/Abuse at domain.com
> map_lookup: cyrus (+Hosting/Abuse at domain.com) no match (68)
>
> (creating hosting/abuse at domain.com, that is the same folder but in
> lowercase)
>> /map cyrus +Hosting/Abuse at domain.com
> map_lookup: cyrus (+Hosting/Abuse at domain.com)
> map_rewrite(+hosting/abuse at domain.com), av =
>         +Hosting/Abuse at domain.com
> map_rewrite => +hosting/abuse at domain.com<OK>
> returns +hosting/abuse at domain.com<OK> (0)
>
> socketmapClient.pl :
>
> ./socketmapClient.pl unix:/var/run/cyrus/socket/smmap cyrus
> "+Hosting/Abuse at domain.com"
> +Hosting/Abuse at domain.com => OK +Hosting/Abuse at domain.com
>
> So socketmap daemon works as expected.

Sendmail's maps traditionally turn looked up key into lowercase.
It can be (usually) turned off by adding -f switch to map definition.
[ I have reported "missing -f" in socket as bug myself :-) ]

-- 
[pl>en: Andrew] Andrzej Adam Filip : anfi at onet.eu
It is common sense to take a method and try it.  If it fails,
admit it frankly and try another.  But above all, try something.
  -- Franklin D. Roosevelt


More information about the Info-cyrus mailing list