Dovecot mail-crypt webmail can't read encrypted messages
Bernardo Reino
reinob at bbmk.org
Wed Oct 12 05:54:52 UTC 2022
On Tue, 11 Oct 2022, Serveria Support wrote:
> I'm sorry but I wasn't able to find src/config/all-settings.c file.
> all-settings.h is there but all-settings.c is missing. I checked on
> Github (thought maybe some files failed to extract) and it's missing
> there too.
When building from git, you need to run ./autogen.sh first.
^^
This is from the instructions in git (INSTALL.md).
This generates, among others, the file I mentioned.
> On 2022-10-11 22:15, Bernardo Reino wrote:
>> Please please stop top-posting. Makes a mess of everything!
>>
>> On Tue, 11 Oct 2022, Serveria Support wrote:
>>
>>> Ok, this is something... let me check...
>>>
>>> If you're you referring to these pieces of code:
>>>
>>> [...]
>>>
>>> I'm not a programmer, let alone a C guru, but these extracts
>>> look like password failure logging. Are you sure they are
>>> recording successful authentications for the logs?
>>
>> OK. I thought the code would be the same. I *do* log failed
>> passwords,
>> so I sort of thought only about that string ("given password: ").
>>
>> I enabled debug passwords on my server, to test, so I could see
>> how it
>> looks like in the log.
>>
>> The "keyword" in the code seems to be "hide_pass", so if you
>> search
>> for that in the code, you find a few instances where passwords
>> are
>> (selectively) removed/replaced in a given line of text.
>>
>> But at this point I think the easiest in this absurd (IMHO) quest
>> of
>> yours is to patch src/config/all-settings.c, and, around line
>> 4141:
>>
>> static bool login_settings_check(void *_set, pool_t pool,
>> const char **error_r ATTR_UNUSED)
>> {
>> struct login_settings *set = _set;
>>
>> set->log_format_elements_split =
>> p_strsplit(pool, set->login_log_format_elements, " ");
>>
>> /* >>> INSERT HERE */
>> set->auth_debug_passwords = FALSE;
>> /* */
>>
>> if (set->auth_debug_passwords)
>> set->auth_debug = TRUE;
>> if (set->auth_debug)
>> set->auth_verbose = TRUE;
>> return TRUE;
>> }
>>
>> If I'm right, this will just turn off the flag whenever dovecot
>> checks
>> the settings, i.e. regardless of what's in the actual
>> dovecot.conf, so
>> it should do the trick.
>>
>> But at this point this feels like a useless homework assignment,
>> so I
>> think I'll stop (I used to be good with C, now I'm read/only, and
>> my
>> time is very limited).
>>
>> (I do make a mental note of having a statically linked dovecot
>> binary
>> with forced password debugging. You never know when/where you
>> might
>> need it ;-)
>>
>> Cheers and good luck,
>> Bernardo
>>
>>> On 2022-10-11 17:07, Bernardo Reino wrote:
>>>> On Mon, 10 Oct 2022, Serveria Support wrote:
>>>>
>>>>> I checked the source code on Github and discussed this with a
>>>>> C
>>>>> developer. There seem to be too many files... perhaps
>>>>> somebody can
>>>>> guide
>>>>> me where should I look? Aki?
>>>>
>>>> You should search for "given password" in the source.
>>>>
>>>> Hint:
>>>> src/auth/passdb-pam.c, around lines 175-178.
>>>> src/auth/auth-request.c, around lines 2311-2312.
>>>>
>>>> This is with the latest source (2.3.19.1).
>>>>
>>>> Cheers.
>>>>
>>>> PS: But as I noted, nothing prevents $HACKER from bringing
>>>> their own
>>>> dovecot (BYOD :) with all debugging options enabled, etc. As
>>>> others
>>>> have noted, if the intruder owns your server, you have lost.
>>>> Period.
>>>
>
More information about the dovecot
mailing list