From acb1a2611406d5464de898c4eecf9174ca007a36 Mon Sep 17 00:00:00 2001 From: Jean-Marc Pigeon Date: Fri, 14 Nov 2025 14:28:12 -0500 Subject: [PATCH] are trigger ready? --- sql/mailleur.sql | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/sql/mailleur.sql b/sql/mailleur.sql index c2ca585..fbf3b31 100644 --- a/sql/mailleur.sql +++ b/sql/mailleur.sql @@ -176,14 +176,15 @@ CREATE TABLE admins ( CREATE FUNCTION updpass() RETURNS trigger AS $$ BEGIN - IF NEW.password IS NULL OR length(trim(NEW.password)) = 0 THEN - RETURN NEW; - END IF; - IF substring(NEW.password,1,1) = '$' THEN - RETURN NEW; + IF NEW.password IS NULL OR + length(trim(NEW.password)) = 0 OR + substring(NEW.password,1,1) = '$' THEN + set NEW.hash=NULL; + set NEW.password=NEW.password; + ELSE + NEW.hash = md5(HASHING); + NEW.password = crypt (NEW.password,gen_salt('md5')); END IF; - NEW.hash = md5(HASHING); - NEW.password = crypt (NEW.password,gen_salt('md5')); END; $$ LANGUAGE 'plpgsql'; @@ -201,7 +202,8 @@ CREATE TRIGGER sethash BEGIN IF NEW.password IS NULL OR LENGTH(TRIM(NEW.password))=0 OR - LEFT(NEW.password,1) != '$' THEN + LEFT(NEW.password,1) = '$' THEN + set NEW.hash=NULL; set NEW.password=NEW.password; else set NEW.hash=MD5(HASHING); @@ -215,7 +217,8 @@ CREATE TRIGGER updhash BEGIN IF NEW.password IS NULL OR LENGTH(TRIM(NEW.password))=0 OR - LEFT(NEW.password,1) != '$' THEN + LEFT(NEW.password,1) = '$' THEN + set NEW.hash=NULL; set NEW.password=NEW.password; else set NEW.hash=MD5(HASHING); -- 2.47.3