summaryrefslogtreecommitdiff
path: root/usr/src
diff options
context:
space:
mode:
authorRichard Lowe <richlowe@richlowe.net>2010-10-04 18:45:16 -0400
committerRichard Lowe <richlowe@richlowe.net>2010-10-04 18:45:16 -0400
commit3ee6e1231b28188bebd1d5bb4a32a673f5820322 (patch)
tree360b5a45e203e41f0ad0a58c2f1551897299e92b /usr/src
parent209e49b2ff611e7d61ff58e13756ae67f51be550 (diff)
downloadillumos-gate-3ee6e1231b28188bebd1d5bb4a32a673f5820322.tar.gz
248 mdnsd fails to run inside zone due to broken code
Reviewed by: garrett@nexenta.com Approved by: garrett@nexenta.com
Diffstat (limited to 'usr/src')
-rw-r--r--usr/src/cmd/cmd-inet/usr.lib/mdnsd/Makefile5
-rw-r--r--usr/src/cmd/cmd-inet/usr.lib/mdnsd/mDNSUNP.c133
2 files changed, 3 insertions, 135 deletions
diff --git a/usr/src/cmd/cmd-inet/usr.lib/mdnsd/Makefile b/usr/src/cmd/cmd-inet/usr.lib/mdnsd/Makefile
index 5c6226d233..5fde5a13c7 100644
--- a/usr/src/cmd/cmd-inet/usr.lib/mdnsd/Makefile
+++ b/usr/src/cmd/cmd-inet/usr.lib/mdnsd/Makefile
@@ -21,7 +21,6 @@
# Copyright 2007 Sun Microsystems, Inc. All rights reserved.
# Use is subject to license terms.
#
-#ident "%Z%%M% %I% %E% SMI"
PROG= mdnsd
MANIFEST= multicast.xml
@@ -41,9 +40,9 @@ OBJS= $(LOCAL_OBJS) $(CMN_OBJS)
MDNSFLAGS= -DNOT_HAVE_DAEMON -DNOT_HAVE_SA_LEN \
- -DLOG_PERROR=0 -DHAVE_SOLARIS -DHAVE_SOLARIS_ZONES \
+ -DLOG_PERROR=0 -DHAVE_SOLARIS \
-D_XPG4_2 -D__EXTENSIONS__ -DHAVE_BROKEN_RECVIF_NAME \
- -DHAVE_IPV6=1 -Dasm=__asm -DMDNSD_NOROOT \
+ -DHAVE_IPV6=1 -Dasm=__asm -DMDNSD_NOROOT \
-DPID_FILE=\"\" -DMDNSD_USER=\"noaccess\" \
-DMDNS_VERSIONSTR_NODTS
diff --git a/usr/src/cmd/cmd-inet/usr.lib/mdnsd/mDNSUNP.c b/usr/src/cmd/cmd-inet/usr.lib/mdnsd/mDNSUNP.c
index 2cea11b454..fbb4267417 100644
--- a/usr/src/cmd/cmd-inet/usr.lib/mdnsd/mDNSUNP.c
+++ b/usr/src/cmd/cmd-inet/usr.lib/mdnsd/mDNSUNP.c
@@ -17,122 +17,7 @@
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
-
- Change History (most recent first):
-
-$Log: mDNSUNP.c,v $
-Revision 1.34 2006/08/14 23:24:47 cheshire
-Re-licensed mDNSResponder daemon source code under Apache License, Version 2.0
-
-Revision 1.33 2006/03/13 23:14:21 cheshire
-<rdar://problem/4427969> Compile problems on FreeBSD
-Use <netinet/in_var.h> instead of <netinet6/in6_var.h>
-
-Revision 1.32 2005/12/21 02:56:43 cheshire
-<rdar://problem/4243433> get_ifi_info() should fake ifi_index when SIOCGIFINDEX undefined
-
-Revision 1.31 2005/12/21 02:46:05 cheshire
-<rdar://problem/4243514> mDNSUNP.c needs to include <sys/param.h> on 4.4BSD Lite
-
-Revision 1.30 2005/11/29 20:03:02 mkrochma
-Wrapped sin_len with #ifndef NOT_HAVE_SA_LEN
-
-Revision 1.29 2005/11/12 02:23:10 cheshire
-<rdar://problem/4317680> mDNSUNP.c needs to deal with lame results from SIOCGIFNETMASK, SIOCGIFBRDADDR and SIOCGIFDSTADDR
-
-Revision 1.28 2005/10/31 22:09:45 cheshire
-Buffer "char addr6[33]" was seven bytes too small
-
-Revision 1.27 2005/06/29 15:54:21 cheshire
-<rdar://problem/4113742> mDNSResponder-107.1 does not work on FreeBSD
-Refine last checkin so that it (hopefully) doesn't break get_ifi_info() for every other OS
-
-Revision 1.26 2005/04/08 21:43:59 ksekar
-<rdar://problem/4083426> mDNSPosix (v98) retrieve interface list bug on AMD64 architecture
-Submitted by Andrew de Quincey
-
-Revision 1.25 2005/04/08 21:37:57 ksekar
-<rdar://problem/3792767> get_ifi_info doesn't return IPv6 interfaces on Linux
-
-Revision 1.24 2005/04/08 21:30:16 ksekar
-<rdar://problem/4007457> Compiling problems with mDNSResponder-98 on Solaris/Sparc v9
-Patch submitted by Bernd Kuhls
-
-Revision 1.23 2004/12/01 04:25:05 cheshire
-<rdar://problem/3872803> Darwin patches for Solaris and Suse
-Provide daemon() for platforms that don't have it
-
-Revision 1.22 2004/11/30 22:37:01 cheshire
-Update copyright dates and add "Mode: C; tab-width: 4" headers
-
-Revision 1.21 2004/11/08 22:13:59 rpantos
-Create sockf6 lazily when v6 interface found.
-
-Revision 1.20 2004/10/16 00:17:01 cheshire
-<rdar://problem/3770558> Replace IP TTL 255 check with local subnet source address check
-
-Revision 1.19 2004/07/20 01:47:36 rpantos
-NOT_HAVE_SA_LEN applies to v6, too. And use more-portable s6_addr.
-
-Revision 1.18 2004/07/08 21:30:21 rpantos
-
-Revision 1.17 2004/06/25 00:26:27 rpantos
-Changes to fix the Posix build on Solaris.
-
-Revision 1.16 2004/03/20 05:37:09 cheshire
-Fix contributed by Terry Lambert & Alfred Perlstein:
-Don't use uint8_t -- it requires stdint.h, which doesn't exist on FreeBSD 4.x
-
-Revision 1.15 2004/02/14 01:09:45 rpantos
-Just use HAVE_IPV6 rather than defined(HAVE_IPV6).
-
-Revision 1.14 2003/12/11 18:53:40 cheshire
-Fix compiler warning reported by Paul Guyot
-
-Revision 1.13 2003/12/08 20:47:02 rpantos
-Add support for mDNSResponder on Linux.
-
-Revision 1.12 2003/09/02 20:47:13 cheshire
-Fix signed/unsigned warning
-
-Revision 1.11 2003/08/12 19:56:26 cheshire
-Update to APSL 2.0
-
-Revision 1.10 2003/08/06 18:20:51 cheshire
-Makefile cleanup
-
-Revision 1.9 2003/07/14 18:11:54 cheshire
-Fix stricter compiler warnings
-
-Revision 1.8 2003/07/02 21:19:59 cheshire
-<rdar://problem/3313413> Update copyright notices, etc., in source code comments
-
-Revision 1.7 2003/03/20 21:10:31 cheshire
-Fixes done at IETF 56 to make mDNSProxyResponderPosix run on Solaris
-
-Revision 1.6 2003/03/13 03:46:21 cheshire
-Fixes to make the code build on Linux
-
-Revision 1.5 2003/02/07 03:02:02 cheshire
-Submitted by: Mitsutaka Watanabe
-The code saying "index += 1;" was effectively making up random interface index values.
-The right way to find the correct interface index is if_nametoindex();
-
-Revision 1.4 2002/12/23 22:13:31 jgraessl
-
-Reviewed by: Stuart Cheshire
-Initial IPv6 support for mDNSResponder.
-
-Revision 1.3 2002/09/21 20:44:53 zarzycki
-Added APSL info
-
-Revision 1.2 2002/09/19 04:20:44 cheshire
-Remove high-ascii characters that confuse some systems
-
-Revision 1.1 2002/09/17 06:24:34 cheshire
-First checkin
-
-*/
+ */
#include "mDNSUNP.h"
@@ -179,9 +64,6 @@ First checkin
#include <net/if_var.h>
#else
#include <alloca.h>
-#ifdef HAVE_SOLARIS_ZONES
-#include <zone.h>
-#endif /* HAVE_SOLARIS_ZONES */
#endif /* !HAVE_SOLARIS */
#include <netinet/in_var.h>
// NOTE: netinet/in_var.h implicitly includes netinet6/in6_var.h for us
@@ -373,19 +255,6 @@ select_src_ifi_info_solaris(int sockfd, int numifs,
if (strcmp(cmpifname, curifname) != 0)
continue;
-#ifdef HAVE_SOLARIS_ZONES
- /* Check the zone associated with the address */
- lifrcopy = *lifr;
- if (ioctl(sockfd, SIOCGLIFZONE, &lifrcopy) < 0) {
- /* interface removed */
- if (errno == ENXIO)
- continue;
- return(NULL);
- }
- if (lifrcopy.lifr_zoneid != getzoneid())
- continue;
-#endif
-
lifrcopy = *lifr;
if (ioctl(sockfd, SIOCGLIFFLAGS, &lifrcopy) < 0) {
/* interface removed */