• Heikki Linnakangas's avatar
    Change the on-disk format of SCRAM verifiers to conform to RFC 5803. · 68e61ee7
    Heikki Linnakangas authored
    It doesn't make any immediate difference to PostgreSQL, but might as well
    follow the standard, since one exists. (I looked at RFC 5803 earlier, but
    didn't fully understand it back then.)
    
    The new format uses Base64 instead of hex to encode StoredKey and
    ServerKey, which makes the verifiers slightly smaller. Using the same
    encoding for the salt and the keys also means that you only need one
    encoder/decoder instead of two. Although we have code in the backend to
    do both, we are talking about teaching libpq how to create SCRAM verifiers
    for PQencodePassword(), and libpq doesn't currently have any code for hex
    encoding.
    
    Bump catversion, because this renders any existing SCRAM verifiers in
    pg_authid invalid.
    
    Discussion: https://www.postgresql.org/message-id/351ba574-85ea-d9b8-9689-8c928dd0955d@iki.fi
    68e61ee7
password.out 4.19 KB