]> ruin.nu Git - ndwebbie.git/commitdiff
Fix password trigger
authorMichael Andreen <harv@ruin.nu>
Sun, 15 Jan 2017 11:15:42 +0000 (12:15 +0100)
committerMichael Andreen <harv@ruin.nu>
Sun, 15 Jan 2017 11:15:42 +0000 (12:15 +0100)
database/functions/user_password.sql
database/ndawn.sql

index 889e49ebb233790592400e7978bd7ef92bda6e01..c15cc00226acf607ac4eb5e15d248560014d4265 100644 (file)
@@ -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));
index 40722c273a4661093ab401d87bf6a81519e9f909..5234e0b3f75caec94663d61bf456d03d670fdb50 100644 (file)
@@ -1001,7 +1001,7 @@ CREATE TABLE users (
     uid integer NOT NULL,
     username citext NOT NULL,
     pid integer,
-    password text NOT NULL,
+    password text,
     attack_points numeric(3,0) DEFAULT 0 NOT NULL,
     defense_points numeric(4,1) DEFAULT 0 NOT NULL,
     scan_points numeric(5,0) DEFAULT 0 NOT NULL,