From nobody@FreeBSD.org  Sat Jul 30 07:33:23 2011
Return-Path: <nobody@FreeBSD.org>
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id CCE19106566C
	for <freebsd-gnats-submit@FreeBSD.org>; Sat, 30 Jul 2011 07:33:23 +0000 (UTC)
	(envelope-from nobody@FreeBSD.org)
Received: from red.freebsd.org (red.freebsd.org [IPv6:2001:4f8:fff6::22])
	by mx1.freebsd.org (Postfix) with ESMTP id BCD2B8FC14
	for <freebsd-gnats-submit@FreeBSD.org>; Sat, 30 Jul 2011 07:33:23 +0000 (UTC)
Received: from red.freebsd.org (localhost [127.0.0.1])
	by red.freebsd.org (8.14.4/8.14.4) with ESMTP id p6U7XN1Y009918
	for <freebsd-gnats-submit@FreeBSD.org>; Sat, 30 Jul 2011 07:33:23 GMT
	(envelope-from nobody@red.freebsd.org)
Received: (from nobody@localhost)
	by red.freebsd.org (8.14.4/8.14.4/Submit) id p6U7XNcM009911;
	Sat, 30 Jul 2011 07:33:23 GMT
	(envelope-from nobody)
Message-Id: <201107300733.p6U7XNcM009911@red.freebsd.org>
Date: Sat, 30 Jul 2011 07:33:23 GMT
From: Charles Sprickman <spork@bway.net>
To: freebsd-gnats-submit@FreeBSD.org
Subject: syslogd can't bind to multiple specific IPs
X-Send-Pr-Version: www-3.1
X-GNATS-Notify:

>Number:         159305
>Category:       bin
>Synopsis:       [request] make syslogd(8) bind to multiple specific IPs
>Confidential:   no
>Severity:       serious
>Priority:       low
>Responsible:    freebsd-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:  
>Class:          change-request
>Submitter-Id:   current-users
>Arrival-Date:   Sat Jul 30 07:40:08 UTC 2011
>Closed-Date:    
>Last-Modified:  Sat Jul 30 12:00:58 UTC 2011
>Originator:     Charles Sprickman
>Release:        FreeBSD 8.2
>Organization:
>Environment:
>Description:
Recently many daemons that had a long history of only being able to
bind to all available IPs have been modified to accept a runtime flag
to allow binding to one or more specific IPs.  With the wide use of
FreeBSD in environments where the host may be on multiple networks
(internal, external, management, etc.) and with jails becoming more
common, it's becoming necessary for any service to be able to bind to
one or more specific IPs.  Firewalls can of course block access for
traffic entering on unwanted interfaces, but jails present an issue
with binding to all available IPs - if you run the same service in a
jail, that service cannot bind since the jail's host is using the IP.

mountd, nfsd, rpcinfo and others have been changed to allow the
administrator to specify either a single IP to bind to (-h option) or
a list of IPs to bind to (multiple -h options).

syslogd does have the "-b" option, but it only can be called once.  If
the administrator passes multiple "-b" options, the last one specified
is the only one syslogd binds to.
>How-To-Repeat:
Start syslogd with multiple "-b" options.  It will only bind to the last
one in the argument list.
>Fix:
Steal code from other udp daemons that support this. :)

>Release-Note:
>Audit-Trail:
>Unformatted:
