summaryrefslogtreecommitdiff
path: root/net/xorp
diff options
context:
space:
mode:
authorjoerg <joerg@pkgsrc.org>2012-07-03 17:36:10 +0000
committerjoerg <joerg@pkgsrc.org>2012-07-03 17:36:10 +0000
commitdec96082333bf504201eb989123f98ff1788804a (patch)
tree629b2b7ca7ee42fb11b39fe14ef10918b2451e72 /net/xorp
parent89e5dfcdf9b79970549ef0e546c2bb44fa0d614b (diff)
downloadpkgsrc-dec96082333bf504201eb989123f98ff1788804a.tar.gz
Fix a number of issues found by clang:
- missing this references to ensure template functions are found - using == as assignment - unused functions in lex sources - adding integers to strings instead of formatting them - class vs struct mismatches
Diffstat (limited to 'net/xorp')
-rw-r--r--net/xorp/Makefile12
-rw-r--r--net/xorp/distinfo47
-rw-r--r--net/xorp/patches/patch-bgp_bgp__trie.cc13
-rw-r--r--net/xorp/patches/patch-bgp_route__table__policy__im.cc15
-rw-r--r--net/xorp/patches/patch-bgp_route__table__ribin.cc13
-rw-r--r--net/xorp/patches/patch-cli_cli__client.cc31
-rw-r--r--net/xorp/patches/patch-contrib_olsr_policy__varrw.cc13
-rw-r--r--net/xorp/patches/patch-contrib_olsr_policy__varrw.hh13
-rw-r--r--net/xorp/patches/patch-fea_data__plane_control__socket_click__socket.hh13
-rw-r--r--net/xorp/patches/patch-fea_data__plane_control__socket_netlink__socket.hh13
-rw-r--r--net/xorp/patches/patch-fea_data__plane_control__socket_routing__socket.hh13
-rw-r--r--net/xorp/patches/patch-fea_data__plane_control__socket_windows__rtm__pipe.hh13
-rw-r--r--net/xorp/patches/patch-libxipc_finder.cc13
-rw-r--r--net/xorp/patches/patch-libxipc_finder__messenger.hh13
-rw-r--r--net/xorp/patches/patch-libxipc_xrl__error.hh13
-rw-r--r--net/xorp/patches/patch-libxipc_xrl__router.hh15
-rw-r--r--net/xorp/patches/patch-libxorp_heap.cc16
-rw-r--r--net/xorp/patches/patch-libxorp_safe__callback__obj.hh13
-rw-r--r--net/xorp/patches/patch-libxorp_test__main.hh19
-rw-r--r--net/xorp/patches/patch-libxorp_transaction.hh13
-rw-r--r--net/xorp/patches/patch-libxorp_trie.hh12
-rw-r--r--net/xorp/patches/patch-libxorp_utility.h22
-rw-r--r--net/xorp/patches/patch-libxorp_xorp.h14
-rw-r--r--net/xorp/patches/patch-ospf_peer.cc26
-rw-r--r--net/xorp/patches/patch-pim_pim__bsr.cc13
-rw-r--r--net/xorp/patches/patch-pim_pim__bsr.hh13
-rw-r--r--net/xorp/patches/patch-pim_pim__vif.cc13
-rw-r--r--net/xorp/patches/patch-policy_backend_backend.l12
-rw-r--r--net/xorp/patches/patch-policy_backend_iv__exec.cc13
-rw-r--r--net/xorp/patches/patch-policy_backend_single__varrw.cc13
-rw-r--r--net/xorp/patches/patch-policy_policy.l12
-rw-r--r--net/xorp/patches/patch-policy_test_compilepolicy.l12
-rw-r--r--net/xorp/patches/patch-rib_redist__xrl.cc51
-rw-r--r--net/xorp/patches/patch-rib_rt__tab__deletion.cc13
-rw-r--r--net/xorp/patches/patch-rib_rt__tab__extint.cc13
-rw-r--r--net/xorp/patches/patch-rib_rt__tab__merged.cc13
-rw-r--r--net/xorp/patches/patch-rib_rt__tab__pol__conn.cc13
-rw-r--r--net/xorp/patches/patch-rib_rt__tab__pol__redist.cc13
-rw-r--r--net/xorp/patches/patch-rib_rt__tab__redist.cc13
-rw-r--r--net/xorp/patches/patch-rip_output__table.cc13
-rw-r--r--net/xorp/patches/patch-rip_output__updates.cc13
-rw-r--r--net/xorp/patches/patch-rtrmgr_boot.ll12
-rw-r--r--net/xorp/patches/patch-rtrmgr_cli.cc22
-rw-r--r--net/xorp/patches/patch-rtrmgr_op__commands.ll12
-rw-r--r--net/xorp/patches/patch-rtrmgr_template.ll12
-rw-r--r--net/xorp/patches/patch-rtrmgr_xorpsh__main.cc13
46 files changed, 717 insertions, 8 deletions
diff --git a/net/xorp/Makefile b/net/xorp/Makefile
index 3eb3f229afa..e9d6d2a99a6 100644
--- a/net/xorp/Makefile
+++ b/net/xorp/Makefile
@@ -1,8 +1,8 @@
-# $NetBSD: Makefile,v 1.24 2010/01/17 12:02:37 wiz Exp $
+# $NetBSD: Makefile,v 1.25 2012/07/03 17:36:10 joerg Exp $
#
DISTNAME= xorp-1.6
-PKGREVISION= 1
+PKGREVISION= 2
CATEGORIES= net
MASTER_SITES= http://www.xorp.org/releases/1.6/
@@ -14,7 +14,7 @@ PKG_DESTDIR_SUPPORT= user-destdir
GNU_CONFIGURE= yes
USE_LANGUAGES= c c++
-USE_TOOLS+= gmake
+USE_TOOLS+= gmake flex
CONFIGURE_ARGS+= --with-openssl=${BUILDLINK_PREFIX.openssl:Q}
# The xorp people insist on their own PREFIX.
@@ -25,5 +25,11 @@ GNU_CONFIGURE_PREFIX= ${PREFIX}/xorp
# Test target require bash and python (really it, not python2.4 and so on).
TEST_TARGET= check
+pre-build:
+ cd ${WRKSRC}/policy && ${MAKE} lex
+ cd ${WRKSRC}/policy/backend && ${MAKE} lex
+ cd ${WRKSRC}/policy/test && ${MAKE} lex
+ cd ${WRKSRC}/rtrmgr && ${MAKE} lex
+
.include "../../security/openssl/buildlink3.mk"
.include "../../mk/bsd.pkg.mk"
diff --git a/net/xorp/distinfo b/net/xorp/distinfo
index f6aff5b2f4d..e6f8f5309d7 100644
--- a/net/xorp/distinfo
+++ b/net/xorp/distinfo
@@ -1,4 +1,4 @@
-$NetBSD: distinfo,v 1.17 2011/12/05 22:54:57 joerg Exp $
+$NetBSD: distinfo,v 1.18 2012/07/03 17:36:10 joerg Exp $
SHA1 (xorp-1.6.tar.gz) = 366d32068ed76b8ec69958b601d4fbde61ef4cbb
RMD160 (xorp-1.6.tar.gz) = 32b3f6d03defc816ed983088e61b5e808de17f98
@@ -6,4 +6,47 @@ Size (xorp-1.6.tar.gz) = 7895108 bytes
SHA1 (patch-aa) = 0c4bceca2560e963885069eaa7e868676c856694
SHA1 (patch-ab) = 248719bb3ffc5fa92a2fd6a5cc63c0f77ba8d5b6
SHA1 (patch-ac) = 87710604d945b8a58cdabeb08dbd5c484f2ad3ba
-SHA1 (patch-libxorp_xorp.h) = 33e2aaaec3aeaefc0d6738985b085a3270ba8bec
+SHA1 (patch-bgp_bgp__trie.cc) = fb6003a92094cac3b470b9d54176e1b60c272987
+SHA1 (patch-bgp_route__table__policy__im.cc) = a1d2a98e7542def7fdea977501bbd9ad82842302
+SHA1 (patch-bgp_route__table__ribin.cc) = bc04827ee42f9cff23cd3a2243044fee2af7d240
+SHA1 (patch-cli_cli__client.cc) = 6c0b026eb5f8c3cd35e29662da6b3b40a1061fd1
+SHA1 (patch-contrib_olsr_policy__varrw.cc) = 5445e7a57a90f96ad8bc1c9551c4cb9b9d0d8b8e
+SHA1 (patch-contrib_olsr_policy__varrw.hh) = 687c448a8b7a9e84baed6e3c7d6b6dd4628f0071
+SHA1 (patch-fea_data__plane_control__socket_click__socket.hh) = 1e0ea2de08a131a99b3cbc5e9522b1c8370cd4fe
+SHA1 (patch-fea_data__plane_control__socket_netlink__socket.hh) = 2b2c774a8e9778d438292850f4a310403d019365
+SHA1 (patch-fea_data__plane_control__socket_routing__socket.hh) = 1acad764066424d1fc457ea7e130636257248530
+SHA1 (patch-fea_data__plane_control__socket_windows__rtm__pipe.hh) = 608b22a8507e2a44c5eea26e964c6201e7240420
+SHA1 (patch-libxipc_finder.cc) = 941d01e3f041c9ad2ea73671b42b1ef7daac0e7b
+SHA1 (patch-libxipc_finder__messenger.hh) = f1a36df79516ac03a69e3e9ba56dc1b56bc6d886
+SHA1 (patch-libxipc_xrl__error.hh) = efce8151c2211526a3a27d6f7cb7b599c46bd84b
+SHA1 (patch-libxipc_xrl__router.hh) = b29884206da7a9c40c26b1e20f5bf4dccd9da42a
+SHA1 (patch-libxorp_heap.cc) = 45abbc27a4391f3312e6048d632b56c9e5091fa7
+SHA1 (patch-libxorp_safe__callback__obj.hh) = a5019173b864829dd96f55c92d831dd98a1b0d84
+SHA1 (patch-libxorp_test__main.hh) = 9893f1276066f16fe92b5787e9235484882cbfe9
+SHA1 (patch-libxorp_transaction.hh) = f6fbcc929610f48116590fd28a8df7ed30280856
+SHA1 (patch-libxorp_trie.hh) = eab5e4e232fb3bd60d9c3632c47bc4d89f432ed8
+SHA1 (patch-libxorp_utility.h) = dcd6dd63d82cbdbc47750422430cdd3f08f45497
+SHA1 (patch-libxorp_xorp.h) = 09fa420872903bdff321decd020810588668c2a2
+SHA1 (patch-ospf_peer.cc) = c5220d6ee8966ded9ebc168092c5c41a32ee6042
+SHA1 (patch-pim_pim__bsr.cc) = 67ebcd67efeb421327de9847803213f826a2c5cc
+SHA1 (patch-pim_pim__bsr.hh) = a8876be2bcaac8c026dda04cd599175f5965b205
+SHA1 (patch-pim_pim__vif.cc) = 922e9b502e8e0622efb1d63621aeec3ab2265549
+SHA1 (patch-policy_backend_backend.l) = 81491356406cc15b73233aa1eba78c51df41e4db
+SHA1 (patch-policy_backend_iv__exec.cc) = de92d8103c6921c6c530539aa2d3e6526bd222e2
+SHA1 (patch-policy_backend_single__varrw.cc) = 84fc7c9ffdb79401fc469b46fa24f9e418d8b278
+SHA1 (patch-policy_policy.l) = 9bec462ff62794ac9154d3ed66637109dcd0e84c
+SHA1 (patch-policy_test_compilepolicy.l) = 7c2985af63524c669d9bb3781457c8cc53359903
+SHA1 (patch-rib_redist__xrl.cc) = ae886ad350b9e9e779bf8220be4e262df8c673a9
+SHA1 (patch-rib_rt__tab__deletion.cc) = 77c5a30bb02ac84aa8669cce948fa5a4f6d067e9
+SHA1 (patch-rib_rt__tab__extint.cc) = 78edea71e9e006b55e80de3f877c3214ed89896e
+SHA1 (patch-rib_rt__tab__merged.cc) = 12c0cccba2473a592cc37c244b72b468fba3fc3b
+SHA1 (patch-rib_rt__tab__pol__conn.cc) = bf8ab3155ad1ecdab7b034b1aa62887a2d248420
+SHA1 (patch-rib_rt__tab__pol__redist.cc) = 494a477dad76bf725a745cef15d54625da4560e0
+SHA1 (patch-rib_rt__tab__redist.cc) = e4ec537e2353d4bde70ad3a3ef637b3c7f8af0ff
+SHA1 (patch-rip_output__table.cc) = c0fd4f05e87ac857280c6e81e7adf4e51d961cf0
+SHA1 (patch-rip_output__updates.cc) = d43fa6eabd3413bb7e221a565c6f250305c29292
+SHA1 (patch-rtrmgr_boot.ll) = 9bbbd83c9275f2888f6632f514ae4bf7b37e2e0e
+SHA1 (patch-rtrmgr_cli.cc) = 0756e3eaaef0d510cdfc602836441066df2852d0
+SHA1 (patch-rtrmgr_op__commands.ll) = 0259228f4d604a869f04c6b80402126cab083108
+SHA1 (patch-rtrmgr_template.ll) = cf2467c8a928b60bcd848c90f1b6842047cb79ca
+SHA1 (patch-rtrmgr_xorpsh__main.cc) = a87e6dcc1a95885ced5e061dc0c0282047476f11
diff --git a/net/xorp/patches/patch-bgp_bgp__trie.cc b/net/xorp/patches/patch-bgp_bgp__trie.cc
new file mode 100644
index 00000000000..65bb223b72f
--- /dev/null
+++ b/net/xorp/patches/patch-bgp_bgp__trie.cc
@@ -0,0 +1,13 @@
+$NetBSD: patch-bgp_bgp__trie.cc,v 1.1 2012/07/03 17:36:10 joerg Exp $
+
+--- bgp/bgp_trie.cc.orig 2009-01-05 18:30:43.000000000 +0000
++++ bgp/bgp_trie.cc
+@@ -115,7 +115,7 @@ BgpTrie<A>::erase(const IPNet& net)
+ net.str().c_str(),
+ found->attributes()->str().c_str());
+ XLOG_INFO("Pathmap dump follows: \n");
+- for (pmi == _pathmap.begin(); pmi != _pathmap.end(); pmi++) {
++ for (pmi = _pathmap.begin(); pmi != _pathmap.end(); pmi++) {
+ XLOG_INFO("%s\n\n", pmi->second->str().c_str());
+ }
+ XLOG_FATAL("Exiting\n");
diff --git a/net/xorp/patches/patch-bgp_route__table__policy__im.cc b/net/xorp/patches/patch-bgp_route__table__policy__im.cc
new file mode 100644
index 00000000000..15017eac745
--- /dev/null
+++ b/net/xorp/patches/patch-bgp_route__table__policy__im.cc
@@ -0,0 +1,15 @@
+$NetBSD: patch-bgp_route__table__policy__im.cc,v 1.1 2012/07/03 17:36:10 joerg Exp $
+
+--- bgp/route_table_policy_im.cc.orig 2009-01-05 18:30:43.000000000 +0000
++++ bgp/route_table_policy_im.cc
+@@ -122,8 +122,8 @@ PolicyTableImport<A>::route_dump(Interna
+ // we want current filter
+ rtmsg.route()->set_policyfilter(0, RefPf());
+
+- bool old_accepted = do_filtering(*old_rtmsg, false);
+- bool new_accepted = do_filtering(rtmsg, false);
++ bool old_accepted = this->do_filtering(*old_rtmsg, false);
++ bool new_accepted = this->do_filtering(rtmsg, false);
+
+ InternalMessage<A> *new_rtmsg = 0;
+ SubnetRoute<A>* copy_new_route = 0;
diff --git a/net/xorp/patches/patch-bgp_route__table__ribin.cc b/net/xorp/patches/patch-bgp_route__table__ribin.cc
new file mode 100644
index 00000000000..95bd21c297c
--- /dev/null
+++ b/net/xorp/patches/patch-bgp_route__table__ribin.cc
@@ -0,0 +1,13 @@
+$NetBSD: patch-bgp_route__table__ribin.cc,v 1.1 2012/07/03 17:36:10 joerg Exp $
+
+--- bgp/route_table_ribin.cc.orig 2009-01-05 18:30:43.000000000 +0000
++++ bgp/route_table_ribin.cc
+@@ -173,7 +173,7 @@ RibInTable<A>::add_route(const IPNet<A>&
+ // Store it locally. The BgpTrie will copy it into a ChainedSubnetRoute
+ SubnetRoute<A>* tmp_route = new SubnetRoute<A>(net, pa_list, NULL);
+ tmp_route->set_policytags(policy_tags);
+- A nexthop = fpa_list->nexthop_att()->nexthop();
++ fpa_list->nexthop_att()->nexthop();
+ typename BgpTrie<A>::iterator iter =
+ _route_table->insert(net, *tmp_route);
+ tmp_route->unref();
diff --git a/net/xorp/patches/patch-cli_cli__client.cc b/net/xorp/patches/patch-cli_cli__client.cc
new file mode 100644
index 00000000000..37073937920
--- /dev/null
+++ b/net/xorp/patches/patch-cli_cli__client.cc
@@ -0,0 +1,31 @@
+$NetBSD: patch-cli_cli__client.cc,v 1.1 2012/07/03 17:36:10 joerg Exp $
+
+--- cli/cli_client.cc.orig 2009-01-05 18:30:45.000000000 +0000
++++ cli/cli_client.cc
+@@ -832,7 +832,7 @@ CliClient::process_char_page_mode(uint8_
+ //
+ // Print help
+ //
+- if ((val == 'h')) {
++ if (val == 'h') {
+ if (! is_help_mode()) {
+ set_help_mode(true);
+ _is_page_buffer_mode = &_is_help_buffer_mode;
+@@ -958,7 +958,7 @@ CliClient::process_char_page_mode(uint8_
+ // Display the output all at once instead of oen screen at a time.
+ // (Same as specifying the "| no-more" command.)
+ //
+- if ((val == 'N')) {
++ if (val == 'N') {
+ while (page_buffer_last_line_n() < page_buffer_lines_n()) {
+ set_page_buffer_mode(false);
+ cli_print(page_buffer_line(page_buffer_last_line_n()));
+@@ -1021,7 +1021,7 @@ CliClient::process_char_page_mode(uint8_
+ //
+ // Redraw the output of the screen
+ //
+- if ((val == CHAR_TO_CTRL('l'))) {
++ if (val == CHAR_TO_CTRL('l')) {
+ redisplay_screen_label:
+ size_t i, start_window_line = 0;
+ set_page_buffer_mode(false);
diff --git a/net/xorp/patches/patch-contrib_olsr_policy__varrw.cc b/net/xorp/patches/patch-contrib_olsr_policy__varrw.cc
new file mode 100644
index 00000000000..674ad70bb3b
--- /dev/null
+++ b/net/xorp/patches/patch-contrib_olsr_policy__varrw.cc
@@ -0,0 +1,13 @@
+$NetBSD: patch-contrib_olsr_policy__varrw.cc,v 1.1 2012/07/03 17:36:10 joerg Exp $
+
+--- contrib/olsr/policy_varrw.cc.orig 2012-07-03 16:35:19.000000000 +0000
++++ contrib/olsr/policy_varrw.cc
+@@ -39,7 +39,7 @@
+ #include "policy_varrw.hh"
+
+ OlsrVarRW::OlsrVarRW(IPv4Net& network, IPv4& nexthop, uint32_t& metric,
+- IPv4& originator, IPv4& main_addr, uint32_t vtype,
++ IPv4& originator, IPv4& main_addr, uint32_t &vtype,
+ PolicyTags& policytags)
+ : _network(network), _nexthop(nexthop), _metric(metric),
+ _originator(originator), _main_addr(main_addr), _vtype(vtype),
diff --git a/net/xorp/patches/patch-contrib_olsr_policy__varrw.hh b/net/xorp/patches/patch-contrib_olsr_policy__varrw.hh
new file mode 100644
index 00000000000..b1accfd3722
--- /dev/null
+++ b/net/xorp/patches/patch-contrib_olsr_policy__varrw.hh
@@ -0,0 +1,13 @@
+$NetBSD: patch-contrib_olsr_policy__varrw.hh,v 1.1 2012/07/03 17:36:10 joerg Exp $
+
+--- contrib/olsr/policy_varrw.hh.orig 2012-07-03 16:36:15.000000000 +0000
++++ contrib/olsr/policy_varrw.hh
+@@ -45,7 +45,7 @@ class OlsrVarRW : public SingleVarRW {
+ };
+
+ OlsrVarRW(IPv4Net& network, IPv4& nexthop, uint32_t& metric,
+- IPv4& originator, IPv4& main_addr, uint32_t vtype,
++ IPv4& originator, IPv4& main_addr, uint32_t &vtype,
+ PolicyTags& policytags);
+
+ // SingleVarRW inteface:
diff --git a/net/xorp/patches/patch-fea_data__plane_control__socket_click__socket.hh b/net/xorp/patches/patch-fea_data__plane_control__socket_click__socket.hh
new file mode 100644
index 00000000000..e2508557c50
--- /dev/null
+++ b/net/xorp/patches/patch-fea_data__plane_control__socket_click__socket.hh
@@ -0,0 +1,13 @@
+$NetBSD: patch-fea_data__plane_control__socket_click__socket.hh,v 1.1 2012/07/03 17:36:10 joerg Exp $
+
+--- fea/data_plane/control_socket/click_socket.hh.orig 2009-01-05 18:30:51.000000000 +0000
++++ fea/data_plane/control_socket/click_socket.hh
+@@ -550,7 +550,7 @@ private:
+
+ RunCommand* _user_click_run_command;
+
+- friend class ClickSocketPlumber; // class that hooks observers in and out
++ friend struct ClickSocketPlumber; // class that hooks observers in and out
+ };
+
+ class ClickSocketObserver {
diff --git a/net/xorp/patches/patch-fea_data__plane_control__socket_netlink__socket.hh b/net/xorp/patches/patch-fea_data__plane_control__socket_netlink__socket.hh
new file mode 100644
index 00000000000..a4b69892338
--- /dev/null
+++ b/net/xorp/patches/patch-fea_data__plane_control__socket_netlink__socket.hh
@@ -0,0 +1,13 @@
+$NetBSD: patch-fea_data__plane_control__socket_netlink__socket.hh,v 1.1 2012/07/03 17:36:10 joerg Exp $
+
+--- fea/data_plane/control_socket/netlink_socket.hh.orig 2009-01-05 18:30:51.000000000 +0000
++++ fea/data_plane/control_socket/netlink_socket.hh
+@@ -208,7 +208,7 @@ private:
+ uint32_t _nl_groups; // The netlink multicast groups to listen for
+ bool _is_multipart_message_read; // If true, expect to read a multipart message
+
+- friend class NetlinkSocketPlumber; // class that hooks observers in and out
++ friend struct NetlinkSocketPlumber; // class that hooks observers in and out
+ };
+
+ class NetlinkSocketObserver {
diff --git a/net/xorp/patches/patch-fea_data__plane_control__socket_routing__socket.hh b/net/xorp/patches/patch-fea_data__plane_control__socket_routing__socket.hh
new file mode 100644
index 00000000000..d2853ded1dc
--- /dev/null
+++ b/net/xorp/patches/patch-fea_data__plane_control__socket_routing__socket.hh
@@ -0,0 +1,13 @@
+$NetBSD: patch-fea_data__plane_control__socket_routing__socket.hh,v 1.1 2012/07/03 17:36:10 joerg Exp $
+
+--- fea/data_plane/control_socket/routing_socket.hh.orig 2009-01-05 18:30:51.000000000 +0000
++++ fea/data_plane/control_socket/routing_socket.hh
+@@ -142,7 +142,7 @@ private:
+ static uint16_t _instance_cnt;
+ static pid_t _pid;
+
+- friend class RoutingSocketPlumber; // class that hooks observers in and out
++ friend struct RoutingSocketPlumber; // class that hooks observers in and out
+ };
+
+ class RoutingSocketObserver {
diff --git a/net/xorp/patches/patch-fea_data__plane_control__socket_windows__rtm__pipe.hh b/net/xorp/patches/patch-fea_data__plane_control__socket_windows__rtm__pipe.hh
new file mode 100644
index 00000000000..00bab0eb565
--- /dev/null
+++ b/net/xorp/patches/patch-fea_data__plane_control__socket_windows__rtm__pipe.hh
@@ -0,0 +1,13 @@
+$NetBSD: patch-fea_data__plane_control__socket_windows__rtm__pipe.hh,v 1.1 2012/07/03 17:36:10 joerg Exp $
+
+--- fea/data_plane/control_socket/windows_rtm_pipe.hh.orig 2009-01-05 18:30:51.000000000 +0000
++++ fea/data_plane/control_socket/windows_rtm_pipe.hh
+@@ -135,7 +135,7 @@ private:
+ static uint16_t _instance_cnt;
+ static pid_t _pid;
+
+- friend class WinRtmPipePlumber; // class that hooks observers in and out
++ friend struct WinRtmPipePlumber; // class that hooks observers in and out
+ };
+
+ class WinRtmPipeObserver {
diff --git a/net/xorp/patches/patch-libxipc_finder.cc b/net/xorp/patches/patch-libxipc_finder.cc
new file mode 100644
index 00000000000..2cb01d53e8f
--- /dev/null
+++ b/net/xorp/patches/patch-libxipc_finder.cc
@@ -0,0 +1,13 @@
+$NetBSD: patch-libxipc_finder.cc,v 1.1 2012/07/03 17:36:10 joerg Exp $
+
+--- libxipc/finder.cc.orig 2009-01-05 18:30:55.000000000 +0000
++++ libxipc/finder.cc
+@@ -93,7 +93,7 @@ public:
+ for (i = _resolutions.begin(); i != _resolutions.end(); ++i) {
+ debug_msg("Have \"%s\"\n", i->first.c_str());
+ }
+- return false;
++ return 0;
+ }
+ return &i->second;
+ }
diff --git a/net/xorp/patches/patch-libxipc_finder__messenger.hh b/net/xorp/patches/patch-libxipc_finder__messenger.hh
new file mode 100644
index 00000000000..49e01c4763f
--- /dev/null
+++ b/net/xorp/patches/patch-libxipc_finder__messenger.hh
@@ -0,0 +1,13 @@
+$NetBSD: patch-libxipc_finder__messenger.hh,v 1.1 2012/07/03 17:36:10 joerg Exp $
+
+--- libxipc/finder_messenger.hh.orig 2009-01-05 18:30:55.000000000 +0000
++++ libxipc/finder_messenger.hh
+@@ -141,7 +141,7 @@ private:
+ };
+ typedef map<uint32_t, ResponseState> SeqNoResponseMap;
+
+- friend class ResponseState;
++ friend struct ResponseState;
+
+ private:
+ EventLoop& _eventloop;
diff --git a/net/xorp/patches/patch-libxipc_xrl__error.hh b/net/xorp/patches/patch-libxipc_xrl__error.hh
new file mode 100644
index 00000000000..b5b905689a8
--- /dev/null
+++ b/net/xorp/patches/patch-libxipc_xrl__error.hh
@@ -0,0 +1,13 @@
+$NetBSD: patch-libxipc_xrl__error.hh,v 1.1 2012/07/03 17:36:10 joerg Exp $
+
+--- libxipc/xrl_error.hh.orig 2009-01-05 18:30:56.000000000 +0000
++++ libxipc/xrl_error.hh
+@@ -27,7 +27,7 @@
+ #include "libxorp/c_format.hh"
+
+
+-struct XrlErrlet;
++class XrlErrlet;
+
+ enum XrlErrorCode {
+ OKAY = 100,
diff --git a/net/xorp/patches/patch-libxipc_xrl__router.hh b/net/xorp/patches/patch-libxipc_xrl__router.hh
new file mode 100644
index 00000000000..f9c24ff9bfb
--- /dev/null
+++ b/net/xorp/patches/patch-libxipc_xrl__router.hh
@@ -0,0 +1,15 @@
+$NetBSD: patch-libxipc_xrl__router.hh,v 1.1 2012/07/03 17:36:10 joerg Exp $
+
+--- libxipc/xrl_router.hh.orig 2009-01-05 18:30:56.000000000 +0000
++++ libxipc/xrl_router.hh
+@@ -40,8 +40,8 @@ class DispatchState;
+ class FinderClient;
+ class FinderClientXrlTarget;
+ class FinderTcpAutoConnector;
+-class FinderDBEntry;
+-class XrlRouterDispatchState;
++struct FinderDBEntry;
++struct XrlRouterDispatchState;
+
+ class XrlRouter :
+ public XrlDispatcher,
diff --git a/net/xorp/patches/patch-libxorp_heap.cc b/net/xorp/patches/patch-libxorp_heap.cc
new file mode 100644
index 00000000000..cbc3db43a11
--- /dev/null
+++ b/net/xorp/patches/patch-libxorp_heap.cc
@@ -0,0 +1,16 @@
+$NetBSD: patch-libxorp_heap.cc,v 1.1 2012/07/03 17:36:10 joerg Exp $
+
+--- libxorp/heap.cc.orig 2009-01-05 18:30:57.000000000 +0000
++++ libxorp/heap.cc
+@@ -257,10 +257,8 @@ Heap::heapify()
+ push(i);
+ }
+
+-Heap::Heap(bool intrude)
++Heap::Heap(bool intrude) : _size(0), _elements(0), _intrude(intrude), _p(0)
+ {
+- memset(this, 0, sizeof(*this));
+- _intrude = intrude;
+ debug_msg("++ constructor for 0x%p\n", this);
+ }
+
diff --git a/net/xorp/patches/patch-libxorp_safe__callback__obj.hh b/net/xorp/patches/patch-libxorp_safe__callback__obj.hh
new file mode 100644
index 00000000000..e388b87f91e
--- /dev/null
+++ b/net/xorp/patches/patch-libxorp_safe__callback__obj.hh
@@ -0,0 +1,13 @@
+$NetBSD: patch-libxorp_safe__callback__obj.hh,v 1.1 2012/07/03 17:36:10 joerg Exp $
+
+--- libxorp/safe_callback_obj.hh.orig 2009-01-05 18:30:58.000000000 +0000
++++ libxorp/safe_callback_obj.hh
+@@ -26,7 +26,7 @@
+ #include <algorithm>
+ #include <vector>
+
+-struct SafeCallbackBase;
++class SafeCallbackBase;
+
+ /**
+ * @short Base class for objects that are callback safe.
diff --git a/net/xorp/patches/patch-libxorp_test__main.hh b/net/xorp/patches/patch-libxorp_test__main.hh
new file mode 100644
index 00000000000..5a881545226
--- /dev/null
+++ b/net/xorp/patches/patch-libxorp_test__main.hh
@@ -0,0 +1,19 @@
+$NetBSD: patch-libxorp_test__main.hh,v 1.1 2012/07/03 17:36:10 joerg Exp $
+
+--- libxorp/test_main.hh.orig 2012-07-03 16:37:33.000000000 +0000
++++ libxorp/test_main.hh
+@@ -292,13 +292,9 @@ public:
+ // if (_verbose)
+ cout << "Running: " << test_name << endl;
+ TestInfo info(test_name, _verbose, _verbose_level, cout);
+- switch (cb->dispatch(info)) {
+- case true:
+- break;
+- case false:
++ if (!cb->dispatch(info)) {
+ _exit_status = false;
+ cerr << "Failed: " << test_name << endl;
+- break;
+ }
+ }
+
diff --git a/net/xorp/patches/patch-libxorp_transaction.hh b/net/xorp/patches/patch-libxorp_transaction.hh
new file mode 100644
index 00000000000..002924d9083
--- /dev/null
+++ b/net/xorp/patches/patch-libxorp_transaction.hh
@@ -0,0 +1,13 @@
+$NetBSD: patch-libxorp_transaction.hh,v 1.1 2012/07/03 17:36:10 joerg Exp $
+
+--- libxorp/transaction.hh.orig 2009-01-05 18:30:58.000000000 +0000
++++ libxorp/transaction.hh
+@@ -276,7 +276,7 @@ private:
+ uint32_t _max_pending;
+ uint32_t _next_tid;
+
+- friend class Transaction; // for Transaction to call operation_result()
++ friend struct Transaction; // for Transaction to call operation_result()
+ };
+
+ #endif // __LIBXORP_TRANSACTION_HH__
diff --git a/net/xorp/patches/patch-libxorp_trie.hh b/net/xorp/patches/patch-libxorp_trie.hh
new file mode 100644
index 00000000000..fcb89c12036
--- /dev/null
+++ b/net/xorp/patches/patch-libxorp_trie.hh
@@ -0,0 +1,12 @@
+$NetBSD: patch-libxorp_trie.hh,v 1.1 2012/07/03 17:36:10 joerg Exp $
+
+--- libxorp/trie.hh.orig 2009-01-05 18:30:58.000000000 +0000
++++ libxorp/trie.hh
+@@ -277,6 +277,7 @@ private:
+
+ void dump(const char *msg) const
+ {
++ (void)msg;
+ trie_debug_msg(" %s %s %s\n",
+ msg,
+ _k.str().c_str(), _p ? "PL" : "[]");
diff --git a/net/xorp/patches/patch-libxorp_utility.h b/net/xorp/patches/patch-libxorp_utility.h
new file mode 100644
index 00000000000..85ee5516d74
--- /dev/null
+++ b/net/xorp/patches/patch-libxorp_utility.h
@@ -0,0 +1,22 @@
+$NetBSD: patch-libxorp_utility.h,v 1.1 2012/07/03 17:36:10 joerg Exp $
+
+--- libxorp/utility.h.orig 2009-01-05 18:30:58.000000000 +0000
++++ libxorp/utility.h
+@@ -31,7 +31,7 @@
+ * Compile time assertion.
+ */
+ #ifndef static_assert
+-#define static_assert(a) switch (a) case 0: case (a):
++#define static_assert(a) typedef char static_assertion ## __LINE__[(a) ? 1 : -1]
+ #endif /* static_assert */
+
+ /*
+@@ -42,7 +42,7 @@
+ #ifdef UNUSED
+ # undef UNUSED
+ #endif /* UNUSED */
+-#define UNUSED(var) static_assert(sizeof(var) != 0)
++#define UNUSED(var) (void)var
+
+ #ifdef __cplusplus
+ #define cstring(s) (s).str().c_str()
diff --git a/net/xorp/patches/patch-libxorp_xorp.h b/net/xorp/patches/patch-libxorp_xorp.h
index bc470ed0dac..2c20840a54f 100644
--- a/net/xorp/patches/patch-libxorp_xorp.h
+++ b/net/xorp/patches/patch-libxorp_xorp.h
@@ -1,8 +1,16 @@
-$NetBSD: patch-libxorp_xorp.h,v 1.1 2011/12/05 22:54:57 joerg Exp $
+$NetBSD: patch-libxorp_xorp.h,v 1.2 2012/07/03 17:36:10 joerg Exp $
---- libxorp/xorp.h.orig 2011-12-05 19:51:40.000000000 +0000
+--- libxorp/xorp.h.orig 2009-01-05 18:30:58.000000000 +0000
+++ libxorp/xorp.h
-@@ -173,9 +173,7 @@ using namespace std::rel_ops;
+@@ -39,6 +39,7 @@
+ #endif
+
+ #if defined (__cplusplus) && !defined(__STL_NO_NAMESPACES)
++namespace std {};
+ using namespace std;
+ #endif
+
+@@ -173,9 +174,7 @@ using namespace std::rel_ops;
#define FALSE (0)
#define TRUE (!FALSE)
#endif /* TRUE, FALSE */
diff --git a/net/xorp/patches/patch-ospf_peer.cc b/net/xorp/patches/patch-ospf_peer.cc
new file mode 100644
index 00000000000..9555b7840a7
--- /dev/null
+++ b/net/xorp/patches/patch-ospf_peer.cc
@@ -0,0 +1,26 @@
+$NetBSD: patch-ospf_peer.cc,v 1.1 2012/07/03 17:36:10 joerg Exp $
+
+--- ospf/peer.cc.orig 2009-01-05 18:31:01.000000000 +0000
++++ ospf/peer.cc
+@@ -301,19 +301,16 @@ template <typename A>
+ void
+ PeerOut<A>::peer_change()
+ {
+- switch (_running) {
+- case true:
++ if (_running) {
+ if (false == _status || false == _link_status) {
+ take_down_peering();
+ _running = false;
+ }
+- break;
+- case false:
++ } else {
+ if (true == _status && true == _link_status) {
+ _running = true;
+ _running = bring_up_peering();
+ }
+- break;
+ }
+ }
+
diff --git a/net/xorp/patches/patch-pim_pim__bsr.cc b/net/xorp/patches/patch-pim_pim__bsr.cc
new file mode 100644
index 00000000000..fed69747f05
--- /dev/null
+++ b/net/xorp/patches/patch-pim_pim__bsr.cc
@@ -0,0 +1,13 @@
+$NetBSD: patch-pim_pim__bsr.cc,v 1.1 2012/07/03 17:36:10 joerg Exp $
+
+--- pim/pim_bsr.cc.orig 2009-01-05 18:31:02.000000000 +0000
++++ pim/pim_bsr.cc
+@@ -2221,7 +2221,7 @@ BsrZone::is_new_bsr_same_priority(const
+ return (false);
+ }
+
+-struct TimeVal
++class TimeVal
+ BsrZone::randomized_override_interval(const IPvX& my_addr,
+ uint8_t my_priority) const
+ {
diff --git a/net/xorp/patches/patch-pim_pim__bsr.hh b/net/xorp/patches/patch-pim_pim__bsr.hh
new file mode 100644
index 00000000000..74e60fb2e19
--- /dev/null
+++ b/net/xorp/patches/patch-pim_pim__bsr.hh
@@ -0,0 +1,13 @@
+$NetBSD: patch-pim_pim__bsr.hh,v 1.1 2012/07/03 17:36:10 joerg Exp $
+
+--- pim/pim_bsr.hh.orig 2009-01-05 18:31:02.000000000 +0000
++++ pim/pim_bsr.hh
+@@ -275,7 +275,7 @@ public:
+ bool i_am_bsr() const;
+ bool is_new_bsr_preferred(const BsrZone& bsr_zone) const;
+ bool is_new_bsr_same_priority(const BsrZone& bsr_zone) const;
+- struct TimeVal randomized_override_interval(const IPvX& my_addr,
++ class TimeVal randomized_override_interval(const IPvX& my_addr,
+ uint8_t my_priority) const;
+
+ bool is_bsm_forward() const { return (_is_bsm_forward); }
diff --git a/net/xorp/patches/patch-pim_pim__vif.cc b/net/xorp/patches/patch-pim_pim__vif.cc
new file mode 100644
index 00000000000..9bca25f03a8
--- /dev/null
+++ b/net/xorp/patches/patch-pim_pim__vif.cc
@@ -0,0 +1,13 @@
+$NetBSD: patch-pim_pim__vif.cc,v 1.1 2012/07/03 17:36:10 joerg Exp $
+
+--- pim/pim_vif.cc.orig 2012-07-03 16:18:50.000000000 +0000
++++ pim/pim_vif.cc
+@@ -1778,7 +1778,7 @@ PimVif::upstream_join_timer_t_suppressed
+ // Compute the randomized 't_override' interval value for Upstream Join Timer:
+ // t_override = rand(0, Effective_Override_Interval(I))
+ //
+-const struct TimeVal&
++const class TimeVal&
+ PimVif::upstream_join_timer_t_override() const
+ {
+ static TimeVal tv;
diff --git a/net/xorp/patches/patch-policy_backend_backend.l b/net/xorp/patches/patch-policy_backend_backend.l
new file mode 100644
index 00000000000..e1036196653
--- /dev/null
+++ b/net/xorp/patches/patch-policy_backend_backend.l
@@ -0,0 +1,12 @@
+$NetBSD: patch-policy_backend_backend.l,v 1.1 2012/07/03 17:36:10 joerg Exp $
+
+--- policy/backend/backend.l.orig 2008-08-06 08:24:59.000000000 +0000
++++ policy/backend/backend.l
+@@ -33,6 +33,7 @@ namespace {
+ %}
+ %option noyywrap
+ %option nounput
++%option noinput
+ %option prefix="yy_policy_backend_parser"
+ %option outfile="lex.yy_policy_backend_parser.cc"
+ %option never-interactive
diff --git a/net/xorp/patches/patch-policy_backend_iv__exec.cc b/net/xorp/patches/patch-policy_backend_iv__exec.cc
new file mode 100644
index 00000000000..4fff9240e08
--- /dev/null
+++ b/net/xorp/patches/patch-policy_backend_iv__exec.cc
@@ -0,0 +1,13 @@
+$NetBSD: patch-policy_backend_iv__exec.cc,v 1.1 2012/07/03 17:36:10 joerg Exp $
+
+--- policy/backend/iv_exec.cc.orig 2009-01-05 18:31:06.000000000 +0000
++++ policy/backend/iv_exec.cc
+@@ -269,7 +269,7 @@ void
+ IvExec::visit(Store& s)
+ {
+ if (_stackptr < _stack)
+- xorp_throw(RuntimeError, "Stack empty on assign of " + s.var());
++ xorp_throw(RuntimeError, c_format("Stack empty on assign of %d", s.var()));
+
+ const Element* arg = *_stackptr;
+ _stackptr--;
diff --git a/net/xorp/patches/patch-policy_backend_single__varrw.cc b/net/xorp/patches/patch-policy_backend_single__varrw.cc
new file mode 100644
index 00000000000..95bf01203bc
--- /dev/null
+++ b/net/xorp/patches/patch-policy_backend_single__varrw.cc
@@ -0,0 +1,13 @@
+$NetBSD: patch-policy_backend_single__varrw.cc,v 1.1 2012/07/03 17:36:10 joerg Exp $
+
+--- policy/backend/single_varrw.cc.orig 2009-01-05 18:31:06.000000000 +0000
++++ policy/backend/single_varrw.cc
+@@ -70,7 +70,7 @@ SingleVarRW::read(const Id& id)
+
+ // out of luck...
+ if(!e)
+- xorp_throw(SingleVarRWErr, "Unable to read variable " + id);
++ xorp_throw(SingleVarRWErr, c_format("Unable to read variable %d", id));
+ }
+
+ return *e;
diff --git a/net/xorp/patches/patch-policy_policy.l b/net/xorp/patches/patch-policy_policy.l
new file mode 100644
index 00000000000..224291f559b
--- /dev/null
+++ b/net/xorp/patches/patch-policy_policy.l
@@ -0,0 +1,12 @@
+$NetBSD: patch-policy_policy.l,v 1.1 2012/07/03 17:36:10 joerg Exp $
+
+--- policy/policy.l.orig 2008-08-06 08:25:49.000000000 +0000
++++ policy/policy.l
+@@ -35,6 +35,7 @@ namespace {
+ %option outfile="lex.yy_policy_parser.cc"
+ %option noyywrap
+ %option nounput
++%option noinput
+ %option never-interactive
+ %x STR
+
diff --git a/net/xorp/patches/patch-policy_test_compilepolicy.l b/net/xorp/patches/patch-policy_test_compilepolicy.l
new file mode 100644
index 00000000000..80eb798966e
--- /dev/null
+++ b/net/xorp/patches/patch-policy_test_compilepolicy.l
@@ -0,0 +1,12 @@
+$NetBSD: patch-policy_test_compilepolicy.l,v 1.1 2012/07/03 17:36:10 joerg Exp $
+
+--- policy/test/compilepolicy.l.orig 2012-07-03 16:32:36.000000000 +0000
++++ policy/test/compilepolicy.l
+@@ -26,6 +26,7 @@ namespace {
+ %option prefix="yy_compile_policy"
+ %option outfile="lex.yy_compile_policy.cc"
+ %option noyywrap
++%option noinput
+ %option nounput
+ %option never-interactive
+ %x STR BLOCK
diff --git a/net/xorp/patches/patch-rib_redist__xrl.cc b/net/xorp/patches/patch-rib_redist__xrl.cc
new file mode 100644
index 00000000000..f0ae1700ef7
--- /dev/null
+++ b/net/xorp/patches/patch-rib_redist__xrl.cc
@@ -0,0 +1,51 @@
+$NetBSD: patch-rib_redist__xrl.cc,v 1.1 2012/07/03 17:36:10 joerg Exp $
+
+--- rib/redist_xrl.cc.orig 2009-01-05 18:31:07.000000000 +0000
++++ rib/redist_xrl.cc
+@@ -1032,11 +1032,11 @@ RedistTransactionXrlOutput<A>::add_route
+ // current transaction and start a new one.
+ //
+ if (this->transaction_size() >= MAX_TRANSACTION_SIZE) {
+- enqueue_task(new CommitTransaction<A>(this));
+- enqueue_task(new StartTransaction<A>(this));
++ this->enqueue_task(new CommitTransaction<A>(this));
++ this->enqueue_task(new StartTransaction<A>(this));
+ }
+
+- enqueue_task(new AddTransactionRoute<A>(this, ipr));
++ this->enqueue_task(new AddTransactionRoute<A>(this, ipr));
+ if (no_running_tasks)
+ this->start_next_task();
+ }
+@@ -1054,18 +1054,18 @@ RedistTransactionXrlOutput<A>::delete_ro
+ bool no_running_tasks = (this->_queued == 0);
+
+ if (this->transaction_size() == 0)
+- enqueue_task(new StartTransaction<A>(this));
++ this->enqueue_task(new StartTransaction<A>(this));
+
+ //
+ // If the accumulated transaction size is too large, commit the
+ // current transaction and start a new one.
+ //
+ if (this->transaction_size() >= MAX_TRANSACTION_SIZE) {
+- enqueue_task(new CommitTransaction<A>(this));
+- enqueue_task(new StartTransaction<A>(this));
++ this->enqueue_task(new CommitTransaction<A>(this));
++ this->enqueue_task(new StartTransaction<A>(this));
+ }
+
+- enqueue_task(new DeleteTransactionRoute<A>(this, ipr));
++ this->enqueue_task(new DeleteTransactionRoute<A>(this, ipr));
+ if (no_running_tasks)
+ this->start_next_task();
+ }
+@@ -1105,7 +1105,7 @@ RedistTransactionXrlOutput<A>::task_comp
+ // If transaction in progress, and this is the last add/delete,
+ // then send "commit transaction".
+ //
+- enqueue_task(new CommitTransaction<A>(this));
++ this->enqueue_task(new CommitTransaction<A>(this));
+ this->start_next_task();
+ return;
+ }
diff --git a/net/xorp/patches/patch-rib_rt__tab__deletion.cc b/net/xorp/patches/patch-rib_rt__tab__deletion.cc
new file mode 100644
index 00000000000..d8147e3eada
--- /dev/null
+++ b/net/xorp/patches/patch-rib_rt__tab__deletion.cc
@@ -0,0 +1,13 @@
+$NetBSD: patch-rib_rt__tab__deletion.cc,v 1.1 2012/07/03 17:36:10 joerg Exp $
+
+--- rib/rt_tab_deletion.cc.orig 2009-01-05 18:31:07.000000000 +0000
++++ rib/rt_tab_deletion.cc
+@@ -43,7 +43,7 @@ DeletionTable<A>::DeletionTable(const st
+ _ip_route_table(ip_route_trie)
+ {
+ XLOG_ASSERT(_parent != NULL);
+- set_next_table(_parent->next_table());
++ this->set_next_table(_parent->next_table());
+ this->next_table()->replumb(parent, this);
+ parent->set_next_table(this);
+
diff --git a/net/xorp/patches/patch-rib_rt__tab__extint.cc b/net/xorp/patches/patch-rib_rt__tab__extint.cc
new file mode 100644
index 00000000000..38aa18cfe89
--- /dev/null
+++ b/net/xorp/patches/patch-rib_rt__tab__extint.cc
@@ -0,0 +1,13 @@
+$NetBSD: patch-rib_rt__tab__extint.cc,v 1.1 2012/07/03 17:36:10 joerg Exp $
+
+--- rib/rt_tab_extint.cc.orig 2009-01-05 18:31:07.000000000 +0000
++++ rib/rt_tab_extint.cc
+@@ -749,7 +749,7 @@ ExtIntTable<A>::replumb(RouteTable<A>* o
+ // Shouldn't be possible
+ XLOG_UNREACHABLE();
+ }
+- set_tablename(make_extint_name(_ext_table, _int_table));
++ this->set_tablename(make_extint_name(_ext_table, _int_table));
+ debug_msg("ExtIntTable: now called \"%s\"\n", this->tablename().c_str());
+ }
+
diff --git a/net/xorp/patches/patch-rib_rt__tab__merged.cc b/net/xorp/patches/patch-rib_rt__tab__merged.cc
new file mode 100644
index 00000000000..9855db946dc
--- /dev/null
+++ b/net/xorp/patches/patch-rib_rt__tab__merged.cc
@@ -0,0 +1,13 @@
+$NetBSD: patch-rib_rt__tab__merged.cc,v 1.1 2012/07/03 17:36:10 joerg Exp $
+
+--- rib/rt_tab_merged.cc.orig 2009-01-05 18:31:07.000000000 +0000
++++ rib/rt_tab_merged.cc
+@@ -194,7 +194,7 @@ MergedTable<A>::replumb(RouteTable<A>* o
+ } else {
+ XLOG_UNREACHABLE();
+ }
+- set_tablename(make_merged_name(_table_a, _table_b));
++ this->set_tablename(make_merged_name(_table_a, _table_b));
+ debug_msg("MergedTable: now called \"%s\"\n", this->tablename().c_str());
+ }
+
diff --git a/net/xorp/patches/patch-rib_rt__tab__pol__conn.cc b/net/xorp/patches/patch-rib_rt__tab__pol__conn.cc
new file mode 100644
index 00000000000..898c00ba520
--- /dev/null
+++ b/net/xorp/patches/patch-rib_rt__tab__pol__conn.cc
@@ -0,0 +1,13 @@
+$NetBSD: patch-rib_rt__tab__pol__conn.cc,v 1.1 2012/07/03 17:36:10 joerg Exp $
+
+--- rib/rt_tab_pol_conn.cc.orig 2009-01-05 18:31:07.000000000 +0000
++++ rib/rt_tab_pol_conn.cc
+@@ -45,7 +45,7 @@ PolicyConnectedTable<A>::PolicyConnected
+ : RouteTable<A>(table_name), _parent(parent), _policy_filters(pfs)
+ {
+ if (_parent->next_table()) {
+- set_next_table(_parent->next_table());
++ this->set_next_table(_parent->next_table());
+
+ this->next_table()->replumb(_parent, this);
+ }
diff --git a/net/xorp/patches/patch-rib_rt__tab__pol__redist.cc b/net/xorp/patches/patch-rib_rt__tab__pol__redist.cc
new file mode 100644
index 00000000000..49e53ab5593
--- /dev/null
+++ b/net/xorp/patches/patch-rib_rt__tab__pol__redist.cc
@@ -0,0 +1,13 @@
+$NetBSD: patch-rib_rt__tab__pol__redist.cc,v 1.1 2012/07/03 17:36:10 joerg Exp $
+
+--- rib/rt_tab_pol_redist.cc.orig 2009-01-05 18:31:07.000000000 +0000
++++ rib/rt_tab_pol_redist.cc
+@@ -50,7 +50,7 @@ PolicyRedistTable<A>::PolicyRedistTable(
+ _multicast(multicast)
+ {
+ if (_parent->next_table() != NULL) {
+- set_next_table(_parent->next_table());
++ this->set_next_table(_parent->next_table());
+
+ this->next_table()->replumb(_parent, this);
+ }
diff --git a/net/xorp/patches/patch-rib_rt__tab__redist.cc b/net/xorp/patches/patch-rib_rt__tab__redist.cc
new file mode 100644
index 00000000000..65d8b5a3277
--- /dev/null
+++ b/net/xorp/patches/patch-rib_rt__tab__redist.cc
@@ -0,0 +1,13 @@
+$NetBSD: patch-rib_rt__tab__redist.cc,v 1.1 2012/07/03 17:36:10 joerg Exp $
+
+--- rib/rt_tab_redist.cc.orig 2009-01-05 18:31:07.000000000 +0000
++++ rib/rt_tab_redist.cc
+@@ -340,7 +340,7 @@ RedistTable<A>::RedistTable(const string
+ : RouteTable<A>(tablename), _parent(parent)
+ {
+ if (_parent->next_table()) {
+- set_next_table(_parent->next_table());
++ this->set_next_table(_parent->next_table());
+ this->next_table()->replumb(_parent, this);
+ }
+ _parent->set_next_table(this);
diff --git a/net/xorp/patches/patch-rip_output__table.cc b/net/xorp/patches/patch-rip_output__table.cc
new file mode 100644
index 00000000000..3b41afab308
--- /dev/null
+++ b/net/xorp/patches/patch-rip_output__table.cc
@@ -0,0 +1,13 @@
+$NetBSD: patch-rip_output__table.cc,v 1.1 2012/07/03 17:36:10 joerg Exp $
+
+--- rip/output_table.cc.orig 2012-07-03 16:23:55.000000000 +0000
++++ rip/output_table.cc
+@@ -68,7 +68,7 @@ OutputTable<A>::output_packet()
+ origin, r->tag(),
+ r->policytags());
+
+- bool accepted = do_filtering(copy);
++ bool accepted = this->do_filtering(copy);
+ if (!accepted) {
+ delete copy;
+ continue;
diff --git a/net/xorp/patches/patch-rip_output__updates.cc b/net/xorp/patches/patch-rip_output__updates.cc
new file mode 100644
index 00000000000..9f7430099bb
--- /dev/null
+++ b/net/xorp/patches/patch-rip_output__updates.cc
@@ -0,0 +1,13 @@
+$NetBSD: patch-rip_output__updates.cc,v 1.1 2012/07/03 17:36:10 joerg Exp $
+
+--- rip/output_updates.cc.orig 2012-07-03 16:24:18.000000000 +0000
++++ rip/output_updates.cc
+@@ -78,7 +78,7 @@ OutputUpdates<A>::output_packet()
+ origin, r->tag(),
+ r->policytags());
+
+- bool accepted = do_filtering(copy);
++ bool accepted = this->do_filtering(copy);
+ if (!accepted) {
+ delete copy;
+ continue;
diff --git a/net/xorp/patches/patch-rtrmgr_boot.ll b/net/xorp/patches/patch-rtrmgr_boot.ll
new file mode 100644
index 00000000000..7d7d235a8bf
--- /dev/null
+++ b/net/xorp/patches/patch-rtrmgr_boot.ll
@@ -0,0 +1,12 @@
+$NetBSD: patch-rtrmgr_boot.ll,v 1.1 2012/07/03 17:36:10 joerg Exp $
+
+--- rtrmgr/boot.ll.orig 2012-07-03 16:26:58.000000000 +0000
++++ rtrmgr/boot.ll
+@@ -24,6 +24,7 @@
+ bool arith_op_allowed;
+ %option noyywrap
+ %option nounput
++%option noinput
+ %option never-interactive
+ %x comment
+ %x string
diff --git a/net/xorp/patches/patch-rtrmgr_cli.cc b/net/xorp/patches/patch-rtrmgr_cli.cc
new file mode 100644
index 00000000000..cf1c2b0885e
--- /dev/null
+++ b/net/xorp/patches/patch-rtrmgr_cli.cc
@@ -0,0 +1,22 @@
+$NetBSD: patch-rtrmgr_cli.cc,v 1.1 2012/07/03 17:36:10 joerg Exp $
+
+--- rtrmgr/cli.cc.orig 2012-07-03 16:29:27.000000000 +0000
++++ rtrmgr/cli.cc
+@@ -741,7 +741,7 @@ RouterCLI::op_mode_help(const vector<str
+ path = token_vector2line(command_global_name);
+ XLOG_ASSERT(path.substr(0, 4) == "help");
+ if (path.size() == 4) {
+- trimmed_path == "";
++ trimmed_path = "";
+ } else {
+ XLOG_ASSERT(path.substr(0, 5) == "help ");
+ trimmed_path = path.substr(5, path.size() - 5);
+@@ -1062,7 +1062,7 @@ RouterCLI::configure_mode_help(const vec
+ path = token_vector2line(command_global_name);
+ XLOG_ASSERT(path.substr(0, 4) == "help");
+ if (path.size() == 4) {
+- trimmed_path == "";
++ trimmed_path = "";
+ } else {
+ XLOG_ASSERT(path.substr(0, 5) == "help ");
+ trimmed_path = path.substr(5, path.size() - 5);
diff --git a/net/xorp/patches/patch-rtrmgr_op__commands.ll b/net/xorp/patches/patch-rtrmgr_op__commands.ll
new file mode 100644
index 00000000000..04b785b6e80
--- /dev/null
+++ b/net/xorp/patches/patch-rtrmgr_op__commands.ll
@@ -0,0 +1,12 @@
+$NetBSD: patch-rtrmgr_op__commands.ll,v 1.1 2012/07/03 17:36:10 joerg Exp $
+
+--- rtrmgr/op_commands.ll.orig 2012-07-03 16:30:22.000000000 +0000
++++ rtrmgr/op_commands.ll
+@@ -22,6 +22,7 @@
+ extern char* opcmdlval;
+ string opcmd_parsebuf;
+ %option noyywrap
++%option noinput
+ %option nounput
+ %option never-interactive
+ %x comment
diff --git a/net/xorp/patches/patch-rtrmgr_template.ll b/net/xorp/patches/patch-rtrmgr_template.ll
new file mode 100644
index 00000000000..b1d1fde4eff
--- /dev/null
+++ b/net/xorp/patches/patch-rtrmgr_template.ll
@@ -0,0 +1,12 @@
+$NetBSD: patch-rtrmgr_template.ll,v 1.1 2012/07/03 17:36:10 joerg Exp $
+
+--- rtrmgr/template.ll.orig 2012-07-03 16:28:04.000000000 +0000
++++ rtrmgr/template.ll
+@@ -21,6 +21,7 @@
+ extern char* tpltlval;
+ string tplt_parsebuf;
+ %option noyywrap
++%option noinput
+ %option nounput
+ %option never-interactive
+ %x comment
diff --git a/net/xorp/patches/patch-rtrmgr_xorpsh__main.cc b/net/xorp/patches/patch-rtrmgr_xorpsh__main.cc
new file mode 100644
index 00000000000..13c277228d0
--- /dev/null
+++ b/net/xorp/patches/patch-rtrmgr_xorpsh__main.cc
@@ -0,0 +1,13 @@
+$NetBSD: patch-rtrmgr_xorpsh__main.cc,v 1.1 2012/07/03 17:36:10 joerg Exp $
+
+--- rtrmgr/xorpsh_main.cc.orig 2012-07-03 16:31:20.000000000 +0000
++++ rtrmgr/xorpsh_main.cc
+@@ -668,7 +668,7 @@ XorpShell::config_changed(uid_t user_id,
+ _router_cli->notify_user(response, /* urgent */ true);
+ // XXX it's not clear we can continue if this happens
+ }
+- response == "";
++ response = "";
+ if (!_ct->apply_deletions(user_id, deletions,
+ /* this is not a provisional change */ false,
+ response)) {