#! /bin/sh
#
# "@(#)newshost 23.3 90/06/19
#
# Copyright (c) 1985 by Sun Microsystems, Inc.
#
#
# This file is a product of Sun Microsystems, Inc. and is provided for
# unrestricted use provided that this legend is included on all tape
# media and as a part of the software program in whole or part.  Users
# may copy or modify this file without charge, but are not authorized to
# license or distribute it to anyone else except as part of a product
# or program developed by the user.
# 
# THIS FILE IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE
# WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
# PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
# 
# This file is provided with no support and without any obligation on the
# part of Sun Microsystems, Inc. to assist in its use, correction,
# modification or enhancement.
# 
# SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE
# INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY THIS FILE
# OR ANY PART THEREOF.
# 
# In no event will Sun Microsystems, Inc. be liable for any lost revenue
# or profits or other special, indirect and consequential damages, even
# if Sun has been advised of the possibility of such damages.
# 
# Sun Microsystems, Inc.
# 2550 Garcia Avenue
# Mountain View, California  94043
#
# newshost: add, remove or show the registry of hosts that are allowed to
#	    connect to the NeWS server
#
case $1 in
show)
        echo "(Hosts in access list: ) print /listhosts ClassAuthorization send { cvx } forall count 0 ne { pstack } { (\n) print } ifelse /hostaccesscontrol ClassAuthorization send not { (Host-based access disabled\n) print } if"|psh
        ;;
enable)
        echo "true /sethostaccesscontrol ClassAuthorization send"|psh
        ;;
disable)
        echo "false /sethostaccesscontrol ClassAuthorization send"|psh
        ;;
add)
        shift
        echo "{ $* } { cvlit /addhost ClassAuthorization send } forall "|psh
        ;;
remove|sub)
        shift
        echo "{ $* } { { cvlit /removehost ClassAuthorization send } stopped clear
 } forall "|psh
        ;;
*)
	echo "$0 manipulates the NeWS host-based access security facility."
	echo "Usage: $0 show"
	echo "   Or: $0 add [hosts]"
	echo "   Or: $0 remove [hosts]"
	echo "   Or: $0 enable"
	echo "   Or: $0 disable"
	;;
esac
