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/param.h> #include <sys/types.h> #include <unistd.h> #include <stdlib.h> #include <stdio.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/param.h> #include <sys/types.h> #include <unistd.h> #include <stdlib.h> #include <stdio.h>
*** 53,62 **** --- 53,68 ---- #define NOMEM "Out of memory" #define NGROUPS "Maximum groups exceeded for logname " #define BLANKLINE "Blank line detected. Please remove line" #define LONGNAME "Group name too long" + #ifdef LOGNAME_MAX_ILLUMOS + #define _LOGNAME_MAX LOGNAME_MAX_ILLUMOS + #else /* LOGNAME_MAX_ILLUMOS */ + #define _LOGNAME_MAX LOGNAME_MAX + #endif /* LOGNAME_MAX_ILLUMOS */ + int eflag, badchar, baddigit, badlognam, colons, len; static int longnam = 0; int code; #define MYBUFSIZE (LINE_MAX) /* max line length including newline and null */
*** 245,255 **** if (buf[0] == ':') error(NONAME); else { for (i = 0; buf[i] != ':'; i++) { ! if (i >= LOGNAME_MAX) longnam++; if (!(islower(buf[i]) || isdigit(buf[i]))) badchar++; } if (longnam > 0) --- 251,261 ---- if (buf[0] == ':') error(NONAME); else { for (i = 0; buf[i] != ':'; i++) { ! if (i >= _LOGNAME_MAX) longnam++; if (!(islower(buf[i]) || isdigit(buf[i]))) badchar++; } if (longnam > 0)