瀏覽代碼

Merge PR #823: Cedar: allow @ in username

Davide Beatrici 7 年之前
父節點
當前提交
bf0d5c551e
共有 1 個文件被更改,包括 8 次插入8 次删除
  1. 8 8
      src/Cedar/Account.c

+ 8 - 8
src/Cedar/Account.c

@@ -348,6 +348,7 @@ UINT PolicyNum()
 // Check the name is valid for account name
 bool IsUserName(char *name)
 {
+	UINT i, len;
 	char tmp[MAX_SIZE];
 	// Validate arguments
 	if (name == NULL)
@@ -360,7 +361,8 @@ bool IsUserName(char *name)
 
 	Trim(name);
 
-	if (StrLen(name) == 0)
+	len = StrLen(name);
+	if (len == 0)
 	{
 		return false;
 	}
@@ -370,14 +372,12 @@ bool IsUserName(char *name)
 		return true;
 	}
 
-	if (IsSafeStr(name) == false)
+	for (i = 0; i < len; i++)
 	{
-		return false;
-	}
-
-	if (StrCmpi(name, "link") == 0)
-	{
-		return false;
+		if (IsSafeChar(name[i]) == false && name[i] != '@')
+		{
+			return false;
+		}
 	}
 
 	if (StrCmpi(name, LINK_USER_NAME) == 0)