passwd NIS+ YP compat mode
Thyer, Matthew
Matthew.Thyer at dsto.defence.gov.au
Wed Jun 25 02:41:29 PDT 2003
The silence is deafening.
Please commit this if it's the correct solution.
FreeBSD looks real bad when it cant be a NIS client of Solaris NIS+ (in YP compat) servers.
> -----Original Message-----
> From: Thyer, Matthew
> Sent: Monday, June 23, 2003 12:04 PM
> To: 'yoshint at flab.fujitsu.co.jp'
> Cc: 'FreeBSD-current at FreeBSD.ORG'; Wilkinson, Alex
> Subject: SEC:URe: passwd NIS+ YP compat mode
>
> Yoshinori's patch for FreeBSD NIS clients of Solaris NIS+ servers in YP compatibility mode works for me.
>
> Please commit this before 5 becomes -STABLE (I'm shocked the bug has made it into 5.1).
>
> Solaris NIS+ servers in YP compatibility is a very common configuration in larger enterprises.
>
>
> On Tue, 27 May 2003 18:09:29 -0700, TOMITA Yoshinori wrote:
>
> I hope this patch will solve this problem for users living under NIS+
> servers.
>
> I guess yp_order() is used to check masswd.by* or master.passwd.by*
> databese really exists. yp_master() can be used for this purpose. But
> I do not know the cost of yp_master() compared to yp_order().
>
>
> --- /usr/src/lib/libc/gen/getpwent.c.bak Tue May 27 08:47:24 2003
> +++ /usr/src/lib/libc/gen/getpwent.c Wed May 28 09:35:50 2003
> @@ -938,14 +938,15 @@
> nis_map(char *domain, enum nss_lookup_type how, char *buffer, size_t bufsize,
> int *master)
> {
> - int rv, order;
> + int rv;
> + char *outname;
>
> *master = 0;
> if (geteuid() == 0) {
> if (snprintf(buffer, bufsize, "master.passwd.by%s",
> (how == nss_lt_id) ? "uid" : "name") >= bufsize)
> return (NS_UNAVAIL);
> - rv = yp_order(domain, buffer, &order);
> + rv = yp_master(domain, buffer, &outname);
> if (rv == 0) {
> *master = 1;
> return (NS_SUCCESS);
> @@ -954,7 +955,7 @@
> if (snprintf(buffer, bufsize, "passwd.by%s",
> (how == nss_lt_id) ? "uid" : "name") >= bufsize)
> return (NS_UNAVAIL);
> - rv = yp_order(domain, buffer, &order);
> + rv = yp_master(domain, buffer, &outname);
> if (rv == 0)
> return (NS_SUCCESS);
> return (NS_UNAVAIL);
>
>
>
> --
> ---
> TOMITA Yoshinori
>
More information about the freebsd-current
mailing list