1 /* 2 * Copyright 2001 Sun Microsystems, Inc. All rights reserved. 3 * Use is subject to license terms. 4 */ 5 6 /* 7 * hosts_ctl() combines common applications of the host access control 8 * library routines. It bundles its arguments then calls the hosts_access() 9 * access control checker. The host name and user name arguments should be 10 * empty strings, STRING_UNKNOWN or real data. If a match is found, the 11 * optional shell command is executed. 12 * 13 * Restriction: this interface does not pass enough information to support 14 * selective remote username lookups or selective hostname double checks. 15 * 16 * Author: Wietse Venema, Eindhoven University of Technology, The Netherlands. 17 */ 18 19 #ifndef lint 20 static char sccsid[] = "@(#) hosts_ctl.c 1.4 94/12/28 17:42:27"; 21 #endif 22 23 #include <stdio.h> 24 25 #include "tcpd.h" 26 27 /* hosts_ctl - limited interface to the hosts_access() routine */ 28 29 int 30 hosts_ctl(const char *daemon, const char *name, 31 const char *addr, const char *user) 32 { 33 struct request_info request; 34 35 return (hosts_access(request_init(&request, 36 RQ_DAEMON, daemon, 37 RQ_CLIENT_NAME, name, 38 RQ_CLIENT_ADDR, addr, 39 RQ_USER, user, 40 0))); 41 } 42