1
0
mirror of https://sourceware.org/git/glibc.git synced 2025-07-28 00:21:52 +03:00
1998-08-18  Ulrich Drepper  <drepper@cygnus.com>

	* include/features.h: Define __USE_EXTERN_INLINES for recent
	enough gcc.
	* argp/argp.h: Define extern inline functions only if
	__USE_EXTERN_INLINES is defined.
	* libio/stdio.h: Likewise.
	* math/math.h: Likewise.
	* stdlib/stdlib.h: Likewise.
	* string/argz.h: Likewise.
	* sysdeps/generic/bits/sigset.h: Likewise.
	* sysdeps/unix/sysv/linux/bits/sigset.h: Likewise.
	* sysdeps/unix/sysv/sysv4/bits/sigset.h: Likewise.
	* sysdeps/wordsize-32/inttypes.h: Likewise.
	* sysdeps/wordsize-64/inttypes.h: Likewise.
	* wcsmbs/wchar.h: Likewise.

	* sysdeps/generic/bits/glob.c [_LIBC]: Define __stat using __xstat
	to allow compilation without optimization.

1998-08-14  Thorsten Kukuk  <kukuk@vt.uni-paderborn.de> 
 
	* nis/nss_compat/compat-grp.c: Set errno to ENOENT if we have no 
	more entries. 
	* nis/nss_compat/compat-initgroups.c: Likewise. 
	* nis/nss_compat/compat-pwd.c: Likewise. 
	* nis/nss_compat/compat-spwd.c: Likewise. 
	* nis/nss_nis/nis-alias.c: Likewise. 
	* nis/nss_nis/nis-ethers.c: Likewise. 
	* nis/nss_nis/nis-grp.c: Likewise. 
	* nis/nss_nis/nis-hosts.c: Likewise. 
	* nis/nss_nis/nis-initgroups.c: Likewise. 
	* nis/nss_nis/nis-network.c: Likewise. 
	* nis/nss_nis/nis-proto.c: Likewise. 
	* nis/nss_nis/nis-pwd.c: Likewise. 
	* nis/nss_nis/nis-rpc.c: Likewise. 
	* nis/nss_nis/nis-service.c: Likewise. 
	* nis/nss_nis/nis-spwd.c: Likewise. 
 
	* nis/rpcsvc/yp.h: Generate new without 1024 byte limits. 
 
	* nis/ypclnt.c: Try binding dir only first time, could be to old. 
 
	* nis/yp_xdr.c: Remove 1024 byte limit. 
	* nis/ypupdate_xdr.c: Likewise. 
 
	* nis/nss_nis/nis-publickey.c: Make sure, nobody could send 
	wrong data.
This commit is contained in:
Ulrich Drepper
1998-08-18 23:27:30 +00:00
parent eedbbe588f
commit 0c6cee5d65
34 changed files with 663 additions and 777 deletions

View File

@ -1,3 +1,52 @@
1998-08-18 Ulrich Drepper <drepper@cygnus.com>
* include/features.h: Define __USE_EXTERN_INLINES for recent
enough gcc.
* argp/argp.h: Define extern inline functions only if
__USE_EXTERN_INLINES is defined.
* libio/stdio.h: Likewise.
* math/math.h: Likewise.
* stdlib/stdlib.h: Likewise.
* string/argz.h: Likewise.
* sysdeps/generic/bits/sigset.h: Likewise.
* sysdeps/unix/sysv/linux/bits/sigset.h: Likewise.
* sysdeps/unix/sysv/sysv4/bits/sigset.h: Likewise.
* sysdeps/wordsize-32/inttypes.h: Likewise.
* sysdeps/wordsize-64/inttypes.h: Likewise.
* wcsmbs/wchar.h: Likewise.
* sysdeps/generic/bits/glob.c [_LIBC]: Define __stat using __xstat
to allow compilation without optimization.
1998-08-14 Thorsten Kukuk <kukuk@vt.uni-paderborn.de>
* nis/nss_compat/compat-grp.c: Set errno to ENOENT if we have no
more entries.
* nis/nss_compat/compat-initgroups.c: Likewise.
* nis/nss_compat/compat-pwd.c: Likewise.
* nis/nss_compat/compat-spwd.c: Likewise.
* nis/nss_nis/nis-alias.c: Likewise.
* nis/nss_nis/nis-ethers.c: Likewise.
* nis/nss_nis/nis-grp.c: Likewise.
* nis/nss_nis/nis-hosts.c: Likewise.
* nis/nss_nis/nis-initgroups.c: Likewise.
* nis/nss_nis/nis-network.c: Likewise.
* nis/nss_nis/nis-proto.c: Likewise.
* nis/nss_nis/nis-pwd.c: Likewise.
* nis/nss_nis/nis-rpc.c: Likewise.
* nis/nss_nis/nis-service.c: Likewise.
* nis/nss_nis/nis-spwd.c: Likewise.
* nis/rpcsvc/yp.h: Generate new without 1024 byte limits.
* nis/ypclnt.c: Try binding dir only first time, could be to old.
* nis/yp_xdr.c: Remove 1024 byte limit.
* nis/ypupdate_xdr.c: Likewise.
* nis/nss_nis/nis-publickey.c: Make sure, nobody could send
wrong data.
1998-08-18 Roland McGrath <roland@baalperazim.frob.com>
* Rules (binaries-static, binaries-shared static pattern rules):

View File

