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 1vVaXa-005L70-0j for pgsql-hackers@arkaria.postgresql.org; Tue, 16 Dec 2025 19:16:59 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1vVaXX-008DKl-2E for pgsql-hackers@arkaria.postgresql.org; Tue, 16 Dec 2025 19:16:56 +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 1vVaXX-008DKd-1E for pgsql-hackers@lists.postgresql.org; Tue, 16 Dec 2025 19:16:56 +0000 Received: from mail-qt1-x830.google.com ([2607:f8b0:4864:20::830]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.96) (envelope-from ) id 1vVaXV-0011J7-2T for pgsql-hackers@postgresql.org; Tue, 16 Dec 2025 19:16:54 +0000 Received: by mail-qt1-x830.google.com with SMTP id d75a77b69052e-4f1b1948ffaso36821401cf.2 for ; Tue, 16 Dec 2025 11:16:53 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=enterprisedb.com; s=google; t=1765912612; x=1766517412; 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=ebBfSJXSyczD6V2ksjj2lTzK0NK5mOKVWufwK+upPZk=; b=k9CVEv4Gq9XOARZAmXK6Li0M0XMaAinnRdEiD0FMCPRRlEQ8zJuXgqo4AMOF/mHL/i 4XxRJ83uA1KcIN8UvPfoqb8Oz/LhHogZyTqpOEz5+4vTB6v3JqxjWRVp+niHy+mRCl8k 3l857iIKaZM+muQwWC4MlIeBQguXkyZSdKRoLi7c1x21dTsXa73cDxlF6LpokVrMwdc8 RlR1YieDcIFtT664dOvjn3jrFLkVHVi5M4D3pOV3EiqTA14st3HO/bALdN5q9FiTuhgp VCwfnYcDHz2dHMHTOMvrKEeDPsWDzVeRteZb7v3PlA5G/HXdutTaUmXoaOyKcJokUhW7 Aglw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1765912612; x=1766517412; 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=ebBfSJXSyczD6V2ksjj2lTzK0NK5mOKVWufwK+upPZk=; b=XvnrQvV8RsIv5SJsU+A9QD+JPuYXnHcNV3+xr+GjXh7DnI7DcWu+vdZGqQI3cCjxIV CQxZYwBnWnfuaqo5Hwpscwd6rK+SYZbKokWKkwBL4+uhP4Pj/7eBU6JY6mEgJwxAZa3G /xx1qR0iR+10XqJswURdI98njB2Nig/6YIdNDyTYXL5R3HD1YAWfwDMKRzHEVqfYNOvP +m42CPeadZhVz5GTF2j1mOCseLAcSwfxb+uIjjIWc86sC3eTNxbgq4wDpHKyDdt9GOy6 JS3imECo2rL/6IjLfofDWINU8lO6ZmQODfKyojg9aIe5RZ1t+UWX1K7Zx3sXjS/vVsvh 0MGA== X-Forwarded-Encrypted: i=1; AJvYcCWnrpW44sLWZgWmFTWkpXvzS9p382tnqycd2weNSeYEp/51U7WVdflBcN5UQbz6XY5UN/lP1GD/jCARI7Wc@postgresql.org X-Gm-Message-State: AOJu0YzV1hu264VlLMhu/GFpO9FplSFbpQYm554l6yZaGpR8bp+JEEMX PEZ567uwRipTWdm/xw0h55aATVleiFjSNBlrq7NQkRovGtJ+zgfZlulKUqy6clvpgQrxxNjiZPM jVakJPbscFtJd6UfIHikTqL7eOhjJybg+x5jscGAGYgPuvIHbNX1Y5A== X-Gm-Gg: AY/fxX6WGlUDT8TuL4czOfio3wzDcyXLNXm+R6B/DUXLdrJFGNrWjIwCpOX92GJqBh/ QB/r+N8kzsroQr7QjxYTQEgW1Alt/GMv5sA+wK5wblwHR+RpPTK3+E0O9KVbHo1Ya5Zk0d6vtWj zXb7rcCDjBlGaC9rpAQdUMU2njMuxCi5DIZX74YmoFJo0/MCdoKXaN5l5MCCCZ7eOpxViKDqV0q PICU60wWLctVUIL/hSd5Z/qG0VYvLktHhN0om/5phdP18D5ndwXx7mUbMZYeo2ETLHPHovUDNkd RyCc3tPH X-Google-Smtp-Source: AGHT+IEmbu656tlQDKhX+JEnUdH5s8VxZcE6WJDPNKLQI9XGHM3hR7o3CsoJgUzsILknMbQIuXUmJzFBaJzD+R3tIsM= X-Received: by 2002:ac8:5fd1:0:b0:4ee:2352:1bb2 with SMTP id d75a77b69052e-4f1d04ad27amr207060221cf.11.1765912612211; Tue, 16 Dec 2025 11:16:52 -0800 (PST) MIME-Version: 1.0 References: <16a91d02795cb991963326a902afa764e4d721db.camel@gmail.com> <3D82D240-1CC5-4CE6-BE30-6065B693D40C@yesql.se> In-Reply-To: From: Jacob Champion Date: Tue, 16 Dec 2025 11:16:41 -0800 X-Gm-Features: AQt7F2rlkc0gtavxjIX5qHsE5rDvkfi-8xm3XsbNT3a3C1_PnMJCILg1P4zfFsA Message-ID: Subject: Re: Make PGOAUTHCAFILE in libpq-oauth work out of debug mode To: "Jonathan Gonzalez V." Cc: Zsolt Parragi , Daniel Gustafsson , 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 Sun, Dec 14, 2025 at 3:13=E2=80=AFAM Jonathan Gonzalez V. wrote: > > Okay, that's good to know. But I'm still missing how the end user (a > > human) trusts that magic CA within the browser or device they use to > > finish the actual flow? > > More than the end user "trusting" a "magic" CA, it's about what company > will tell you to use a CA Sure, but my question isn't about the trust model. Just to confirm: you're saying that it's common for enterprise provisioning apps (CrowdStrike et al) to push CAs directly into a browser trust store, but _not_ to the system trust paths? > Totally agree, now I'm thinking the same, it should be a feature > because there's more examples that I've been thinking about that may > require this to be even a bit more flexible, for example, when working > with edge computing, if you want (in the future because now it's not > possible, yet) authenticate a device against PostgreSQL it may require > to have that CA as a encoded string int he variable, not just as a > file, wild thought I know, but it may make sense I think we want to keep these on disk; no reason to run up against resource limits on the environment. > > https://wiki.postgresql.org/wiki/Proposal:_Promote_PGOAUTHCAFILE_to_fea= ture > > How can we work on that? because of the above it may be required to add > even more possibilities. Not sure what you mean. I think we're working on it now, in this thread? On Sun, Dec 14, 2025 at 3:17=E2=80=AFAM Jonathan Gonzalez V. wrote: > I will for sure try to avoid this kind of format with comma separated > options, this mainly because are really hard to parse and manage in an > automated way I feel _very_ strongly that the "debug" options are for people. Specifically developers who are debugging. What use case do you have for automation and parsing outside of libpq? > and sometimes, are hard to read when there's too many > options, and at some point, there could be many options since the flows > can start getting really complicated. Can you explain more about what kinds of use cases would lead to option explosion? When I'm developing I typically want to export an interesting group of options once, and then not think about it for a while. When debugging in production I typically want one particular thing at a time. > Why not keep something with debug levels? Even if it sounds really > classic, for parsing reasons are really good. I would say: because there's no natural order to the settings. It's a bunch of on/off behaviors, some of which are safety-critical. What is the "debug level" of disabling encryption compared to the debug level of printing secrets or turning off parameter validation? --Jacob