Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 15 Dec 2008 16:40:25 GMT
From:      Ed Schouten <ed@FreeBSD.org>
To:        Perforce Change Reviews <perforce@FreeBSD.org>
Subject:   PERFORCE change 154709 for review
Message-ID:  <200812151640.mBFGePoT085162@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=154709

Change 154709 by ed@ed_flippo on 2008/12/15 16:40:10

	IFC, so I can do some more hacking.

Affected files ...

.. //depot/projects/mpsafetty/UPDATING#16 integrate
.. //depot/projects/mpsafetty/contrib/bsnmp/snmp_mibII/mibII.c#2 integrate
.. //depot/projects/mpsafetty/contrib/bsnmp/snmp_mibII/mibII_route.c#2 integrate
.. //depot/projects/mpsafetty/contrib/ipfilter/ipsend/44arp.c#2 integrate
.. //depot/projects/mpsafetty/etc/regdomain.xml#2 integrate
.. //depot/projects/mpsafetty/include/arpa/nameser.h#2 integrate
.. //depot/projects/mpsafetty/include/resolv.h#2 integrate
.. //depot/projects/mpsafetty/lib/libc/include/isc/eventlib.h#2 integrate
.. //depot/projects/mpsafetty/lib/libc/include/isc/platform.h#1 branch
.. //depot/projects/mpsafetty/lib/libc/inet/inet_net_pton.c#2 integrate
.. //depot/projects/mpsafetty/lib/libc/net/rcmd.3#2 integrate
.. //depot/projects/mpsafetty/lib/libc/resolv/res_debug.c#2 integrate
.. //depot/projects/mpsafetty/lib/libc/resolv/res_mkquery.c#2 integrate
.. //depot/projects/mpsafetty/lib/libc/resolv/res_query.c#2 integrate
.. //depot/projects/mpsafetty/lib/libc/resolv/res_send.c#2 integrate
.. //depot/projects/mpsafetty/lib/libfetch/fetch.3#2 integrate
.. //depot/projects/mpsafetty/lib/libfetch/fetch.h#2 integrate
.. //depot/projects/mpsafetty/lib/libfetch/http.c#3 integrate
.. //depot/projects/mpsafetty/lib/libstand/if_ether.h#2 integrate
.. //depot/projects/mpsafetty/libexec/bootpd/rtmsg.c#2 integrate
.. //depot/projects/mpsafetty/release/picobsd/tinyware/ns/ns.c#2 integrate
.. //depot/projects/mpsafetty/sbin/ifconfig/ifieee80211.c#7 integrate
.. //depot/projects/mpsafetty/sbin/ifconfig/ifvlan.c#4 integrate
.. //depot/projects/mpsafetty/sbin/ifconfig/regdomain.c#4 integrate
.. //depot/projects/mpsafetty/sbin/ifconfig/regdomain.h#2 integrate
.. //depot/projects/mpsafetty/sbin/route/route.c#2 integrate
.. //depot/projects/mpsafetty/sbin/routed/table.c#2 integrate
.. //depot/projects/mpsafetty/share/man/man4/Makefile#16 integrate
.. //depot/projects/mpsafetty/share/man/man4/fxp.4#2 integrate
.. //depot/projects/mpsafetty/share/man/man4/route.4#2 integrate
.. //depot/projects/mpsafetty/share/man/man9/rtalloc.9#2 integrate
.. //depot/projects/mpsafetty/share/man/man9/rtentry.9#2 integrate
.. //depot/projects/mpsafetty/sys/conf/NOTES#19 integrate
.. //depot/projects/mpsafetty/sys/conf/files#35 integrate
.. //depot/projects/mpsafetty/sys/conf/files.sparc64#10 integrate
.. //depot/projects/mpsafetty/sys/conf/files.sun4v#3 integrate
.. //depot/projects/mpsafetty/sys/contrib/pf/net/pf.c#7 integrate
.. //depot/projects/mpsafetty/sys/contrib/rdma/rdma_addr.c#2 integrate
.. //depot/projects/mpsafetty/sys/dev/ath/ath_hal/ar5312/ar5312_attach.c#3 integrate
.. //depot/projects/mpsafetty/sys/dev/cxgb/ulp/tom/cxgb_l2t.c#4 integrate
.. //depot/projects/mpsafetty/sys/dev/cxgb/ulp/tom/cxgb_l2t.h#3 integrate
.. //depot/projects/mpsafetty/sys/dev/hwpmc/hwpmc_logging.c#5 integrate
.. //depot/projects/mpsafetty/sys/dev/ofw/ofw_bus_subr.c#2 integrate
.. //depot/projects/mpsafetty/sys/dev/ofw/ofw_bus_subr.h#2 integrate
.. //depot/projects/mpsafetty/sys/dev/ofw/openfirm.h#2 integrate
.. //depot/projects/mpsafetty/sys/dev/usb/ucom.c#11 integrate
.. //depot/projects/mpsafetty/sys/dev/usb/ucomvar.h#5 integrate
.. //depot/projects/mpsafetty/sys/dev/usb/uftdi.c#5 integrate
.. //depot/projects/mpsafetty/sys/modules/Makefile#19 integrate
.. //depot/projects/mpsafetty/sys/modules/ath/Makefile#3 integrate
.. //depot/projects/mpsafetty/sys/modules/ath_rate_amrr/Makefile#4 delete
.. //depot/projects/mpsafetty/sys/modules/ath_rate_onoe/Makefile#4 delete
.. //depot/projects/mpsafetty/sys/modules/ath_rate_sample/Makefile#4 delete
.. //depot/projects/mpsafetty/sys/modules/cxgb/Makefile#3 integrate
.. //depot/projects/mpsafetty/sys/net/if.c#13 integrate
.. //depot/projects/mpsafetty/sys/net/if_arcsubr.c#4 integrate
.. //depot/projects/mpsafetty/sys/net/if_atmsubr.c#3 integrate
.. //depot/projects/mpsafetty/sys/net/if_ethersubr.c#9 integrate
.. //depot/projects/mpsafetty/sys/net/if_fddisubr.c#5 integrate
.. //depot/projects/mpsafetty/sys/net/if_fwsubr.c#5 integrate
.. //depot/projects/mpsafetty/sys/net/if_iso88025subr.c#5 integrate
.. //depot/projects/mpsafetty/sys/net/if_llatbl.c#1 branch
.. //depot/projects/mpsafetty/sys/net/if_llatbl.h#1 branch
.. //depot/projects/mpsafetty/sys/net/if_var.h#7 integrate
.. //depot/projects/mpsafetty/sys/net/radix_mpath.c#4 integrate
.. //depot/projects/mpsafetty/sys/net/route.c#12 integrate
.. //depot/projects/mpsafetty/sys/net/route.h#6 integrate
.. //depot/projects/mpsafetty/sys/net/rtsock.c#10 integrate
.. //depot/projects/mpsafetty/sys/net80211/_ieee80211.h#3 integrate
.. //depot/projects/mpsafetty/sys/net80211/ieee80211.c#5 integrate
.. //depot/projects/mpsafetty/sys/net80211/ieee80211_ddb.c#8 integrate
.. //depot/projects/mpsafetty/sys/net80211/ieee80211_dfs.h#2 integrate
.. //depot/projects/mpsafetty/sys/net80211/ieee80211_hostap.c#8 integrate
.. //depot/projects/mpsafetty/sys/net80211/ieee80211_input.c#4 integrate
.. //depot/projects/mpsafetty/sys/net80211/ieee80211_ioctl.c#6 integrate
.. //depot/projects/mpsafetty/sys/net80211/ieee80211_node.c#6 integrate
.. //depot/projects/mpsafetty/sys/net80211/ieee80211_node.h#5 integrate
.. //depot/projects/mpsafetty/sys/net80211/ieee80211_output.c#5 integrate
.. //depot/projects/mpsafetty/sys/net80211/ieee80211_regdomain.c#3 integrate
.. //depot/projects/mpsafetty/sys/net80211/ieee80211_scan_sta.c#5 integrate
.. //depot/projects/mpsafetty/sys/net80211/ieee80211_var.h#5 integrate
.. //depot/projects/mpsafetty/sys/netgraph/netflow/netflow.c#4 integrate
.. //depot/projects/mpsafetty/sys/netgraph/ng_base.c#12 integrate
.. //depot/projects/mpsafetty/sys/netinet/if_atm.c#2 integrate
.. //depot/projects/mpsafetty/sys/netinet/if_ether.c#12 integrate
.. //depot/projects/mpsafetty/sys/netinet/if_ether.h#2 integrate
.. //depot/projects/mpsafetty/sys/netinet/in.c#7 integrate
.. //depot/projects/mpsafetty/sys/netinet/in_mcast.c#7 integrate
.. //depot/projects/mpsafetty/sys/netinet/in_pcb.c#16 integrate
.. //depot/projects/mpsafetty/sys/netinet/in_proto.c#4 integrate
.. //depot/projects/mpsafetty/sys/netinet/in_rmx.c#8 integrate
.. //depot/projects/mpsafetty/sys/netinet/in_var.h#6 integrate
.. //depot/projects/mpsafetty/sys/netinet/ip_carp.c#8 integrate
.. //depot/projects/mpsafetty/sys/netinet/ip_fastfwd.c#6 integrate
.. //depot/projects/mpsafetty/sys/netinet/ip_fw2.c#17 integrate
.. //depot/projects/mpsafetty/sys/netinet/ip_input.c#10 integrate
.. //depot/projects/mpsafetty/sys/netinet/ip_output.c#6 integrate
.. //depot/projects/mpsafetty/sys/netinet/tcp_subr.c#14 integrate
.. //depot/projects/mpsafetty/sys/netinet6/icmp6.c#9 integrate
.. //depot/projects/mpsafetty/sys/netinet6/in6.c#7 integrate
.. //depot/projects/mpsafetty/sys/netinet6/in6_rmx.c#9 integrate
.. //depot/projects/mpsafetty/sys/netinet6/in6_src.c#11 integrate
.. //depot/projects/mpsafetty/sys/netinet6/in6_var.h#3 integrate
.. //depot/projects/mpsafetty/sys/netinet6/ip6_input.c#8 integrate
.. //depot/projects/mpsafetty/sys/netinet6/ip6_output.c#7 integrate
.. //depot/projects/mpsafetty/sys/netinet6/ip6_var.h#6 integrate
.. //depot/projects/mpsafetty/sys/netinet6/nd6.c#8 integrate
.. //depot/projects/mpsafetty/sys/netinet6/nd6.h#5 integrate
.. //depot/projects/mpsafetty/sys/netinet6/nd6_nbr.c#8 integrate
.. //depot/projects/mpsafetty/sys/netinet6/nd6_rtr.c#8 integrate
.. //depot/projects/mpsafetty/sys/netinet6/vinet6.h#5 integrate
.. //depot/projects/mpsafetty/sys/powerpc/include/param.h#2 integrate
.. //depot/projects/mpsafetty/sys/powerpc/ofw/ofw_pcib_pci.c#3 integrate
.. //depot/projects/mpsafetty/sys/powerpc/ofw/ofw_pcibus.c#2 integrate
.. //depot/projects/mpsafetty/sys/powerpc/powermac/grackle.c#3 integrate
.. //depot/projects/mpsafetty/sys/powerpc/powermac/gracklevar.h#2 integrate
.. //depot/projects/mpsafetty/sys/powerpc/powermac/macio.c#4 integrate
.. //depot/projects/mpsafetty/sys/powerpc/powermac/uninorth.c#3 integrate
.. //depot/projects/mpsafetty/sys/powerpc/powermac/uninorthvar.h#3 integrate
.. //depot/projects/mpsafetty/sys/sparc64/ebus/ebus.c#3 integrate
.. //depot/projects/mpsafetty/sys/sparc64/include/ofw_bus.h#2 delete
.. //depot/projects/mpsafetty/sys/sparc64/isa/ofw_isa.c#2 integrate
.. //depot/projects/mpsafetty/sys/sparc64/pci/apb.c#2 integrate
.. //depot/projects/mpsafetty/sys/sparc64/pci/ofw_pci.h#3 integrate
.. //depot/projects/mpsafetty/sys/sparc64/pci/ofw_pcib.c#2 integrate
.. //depot/projects/mpsafetty/sys/sparc64/pci/ofw_pcib_subr.c#2 integrate
.. //depot/projects/mpsafetty/sys/sparc64/pci/ofw_pcibus.c#4 integrate
.. //depot/projects/mpsafetty/sys/sparc64/pci/psycho.c#5 integrate
.. //depot/projects/mpsafetty/sys/sparc64/pci/schizo.c#4 integrate
.. //depot/projects/mpsafetty/sys/sparc64/sbus/sbus.c#3 integrate
.. //depot/projects/mpsafetty/sys/sparc64/sparc64/ofw_bus.c#2 delete
.. //depot/projects/mpsafetty/sys/sparc64/sparc64/ofw_machdep.c#2 integrate
.. //depot/projects/mpsafetty/sys/sun4v/include/ofw_bus.h#2 delete
.. //depot/projects/mpsafetty/sys/sys/param.h#23 integrate
.. //depot/projects/mpsafetty/sys/sys/vtoc.h#2 integrate
.. //depot/projects/mpsafetty/usr.bin/fetch/fetch.1#3 integrate
.. //depot/projects/mpsafetty/usr.bin/fetch/fetch.c#4 integrate
.. //depot/projects/mpsafetty/usr.bin/netstat/route.c#4 integrate
.. //depot/projects/mpsafetty/usr.bin/tar/util.c#4 integrate
.. //depot/projects/mpsafetty/usr.sbin/arp/arp.c#2 integrate
.. //depot/projects/mpsafetty/usr.sbin/ndp/ndp.c#2 integrate
.. //depot/projects/mpsafetty/usr.sbin/ppp/route.c#2 integrate
.. //depot/projects/mpsafetty/usr.sbin/route6d/route6d.c#2 integrate
.. //depot/projects/mpsafetty/usr.sbin/sysinstall/main.c#3 integrate
.. //depot/projects/mpsafetty/usr.sbin/sysinstall/system.c#3 integrate

