libpq-oauth: Use the PGoauthBearerRequestV2 API
Switch the private libpq-oauth ABI to a public one, based on the new
PGoauthBearerRequestV2 API. A huge amount of glue code can be removed as
part of this, and several code paths can be deduplicated. Additionally,
the shared library no longer needs to change its name for every major
release; it's now just "libpq-oauth.so".
Reviewed-by: Chao Li <li.evan.chao@gmail.com>
Reviewed-by: Zsolt Parragi <zsolt.parragi@percona.com>
Discussion: https://postgr.es/m/CAOYmi%2BmrGg%2Bn_X2MOLgeWcj3v_M00gR8uz_D7mM8z%3DdX1JYVbg%40mail.gmail.com
Branch
------
master
Details
-------
https://git.postgresql.org/pg/commitdiff/6225403f2783dae16be57120618522d255bd6cc8
Modified Files
--------------
src/interfaces/libpq-oauth/Makefile | 9 +-
src/interfaces/libpq-oauth/README | 67 +++---
src/interfaces/libpq-oauth/exports.txt | 3 +-
src/interfaces/libpq-oauth/meson.build | 4 +-
src/interfaces/libpq-oauth/oauth-curl.c | 336 ++++++++++++++++++-------------
src/interfaces/libpq-oauth/oauth-curl.h | 6 +-
src/interfaces/libpq-oauth/oauth-utils.c | 77 +------
src/interfaces/libpq-oauth/oauth-utils.h | 43 +---
src/interfaces/libpq/fe-auth-oauth.c | 229 ++++++++++-----------
src/interfaces/libpq/fe-auth-oauth.h | 7 +-
src/tools/pgindent/typedefs.list | 9 -
11 files changed, 353 insertions(+), 437 deletions(-)