Fossil SCM

Disallow user-choosen UserIDs that begin with "anonymous" or other reserved names.

drh 2023-08-05 17:40 trunk
Commit a7e9dd53ef600974282799011bc7dc3758266b63e9ca51f43104eb679d584ab1
1 file changed +7
--- src/login.c
+++ src/login.c
@@ -1990,10 +1990,17 @@
19901990
iErrLine = 1;
19911991
zErr = "User ID too short. Must be at least 6 characters.";
19921992
}else if( sqlite3_strglob("*[^-a-zA-Z0-9_.]*",zUserID)==0 ){
19931993
iErrLine = 1;
19941994
zErr = "User ID may not contain spaces or special characters.";
1995
+ }else if( sqlite3_strlike("anonymous%", zUserID, 0)==0
1996
+ || sqlite3_strlike("nobody%", zUserID, 0)==0
1997
+ || sqlite3_strlike("reader%", zUserID, 0)==0
1998
+ || sqlite3_strlike("developer%", zUserID, 0)==0
1999
+ ){
2000
+ iErrLine = 1;
2001
+ zErr = "This User ID is reserved. Choose something different.";
19952002
}else if( zDName[0]==0 ){
19962003
iErrLine = 2;
19972004
zErr = "Required";
19982005
}else if( zEAddr[0]==0 ){
19992006
iErrLine = 3;
20002007
--- src/login.c
+++ src/login.c
@@ -1990,10 +1990,17 @@
1990 iErrLine = 1;
1991 zErr = "User ID too short. Must be at least 6 characters.";
1992 }else if( sqlite3_strglob("*[^-a-zA-Z0-9_.]*",zUserID)==0 ){
1993 iErrLine = 1;
1994 zErr = "User ID may not contain spaces or special characters.";
 
 
 
 
 
 
 
1995 }else if( zDName[0]==0 ){
1996 iErrLine = 2;
1997 zErr = "Required";
1998 }else if( zEAddr[0]==0 ){
1999 iErrLine = 3;
2000
--- src/login.c
+++ src/login.c
@@ -1990,10 +1990,17 @@
1990 iErrLine = 1;
1991 zErr = "User ID too short. Must be at least 6 characters.";
1992 }else if( sqlite3_strglob("*[^-a-zA-Z0-9_.]*",zUserID)==0 ){
1993 iErrLine = 1;
1994 zErr = "User ID may not contain spaces or special characters.";
1995 }else if( sqlite3_strlike("anonymous%", zUserID, 0)==0
1996 || sqlite3_strlike("nobody%", zUserID, 0)==0
1997 || sqlite3_strlike("reader%", zUserID, 0)==0
1998 || sqlite3_strlike("developer%", zUserID, 0)==0
1999 ){
2000 iErrLine = 1;
2001 zErr = "This User ID is reserved. Choose something different.";
2002 }else if( zDName[0]==0 ){
2003 iErrLine = 2;
2004 zErr = "Required";
2005 }else if( zEAddr[0]==0 ){
2006 iErrLine = 3;
2007

Keyboard Shortcuts

Open search /
Next entry (timeline) j
Previous entry (timeline) k
Open focused entry Enter
Show this help ?
Toggle theme Top nav button