Differences ...

==== //depot/projects/mpsafetty/UPDATING#16 (text+ko) ====

@@ -22,6 +22,15 @@
 	to maximize performance.  (To disable malloc debugging, run
 	ln -s aj /etc/malloc.conf.)
 
+20081214:
+	__FreeBSD_version 800059 incorporates the new arp-v2 rewrite.
+	RTF_CLONING, RTF_LLINFO and RTF_WASCLONED flags are eliminated.
+	The new code reduced struct rtentry{} by 16 bytes on 32-bit 
+	architecture and 40 bytes on 64-bit architecture. The userland
+	applications "arp" and "ndp" have been updated accordingly.
+	The output from "netstat -r" shows only routing entries and
+	none of the L2 information.
+
 20081130:
 	__FreeBSD_version 800057 marks the switchover from the
 	binary ath hal to source code. Users must add the line:
@@ -1178,4 +1187,4 @@
 Contact Warner Losh if you have any questions about your use of
 this document.
 
-$FreeBSD: src/UPDATING,v 1.552 2008/12/08 17:12:40 schweikh Exp $
+$FreeBSD: src/UPDATING,v 1.553 2008/12/15 06:10:57 qingli Exp $

==== //depot/projects/mpsafetty/contrib/bsnmp/snmp_mibII/mibII.c#2 (text+ko) ====

