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)