[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#487104: nis: map values containing non-ascii characters vanish



On Fri, Aug 15, 2008 at 04:40:36PM +0200, Aurelien Jarno wrote:
> On Fri, Aug 15, 2008 at 03:15:21PM +0100, Jonathan H N Chin wrote:

> > > - Could you please run the ypcat command using:
> > >      'LC_ALL=en_GB.ISO-8859-1 LANG=en_GB.ISO-8859-1 ypcat'
> > >   (note that you may have to generate the corresponding locale)

> > This works.

> This seems to say that the problem is in the nis package instead of the
> glibc package.

The ypcat program is just a thin wrapper around glibc routines.  It uses
yp_all to ask glibc to iterate over all the keys in the map doing this:

static int
print_data (int status, char *inkey, int inkeylen, char *inval,
            int invallen, char *indata __attribute__ ((unused)))
{
  if (status != YP_TRUE)
    return status;

  if (kflag  && (inkeylen > 0))
    {
      if (inkey[inkeylen - 1] == '\0')
        --inkeylen;
      fprintf (stdout, "%*.*s ", inkeylen, inkeylen, inkey);
    }
  if (invallen > 0)
    {
      if (inval[invallen -1] == '\0')
        --invallen;
      fprintf (stdout, "%*.*s\n", invallen, invallen, inval);
    }
  else
    fputs ("\n", stdout);

  return 0;
}

In any case, the major issue reported was with login and account lookups
which are handled by the NSS module provided by glibc, the RCness being
due to the inability to log in.

-- 
"You grabbed my hand and we fell into it, like a daydream - or a fever."



Reply to: