Subject: Re: [patch] fixup GECOS handling

From: Kyle Hayes <[email-masked]>
Date: Fri, 22 Apr 2005 10:43:50 -0700

On Fri, 2005-04-22 at 18:58 +0200, Martin Schlemmer wrote:
> On Fri, 2005-04-22 at 09:16 -0700, Kyle Hayes wrote:
> > Suppose that the GECOS field is:
> > 
> > Hayes, Kyle; Room 42; 424-424-4242; foo bar baz...
> > 
> > You'll search for the first comma, find it, truncate my name to "Hayes",
> > and continue.
> > 
> > I have seen this kind of GECOS in larger environments where the
> > individual users are not the ones that administrate their machines.
> > Using the LastName, FirstName style of name is not rare. 
> > 
> 
> What OS?  With Linux at least, this is what chfn's manpage say:

Can't remember, it's been a while (years).  We had AIX, Solaris, Linux
and BSD machines at the time.  Might have been AIX, I think.  The memory
of which OS is vague, but not the annoyance of finding the problem :-(

> ----
>        The only restriction placed on the contents of the fields is that no control characters may  be  present,
>        nor  any  of  comma, colon, or equal sign. The other field does not have this restriction, and is used to
>        store accounting information used by other applications.
> ----
> 
> Meaning, if they use a ',' in one of the fields (and it is a linux
> system with the chfn most probably from the shadow package), then they
> are looking for trouble.  The only reason I added the ';' was because
> somebody said whatever OS used it instead of a ','.

>>From the AIX version of chfn:

----
You can use any printable characters in the gecos information string
except a : (colon), which is an attribute delimiter.
----

The AIX examples show use of semicolon as a separator.

So, at least on AIX, it is appears valid to use the style I showed
above.  I don't have access to Solaris machines right now.  The BSD
(FreeBSD 4.11) version of man 5 passwd:

----
The gecos field normally contains comma (`,') separated subfields as
follows:...
----

Best,
Kyle

-- 
Kyle Hayes <[email-masked]>
Marchex Inc.