summaryrefslogtreecommitdiff
path: root/usr/src/lib/libtsnet/common
diff options
context:
space:
mode:
Diffstat (limited to 'usr/src/lib/libtsnet/common')
-rw-r--r--usr/src/lib/libtsnet/common/tsol_getzcent.c141
-rw-r--r--usr/src/lib/libtsnet/common/tsol_sgettpent.c1
2 files changed, 1 insertions, 141 deletions
diff --git a/usr/src/lib/libtsnet/common/tsol_getzcent.c b/usr/src/lib/libtsnet/common/tsol_getzcent.c
deleted file mode 100644
index 4faf1cf5be..0000000000
--- a/usr/src/lib/libtsnet/common/tsol_getzcent.c
+++ /dev/null
@@ -1,141 +0,0 @@
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License (the "License").
- * You may not use this file except in compliance with the License.
- *
- * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
- * or http://www.opensolaris.org/os/licensing.
- * See the License for the specific language governing permissions
- * and limitations under the License.
- *
- * When distributing Covered Code, include this CDDL HEADER in each
- * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
- * If applicable, add the following below this CDDL HEADER, with the
- * fields enclosed by brackets "[]" replaced with your own identifying
- * information: Portions Copyright [yyyy] [name of copyright owner]
- *
- * CDDL HEADER END
- */
-/*
- * Copyright 2006 Sun Microsystems, Inc. All rights reserved.
- * Use is subject to license terms.
- */
-
-#pragma ident "%Z%%M% %I% %E% SMI"
-
-#include <ctype.h>
-#include <nss_dbdefs.h>
-#include <libtsnet.h>
-
-static int tsol_zc_stayopen; /* Unsynchronized, but it affects only */
- /* efficiency, not correctness */
-static DEFINE_NSS_DB_ROOT(db_root);
-static DEFINE_NSS_GETENT(context);
-
-struct zc_args {
- tsol_zcent_t *zc;
- int err;
- char *errstr;
- int errno_val;
-};
-
-static int str2tsol_zcent(const char *, int, void *, char *, int);
-
-static void
-_nss_initf_tsol_zc(nss_db_params_t *p)
-{
- p->name = NSS_DBNAM_TSOL_ZC;
- p->default_config = NSS_DEFCONF_TSOL_ZC;
-}
-
-/*
- * This is just a placeholder. The system doesn't currently lookup tnzonecfg
- * entries via name services.
- */
-/* ARGSUSED */
-static void
-switch_callback(void *res, const char *zonename, const char *label,
- const char *flags, const char *privmlp, const char *globalmlp)
-{
-}
-
-tsol_zcent_t *
-tsol_getzcbyname(const char *name)
-{
- nss_XbyY_args_t arg;
- struct zc_args zcargs;
-
- zcargs.zc = NULL;
- NSS_XbyY_INIT(&arg, &zcargs, (char *)switch_callback, 1,
- str2tsol_zcent);
- arg.key.name = name;
- arg.stayopen = tsol_zc_stayopen;
- arg.h_errno = TSOL_NOT_FOUND;
- arg.status = nss_search(&db_root, _nss_initf_tsol_zc,
- NSS_DBOP_TSOL_ZC_BYNAME, &arg);
- (void) NSS_XbyY_FINI(&arg);
- if (arg.status != 0) {
- tsol_freezcent(zcargs.zc);
- zcargs.zc = NULL;
- }
- return (zcargs.zc);
-}
-
-void
-tsol_setzcent(int stay)
-{
- tsol_zc_stayopen |= stay;
- nss_setent(&db_root, _nss_initf_tsol_zc, &context);
-}
-
-void
-tsol_endzcent(void)
-{
- tsol_zc_stayopen = 0;
- nss_endent(&db_root, _nss_initf_tsol_zc, &context);
- nss_delete(&db_root);
-}
-
-struct tsol_zcent *
-tsol_getzcent(void)
-{
- nss_XbyY_args_t arg;
- struct zc_args zcargs;
-
- zcargs.zc = NULL;
- zcargs.errno_val = errno;
- NSS_XbyY_INIT(&arg, &zcargs, (char *)switch_callback, 1,
- str2tsol_zcent);
- /* No key, no stayopen */
- arg.status = nss_getent(&db_root, _nss_initf_tsol_zc, &context, &arg);
- (void) NSS_XbyY_FINI(&arg);
- if (arg.status != 0) {
- tsol_freezcent(zcargs.zc);
- zcargs.zc = NULL;
- }
- if (zcargs.zc == NULL && zcargs.err == LTSNET_SYSERR)
- errno = zcargs.errno_val;
- return (zcargs.zc);
-}
-
-/*
- * This is the callback routine for nss. It just wraps the tsol_sgetzcent
- * parser.
- */
-/* ARGSUSED */
-static int
-str2tsol_zcent(const char *instr, int lenstr, void *entp, char *buffer,
- int buflen)
-{
- struct zc_args *zcargs = entp;
-
- if (zcargs->zc != NULL)
- tsol_freezcent(zcargs->zc);
- zcargs->zc = tsol_sgetzcent(instr, &zcargs->err, &zcargs->errstr);
- zcargs->errno_val = errno;
-
- return (zcargs->zc == NULL ? NSS_STR_PARSE_PARSE :
- NSS_STR_PARSE_SUCCESS);
-}
diff --git a/usr/src/lib/libtsnet/common/tsol_sgettpent.c b/usr/src/lib/libtsnet/common/tsol_sgettpent.c
index 37fd75b234..295fdba190 100644
--- a/usr/src/lib/libtsnet/common/tsol_sgettpent.c
+++ b/usr/src/lib/libtsnet/common/tsol_sgettpent.c
@@ -45,6 +45,7 @@
#include <strings.h>
#include <libtsnet.h>
#include <tsol/label.h>
+#include <sys/tsol/label_macro.h>
#include <sys/types.h>
#include <nss.h>
#include <secdb.h>