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