Обсуждение: Re: BUG #18769: ldapscheme is not displayed in pg_hba_file_rules

Поиск
Список
Период
Сортировка

Re: BUG #18769: ldapscheme is not displayed in pg_hba_file_rules

От
Daniel Gustafsson
Дата:
> On 9 Jan 2025, at 11:00, Laurenz Albe <laurenz.albe@cybertec.at> wrote:
>
> On Thu, 2025-01-09 at 10:54 +0100, Laurenz Albe wrote:
>> On Thu, 2025-01-09 at 09:45 +0000, PG Bug reporting form wrote:
>>> For whatever reason, the "ldapscheme" option was forgotten in the function
>>> pg_hba_file_rules().
>>
>> Here is a patch to fix the omission.
>
> v2 of the patch has a correct "discussion" URL in the commit message;
> otherwise it is unchanged.

LGTM.

--
Daniel Gustafsson




Re: BUG #18769: ldapscheme is not displayed in pg_hba_file_rules

От
Laurenz Albe
Дата:
On Thu, 2025-01-09 at 13:09 +0100, Daniel Gustafsson wrote:
> > On Thu, 2025-01-09 at 10:54 +0100, Laurenz Albe wrote:
> > > On Thu, 2025-01-09 at 09:45 +0000, PG Bug reporting form wrote:
> > > > For whatever reason, the "ldapscheme" option was forgotten in the function
> > > > pg_hba_file_rules().
> > >
> > > Here is a patch to fix the omission.
>
> LGTM.

Do you want to commit it, or should I add it to the next commitfest?

Yours,
Laurenz Albe



Re: BUG #18769: ldapscheme is not displayed in pg_hba_file_rules

От
Daniel Gustafsson
Дата:
> On 10 Jan 2025, at 09:00, Laurenz Albe <laurenz.albe@cybertec.at> wrote:
>
> On Thu, 2025-01-09 at 13:09 +0100, Daniel Gustafsson wrote:
>>> On Thu, 2025-01-09 at 10:54 +0100, Laurenz Albe wrote:
>>>> On Thu, 2025-01-09 at 09:45 +0000, PG Bug reporting form wrote:
>>>>> For whatever reason, the "ldapscheme" option was forgotten in the function
>>>>> pg_hba_file_rules().
>>>>
>>>> Here is a patch to fix the omission.
>>
>> LGTM.
>
> Do you want to commit it, or should I add it to the next commitfest?

I'm planning to do it today, so no need to add it. Thanks!

--
Daniel Gustafsson




Re: BUG #18769: ldapscheme is not displayed in pg_hba_file_rules

От
Tom Lane
Дата:
Daniel Gustafsson <daniel@yesql.se> writes:
> I'm planning to do it today, so no need to add it. Thanks!

Our weekly Coverity run complained about this in all branches:

*** CID 181934:  Memory - corruptions  (OVERRUN)
/srv/coverity/git/pgsql-git/13stable/src/backend/libpq/hba.c: 2368 in gethba_options()
2362             if (hba->ldapsearchfilter)
2363                 options[noptions++] =
2364                     CStringGetTextDatum(psprintf("ldapsearchfilter=%s",
2365                                                  hba->ldapsearchfilter));
2366
2367             if (hba->ldapscope)
>>>     CID 181934:  Memory - corruptions  (OVERRUN)
>>>     Overrunning array "options" of 14 8-byte elements at element index 14 (byte offset 119) using index
"noptions++"(which evaluates to 14). 
2368                 options[noptions++] =
2369                     CStringGetTextDatum(psprintf("ldapscope=%d", hba->ldapscope));
2370         }
2371
2372         if (hba->auth_method == uaRADIUS)
2373         {

Looks like you should have increased MAX_HBA_OPTIONS.  The comment
just above that macro needs work too.

            regards, tom lane



Re: BUG #18769: ldapscheme is not displayed in pg_hba_file_rules

От
Daniel Gustafsson
Дата:
> On 12 Jan 2025, at 16:55, Tom Lane <tgl@sss.pgh.pa.us> wrote:
>
> Daniel Gustafsson <daniel@yesql.se> writes:
>> I'm planning to do it today, so no need to add it. Thanks!
>
> Our weekly Coverity run complained about this in all branches:
>
> *** CID 181934:  Memory - corruptions  (OVERRUN)
> /srv/coverity/git/pgsql-git/13stable/src/backend/libpq/hba.c: 2368 in gethba_options()
> 2362      if (hba->ldapsearchfilter)
> 2363      options[noptions++] =
> 2364      CStringGetTextDatum(psprintf("ldapsearchfilter=%s",
> 2365      hba->ldapsearchfilter));
> 2366
> 2367      if (hba->ldapscope)
>>>>    CID 181934:  Memory - corruptions  (OVERRUN)
>>>>    Overrunning array "options" of 14 8-byte elements at element index 14 (byte offset 119) using index
"noptions++"(which evaluates to 14). 
> 2368      options[noptions++] =
> 2369      CStringGetTextDatum(psprintf("ldapscope=%d", hba->ldapscope));
> 2370      }
> 2371
> 2372      if (hba->auth_method == uaRADIUS)
> 2373      {
>
> Looks like you should have increased MAX_HBA_OPTIONS.  The comment
> just above that macro needs work too.

Ugh, I missed that when reading over the function.  Thanks for the report, I'll
get it fixed tonight.

--
Daniel Gustafsson