@@ -48,8 +48,7 @@
 /* if-index allocator */
 static uint32_t next_if_index = 1;
 
-/* re-fetch arp table */
-static int update_arp;
+/* currently fetching the arp table */
 static int in_update_arp;
 
 /* OR registrations */
@@ -911,36 +910,6 @@
 }
 
 /*
- * Process a new ARP entry
- */
-static void
-process_arp(const struct rt_msghdr *rtm, const struct sockaddr_dl *sdl,
-    const struct sockaddr_in *sa)
-{
-	struct mibif *ifp;
-	struct mibarp *at;
-
-	/* IP arp table entry */
-	if (sdl->sdl_alen == 0) {
-		update_arp = 1;
-		return;
-	}
-	if ((ifp = mib_find_if_sys(sdl->sdl_index)) == NULL)
-		return;
-	/* have a valid entry */
-	if ((at = mib_find_arp(ifp, sa->sin_addr)) == NULL &&
-	    (at = mib_arp_create(ifp, sa->sin_addr,
-	    sdl->sdl_data + sdl->sdl_nlen, sdl->sdl_alen)) == NULL)
-		return;
-
-	if (rtm->rtm_rmx.rmx_expire == 0)
-		at->flags |= MIBARP_PERM;
-	else
-		at->flags &= ~MIBARP_PERM;
-	at->flags |= MIBARP_FOUND;
-}
-
-/*
  * Handle a routing socket message.
  */
 static void
@@ -1080,46 +1049,12 @@
 		}
 		break;
 #endif
-
 	  case RTM_GET:
-		mib_extract_addrs(rtm->rtm_addrs, (u_char *)(rtm + 1), addrs);
-		if (rtm->rtm_flags & RTF_LLINFO) {
-			if (addrs[RTAX_DST] == NULL ||
-			    addrs[RTAX_GATEWAY] == NULL ||
-			    addrs[RTAX_DST]->sa_family != AF_INET ||
-			    addrs[RTAX_GATEWAY]->sa_family != AF_LINK)
-				break;
-			process_arp(rtm,
-			    (struct sockaddr_dl *)(void *)addrs[RTAX_GATEWAY],
-			    (struct sockaddr_in *)(void *)addrs[RTAX_DST]);
-		} else {
-			if (rtm->rtm_errno == 0 && (rtm->rtm_flags & RTF_UP))
-				mib_sroute_process(rtm, addrs[RTAX_GATEWAY],
-				    addrs[RTAX_DST], addrs[RTAX_NETMASK]);
-		}
-		break;
-
 	  case RTM_ADD:
+	  case RTM_DELETE:
 		mib_extract_addrs(rtm->rtm_addrs, (u_char *)(rtm + 1), addrs);
