X-Git-Url: https://ruin.nu/git/?p=ndwebbie.git;a=blobdiff_plain;f=database%2Ffunctions%2Fuser_password.sql;h=c15cc00226acf607ac4eb5e15d248560014d4265;hp=889e49ebb233790592400e7978bd7ef92bda6e01;hb=d786ab3e431fdb29854f4d80fe430c5438d649b6;hpb=ab1ec1721c11a109546e162f87488db7dcfb9108 diff --git a/database/functions/user_password.sql b/database/functions/user_password.sql index 889e49e..c15cc00 100644 --- a/database/functions/user_password.sql +++ b/database/functions/user_password.sql @@ -1,8 +1,13 @@ CREATE OR REPLACE FUNCTION user_password() RETURNS trigger AS $_X$ DECLARE + old_password TEXT; BEGIN - IF COALESCE(NEW.password <> OLD.password,TRUE) AND + IF TG_OP = 'UPDATE' + THEN + old_password := OLD.password; + END IF; + IF COALESCE(NEW.password <> old_password,TRUE) AND NOT NEW.password SIMILAR TO '$2a$\d+$[a-zA-Z0-9./]+' THEN NEW.password := crypt(NEW.password,gen_salt('bf',10));