Matthias Lay
2019-Jul-01 10:37 UTC
Variable expansion with variables containing '%' (ldap with 2.3.6)
Am Mon, 1 Jul 2019 13:08:46 +0300 (EEST) schrieb Aki Tuomi <aki.tuomi at open-xchange.com>:> Hi, > > there seems to be a problem when expanding variables containing a > single '%' in value in dovecot V2.3.6 > > having a user defined Variable in user_attrs like > > user_attrs = name=home=/maildir/%Ln, > =myvar=path/%L{ldap:sAMAccountName} > > > and sAMAccountName conains a '%', in my example "sonder%zeichen" > leads to: > > lda(sonder%zeichen)<5723><ov9uCHjOGV1bFgAACDoIoQ>: Fatal: Failed to > expand plugin setting myvar = 'path/sonder%zeichen': Unknown > variable '%z' > > same setup works with dovecot 2.2.29 > > Any Feedback appreciated. > Thanks. > Matze > > You can use %% to escape a % > --- > Aki Tuomi >Hi Aki, nope this doesnt work. if I use 'sonder%%zeichen', the ldap lookup searches for the User/Value "sonder%%zeichen" in ldap/AD. what fails, as this user doesnt exist. and I cant escape the value in all cases anyway, as its an remote value, coming from the ldap server. seems to me the sequence of intepreting variables and modifiers changed between 2.2 ans 2.3 now it gets the variable value from remote in the first place, and interprets the value itself for more variables or modifiers, which might not be what you want. like in a subquery using @mail=%{ldap:mailDN} but I dont use subqueries. just a simple expansion =myvar=%{ldap:mailDN} any more ideas?
Aki Tuomi
2019-Jul-02 05:24 UTC
Variable expansion with variables containing '%' (ldap with 2.3.6)
On 1.7.2019 13.37, Matthias Lay via dovecot wrote:> Am Mon, 1 Jul 2019 13:08:46 +0300 (EEST) > schrieb Aki Tuomi <aki.tuomi at open-xchange.com>: > >> Hi, >> >> there seems to be a problem when expanding variables containing a >> single '%' in value in dovecot V2.3.6 >> >> having a user defined Variable in user_attrs like >> >> user_attrs = name=home=/maildir/%Ln, >> =myvar=path/%L{ldap:sAMAccountName} >> >> >> and sAMAccountName conains a '%', in my example "sonder%zeichen" >> leads to: >> >> lda(sonder%zeichen)<5723><ov9uCHjOGV1bFgAACDoIoQ>: Fatal: Failed to >> expand plugin setting myvar = 'path/sonder%zeichen': Unknown >> variable '%z' >> >> same setup works with dovecot 2.2.29 >> >> Any Feedback appreciated. >> Thanks. >> Matze >> >> You can use %% to escape a % >> --- >> Aki Tuomi >> > Hi Aki, > > nope this doesnt work. if I use 'sonder%%zeichen', the ldap lookup > searches for the User/Value "sonder%%zeichen" in ldap/AD. what fails, as > this user doesnt exist. > > and I cant escape the value in all cases anyway, as its an remote > value, coming from the ldap server. > > seems to me the sequence of intepreting variables and modifiers changed > between 2.2 ans 2.3 > now it gets the variable value from remote in the first place, and > interprets the value itself for more variables or modifiers, which > might not be what you want. > > like in a subquery using > > @mail=%{ldap:mailDN} > > but I dont use subqueries. just a simple expansion > > =myvar=%{ldap:mailDN} > > any more ideas? > > > > >I have to investigate this a bit. Aki
Aki Tuomi
2019-Jul-02 05:51 UTC
Variable expansion with variables containing '%' (ldap with 2.3.6)
On 2.7.2019 8.24, Aki Tuomi via dovecot wrote:> On 1.7.2019 13.37, Matthias Lay via dovecot wrote: >> Am Mon, 1 Jul 2019 13:08:46 +0300 (EEST) >> schrieb Aki Tuomi <aki.tuomi at open-xchange.com>: >> >>> Hi, >>> >>> there seems to be a problem when expanding variables containing a >>> single '%' in value in dovecot V2.3.6 >>> >>> having a user defined Variable in user_attrs like >>> >>> user_attrs = name=home=/maildir/%Ln, >>> =myvar=path/%L{ldap:sAMAccountName} >>> >>> >>> and sAMAccountName conains a '%', in my example "sonder%zeichen" >>> leads to: >>> >>> lda(sonder%zeichen)<5723><ov9uCHjOGV1bFgAACDoIoQ>: Fatal: Failed to >>> expand plugin setting myvar = 'path/sonder%zeichen': Unknown >>> variable '%z' >>> >>> same setup works with dovecot 2.2.29 >>> >>> Any Feedback appreciated. >>> Thanks. >>> Matze >>> >>> You can use %% to escape a % >>> --- >>> Aki Tuomi >>> >> Hi Aki, >> >> nope this doesnt work. if I use 'sonder%%zeichen', the ldap lookup >> searches for the User/Value "sonder%%zeichen" in ldap/AD. what fails, as >> this user doesnt exist. >> >> and I cant escape the value in all cases anyway, as its an remote >> value, coming from the ldap server. >> >> seems to me the sequence of intepreting variables and modifiers changed >> between 2.2 ans 2.3 >> now it gets the variable value from remote in the first place, and >> interprets the value itself for more variables or modifiers, which >> might not be what you want. >> >> like in a subquery using >> >> @mail=%{ldap:mailDN} >> >> but I dont use subqueries. just a simple expansion >> >> =myvar=%{ldap:mailDN} >> >> any more ideas? >> >> >> >> >> > I have to investigate this a bit. > > > Aki >Seems to be a bug of a kind. I'll open it in our issue tracker. Aki
Seemingly Similar Threads
- Variable expansion with variables containing '%' (ldap with 2.3.6)
- Variable expansion with variables containing '%' (ldap with 2.3.6)
- Variable expansion with variables containing '%' (ldap with 2.3.6)
- Variable expansion with variables containing '%' (ldap with 2.3.6)
- Variable expansion with variables containing '%' (ldap with 2.3.6)