Re: Refactor SASL exchange in preparation for OAuth Bearer

Поиск
Список
Период
Сортировка
От Jacob Champion
Тема Re: Refactor SASL exchange in preparation for OAuth Bearer
Дата
Msg-id CAOYmi+=DE-Uu8jN9gYaiEjV8g0jHOZZphS8xj1zM7nQNP0tq8g@mail.gmail.com
обсуждение исходный текст
Ответ на Refactor SASL exchange in preparation for OAuth Bearer  (Daniel Gustafsson <daniel@yesql.se>)
Ответы Re: Refactor SASL exchange in preparation for OAuth Bearer  (Daniel Gustafsson <daniel@yesql.se>)
Список pgsql-hackers
On Fri, Feb 23, 2024 at 2:30 AM Daniel Gustafsson <daniel@yesql.se> wrote:
>
> The attached two patches are smaller refactorings to the SASL exchange and init
> codepaths which are required for the OAuthbearer work [0].  Regardless of the
> future of that patchset, these refactorings are nice cleanups and can be
> considered in isolation.  Another goal is of course to reduce scope of the
> OAuth patchset to make it easier to review.

Thanks for pulling these out! They look good overall, just a few notes below.

In 0001:

> + * SASL_FAILED: The exchance has failed and the connection should be

s/exchance/exchange/

> - if (final && !done)
> + if (final && !(status == SASL_FAILED || status == SASL_COMPLETE))

Since there's not yet a SASL_ASYNC, I wonder if this would be more
readable if it were changed to
    if (final && status == SASL_CONTINUE)
to match the if condition shortly after it.

In 0002, at the beginning of pg_SASL_init, the `password` variable now
has an uninitialized code path. The OAuth patchset initializes it to
NULL:

> +++ b/src/interfaces/libpq/fe-auth.c
> @@ -425,7 +425,7 @@ pg_SASL_init(PGconn *conn, int payloadlen)
>         int                     initialresponselen;
>         const char *selected_mechanism;
>         PQExpBufferData mechanism_buf;
> -       char       *password;
> +       char       *password = NULL;
>         SASLStatus      status;
>
>         initPQExpBuffer(&mechanism_buf);

I'll base the next version of the OAuth patchset on top of these.

Thanks!
--Jacob



В списке pgsql-hackers по дате отправления:

Предыдущее
От: Nathan Bossart
Дата:
Сообщение: Re: An improved README experience for PostgreSQL
Следующее
От: Ivan Trofimov
Дата:
Сообщение: Re: libpq: PQfnumber overload for not null-terminated strings