Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.89) (envelope-from ) id 1iF0CG-0002IU-3a for pgsql-committers@arkaria.postgresql.org; Mon, 30 Sep 2019 18:14:56 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.89) (envelope-from ) id 1iF0CE-00021M-PN for pgsql-committers@arkaria.postgresql.org; Mon, 30 Sep 2019 18:14:54 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.89) (envelope-from ) id 1iF0CE-000219-E5 for pgsql-committers@lists.postgresql.org; Mon, 30 Sep 2019 18:14:54 +0000 Received: from mail-pg1-x542.google.com ([2607:f8b0:4864:20::542]) by makus.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92) (envelope-from ) id 1iF0CB-0003Xd-OE for pgsql-committers@lists.postgresql.org; Mon, 30 Sep 2019 18:14:52 +0000 Received: by mail-pg1-x542.google.com with SMTP id v27so7798055pgk.10 for ; Mon, 30 Sep 2019 11:14:51 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=j-davis-com.20150623.gappssmtp.com; s=20150623; h=message-id:subject:from:to:cc:date:in-reply-to:references :mime-version:content-transfer-encoding; bh=/T0o0cg57aECnUSM8UEuQKfgXrYWxRbxJ7iCl1pLHH4=; b=jVgQs7EqOs/gOKz2IeEd4YwmztmPfRDqaLtPVhKl8jxLDKCEJn4depHnzlZjJS36gB MIR8cGb5IkCGRC6EZTpMmBRDjjsSrPqstVsqOnqEgoOL24tn5f6NBXnIYx4y2N1X6qQc 3NrON3eukD1FgkcUtimthkFPEMMKNpqsMOPUfVShT9Tztx7PubNalwNgVA2O6wqnRELz FPmbUNTCH3P+Fua2U2dh7s3o+ZDFiv2Cq4DrEoCi6I0t+Miv6muT7dYSIsuer5/MkQvl L2jfxO2XM40NoKb74vY2lDQpklwuJfYUFft2K0PhT28Z61JnxIzIOj/ippykMTJFppDN c0/Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:message-id:subject:from:to:cc:date:in-reply-to :references:mime-version:content-transfer-encoding; bh=/T0o0cg57aECnUSM8UEuQKfgXrYWxRbxJ7iCl1pLHH4=; b=tftXjBFczn2k2utAnzByT1FMmrhwFa9JaixOW7Utrsd2SWCjYaYGnK+GlQeIBBmu3B clZZH7K6gY0JjXKmM/92kjWfICmsX7jkMATyIa8DH9V3NUWYwyoah49lS29BIGG111Ub JED6B8kySnNjIghSc47z5FFCyw6+qW7HS6cZ4XcX8jyvFTTg++vDcRIqPSFcRVpYtrd0 hyi7BhUPcHsutQfrw3twucByTg1e7yGnV5gBPD4wGCD3SngkDgA/tT19AAKVM9O2yAfW sK4ftgxpi4Wx6x20xuxUZaNLQzJa/q90GTEO08dSwjRREFdy8Di0Wjrje4kOAnzO5lxa 9oJw== X-Gm-Message-State: APjAAAWJDxq4A3ONqbeU+p7tBeeJetz1jbX1oS8BSlIb57aWzcFwzyYf 1Y0FvE3vOqa6ZfDs1Nv0kMAAuw== X-Google-Smtp-Source: APXvYqzu8ItqLOAhULBKaFM12+HArZQKvYZyVV5vTerS+xd51hG89McIa9XxBJ5j7XsZP1GGxGDJ1A== X-Received: by 2002:a17:90a:db47:: with SMTP id u7mr599376pjx.40.1569867290259; Mon, 30 Sep 2019 11:14:50 -0700 (PDT) Received: from jdavis ([2600:1010:b02d:cd92:25e1:7cf5:b073:d9f8]) by smtp.gmail.com with ESMTPSA id b3sm12578692pfd.125.2019.09.30.11.14.48 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Mon, 30 Sep 2019 11:14:49 -0700 (PDT) Message-ID: <11a5c3b483f1c0140f9fc5cf863d8ac61a28e60a.camel@j-davis.com> Subject: Re: pgsql: Add libpq parameter 'channel_binding'. From: Jeff Davis To: Michael Paquier , Tom Lane Cc: Jeff Davis , pgsql-committers@lists.postgresql.org Date: Mon, 30 Sep 2019 11:14:47 -0700 In-Reply-To: <20190930070826.GM2888@paquier.xyz> References: <24857.1569775891@sss.pgh.pa.us> <20190929234733.GA2888@paquier.xyz> <20190930064539.GK2888@paquier.xyz> <20190930070826.GM2888@paquier.xyz> Content-Type: text/plain; charset="UTF-8" X-Mailer: Evolution 3.28.5-0ubuntu0.18.04.1 Mime-Version: 1.0 Content-Transfer-Encoding: 7bit List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Precedence: bulk On Mon, 2019-09-30 at 16:08 +0900, Michael Paquier wrote: > So, something like the attached looks better to me. Using a server > which publishes SCRAM-SHA-256-PLUS, I get the following over SSL: > 1) client supports channel binding: > 1-1) channel_binding = disable => OK, with SCRAM-SHA-256 > 1-2) channel_binding = prefer => OK, with SCRAM-SHA-256-PLUS > 1-3) channel_binding = require => OK, with SCRAM-SHA-256-PLUS > 2) client does not support channel binding > 2-1) channel_binding = disable => OK, with SCRAM-SHA-256 > 2-2) channel_binding = prefer => OK, with SCRAM-SHA-256 > 2-3) channel_binding = require => failure with new error message, > instead of the confusing one. For 2-3, shouldn't we error at an earlier stage? The user of the client has requested something impossible to satisfy. Regards, Jeff Davis