Print this page
2989 Eliminate use of LOGNAME_MAX in ON
1166 useradd have warning with name more 8 chars

*** 17,36 **** * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * Copyright 2007 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ /* All Rights Reserved */ - #pragma ident "%Z%%M% %I% %E% SMI" - #include <sys/types.h> #include <sys/param.h> #include <sys/signal.h> #include <sys/sysmacros.h> #include <sys/stat.h> --- 17,36 ---- * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* + * Copyright (c) 2013 Gary Mills + * * Copyright 2007 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ /* All Rights Reserved */ #include <sys/types.h> #include <sys/param.h> #include <sys/signal.h> #include <sys/sysmacros.h> #include <sys/stat.h>
*** 39,49 **** --- 39,56 ---- #include <string.h> #include <ctype.h> #include <locale.h> #include <errno.h> #include <unistd.h> + #include <limits.h> + #ifdef LOGNAME_MAX_ILLUMOS + #define _LOGNAME_MAX LOGNAME_MAX_ILLUMOS + #else /* LOGNAME_MAX_ILLUMOS */ + #define _LOGNAME_MAX LOGNAME_MAX + #endif /* LOGNAME_MAX_ILLUMOS */ + #define ERROR1 "Too many/few fields" #define ERROR2 "Bad character(s) in logname" #define ERROR2a "First char in logname not alphabetic" #define ERROR2b "Logname field NULL" #define ERROR2c "Logname contains no lower-case letters"
*** 161,171 **** if (badc > 0) error(ERROR2); /* Check for valid number of characters in logname */ ! if (i <= 0 || i > 8) error(ERROR3); /* Check that UID is numeric and <= MAXUID */ errno = 0; --- 168,178 ---- if (badc > 0) error(ERROR2); /* Check for valid number of characters in logname */ ! if (i <= 0 || i > _LOGNAME_MAX) error(ERROR3); /* Check that UID is numeric and <= MAXUID */ errno = 0;