dovecot fts-solr + solr 8.7.0 upgrade: "Indexing failed: 401 Unauthorized" + "Transaction commit failed: FTS transaction commit failed: backend deinit" ?

John Fawcett john at voipsupport.it
Sat Nov 14 11:12:38 EET 2020


On 13/11/2020 22:30, John Fawcett wrote:
> On 13/11/2020 22:04, PGNet Dev wrote:
>>> I guess you didn't need to enclose username and password in quotes, i.e.
>>>
>>> fts_solr =
>>> url=https://myuser:my%40pass@solr.example.com:8984/solr/dovecot/
>>> use_libfts soft_commit=yes batch_size=250
>> On 11/13/20 12:56 PM, John Fawcett wrote:
>>
>>> I guess you didn't need to enclose username and password in quotes, i.e.
>>> fts_solr =
>>> url=https://myuser:my%40pass@solr.example.com:8984/solr/dovecot/
>>> use_libfts soft_commit=yes batch_size=250
>>
>> heh, quotes weren't the 1st thing I tried!
>>
>>
>>
>> here, use of the the '%40' encoding -- with or without single or dubl
>> quotes -- causes the perms errors I was seeing.
>>
>>
>>
>> nbd, as I just rm need-to-escape chars from my random-pass-str
>> generator snippet.
>>
>>
>>
>> simple enough workaround, once I realized ...
>>
>>
>>
>>
>>
> it looks like there's a parsing error so that rfc3986 compliant
> %encoding in the user or password field of the url is not accepted by
> Dovecot.
>
> John
>
Looking further into this, a fix is not necessary, it's just that the
%encoding contrasts with the Dovecot variable substitution syntax;

https://doc.dovecot.org/configuration_manual/config_file/config_variables/

The way to do this is to take note that in configuration varibales where you need to use % you should state %%. So your configuration string should be as follows and that is sufficient to pass the %encoded value %40 to the solr in the password string.

url=https://myuser:my%%40pass@solr.example.com:8984/solr/dovecot/

John 



More information about the dovecot mailing list