View | Details | Raw Unified
Collapse All | Expand All

(-) shadow-4.0.3.old/libmisc/chkname.c (-3 / +3 lines)
 Lines 22-36    Link Here 
good_name(const char *name)
good_name(const char *name)
{
{
	/*
	/*
	 * User/group names must match [a-z_][a-z0-9_-]*
	 * User/group names must match [a-z_][a-z0-9_-.]*
	 */
	 */
	if (!*name || !((*name >= 'a' && *name <= 'z') || *name == '_'))
	if (!*name || !((*name >= 'a' && *name <= 'z') || *name == '_' || *name == '.'))
		return 0;
		return 0;
	while (*++name) {
	while (*++name) {
		if (!((*name >= 'a' && *name <= 'z') ||
		if (!((*name >= 'a' && *name <= 'z') ||
		    (*name >= '0' && *name <= '9') ||
		    (*name >= '0' && *name <= '9') ||
		    *name == '_' || *name == '-' ||
		    *name == '_' || *name == '-' || *name == '.' ||
		    (*name == '$' && *(name+1) == NULL)))
		    (*name == '$' && *(name+1) == NULL)))
			return 0;
			return 0;
	}
	}