DEFINE_DATABASE (aliases)
#ifdef __OpenSolaris_kernel__
-DEFINE_DATABASE (audit_user)
DEFINE_DATABASE (auth_attr)
+DEFINE_DATABASE (automount)
+DEFINE_DATABASE (bootparams)
#endif
DEFINE_DATABASE (ethers)
DEFINE_DATABASE (group)
DEFINE_DATABASE (hosts)
DEFINE_DATABASE (netgroup)
+#ifdef __OpenSolaris_kernel__
+DEFINE_DATABASE (netmasks)
+#endif
DEFINE_DATABASE (networks)
DEFINE_DATABASE (passwd)
#ifdef __OpenSolaris_kernel__
+DEFINE_DATABASE (printers)
DEFINE_DATABASE (prof_attr)
+DEFINE_DATABASE (project)
#endif
DEFINE_DATABASE (protocols)
DEFINE_DATABASE (publickey)
DEFINE_DATABASE (rpc)
DEFINE_DATABASE (services)
DEFINE_DATABASE (shadow)
-#ifdef __OpenSolaris_kernel__
-DEFINE_DATABASE (user_attr)
-#endif
/*
Local Variables:
privP modctl acl facl lltostr ulltostr deflt _getauthnam _getauthattr \
_getprofnam _getprofattr _getusernam _getuserattr _getauuserent \
_getauusernam vfsent fdwalk closefrom ipsecalg gethostent sigsendset \
- sigsend stack_getbounds thr_sighndlrinfo sun_compat mkdev
+ sigsend stack_getbounds thr_sighndlrinfo sun_compat mkdev nss_getent \
+ nss_setent nss_endent nss_misc
sysdep_routines += sys_fdsync sys_brk sys_fcntl sys_utssys sys_lwp_private \
sys_uname sys_getloadavg sys_utimes sys_getpeerucred sys_ucred_get \
sys_privsys sys_putmsg sys_putpmsg sys_meminfo sys_pset_getloadavg \
endif
ifeq ($(subdir),nss)
-databases += audit_user auth_attr prof_attr user_attr
+databases += auth_attr automount bootparams netmasks printers prof_attr project
endif
ifeq ($(subdir),nptl)
+++ /dev/null
-/* Copyright (C) 2008 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by David Bartley <dtbartle@csclub.uwaterloo.ca>, 2008.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 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
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, write to the Free
- Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
- 02111-1307 USA. */
-
-#define DATABASE_NAME audit_user
-#define DEFAULT_CONFIG "files nis"
-
-#include "XXX-lookup.c"
--- /dev/null
+/* Copyright (C) 2008 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+ Contributed by David Bartley <dtbartle@csclub.uwaterloo.ca>, 2008.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 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
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, write to the Free
+ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ 02111-1307 USA. */
+
+#define DATABASE_NAME automount
+#define DEFAULT_CONFIG "files nis"
+
+#include "XXX-lookup.c"
--- /dev/null
+/* Copyright (C) 2008 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+ Contributed by David Bartley <dtbartle@csclub.uwaterloo.ca>, 2008.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 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
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, write to the Free
+ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ 02111-1307 USA. */
+
+#define DATABASE_NAME bootparams
+#define DEFAULT_CONFIG "nis [NOTFOUND=return] files"
+
+#include "XXX-lookup.c"
--- /dev/null
+/* Copyright (C) 2008 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+ Contributed by David Bartley <dtbartle@csclub.uwaterloo.ca>, 2008.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 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
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, write to the Free
+ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ 02111-1307 USA. */
+
+#define DATABASE_NAME netmasks
+#define DEFAULT_CONFIG "nis [NOTFOUND=return] files"
+
+#include "XXX-lookup.c"
#include <sys/types.h>
#include <stdint.h>
-#include <synch.h> /* mutex_t */
+#include <bits/libc-lock.h>
typedef enum
{
typedef struct nss_db_root
{
struct nss_db_state *s;
- mutex_t lock;
+ __libc_lock_define (, lock);
} nss_db_root_t;
#define NSS_DB_ROOT_INIT { 0, DEFAULTMUTEX }
typedef struct
{
struct nss_getent_context *ctx;
- mutex_t lock;
+ __libc_lock_define (, lock);
} nss_getent_t;
#define NSS_GETENT_INIT { 0, DEFAULTMUTEX }
{
char *name;
nss_config_op_t cop;
- mutex_t *lock;
+ void *lock;
void *buffer;
size_t length;
} nss_config_t;
--- /dev/null
+/* Copyright (C) 2008 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+ Contributed by David Bartley <dtbartle@csclub.uwaterloo.ca>, 2008.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 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
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, write to the Free
+ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ 02111-1307 USA. */
+
+#include <nss_sunP.h>
+#include <string.h>
+#include <bits/libc-lock.h>
+
+void nss_endent (nss_db_root_t *rootp, nss_db_initf_t initf,
+ nss_getent_t *contextpp)
+{
+ if (contextpp->ctx == NULL)
+ return;
+
+ __libc_lock_lock (contextpp->lock);
+
+ struct nss_getent_context *ctx = contextpp->ctx;
+ __nss_endent (ctx->endfuncname, ctx->dblookup, &ctx->nip, &ctx->startp,
+ &ctx->last_nip, 0);
+
+ /* Free context. */
+ free (contextpp->ctx);
+ contextpp->ctx = NULL;
+
+ __libc_lock_unlock (contextpp->lock);
+}
+
+
+void nss_delete (nss_db_root_t *rootp)
+{
+ /* We do nothing here by design. */
+}
--- /dev/null
+/* Copyright (C) 2008 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+ Contributed by David Bartley <dtbartle@csclub.uwaterloo.ca>, 2008.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 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
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, write to the Free
+ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ 02111-1307 USA. */
+
+#include <nss_sunP.h>
+#include <string.h>
+#include <bits/libc-lock.h>
+
+nss_status_t nss_getent (nss_db_root_t *rootp, nss_db_initf_t initf,
+ nss_getent_t *contextpp, void *args)
+{
+ __libc_lock_lock (contextpp->lock);
+
+ /* The first time we are called the context is NULL. */
+ if (contextpp->ctx == NULL)
+ {
+ /* Call setent to initialize the context. */
+ nss_setent (rootp, initf, contextpp);
+ if (contextpp->ctx == NULL)
+ {
+ __libc_lock_unlock (contextpp->lock);
+ return NSS_UNAVAIL;
+ }
+ }
+
+ nss_XbyY_args_t *nssargs = (nss_XbyY_args_t *)args;
+ struct nss_getent_context *ctx = contextpp->ctx;
+
+ // TODO: Store nssargs->str2ent in a global table and use it for parsing.
+
+ int res = __nss_getent_r (ctx->getfuncname, ctx->setfuncname,
+ ctx->dblookup, &ctx->nip, &ctx->startp, &ctx->last_nip,
+ &ctx->stayopen_tmp, 0, nssargs->buf.result, nssargs->buf.buffer,
+ nssargs->buf.buflen, &nssargs->returnval, &nssargs->h_errno);
+
+ __libc_lock_unlock (contextpp->lock);
+
+ if (res != 0)
+ __set_errno (res);
+ return RESULT_TO_STATUS (res);
+}
--- /dev/null
+/* Copyright (C) 2008 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+ Contributed by David Bartley <dtbartle@csclub.uwaterloo.ca>, 2008.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 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
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, write to the Free
+ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ 02111-1307 USA. */
+
+#include <nss_sunP.h>
+#include <string.h>
+
+int __nss_dbname_to_dbid (const char *dbname)
+{
+ if (strcmp (dbname, "auth_attr") == 0)
+ return NSS_DBID_AUTH_ATTR;
+ if (strcmp (dbname, "automount") == 0)
+ return NSS_DBID_AUTOMOUNT;
+ if (strcmp (dbname, "bootparams") == 0)
+ return NSS_DBID_BOOTPARAMS;
+ if (strcmp (dbname, "netmasks") == 0)
+ return NSS_DBID_NETMASKS;
+ if (strcmp (dbname, "printers") == 0)
+ return NSS_DBID_PRINTERS;
+ if (strcmp (dbname, "prof_attr") == 0)
+ return NSS_DBID_PROF_ATTR;
+ if (strcmp (dbname, "project") == 0)
+ return NSS_DBID_PROJECT;
+
+ return -1;
+}
+
+
+const char * __nss_dbop_to_name (int dbid, int search_fnum)
+{
+ // TODO
+ switch (dbid)
+ {
+ case NSS_DBID_AUTH_ATTR:
+ case NSS_DBID_AUTOMOUNT:
+ case NSS_DBID_BOOTPARAMS:
+ case NSS_DBID_NETMASKS:
+ case NSS_DBID_PRINTERS:
+ case NSS_DBID_PROF_ATTR:
+ case NSS_DBID_PROJECT:
+ break;
+ }
+
+ return NULL;
+}
+
+
+db_lookup_function __nss_dbname_to_lookup (const char *dbname)
+{
+ extern int internal_function __nss_auth_attr_lookup (service_user **,
+ const char *, void **);
+ extern int internal_function __nss_automount_lookup (service_user **,
+ const char *, void **);
+ extern int internal_function __nss_bootparams_lookup (service_user **,
+ const char *, void **);
+ extern int internal_function __nss_netmasks_lookup (service_user **,
+ const char *, void **);
+ extern int internal_function __nss_printers_lookup (service_user **,
+ const char *, void **);
+ extern int internal_function __nss_prof_attr_lookup (service_user **,
+ const char *, void **);
+ extern int internal_function __nss_project_lookup (service_user **,
+ const char *, void **);
+
+ int dbid = __nss_dbname_to_dbid (dbname);
+ if (dbid == -1)
+ return NULL;
+
+ switch (dbid)
+ {
+ case NSS_DBID_AUTH_ATTR:
+ return __nss_auth_attr_lookup;
+ case NSS_DBID_AUTOMOUNT:
+ return __nss_automount_lookup;
+ case NSS_DBID_BOOTPARAMS:
+ return __nss_bootparams_lookup;
+ case NSS_DBID_NETMASKS:
+ return __nss_netmasks_lookup;
+ case NSS_DBID_PRINTERS:
+ return __nss_printers_lookup;
+ case NSS_DBID_PROF_ATTR:
+ return __nss_prof_attr_lookup;
+ case NSS_DBID_PROJECT:
+ return __nss_project_lookup;
+ }
+
+ return NULL;
+}
--- /dev/null
+/* Copyright (C) 2008 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+ Contributed by David Bartley <dtbartle@csclub.uwaterloo.ca>, 2008.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 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
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, write to the Free
+ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ 02111-1307 USA. */
+
+#include <nss_sunP.h>
+#include <string.h>
+#include <bits/libc-lock.h>
+
+nss_status_t nss_search (nss_db_root_t *rootp, nss_db_initf_t initf,
+ int search_fnum, void *search_args)
+{
+}
--- /dev/null
+/* Copyright (C) 2008 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+ Contributed by David Bartley <dtbartle@csclub.uwaterloo.ca>, 2008.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 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
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, write to the Free
+ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ 02111-1307 USA. */
+
+#include <nss_sunP.h>
+#include <string.h>
+#include <bits/libc-lock.h>
+
+void nss_setent (nss_db_root_t *rootp, nss_db_initf_t initf,
+ nss_getent_t *contextpp)
+{
+ __libc_lock_lock (contextpp->lock);
+
+ /* If we've never called nss_setent then the context is NULL. */
+ if (contextpp->ctx == NULL)
+ {
+ /* Allocate context. */
+ contextpp->ctx = malloc (sizeof (struct nss_getent_context));
+ if (!contextpp->ctx)
+ {
+ __libc_lock_unlock (contextpp->lock);
+ return;
+ }
+ struct nss_getent_context *ctx = contextpp->ctx;
+ memset (ctx, 0, sizeof (*ctx));
+
+ /* Construct names. */
+ nss_db_params_t conf;
+ initf (&conf);
+ sprintf (ctx->getfuncname, "get%sent", conf.name);
+ sprintf (ctx->setfuncname, "set%sent", conf.name);
+ sprintf (ctx->endfuncname, "end%sent", conf.name);
+
+ /* Get db lookup func. */
+ ctx->dblookup = __nss_dbname_to_lookup (conf.name);
+ }
+
+ struct nss_getent_context *ctx = contextpp->ctx;
+ __nss_setent (ctx->setfuncname, ctx->dblookup, &ctx->nip, &ctx->startp,
+ &ctx->last_nip, ctx->stayopen, &ctx->stayopen_tmp, 0);
+
+ __libc_lock_unlock (contextpp->lock);
+}
--- /dev/null
+/* Copyright (C) 2008 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+ Contributed by David Bartley <dtbartle@csclub.uwaterloo.ca>, 2008.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 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
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, write to the Free
+ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ 02111-1307 USA. */
+
+#ifndef _NSS_SUNP_H
+#define _NSS_SUNP_H
+
+#include <sys/types.h>
+#include <nss/nsswitch.h>
+#include "nss_common.h"
+
+typedef struct
+ {
+ void *result;
+ char *buffer;
+ int buflen;
+ } nss_XbyY_buf_t;
+
+typedef int (*nss_str2ent_t)(const char *, int, void *, char *, int);
+
+typedef union nss_XbyY_key
+ {
+ uid_t uid;
+ gid_t gid;
+ projid_t projid;
+ const char *name;
+ int number;
+ struct
+ {
+ int net;
+ int type;
+ } netaddr;
+ struct
+ {
+ const char *addr;
+ int len;
+ int type;
+ } hostaddr;
+ struct
+ {
+ union
+ {
+ const char *name;
+ int port;
+ } serv;
+ const char *proto;
+ } serv;
+ void *ether;
+ struct
+ {
+ const char *name;
+ const char *keytype;
+ } pkey;
+ struct
+ {
+ const char *name;
+ int af_family;
+ int flags;
+ } ipnode;
+ void *attrp;
+} nss_XbyY_key_t;
+
+typedef int (*nss_key2str_t)(void *, size_t, nss_XbyY_key_t *, size_t *);
+
+typedef struct nss_XbyY_args
+ {
+ nss_XbyY_buf_t buf;
+ int stayopen;
+ nss_str2ent_t str2ent;
+ union nss_XbyY_key key;
+ void *returnval;
+ int erange;
+ int h_errno;
+ nss_status_t status;
+ nss_key2str_t key2str;
+ size_t returnlen;
+ } nss_XbyY_args_t;
+
+struct nss_getent_context
+ {
+ char getfuncname[30];
+ char setfuncname[30];
+ char endfuncname[30];
+ db_lookup_function dblookup;
+
+ service_user *nip;
+ service_user *last_nip;
+ service_user *startp;
+
+ int stayopen;
+ int stayopen_tmp;
+ };
+
+#define RESULT_TO_STATUS(res) \
+ ((res == 0) ? NSS_SUCCESS : (res == ENOENT) ? NSS_TRYAGAIN : NSS_ERROR)
+
+enum nss_dbid
+ {
+ NSS_DBID_AUTH_ATTR,
+ NSS_DBID_AUTOMOUNT,
+ NSS_DBID_BOOTPARAMS,
+ NSS_DBID_NETMASKS,
+ NSS_DBID_PRINTERS,
+ NSS_DBID_PROF_ATTR,
+ NSS_DBID_PROJECT
+ };
+
+extern int __nss_dbname_to_dbid (const char *dbname);
+extern const char * __nss_dbop_to_name (int dbid, int search_fnum);
+extern db_lookup_function __nss_dbname_to_lookup (const char * dbname);
+
+#endif /* _NSS_SUNP_H */
--- /dev/null
+/* Copyright (C) 2008 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+ Contributed by David Bartley <dtbartle@csclub.uwaterloo.ca>, 2008.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 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
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, write to the Free
+ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ 02111-1307 USA. */
+
+#define DATABASE_NAME printers
+#define DEFAULT_CONFIG "user files nis nisplus"
+
+#include "XXX-lookup.c"
--- /dev/null
+/* Copyright (C) 2008 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+ Contributed by David Bartley <dtbartle@csclub.uwaterloo.ca>, 2008.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 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
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, write to the Free
+ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ 02111-1307 USA. */
+
+#define DATABASE_NAME project
+#define DEFAULT_CONFIG "files nis"
+
+#include "XXX-lookup.c"
+++ /dev/null
-/* Copyright (C) 2008 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by David Bartley <dtbartle@csclub.uwaterloo.ca>, 2008.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 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
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, write to the Free
- Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
- 02111-1307 USA. */
-
-#define DATABASE_NAME user_attr
-#define DEFAULT_CONFIG "files nis"
-
-#include "XXX-lookup.c"