Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1w7eAN-005Ye9-2h for pgsql-hackers@arkaria.postgresql.org; Tue, 31 Mar 2026 18:50:19 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1w7eAL-00CXUr-1O for pgsql-hackers@arkaria.postgresql.org; Tue, 31 Mar 2026 18:50:17 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1w7eAL-00CXUc-0N for pgsql-hackers@lists.postgresql.org; Tue, 31 Mar 2026 18:50:17 +0000 Received: from mail-qv1-xf2f.google.com ([2607:f8b0:4864:20::f2f]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.98.2) (envelope-from ) id 1w7eAJ-000000020xX-1N5z for pgsql-hackers@postgresql.org; Tue, 31 Mar 2026 18:50:16 +0000 Received: by mail-qv1-xf2f.google.com with SMTP id 6a1803df08f44-89cc797547fso64452706d6.2 for ; Tue, 31 Mar 2026 11:50:15 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1774983014; cv=none; d=google.com; s=arc-20240605; b=V5+4+x09vUYb3zzpOJzr9w3L82aTu9c4rSWfGB3lSBk5cp9H6JpxL1B+8xiTSj/DxV GAAHW/eG0ts6tyyKfKdlew9RxLnigT3mObDAEteJEUEgfkoRd1Ow5EZ8MsmVR9E+URFg KGai3/0ubXKzTckYZi0MKdhrqxebVFBL+ea/vovFF4PyYtjTBhuAbNLuxQkIMvUv1qNv rkCewBMXTWdojGUSq3xJSuRmvCJZkQ8xIDfiyGAM+ZLVu4otjk6n0kffV018l3psXzw8 BN2WWDqTKUisH1jN8w3a1Bl+ONWG186pySrurm77tDZXuUfkKnGyDXO6JnFDqyCmfQ8s LjzQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:dkim-signature; bh=02Eph0ij0S7LbhY/IwxDt/G4SXCZXQ5FmCtXT0am1qk=; fh=zhjmwzhPhoJODXTx4iy2Mg3qP3/ZM6Lr0mK9RsvB75o=; b=V8uO9EIwbO4xDS/dhBuKMQo1Z2WCan5e/GZ1+zwHhOPsFt134ok4N5RZRCqOgqpEMD JOmvRsO2sZaV1/ByfkOxVs494TFklcbS4vSFjFHkmtWYgoUjhsrtmMZZCGLnMj1rK1GH ee/f9HRriILkFg8791xBLnDMdPc4OI6+vpMKTgT1XLycykW/Fz3dXbHrnu6c/Yrr2NbR jdqbqLLdhfpPPmPSPpHyiHMUSf99I6dlMt9j3HWkCqyuYamujB2NYDtaztRb+dNFXQRb 43iYqZV84MtXY7Osdznqui6YO3Smi4EIn/DYEQolE2GmSru6fiDDJBtvtsNLYEtDKYvd x2fQ==; darn=postgresql.org ARC-Authentication-Results: i=1; mx.google.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=enterprisedb.com; s=google; t=1774983014; x=1775587814; darn=postgresql.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=02Eph0ij0S7LbhY/IwxDt/G4SXCZXQ5FmCtXT0am1qk=; b=WWDydtLA8JgJxC4i7zVXwCd4sHhtC71wx2BtOheTwBMTnUxWWLrY7Weulr2Z1Qh0z8 JALV2wMCS/fC6BRV+LRnVAfaZKV3fahJ7LViJEL3ocGT36HXCwAu4MmmIokdLHcX/4VN X+s/EiKaeqNOPfrBrjfdq8nixSMbVpvuOqd36S2DKegQUYbHxZ13SQr5woeQjKQRW4Ui KLnEgchAV2T7lBs8a7bJHOzxeR2VSsYAqk59VpLINaa3vq3sdi3o8QXcC8P6DBcfZmqb lv8N274hkA1SeimjfxRkpjxVk5yr6IHDI7sbWUFf+krh7tL/OTVe4IJrkoI/LydBUrvD 5STA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1774983014; x=1775587814; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=02Eph0ij0S7LbhY/IwxDt/G4SXCZXQ5FmCtXT0am1qk=; b=FWqtB5v77h7ixMz3HIVJXh62AhF2LV0VchRu0rXwKYFTn6UYo0ULEkSGGAP7CMkdZT AT+4EDfSmwBum296dYMy/n/LvdMx69b0QOHVVUn9ugOulP36lidrRtsUqA/ycmDTDBO8 9LmxrEvZAXjZoEP/NJmXMCc3fjy+MLt+wCfyxY1SrB3HfDdQY6x2g9n/bb/lOfCzUNMf Hbulc7NV/vg8z3nZvir4iphvEHI6dJ4Uf9aW/wwzi8bY7FK5bzUW7PhrIxkf0j4IMB15 3ieOXUJv80vYA5Xxm5JlNJwk4hIxqvERW7Vyy02aFuKj5uqI5jQIQ+HA1QP+V3nlxGZC v5VQ== X-Forwarded-Encrypted: i=1; AJvYcCU3WcHEuErT8to4gD2mTMMmw/1slkChpOxmgxHMqdz07LesyYJmHJBFRL/TP+Sgcf7ToeCnBxS+KXhGY7Na@postgresql.org X-Gm-Message-State: AOJu0Yx40rq1H9zrIvq/Vb7gw6iqhCHEEb+bSQZycDmGm/0FPF+cREAV jOIUz5hM2SvjzKifekOQubjS3MRjtX4vO7gJBXiQT7Cpf2ssjJ9Ha+kyr+CM8cf87m7oHZm6Iaa HnUwKD8M6XSs8TVWPBPhYnwRP4W5nZBvLWwD+srD3 X-Gm-Gg: ATEYQzyfw0GCkVllkYYwpaNPgvDmosk6CuHzHfaqzmaTLZJEy4k0W/L8iwLvvIBp9RQ a2akP2To8DetDLt+Y1bSUEeHuYBrmbPJL1Sz2mdp+ajjKWIV+NM38o/n4DSEhmuB49EtbE4PtTs WrFQzTC6AIVnZJSmZfbrTYNZyQsG5Q4uTtFoksywXHRDJ672DQhxCrPcMLGWuzXATgJg0MVZ4T+ ifx1wvb7Fq3w+0L+ZeAELQONERAIMmdjh0nnlQUeWvRmukV7+dOaIO8kF/dPwuSjdKud1Y2NH/E 9Uxd8X9pWw== X-Received: by 2002:a05:6214:3d9b:b0:89c:ac1f:8d86 with SMTP id 6a1803df08f44-8a437b164bcmr13811706d6.19.1774983014316; Tue, 31 Mar 2026 11:50:14 -0700 (PDT) MIME-Version: 1.0 References: <3720B2E1-0B96-4063-8D63-B5AE6AFEA159@gmail.com> <821576A8-5958-401D-B8D1-7E4E30F5A40F@gmail.com> In-Reply-To: <821576A8-5958-401D-B8D1-7E4E30F5A40F@gmail.com> From: Jacob Champion Date: Tue, 31 Mar 2026 11:50:02 -0700 X-Gm-Features: AQROBzDfeiTdW_yilupJwnMDBkAwTUgXebTjX_zjkX0TPyHofFG4ChZrolfkM1Q Message-ID: Subject: Re: [oauth] Stabilize the libpq-oauth ABI (and allow alternative implementations?) To: Chao Li Cc: "Jonathan Gonzalez V." , Zsolt Parragi , PostgreSQL Hackers Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk On Mon, Mar 16, 2026 at 12:33=E2=80=AFAM Chao Li w= rote: > I think this check relies on that when poisoning, request->error should b= e NULL. So, does it make sense to Assert(request->error=3D=3DNULL) in the p= oison branch? Yes, that's a good idea. Done in the committed version. > 2 - 0002 Overall LGTM. A small comment is that, now use_builtin_flow() be= comes a bit misleading because it may turn to non-builtin when libpq_oauth_= init is not provided by the lib. So, maybe rename the function to something= like try_builtin_flow()? I think you're correct that the naming here has not caught up to where we are, but try_builtin_flow() doesn't get us much closer in my opinion, and I wasn't able to find something I really liked. This will need a refactor when plugins arrive, so I'm deferring for now. Thanks! --Jacob