diff options
author | Ulrich Drepper <drepper@redhat.com> | 2001-04-26 14:03:39 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2001-04-26 14:03:39 +0000 |
commit | 9d4f43ae500a3a3ecc6058f87647322793b4c7c8 (patch) | |
tree | b404486217dc05d00b741c14fdd3792472b736da /nis | |
parent | 1b20d937f379c03537843cda49fdd7d4fdfbd5ab (diff) | |
download | glibc-9d4f43ae500a3a3ecc6058f87647322793b4c7c8.zip glibc-9d4f43ae500a3a3ecc6058f87647322793b4c7c8.tar.gz glibc-9d4f43ae500a3a3ecc6058f87647322793b4c7c8.tar.bz2 |
Update.
* nis/nss-nisplus.h: Move niserr2nss_tab definition into separate file
and rename to __niserr2nss_tab. Change NISERR_COUNT into variable
__niserr2nss_count.
* nis/nss-nisplus.c: New file.
(libnss_nisplus-routines): Add nss-nisplus.
* nss_nisplus/nisplus-alias.c: Remove unnecessary initializations.
* nss_nisplus/nisplus-ethers.c: Likewise.
* nss_nisplus/nisplus-grp.c: Likewise.
* nss_nisplus/nisplus-hosts.c: Likewise.
* nss_nisplus/nisplus-network.c: Likewise.
* nss_nisplus/nisplus-proto.c: Likewise.
* nss_nisplus/nisplus-pwd.c: Likewise.
* nss_nisplus/nisplus-rpc.c: Likewise.
* nss_nisplus/nisplus-service.c: Likewise.
* nss_nisplus/nisplus-spwd.c: Likewise.
Diffstat (limited to 'nis')
-rw-r--r-- | nis/Makefile | 3 | ||||
-rw-r--r-- | nis/nss-nisplus.c | 79 | ||||
-rw-r--r-- | nis/nss-nisplus.h | 58 |
3 files changed, 85 insertions, 55 deletions
diff --git a/nis/Makefile b/nis/Makefile index 94a7414..f1bf01c 100644 --- a/nis/Makefile +++ b/nis/Makefile @@ -62,7 +62,8 @@ libnss_nis-routines := $(addprefix nis-,$(databases)) nis-initgroups \ nss-nis libnss_nis-inhibit-o = $(filter-out .os,$(object-suffixes)) -libnss_nisplus-routines := $(addprefix nisplus-,$(databases)) nisplus-parser +libnss_nisplus-routines := $(addprefix nisplus-,$(databases)) nisplus-parser \ + nss-nisplus libnss_nisplus-inhibit-o = $(filter-out .os,$(object-suffixes)) include ../Rules diff --git a/nis/nss-nisplus.c b/nis/nss-nisplus.c new file mode 100644 index 0000000..731017d --- /dev/null +++ b/nis/nss-nisplus.c @@ -0,0 +1,79 @@ +/* Copyright (C) 1997 Free Software Foundation, Inc. + This file is part of the GNU C Library. + Contributed by Thorsten Kukuk <kukuk@uni-paderborn.de>, 1997. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public License as + published by the Free Software Foundation; either version 2 of the + License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public + License along with the GNU C Library; see the file COPYING.LIB. If not, + write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. */ + +#include <rpcsvc/nis.h> + +#include "nss-nisplus.h" +#include "nsswitch.h" + + +/* Convert NIS+ error number to NSS error number. */ +const enum nss_status __niserr2nss_tab[] = +{ + [NIS_SUCCESS] = NSS_STATUS_SUCCESS, + [NIS_S_SUCCESS] = NSS_STATUS_SUCCESS, + [NIS_NOTFOUND] = NSS_STATUS_NOTFOUND, + [NIS_S_NOTFOUND] = NSS_STATUS_NOTFOUND, + [NIS_CACHEEXPIRED] = NSS_STATUS_UNAVAIL, + [NIS_NAMEUNREACHABLE] = NSS_STATUS_UNAVAIL, + [NIS_UNKNOWNOBJ] = NSS_STATUS_NOTFOUND, + [NIS_TRYAGAIN] = NSS_STATUS_TRYAGAIN, + [NIS_SYSTEMERROR] = NSS_STATUS_UNAVAIL, + [NIS_CHAINBROKEN] = NSS_STATUS_UNAVAIL, + [NIS_PERMISSION] = NSS_STATUS_UNAVAIL, + [NIS_NOTOWNER] = NSS_STATUS_UNAVAIL, + [NIS_NOT_ME] = NSS_STATUS_UNAVAIL, + [NIS_NOMEMORY] = NSS_STATUS_TRYAGAIN, + [NIS_NAMEEXISTS] = NSS_STATUS_UNAVAIL, + [NIS_NOTMASTER] = NSS_STATUS_UNAVAIL, + [NIS_INVALIDOBJ] = NSS_STATUS_UNAVAIL, + [NIS_BADNAME] = NSS_STATUS_UNAVAIL, + [NIS_NOCALLBACK] = NSS_STATUS_UNAVAIL, + [NIS_CBRESULTS] = NSS_STATUS_UNAVAIL, + [NIS_NOSUCHNAME] = NSS_STATUS_NOTFOUND, + [NIS_NOTUNIQUE] = NSS_STATUS_UNAVAIL, + [NIS_IBMODERROR] = NSS_STATUS_UNAVAIL, + [NIS_NOSUCHTABLE] = NSS_STATUS_UNAVAIL, + [NIS_TYPEMISMATCH] = NSS_STATUS_UNAVAIL, + [NIS_LINKNAMEERROR] = NSS_STATUS_UNAVAIL, + [NIS_PARTIAL] = NSS_STATUS_NOTFOUND, + [NIS_TOOMANYATTRS] = NSS_STATUS_UNAVAIL, + [NIS_RPCERROR] = NSS_STATUS_UNAVAIL, + [NIS_BADATTRIBUTE] = NSS_STATUS_UNAVAIL, + [NIS_NOTSEARCHABLE] = NSS_STATUS_UNAVAIL, + [NIS_CBERROR] = NSS_STATUS_UNAVAIL, + [NIS_FOREIGNNS] = NSS_STATUS_UNAVAIL, + [NIS_BADOBJECT] = NSS_STATUS_UNAVAIL, + [NIS_NOTSAMEOBJ] = NSS_STATUS_UNAVAIL, + [NIS_MODFAIL] = NSS_STATUS_UNAVAIL, + [NIS_BADREQUEST] = NSS_STATUS_UNAVAIL, + [NIS_NOTEMPTY] = NSS_STATUS_UNAVAIL, + [NIS_COLDSTART_ERR] = NSS_STATUS_UNAVAIL, + [NIS_RESYNC] = NSS_STATUS_UNAVAIL, + [NIS_FAIL] = NSS_STATUS_UNAVAIL, + [NIS_UNAVAIL] = NSS_STATUS_UNAVAIL, + [NIS_RES2BIG] = NSS_STATUS_UNAVAIL, + [NIS_SRVAUTH] = NSS_STATUS_UNAVAIL, + [NIS_CLNTAUTH] = NSS_STATUS_UNAVAIL, + [NIS_NOFILESPACE] = NSS_STATUS_UNAVAIL, + [NIS_NOPROC] = NSS_STATUS_UNAVAIL, + [NIS_DUMPLATER] = NSS_STATUS_UNAVAIL +}; +const unsigned int __niserr2nss_count = (sizeof (__niserr2nss_tab) + / sizeof (__niserr2nss_tab[0])); diff --git a/nis/nss-nisplus.h b/nis/nss-nisplus.h index f2247c7..436a2e6 100644 --- a/nis/nss-nisplus.h +++ b/nis/nss-nisplus.h @@ -26,65 +26,15 @@ /* Convert NIS+ error number to NSS error number. */ -static enum nss_status niserr2nss_tab[] = -{ - [NIS_SUCCESS] = NSS_STATUS_SUCCESS, - [NIS_S_SUCCESS] = NSS_STATUS_SUCCESS, - [NIS_NOTFOUND] = NSS_STATUS_NOTFOUND, - [NIS_S_NOTFOUND] = NSS_STATUS_NOTFOUND, - [NIS_CACHEEXPIRED] = NSS_STATUS_UNAVAIL, - [NIS_NAMEUNREACHABLE] = NSS_STATUS_UNAVAIL, - [NIS_UNKNOWNOBJ] = NSS_STATUS_NOTFOUND, - [NIS_TRYAGAIN] = NSS_STATUS_TRYAGAIN, - [NIS_SYSTEMERROR] = NSS_STATUS_UNAVAIL, - [NIS_CHAINBROKEN] = NSS_STATUS_UNAVAIL, - [NIS_PERMISSION] = NSS_STATUS_UNAVAIL, - [NIS_NOTOWNER] = NSS_STATUS_UNAVAIL, - [NIS_NOT_ME] = NSS_STATUS_UNAVAIL, - [NIS_NOMEMORY] = NSS_STATUS_TRYAGAIN, - [NIS_NAMEEXISTS] = NSS_STATUS_UNAVAIL, - [NIS_NOTMASTER] = NSS_STATUS_UNAVAIL, - [NIS_INVALIDOBJ] = NSS_STATUS_UNAVAIL, - [NIS_BADNAME] = NSS_STATUS_UNAVAIL, - [NIS_NOCALLBACK] = NSS_STATUS_UNAVAIL, - [NIS_CBRESULTS] = NSS_STATUS_UNAVAIL, - [NIS_NOSUCHNAME] = NSS_STATUS_NOTFOUND, - [NIS_NOTUNIQUE] = NSS_STATUS_UNAVAIL, - [NIS_IBMODERROR] = NSS_STATUS_UNAVAIL, - [NIS_NOSUCHTABLE] = NSS_STATUS_UNAVAIL, - [NIS_TYPEMISMATCH] = NSS_STATUS_UNAVAIL, - [NIS_LINKNAMEERROR] = NSS_STATUS_UNAVAIL, - [NIS_PARTIAL] = NSS_STATUS_NOTFOUND, - [NIS_TOOMANYATTRS] = NSS_STATUS_UNAVAIL, - [NIS_RPCERROR] = NSS_STATUS_UNAVAIL, - [NIS_BADATTRIBUTE] = NSS_STATUS_UNAVAIL, - [NIS_NOTSEARCHABLE] = NSS_STATUS_UNAVAIL, - [NIS_CBERROR] = NSS_STATUS_UNAVAIL, - [NIS_FOREIGNNS] = NSS_STATUS_UNAVAIL, - [NIS_BADOBJECT] = NSS_STATUS_UNAVAIL, - [NIS_NOTSAMEOBJ] = NSS_STATUS_UNAVAIL, - [NIS_MODFAIL] = NSS_STATUS_UNAVAIL, - [NIS_BADREQUEST] = NSS_STATUS_UNAVAIL, - [NIS_NOTEMPTY] = NSS_STATUS_UNAVAIL, - [NIS_COLDSTART_ERR] = NSS_STATUS_UNAVAIL, - [NIS_RESYNC] = NSS_STATUS_UNAVAIL, - [NIS_FAIL] = NSS_STATUS_UNAVAIL, - [NIS_UNAVAIL] = NSS_STATUS_UNAVAIL, - [NIS_RES2BIG] = NSS_STATUS_UNAVAIL, - [NIS_SRVAUTH] = NSS_STATUS_UNAVAIL, - [NIS_CLNTAUTH] = NSS_STATUS_UNAVAIL, - [NIS_NOFILESPACE] = NSS_STATUS_UNAVAIL, - [NIS_NOPROC] = NSS_STATUS_UNAVAIL, - [NIS_DUMPLATER] = NSS_STATUS_UNAVAIL -}; -#define NISERR_COUNT (sizeof (niserr2nss_tab) / sizeof (niserr2nss_tab[0])) +extern const enum nss_status __niserr2nss_tab[]; +extern const unsigned int __niserr2nss_count; static inline enum nss_status niserr2nss (int errval) { - if ((unsigned int) errval > NISERR_COUNT) + if ((unsigned int) errval > __niserr2nss_count) return NSS_STATUS_UNAVAIL; - return niserr2nss_tab[errval]; + return __niserr2nss_tab[errval]; } #endif /* nis/nss-nisplus.h */ |