From: Jean-Marc Pigeon (Delson) Date: Tue, 8 Jul 2025 21:29:00 +0000 (-0400) Subject: Authention plain working with crypted passwd X-Git-Tag: tag-0.13~17 X-Git-Url: https://jmp-git.ovh.safe.ca/?a=commitdiff_plain;h=1b2b69232b4b2f2434c8bf549162379272102b5e;p=jmp%2Fmailleur Authention plain working with crypted passwd --- diff --git a/lib/lvleml.c b/lib/lvleml.c index 28a661a..0702fdc 100644 --- a/lib/lvleml.c +++ b/lib/lvleml.c @@ -377,7 +377,7 @@ while (proceed==true) { break; case 1 : //do we have valide data? if ((strlen(data[1])==0)||(strlen(data[2])==0)) { - (void) rou_alert(0,"%s data[1]=<%s> or data[2]=<%s> missing (Bug?)", + (void) rou_alert(0,"%s data[1]=<%s> or data[2]=<%s> missing (Remote Bug?)", OPEP,data[1],data[2]); phase=999; //No need to go further } @@ -392,12 +392,22 @@ while (proceed==true) { char *givenpass; givenpass=data[2]; - if (givenpass!=(char *)0) { + if (usr->passwd==(char *)0) { + (void) rou_alert(0,"%s usr=<%s> password empty, assigning one", + OPEP,data[1]); + usr->passwd=cnv_getrndstr(10); + } + if (givenpass!=(char *)0) *rmtpass=strdup(givenpass); - if (strncmp(usr->passwd,"$1",2)==0) - givenpass=crypt("$1",givenpass); - isok=(strcmp(givenpass,usr->passwd)==0); + if (usr->passwd[0]=='$') { + if ((givenpass=crypt(givenpass,usr->passwd))==(char *)0) { + (void) rou_alert(0,"%s Trouble to crypt (Bug?) pass=<%s> " + "user=<%s> (error=<%s>)", + OPEP,givenpass,usr->passwd,strerror(errno)); + givenpass=data[2]; //trying to overcome + } } + isok=(strcmp(givenpass,usr->passwd)==0); usr=sql_freeusr(usr); } } diff --git a/sql/mailleur.sql b/sql/mailleur.sql index 41e0c29..95201dd 100644 --- a/sql/mailleur.sql +++ b/sql/mailleur.sql @@ -74,7 +74,7 @@ CREATE FUNCTION updpass() RETURNS trigger AS $$ BEGIN NEW.hash = md5(concat (NEW.email,':',NEW.realm,':',new.password)); -// NEW.password = crypt(new.password, gen_salt('md5')); + NEW.password = crypt(new.password, gen_salt('md5')); RETURN NEW; END $$ LANGUAGE 'plpgsql';