Alvaro Herrera <alvhe...@2ndquadrant.com> writes:
> Tom Lane wrote:
>> Not entirely sure what to do about this.  It seems like for the purposes
>> of contrib/chkpass, it's a good thing that chkpass_in() won't reuse the
>> same salt.  Weak as a 12-bit salt might be nowadays, it's still better
>> than no salt.  Nonetheless, this behavior is breaking assumptions made
>> in places like array_in and record_in.
>> 
>> For the moment I'm tempted to mark chkpass_in as stable (with a comment
>> explaining that it isn't really) just so we can put in the error check
>> in CREATE TYPE.  But I wonder if anyone has a better idea.

> Can we have a separate function that accepts unencrypted passwords, and
> change chkpass_in to only accept encrypted ones?  Similar to
> to_tsquery() et al.

Well, that would undoubtedly have been a better way to design the module
to start with, but we're not working in a green field.  I doubt we can
get away with changing the type's behavior that much.  That is, assuming
there are any users of it at all, which there might not be ;-)

An alternative that just occurred to me is to put the no-volatile-
I/O-functions check into CREATE TYPE, but make it just WARNING not
ERROR.  That would be nearly as good as an ERROR in terms of nudging
people who'd accidentally omitted a volatility marking from their
custom types.  But we could leave chkpass as-is and wait to see if
anyone complains "hey, why am I getting this warning?".  If we don't
hear anyone complaining, maybe that means we can get away with changing
the type's behavior in 9.6 or later.

                        regards, tom lane


-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

Reply via email to