/* * 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 2009 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. * * NameService class * Methods and state associated with a name service. */ package com.sun.admin.pm.server; import java.io.*; public class NameService { private String nameservice = null; private String nshost = null; private String user = null; private String passwd = null; private boolean boundtonisslave = false; private boolean isauth = false; // // Constructors // // This constructor is used internally in the server package. public NameService() { nameservice = "system"; isauth = true; } // This constructor should always be used by the client. public NameService(String nsname) throws Exception { if ((nsname.equals("system")) || (nsname.equals("nis")) || (nsname.equals("ldap"))) { nameservice = nsname; } else { throw new pmInternalErrorException( "Unknown name service: " + nsname); } Host h = new Host(); h.isNSConfigured(nameservice); if (nsname.equals("nis")) { String nm = h.getNisHost("master"); String nb = h.getNisHost("bound"); if (!nm.equals(nb)) { boundtonisslave = true; } setUser("root"); setNameServiceHost(nm); setPasswd(""); } else if (nsname.equals("ldap")) { String master = h.getLDAPMaster(); if (master == null) { setNameServiceHost(""); } else { setNameServiceHost(master); } String admin = h.getDefaultAdminDN(); if (admin == null) { setUser(""); } else { setUser(admin); } setPasswd(""); } } public void setNameServiceHost(String arg) { nshost = arg; } public void setUser(String arg) { user = arg; } public void setPasswd(String arg) { passwd = arg; } public String getNameService() { return (nameservice); } public String getNameServiceHost() { return (nshost); } public String getUser() { return (user); } public String getPasswd() { return (passwd); } public boolean getBoundToNisSlave() { return (boundtonisslave); } public boolean isAuth() { return (isauth); } public void checkAuth() throws Exception { Debug.message("SVR: NameService.checkAuth()"); DoPrinterNS.doAuth(this); isauth = true; } }