diff options
32 files changed, 243 insertions, 50 deletions
@@ -1,3 +1,53 @@ +2000-12-18 Andreas Jaeger <aj@suse.de> + + * test-skeleton.c: Use temp_name_list instead of temp_name_list to + avoid collision with name_list from inet/netgroup.h. + + * nss/nss_files/files-network.c (NEED_H_ERRNO): Define. + + * include/grp.h (DECLARE_NSS_PROTOTYPES): New. + * include/pwd.h (DECLARE_NSS_PROTOTYPES): New. + * include/netdb.h (DECLARE_NSS_PROTOTYPES): New. + * include/shadow.h (DECLARE_NSS_PROTOTYPES): New. + + * hesiod/nss_hesiod/hesiod-proto.c (_nss_hesiod_setprotoent): Fix + declaration to match prototype. + * hesiod/nss_hesiod/hesiod-pwd.c (_nss_hesiod_setpwent): Likewise. + * hesiod/nss_hesiod/hesiod-grp.c (_nss_hesiod_setgrent): Likewise. + * hesiod/nss_hesiod/hesiod-service.c (_nss_hesiod_setservent): + Likewise. + * nis/nss_nis/nis-grp.c (_nss_nis_setgrent): Likewise. + * nis/nss_nis/nis-pwd.c (_nss_nis_setpwent): Likewise. + * nis/nss_nis/nis-proto.c (_nss_nis_setprotoent): Likewise. + * nis/nss_nis/nis-service.c (_nss_nis_setservent): Likewise. + (_nss_nis_getservbyport_r): Likewise. + * nis/nss_nis/nis-hosts.c (_nss_nis_sethostent): Likewise. + * nis/nss_nis/nis-spwd.c (_nss_nis_setspent): Likewise. + * nis/nss_nis/nis-network.c (_nss_nis_getnetent_r): Likewise. + (_nss_nis_setnetent): Likewise + * nis/nss_nis/nis-netgrp.c (_nss_nis_setnetgrent): Likewise. + (_nss_nis_endnetgrent): Likewise. + * nis/nss_nisplus/nisplus-netgrp.c (_nss_nisplus_endnetgrent): + Likewise. + (_nss_nisplus_setnetgrent): Likewise. + * nis/nss_nisplus/nisplus-spwd.c (_nss_nisplus_setspent): Likewise. + * nis/nss_nisplus/nisplus-pwd.c (_nss_nisplus_setpwent): Likewise. + * nis/nss_nisplus/nisplus-grp.c (_nss_nisplus_setgrent): Likewise. + * nis/nss_nisplus/nisplus-network.c (_nss_nisplus_setnetent): + Likewise. + * nis/nss_nisplus/nisplus-hosts.c (_nss_nisplus_sethostent): + Likewise. + * nis/nss_nisplus/nisplus-service.c (_nss_nisplus_setservent): + Likewise. + * nis/nss_nisplus/nisplus-proto.c (_nss_nisplus_setprotoent): + Likewise. + * nis/nss_compat/compat-spwd.c (_nss_compat_setspent): Likewise. + * nis/nss_compat/compat-pwd.c (_nss_compat_setpwent): Likewise. + * nis/nss_compat/compat-grp.c (_nss_compat_setgrent): Likewise. + * resolv/nss_dns/dns-host.c (_nss_dns_gethostbyaddr_r): Likewise. + * resolv/nss_dns/dns-network.c (_nss_dns_getnetbyname_r): Likewise. + (_nss_dns_getnetbyaddr_r): Likewise. + 2000-12-17 Andreas Jaeger <aj@suse.de> * sysdeps/generic/k_sinl.c (__kernel_sinl): Fix functions diff --git a/hesiod/nss_hesiod/hesiod-grp.c b/hesiod/nss_hesiod/hesiod-grp.c index cb7c0870e2..b3c5888bee 100644 --- a/hesiod/nss_hesiod/hesiod-grp.c +++ b/hesiod/nss_hesiod/hesiod-grp.c @@ -36,7 +36,7 @@ #include <nss/nss_files/files-parse.c> enum nss_status -_nss_hesiod_setgrent (void) +_nss_hesiod_setgrent (int stayopen) { return NSS_STATUS_SUCCESS; } diff --git a/hesiod/nss_hesiod/hesiod-proto.c b/hesiod/nss_hesiod/hesiod-proto.c index d77e8d9134..5910ddde63 100644 --- a/hesiod/nss_hesiod/hesiod-proto.c +++ b/hesiod/nss_hesiod/hesiod-proto.c @@ -46,7 +46,7 @@ LINE_PARSER ) enum nss_status -_nss_hesiod_setprotoent (void) +_nss_hesiod_setprotoent (int stayopen) { return NSS_STATUS_SUCCESS; } diff --git a/hesiod/nss_hesiod/hesiod-pwd.c b/hesiod/nss_hesiod/hesiod-pwd.c index b7d2dd5c09..1a962b982c 100644 --- a/hesiod/nss_hesiod/hesiod-pwd.c +++ b/hesiod/nss_hesiod/hesiod-pwd.c @@ -34,7 +34,7 @@ #include <nss/nss_files/files-parse.c> enum nss_status -_nss_hesiod_setpwent (void) +_nss_hesiod_setpwent (int stayopen) { return NSS_STATUS_SUCCESS; } diff --git a/hesiod/nss_hesiod/hesiod-service.c b/hesiod/nss_hesiod/hesiod-service.c index 8faea3aa5d..77f1be6496 100644 --- a/hesiod/nss_hesiod/hesiod-service.c +++ b/hesiod/nss_hesiod/hesiod-service.c @@ -47,7 +47,7 @@ LINE_PARSER ) enum nss_status -_nss_hesiod_setservent (void) +_nss_hesiod_setservent (int stayopen) { return NSS_STATUS_SUCCESS; } diff --git a/include/grp.h b/include/grp.h index 824b1648c2..bb5a0408b5 100644 --- a/include/grp.h +++ b/include/grp.h @@ -17,4 +17,29 @@ extern int __getgrgid_r (__gid_t __gid, struct group *__resultbuf, extern int __getgrnam_r (__const char *__name, struct group *__resultbuf, char *__buffer, size_t __buflen, struct group **__result); + +#define DECLARE_NSS_PROTOTYPES(service) \ +extern enum nss_status _nss_ ## service ## _setgrent (int); \ +extern enum nss_status _nss_ ## service ## _endgrent (void); \ +extern enum nss_status _nss_ ## service ## _getgrgid_r \ + (gid_t gid, struct group *grp, char *buffer, \ + size_t buflen, int *errnop); \ +extern enum nss_status _nss_ ## service ## _getgrnam_r \ + (const char *name, struct group *grp, \ + char *buffer, size_t buflen, int *errnop); \ +extern enum nss_status _nss_ ## service ##_getgrent_r \ + (struct group *result, char *buffer, size_t buflen, \ + int *errnop); \ +extern enum nss_status _nss_ ## service ##_initgroups_dyn \ + (const char *user, gid_t group, long int *start, \ + long int *size, gid_t **groupsp, long int limit, \ + int *errnop); + +DECLARE_NSS_PROTOTYPES (compat) +DECLARE_NSS_PROTOTYPES (files) +DECLARE_NSS_PROTOTYPES (hesiod) +DECLARE_NSS_PROTOTYPES (nis) +DECLARE_NSS_PROTOTYPES (nisplus) + +#undef DECLARE_NSS_PROTOTYPES #endif diff --git a/include/netdb.h b/include/netdb.h index 6a60d4ec8c..8c861d48cf 100644 --- a/include/netdb.h +++ b/include/netdb.h @@ -143,10 +143,81 @@ extern int ruserpass (const char *host, const char **aname, /* The following declarations and definitions have been removed from the public header since we don't want people to use them. */ -#define AI_V4MAPPED 0x0008 /* IPv4-mapped addresses are acceptable. */ -#define AI_ALL 0x0010 /* Return both IPv4 and IPv6 addresses. */ -#define AI_ADDRCONFIG 0x0020 /* Use configuration of this host to choose - returned address type. */ +#define AI_V4MAPPED 0x0008 /* IPv4-mapped addresses are acceptable. */ +#define AI_ALL 0x0010 /* Return both IPv4 and IPv6 addresses. */ +#define AI_ADDRCONFIG 0x0020 /* Use configuration of this host to choose + returned address type. */ #define AI_DEFAULT (AI_V4MAPPED | AI_ADDRCONFIG) +#include <inet/netgroup.h> + +#define DECLARE_NSS_PROTOTYPES(service) \ +extern enum nss_status _nss_ ## service ## _setprotoent (int); \ +extern enum nss_status _nss_ ## service ## _endprotoent (void); \ +extern enum nss_status _nss_ ## service ## _getprotoent_r \ + (struct protoent *proto, char *buffer, size_t buflen, \ + int *errnop); \ +extern enum nss_status _nss_ ## service ## _getprotobyname_r \ + (const char *name, struct protoent *proto, \ + char *buffer, size_t buflen, int *errnop); \ +extern enum nss_status _nss_ ## service ## _getprotobynumber_r \ + (int number, struct protoent *proto, \ + char *buffer, size_t buflen, int *errnop); \ +extern enum nss_status _nss_ ## service ## _sethostent (int); \ +extern enum nss_status _nss_ ## service ## _endhostent (void); \ +extern enum nss_status _nss_ ## service ## _gethostent_r \ + (struct hostent *host, char *buffer, size_t buflen, \ + int *errnop, int *h_errnop); \ +extern enum nss_status _nss_ ## service ## _gethostbyname2_r \ + (const char *name, int af, struct hostent *host, \ + char *buffer, size_t buflen, int *errnop, \ + int *h_errnop); \ +extern enum nss_status _nss_ ## service ## _gethostbyname_r \ + (const char *name, struct hostent *host, char *buffer, \ + size_t buflen, int *errnop, int *h_errnop); \ +extern enum nss_status _nss_ ## service ## _gethostbyaddr_r \ + (const void *addr, socklen_t addrlen, int af, \ + struct hostent *host, char *buffer, size_t buflen, \ + int *errnop, int *h_errnop); \ +extern enum nss_status _nss_ ## service ## _setservent (int); \ +extern enum nss_status _nss_ ## service ## _endservent (void); \ +extern enum nss_status _nss_ ## service ## _getservent_r \ + (struct servent *serv, char *buffer, size_t buflen, \ + int *errnop); \ +extern enum nss_status _nss_ ## service ## _getservbyname_r \ + (const char *name, const char *protocol, \ + struct servent *serv, char *buffer, size_t buflen, \ + int *errnop); \ +extern enum nss_status _nss_ ## service ## _getservbyport_r \ + (int port, const char *protocol, struct servent *serv, \ + char *buffer, size_t buflen, int *errnop); \ +extern enum nss_status _nss_ ## service ## _setnetgrent \ + (const char *group, struct __netgrent *result); \ +extern enum nss_status _nss_ ## service ## _endnetgrent \ + (struct __netgrent *result); \ +extern enum nss_status _nss_ ## service ##_getnetgrent_r \ + (struct __netgrent *result, char *buffer, \ + size_t buflen, int *errnop); \ +extern enum nss_status _nss_## service ##_setnetent (int stayopen); \ +extern enum nss_status _nss_ ## service ## _endnetent (void); \ +extern enum nss_status _nss_## service ##_getnetent_r \ + (struct netent *net, char *buffer, size_t buflen, \ + int *errnop, int *herrnop); \ +extern enum nss_status _nss_## service ##_getnetbyname_r \ + (const char *name, struct netent *net, char *buffer, \ + size_t buflen, int *errnop, int *herrnop); \ +extern enum nss_status _nss_## service ##_getnetbyaddr_r \ + (uint32_t addr, int type, struct netent *net, \ + char *buffer, size_t buflen, int *errnop, \ + int *herrnop); + +DECLARE_NSS_PROTOTYPES (compat) +DECLARE_NSS_PROTOTYPES (dns) +DECLARE_NSS_PROTOTYPES (files) +DECLARE_NSS_PROTOTYPES (hesiod) +DECLARE_NSS_PROTOTYPES (nis) +DECLARE_NSS_PROTOTYPES (nisplus) + +#undef DECLARE_NSS_PROTOTYPES + #endif /* !_NETDB_H */ diff --git a/include/pwd.h b/include/pwd.h index f91622840a..25656ef281 100644 --- a/include/pwd.h +++ b/include/pwd.h @@ -13,4 +13,27 @@ extern int __getpwnam_r (__const char *__name, struct passwd *__resultbuf, extern int __fgetpwent_r (FILE * __stream, struct passwd *__resultbuf, char *__buffer, size_t __buflen, struct passwd **__result); + +#include <nss/nss.h> +#define DECLARE_NSS_PROTOTYPES(service) \ +extern enum nss_status _nss_ ## service ## _setpwent (int); \ +extern enum nss_status _nss_ ## service ## _endpwent (void); \ +extern enum nss_status _nss_ ## service ## _getpwnam_r \ + (const char *name, struct passwd *pwd, \ + char *buffer, size_t buflen, int *errnop); \ +extern enum nss_status _nss_ ## service ## _getpwuid_r \ + (uid_t uid, struct passwd *pwd, \ + char *buffer, size_t buflen, int *errnop); \ +extern enum nss_status _nss_ ## service ##_getpwent_r \ + (struct passwd *result, char *buffer, \ + size_t buflen, int *errnop); + +DECLARE_NSS_PROTOTYPES (compat) +DECLARE_NSS_PROTOTYPES (files) +DECLARE_NSS_PROTOTYPES (hesiod) +DECLARE_NSS_PROTOTYPES (nis) +DECLARE_NSS_PROTOTYPES (nisplus) + +#undef DECLARE_NSS_PROTOTYPES + #endif diff --git a/include/shadow.h b/include/shadow.h index b7d49f7cfc..5bbaac3543 100644 --- a/include/shadow.h +++ b/include/shadow.h @@ -15,4 +15,24 @@ extern int __fgetspent_r (FILE *__stream, struct spwd *__result_buf, struct spwd **__result); extern int __lckpwdf (void); extern int __ulckpwdf (void); + +#define DECLARE_NSS_PROTOTYPES(service) \ +extern enum nss_status _nss_ ## service ## _setspent (int); \ +extern enum nss_status _nss_ ## service ## _endspent (void); \ +extern enum nss_status _nss_ ## service ## _getspent_r \ + (struct spwd *pwd, char *buffer, size_t buflen, \ + int *errnop); \ +extern enum nss_status _nss_ ## service ## _getspnam_r \ + (const char *name, struct spwd *pwd, \ + char *buffer, size_t buflen, int *errnop); + +DECLARE_NSS_PROTOTYPES (compat) +DECLARE_NSS_PROTOTYPES (files) +DECLARE_NSS_PROTOTYPES (hesiod) +DECLARE_NSS_PROTOTYPES (nis) +DECLARE_NSS_PROTOTYPES (nisplus) + +#undef DECLARE_NSS_PROTOTYPES + + #endif diff --git a/nis/nss_compat/compat-grp.c b/nis/nss_compat/compat-grp.c index 2de46088df..d2fec68cc3 100644 --- a/nis/nss_compat/compat-grp.c +++ b/nis/nss_compat/compat-grp.c @@ -169,7 +169,7 @@ internal_setgrent (ent_t *ent) enum nss_status -_nss_compat_setgrent (void) +_nss_compat_setgrent (int stayopen) { enum nss_status result; @@ -543,7 +543,7 @@ getgrent_next_file (struct group *result, ent_t *ent, { enum nss_status status; - /* Store the group in the blacklist for the "+" at the end of + /* Store the group in the blacklist for the "+" at the end of /etc/group */ blacklist_store_name (&result->gr_name[1], ent); status = getgrnam_plusgroup (&result->gr_name[1], result, buffer, diff --git a/nis/nss_compat/compat-pwd.c b/nis/nss_compat/compat-pwd.c index cb2f19482d..8540f5563a 100644 --- a/nis/nss_compat/compat-pwd.c +++ b/nis/nss_compat/compat-pwd.c @@ -327,7 +327,7 @@ internal_setpwent (ent_t *ent) enum nss_status -_nss_compat_setpwent (void) +_nss_compat_setpwent (int stayopen) { enum nss_status result; diff --git a/nis/nss_compat/compat-spwd.c b/nis/nss_compat/compat-spwd.c index f254fadf5c..e184d79e6d 100644 --- a/nis/nss_compat/compat-spwd.c +++ b/nis/nss_compat/compat-spwd.c @@ -227,7 +227,7 @@ internal_setspent (ent_t *ent) enum nss_status -_nss_compat_setspent (void) +_nss_compat_setspent (int stayopen) { enum nss_status result; @@ -484,7 +484,7 @@ getspent_next_nisplus_netgr (const char *name, struct spwd *result, if (parse_res) { - /* Store the User in the blacklist for the "+" at the end of + /* Store the User in the blacklist for the "+" at the end of /etc/passwd */ blacklist_store_name (result->sp_namp, ent); copy_spwd_changes (result, &ent->pwd, p2, p2len); @@ -844,7 +844,7 @@ getspent_next_file (struct spwd *result, ent_t *ent, { /* XXX Do not use fixed length buffers. */ char buf2[1024]; - char *user, *host, *domain; + char *user, *host, *domain; struct __netgrent netgrdata; bzero (&netgrdata, sizeof (struct __netgrent)); diff --git a/nis/nss_nis/nis-grp.c b/nis/nss_nis/nis-grp.c index 62e6b475b7..72cf1b2747 100644 --- a/nis/nss_nis/nis-grp.c +++ b/nis/nss_nis/nis-grp.c @@ -42,7 +42,7 @@ static char *oldkey = NULL; static int oldkeylen = 0; enum nss_status -_nss_nis_setgrent (void) +_nss_nis_setgrent (int stayopen) { __libc_lock_lock (lock); diff --git a/nis/nss_nis/nis-hosts.c b/nis/nss_nis/nis-hosts.c index 58136f2b26..303cd245c3 100644 --- a/nis/nss_nis/nis-hosts.c +++ b/nis/nss_nis/nis-hosts.c @@ -99,7 +99,7 @@ static char *oldkey = NULL; static int oldkeylen = 0; enum nss_status -_nss_nis_sethostent (void) +_nss_nis_sethostent (int stayopen) { __libc_lock_lock (lock); diff --git a/nis/nss_nis/nis-netgrp.c b/nis/nss_nis/nis-netgrp.c index 71f7b6e4a6..e39c282b8b 100644 --- a/nis/nss_nis/nis-netgrp.c +++ b/nis/nss_nis/nis-netgrp.c @@ -43,7 +43,7 @@ _nss_netgroup_parseline (char **cursor, struct __netgrent *result, char *buffer, size_t buflen, int *errnop); enum nss_status -_nss_nis_setnetgrent (char *group) +_nss_nis_setnetgrent (const char *group, struct __netgrent *dummy) { char *domain; char *result; @@ -92,7 +92,7 @@ _nss_nis_setnetgrent (char *group) enum nss_status -_nss_nis_endnetgrent (void) +_nss_nis_endnetgrent (struct __netgrent *dummy) { __libc_lock_lock (lock); diff --git a/nis/nss_nis/nis-network.c b/nis/nss_nis/nis-network.c index cae0b773b8..ca02f01902 100644 --- a/nis/nss_nis/nis-network.c +++ b/nis/nss_nis/nis-network.c @@ -43,7 +43,7 @@ static char *oldkey = NULL; static int oldkeylen = 0; enum nss_status -_nss_nis_setnetent (void) +_nss_nis_setnetent (int stayopen) { __libc_lock_lock (lock); diff --git a/nis/nss_nis/nis-proto.c b/nis/nss_nis/nis-proto.c index 9b457ffe8a..33286df53a 100644 --- a/nis/nss_nis/nis-proto.c +++ b/nis/nss_nis/nis-proto.c @@ -106,7 +106,7 @@ internal_nis_setprotoent (void) } enum nss_status -_nss_nis_setprotoent (void) +_nss_nis_setprotoent (int stayopen) { enum nss_status status; diff --git a/nis/nss_nis/nis-pwd.c b/nis/nss_nis/nis-pwd.c index 0a337bb9e7..b818f08f05 100644 --- a/nis/nss_nis/nis-pwd.c +++ b/nis/nss_nis/nis-pwd.c @@ -42,7 +42,7 @@ static char *oldkey = NULL; static int oldkeylen = 0; enum nss_status -_nss_nis_setpwent (void) +_nss_nis_setpwent (int stayopen) { __libc_lock_lock (lock); diff --git a/nis/nss_nis/nis-service.c b/nis/nss_nis/nis-service.c index 12ae1c6151..ea1e06eab3 100644 --- a/nis/nss_nis/nis-service.c +++ b/nis/nss_nis/nis-service.c @@ -115,7 +115,7 @@ internal_nis_setservent (intern_t *intern) return status; } enum nss_status -_nss_nis_setservent (void) +_nss_nis_setservent (int stayopen) { enum nss_status status; @@ -207,7 +207,7 @@ _nss_nis_getservent_r (struct servent *serv, char *buffer, size_t buflen, } enum nss_status -_nss_nis_getservbyname_r (const char *name, char *protocol, +_nss_nis_getservbyname_r (const char *name, const char *protocol, struct servent *serv, char *buffer, size_t buflen, int *errnop) { @@ -312,8 +312,9 @@ _nss_nis_getservbyname_r (const char *name, char *protocol, } enum nss_status -_nss_nis_getservbyport_r (int port, char *protocol, struct servent *serv, - char *buffer, size_t buflen, int *errnop) +_nss_nis_getservbyport_r (int port, const char *protocol, + struct servent *serv, char *buffer, + size_t buflen, int *errnop) { intern_t data = { NULL, NULL }; enum nss_status status; diff --git a/nis/nss_nis/nis-spwd.c b/nis/nss_nis/nis-spwd.c index 37ea2f9dbf..d91f624db6 100644 --- a/nis/nss_nis/nis-spwd.c +++ b/nis/nss_nis/nis-spwd.c @@ -42,7 +42,7 @@ static char *oldkey = NULL; static int oldkeylen = 0; enum nss_status -_nss_nis_setspent (void) +_nss_nis_setspent (int stayopen) { __libc_lock_lock (lock); diff --git a/nis/nss_nisplus/nisplus-grp.c b/nis/nss_nisplus/nisplus-grp.c index d014c8b119..662d205acd 100644 --- a/nis/nss_nisplus/nisplus-grp.c +++ b/nis/nss_nisplus/nisplus-grp.c @@ -82,7 +82,7 @@ internal_setgrent (void) } enum nss_status -_nss_nisplus_setgrent (void) +_nss_nisplus_setgrent (int stayopen) { enum nss_status status; diff --git a/nis/nss_nisplus/nisplus-hosts.c b/nis/nss_nisplus/nisplus-hosts.c index 8f723f3d52..b2cb7a0f65 100644 --- a/nis/nss_nisplus/nisplus-hosts.c +++ b/nis/nss_nisplus/nisplus-hosts.c @@ -197,7 +197,7 @@ _nss_create_tablename (int *errnop) } enum nss_status -_nss_nisplus_sethostent (void) +_nss_nisplus_sethostent (int stayopen) { enum nss_status status = NSS_STATUS_SUCCESS; int err; diff --git a/nis/nss_nisplus/nisplus-netgrp.c b/nis/nss_nisplus/nisplus-netgrp.c index 5d5b727292..1247963f29 100644 --- a/nis/nss_nisplus/nisplus-netgrp.c +++ b/nis/nss_nisplus/nisplus-netgrp.c @@ -129,8 +129,7 @@ _nss_nisplus_parse_netgroup (struct __netgrent *result, char *buffer, } enum nss_status -_nss_nisplus_setnetgrent (char *group) - +_nss_nisplus_setnetgrent (const char *group, struct __netgrent *dummy) { enum nss_status status; char buf[strlen (group) + 30]; @@ -169,7 +168,7 @@ _nss_nisplus_setnetgrent (char *group) } enum nss_status -_nss_nisplus_endnetgrent (void) +_nss_nisplus_endnetgrent (struct __netgrent *dummy) { __libc_lock_lock (lock); diff --git a/nis/nss_nisplus/nisplus-network.c b/nis/nss_nisplus/nisplus-network.c index 4b2339baa2..adfb3c18e5 100644 --- a/nis/nss_nisplus/nisplus-network.c +++ b/nis/nss_nisplus/nisplus-network.c @@ -161,7 +161,7 @@ _nss_create_tablename (int *errnop) } enum nss_status -_nss_nisplus_setnetent (void) +_nss_nisplus_setnetent (int stayopen) { enum nss_status status = NSS_STATUS_SUCCESS; int err; diff --git a/nis/nss_nisplus/nisplus-proto.c b/nis/nss_nisplus/nisplus-proto.c index d121b2f83c..984530dcdd 100644 --- a/nis/nss_nisplus/nisplus-proto.c +++ b/nis/nss_nisplus/nisplus-proto.c @@ -158,7 +158,7 @@ _nss_create_tablename (int *errnop) } enum nss_status -_nss_nisplus_setprotoent (void) +_nss_nisplus_setprotoent (int stayopen) { enum nss_status status = NSS_STATUS_SUCCESS; diff --git a/nis/nss_nisplus/nisplus-pwd.c b/nis/nss_nisplus/nisplus-pwd.c index 194b97ff65..3ead9cda0d 100644 --- a/nis/nss_nisplus/nisplus-pwd.c +++ b/nis/nss_nisplus/nisplus-pwd.c @@ -56,7 +56,7 @@ _nss_create_tablename (int *errnop) enum nss_status -_nss_nisplus_setpwent (void) +_nss_nisplus_setpwent (int stayopen) { enum nss_status status = NSS_STATUS_SUCCESS; int err; diff --git a/nis/nss_nisplus/nisplus-service.c b/nis/nss_nisplus/nisplus-service.c index 36bf25a22a..f3815344f6 100644 --- a/nis/nss_nisplus/nisplus-service.c +++ b/nis/nss_nisplus/nisplus-service.c @@ -165,7 +165,7 @@ _nss_create_tablename (int *errnop) enum nss_status -_nss_nisplus_setservent (void) +_nss_nisplus_setservent (int stayopen) { enum nss_status status = NSS_STATUS_SUCCESS; int err; diff --git a/nis/nss_nisplus/nisplus-spwd.c b/nis/nss_nisplus/nisplus-spwd.c index 094f56d255..f8a8a5a3c2 100644 --- a/nis/nss_nisplus/nisplus-spwd.c +++ b/nis/nss_nisplus/nisplus-spwd.c @@ -55,7 +55,7 @@ _nss_create_tablename (int *errnop) } enum nss_status -_nss_nisplus_setspent (void) +_nss_nisplus_setspent (int stayopen) { enum nss_status status = NSS_STATUS_SUCCESS; int err; diff --git a/nss/nss_files/files-network.c b/nss/nss_files/files-network.c index 3b1fec9724..5f149cf4b9 100644 --- a/nss/nss_files/files-network.c +++ b/nss/nss_files/files-network.c @@ -23,6 +23,7 @@ #define ENTNAME netent #define DATABASE "networks" +#define NEED_H_ERRNO struct netent_data {}; diff --git a/resolv/nss_dns/dns-host.c b/resolv/nss_dns/dns-host.c index 5ac87c5a5e..9d37452799 100644 --- a/resolv/nss_dns/dns-host.c +++ b/resolv/nss_dns/dns-host.c @@ -215,7 +215,7 @@ _nss_dns_gethostbyname_r (const char *name, struct hostent *result, enum nss_status -_nss_dns_gethostbyaddr_r (const char *addr, size_t len, int af, +_nss_dns_gethostbyaddr_r (const void *addr, socklen_t len, int af, struct hostent *result, char *buffer, size_t buflen, int *errnop, int *h_errnop) { diff --git a/resolv/nss_dns/dns-network.c b/resolv/nss_dns/dns-network.c index b194852197..623ebe47c2 100644 --- a/resolv/nss_dns/dns-network.c +++ b/resolv/nss_dns/dns-network.c @@ -106,7 +106,8 @@ static enum nss_status getanswer_r (const querybuf *answer, int anslen, enum nss_status _nss_dns_getnetbyname_r (const char *name, struct netent *result, - char *buffer, size_t buflen, int *errnop) + char *buffer, size_t buflen, int *errnop, + int *herrnop) { /* Return entry for network with NAME. */ querybuf net_buffer; @@ -134,8 +135,9 @@ _nss_dns_getnetbyname_r (const char *name, struct netent *result, enum nss_status -_nss_dns_getnetbyaddr_r (long net, int type, struct netent *result, - char *buffer, size_t buflen, int *errnop) +_nss_dns_getnetbyaddr_r (uint32_t net, int type, struct netent *result, + char *buffer, size_t buflen, int *errnop, + int *herrnop) { /* Return entry for network with NAME. */ enum nss_status status; @@ -151,7 +153,7 @@ _nss_dns_getnetbyaddr_r (long net, int type, struct netent *result, if ((_res.options & RES_INIT) == 0 && __res_ninit (&_res) == -1) return NSS_STATUS_UNAVAIL; - + net2 = (u_int32_t) net; for (cnt = 4; net2 != 0; net2 >>= 8) net_bytes[--cnt] = net2 & 0xff; diff --git a/test-skeleton.c b/test-skeleton.c index 2069bfca28..9126be0dbe 100644 --- a/test-skeleton.c +++ b/test-skeleton.c @@ -55,24 +55,25 @@ static int pid; static const char *test_dir; /* List of temporary files. */ -struct name_list +struct temp_name_list { struct qelem q; const char *name; -} *name_list; +} *temp_name_list; /* Add temporary files in list. */ static void add_temp_file (const char *name) { - struct name_list *newp = (struct name_list *) calloc (sizeof (*newp), 1); + struct temp_name_list *newp + = (struct temp_name_list *) calloc (sizeof (*newp), 1); if (newp != NULL) { newp->name = name; - if (name_list == NULL) - name_list = (struct name_list *) &newp->q; + if (temp_name_list == NULL) + temp_name_list = (struct temp_name_list *) &newp->q; else - insque (newp, name_list); + insque (newp, temp_name_list); } } @@ -80,10 +81,10 @@ add_temp_file (const char *name) static void delete_temp_files (void) { - while (name_list != NULL) + while (temp_name_list != NULL) { - remove (name_list->name); - name_list = (struct name_list *) name_list->q.q_forw; + remove (temp_name_list->name); + temp_name_list = (struct temp_name_list *) temp_name_list->q.q_forw; } } |