-		if (rtm->rtm_flags & RTF_LLINFO) {
-			if (addrs[RTAX_DST] == NULL ||
-			    addrs[RTAX_GATEWAY] == NULL ||
-			    addrs[RTAX_DST]->sa_family != AF_INET ||
-			    addrs[RTAX_GATEWAY]->sa_family != AF_LINK)
-				break;
-			process_arp(rtm,
-			    (struct sockaddr_dl *)(void *)addrs[RTAX_GATEWAY],
-			    (struct sockaddr_in *)(void *)addrs[RTAX_DST]);
-		} else {
-			if (rtm->rtm_errno == 0 && (rtm->rtm_flags & RTF_UP))
-				mib_sroute_process(rtm, addrs[RTAX_GATEWAY],
-				    addrs[RTAX_DST], addrs[RTAX_NETMASK]);
-		}
-		break;
 
-	  case RTM_DELETE:
-		mib_extract_addrs(rtm->rtm_addrs, (u_char *)(rtm + 1), addrs);
-		if (rtm->rtm_errno == 0 && !(rtm->rtm_flags & RTF_LLINFO))
+		if (rtm->rtm_errno == 0 && (rtm->rtm_flags & RTF_UP))
 			mib_sroute_process(rtm, addrs[RTAX_GATEWAY],
 			    addrs[RTAX_DST], addrs[RTAX_NETMASK]);
 		break;
@@ -1289,7 +1224,8 @@
 
 /*
  * Update arp table
- */
+ *
+*/
 void
 mib_arp_update(void)
 {
@@ -1305,11 +1241,11 @@
 	TAILQ_FOREACH(at, &mibarp_list, link)
 		at->flags &= ~MIBARP_FOUND;
 
-	if ((buf = mib_fetch_rtab(AF_INET, NET_RT_FLAGS, RTF_LLINFO, &needed)) == NULL) {
+	if ((buf = mib_fetch_rtab(AF_INET, NET_RT_FLAGS, 0, &needed)) == NULL) {
 		in_update_arp = 0;
 		return;
 	}
-
+	
 	next = buf;
 	while (next < buf + needed) {
 		rtm = (struct rt_msghdr *)(void *)next;
@@ -1326,7 +1262,6 @@
 		at = at1;
 	}
 	mibarpticks = get_ticks();
-	update_arp = 0;
 	in_update_arp = 0;
 }
 
@@ -1634,8 +1569,8 @@
 		mib_arp_update();
 		mib_iflist_bad = 0;
 	}
-	if (update_arp)
-		mib_arp_update();
+
+	mib_arp_update();
 }
 
 

==== //depot/projects/mpsafetty/contrib/bsnmp/snmp_mibII/mibII_route.c#2 (text+ko) ====

@@ -186,8 +186,7 @@
 	memcpy(r->index, key.index, sizeof(r->index));
 	r->ifindex = (ifp == NULL) ? 0 : ifp->index;
 
-	r->type = (rtm->rtm_flags & RTF_LLINFO) ? 3 :
-	    (rtm->rtm_flags & RTF_REJECT) ? 2 : 4;
+	r->type = (rtm->rtm_flags & RTF_REJECT) ? 2 : 4;
 
 	/* cannot really know, what protocol it runs */
 	r->proto = (rtm->rtm_flags & RTF_LOCAL) ? 2 :

==== //depot/projects/mpsafetty/contrib/ipfilter/ipsend/44arp.c#2 (text+ko) ====

