hosts_access(3) - correct usage?
Guido van Rooij
guido at gvr.org
Wed Oct 29 08:10:12 PST 2003
On Wed, Oct 29, 2003 at 09:38:50AM -0500, Dan Langille wrote:
> Is this the right way to use hosts_access? The code blows up during
> the hosts_access call. I'm told it runs OK on Linux/Solaris. I'm
> wonderding if there's something different it needs to do be doing on
> FreeBSD.
>
> Thanks
>
> #ifdef HAVE_LIBWRAP
> P(mutex); /* hosts_access is not thread safe */
> request_init(&request, RQ_DAEMON, my_name, RQ_FILE, newsockfd,
> 0);
> fromhost(&request);
> if (!hosts_access(&request)) {
> V(mutex);
> Jmsg2(NULL, M_WARNING, 0, _("Connection from %s:%d refused
> by hosts.access"),
> inet_ntoa(cli_addr.sin_addr), ntohs(cli_addr.sin_port));
> close(newsockfd);
> continue;
> }
> V(mutex);
> #endif
This seems okay to me.
OpenSSH uses:
struct request_info req;
request_init(&req, RQ_DAEMON, __progname, RQ_FILE, sock_in, 0);
fromhost(&req);
if (!hosts_access(&req)) {
debug("Connection refused by tcp wrapper");
refuse(&req);
/* NOTREACHED */
fatal("libwrap refuse returns");
}
I take it that newsockfd is the one returned from accept()?
I'd try using a debug version of libwrap...
-Guido
More information about the freebsd-hackers
mailing list