On 04/11/2017 04:52 AM, Peter Eisentraut wrote:
> On 4/10/17 04:27, Heikki Linnakangas wrote:
>> One thing to consider is that we just made the decision that "md5"
>> actually means "md5 or scram-sha-256". Extrapolating from that, I think
>> we'll want "scram-sha-256" to mean "scram-sha-256 or scram-sha-256-plus"
>> (i.e. the channel-bonding variant) in the future. And if we get support
>> for scram-sha-512, "scram-sha-256" would presumably allow that too.
>
> But how would you choose between scram-sha-256-plus and scram-sha-512?
Good question. We would need to decide the order of preference for those.
That question won't arise in practice. Firstly, if the server can do
scram-sha-256-plus, it presumably can also do scram-sha-512-plus. Unless
there's a change in the way the channel binding works, such that the
scram-sha-512-plus variant needs a newer version of OpenSSL or
something. Secondly, the user's pg_authid row will contain a
SCRAM-SHA-256 or SCRAM-SHA-512 verifier, not both, so that will dictate
which one to use.
- Heikki