@@ -1,4 +1,4 @@
-/*	$FreeBSD: src/contrib/ipfilter/ipsend/44arp.c,v 1.3 2007/06/04 02:54:31 darrenr Exp $	*/
+/*	$FreeBSD: src/contrib/ipfilter/ipsend/44arp.c,v 1.4 2008/12/15 06:10:57 qingli Exp $	*/
 
 /*
  * Based upon 4.4BSD's /usr/sbin/arp
@@ -88,7 +88,12 @@
 	mib[2] = 0;
 	mib[3] = AF_INET;
 	mib[4] = NET_RT_FLAGS;
+#ifdef RTF_LLINFO
 	mib[5] = RTF_LLINFO;
+#else
+	mib[5] = 0;
+#endif	
+
 	if (sysctl(mib, 6, NULL, &needed, NULL, 0) == -1)
 	    {
 		perror("route-sysctl-estimate");

==== //depot/projects/mpsafetty/etc/regdomain.xml#2 (text+ko) ====

@@ -22,7 +22,7 @@
   (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
   THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  
-  $FreeBSD: src/etc/regdomain.xml,v 1.1 2008/04/20 20:37:02 sam Exp $
+  $FreeBSD: src/etc/regdomain.xml,v 1.2 2008/12/15 01:18:11 sam Exp $
 -->
 
 <regulatory-data>
@@ -39,7 +39,7 @@
 -->
 <rd id="debug">
   <name>DEBUG</name>
-  <sku>0</sku>
+  <sku>0x1ff</sku>
 </rd>
 
 <rd id="fcc">
@@ -1080,6 +1080,75 @@
     </band>
   </netband>
 </rd>
+
+<rd id="sr9">
+  <name>SR9</name>
+  <sku>0x0298</sku>
+  <defcc ref="SR9"/>
+  <netband mode="11g">
+    <band>
+      <freqband ref="S1_907_922_5"/>
+      <maxpower>30</maxpower>
+      <flags>IEEE80211_CHAN_G</flags>
+    </band>
+    <band>
+      <freqband ref="S1_907_922_10"/>
+      <maxpower>30</maxpower>
+      <flags>IEEE80211_CHAN_G</flags>
+    </band>
+    <band>
+      <freqband ref="S1_912_917"/>
+      <maxpower>30</maxpower>
+      <flags>IEEE80211_CHAN_G</flags>
+    </band>
+  </netband>
+</rd>
+
+<rd id="xr9">
+  <name>XR9</name>
+  <sku>0x299</sku>
+  <defcc ref="XR9"/>
+  <netband mode="11g">
+    <band>
+      <freqband ref="S2_907_922_5"/>
+      <maxpower>30</maxpower>
+      <flags>IEEE80211_CHAN_G</flags>
+    </band>
+    <band>
+      <freqband ref="S2_907_922_10"/>
+      <maxpower>30</maxpower>
+      <flags>IEEE80211_CHAN_G</flags>
+    </band>
+    <band>
+      <freqband ref="S2_912_917"/>
+      <maxpower>30</maxpower>
+      <flags>IEEE80211_CHAN_G</flags>
+    </band>
+  </netband>
+</rd>
+
+<rd id="gz901">
+  <name>GZ901</name>
+  <sku>0x29a</sku>
+  <defcc ref="GZ901"/>
+  <netband mode="11g">
+    <band>
+      <freqband ref="S1_908_923_5"/>
+      <maxpower>30</maxpower>
+      <flags>IEEE80211_CHAN_G</flags>
+    </band>
+    <band>
+      <freqband ref="S1_913_918_10"/>
+      <maxpower>30</maxpower>
+      <flags>IEEE80211_CHAN_G</flags>
+    </band>
+    <band>
+      <freqband ref="S1_913_918"/>
+      <maxpower>30</maxpower>
+      <flags>IEEE80211_CHAN_G</flags>
+    </band>
+  </netband>
+</rd>
 </regulatory-domains>
 
 <country-codes>
@@ -1201,6 +1270,9 @@
 <country id="GT">
   <isocc>320</isocc> <name>Guatemala</name> <rd ref="none"/>
 </country>
+<country id="GZ901">
+  <isocc>5002</isocc> <name>ZComax GZ-901</name> <rd ref="gz901"/>
+</country>
 <country id="HN">
   <isocc>340</isocc> <name>Honduras</name> <rd ref="none"/>
 </country>
@@ -1396,6 +1468,12 @@
 <country id="TR">
   <isocc>792</isocc> <name>Turkey</name> <rd ref="etsi"/>
 </country>
+<country id="SR9">
+  <isocc>5000</isocc> <name>Ubiquiti SR9</name> <rd ref="sr9"/>
+</country>
+<country id="XR9">
+  <isocc>5001</isocc> <name>Ubiquiti XR9</name> <rd ref="xr9"/>
+</country>
 <country id="UA">
   <isocc>804</isocc> <name>Ukraine</name> <rd ref="none"/>
 </country>
@@ -1426,6 +1504,10 @@
 <country id="ZW">
   <isocc>716</isocc> <name>Zimbabwe</name> <rd ref="none"/>
 </country>
+
+<country id="DEBUG">
+  <isocc>0</isocc> <name>Debug</name> <rd ref="debug"/>
+</country>
 </country-codes>
 
 <!--
@@ -1575,6 +1657,61 @@
   <freqstart>2512</freqstart> <freqend>2732</freqend>
   <chanwidth>20</chanwidth> <chansep>5</chansep>
 </freqband>
+
+<freqband id="S1_907_922_5">
+  <freqstart>2422</freqstart> <freqend>2437</freqend>
+  <chanwidth>5</chanwidth> <chansep>5</chansep>
+  <flags>IEEE80211_CHAN_GSM</flags>
+  <flags>IEEE80211_CHAN_QUARTER</flags>
+</freqband>
+<freqband id="S1_907_922_10">
+  <freqstart>2422</freqstart> <freqend>2437</freqend>
+  <chanwidth>10</chanwidth> <chansep>5</chansep>
+  <flags>IEEE80211_CHAN_GSM</flags>
+  <flags>IEEE80211_CHAN_HALF</flags>
+</freqband>
+<freqband id="S1_912_917">
+  <freqstart>2427</freqstart> <freqend>2432</freqend>
+  <chanwidth>20</chanwidth> <chansep>5</chansep>
+  <flags>IEEE80211_CHAN_GSM</flags>
+</freqband>
+
+<freqband id="S2_907_922_5">
+  <freqstart>2427</freqstart> <freqend>2442</freqend>
+  <chanwidth>5</chanwidth> <chansep>5</chansep>
+  <flags>IEEE80211_CHAN_GSM</flags>
+  <flags>IEEE80211_CHAN_QUARTER</flags>
+</freqband>
+<freqband id="S2_907_922_10">
+  <freqstart>2427</freqstart> <freqend>2442</freqend>
+  <chanwidth>10</chanwidth> <chansep>5</chansep>
+  <flags>IEEE80211_CHAN_GSM</flags>
+  <flags>IEEE80211_CHAN_HALF</flags>
+</freqband>
+<freqband id="S2_912_917">
+  <freqstart>2432</freqstart> <freqend>2437</freqend>
+  <chanwidth>20</chanwidth> <chansep>5</chansep>
+  <flags>IEEE80211_CHAN_GSM</flags>
+</freqband>
+
+<freqband id="S1_908_923_5">
+  <freqstart>2447</freqstart> <freqend>2467</freqend>
+  <chanwidth>5</chanwidth> <chansep>5</chansep>
+  <flags>IEEE80211_CHAN_GSM</flags>
+  <flags>IEEE80211_CHAN_QUARTER</flags>
+</freqband>
+<freqband id="S1_913_918_10">
+  <freqstart>2457</freqstart> <freqend>2462</freqend>
+  <chanwidth>10</chanwidth> <chansep>5</chansep>
+  <flags>IEEE80211_CHAN_GSM</flags>
+  <flags>IEEE80211_CHAN_HALF</flags>
+</freqband>
+<freqband id="S1_913_918">
+  <freqstart>2457</freqstart> <freqend>2462</freqend>
+  <chanwidth>20</chanwidth> <chansep>5</chansep>
+  <flags>IEEE80211_CHAN_GSM</flags>
+</freqband>
+
 </shared-frequency-bands>
 
 </regulatory-data>

==== //depot/projects/mpsafetty/include/arpa/nameser.h#2 (text+ko) ====

@@ -49,8 +49,8 @@
  */
 
 /*
- *	$Id: nameser.h,v 1.7.18.1 2005/04/27 05:00:50 sra Exp $
- * $FreeBSD: src/include/arpa/nameser.h,v 1.20 2007/06/03 17:20:25 ume Exp $
+ *	$Id: nameser.h,v 1.7.18.2 2008/04/03 23:15:15 marka Exp $
+ * $FreeBSD: src/include/arpa/nameser.h,v 1.21 2008/12/14 19:39:53 ume Exp $
  */
 
 #ifndef _ARPA_NAMESER_H_
@@ -424,9 +424,10 @@
 #define NS_NXT_MAX 127
 
 /*%
- * EDNS0 extended flags, host order.
+ * EDNS0 extended flags and option codes, host order.
  */
 #define NS_OPT_DNSSEC_OK	0x8000U
