1*f1fab66eSDavid van Moolenbroek /* $NetBSD: refuse.c,v 1.5 2012/03/21 10:10:37 matt Exp $ */ 2*f1fab66eSDavid van Moolenbroek 3*f1fab66eSDavid van Moolenbroek /* 4*f1fab66eSDavid van Moolenbroek * refuse() reports a refused connection, and takes the consequences: in 5*f1fab66eSDavid van Moolenbroek * case of a datagram-oriented service, the unread datagram is taken from 6*f1fab66eSDavid van Moolenbroek * the input queue (or inetd would see the same datagram again and again); 7*f1fab66eSDavid van Moolenbroek * the program is terminated. 8*f1fab66eSDavid van Moolenbroek * 9*f1fab66eSDavid van Moolenbroek * Author: Wietse Venema, Eindhoven University of Technology, The Netherlands. 10*f1fab66eSDavid van Moolenbroek */ 11*f1fab66eSDavid van Moolenbroek 12*f1fab66eSDavid van Moolenbroek #include <sys/cdefs.h> 13*f1fab66eSDavid van Moolenbroek #ifndef lint 14*f1fab66eSDavid van Moolenbroek #if 0 15*f1fab66eSDavid van Moolenbroek static char sccsid[] = "@(#) refuse.c 1.5 94/12/28 17:42:39"; 16*f1fab66eSDavid van Moolenbroek #else 17*f1fab66eSDavid van Moolenbroek __RCSID("$NetBSD: refuse.c,v 1.5 2012/03/21 10:10:37 matt Exp $"); 18*f1fab66eSDavid van Moolenbroek #endif 19*f1fab66eSDavid van Moolenbroek #endif 20*f1fab66eSDavid van Moolenbroek 21*f1fab66eSDavid van Moolenbroek /* System libraries. */ 22*f1fab66eSDavid van Moolenbroek 23*f1fab66eSDavid van Moolenbroek #include <stdio.h> 24*f1fab66eSDavid van Moolenbroek #include <syslog.h> 25*f1fab66eSDavid van Moolenbroek 26*f1fab66eSDavid van Moolenbroek /* Local stuff. */ 27*f1fab66eSDavid van Moolenbroek 28*f1fab66eSDavid van Moolenbroek #include "tcpd.h" 29*f1fab66eSDavid van Moolenbroek 30*f1fab66eSDavid van Moolenbroek /* refuse - refuse request */ 31*f1fab66eSDavid van Moolenbroek 32*f1fab66eSDavid van Moolenbroek void refuse(struct request_info * request)33*f1fab66eSDavid van Moolenbroekrefuse(struct request_info *request) 34*f1fab66eSDavid van Moolenbroek { 35*f1fab66eSDavid van Moolenbroek syslog(deny_severity, "refused connect from %s", eval_client(request)); 36*f1fab66eSDavid van Moolenbroek clean_exit(request); 37*f1fab66eSDavid van Moolenbroek /* NOTREACHED */ 38*f1fab66eSDavid van Moolenbroek } 39*f1fab66eSDavid van Moolenbroek 40