diff options
author | Ulrich Drepper <drepper@redhat.com> | 1997-08-02 21:00:51 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 1997-08-02 21:00:51 +0000 |
commit | 8f2ece695d8822e9ecc63ecd157e90bf17a6fe65 (patch) | |
tree | 8391ab64ce8c9c6e45d137905f75f1d17c9ed987 /nis | |
parent | 3996f34b46043ed8ea8fdc6f44377d969d64396b (diff) | |
download | glibc-8f2ece695d8822e9ecc63ecd157e90bf17a6fe65.tar glibc-8f2ece695d8822e9ecc63ecd157e90bf17a6fe65.tar.gz glibc-8f2ece695d8822e9ecc63ecd157e90bf17a6fe65.tar.bz2 glibc-8f2ece695d8822e9ecc63ecd157e90bf17a6fe65.zip |
Update.cvs/libc-ud-970802
1997-08-02 21:27 Ulrich Drepper <drepper@cygnus.com>
* inet/Makefile (headers): Rename netinet/inbits.h to bits/in.h.
* inet/netinet/in.h: Include bits/in.h instead of netinet/inbits.h.
* sysdeps/generic/netinet/inbits.h: Move to...
* sysdeps/generic/bits/in.h: ... here.
* sysdeps/unix/sysv/linux/bits/inbits.h: Move to ...
* sysdeps/unix/sysv/linux/bits/in.h: ... here.
* nis/Makefile (headers): Add bits/nislib.h.
* nis/rpcsvc/nislib.h: Moved to ....
* nis/bits/nislib.h: ... here.
* nis/nss_compat/compat-grp.c: Don't include <rpcsvc/nislib.h>.
* nis/nss_compat/compat-pwd.c: Likewise.
* nis/nss_compat/compat-spwd.c: Likewise.
* nis/nss_nisplus/nisplus-alias.c: Likewise.
* nis/nss_nisplus/nisplus-ethers.c: Likewise.
* nis/nss_nisplus/nisplus-grp.c: Likewise.
* nis/nss_nisplus/nisplus-hosts.c: Likewise.
* nis/nss_nisplus/nisplus-netgrp.c: Likewise.
* nis/nss_nisplus/nisplus-ntework.c: Likewise.
* nis/nss_nisplus/nisplus-proto.c: Likewise.
* nis/nss_nisplus/nisplus-publickey.c: Likewise.
* nis/nss_nisplus/nisplus-pwd.c: Likewise.
* nis/nss_nisplus/nisplus-rpc.c: Likewise.
* nis/nss_nisplus/nisplus-service.c: Likewise.
* nis/nss_nisplus/nisplus-spwd.c: Likewise.
* nis/rpcsvc/nis.x: Include bits/nislib.h, not rpcsvc/nislib.h.
* nis/rpcsvc/nis.h: Likewise.
* inet/getnameinfo.c (nrl_domainname): Change return type to const
char *.
(getnameinfo): Change type of local variable c to const char *.
* inet/inet_ntoa.c: Rewrite to use __libc_once for initialization.
* stdlib/fmtmsg.c: Likewise.
* intl/bindtextdom.c: Update from latest gettext.
* intl/dcgettext.c: Likewise.
* intl/finddomain.c: Likewise.
* intl/l10nflist.c: Likewise.
* intl/localealias.c: Likewise.
* intl/textdomain.c: Likewise.
* login/getutid_r.c: Remove parameter to setutent call.
* login/getutline_r.c: Likewise.
* posix/wordexp.c: Complete rewrite. Not fully implemented yet,
though. Patch by Tim Waugh <tim@cyberelk.demon.co.uk>.
* stdio-common/printf_fp.c: Remove relative include paths.
* stdio-common/printf_fphex.c: Likewise.
* sysdeps/generic/crypt.h: Cleanup. Don't define non standard
elements unless __USE_GNU.
* sysdeps/generic/vlimit.c: Pretty print.
* sysdeps/generic/vtimes.c: Likewise.
* sysdeps/i386/elf/bsd-_setjmp.S: New file. Empty dummy file.
* sysdeps/i386/elf/bsd-setjmp.S: New file. Empty dummy file.
* sysdeps/i386/elf/setjmp.S: New file. Define __setjmp and also
weak definitions of setjmp and _setjmp.
* sysdeps/i386/fpu/bits/mathinline.h: More patches by John Bowman.
* sysdeps/stub/if_index.h: Set errno in all functions and add
stub warnings.
* sysdeps/stub/libc-lock.h: Add __libc_once.
1997-08-02 01:57 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/unix/sysv/linux/ptrace.c: Don't set errno in error
case since the __syscall_ptrace call already did this.
Reported by Philip Gladstone <philip@talon.raptor.com>.
1997-07-29 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* sysdeps/unix/sysv/linux/sys/fsuid.h: Change include
<gnu/types.h> to <sys/types.h>.
1997-08-01 23:18 Ulrich Drepper <drepper@cygnus.com>
* csu/defs.awk: Fix regexp for end and align.
Patch by Klaus Espenlaub <kespenla@hydra.informatik.uni-ulm.de>.
* locale/programs/localedef.c (print_escaped): New function.
(show_info): Use print_escaped if strings can control unprintable
characters.
Patch by Jochen Hein <jochen.hein@delphi.central.de>.
1997-08-01 18:45 Thorsten Kukuk <kukuk@vt.uni-paderborn.de>
* nis/nss_nisplus/nisplus-alias.c: Fix NULL pointer problems
* nis/nss_nisplus/nisplus-grp.c: Likewise.
1997-07-31 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* elf/dl-profile.c (_dl_start_profile): Use _dl_sysdep_error
instead of fprintf.
1997-07-31 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* manual/socket.texi (Host Address Functions): Fix arguments of
@deftypefun.
1997-07-31 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* elf/dl-runtime.c: Avoid warning about profile_fixup being
unused.
* sysdeps/m68k/dl-machine.h: Add support for shared library
profiling.
1997-07-31 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* md5-crypt/Makefile (extra-objs): Add onlymd5-crypt.o for
dependencies.
1997-07-31 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* Make-dist (subdirs): Distribute both aout and elf.
1997-07-31 23:04 Mark Kettenis <kettenis@phys.uva.nl>
* login/utmp-private.h: Remove reset argument from backend
setutent.
* login/getutent_r.c (__setutent): Allways call the setutent
function in the daemon backend.
(setutent_unknown): Function removed.
(getutent_unknown, pututline_unknown): Call __setutent instead of
setutent_unknown.
* login/utmp_file.c (setutent_file): Removed reset argument. All
callers changed.
* login/utmp_daemon.c (setutent_daemon): Removed reset
argument. All callers changed. Try to open connection even if a
previous connection failed, but first check if the sockets exist
in the filesystem.
* login/utmp_daemon.c (pututline_daemon): Try to open connection
before reporting failure.
* login/programs/database.c (open_database): Create compatibility
file if it does not already exist. Supply mode argument in open
calls to guarantee that created files have the proper protection.
* login/programs/utmpd.c (main): Remove files created by a
previous `bind' before creating sockets.
Suggested by a sun <asum@zoology.washington.edu>.
1997-07-29 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* math/libm-test.c: Remove unneeded function check_int_exec.
* BUGS: Correct typos.
* gmon/gmon.c: Add alias for monstartup, declare _strerror_internal.
1997-07-30 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* manual/socket.texi (Host Address Functions): Reformat inet_ntop
entry to confirm with expected behaviour of some scripts.
* libc.map: Add functions/variables in global namespace,
remove wildcards.
1997-07-29 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* resolv/libresolv.map: Add variables and routines used by named,
nslookup and other bind utils.
* libc.map: Likewise.
1997-07-31 00:35 Philip Blundell <Philip.Blundell@pobox.com>
* sysdeps/unix/sysv/linux/if_index.c: Rewrite to avoid using /proc
filesystem.
* inet/test_ifindex.c: New file.
* inet/Makefile (tests): Add test_ifindex.
1997-08-01 04:25 Ulrich Drepper <drepper@cygnus.com>
* nis/nss_nisplus/nisplus-parser.c: Fix another bug in the parser.
Patch by Thorsten Kukuk <kukuk@vt.uni-paderborn.de>.
* manual/errno.texi: Fix typo.
Reported by Erik Talvola <etalvo@sapient.com>.
(write_hist): Remove dependency on 32 bit int.
Diffstat (limited to 'nis')
-rw-r--r-- | nis/Makefile | 2 | ||||
-rw-r--r-- | nis/nislib/nislib.h (renamed from nis/rpcsvc/nislib.h) | 0 | ||||
-rw-r--r-- | nis/nss_compat/compat-grp.c | 1 | ||||
-rw-r--r-- | nis/nss_compat/compat-pwd.c | 1 | ||||
-rw-r--r-- | nis/nss_compat/compat-spwd.c | 1 | ||||
-rw-r--r-- | nis/nss_nisplus/nisplus-alias.c | 16 | ||||
-rw-r--r-- | nis/nss_nisplus/nisplus-ethers.c | 16 | ||||
-rw-r--r-- | nis/nss_nisplus/nisplus-grp.c | 16 | ||||
-rw-r--r-- | nis/nss_nisplus/nisplus-hosts.c | 29 | ||||
-rw-r--r-- | nis/nss_nisplus/nisplus-netgrp.c | 1 | ||||
-rw-r--r-- | nis/nss_nisplus/nisplus-network.c | 15 | ||||
-rw-r--r-- | nis/nss_nisplus/nisplus-parser.c | 19 | ||||
-rw-r--r-- | nis/nss_nisplus/nisplus-proto.c | 9 | ||||
-rw-r--r-- | nis/nss_nisplus/nisplus-publickey.c | 1 | ||||
-rw-r--r-- | nis/nss_nisplus/nisplus-pwd.c | 9 | ||||
-rw-r--r-- | nis/nss_nisplus/nisplus-rpc.c | 3 | ||||
-rw-r--r-- | nis/nss_nisplus/nisplus-service.c | 3 | ||||
-rw-r--r-- | nis/nss_nisplus/nisplus-spwd.c | 1 | ||||
-rw-r--r-- | nis/rpcsvc/nis.h | 2 | ||||
-rw-r--r-- | nis/rpcsvc/nis.x | 60 |
20 files changed, 105 insertions, 100 deletions
diff --git a/nis/Makefile b/nis/Makefile index e7dd50c1d9..7c70c9c2a8 100644 --- a/nis/Makefile +++ b/nis/Makefile @@ -21,7 +21,7 @@ # subdir := nis -headers := $(wildcard rpcsvc/*.[hx]) +headers := $(wildcard rpcsvc/*.[hx]) bits/nislib.h distribute := nss-nis.h nss-nisplus.h nis_intern.h Banner \ nisplus-parser.h diff --git a/nis/rpcsvc/nislib.h b/nis/nislib/nislib.h index 73b3804e85..73b3804e85 100644 --- a/nis/rpcsvc/nislib.h +++ b/nis/nislib/nislib.h diff --git a/nis/nss_compat/compat-grp.c b/nis/nss_compat/compat-grp.c index 35ae2f7b02..c0ddbdffdf 100644 --- a/nis/nss_compat/compat-grp.c +++ b/nis/nss_compat/compat-grp.c @@ -27,7 +27,6 @@ #include <rpcsvc/yp.h> #include <rpcsvc/ypclnt.h> #include <rpcsvc/nis.h> -#include <rpcsvc/nislib.h> #include <nsswitch.h> #include "nss-nisplus.h" diff --git a/nis/nss_compat/compat-pwd.c b/nis/nss_compat/compat-pwd.c index 6fac0f46c6..681258d2e6 100644 --- a/nis/nss_compat/compat-pwd.c +++ b/nis/nss_compat/compat-pwd.c @@ -28,7 +28,6 @@ #include <rpcsvc/yp.h> #include <rpcsvc/ypclnt.h> #include <rpcsvc/nis.h> -#include <rpcsvc/nislib.h> #include <nsswitch.h> #include "netgroup.h" diff --git a/nis/nss_compat/compat-spwd.c b/nis/nss_compat/compat-spwd.c index a4c6201c2d..431380dac6 100644 --- a/nis/nss_compat/compat-spwd.c +++ b/nis/nss_compat/compat-spwd.c @@ -28,7 +28,6 @@ #include <rpcsvc/yp.h> #include <rpcsvc/ypclnt.h> #include <rpcsvc/nis.h> -#include <rpcsvc/nislib.h> #include <nsswitch.h> #include "netgroup.h" diff --git a/nis/nss_nisplus/nisplus-alias.c b/nis/nss_nisplus/nisplus-alias.c index 0a16b3890f..8d682d785c 100644 --- a/nis/nss_nisplus/nisplus-alias.c +++ b/nis/nss_nisplus/nisplus-alias.c @@ -24,7 +24,6 @@ #include <aliases.h> #include <bits/libc-lock.h> #include <rpcsvc/nis.h> -#include <rpcsvc/nislib.h> #include "nss-nisplus.h" @@ -153,6 +152,8 @@ _nss_nisplus_parse_aliasent (nis_result *result, unsigned long entry, static enum nss_status internal_setaliasent (void) { + enum nss_status status; + if (result) nis_freeresult (result); result = NULL; @@ -162,12 +163,13 @@ internal_setaliasent (void) next_entry = 0; result = nis_list(tablename_val, FOLLOW_PATH | FOLLOW_LINKS, NULL, NULL); - if (niserr2nss (result->status) != NSS_STATUS_SUCCESS) + status = niserr2nss (result->status); + if (status != NSS_STATUS_SUCCESS) { nis_freeresult (result); result = NULL; } - return niserr2nss (result->status); + return status; } enum nss_status @@ -206,7 +208,13 @@ internal_nisplus_getaliasent_r (struct aliasent *alias, int parse_res; if (result == NULL) - internal_setaliasent (); + { + enum nss_status status; + + status = internal_setaliasent (); + if (result == NULL || status != NSS_STATUS_SUCCESS) + return status; + } /* Get the next entry until we found a correct one. */ do diff --git a/nis/nss_nisplus/nisplus-ethers.c b/nis/nss_nisplus/nisplus-ethers.c index d7c3720932..cfdb3dc4e1 100644 --- a/nis/nss_nisplus/nisplus-ethers.c +++ b/nis/nss_nisplus/nisplus-ethers.c @@ -25,7 +25,6 @@ #include <netdb.h> #include <netinet/ether.h> #include <rpcsvc/nis.h> -#include <rpcsvc/nislib.h> #include <netinet/if_ether.h> #include "nss-nisplus.h" @@ -153,7 +152,7 @@ internal_nisplus_getetherent_r (struct etherent *ether, char *buffer, do { nis_result *saved_result; - + if (result == NULL) { saved_result = NULL; @@ -175,7 +174,7 @@ internal_nisplus_getetherent_r (struct etherent *ether, char *buffer, } } - if ((parse_res = _nss_nisplus_parse_etherent (result, ether, buffer, + if ((parse_res = _nss_nisplus_parse_etherent (result, ether, buffer, buflen)) == -1) { nis_freeresult (result); @@ -187,7 +186,7 @@ internal_nisplus_getetherent_r (struct etherent *ether, char *buffer, if (saved_result != NULL) nis_freeresult (saved_result); } - + } while (!parse_res); return NSS_STATUS_SUCCESS; @@ -233,14 +232,14 @@ _nss_nisplus_gethostton_r (const char *name, struct etherent *eth, nis_freeresult (result); return status; } - + if ((parse_res = _nss_nisplus_parse_etherent (result, eth, buffer, buflen)) == -1) { nis_freeresult (result); return NSS_STATUS_TRYAGAIN; } - + if (parse_res) return NSS_STATUS_SUCCESS; } @@ -282,16 +281,15 @@ _nss_nisplus_getntohost_r (const struct ether_addr *addr, return status; } - if ((parse_res = _nss_nisplus_parse_etherent (result, eth, buffer, + if ((parse_res = _nss_nisplus_parse_etherent (result, eth, buffer, buflen)) == -1) { nis_freeresult (result); return NSS_STATUS_TRYAGAIN; } - + if (parse_res) return NSS_STATUS_SUCCESS; } return NSS_STATUS_NOTFOUND; } - diff --git a/nis/nss_nisplus/nisplus-grp.c b/nis/nss_nisplus/nisplus-grp.c index 08e9e040fe..1031d69ac9 100644 --- a/nis/nss_nisplus/nisplus-grp.c +++ b/nis/nss_nisplus/nisplus-grp.c @@ -24,7 +24,6 @@ #include <string.h> #include <bits/libc-lock.h> #include <rpcsvc/nis.h> -#include <rpcsvc/nislib.h> #include "nss-nisplus.h" #include "nisplus-parser.h" @@ -57,6 +56,8 @@ _nss_create_tablename (void) static enum nss_status internal_setgrent (void) { + enum nss_status status; + if (result) nis_freeresult (result); result = NULL; @@ -67,12 +68,13 @@ internal_setgrent (void) return NSS_STATUS_UNAVAIL; result = nis_list (tablename_val, FOLLOW_LINKS | FOLLOW_PATH, NULL, NULL); - if (niserr2nss (result->status) != NSS_STATUS_SUCCESS) + status = niserr2nss (result->status); + if (status != NSS_STATUS_SUCCESS) { nis_freeresult (result); result = NULL; } - return niserr2nss (result->status); + return status; } enum nss_status @@ -109,7 +111,13 @@ internal_nisplus_getgrent_r (struct group *gr, char *buffer, size_t buflen) int parse_res; if (result == NULL) - internal_setgrent (); + { + enum nss_status status; + + status = internal_setgrent (); + if (result == NULL || status != NSS_STATUS_SUCCESS) + return status; + } /* Get the next entry until we found a correct one. */ do diff --git a/nis/nss_nisplus/nisplus-hosts.c b/nis/nss_nisplus/nisplus-hosts.c index 10f939e341..89a8bf7564 100644 --- a/nis/nss_nisplus/nisplus-hosts.c +++ b/nis/nss_nisplus/nisplus-hosts.c @@ -26,7 +26,6 @@ #include <arpa/inet.h> #include <bits/libc-lock.h> #include <rpcsvc/nis.h> -#include <rpcsvc/nislib.h> #include "nss-nisplus.h" @@ -98,7 +97,7 @@ _nss_nisplus_parse_hostent (nis_result *result, int af, struct hostent *host, if (NISENTRYLEN (0, 0, result) + 1 > room_left) goto no_more_room; - + p = stpncpy (first_unused, NISENTRYVAL (0, 0, result), NISENTRYLEN (0, 0, result)); *p = '\0'; @@ -114,7 +113,7 @@ _nss_nisplus_parse_hostent (nis_result *result, int af, struct hostent *host, { if (NISENTRYLEN (i, 1, result) + 2 > room_left) goto no_more_room; - + *p++ = ' '; p = stpncpy (p, NISENTRYVAL (i, 1, result), NISENTRYLEN (i, 1, result)); @@ -131,7 +130,7 @@ _nss_nisplus_parse_hostent (nis_result *result, int af, struct hostent *host, host->h_addr_list = (char **) first_unused; if (room_left < 2 * sizeof (char *)) goto no_more_room; - + room_left -= (2 * sizeof (char *)); host->h_addr_list[0] = data; host->h_addr_list[1] = NULL; @@ -242,7 +241,7 @@ internal_nisplus_gethostent_r (struct hostent *host, char *buffer, result = nis_first_entry(tablename_val); if (niserr2nss (result->status) != NSS_STATUS_SUCCESS) { - enum nss_status retval = niserr2nss (result->status); + enum nss_status retval = niserr2nss (result->status); if (retval == NSS_STATUS_TRYAGAIN) { *herrnop = NETDB_INTERNAL; @@ -250,12 +249,12 @@ internal_nisplus_gethostent_r (struct hostent *host, char *buffer, } return retval; } - + } else { nis_result *res2; - + saved_res = result; res2 = nis_next_entry(tablename_val, &result->cookie); result = res2; @@ -273,7 +272,7 @@ internal_nisplus_gethostent_r (struct hostent *host, char *buffer, return retval; } } - + parse_res = _nss_nisplus_parse_hostent (result, AF_INET6, host, buffer, buflen); if (parse_res < 1 && errno != ERANGE) @@ -288,9 +287,9 @@ internal_nisplus_gethostent_r (struct hostent *host, char *buffer, } if (saved_res != NULL) nis_freeresult (saved_res); - + } while (!parse_res); - + return NSS_STATUS_SUCCESS; } @@ -349,10 +348,10 @@ _nss_nisplus_gethostbyname2_r (const char *name, int af, struct hostent *host, else sprintf(buf, "[cname=%s],%s", NISENTRYVAL(0, 0, result), tablename_val); - + nis_freeresult (result); result = nis_list(buf, FOLLOW_PATH | FOLLOW_LINKS, NULL, NULL); - + retval = niserr2nss (result->status); if (retval != NSS_STATUS_SUCCESS) { @@ -369,7 +368,7 @@ _nss_nisplus_gethostbyname2_r (const char *name, int af, struct hostent *host, _nss_nisplus_parse_hostent (result, af, host, buffer, buflen); nis_freeresult (result); - + if (parse_res > 0) return NSS_STATUS_SUCCESS; @@ -435,10 +434,10 @@ _nss_nisplus_gethostbyaddr_r (const char *addr, int addrlen, int type, parse_res = _nss_nisplus_parse_hostent (result, type, host, buffer, buflen); nis_freeresult (result); - + if (parse_res > 0) return NSS_STATUS_SUCCESS; - + *herrnop = NETDB_INTERNAL; if (parse_res == -1) return NSS_STATUS_TRYAGAIN; diff --git a/nis/nss_nisplus/nisplus-netgrp.c b/nis/nss_nisplus/nisplus-netgrp.c index 9c38539de8..967eec898c 100644 --- a/nis/nss_nisplus/nisplus-netgrp.c +++ b/nis/nss_nisplus/nisplus-netgrp.c @@ -25,7 +25,6 @@ #include <netgroup.h> #include <bits/libc-lock.h> #include <rpcsvc/nis.h> -#include <rpcsvc/nislib.h> #include "nss-nisplus.h" diff --git a/nis/nss_nisplus/nisplus-network.c b/nis/nss_nisplus/nisplus-network.c index 57362dba78..ff71af8573 100644 --- a/nis/nss_nisplus/nisplus-network.c +++ b/nis/nss_nisplus/nisplus-network.c @@ -25,7 +25,6 @@ #include <arpa/inet.h> #include <bits/libc-lock.h> #include <rpcsvc/nis.h> -#include <rpcsvc/nislib.h> #include "nss-nisplus.h" @@ -86,7 +85,7 @@ _nss_nisplus_parse_netent (nis_result *result, struct netent *network, { if (NISENTRYLEN (i, 1, result) + 2 > room_left) goto no_more_room; - + *p++ = ' '; p = stpncpy (p, NISENTRYVAL (i, 1, result), NISENTRYLEN (i, 1, result)); @@ -217,7 +216,7 @@ internal_nisplus_getnetent_r (struct netent *network, char *buffer, if (niserr2nss (result->status) != NSS_STATUS_SUCCESS) { int retval; - + retval = niserr2nss (result->status); nis_freeresult (result); result = NULL; @@ -254,15 +253,15 @@ internal_nisplus_getnetent_r (struct netent *network, char *buffer, } } - if ((parse_res = _nss_nisplus_parse_netent (result, network, buffer, + if ((parse_res = _nss_nisplus_parse_netent (result, network, buffer, buflen)) == -1) { *herrnop = NETDB_INTERNAL; return NSS_STATUS_TRYAGAIN; } - + } while (!parse_res); - + return NSS_STATUS_SUCCESS; } @@ -301,7 +300,7 @@ _nss_nisplus_getnetbyname_r (const char *name, struct netent *network, { nis_result *result; char buf[strlen (name) + 255 + tablename_len]; - + /* Search at first in the alias list, and use the correct name for the next search */ sprintf(buf, "[name=%s],%s", name, tablename_val); @@ -390,7 +389,7 @@ _nss_nisplus_getnetbyaddr_r (const unsigned long addr, const int type, if (parse_res > 0) return NSS_STATUS_SUCCESS; - + *herrnop = NETDB_INTERNAL; if (parse_res == -1) return NSS_STATUS_TRYAGAIN; diff --git a/nis/nss_nisplus/nisplus-parser.c b/nis/nss_nisplus/nisplus-parser.c index 3d0ff32e57..db5f487159 100644 --- a/nis/nss_nisplus/nisplus-parser.c +++ b/nis/nss_nisplus/nisplus-parser.c @@ -212,20 +212,23 @@ _nss_nisplus_parse_grent (nis_result *result, u_long entry, room_left -= sizeof (char *); gr->gr_mem[count] = line; - while (*line != '\0' && *line != ',' && !isspace(*line)) + while (*line != '\0' && *line != ',' && !isspace (*line)) ++line; - if (line != gr->gr_mem[count]) + if (*line == ',' || isspace (*line)) { - if (*line != '\0') - { - *line = '\0'; + int is = isspace (*line); + + *line = '\0'; + if (is) + while (*line != '\0' && (*line == ',' || isspace (*line))) ++line; - } + else + ++line; ++count; } else - gr->gr_mem[count] = NULL; + gr->gr_mem[count+1] = NULL; } if (room_left < sizeof (char *)) goto no_more_room; @@ -241,7 +244,7 @@ _nss_nisplus_parse_spent (nis_result *result, struct spwd *sp, { char *first_unused = buffer; size_t room_left = buflen; - + if (result == NULL) return 0; diff --git a/nis/nss_nisplus/nisplus-proto.c b/nis/nss_nisplus/nisplus-proto.c index 707a0e5296..ddfce86905 100644 --- a/nis/nss_nisplus/nisplus-proto.c +++ b/nis/nss_nisplus/nisplus-proto.c @@ -24,7 +24,6 @@ #include <string.h> #include <bits/libc-lock.h> #include <rpcsvc/nis.h> -#include <rpcsvc/nislib.h> #include "nss-nisplus.h" @@ -212,7 +211,7 @@ internal_nisplus_getprotoent_r (struct protoent *proto, char *buffer, else { nis_result *res; - + saved_res = result; res = nis_next_entry (tablename_val, &result->cookie); result = res; @@ -224,7 +223,7 @@ internal_nisplus_getprotoent_r (struct protoent *proto, char *buffer, } } - if ((parse_res = _nss_nisplus_parse_protoent (result, proto, buffer, + if ((parse_res = _nss_nisplus_parse_protoent (result, proto, buffer, buflen)) == -1) { nis_freeresult (result); @@ -346,10 +345,10 @@ _nss_nisplus_getprotobynumber_r (const int number, struct protoent *proto, if (parse_res == -1) return NSS_STATUS_TRYAGAIN; - + if (parse_res) return NSS_STATUS_SUCCESS; - + return NSS_STATUS_NOTFOUND; } } diff --git a/nis/nss_nisplus/nisplus-publickey.c b/nis/nss_nisplus/nisplus-publickey.c index 4c596b8ada..554da95754 100644 --- a/nis/nss_nisplus/nisplus-publickey.c +++ b/nis/nss_nisplus/nisplus-publickey.c @@ -25,7 +25,6 @@ #include <syslog.h> #include <rpc/rpc.h> #include <rpcsvc/nis.h> -#include <rpcsvc/nislib.h> #ifdef HAVE_SECURE_RPC #include <rpc/key_prot.h> extern int xdecrypt (char *, char *); diff --git a/nis/nss_nisplus/nisplus-pwd.c b/nis/nss_nisplus/nisplus-pwd.c index 2c1fb19cab..e358b060e1 100644 --- a/nis/nss_nisplus/nisplus-pwd.c +++ b/nis/nss_nisplus/nisplus-pwd.c @@ -23,7 +23,6 @@ #include <string.h> #include <bits/libc-lock.h> #include <rpcsvc/nis.h> -#include <rpcsvc/nislib.h> #include "nss-nisplus.h" @@ -97,7 +96,7 @@ internal_nisplus_getpwent_r (struct passwd *pw, char *buffer, size_t buflen) do { nis_result *saved_res; - + if (result == NULL) { saved_res = NULL; @@ -123,7 +122,7 @@ internal_nisplus_getpwent_r (struct passwd *pw, char *buffer, size_t buflen) } } - if ((parse_res = _nss_nisplus_parse_pwent (result, pw, buffer, + if ((parse_res = _nss_nisplus_parse_pwent (result, pw, buffer, buflen)) == -1) { nis_freeresult (result); @@ -192,7 +191,7 @@ _nss_nisplus_getpwnam_r (const char *name, struct passwd *pw, if (parse_res) return NSS_STATUS_SUCCESS; - + return NSS_STATUS_NOTFOUND; } } @@ -227,7 +226,7 @@ _nss_nisplus_getpwuid_r (const uid_t uid, struct passwd *pw, if (parse_res == -1) return NSS_STATUS_TRYAGAIN; - + if (parse_res) return NSS_STATUS_SUCCESS; diff --git a/nis/nss_nisplus/nisplus-rpc.c b/nis/nss_nisplus/nisplus-rpc.c index b70c2ebbca..6682a7502a 100644 --- a/nis/nss_nisplus/nisplus-rpc.c +++ b/nis/nss_nisplus/nisplus-rpc.c @@ -24,7 +24,6 @@ #include <bits/libc-lock.h> #include <rpc/netdb.h> #include <rpcsvc/nis.h> -#include <rpcsvc/nislib.h> #include "nss-nisplus.h" @@ -225,7 +224,7 @@ internal_nisplus_getrpcent_r (struct rpcent *rpc, char *buffer, } } - if ((parse_res = _nss_nisplus_parse_rpcent (result, rpc, buffer, + if ((parse_res = _nss_nisplus_parse_rpcent (result, rpc, buffer, buflen)) == -1) { nis_freeresult (result); diff --git a/nis/nss_nisplus/nisplus-service.c b/nis/nss_nisplus/nisplus-service.c index 37042d9d13..e8a12145d3 100644 --- a/nis/nss_nisplus/nisplus-service.c +++ b/nis/nss_nisplus/nisplus-service.c @@ -24,7 +24,6 @@ #include <string.h> #include <bits/libc-lock.h> #include <rpcsvc/nis.h> -#include <rpcsvc/nislib.h> #include "nss-nisplus.h" @@ -205,7 +204,7 @@ internal_nisplus_getservent_r (struct servent *serv, char *buffer, do { nis_result *saved_res; - + if (result == NULL) { saved_res = NULL; diff --git a/nis/nss_nisplus/nisplus-spwd.c b/nis/nss_nisplus/nisplus-spwd.c index c7f1e2a567..507aa4bcad 100644 --- a/nis/nss_nisplus/nisplus-spwd.c +++ b/nis/nss_nisplus/nisplus-spwd.c @@ -23,7 +23,6 @@ #include <string.h> #include <bits/libc-lock.h> #include <rpcsvc/nis.h> -#include <rpcsvc/nislib.h> #include "nss-nisplus.h" #include "nisplus-parser.h" diff --git a/nis/rpcsvc/nis.h b/nis/rpcsvc/nis.h index b91ce19903..e24c7d05b3 100644 --- a/nis/rpcsvc/nis.h +++ b/nis/rpcsvc/nis.h @@ -767,7 +767,7 @@ typedef enum name_pos name_pos; #endif /* Prototypes, and extern declarations for the NIS library functions. */ -#include <rpcsvc/nislib.h> +#include <bits/nislib.h> #endif /* __NIS_RPCGEN_H */ /* EDIT_START */ diff --git a/nis/rpcsvc/nis.x b/nis/rpcsvc/nis.x index 625ed57f10..e68114c36b 100644 --- a/nis/rpcsvc/nis.x +++ b/nis/rpcsvc/nis.x @@ -28,7 +28,7 @@ % * Mountain View, California 94043 % */ -/* +/* * From 4.1 : @(#)nis.x 1.61 Copyright 1989 Sun Microsystems * * RPC Language Protocol description file for NIS Plus @@ -44,9 +44,9 @@ % * structures used by the NIS service. It includes the file nis_tags.h % * which defines the tag values. This allows the tags to change without % * having to change the nis.x file. -% * +% * % * NOTE : DO NOT EDIT THIS FILE! It is automatically generated when -% * rpcgen is run on the nis.x file. Note that there is a +% * rpcgen is run on the nis.x file. Note that there is a % * simple sed script to remove some unneeded lines. (See the % * Makefile target nis.h) % * @@ -118,11 +118,11 @@ enum nis_error { }; -/* +/* * Structure definitions for the parameters and results of the actual * NIS RPC calls. * - * This is the standard result (in the protocol) of most of the nis + * This is the standard result (in the protocol) of most of the nis * requests. */ @@ -136,11 +136,11 @@ struct nis_result { u_long cticks; /* Client ticks */ }; -/* - * A Name Service request - * This request is used to access the name space, ns_name is the name +/* + * A Name Service request + * This request is used to access the name space, ns_name is the name * of the object within the namespace and the object is it's value, for - * add/modify, a copy of the original for remove. + * add/modify, a copy of the original for remove. */ struct ns_request { @@ -148,7 +148,7 @@ struct ns_request { nis_object ns_object<1>; /* Optional Object (add/remove) */ }; -/* +/* * An information base request * This request includes the NIS name of the table we wish to search, the * search criteria in the form of attribute/value pairs and an optional @@ -168,7 +168,7 @@ struct ib_request { }; /* - * This argument to the PING call notifies the replicas that something in + * This argument to the PING call notifies the replicas that something in * a directory has changed and this is it's timestamp. The replica will use * the timestamp to determine if its resync operation was successful. */ @@ -177,8 +177,8 @@ struct ping_args { u_long stamp; /* timestamp of the transaction */ }; -/* - * These are the type of entries that are stored in the transaction log, +/* + * These are the type of entries that are stored in the transaction log, * note that modifications will appear as two entries, for names, they have * a "OLD" entry followed by a "NEW" entry. For entries in tables, there * is a remove followed by an add. It is done this way so that we can read @@ -196,13 +196,13 @@ enum log_entry_t { MOD_IBASE = 7, /* Entry was modified in information base */ UPD_STAMP = 8 /* Update timestamp (used as fenceposts) */ }; - + /* - * This result is returned from the name service when it is requested to + * This result is returned from the name service when it is requested to * dump logged entries from its transaction log. Information base updates * will have the name of the information base in the le_name field and * a canonical set of attribute/value pairs to fully specify the entry's - * 'name'. + * 'name'. */ struct log_entry { u_long le_time; /* Time in seconds */ @@ -218,7 +218,7 @@ struct log_result { netobj lr_cookie; /* Used by the dump callback */ log_entry lr_entries<>; /* zero or more entries */ }; - + struct cp_result { nis_error cp_status; /* Status of the checkpoint */ u_long cp_zticks; /* Service 'ticks' */ @@ -227,7 +227,7 @@ struct cp_result { /* * This structure defines a generic NIS tag list. The taglist contains - * zero or tags, each of which is a type and a value. (u_long). + * zero or tags, each of which is a type and a value. (u_long). * These are used to report statistics (see tag definitions below) * and to set or reset state variables. */ @@ -254,17 +254,17 @@ struct fd_args { struct fd_result { nis_error status; /* Status returned by function */ nis_name source; /* Source of this answer */ - opaque dir_data<>; /* Directory Data (XDR'ed) */ + opaque dir_data<>; /* Directory Data (XDR'ed) */ opaque signature<>; /* Signature of the source */ }; -/* +/* * What's going on here? Well, it's like this. When the service * is being compiled it wants to have the service definition specific * info included, and when the client is being compiled it wants that * info. This includes the appropriate file which was generated by - * make in the protocols directory (probably /usr/include/rpcsvc). + * make in the protocols directory (probably /usr/include/rpcsvc). */ #ifdef RPC_SVC %#include "nis_svc.h" @@ -296,10 +296,10 @@ program NIS_PROG { /* If fetch and optionally reset statistics */ nis_taglist NIS_STATUS(nis_taglist) = 14; - + /* Dump changes to directory since time in da_time */ log_result NIS_DUMPLOG(dump_args) = 15; - + /* Dump contents of directory named */ log_result NIS_DUMP(dump_args) = 16; @@ -314,16 +314,16 @@ program NIS_PROG { /* Send 'status changed' ping to replicates */ void NIS_PING(ping_args) = 20; - + /* Modify server behaviour (such as debugging) */ nis_taglist NIS_SERVSTATE(nis_taglist) = 21; - + /* Create a Directory */ nis_error NIS_MKDIR(nis_name) = 22; - + /* Remove a Directory */ nis_error NIS_RMDIR(nis_name) = 23; - + /* Update public keys of a directory object */ nis_error NIS_UPDKEYS(nis_name) = 24; } = 3; @@ -423,18 +423,18 @@ program NIS_PROG { %#endif % %/* Prototypes, and extern declarations for the NIS library functions. */ -%#include <rpcsvc/nislib.h> +%#include <bits/nislib.h> %#endif /* __NIS_RPCGEN_H */ %/* EDIT_START */ % %/* % * nis_3.h -% * +% * % * This file contains definitions that are only of interest to the actual % * service daemon and client stubs. Normal users of NIS will not include % * this file. % * -% * NOTE : This include file is automatically created by a combination +% * NOTE : This include file is automatically created by a combination % * of rpcgen and sed. DO NOT EDIT IT, change the nis.x file instead % * and then remake this file. % */ |