+#define NS_OPT_NSID             3
 
 /*%
  * Inline versions of get/put short/long.  Pointer is advanced.

==== //depot/projects/mpsafetty/include/resolv.h#2 (text+ko) ====

@@ -50,8 +50,8 @@
 
 /*%
  *	@(#)resolv.h	8.1 (Berkeley) 6/2/93
- *	$Id: resolv.h,v 1.19.18.3 2005/08/25 04:43:51 marka Exp $
- * $FreeBSD: src/include/resolv.h,v 1.32 2007/06/03 17:20:25 ume Exp $
+ *	$Id: resolv.h,v 1.19.18.4 2008/04/03 23:15:15 marka Exp $
+ * $FreeBSD: src/include/resolv.h,v 1.33 2008/12/14 19:39:53 ume Exp $
  */
 
 #ifndef _RESOLV_H_
@@ -245,6 +245,7 @@
 #define	RES_NOCHECKNAME	0x00008000	/*%< do not check names for sanity. */
 #define	RES_KEEPTSIG	0x00010000	/*%< do not strip TSIG records */
 #define	RES_BLAST	0x00020000	/*%< blast all recursive servers */
+#define RES_NSID	0x00040000      /*%< request name server ID */
 #define RES_NOTLDQUERY	0x00100000	/*%< don't unqualified name as a tld */
 #define RES_USE_DNSSEC	0x00200000	/*%< use DNSSEC using OK bit in OPT */
 /* #define RES_DEBUG2	0x00400000 */	/* nslookup internal */
@@ -386,6 +387,7 @@
 #define sym_ntos		__sym_ntos
 #define sym_ston		__sym_ston
 #define res_nopt		__res_nopt
+#define res_nopt_rdata       	__res_nopt_rdata
 #define res_ndestroy		__res_ndestroy
 #define	res_nametoclass		__res_nametoclass
 #define	res_nametotype		__res_nametotype
@@ -474,6 +476,8 @@
 				 union res_sockaddr_union *, int);
 void		res_nclose(res_state);
 int		res_nopt(res_state, int, u_char *, int, int);
+int		res_nopt_rdata(res_state, int, u_char *, int, u_char *,
+			       u_short, u_short, u_char *);
 void		res_send_setqhook(res_send_qhook);
 void		res_send_setrhook(res_send_rhook);
 int		__res_vinit(res_state, int);

==== //depot/projects/mpsafetty/lib/libc/include/isc/eventlib.h#2 (text) ====

@@ -18,7 +18,7 @@
 /* eventlib.h - exported interfaces for eventlib
  * vix 09sep95 [initial]
  *
- * $Id: eventlib.h,v 1.3.18.2 2005/07/28 07:38:07 marka Exp $
+ * $Id: eventlib.h,v 1.3.18.3 2008/01/23 02:12:01 marka Exp $
  */
 
 #ifndef _EVENTLIB_H
@@ -29,6 +29,8 @@
 #include <sys/time.h>
 #include <stdio.h>
 
+#include <isc/platform.h>
+
 #ifndef __P
 # define __EVENTLIB_P_DEFINED
 # ifdef __STDC__

==== //depot/projects/mpsafetty/lib/libc/inet/inet_net_pton.c#2 (text) ====

@@ -16,10 +16,10 @@
  */
 
 #if defined(LIBC_SCCS) && !defined(lint)
-static const char rcsid[] = "$Id: inet_net_pton.c,v 1.7.18.1 2005/04/27 05:00:53 sra Exp $";
+static const char rcsid[] = "$Id: inet_net_pton.c,v 1.7.18.2 2008/08/26 04:42:43 marka Exp $";
 #endif
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/lib/libc/inet/inet_net_pton.c,v 1.3 2007/06/03 17:20:26 ume Exp $");
+__FBSDID("$FreeBSD: src/lib/libc/inet/inet_net_pton.c,v 1.4 2008/12/14 19:39:53 ume Exp $");
 
 #include "port_before.h"
 
@@ -135,11 +135,11 @@
 			assert(n >= 0 && n <= 9);
 			bits *= 10;
 			bits += n;
+			if (bits > 32)
+				goto enoent;
 		} while ((ch = *src++) != '\0' && isascii(ch) && isdigit(ch));
 		if (ch != '\0')
 			goto enoent;
-		if (bits > 32)
-			goto emsgsize;
 	}
 
 	/* Firey death and destruction unless we prefetched EOS. */

==== //depot/projects/mpsafetty/lib/libc/net/rcmd.3#2 (text+ko) ====

@@ -26,7 +26,7 @@
 .\" SUCH DAMAGE.
 .\"
 .\"     From: @(#)rcmd.3	8.1 (Berkeley) 6/4/93
-.\" $FreeBSD: src/lib/libc/net/rcmd.3,v 1.26 2007/01/09 00:28:02 imp Exp $
+.\" $FreeBSD: src/lib/libc/net/rcmd.3,v 1.27 2008/12/14 22:48:48 murray Exp $
 .\"
 .Dd March 3, 2000
 .Dt RCMD 3
@@ -238,6 +238,13 @@
 .Fn rcmd_af ,
 .Dv PF_UNSPEC
 is also allowed.
+.Sh ENVIRONMENT
+.Bl -tag -width RSH
+.It Ev RSH
+When using the
+.Fn rcmd
+function, this variable is used as the program to run instead of
+.Xr rsh 1 .
 .Sh DIAGNOSTICS
 The
 .Fn rcmd

==== //depot/projects/mpsafetty/lib/libc/resolv/res_debug.c#2 (text) ====

@@ -91,10 +91,10 @@
 
 #if defined(LIBC_SCCS) && !defined(lint)
 static const char sccsid[] = "@(#)res_debug.c	8.1 (Berkeley) 6/4/93";
-static const char rcsid[] = "$Id: res_debug.c,v 1.10.18.5 2005/07/28 07:38:11 marka Exp $";
+static const char rcsid[] = "$Id: res_debug.c,v 1.10.18.6 2008/04/03 23:15:15 marka Exp $";
 #endif /* LIBC_SCCS and not lint */
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/lib/libc/resolv/res_debug.c,v 1.5 2007/06/03 17:20:27 ume Exp $");
+__FBSDID("$FreeBSD: src/lib/libc/resolv/res_debug.c,v 1.6 2008/12/14 19:39:53 ume Exp $");
 
 #include "port_before.h"
 