@ -521,7 +521,7 @@ extern void *_argp_input __P ((__const struct argp *argp,
extern void *__argp_input __P ((__const struct argp *argp,
__const struct argp_state *state));
#ifdef __OPTIMIZE__
#ifdef __USE_EXTERN_INLINES
# if !_LIBC
# define __argp_usage argp_usage
@ -564,7 +564,7 @@ __option_is_end (__const struct argp_option *__opt)
# undef __option_is_short
# undef __option_is_end
# endif
#endif /* __OPTIMIZE__ */
#endif /* Use extern inlines. */
#ifdef __cplusplus
}

View File

@ -63,6 +63,7 @@ extern int __sigismember (__const __sigset_t *, int);
extern int __sigaddset (__sigset_t *, int);
extern int __sigdelset (__sigset_t *, int);
#ifdef __USE_EXTERN_INLINES
# define __SIGSETFN(NAME, BODY, CONST) \
_EXTERN_INLINE int \
NAME (CONST __sigset_t *__set, int __sig) \
@ -76,6 +77,7 @@ __SIGSETFN (__sigaddset, ((*__set |= __mask), 0), )
__SIGSETFN (__sigdelset, ((*__set &= ~__mask), 0), )
# undef __SIGSETFN
#endif
#endif /* ! _SIGSET_H_fns. */

View File

@ -279,13 +279,13 @@ extern int vsprintf __P ((char *__restrict __s,
__const char *__restrict __format,
_G_va_list __arg));
#if defined __OPTIMIZE__ && !defined __OPTIMIZE_SIZE__
#ifdef __USE_EXTERN_INLINES
__STDIO_INLINE int
vprintf (__const char *__restrict __fmt, _G_va_list __arg)
{
return vfprintf (stdout, __fmt, __arg);
}
#endif /* Optimizing. */
#endif /* Use extern inlines. */
#if defined __USE_BSD || defined __USE_ISOC9X || defined __USE_UNIX98
/* Maximum chars of output to write in MAXLEN. */
@ -368,20 +368,20 @@ extern int getchar __P ((void));
optimization for it. */
#define getc(_fp) _IO_getc (_fp)
#if defined __OPTIMIZE__ && !defined __OPTIMIZE_SIZE__
#ifdef __USE_EXTERN_INLINES
__STDIO_INLINE int
getchar (void)
{
return _IO_getc (stdin);
}
#endif /* Optimizing. */
#endif /* Use extern inlines. */
#if defined __USE_POSIX || defined __USE_MISC
/* These are defined in POSIX.1:1996. */
extern int getc_unlocked __P ((FILE *__stream));
extern int getchar_unlocked __P ((void));
# ifdef __OPTIMIZE__
# ifdef __USE_EXTERN_INLINES
__STDIO_INLINE int
getc_unlocked (FILE *__fp)
{
@ -393,7 +393,7 @@ getchar_unlocked (void)
{
return _IO_getc_unlocked (stdin);
}
# endif /* Optimizing. */
# endif /* Use extern inlines. */
#endif /* Use POSIX or MISC. */
@ -408,25 +408,25 @@ extern int putchar __P ((int __c));
so we always do the optimization for it. */
#define putc(_ch, _fp) _IO_putc (_ch, _fp)
#if defined __OPTIMIZE__ && !defined __OPTIMIZE_SIZE__
#ifdef __USE_EXTERN_INLINES
__STDIO_INLINE int
putchar (int __c)
{
return _IO_putc (__c, stdout);
}
#endif
#endif /* Use extern inlines. */
#ifdef __USE_MISC
/* Faster version when locking is not necessary. */
extern int fputc_unlocked __P ((int __c, FILE *__stream));
# ifdef __OPTIMIZE__
# ifdef __USE_EXTERN_INLINES
__STDIO_INLINE int
fputc_unlocked (int __c, FILE *__stream)
{
return _IO_putc_unlocked (__c, __stream);
}
# endif /* Optimizing. */
# endif /* Use extern inlines. */
#endif /* Use MISC. */
#if defined __USE_POSIX || defined __USE_MISC
@ -434,7 +434,7 @@ fputc_unlocked (int __c, FILE *__stream)
extern int putc_unlocked __P ((int __c, FILE *__stream));
extern int putchar_unlocked __P ((int __c));
# ifdef __OPTIMIZE__
# ifdef __USE_EXTERN_INLINES
__STDIO_INLINE int
putc_unlocked (int __c, FILE *__stream)
{
@ -446,7 +446,7 @@ putchar_unlocked (int __c)
{
return _IO_putc_unlocked (__c, stdout);
}
# endif /* Optimizing. */
# endif /* Use extern inlines. */
#endif /* Use POSIX or MISC. */
@ -489,13 +489,13 @@ extern _IO_ssize_t getdelim __P ((char **__lineptr, size_t *__n,
extern _IO_ssize_t getline __P ((char **__lineptr, size_t *__n,
FILE *__stream));
# if defined __OPTIMIZE__ && !defined __OPTIMIZE_SIZE__
# ifdef __USE_EXTERN_INLINES
__STDIO_INLINE _IO_ssize_t
getline (char **__lineptr, size_t *__n, FILE *__stream)
{
return __getdelim (__lineptr, __n, '\n', __stream);
}
# endif /* Optimizing. */
# endif /* Use extern inlines. */
#endif
@ -614,7 +614,7 @@ extern void clearerr_unlocked __P ((FILE *__stream));
extern int feof_unlocked __P ((FILE *__stream));
extern int ferror_unlocked __P ((FILE *__stream));
# ifdef __OPTIMIZE__
# ifdef __USE_EXTERN_INLINES
__STDIO_INLINE int
feof_unlocked (FILE *__stream)
{
@ -626,7 +626,7 @@ ferror_unlocked (FILE *__stream)
{
return _IO_ferror_unlocked (__stream);
}
# endif /* Optimizing. */
# endif /* Use extern inlines. */
#endif

View File

@ -306,7 +306,7 @@ extern int matherr __P ((struct exception *__exc));
/* Get machine-dependent inline versions (if there are any). */
#ifdef __OPTIMIZE__
#ifdef __USE_EXTERN_INLINES
# include <bits/mathinline.h>
#endif

View File

@ -246,6 +246,7 @@ getgrent_next_nis (struct group *result, ent_t *ent, char *buffer,
if (yp_get_default_domain (&domain) != YPERR_SUCCESS)
{
ent->nis = 0;
*errnop = ENOENT;
return NSS_STATUS_NOTFOUND;
}
@ -285,6 +286,7 @@ getgrent_next_nis (struct group *result, ent_t *ent, char *buffer,
!= YPERR_SUCCESS)
{
ent->nis = 0;
*errnop = ENOENT;
return NSS_STATUS_NOTFOUND;
}
@ -440,7 +442,10 @@ getgrnam_plusgroup (const char *name, struct group *result, char *buffer,
if (yp_match (domain, "group.byname", name, strlen (name),
&outval, &outvallen) != YPERR_SUCCESS)
{
*errnop = ENOENT;
return NSS_STATUS_NOTFOUND;
}
if (buflen < ((size_t) outvallen + 1))
{
@ -485,7 +490,10 @@ getgrent_next_file (struct group *result, ent_t *ent,
buffer[buflen - 1] = '\xff';
p = fgets (buffer, buflen, ent->stream);
if (p == NULL && feof (ent->stream))
{
*errnop = ENOENT;
return NSS_STATUS_NOTFOUND;
}
if (p == NULL || buffer[buflen - 1] != '\xff')
{
fsetpos (ent->stream, &pos);
@ -625,7 +633,10 @@ internal_getgrnam_r (const char *name, struct group *result, ent_t *ent,
buffer[buflen - 1] = '\xff';
p = fgets (buffer, buflen, ent->stream);
if (p == NULL && feof (ent->stream))
{
*errnop = ENOENT;
return NSS_STATUS_NOTFOUND;
}
if (p == NULL || buffer[buflen - 1] != '\xff')
{
fsetpos (ent->stream, &pos);
@ -667,7 +678,10 @@ internal_getgrnam_r (const char *name, struct group *result, ent_t *ent,
if (result->gr_name[0] == '-' && result->gr_name[1] != '\0')
{
if (strcmp (&result->gr_name[1], name) == 0)
{
*errnop = ENOENT;
return NSS_STATUS_NOTFOUND;
}
else
continue;
}
@ -828,7 +842,10 @@ internal_getgrgid_r (gid_t gid, struct group *result, ent_t *ent,
buffer[buflen - 1] = '\xff';
p = fgets (buffer, buflen, ent->stream);
if (p == NULL && feof (ent->stream))
{
*errnop = ENOENT;
return NSS_STATUS_NOTFOUND;
}
if (p == NULL || buffer[buflen - 1] != '\xff')
{
fsetpos (ent->stream, &pos);

View File

@ -228,6 +228,7 @@ getgrent_next_nis (struct group *result, ent_t *ent, char *buffer,
&outval, &outvallen) != YPERR_SUCCESS)
{
ent->nis = 0;
*errnop = ENOENT;
return NSS_STATUS_UNAVAIL;
}
@ -252,6 +253,7 @@ getgrent_next_nis (struct group *result, ent_t *ent, char *buffer,
!= YPERR_SUCCESS)
{
ent->nis = 0;
*errnop = ENOENT;
return NSS_STATUS_NOTFOUND;
}
@ -403,11 +405,17 @@ getgrnam_plusgroup (const char *name, struct group *result, char *buffer,
int outvallen;
if (yp_get_default_domain (&domain) != YPERR_SUCCESS)
{
*errnop = ENOENT;
return NSS_STATUS_NOTFOUND;
}
if (yp_match (domain, "group.byname", name, strlen (name),
&outval, &outvallen) != YPERR_SUCCESS)
{
*errnop = ENOENT;
return NSS_STATUS_NOTFOUND;
}
if (buflen < ((size_t) outvallen + 1))
{
@ -452,7 +460,10 @@ getgrent_next_file (struct group *result, ent_t *ent,
buffer[buflen - 1] = '\xff';
p = fgets (buffer, buflen, ent->stream);
if (p == NULL && feof (ent->stream))
{
*errnop = ENOENT;
return NSS_STATUS_NOTFOUND;
}
if (p == NULL || buffer[buflen - 1] != '\xff')
{
fsetpos (ent->stream, &pos);

View File

@ -681,6 +681,7 @@ getpwent_next_nis (struct passwd *result, ent_t *ent, char *buffer,
{
ent->nis = 0;
give_pwd_free (&ent->pwd);
*errnop = ENOENT;
return NSS_STATUS_NOTFOUND;
}
@ -790,7 +791,10 @@ getpwnam_plususer (const char *name, struct passwd *result, char *buffer,
if (yp_match (domain, "passwd.byname", name, strlen (name),
&outval, &outvallen) != YPERR_SUCCESS)
{
*errnop = ENOENT;
return NSS_STATUS_NOTFOUND;
}
if (buflen < ((size_t) outvallen + 1))
{
@ -840,7 +844,10 @@ getpwent_next_file (struct passwd *result, ent_t *ent,
buffer[buflen - 1] = '\xff';
p = fgets (buffer, buflen, ent->stream);
if (p == NULL && feof (ent->stream))
{
*errnop = ENOENT;
return NSS_STATUS_NOTFOUND;
}
if (p == NULL || buffer[buflen - 1] != '\xff')
{
fsetpos (ent->stream, &pos);
@ -915,8 +922,12 @@ getpwent_next_file (struct passwd *result, ent_t *ent,
if (status == NSS_STATUS_RETURN)
continue;
else
{
if (status == NSS_STATUS_NOTFOUND)
*errnop = ENOENT;
return status;
}
}
/* -user */
if (result->pw_name[0] == '-' && result->pw_name[1] != '\0'
@ -1051,7 +1062,10 @@ internal_getpwnam_r (const char *name, struct passwd *result, ent_t *ent,
buffer[buflen - 1] = '\xff';
p = fgets (buffer, buflen, ent->stream);
if (p == NULL && feof (ent->stream))
{
*errnop = ENOENT;
return NSS_STATUS_NOTFOUND;
}
if (p == NULL || buffer[buflen - 1] != '\xff')
{
fsetpos (ent->stream, &pos);
@ -1146,7 +1160,10 @@ internal_getpwnam_r (const char *name, struct passwd *result, ent_t *ent,
&& result->pw_name[1] != '@')
{
if (strcmp (&result->pw_name[1], name) == 0)
{
*errnop = ENOENT;
return NSS_STATUS_NOTFOUND;
}
else
continue;
}
@ -1196,7 +1213,10 @@ _nss_compat_getpwnam_r (const char *name, struct passwd *pwd,
enum nss_status status;
if (name[0] == '-' || name[0] == '+')
{
*errnop = ENOENT;
return NSS_STATUS_NOTFOUND;
}
__libc_lock_lock (lock);

View File

@ -631,6 +631,7 @@ getspent_next_nis (struct spwd *result, ent_t *ent,
{
ent->nis = 0;
give_spwd_free (&ent->pwd);
*errnop = ENOENT;
return NSS_STATUS_NOTFOUND;
}
@ -736,12 +737,16 @@ getspnam_plususer (const char *name, struct spwd *result, char *buffer,
int outvallen;
if (yp_get_default_domain (&domain) != YPERR_SUCCESS)
{
*errnop = ENOENT;
return NSS_STATUS_NOTFOUND;
}
if (yp_match (domain, "shadow.byname", name, strlen (name),
&outval, &outvallen) != YPERR_SUCCESS)
{
*errnop = ENOENT;
return NSS_STATUS_NOTFOUND;
}
if (buflen < ((size_t) outvallen + 1))
{
free (outval);
@ -791,7 +796,10 @@ getspent_next_file (struct spwd *result, ent_t *ent,
buffer[buflen - 1] = '\xff';
p = fgets (buffer, buflen, ent->stream);
if (p == NULL && feof (ent->stream))
{
*errnop = ENOENT;
return NSS_STATUS_NOTFOUND;
}
if (p == NULL || buffer[buflen - 1] != '\xff')
{
fsetpos (ent->stream, &pos);
@ -999,7 +1007,10 @@ internal_getspnam_r (const char *name, struct spwd *result, ent_t *ent,
buffer[buflen - 1] = '\xff';
p = fgets (buffer, buflen, ent->stream);
if (p == NULL && feof (ent->stream))
{
*errnop = ENOENT;
return NSS_STATUS_NOTFOUND;
}
if (p == NULL || buffer[buflen - 1] != '\xff')
{
fsetpos (ent->stream, &pos);
@ -1050,8 +1061,11 @@ internal_getspnam_r (const char *name, struct spwd *result, ent_t *ent,
{
if (user != NULL && user[0] != '-')
if (strcmp (user, name) == 0)
{
*errnop = ENOENT;
return NSS_STATUS_NOTFOUND;
}
}
__internal_endnetgrent (&netgrdata);
continue;
}

View File

@ -167,7 +167,9 @@ internal_nis_getaliasent_r (struct aliasent *alias, char *buffer,
&result, &len));
if (retval != NSS_STATUS_SUCCESS)
{
if (retval == NSS_STATUS_TRYAGAIN)
if (retval == NSS_STATUS_NOTFOUND)
*errnop = ENOENT;
else if (retval == NSS_STATUS_TRYAGAIN)
*errnop = errno;
return retval;
}

View File

@ -1,4 +1,4 @@
/* Copyright (C) 1996, 1997 Free Software Foundation, Inc.
/* Copyright (C) 1996, 1997, 1998 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Thorsten Kukuk <kukuk@vt.uni-paderborn.de>, 1996.
@ -158,7 +158,10 @@ internal_nis_getetherent_r (struct ether *eth, char *buffer, size_t buflen,
char *p;
if (next == NULL)
{
*errnop = ENOENT;
return NSS_STATUS_NOTFOUND;
}
p = strncpy (buffer, next->val, buflen);
while (isspace (*p))
@ -212,7 +215,9 @@ _nss_nis_gethostton_r (const char *name, struct ether *eth,
if (retval != NSS_STATUS_SUCCESS)
{
if (retval == NSS_STATUS_TRYAGAIN)
if (retval == NSS_STATUS_NOTFOUND)
*errnop = ENOENT;
else if (retval == NSS_STATUS_TRYAGAIN)
*errnop = errno;
return retval;
}
@ -297,7 +302,10 @@ _nss_nis_getntohost_r (struct ether_addr *addr, struct ether *eth,
if (parse_res == -1)
return NSS_STATUS_TRYAGAIN;
else
{
*errnop = ENOENT;
return NSS_STATUS_NOTFOUND;
}
}
return NSS_STATUS_SUCCESS;
}

View File

@ -1,4 +1,4 @@
/* Copyright (C) 1996, 1997 Free Software Foundation, Inc.
/* Copyright (C) 1996, 1997, 1998 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Thorsten Kukuk <kukuk@vt.uni-paderborn.de>, 1996.
@ -104,7 +104,9 @@ internal_nis_getgrent_r (struct group *grp, char *buffer, size_t buflen,
if (retval != NSS_STATUS_SUCCESS)
{
if (retval == NSS_STATUS_TRYAGAIN)
if (retval == NSS_STATUS_NOTFOUND)
*errnop = ENOENT;
else if (retval == NSS_STATUS_TRYAGAIN)
*errnop = errno;
return retval;
}
@ -178,7 +180,9 @@ _nss_nis_getgrnam_r (const char *name, struct group *grp,
if (retval != NSS_STATUS_SUCCESS)
{
if (retval == NSS_STATUS_TRYAGAIN)
if (retval == NSS_STATUS_NOTFOUND)
*errnop = EAGAIN;
else if (retval == NSS_STATUS_TRYAGAIN)
*errnop = errno;
return retval;
}
@ -202,8 +206,11 @@ _nss_nis_getgrnam_r (const char *name, struct group *grp,
if (parse_res == -1)
return NSS_STATUS_TRYAGAIN;
else
{
*errnop = EAGAIN;
return NSS_STATUS_NOTFOUND;
}
}
return NSS_STATUS_SUCCESS;
}
@ -227,7 +234,9 @@ _nss_nis_getgrgid_r (gid_t gid, struct group *grp,
if (retval != NSS_STATUS_SUCCESS)
{
if (retval == NSS_STATUS_TRYAGAIN)
if (retval == NSS_STATUS_NOTFOUND)
*errnop = ENOENT;
else if (retval == NSS_STATUS_TRYAGAIN)
*errnop = errno;
return retval;
}
@ -251,7 +260,10 @@ _nss_nis_getgrgid_r (gid_t gid, struct group *grp,
if (parse_res == -1)
return NSS_STATUS_TRYAGAIN;
else
{
*errnop = ENOENT;
return NSS_STATUS_NOTFOUND;
}
}
return NSS_STATUS_SUCCESS;
}

View File

@ -176,6 +176,7 @@ internal_nis_gethostent_r (struct hostent *host, char *buffer,
*h_errnop = TRY_AGAIN;
break;
case NSS_STATUS_NOTFOUND:
*errnop = ENOENT;
*h_errnop = HOST_NOT_FOUND;
break;
default:

View File

@ -112,7 +112,10 @@ internal_getgrent_r (struct group *grp, char *buffer, size_t buflen,
do
{
if (intern->next == NULL)
{
*errnop = ENOENT;
return NSS_STATUS_NOTFOUND;
}
p = strncpy (buffer, intern->next->val, buflen);
while (isspace (*p))
++p;

View File

@ -104,7 +104,9 @@ internal_nis_getnetent_r (struct netent *net, char *buffer, size_t buflen,
if (retval != NSS_STATUS_SUCCESS)
{
if (retval == NSS_STATUS_TRYAGAIN)
if (retval == NSS_STATUS_NOTFOUND)
*errnop = ENOENT;
else if (retval == NSS_STATUS_TRYAGAIN)
{
*herrnop = NETDB_INTERNAL;
*errnop = errno;
@ -203,7 +205,9 @@ _nss_nis_getnetbyname_r (const char *name, struct netent *net, char *buffer,
if (retval != NSS_STATUS_SUCCESS)
{
if (retval == NSS_STATUS_TRYAGAIN)
if (retval == NSS_STATUS_NOTFOUND)
*errnop = ENOENT;
else if (retval == NSS_STATUS_TRYAGAIN)
{
*errnop = errno;
*herrnop = NETDB_INTERNAL;
@ -233,8 +237,11 @@ _nss_nis_getnetbyname_r (const char *name, struct netent *net, char *buffer,
if (parse_res == -1)
return NSS_STATUS_TRYAGAIN;
else
{
*errnop = ENOENT;
return NSS_STATUS_NOTFOUND;
}
}
else
return NSS_STATUS_SUCCESS;
}
@ -281,8 +288,11 @@ _nss_nis_getnetbyaddr_r (unsigned long addr, int type, struct netent *net,
continue;
}
else
{
*errnop = ENOENT;
return NSS_STATUS_NOTFOUND;
}
}
else
{
if (retval == NSS_STATUS_TRYAGAIN)
@ -313,8 +323,11 @@ _nss_nis_getnetbyaddr_r (unsigned long addr, int type, struct netent *net,
if (parse_res == -1)
return NSS_STATUS_TRYAGAIN;
else
{
*errnop = ENOENT;
return NSS_STATUS_NOTFOUND;
}
}
else
return NSS_STATUS_SUCCESS;
}

View File

@ -1,4 +1,4 @@
/* Copyright (C) 1996, 1997 Free Software Foundation, Inc.
/* Copyright (C) 1996, 1997, 1998 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Thorsten Kukuk <kukuk@vt.uni-paderborn.de>, 1996.
@ -150,7 +150,10 @@ internal_nis_getprotoent_r (struct protoent *proto,
char *p;
if (next == NULL)
{
*errnop = ENOENT;
return NSS_STATUS_NOTFOUND;
}
p = strncpy (buffer, next->val, buflen);
while (isspace (*p))
@ -204,7 +207,9 @@ _nss_nis_getprotobyname_r (const char *name, struct protoent *proto,
if (retval != NSS_STATUS_SUCCESS)
{
if (retval == NSS_STATUS_TRYAGAIN)
if (retval == NSS_STATUS_NOTFOUND)
*errnop = ENOENT;
else if (retval == NSS_STATUS_TRYAGAIN)
*errnop = errno;
return retval;
}
@ -228,8 +233,11 @@ _nss_nis_getprotobyname_r (const char *name, struct protoent *proto,
if (parse_res == -1)
return NSS_STATUS_TRYAGAIN;
else
{
*errnop = ENOENT;
return NSS_STATUS_NOTFOUND;
}
}
return NSS_STATUS_SUCCESS;
}
@ -253,7 +261,9 @@ _nss_nis_getprotobynumber_r (int number, struct protoent *proto,
if (retval != NSS_STATUS_SUCCESS)
{
if (retval == NSS_STATUS_TRYAGAIN)
if (retval == NSS_STATUS_NOTFOUND)
*errnop = ENOENT;
else if (retval == NSS_STATUS_TRYAGAIN)
*errnop = errno;
return retval;
}
@ -277,7 +287,10 @@ _nss_nis_getprotobynumber_r (int number, struct protoent *proto,
if (parse_res == -1)
return NSS_STATUS_TRYAGAIN;
else
{
*errnop = ENOENT;
return NSS_STATUS_NOTFOUND;
}
}
return NSS_STATUS_SUCCESS;
}

View File

@ -1,4 +1,4 @@
/* Copyright (C) 1996, 1997 Free Software Foundation, Inc.
/* Copyright (C) 1996, 1997, 1998 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Thorsten Kukuk <kukuk@vt.uni-paderborn.de>, 1996.
@ -30,7 +30,9 @@ extern int xdecrypt (char *, char *);
#include "nss-nis.h"
/* If we haven't found the entry, we give a SUCCESS and an empty key back. */
/* If we haven't found the entry, we give a SUCCESS and an empty key back.
Solaris docu says: sizeof (pkey) == HEXKEYBYTES + 1.
*/
enum nss_status
_nss_nis_getpublickey (const char *netname, char *pkey, int *errnop)
{
@ -56,7 +58,9 @@ _nss_nis_getpublickey (const char *netname, char *pkey, int *errnop)
if (retval != NSS_STATUS_SUCCESS)
{
if (retval == NSS_STATUS_TRYAGAIN)
if (retval == NSS_STATUS_NOTFOUND)
*errnop = ENOENT;
else if (retval == NSS_STATUS_TRYAGAIN)
*errnop = errno;
return retval;
}
@ -66,7 +70,8 @@ _nss_nis_getpublickey (const char *netname, char *pkey, int *errnop)
char *p = strchr (result, ':');
if (p != NULL)
*p = 0;
strcpy (pkey, result);
strncpy (pkey, result, HEXKEYBYTES + 1);
pkey[HEXKEYBYTES] = '\0';
}
return NSS_STATUS_SUCCESS;
}
@ -76,7 +81,7 @@ _nss_nis_getsecretkey (const char *netname, char *skey, char *passwd,
int *errnop)
{
enum nss_status retval;
char buf[1024];
char buf[2 * (HEXKEYBYTES + 1)];
char *domain, *result;
int len;
@ -98,7 +103,9 @@ _nss_nis_getsecretkey (const char *netname, char *skey, char *passwd,
if (retval != NSS_STATUS_SUCCESS)
{
if (retval == NSS_STATUS_TRYAGAIN)
if (retval == NSS_STATUS_NOTFOUND)
*errnop = ENOENT;
else if (retval == NSS_STATUS_TRYAGAIN)
*errnop = errno;
return retval;
}
@ -109,15 +116,16 @@ _nss_nis_getsecretkey (const char *netname, char *skey, char *passwd,
if (p == NULL)
return NSS_STATUS_SUCCESS;
p++;
strcpy (buf, p);
++p;
strncpy (buf, p, 2 * (HEXKEYBYTES + 1));
buf[2 * (HEXKEYBYTES + 1)] = '\0';
if (!xdecrypt (buf, passwd))
return NSS_STATUS_SUCCESS;
if (memcmp (buf, &(buf[HEXKEYBYTES]), KEYCHECKSUMSIZE) != 0)
return NSS_STATUS_SUCCESS;
buf[HEXKEYBYTES] = 0;
buf[HEXKEYBYTES] = '\0';
strcpy (skey, buf);
}
return NSS_STATUS_SUCCESS;

View File

@ -106,7 +106,9 @@ internal_nis_getpwent_r (struct passwd *pwd, char *buffer, size_t buflen,
if (retval != NSS_STATUS_SUCCESS)
{
if (retval == NSS_STATUS_TRYAGAIN)
if (retval == NSS_STATUS_NOTFOUND)
*errnop = ENOENT;
else if (retval == NSS_STATUS_TRYAGAIN)
*errnop = errno;
return retval;
}
@ -231,7 +233,9 @@ _nss_nis_getpwnam_r (const char *name, struct passwd *pwd,
if (retval != NSS_STATUS_SUCCESS)
{
if (retval == NSS_STATUS_TRYAGAIN)
if (retval == NSS_STATUS_NOTFOUND)
*errnop = ENOENT;
else if (retval == NSS_STATUS_TRYAGAIN)
*errnop = errno;
return retval;
}
@ -302,8 +306,11 @@ _nss_nis_getpwnam_r (const char *name, struct passwd *pwd,
if (parse_res == -1)
return NSS_STATUS_TRYAGAIN;
else
{
*errnop = ENOENT;
return NSS_STATUS_NOTFOUND;
}
}
else
return NSS_STATUS_SUCCESS;
}
@ -329,7 +336,9 @@ _nss_nis_getpwuid_r (uid_t uid, struct passwd *pwd,
if (retval != NSS_STATUS_SUCCESS)
{
if (retval == NSS_STATUS_TRYAGAIN)
if (retval == NSS_STATUS_NOTFOUND)
*errnop = ENOENT;
else if (retval == NSS_STATUS_TRYAGAIN)
*errnop = errno;
return retval;
}
@ -401,8 +410,11 @@ _nss_nis_getpwuid_r (uid_t uid, struct passwd *pwd,
if (parse_res == -1)
return NSS_STATUS_TRYAGAIN;
else
{
*errnop = ENOENT;
return NSS_STATUS_NOTFOUND;
}
}
else
return NSS_STATUS_SUCCESS;
}

View File

@ -1,4 +1,4 @@
/* Copyright (C) 1996, 1997 Free Software Foundation, Inc.
/* Copyright (C) 1996, 1997, 1998 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Thorsten Kukuk <kukuk@vt.uni-paderborn.de>, 1996.
@ -167,7 +167,10 @@ internal_nis_getrpcent_r (struct rpcent *rpc, char *buffer, size_t buflen,
do
{
if (data->next == NULL)
{
*errnop = ENOENT;
return NSS_STATUS_NOTFOUND;
}
p = strncpy (buffer, data->next->val, buflen);
while (isspace (*p))
++p;
@ -242,7 +245,10 @@ _nss_nis_getrpcbyname_r (const char *name, struct rpcent *rpc,
internal_nis_endrpcent (&data);
if (!found && status == NSS_STATUS_SUCCESS)
{
*errnop = ENOENT;
return NSS_STATUS_NOTFOUND;
}
else
return status;
}
@ -267,7 +273,9 @@ _nss_nis_getrpcbynumber_r (int number, struct rpcent *rpc,
if (retval != NSS_STATUS_SUCCESS)
{
if (retval == NSS_STATUS_TRYAGAIN)
if (retval == NSS_STATUS_NOTFOUND)
*errnop = ENOENT;
else if (retval == NSS_STATUS_TRYAGAIN)
*errnop = errno;
return retval;
}
@ -292,8 +300,11 @@ _nss_nis_getrpcbynumber_r (int number, struct rpcent *rpc,
if (parse_res == -1)
return NSS_STATUS_TRYAGAIN;
else
{
*errnop = ENOENT;
return NSS_STATUS_NOTFOUND;
}
}
else
return NSS_STATUS_SUCCESS;
}

View File

@ -1,4 +1,4 @@
/* Copyright (C) 1996, 1997 Free Software Foundation, Inc.
/* Copyright (C) 1996, 1997, 1998 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Thorsten Kukuk <kukuk@vt.uni-paderborn.de>, 1996.
@ -166,7 +166,10 @@ internal_nis_getservent_r (struct servent *serv, char *buffer,
do
{
if (data->next == NULL)
{
*errnop = ENOENT;
return NSS_STATUS_NOTFOUND;
}
p = strncpy (buffer, data->next->val, buflen);
while (isspace (*p))
++p;
@ -236,7 +239,10 @@ _nss_nis_getservbyname_r (const char *name, char *protocol,
internal_nis_endservent (&data);
if (!found && status == NSS_STATUS_SUCCESS)
{
*errnop = ENOENT;
return NSS_STATUS_NOTFOUND;
}
else
return status;
}
@ -270,7 +276,10 @@ _nss_nis_getservbyport_r (int port, char *protocol, struct servent *serv,
internal_nis_endservent (&data);
if (!found && status == NSS_STATUS_SUCCESS)
{
*errnop = ENOENT;
return NSS_STATUS_NOTFOUND;
}
else
return status;
}

View File

@ -1,4 +1,4 @@
/* Copyright (C) 1996, 1997 Free Software Foundation, Inc.
/* Copyright (C) 1996, 1997, 1998 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Thorsten Kukuk <kukuk@vt.uni-paderborn.de>, 1996.
@ -104,7 +104,9 @@ internal_nis_getspent_r (struct spwd *sp, char *buffer, size_t buflen,
if (retval != NSS_STATUS_SUCCESS)
{
if (retval == NSS_STATUS_TRYAGAIN)
if (retval == NSS_STATUS_NOTFOUND)
*errnop = ENOENT;
else if (retval == NSS_STATUS_TRYAGAIN)
*errnop = errno;
return retval;
}
@ -178,7 +180,9 @@ _nss_nis_getspnam_r (const char *name, struct spwd *sp,
if (retval != NSS_STATUS_SUCCESS)
{
if (retval == NSS_STATUS_TRYAGAIN)
if (retval == NSS_STATUS_NOTFOUND)
*errnop = ENOENT;
else if (retval == NSS_STATUS_TRYAGAIN)
*errnop = errno;
return retval;
}
@ -202,7 +206,10 @@ _nss_nis_getspnam_r (const char *name, struct spwd *sp,
if (parse_res == -1)
return NSS_STATUS_TRYAGAIN;
else
{
*errnop = ENOENT;
return NSS_STATUS_NOTFOUND;
}
}
return NSS_STATUS_SUCCESS;
}

View File

@ -30,6 +30,7 @@
#ifndef __RPCSVC_YP_H__
#define __RPCSVC_YP_H__
#include <features.h>
#include <rpc/rpc.h>
#define YPMAXRECORD 1024
@ -51,14 +52,6 @@ enum ypstat {
YP_VERS = -8,
};
typedef enum ypstat ypstat;
#ifdef __cplusplus
extern "C" bool_t xdr_ypstat(XDR *, ypstat*);
#elif __STDC__
extern bool_t xdr_ypstat(XDR *, ypstat*);
#else /* Old Style C */
bool_t xdr_ypstat();
#endif /* Old Style C */
enum ypxfrstat {
YPXFR_SUCC = 1,
@ -79,70 +72,20 @@ enum ypxfrstat {
YPXFR_REFUSED = -14,
};
typedef enum ypxfrstat ypxfrstat;
#ifdef __cplusplus
extern "C" bool_t xdr_ypxfrstat(XDR *, ypxfrstat*);
#elif __STDC__
extern bool_t xdr_ypxfrstat(XDR *, ypxfrstat*);
#else /* Old Style C */
bool_t xdr_ypxfrstat();
#endif /* Old Style C */
typedef char *domainname;
#ifdef __cplusplus
extern "C" bool_t xdr_domainname(XDR *, domainname*);
#elif __STDC__
extern bool_t xdr_domainname(XDR *, domainname*);
#else /* Old Style C */
bool_t xdr_domainname();
#endif /* Old Style C */
typedef char *mapname;
#ifdef __cplusplus
extern "C" bool_t xdr_mapname(XDR *, mapname*);
#elif __STDC__
extern bool_t xdr_mapname(XDR *, mapname*);
#else /* Old Style C */
bool_t xdr_mapname();
#endif /* Old Style C */
typedef char *peername;
#ifdef __cplusplus
extern "C" bool_t xdr_peername(XDR *, peername*);
#elif __STDC__
extern bool_t xdr_peername(XDR *, peername*);
#else /* Old Style C */
bool_t xdr_peername();
#endif /* Old Style C */
typedef struct {
u_int keydat_len;
char *keydat_val;
} keydat;
#ifdef __cplusplus
extern "C" bool_t xdr_keydat(XDR *, keydat*);
#elif __STDC__
extern bool_t xdr_keydat(XDR *, keydat*);
#else /* Old Style C */
bool_t xdr_keydat();
#endif /* Old Style C */
typedef struct {
u_int valdat_len;
char *valdat_val;
} valdat;
#ifdef __cplusplus
extern "C" bool_t xdr_valdat(XDR *, valdat*);
#elif __STDC__
extern bool_t xdr_valdat(XDR *, valdat*);
#else /* Old Style C */
bool_t xdr_valdat();
#endif /* Old Style C */
struct ypmap_parms {
domainname domain;
@ -151,14 +94,6 @@ struct ypmap_parms {
peername peer;
};
typedef struct ypmap_parms ypmap_parms;
#ifdef __cplusplus
extern "C" bool_t xdr_ypmap_parms(XDR *, ypmap_parms*);
#elif __STDC__
extern bool_t xdr_ypmap_parms(XDR *, ypmap_parms*);
#else /* Old Style C */
bool_t xdr_ypmap_parms();
#endif /* Old Style C */
struct ypreq_key {
domainname domain;
@ -166,28 +101,12 @@ struct ypreq_key {
keydat key;
};
typedef struct ypreq_key ypreq_key;
#ifdef __cplusplus
extern "C" bool_t xdr_ypreq_key(XDR *, ypreq_key*);
#elif __STDC__
extern bool_t xdr_ypreq_key(XDR *, ypreq_key*);
#else /* Old Style C */
bool_t xdr_ypreq_key();
#endif /* Old Style C */
struct ypreq_nokey {
domainname domain;
mapname map;
};
typedef struct ypreq_nokey ypreq_nokey;
#ifdef __cplusplus
extern "C" bool_t xdr_ypreq_nokey(XDR *, ypreq_nokey*);
#elif __STDC__
extern bool_t xdr_ypreq_nokey(XDR *, ypreq_nokey*);
#else /* Old Style C */
bool_t xdr_ypreq_nokey();
#endif /* Old Style C */
struct ypreq_xfr {
ypmap_parms map_parms;
@ -196,28 +115,12 @@ struct ypreq_xfr {
u_int port;
};
typedef struct ypreq_xfr ypreq_xfr;
#ifdef __cplusplus
extern "C" bool_t xdr_ypreq_xfr(XDR *, ypreq_xfr*);
#elif __STDC__
extern bool_t xdr_ypreq_xfr(XDR *, ypreq_xfr*);
#else /* Old Style C */
bool_t xdr_ypreq_xfr();
#endif /* Old Style C */
struct ypresp_val {
ypstat stat;
valdat val;
};
typedef struct ypresp_val ypresp_val;
#ifdef __cplusplus
extern "C" bool_t xdr_ypresp_val(XDR *, ypresp_val*);
#elif __STDC__
extern bool_t xdr_ypresp_val(XDR *, ypresp_val*);
#else /* Old Style C */
bool_t xdr_ypresp_val();
#endif /* Old Style C */
struct ypresp_key_val {
ypstat stat;
@ -235,42 +138,18 @@ struct ypresp_key_val {
#endif
};
typedef struct ypresp_key_val ypresp_key_val;
#ifdef __cplusplus
extern "C" bool_t xdr_ypresp_key_val(XDR *, ypresp_key_val*);
#elif __STDC__
extern bool_t xdr_ypresp_key_val(XDR *, ypresp_key_val*);
#else /* Old Style C */
bool_t xdr_ypresp_key_val();
#endif /* Old Style C */
struct ypresp_master {
ypstat stat;
peername peer;
};
typedef struct ypresp_master ypresp_master;
#ifdef __cplusplus
extern "C" bool_t xdr_ypresp_master(XDR *, ypresp_master*);
#elif __STDC__
extern bool_t xdr_ypresp_master(XDR *, ypresp_master*);
#else /* Old Style C */
bool_t xdr_ypresp_master();
#endif /* Old Style C */
struct ypresp_order {
ypstat stat;
u_int ordernum;
};
typedef struct ypresp_order ypresp_order;
#ifdef __cplusplus
extern "C" bool_t xdr_ypresp_order(XDR *, ypresp_order*);
#elif __STDC__
extern bool_t xdr_ypresp_order(XDR *, ypresp_order*);
#else /* Old Style C */
bool_t xdr_ypresp_order();
#endif /* Old Style C */
struct ypresp_all {
bool_t more;
@ -279,56 +158,24 @@ struct ypresp_all {
} ypresp_all_u;
};
typedef struct ypresp_all ypresp_all;
#ifdef __cplusplus
extern "C" bool_t xdr_ypresp_all(XDR *, ypresp_all*);
#elif __STDC__
extern bool_t xdr_ypresp_all(XDR *, ypresp_all*);
#else /* Old Style C */
bool_t xdr_ypresp_all();
#endif /* Old Style C */
struct ypresp_xfr {
u_int transid;
ypxfrstat xfrstat;
};
typedef struct ypresp_xfr ypresp_xfr;
#ifdef __cplusplus
extern "C" bool_t xdr_ypresp_xfr(XDR *, ypresp_xfr*);
#elif __STDC__
extern bool_t xdr_ypresp_xfr(XDR *, ypresp_xfr*);
#else /* Old Style C */
bool_t xdr_ypresp_xfr();
#endif /* Old Style C */
struct ypmaplist {
mapname map;
struct ypmaplist *next;
};
typedef struct ypmaplist ypmaplist;
#ifdef __cplusplus
extern "C" bool_t xdr_ypmaplist(XDR *, ypmaplist*);
#elif __STDC__
extern bool_t xdr_ypmaplist(XDR *, ypmaplist*);
#else /* Old Style C */
bool_t xdr_ypmaplist();
#endif /* Old Style C */
struct ypresp_maplist {
ypstat stat;
ypmaplist *maps;
};
typedef struct ypresp_maplist ypresp_maplist;
#ifdef __cplusplus
extern "C" bool_t xdr_ypresp_maplist(XDR *, ypresp_maplist*);
#elif __STDC__
extern bool_t xdr_ypresp_maplist(XDR *, ypresp_maplist*);
#else /* Old Style C */
bool_t xdr_ypresp_maplist();
#endif /* Old Style C */
enum yppush_status {
YPPUSH_SUCC = 1,
@ -349,56 +196,24 @@ enum yppush_status {
YPPUSH_REFUSED = -14,
};
typedef enum yppush_status yppush_status;
#ifdef __cplusplus
extern "C" bool_t xdr_yppush_status(XDR *, yppush_status*);
#elif __STDC__
extern bool_t xdr_yppush_status(XDR *, yppush_status*);
#else /* Old Style C */
bool_t xdr_yppush_status();
#endif /* Old Style C */
struct yppushresp_xfr {
u_int transid;
yppush_status status;
};
typedef struct yppushresp_xfr yppushresp_xfr;
#ifdef __cplusplus
extern "C" bool_t xdr_yppushresp_xfr(XDR *, yppushresp_xfr*);
#elif __STDC__
extern bool_t xdr_yppushresp_xfr(XDR *, yppushresp_xfr*);
#else /* Old Style C */
bool_t xdr_yppushresp_xfr();
#endif /* Old Style C */
enum ypbind_resptype {
YPBIND_SUCC_VAL = 1,
YPBIND_FAIL_VAL = 2,
};
typedef enum ypbind_resptype ypbind_resptype;
#ifdef __cplusplus
extern "C" bool_t xdr_ypbind_resptype(XDR *, ypbind_resptype*);
#elif __STDC__
extern bool_t xdr_ypbind_resptype(XDR *, ypbind_resptype*);
#else /* Old Style C */
bool_t xdr_ypbind_resptype();
#endif /* Old Style C */
struct ypbind_binding {
char ypbind_binding_addr[4];
char ypbind_binding_port[2];
};
typedef struct ypbind_binding ypbind_binding;
#ifdef __cplusplus
extern "C" bool_t xdr_ypbind_binding(XDR *, ypbind_binding*);
#elif __STDC__
extern bool_t xdr_ypbind_binding(XDR *, ypbind_binding*);
#else /* Old Style C */
bool_t xdr_ypbind_binding();
#endif /* Old Style C */
struct ypbind_resp {
ypbind_resptype ypbind_status;
@ -408,13 +223,6 @@ struct ypbind_resp {
} ypbind_resp_u;
};
typedef struct ypbind_resp ypbind_resp;
#ifdef __cplusplus
extern "C" bool_t xdr_ypbind_resp(XDR *, ypbind_resp*);
#elif __STDC__
extern bool_t xdr_ypbind_resp(XDR *, ypbind_resp*);
#else /* Old Style C */
bool_t xdr_ypbind_resp();
#endif /* Old Style C */
#define YPBIND_ERR_ERR 1
#define YPBIND_ERR_NOSERV 2
@ -426,196 +234,104 @@ struct ypbind_setdom {
u_int ypsetdom_vers;
};
typedef struct ypbind_setdom ypbind_setdom;
#ifdef __cplusplus
extern "C" bool_t xdr_ypbind_setdom(XDR *, ypbind_setdom*);
#elif __STDC__
extern bool_t xdr_ypbind_setdom(XDR *, ypbind_setdom*);
#else /* Old Style C */
bool_t xdr_ypbind_setdom();
#endif /* Old Style C */
__BEGIN_DECLS
#define YPPROG ((u_long)100004)
#define YPVERS ((u_long)2)
#ifdef __cplusplus
#define YPPROC_NULL ((u_long)0)
extern "C" void * ypproc_null_2(void *, CLIENT *);
extern "C" void * ypproc_null_2_svc(void *, struct svc_req *);
extern void *ypproc_null_2 __P ((void *, CLIENT *));
extern void *ypproc_null_2_svc __P ((void *, struct svc_req *));
#define YPPROC_DOMAIN ((u_long)1)
extern "C" bool_t * ypproc_domain_2(domainname *, CLIENT *);
extern "C" bool_t * ypproc_domain_2_svc(domainname *, struct svc_req *);
extern bool_t *ypproc_domain_2 __P ((domainname *, CLIENT *));
extern bool_t *ypproc_domain_2_svc __P ((domainname *, struct svc_req *));
#define YPPROC_DOMAIN_NONACK ((u_long)2)
extern "C" bool_t * ypproc_domain_nonack_2(domainname *, CLIENT *);
extern "C" bool_t * ypproc_domain_nonack_2_svc(domainname *, struct svc_req *);
extern bool_t *ypproc_domain_nonack_2 __P ((domainname *, CLIENT *));
extern bool_t *ypproc_domain_nonack_2_svc __P ((domainname *, struct svc_req *));
#define YPPROC_MATCH ((u_long)3)
extern "C" ypresp_val * ypproc_match_2(ypreq_key *, CLIENT *);
extern "C" ypresp_val * ypproc_match_2_svc(ypreq_key *, struct svc_req *);
extern ypresp_val *ypproc_match_2 __P ((ypreq_key *, CLIENT *));
extern ypresp_val *ypproc_match_2_svc __P ((ypreq_key *, struct svc_req *));
#define YPPROC_FIRST ((u_long)4)
extern "C" ypresp_key_val * ypproc_first_2(ypreq_key *, CLIENT *);
extern "C" ypresp_key_val * ypproc_first_2_svc(ypreq_key *, struct svc_req *);
extern ypresp_key_val *ypproc_first_2 __P ((ypreq_key *, CLIENT *));
extern ypresp_key_val *ypproc_first_2_svc __P ((ypreq_key *, struct svc_req *));
#define YPPROC_NEXT ((u_long)5)
extern "C" ypresp_key_val * ypproc_next_2(ypreq_key *, CLIENT *);
extern "C" ypresp_key_val * ypproc_next_2_svc(ypreq_key *, struct svc_req *);
extern ypresp_key_val *ypproc_next_2 __P ((ypreq_key *, CLIENT *));
extern ypresp_key_val *ypproc_next_2_svc __P ((ypreq_key *, struct svc_req *));
#define YPPROC_XFR ((u_long)6)
extern "C" ypresp_xfr * ypproc_xfr_2(ypreq_xfr *, CLIENT *);
extern "C" ypresp_xfr * ypproc_xfr_2_svc(ypreq_xfr *, struct svc_req *);
extern ypresp_xfr *ypproc_xfr_2 __P ((ypreq_xfr *, CLIENT *));
extern ypresp_xfr *ypproc_xfr_2_svc __P ((ypreq_xfr *, struct svc_req *));
#define YPPROC_CLEAR ((u_long)7)
extern "C" void * ypproc_clear_2(void *, CLIENT *);
extern "C" void * ypproc_clear_2_svc(void *, struct svc_req *);
extern void *ypproc_clear_2 __P ((void *, CLIENT *));
extern void *ypproc_clear_2_svc __P ((void *, struct svc_req *));
#define YPPROC_ALL ((u_long)8)
extern "C" ypresp_all * ypproc_all_2(ypreq_nokey *, CLIENT *);
extern "C" ypresp_all * ypproc_all_2_svc(ypreq_nokey *, struct svc_req *);
extern ypresp_all *ypproc_all_2 __P ((ypreq_nokey *, CLIENT *));
extern ypresp_all *ypproc_all_2_svc __P ((ypreq_nokey *, struct svc_req *));
#define YPPROC_MASTER ((u_long)9)
extern "C" ypresp_master * ypproc_master_2(ypreq_nokey *, CLIENT *);
extern "C" ypresp_master * ypproc_master_2_svc(ypreq_nokey *, struct svc_req *);
extern ypresp_master *ypproc_master_2 __P ((ypreq_nokey *, CLIENT *));
extern ypresp_master *ypproc_master_2_svc __P ((ypreq_nokey *, struct svc_req *));
#define YPPROC_ORDER ((u_long)10)
extern "C" ypresp_order * ypproc_order_2(ypreq_nokey *, CLIENT *);
extern "C" ypresp_order * ypproc_order_2_svc(ypreq_nokey *, struct svc_req *);
extern ypresp_order *ypproc_order_2 __P ((ypreq_nokey *, CLIENT *));
extern ypresp_order *ypproc_order_2_svc __P ((ypreq_nokey *, struct svc_req *));
#define YPPROC_MAPLIST ((u_long)11)
extern "C" ypresp_maplist * ypproc_maplist_2(domainname *, CLIENT *);
extern "C" ypresp_maplist * ypproc_maplist_2_svc(domainname *, struct svc_req *);
extern ypresp_maplist *ypproc_maplist_2 __P ((domainname *, CLIENT *));
extern ypresp_maplist *ypproc_maplist_2_svc __P ((domainname *, struct svc_req *));
extern int ypprog_2_freeresult __P ((SVCXPRT *, xdrproc_t, caddr_t));
#elif __STDC__
#define YPPROC_NULL ((u_long)0)
extern void * ypproc_null_2(void *, CLIENT *);
extern void * ypproc_null_2_svc(void *, struct svc_req *);
#define YPPROC_DOMAIN ((u_long)1)
extern bool_t * ypproc_domain_2(domainname *, CLIENT *);
extern bool_t * ypproc_domain_2_svc(domainname *, struct svc_req *);
#define YPPROC_DOMAIN_NONACK ((u_long)2)
extern bool_t * ypproc_domain_nonack_2(domainname *, CLIENT *);
extern bool_t * ypproc_domain_nonack_2_svc(domainname *, struct svc_req *);
#define YPPROC_MATCH ((u_long)3)
extern ypresp_val * ypproc_match_2(ypreq_key *, CLIENT *);
extern ypresp_val * ypproc_match_2_svc(ypreq_key *, struct svc_req *);
#define YPPROC_FIRST ((u_long)4)
extern ypresp_key_val * ypproc_first_2(ypreq_key *, CLIENT *);
extern ypresp_key_val * ypproc_first_2_svc(ypreq_key *, struct svc_req *);
#define YPPROC_NEXT ((u_long)5)
extern ypresp_key_val * ypproc_next_2(ypreq_key *, CLIENT *);
extern ypresp_key_val * ypproc_next_2_svc(ypreq_key *, struct svc_req *);
#define YPPROC_XFR ((u_long)6)
extern ypresp_xfr * ypproc_xfr_2(ypreq_xfr *, CLIENT *);
extern ypresp_xfr * ypproc_xfr_2_svc(ypreq_xfr *, struct svc_req *);
#define YPPROC_CLEAR ((u_long)7)
extern void * ypproc_clear_2(void *, CLIENT *);
extern void * ypproc_clear_2_svc(void *, struct svc_req *);
#define YPPROC_ALL ((u_long)8)
extern ypresp_all * ypproc_all_2(ypreq_nokey *, CLIENT *);
extern ypresp_all * ypproc_all_2_svc(ypreq_nokey *, struct svc_req *);
#define YPPROC_MASTER ((u_long)9)
extern ypresp_master * ypproc_master_2(ypreq_nokey *, CLIENT *);
extern ypresp_master * ypproc_master_2_svc(ypreq_nokey *, struct svc_req *);
#define YPPROC_ORDER ((u_long)10)
extern ypresp_order * ypproc_order_2(ypreq_nokey *, CLIENT *);
extern ypresp_order * ypproc_order_2_svc(ypreq_nokey *, struct svc_req *);
#define YPPROC_MAPLIST ((u_long)11)
extern ypresp_maplist * ypproc_maplist_2(domainname *, CLIENT *);
extern ypresp_maplist * ypproc_maplist_2_svc(domainname *, struct svc_req *);
#else /* Old Style C */
#define YPPROC_NULL ((u_long)0)
extern void * ypproc_null_2();
extern void * ypproc_null_2_svc();
#define YPPROC_DOMAIN ((u_long)1)
extern bool_t * ypproc_domain_2();
extern bool_t * ypproc_domain_2_svc();
#define YPPROC_DOMAIN_NONACK ((u_long)2)
extern bool_t * ypproc_domain_nonack_2();
extern bool_t * ypproc_domain_nonack_2_svc();
#define YPPROC_MATCH ((u_long)3)
extern ypresp_val * ypproc_match_2();
extern ypresp_val * ypproc_match_2_svc();
#define YPPROC_FIRST ((u_long)4)
extern ypresp_key_val * ypproc_first_2();
extern ypresp_key_val * ypproc_first_2_svc();
#define YPPROC_NEXT ((u_long)5)
extern ypresp_key_val * ypproc_next_2();
extern ypresp_key_val * ypproc_next_2_svc();
#define YPPROC_XFR ((u_long)6)
extern ypresp_xfr * ypproc_xfr_2();
extern ypresp_xfr * ypproc_xfr_2_svc();
#define YPPROC_CLEAR ((u_long)7)
extern void * ypproc_clear_2();
extern void * ypproc_clear_2_svc();
#define YPPROC_ALL ((u_long)8)
extern ypresp_all * ypproc_all_2();
extern ypresp_all * ypproc_all_2_svc();
#define YPPROC_MASTER ((u_long)9)
extern ypresp_master * ypproc_master_2();
extern ypresp_master * ypproc_master_2_svc();
#define YPPROC_ORDER ((u_long)10)
extern ypresp_order * ypproc_order_2();
extern ypresp_order * ypproc_order_2_svc();
#define YPPROC_MAPLIST ((u_long)11)
extern ypresp_maplist * ypproc_maplist_2();
extern ypresp_maplist * ypproc_maplist_2_svc();
#endif /* Old Style C */
#define YPPUSH_XFRRESPPROG ((u_long)0x40000000)
#define YPPUSH_XFRRESPVERS ((u_long)1)
#ifdef __cplusplus
#define YPPUSHPROC_NULL ((u_long)0)
extern "C" void * yppushproc_null_1(void *, CLIENT *);
extern "C" void * yppushproc_null_1_svc(void *, struct svc_req *);
extern void *yppushproc_null_1 __P ((void *, CLIENT *));
extern void *yppushproc_null_1_svc __P ((void *, struct svc_req *));
#define YPPUSHPROC_XFRRESP ((u_long)1)
extern "C" void * yppushproc_xfrresp_1(yppushresp_xfr *, CLIENT *);
extern "C" void * yppushproc_xfrresp_1_svc(yppushresp_xfr *, struct svc_req *);
extern void *yppushproc_xfrresp_1 __P ((yppushresp_xfr *, CLIENT *));
extern void *yppushproc_xfrresp_1_svc __P ((yppushresp_xfr *, struct svc_req *));
extern int yppush_xfrrespprog_1_freeresult __P ((SVCXPRT *, xdrproc_t, caddr_t));
#elif __STDC__
#define YPPUSHPROC_NULL ((u_long)0)
extern void * yppushproc_null_1(void *, CLIENT *);
extern void * yppushproc_null_1_svc(void *, struct svc_req *);
#define YPPUSHPROC_XFRRESP ((u_long)1)
extern void * yppushproc_xfrresp_1(yppushresp_xfr *, CLIENT *);
extern void * yppushproc_xfrresp_1_svc(yppushresp_xfr *, struct svc_req *);
#else /* Old Style C */
#define YPPUSHPROC_NULL ((u_long)0)
extern void * yppushproc_null_1();
extern void * yppushproc_null_1_svc();
#define YPPUSHPROC_XFRRESP ((u_long)1)
extern void * yppushproc_xfrresp_1();
extern void * yppushproc_xfrresp_1_svc();
#endif /* Old Style C */
#define YPBINDPROG ((u_long)100007)
#define YPBINDVERS ((u_long)2)
#ifdef __cplusplus
#define YPBINDPROC_NULL ((u_long)0)
extern "C" void * ypbindproc_null_2(void *, CLIENT *);
extern "C" void * ypbindproc_null_2_svc(void *, struct svc_req *);
extern void *ypbindproc_null_2 __P ((void *, CLIENT *));
extern void *ypbindproc_null_2_svc __P ((void *, struct svc_req *));
#define YPBINDPROC_DOMAIN ((u_long)1)
extern "C" ypbind_resp * ypbindproc_domain_2(domainname *, CLIENT *);
extern "C" ypbind_resp * ypbindproc_domain_2_svc(domainname *, struct svc_req *);
extern ypbind_resp *ypbindproc_domain_2 __P ((domainname *, CLIENT *));
extern ypbind_resp *ypbindproc_domain_2_svc __P ((domainname *, struct svc_req *));
#define YPBINDPROC_SETDOM ((u_long)2)
extern "C" void * ypbindproc_setdom_2(ypbind_setdom *, CLIENT *);
extern "C" void * ypbindproc_setdom_2_svc(ypbind_setdom *, struct svc_req *);
extern void *ypbindproc_setdom_2 __P ((ypbind_setdom *, CLIENT *));
extern void *ypbindproc_setdom_2_svc __P ((ypbind_setdom *, struct svc_req *));
extern int ypbindprog_2_freeresult __P ((SVCXPRT *, xdrproc_t, caddr_t));
#elif __STDC__
#define YPBINDPROC_NULL ((u_long)0)
extern void * ypbindproc_null_2(void *, CLIENT *);
extern void * ypbindproc_null_2_svc(void *, struct svc_req *);
#define YPBINDPROC_DOMAIN ((u_long)1)
extern ypbind_resp * ypbindproc_domain_2(domainname *, CLIENT *);
extern ypbind_resp * ypbindproc_domain_2_svc(domainname *, struct svc_req *);
#define YPBINDPROC_SETDOM ((u_long)2)
extern void * ypbindproc_setdom_2(ypbind_setdom *, CLIENT *);
extern void * ypbindproc_setdom_2_svc(ypbind_setdom *, struct svc_req *);
#else /* Old Style C */
#define YPBINDPROC_NULL ((u_long)0)
extern void * ypbindproc_null_2();
extern void * ypbindproc_null_2_svc();
#define YPBINDPROC_DOMAIN ((u_long)1)
extern ypbind_resp * ypbindproc_domain_2();
extern ypbind_resp * ypbindproc_domain_2_svc();
#define YPBINDPROC_SETDOM ((u_long)2)
extern void * ypbindproc_setdom_2();
extern void * ypbindproc_setdom_2_svc();
#endif /* Old Style C */
extern bool_t xdr_ypstat __P ((XDR *, ypstat*));
extern bool_t xdr_ypxfrstat __P ((XDR *, ypxfrstat*));
extern bool_t xdr_domainname __P ((XDR *, domainname*));
extern bool_t xdr_mapname __P ((XDR *, mapname*));
extern bool_t xdr_peername __P ((XDR *, peername*));
extern bool_t xdr_keydat __P ((XDR *, keydat*));
extern bool_t xdr_valdat __P ((XDR *, valdat*));
extern bool_t xdr_ypmap_parms __P ((XDR *, ypmap_parms*));
extern bool_t xdr_ypreq_key __P ((XDR *, ypreq_key*));
extern bool_t xdr_ypreq_nokey __P ((XDR *, ypreq_nokey*));
extern bool_t xdr_ypreq_xfr __P ((XDR *, ypreq_xfr*));
extern bool_t xdr_ypresp_val __P ((XDR *, ypresp_val*));
extern bool_t xdr_ypresp_key_val __P ((XDR *, ypresp_key_val*));
extern bool_t xdr_ypresp_master __P ((XDR *, ypresp_master*));
extern bool_t xdr_ypresp_order __P ((XDR *, ypresp_order*));
extern bool_t xdr_ypresp_all __P ((XDR *, ypresp_all*));
extern bool_t xdr_ypresp_xfr __P ((XDR *, ypresp_xfr*));
extern bool_t xdr_ypmaplist __P ((XDR *, ypmaplist*));
extern bool_t xdr_ypresp_maplist __P ((XDR *, ypresp_maplist*));
extern bool_t xdr_yppush_status __P ((XDR *, yppush_status*));
extern bool_t xdr_yppushresp_xfr __P ((XDR *, yppushresp_xfr*));
extern bool_t xdr_ypbind_resptype __P ((XDR *, ypbind_resptype*));
extern bool_t xdr_ypbind_binding __P ((XDR *, ypbind_binding*));
extern bool_t xdr_ypbind_resp __P ((XDR *, ypbind_resp*));
extern bool_t xdr_ypbind_setdom __P ((XDR *, ypbind_setdom*));
__END_DECLS
#endif /* !__RPCSVC_YP_H__ */

View File

@ -33,310 +33,268 @@ bool_t
xdr_ypstat (XDR *xdrs, ypstat *objp)
{
if (!xdr_enum (xdrs, (enum_t *) objp))
return (FALSE);
return (TRUE);
return FALSE;
return TRUE;
}
bool_t
xdr_ypxfrstat (XDR *xdrs, ypxfrstat *objp)
{
if (!xdr_enum(xdrs, (enum_t *)objp)) {
return (FALSE);
}
return (TRUE);
if (!xdr_enum (xdrs, (enum_t *) objp))
return FALSE;
return TRUE;
}
bool_t
xdr_domainname (XDR *xdrs, domainname *objp)
{
if (!xdr_string(xdrs, objp, YPMAXDOMAIN)) {
return (FALSE);
}
return (TRUE);
if (!xdr_string (xdrs, objp, ~0))
return FALSE;
return TRUE;
}
bool_t
xdr_mapname (XDR *xdrs, mapname *objp)
{
if (!xdr_string(xdrs, objp, YPMAXMAP)) {
return (FALSE);
}
return (TRUE);
if (!xdr_string (xdrs, objp, ~0))
return FALSE;
return TRUE;
}
bool_t
xdr_peername (XDR *xdrs, peername *objp)
{
if (!xdr_string(xdrs, objp, YPMAXPEER)) {
return (FALSE);
}
return (TRUE);
if (!xdr_string (xdrs, objp, ~0))
return FALSE;
return TRUE;
}
bool_t
xdr_keydat (XDR *xdrs, keydat *objp)
{
if (!xdr_bytes(xdrs, (char **)&objp->keydat_val, (u_int *)&objp->keydat_len, YPMAXRECORD)) {
return (FALSE);
}
return (TRUE);
if (!xdr_bytes (xdrs, (char **) &objp->keydat_val,
(u_int *) &objp->keydat_len, ~0))
return FALSE;
return TRUE;
}
bool_t
xdr_valdat (XDR *xdrs, valdat *objp)
{
if (!xdr_bytes(xdrs, (char **)&objp->valdat_val, (u_int *)&objp->valdat_len, YPMAXRECORD)) {
return (FALSE);
}
return (TRUE);
if (!xdr_bytes (xdrs, (char **) &objp->valdat_val,
(u_int *) &objp->valdat_len, ~0))
return FALSE;
return TRUE;
}
bool_t
xdr_ypmap_parms (XDR *xdrs, ypmap_parms *objp)
{
if (!xdr_domainname(xdrs, &objp->domain)) {
return (FALSE);
}
if (!xdr_mapname(xdrs, &objp->map)) {
return (FALSE);
}
if (!xdr_u_int(xdrs, &objp->ordernum)) {
return (FALSE);
}
if (!xdr_peername(xdrs, &objp->peer)) {
return (FALSE);
}
return (TRUE);
if (!xdr_domainname (xdrs, &objp->domain))
return FALSE;
if (!xdr_mapname (xdrs, &objp->map))
return FALSE;
if (!xdr_u_int (xdrs, &objp->ordernum))
return FALSE;
if (!xdr_peername (xdrs, &objp->peer))
return FALSE;
return TRUE;
}
bool_t
xdr_ypreq_key (XDR *xdrs, ypreq_key *objp)
{
if (!xdr_domainname(xdrs, &objp->domain)) {
return (FALSE);
}
if (!xdr_mapname(xdrs, &objp->map)) {
return (FALSE);
}
if (!xdr_keydat(xdrs, &objp->key)) {
return (FALSE);
}
return (TRUE);
if (!xdr_domainname (xdrs, &objp->domain))
return FALSE;
if (!xdr_mapname (xdrs, &objp->map))
return FALSE;
if (!xdr_keydat (xdrs, &objp->key))
return FALSE;
return TRUE;
}
bool_t
xdr_ypreq_nokey (XDR *xdrs, ypreq_nokey *objp)
{
if (!xdr_domainname(xdrs, &objp->domain)) {
return (FALSE);
}
if (!xdr_mapname(xdrs, &objp->map)) {
return (FALSE);
}
return (TRUE);
if (!xdr_domainname (xdrs, &objp->domain))
return FALSE;
if (!xdr_mapname (xdrs, &objp->map))
return FALSE;
return TRUE;
}
bool_t
xdr_ypreq_xfr (XDR *xdrs, ypreq_xfr *objp)
{
if (!xdr_ypmap_parms(xdrs, &objp->map_parms)) {
return (FALSE);
}
if (!xdr_u_int(xdrs, &objp->transid)) {
return (FALSE);
}
if (!xdr_u_int(xdrs, &objp->prog)) {
return (FALSE);
}
if (!xdr_u_int(xdrs, &objp->port)) {
return (FALSE);
}
return (TRUE);
if (!xdr_ypmap_parms (xdrs, &objp->map_parms))
return FALSE;
if (!xdr_u_int (xdrs, &objp->transid))
return FALSE;
if (!xdr_u_int (xdrs, &objp->prog))
return FALSE;
if (!xdr_u_int (xdrs, &objp->port))
return FALSE;
return TRUE;
}
bool_t
xdr_ypresp_val (XDR *xdrs, ypresp_val *objp)
{
if (!xdr_ypstat(xdrs, &objp->stat)) {
return (FALSE);
}
if (!xdr_valdat(xdrs, &objp->val)) {
return (FALSE);
}
return (TRUE);
if (!xdr_ypstat (xdrs, &objp->stat))
return FALSE;
if (!xdr_valdat (xdrs, &objp->val))
return FALSE;
return TRUE;
}
bool_t
xdr_ypresp_key_val (XDR *xdrs, ypresp_key_val *objp)
{
if (!xdr_ypstat(xdrs, &objp->stat)) {
return (FALSE);
}
if (!xdr_valdat(xdrs, &objp->val)) {
return (FALSE);
}
if (!xdr_keydat(xdrs, &objp->key)) {
return (FALSE);
}
return (TRUE);
if (!xdr_ypstat (xdrs, &objp->stat))
return FALSE;
if (!xdr_valdat (xdrs, &objp->val))
return FALSE;
if (!xdr_keydat (xdrs, &objp->key))
return FALSE;
return TRUE;
}
bool_t
xdr_ypresp_master (XDR *xdrs, ypresp_master *objp)
{
if (!xdr_ypstat(xdrs, &objp->stat)) {
return (FALSE);
}
if (!xdr_peername(xdrs, &objp->peer)) {
return (FALSE);
}
return (TRUE);
if (!xdr_ypstat (xdrs, &objp->stat))
return FALSE;
if (!xdr_peername (xdrs, &objp->peer))
return FALSE;
return TRUE;
}
bool_t
xdr_ypresp_order (XDR *xdrs, ypresp_order *objp)
{
if (!xdr_ypstat(xdrs, &objp->stat)) {
return (FALSE);
}
if (!xdr_u_int(xdrs, &objp->ordernum)) {
return (FALSE);
}
return (TRUE);
if (!xdr_ypstat (xdrs, &objp->stat))
return FALSE;
if (!xdr_u_int (xdrs, &objp->ordernum))
return FALSE;
return TRUE;
}
bool_t
xdr_ypresp_all (XDR *xdrs, ypresp_all *objp)
{
if (!xdr_bool(xdrs, &objp->more)) {
return (FALSE);
}
switch (objp->more) {
if (!xdr_bool (xdrs, &objp->more))
return FALSE;
switch (objp->more)
{
case TRUE:
if (!xdr_ypresp_key_val(xdrs, &objp->ypresp_all_u.val)) {
return (FALSE);
}
if (!xdr_ypresp_key_val (xdrs, &objp->ypresp_all_u.val))
return FALSE;
break;
case FALSE:
break;
default:
return (FALSE);
return FALSE;
}
return (TRUE);
return TRUE;
}
bool_t
xdr_ypresp_xfr (XDR *xdrs, ypresp_xfr *objp)
{
if (!xdr_u_int(xdrs, &objp->transid)) {
return (FALSE);
}
if (!xdr_ypxfrstat(xdrs, &objp->xfrstat)) {
return (FALSE);
}
return (TRUE);
if (!xdr_u_int (xdrs, &objp->transid))
return FALSE;
if (!xdr_ypxfrstat (xdrs, &objp->xfrstat))
return FALSE;
return TRUE;
}
bool_t
xdr_ypmaplist (XDR *xdrs, ypmaplist *objp)
{
if (!xdr_mapname(xdrs, &objp->map)) {
return (FALSE);
}
if (!xdr_pointer(xdrs, (char **)&objp->next, sizeof(ypmaplist), (xdrproc_t)xdr_ypmaplist)) {
return (FALSE);
}
return (TRUE);
if (!xdr_mapname (xdrs, &objp->map))
return FALSE;
if (!xdr_pointer (xdrs, (char **) &objp->next, sizeof (ypmaplist),
(xdrproc_t) xdr_ypmaplist))
return FALSE;
return TRUE;
}
bool_t
xdr_ypresp_maplist (XDR *xdrs, ypresp_maplist *objp)
{
if (!xdr_ypstat(xdrs, &objp->stat)) {
return (FALSE);
}
if (!xdr_pointer(xdrs, (char **)&objp->maps, sizeof(ypmaplist), (xdrproc_t)xdr_ypmaplist)) {
return (FALSE);
}
return (TRUE);
if (!xdr_ypstat (xdrs, &objp->stat))
return FALSE;
if (!xdr_pointer (xdrs, (char **) &objp->maps, sizeof (ypmaplist),
(xdrproc_t) xdr_ypmaplist))
return FALSE;
return TRUE;
}
bool_t
xdr_yppush_status (XDR *xdrs, yppush_status *objp)
{
if (!xdr_enum(xdrs, (enum_t *)objp)) {
return (FALSE);
}
return (TRUE);
if (!xdr_enum (xdrs, (enum_t *) objp))
return FALSE;
return TRUE;
}
bool_t
xdr_yppushresp_xfr (XDR *xdrs, yppushresp_xfr *objp)
{
if (!xdr_u_int(xdrs, &objp->transid)) {
return (FALSE);
}
if (!xdr_yppush_status(xdrs, &objp->status)) {
return (FALSE);
}
return (TRUE);
if (!xdr_u_int (xdrs, &objp->transid))
return FALSE;
if (!xdr_yppush_status (xdrs, &objp->status))
return FALSE;
return TRUE;
}
bool_t
xdr_ypbind_resptype (XDR *xdrs, ypbind_resptype *objp)
{
if (!xdr_enum(xdrs, (enum_t *)objp)) {
return (FALSE);
}
return (TRUE);
if (!xdr_enum (xdrs, (enum_t *) objp))
return FALSE;
return TRUE;
}
bool_t
xdr_ypbind_binding (XDR *xdrs, ypbind_binding *objp)
{
if (!xdr_opaque(xdrs, objp->ypbind_binding_addr, 4)) {
return (FALSE);
}
if (!xdr_opaque(xdrs, objp->ypbind_binding_port, 2)) {
return (FALSE);
}
return (TRUE);
if (!xdr_opaque (xdrs, objp->ypbind_binding_addr, 4))
return FALSE;
if (!xdr_opaque (xdrs, objp->ypbind_binding_port, 2))
return FALSE;
return TRUE;
}
bool_t
xdr_ypbind_resp (XDR *xdrs, ypbind_resp *objp)
{
if (!xdr_ypbind_resptype(xdrs, &objp->ypbind_status)) {
return (FALSE);
}
switch (objp->ypbind_status) {
if (!xdr_ypbind_resptype (xdrs, &objp->ypbind_status))
return FALSE;
switch (objp->ypbind_status)
{
case YPBIND_FAIL_VAL:
if (!xdr_u_int(xdrs, &objp->ypbind_resp_u.ypbind_error)) {
return (FALSE);
}
if (!xdr_u_int (xdrs, &objp->ypbind_resp_u.ypbind_error))
return FALSE;
break;
case YPBIND_SUCC_VAL:
if (!xdr_ypbind_binding(xdrs, &objp->ypbind_resp_u.ypbind_bindinfo)) {
return (FALSE);
}
if (!xdr_ypbind_binding (xdrs, &objp->ypbind_resp_u.ypbind_bindinfo))
return FALSE;
break;
default:
return (FALSE);
return FALSE;
}
return (TRUE);
return TRUE;
}
bool_t
xdr_ypbind_setdom (XDR *xdrs, ypbind_setdom *objp)
{
if (!xdr_domainname(xdrs, &objp->ypsetdom_domain)) {
return (FALSE);
}
if (!xdr_ypbind_binding(xdrs, &objp->ypsetdom_binding)) {
return (FALSE);
}
if (!xdr_u_int(xdrs, &objp->ypsetdom_vers)) {
return (FALSE);
}
return (TRUE);
if (!xdr_domainname (xdrs, &objp->ypsetdom_domain))
return FALSE;
if (!xdr_ypbind_binding (xdrs, &objp->ypsetdom_binding))
return FALSE;
if (!xdr_u_int (xdrs, &objp->ypsetdom_vers))
return FALSE;
return TRUE;
}

View File

@ -90,7 +90,7 @@ __yp_bind (const char *domain, dom_binding **ypdb)
do
{
try++;
++try;
if (try > MAXTRIES)
{
if (is_new)
@ -99,7 +99,7 @@ __yp_bind (const char *domain, dom_binding **ypdb)
}
#if USE_BINDINGDIR
if (ysd->dom_vers < 1 && try < 3)
if (ysd->dom_vers < 1 && try == 1) /* Try binding dir only first time */
{
char path[sizeof (BINDINGDIR) - 1 + strlen (domain) + 10];
struct iovec vec[2];

View File

@ -31,43 +31,35 @@
* Copyright (c) 1986, 1990 by Sun Microsystems, Inc.
*/
/* from @(#)ypupdate_prot.x 1.3 91/03/11 TIRPC 1.0 */
/*
* Compiled from ypupdate_prot.x using rpcgen
* This is NOT source code!
* DO NOT EDIT THIS FILE!
*/
#include <rpcsvc/ypupd.h>
bool_t
xdr_yp_buf (XDR *xdrs, yp_buf *objp)
{
if (!xdr_bytes (xdrs, (char **) &objp->yp_buf_val, (u_int *) & objp->yp_buf_len, MAXYPDATALEN))
return (FALSE);
return (TRUE);
if (!xdr_bytes (xdrs, (char **) &objp->yp_buf_val,
(u_int *) &objp->yp_buf_len, ~0))
return FALSE;
return TRUE;
}
bool_t
xdr_ypupdate_args (XDR *xdrs, ypupdate_args *objp)
{
if (!xdr_string (xdrs, &objp->mapname, MAXMAPNAMELEN))
return (FALSE);
if (!xdr_string (xdrs, &objp->mapname, ~0))
return FALSE;
if (!xdr_yp_buf (xdrs, &objp->key))
return (FALSE);
return FALSE;
if (!xdr_yp_buf (xdrs, &objp->datum))
return (FALSE);
return (TRUE);
return FALSE;
return TRUE;
}
bool_t
xdr_ypdelete_args (XDR *xdrs, ypdelete_args *objp)
{
if (!xdr_string (xdrs, &objp->mapname, MAXMAPNAMELEN))
return (FALSE);
if (!xdr_string (xdrs, &objp->mapname, ~0))
return FALSE;
if (!xdr_yp_buf (xdrs, &objp->key))
return (FALSE);
return (TRUE);
return FALSE;
return TRUE;
}

View File

@ -219,7 +219,8 @@ extern unsigned long long int __strtoull_internal __P ((__const char *
# endif
#endif /* GCC */
#if defined __OPTIMIZE__ && !defined __OPTIMIZE_SIZE__ && __GNUC__ >= 2
#if defined __OPTIMIZE__ && !defined __OPTIMIZE_SIZE__ \
&& defined __USE_EXTERN_INLINES
/* Define inline functions which call the internal entry points. */
extern __inline double
@ -306,7 +307,7 @@ atoll (__const char *__nptr)
return strtoll (__nptr, (char **) NULL, 10);
}
# endif
#endif /* Optimizing GCC >=2. */
#endif /* Optimizing and Inlining. */
#if defined __USE_SVID || defined __USE_XOPEN_EXTENDED

View File

@ -133,7 +133,7 @@ extern char *__argz_next __P ((char *argz, size_t __argz_len,
extern char *argz_next __P ((char *argz, size_t __argz_len,
__const char *entry));
#if defined __OPTIMIZE__ && __GNUC__ >= 2
#ifdef __USE_EXTERN_INLINES
extern inline char *
__argz_next (char *__argz, size_t __argz_len, __const char *__entry)
{
@ -152,7 +152,7 @@ argz_next (char *__argz, size_t __argz_len, __const char *__entry)
{
return __argz_next (__argz, __argz_len, __entry);
}
#endif /* optimizing GCC2 */
#endif /* Use extern inlines. */
__END_DECLS

View File

@ -63,6 +63,7 @@ extern int __sigismember (__const __sigset_t *, int);
extern int __sigaddset (__sigset_t *, int);
extern int __sigdelset (__sigset_t *, int);
#ifdef __USE_EXTERN_INLINES
# define __SIGSETFN(NAME, BODY, CONST) \
_EXTERN_INLINE int \
NAME (CONST __sigset_t *__set, int __sig) \
@ -76,6 +77,7 @@ __SIGSETFN (__sigaddset, ((*__set |= __mask), 0), )
__SIGSETFN (__sigdelset, ((*__set &= ~__mask), 0), )
# undef __SIGSETFN
#endif
#endif /* ! _SIGSET_H_fns. */

View File

@ -253,6 +253,7 @@ extern char *alloca ();
# define readdir(str) __readdir (str)
# define getpwnam_r(name, bufp, buf, len, res) \
__getpwnam_r (name, bufp, buf, len, res)
# define __stat(fname, buf) __xstat (_STAT_VER, fname, buf)
#endif
#if !(defined STDC_HEADERS || defined __GNU_LIBRARY__)

View File

@ -104,6 +104,7 @@ extern int __sigismember (__const __sigset_t *, int);
extern int __sigaddset (__sigset_t *, int);
extern int __sigdelset (__sigset_t *, int);
# ifdef __USE_EXTERN_INLINES
# define __SIGSETFN(NAME, BODY, CONST) \
_EXTERN_INLINE int \
NAME (CONST __sigset_t *__set, int __sig) \
@ -118,6 +119,7 @@ __SIGSETFN (__sigaddset, ((__set->__val[__word] |= __mask), 0), )
__SIGSETFN (__sigdelset, ((__set->__val[__word] &= ~__mask), 0), )
# undef __SIGSETFN
# endif
#endif /* ! _SIGSET_H_fns. */

View File

@ -48,6 +48,7 @@ typedef struct
#define __SSELT(s) ((s) / __NSSBITS)
#define __SSMASK(s) (1 << ((s) % __NSSBITS))
#ifdef __USE_EXTERN_INLINES
# ifndef _EXTERN_INLINE
# define _EXTERN_INLINE extern __inline
# endif
@ -92,5 +93,6 @@ __sigismember (__const __sigset_t *__set, int __sig)
return 1;
return 0;
}
#endif /* use extern inlines. */
#endif /* ! _SIGSET_H_fns */

View File

@ -204,7 +204,7 @@ extern intmax_t wcstoimax __P ((__const wchar_t * __restrict __nptr,
extern uintmax_t wcstoumax __P ((__const wchar_t * __restrict __nptr,
wchar_t ** __restrict __endptr, int __base));
#if defined __GNUC__ && __GNUC__ >= 2 && defined __OPTIMIZE__
#ifdef __USE_EXTERN_INLINES
/* Like `strtol' but convert to `intmax_t'. */
# ifndef __strtoll_internal_defined
@ -267,7 +267,7 @@ wcstoumax (__const wchar_t *__restrict nptr, wchar_t **__restrict endptr,
{
return __wcstoull_internal (nptr, endptr, base, 0);
}
#endif /* GCC and Optimization. */
#endif /* Use extern inlines. */
__END_DECLS

View File

@ -210,7 +210,7 @@ extern intmax_t wcstoimax __P ((__const wchar_t * __restrict __nptr,
extern uintmax_t wcstoumax __P ((__const wchar_t * __restrict __nptr,
wchar_t ** __restrict __endptr, int __base));
#if defined __GNUC__ && __GNUC__ >= 2 && defined __OPTIMIZE__
#ifdef __USE_EXTERN_INLINES
/* Like `strtol' but convert to `intmax_t'. */
# ifndef __strtol_internal_defined
@ -269,7 +269,7 @@ wcstoumax (__const wchar_t *__restrict nptr, wchar_t **__restrict endptr,
{
return __wcstoul_internal (nptr, endptr, base, 0);
}
#endif /* GCC and Optimization. */
#endif /* Use extern inlines. */
__END_DECLS

View File

@ -234,7 +234,7 @@ extern size_t mbrlen __P ((__const char *__restrict __s, size_t __n,
mbstate_t *__restrict __ps));
#if defined __OPTIMIZE__ && !defined __OPTIMIZE_SIZE__ \
&& (__GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 7))
&& defined __USE_EXTERN_INLINES
/* Define inline function as optimization. */
extern __inline size_t mbrlen (__const char *__restrict __s, size_t __n,
mbstate_t *__restrict __ps)