@@ -187,10 +187,56 @@
 				p_type(ns_rr_type(rr)),
 				p_class(ns_rr_class(rr)));
 		else if (section == ns_s_ar && ns_rr_type(rr) == ns_t_opt) {
+			u_int16_t optcode, optlen, rdatalen = ns_rr_rdlen(rr);
 			u_int32_t ttl = ns_rr_ttl(rr);
+
 			fprintf(file,
 				"; EDNS: version: %u, udp=%u, flags=%04x\n",
 				(ttl>>16)&0xff, ns_rr_class(rr), ttl&0xffff);
+
+			while (rdatalen >= 4) {
+				const u_char *cp = ns_rr_rdata(rr);
+				int i;
+
+				GETSHORT(optcode, cp);
+				GETSHORT(optlen, cp);
+
+				if (optcode == NS_OPT_NSID) {
+					fputs("; NSID: ", file);
+					if (optlen == 0) {
+						fputs("; NSID\n", file);
+					} else {
+						fputs("; NSID: ", file);
+						for (i = 0; i < optlen; i++)
+							fprintf(file, "%02x ",
+								cp[i]);
+						fputs(" (",file);
+						for (i = 0; i < optlen; i++)
+							fprintf(file, "%c",
+								isprint(cp[i])?
+								cp[i] : '.');
+						fputs(")\n", file);
+					}
+				} else {
+					if (optlen == 0) {
+						fprintf(file, "; OPT=%u\n",
+							optcode);
+					} else {
+						fprintf(file, "; OPT=%u: ",
+							optcode);
+						for (i = 0; i < optlen; i++)
+							fprintf(file, "%02x ",
+								cp[i]);
+						fputs(" (",file);
+						for (i = 0; i < optlen; i++)
+							fprintf(file, "%c",
+								isprint(cp[i]) ?
+									cp[i] : '.');
+						fputs(")\n", file);
+					}
+				}
+				rdatalen -= 4 + optlen;
+			}
 		} else {
 			n = ns_sprintrr(handle, &rr, NULL, NULL,
 					buf, buflen);
@@ -202,7 +248,7 @@
 						buf = malloc(buflen += 1024);
 					if (buf == NULL) {
 						fprintf(file,
-				              ";; memory allocation failure\n");
+					      ";; memory allocation failure\n");
 					      return;
 					}
 					continue;
@@ -379,7 +425,7 @@
 	{ns_s_an,	"ANSWER",	(char *)0},
 	{ns_s_ns,	"AUTHORITY",	(char *)0},
 	{ns_s_ar,	"ADDITIONAL",	(char *)0},
-	{0,             (char *)0,	(char *)0}
+	{0,		(char *)0,	(char *)0}
 };
 
 static const struct res_sym __p_update_section_syms[] = {
@@ -387,7 +433,7 @@
 	{S_PREREQ,	"PREREQUISITE",	(char *)0},
 	{S_UPDATE,	"UPDATE",	(char *)0},
 	{S_ADDT,	"ADDITIONAL",	(char *)0},
-	{0,             (char *)0,	(char *)0}
+	{0,		(char *)0,	(char *)0}
 };
 
 const struct res_sym __p_key_syms[] = {
@@ -615,6 +661,7 @@
 	case RES_USE_INET6:	return "inet6";
 #ifdef RES_USE_EDNS0	/*%< KAME extension */
 	case RES_USE_EDNS0:	return "edns0";
+	case RES_NSID:		return "nsid";
 #endif
 #ifdef RES_USE_DNAME
 	case RES_USE_DNAME:	return "dname";

==== //depot/projects/mpsafetty/lib/libc/resolv/res_mkquery.c#2 (text) ====

@@ -66,10 +66,10 @@
 
 #if defined(LIBC_SCCS) && !defined(lint)
 static const char sccsid[] = "@(#)res_mkquery.c	8.1 (Berkeley) 6/4/93";
-static const char rcsid[] = "$Id: res_mkquery.c,v 1.5.18.1 2005/04/27 05:01:11 sra Exp $";
+static const char rcsid[] = "$Id: res_mkquery.c,v 1.5.18.2 2008/04/03 23:15:15 marka Exp $";
 #endif /* LIBC_SCCS and not lint */
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/lib/libc/resolv/res_mkquery.c,v 1.4 2007/06/03 17:20:27 ume Exp $");
+__FBSDID("$FreeBSD: src/lib/libc/resolv/res_mkquery.c,v 1.5 2008/12/14 19:39:53 ume Exp $");
 
 #include "port_before.h"
 #include <sys/types.h>
@@ -201,9 +201,6 @@
 
 #ifdef RES_USE_EDNS0
 /* attach OPT pseudo-RR, as documented in RFC2671 (EDNS0). */
-#ifndef T_OPT
-#define T_OPT	41
-#endif
 
 int
 res_nopt(res_state statp,
@@ -228,15 +225,16 @@
 	if ((ep - cp) < 1 + RRFIXEDSZ)
 		return (-1);
 
-	*cp++ = 0;	/*%< "." */
-	ns_put16(T_OPT, cp);	/*%< TYPE */
+	*cp++ = 0;				/*%< "." */
+	ns_put16(ns_t_opt, cp);			/*%< TYPE */
 	cp += INT16SZ;
 	if (anslen > 0xffff)
 		anslen = 0xffff;		/* limit to 16bit value */
-	ns_put16(anslen & 0xffff, cp);	/*%< CLASS = UDP payload size */
+	ns_put16(anslen & 0xffff, cp);		/*%< CLASS = UDP payload size */
 	cp += INT16SZ;
-	*cp++ = NOERROR;	/*%< extended RCODE */
-	*cp++ = 0;		/*%< EDNS version */
+	*cp++ = NOERROR;			/*%< extended RCODE */
+	*cp++ = 0;				/*%< EDNS version */
+
 	if (statp->options & RES_USE_DNSSEC) {
 #ifdef DEBUG
 		if (statp->options & RES_DEBUG)
@@ -246,12 +244,60 @@
 	}
 	ns_put16(flags, cp);
 	cp += INT16SZ;
-	ns_put16(0, cp);	/*%< RDLEN */
+
+	ns_put16(0U, cp);			/*%< RDLEN */
 	cp += INT16SZ;
+
 	hp->arcount = htons(ntohs(hp->arcount) + 1);
 
 	return (cp - buf);
 }
+
+/*
+ * Construct variable data (RDATA) block for OPT psuedo-RR, append it
+ * to the buffer, then update the RDLEN field (previously set to zero by
+ * res_nopt()) with the new RDATA length.
+ */
+int
+res_nopt_rdata(res_state statp,
+	  int n0,	 	/*%< current offset in buffer */
+	  u_char *buf,	 	/*%< buffer to put query */
+	  int buflen,		/*%< size of buffer */
+	  u_char *rdata,	/*%< ptr to start of opt rdata */
+	  u_short code,		/*%< OPTION-CODE */
+	  u_short len,		/*%< OPTION-LENGTH */
+	  u_char *data)		/*%< OPTION_DATA */
+{
+	register u_char *cp, *ep;
+
+#ifdef DEBUG
+	if ((statp->options & RES_DEBUG) != 0U)
+		printf(";; res_nopt_rdata()\n");
+#endif
+
+	cp = buf + n0;
+	ep = buf + buflen;
+
+	if ((ep - cp) < (4 + len))
+		return (-1);
+
+	if (rdata < (buf + 2) || rdata >= ep)
+		return (-1);
+
+	ns_put16(code, cp);
+	cp += INT16SZ;
+
+	ns_put16(len, cp);
+	cp += INT16SZ;
+
+	memcpy(cp, data, len);
+	cp += len;
+
+	len = cp - rdata;
+	ns_put16(len, rdata - 2);	/* Update RDLEN field */
+
+	return (cp - buf);
+}
 #endif
 
 /*! \file */

==== //depot/projects/mpsafetty/lib/libc/resolv/res_query.c#2 (text) ====

@@ -66,10 +66,10 @@
 
 #if defined(LIBC_SCCS) && !defined(lint)
 static const char sccsid[] = "@(#)res_query.c	8.1 (Berkeley) 6/4/93";
-static const char rcsid[] = "$Id: res_query.c,v 1.7.18.1 2005/04/27 05:01:11 sra Exp $";
+static const char rcsid[] = "$Id: res_query.c,v 1.7.18.2 2008/04/03 23:15:15 marka Exp $";
 #endif /* LIBC_SCCS and not lint */
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/lib/libc/resolv/res_query.c,v 1.5 2007/06/03 17:20:27 ume Exp $");
+__FBSDID("$FreeBSD: src/lib/libc/resolv/res_query.c,v 1.6 2008/12/14 19:39:53 ume Exp $");
 
 #include "port_before.h"
 #include <sys/types.h>
@@ -115,8 +115,9 @@
 {
 	u_char buf[MAXPACKET];
 	HEADER *hp = (HEADER *) answer;
+	u_int oflags;
+	u_char *rdata;
 	int n;
-	u_int oflags;
 
 	oflags = statp->_flags;
 
@@ -131,8 +132,14 @@
 			 buf, sizeof(buf));
 #ifdef RES_USE_EDNS0
 	if (n > 0 && (statp->_flags & RES_F_EDNS0ERR) == 0 &&
-	    (statp->options & (RES_USE_EDNS0|RES_USE_DNSSEC)) != 0U)
+	    (statp->options & (RES_USE_EDNS0|RES_USE_DNSSEC|RES_NSID))) {
 		n = res_nopt(statp, n, buf, sizeof(buf), anslen);
+		rdata = &buf[n];
+		if (n > 0 && (statp->options & RES_NSID) != 0U) {
+			n = res_nopt_rdata(statp, n, buf, sizeof(buf), rdata,
+					   NS_OPT_NSID, 0, NULL);
+		}
+	}
 #endif
 	if (n <= 0) {
 #ifdef DEBUG
@@ -142,6 +149,7 @@
 		RES_SET_H_ERRNO(statp, NO_RECOVERY);
 		return (n);
 	}
+
 	n = res_nsend(statp, buf, n, answer, anslen);
 	if (n < 0) {
 #ifdef RES_USE_EDNS0

==== //depot/projects/mpsafetty/lib/libc/resolv/res_send.c#2 (text) ====

@@ -66,10 +66,10 @@
 
 #if defined(LIBC_SCCS) && !defined(lint)
 static const char sccsid[] = "@(#)res_send.c	8.1 (Berkeley) 6/4/93";
-static const char rcsid[] = "$Id: res_send.c,v 1.9.18.8 2006/10/16 23:00:58 marka Exp $";
+static const char rcsid[] = "$Id: res_send.c,v 1.9.18.10 2008/01/27 02:06:26 marka Exp $";
 #endif /* LIBC_SCCS and not lint */
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/lib/libc/resolv/res_send.c,v 1.8 2007/06/03 17:20:27 ume Exp $");
+__FBSDID("$FreeBSD: src/lib/libc/resolv/res_send.c,v 1.9 2008/12/14 19:39:53 ume Exp $");
 
 /*! \file
  * \brief
@@ -302,7 +302,7 @@
 res_nsend(res_state statp,
 	  const u_char *buf, int buflen, u_char *ans, int anssiz)
 {
-	int gotsomewhere, terrno, try, v_circuit, resplen, ns, n;
+	int gotsomewhere, terrno, tries, v_circuit, resplen, ns, n;
 #ifdef USE_KQUEUE
 	int kq;
 #endif
@@ -420,7 +420,7 @@
 	/*
 	 * Send request, RETRY times, or until successful.
 	 */
-	for (try = 0; try < statp->retry; try++) {
+	for (tries = 0; tries < statp->retry; tries++) {
 	    for (ns = 0; ns < statp->nscount; ns++) {
 		struct sockaddr *nsap;
 		int nsaplen;
@@ -471,7 +471,7 @@
 
 		if (v_circuit) {
 			/* Use VC; at most one attempt per server. */
-			try = statp->retry;
+			tries = statp->retry;
 			n = send_vc(statp, buf, buflen, ans, anssiz, &terrno,

>>> TRUNCATED FOR MAIL (1000 lines) <<<



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200812151640.mBFGePoT085162>