Bug 186982 - [PATCH] net/xorp: update to 1.8.5
Summary: [PATCH] net/xorp: update to 1.8.5
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: Normal Affects Only Me
Assignee: Antoine Brodin
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-02-23 18:20 UTC by Johannes 5
Modified: 2014-02-26 22:00 UTC (History)
0 users

See Also:


Attachments
xorp-1.8.5.patch (77.02 KB, patch)
2014-02-23 18:20 UTC, Johannes 5
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Johannes 5 2014-02-23 18:20:00 UTC
- Update to 1.8.5

Remarks:
- The starting point for this was PR ports/155932 by Radim Kolar for 1.8.3.
- The annoying amount of patches was necessary to compile xorp 1.8.5 on
  FreeBSD 10.0 using the base system clang.
- It also compiles (and runs:-) using the base system gcc on FreeBSD 9.2.
- The resulting binaries were tested on 10.0 and 9.2 using OSPF, including
  a connected-to-ospf export policy. Seems to work at least as good as
  the binaries from the xorp-devel port, which does not compile on 10.0.
- Unfortunately I don't have the resources to maintain this port:-(
  Especially as this would include understanding C++'s "interesting"
  compile errors (*) and communicating with an upstream that uses git and
  has not released a version of xorp since 1.8.5 two years ago.
- I've simplified rc.d/xorp, but also introduced an additional xorp_rtprio
  variable to improve xorp's stability on slow and loaded machines.

(*) On 10.0 using the base system clang, and without applying
    files/patch-pim__pim_mrt_task.cc:

c++ -o obj/i386-unknown-freebsd10.0/pim/pim_mrt_task.os -c -pipe -fno-strict-aliasing -O3 -g3 -Werror -W -Wall -Wwrite-strings -Wcast-qual -Wpointer-arith -Wcast-align -Woverloaded-virtual -ftemplate-depth-25 -DXORP_BUILDINFO -fPIC -DXRL_PF=120 -DXORP_VERSION=1.8.5 -DBOOST_DISABLE_THREADS -I/usr/local/include -Iobj/i386-unknown-freebsd10.0 -I. -I. pim/pim_mrt_task.cc
pim/pim_mrt_task.cc:169:14: error: use of overloaded operator '!=' is ambiguous
      (with operand types 'list<PimMreTask *>::reverse_iterator' (aka
      'reverse_iterator<iterator>') and 'reverse_iterator' (aka
      'reverse_iterator<iterator>'))
    if (iter != pim_mre_task_list().rend()) {
        ~~~~ ^  ~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/v1/utility:161:1: note: candidate function [with _Tp =
      std::__1::reverse_iterator<std::__1::__list_iterator<PimMreTask *, void *>
      >]
operator!=(const _Tp& __x, const _Tp& __y)
^
/usr/include/c++/v1/iterator:574:1: note: candidate function [with _Iter1 =
      std::__1::__list_iterator<PimMreTask *, void *>, _Iter2 =
      std::__1::__list_iterator<PimMreTask *, void *>]
operator!=(const reverse_iterator<_Iter1>& __x, const reverse_iterator<_...
^

Generated with FreeBSD Port Tools 1.00.2014.02.18_1 (mode: update, diff: ports)
Comment 1 Antoine Brodin freebsd_committer freebsd_triage 2014-02-26 17:57:55 UTC
Hi,

There are some problems with your patch:
- PORTREVISION=0 can be removed
- you can use DISTVERSIONSUFFIX= -src
- MAKE_JOBS_SAFE is obsolete
- your patch replaces use of OPTIONS with obsolete WITH/WITHOUT
- USE_OPENSSL has to stay, some people build base without it
- USE_SCONS is deprecated, it should be USES= scons
- rc script name is changed to .sh ,  this is obsolete
- should use GROUPS= to create the group instead of a
pkg-install/pkg-deinstall script (this was already a problem before)
- you can remove the post-install part, it's not necessary with staging
- /usr/local seems hardcoded in some patches, this is not pretty

Cheers,

Antoine
Comment 2 Antoine Brodin freebsd_committer freebsd_triage 2014-02-26 18:36:09 UTC
Responsible Changed
From-To: freebsd-ports-bugs->antoine

I will have a look at this
Comment 3 Johannes 5 2014-02-26 19:45:55 UTC
Hi Antoine,

thank you very much for your feedback! (And sorry for all the glitches
in the patch which I didn't notice myself:-(

But before fixing them (hopefully) tomorrow I'd like to ask (as I did
on ports@ two hours ago) whether it's worth the work, or if net/xorp
will be deleted tomorrow because that is set as its expiration date?

Just one immediate reply to your comments:

On Wed, 26 Feb 2014 18:57:55 +0100, Antoine Brodin
<antoine@FreeBSD.org> wrote:
> There are some problems with your patch:
> [...]
> - rc script name is changed to .sh ,  this is obsolete
> [...]

This one I did purposefully (the other issues were mostly
"inherited" - which is no excuse). The reason was that the sources
extract to WRKDIR/xorp - which conflicts with the rc.d script
generation, when its source is files/xorp.in. To avoid this show
stopper, I found out that the ports infrastructure handles the *.sh
case gracefully, because it installs WRKDIR/xorp.sh to
PREFIX/etc/rc.d/xorp as desired:-)

Would you still recommend to move the source directory instead of
putting the script's source to files/xorp.sh.in?

Thanks a lot!
Johannes
Comment 4 Antoine Brodin freebsd_committer freebsd_triage 2014-02-26 20:45:56 UTC
I am working on the port part, it should be ok now.
For the files/patch-* part,  I have some questions:

patch for xrl/scripts/Xif/parse.py: "|" is a bitwise operator, do you
mean "or" (logical operator) ?
Comment 5 Johannes 5 2014-02-26 21:13:55 UTC
Hi Antoine,

On Wed, 26 Feb 2014 21:45:56 +0100, Antoine Brodin
<antoine@FreeBSD.org> wrote:
> I am working on the port part, it should be ok now.

Great!!

> For the files/patch-* part,  I have some questions:
> 
> patch for xrl/scripts/Xif/parse.py: "|" is a bitwise operator, do you
> mean "or" (logical operator) ?

Yes, I meant the logical "or". Well, I don't know python any better
than C++, but it seems that the build would fail if one used "||":

% echo "if True | False: print 5" | python
5
% echo "if True || False: print 5" | python
  File "<stdin>", line 1
    if True || False: print 5
             ^
SyntaxError: invalid syntax

Thanks for checking this annoying patch set!
Johannes
Comment 6 dfilter service freebsd_committer freebsd_triage 2014-02-26 21:55:15 UTC
Author: antoine
Date: Wed Feb 26 21:54:59 2014
New Revision: 346231
URL: http://svnweb.freebsd.org/changeset/ports/346231
QAT: https://qat.redports.org/buildarchive/r346231/

Log:
  - Update to 1.8.5
  - Unbreak and unexpire
  - Stage support
  
  PR:		ports/186982
  Submitted by:	Johannes 5 Joemann

Added:
  head/net/xorp/files/patch-SConstruct   (contents, props changed)
  head/net/xorp/files/patch-bgp__bgp_trie.cc   (contents, props changed)
  head/net/xorp/files/patch-bgp__harness__coord.hh   (contents, props changed)
  head/net/xorp/files/patch-bgp__path_attribute.cc   (contents, props changed)
  head/net/xorp/files/patch-cli__cli_client.cc   (contents, props changed)
  head/net/xorp/files/patch-cli__xrl_cli_node.hh   (contents, props changed)
  head/net/xorp/files/patch-contrib__olsr__face.hh   (contents, props changed)
  head/net/xorp/files/patch-contrib__olsr__face_manager.cc   (contents, props changed)
  head/net/xorp/files/patch-contrib__olsr__message.hh   (contents, props changed)
  head/net/xorp/files/patch-contrib__olsr__policy_varrw.cc   (contents, props changed)
  head/net/xorp/files/patch-contrib__olsr__policy_varrw.hh   (contents, props changed)
  head/net/xorp/files/patch-contrib__olsr__tools__print_databases.cc   (contents, props changed)
  head/net/xorp/files/patch-contrib__olsr__twohop.hh   (contents, props changed)
  head/net/xorp/files/patch-fea__data_plane__control_socket__routing_socket.cc   (contents, props changed)
  head/net/xorp/files/patch-fea__data_plane__control_socket__routing_socket.hh   (contents, props changed)
  head/net/xorp/files/patch-fea__data_plane__control_socket__windows_rtm_pipe.cc   (contents, props changed)
  head/net/xorp/files/patch-fea__data_plane__control_socket__windows_rtm_pipe.hh   (contents, props changed)
  head/net/xorp/files/patch-fea__data_plane__fibconfig__fibconfig_table_observer_rtmv2.hh   (contents, props changed)
  head/net/xorp/files/patch-fea__data_plane__managers__fea_data_plane_manager_linux.cc   (contents, props changed)
  head/net/xorp/files/patch-fea__data_plane__managers__fea_data_plane_manager_linux.hh   (contents, props changed)
  head/net/xorp/files/patch-fea__fibconfig.hh   (contents, props changed)
  head/net/xorp/files/patch-fea__firewall_manager.hh   (contents, props changed)
  head/net/xorp/files/patch-fea__ifconfig.hh   (contents, props changed)
  head/net/xorp/files/patch-fea__mfea_mrouter.hh   (contents, props changed)
  head/net/xorp/files/patch-fea__tools__show_interfaces.hh   (contents, props changed)
  head/net/xorp/files/patch-fea__xrl_mfea_node.hh   (contents, props changed)
  head/net/xorp/files/patch-libproto__packet.cc   (contents, props changed)
  head/net/xorp/files/patch-libxipc__xrl_pf_stcp.cc   (contents, props changed)
  head/net/xorp/files/patch-pim__pim_mrt_task.cc   (contents, props changed)
  head/net/xorp/files/patch-policy__backend__iv_exec.cc   (contents, props changed)
  head/net/xorp/files/patch-policy__backend__lex.yy_policy_backend_parser.cc   (contents, props changed)
  head/net/xorp/files/patch-policy__backend__single_varrw.cc   (contents, props changed)
  head/net/xorp/files/patch-policy__configuration.cc   (contents, props changed)
  head/net/xorp/files/patch-policy__configuration.hh   (contents, props changed)
  head/net/xorp/files/patch-policy__lex.yy_policy_parser.cc   (contents, props changed)
  head/net/xorp/files/patch-rib__vifmanager.hh   (contents, props changed)
  head/net/xorp/files/patch-rip__packets.hh   (contents, props changed)
  head/net/xorp/files/patch-rtrmgr__cli.cc   (contents, props changed)
  head/net/xorp/files/patch-rtrmgr__lex.boot.cc   (contents, props changed)
  head/net/xorp/files/patch-rtrmgr__lex.opcmd.cc   (contents, props changed)
  head/net/xorp/files/patch-rtrmgr__lex.tplt.cc   (contents, props changed)
  head/net/xorp/files/patch-rtrmgr__module_command.hh   (contents, props changed)
  head/net/xorp/files/patch-rtrmgr__module_manager.hh   (contents, props changed)
  head/net/xorp/files/patch-rtrmgr__op_commands.hh   (contents, props changed)
  head/net/xorp/files/patch-rtrmgr__template_commands.hh   (contents, props changed)
  head/net/xorp/files/patch-rtrmgr__template_tree_node.cc   (contents, props changed)
  head/net/xorp/files/patch-rtrmgr__template_tree_node.hh   (contents, props changed)
  head/net/xorp/files/patch-rtrmgr__userdb.hh   (contents, props changed)
  head/net/xorp/files/patch-rtrmgr__xorpsh_main.cc   (contents, props changed)
  head/net/xorp/files/patch-rtrmgr__xorpsh_main.hh   (contents, props changed)
  head/net/xorp/files/patch-site_scons__config__allconfig.py   (contents, props changed)
  head/net/xorp/files/patch-vrrp__vrrp.cc   (contents, props changed)
  head/net/xorp/files/patch-xrl__scripts__Xif__parse.py   (contents, props changed)
  head/net/xorp/files/pkg-message.in   (contents, props changed)
Deleted:
  head/net/xorp/files/patch-libxorp-utility.h
  head/net/xorp/files/patch-mibs-bgp4_mib_1657_bgp4pathattrtable.cc
  head/net/xorp/files/patch-mibs-bgp4_mib_1657_bgppeertable.cc
  head/net/xorp/files/patch-mibs-xorpevents.cc
  head/net/xorp/pkg-deinstall
  head/net/xorp/pkg-install
Modified:
  head/net/xorp/Makefile
  head/net/xorp/distinfo
  head/net/xorp/files/xorp.in
  head/net/xorp/pkg-plist

Modified: head/net/xorp/Makefile
==============================================================================
--- head/net/xorp/Makefile	Wed Feb 26 21:44:42 2014	(r346230)
+++ head/net/xorp/Makefile	Wed Feb 26 21:54:59 2014	(r346231)
@@ -2,101 +2,83 @@
 # $FreeBSD$
 
 PORTNAME=	xorp
-PORTVERSION=	1.6
-PORTREVISION=	1
+PORTVERSION=	1.8.5
+DISTVERSIONSUFFIX=	-src
 CATEGORIES=	net
-MASTER_SITES=	http://www.xorp.org/releases/${PORTVERSION}/	\
-		http://www2.xorp.org/releases/${PORTVERSION}/	\
-		http://www5.xorp.org/releases/${PORTVERSION}/	\
-		http://www3.xorp.org/releases/${PORTVERSION}/
+MASTER_SITES=	http://www.xorp.org/releases/${PORTVERSION}/
 
 MAINTAINER=	ports@FreeBSD.org
 COMMENT=	The eXtensible Open Router Platform
 
 LICENSE=	GPLv2
 
-OPTIONS_DEFINE=	ADVMCAST IPV6 SNMP OPTIMIZED_CFLAGS TEST DEBUG PROFILE
-OPTIONS_DEFAULT=	ADVMCAST IPV6 SNMP OPTIMIZED_CFLAGS TEST PROFILE
+LIB_DEPENDS=	libboost_regex.so:${PORTSDIR}/devel/boost-libs \
+		libpcap.so:${PORTSDIR}/net/libpcap
 
-ADVMCAST_DESC=	Build with Advanced Multicast API
+CONFLICTS_INSTALL=	xorp-devel-*
 
-BROKEN=		Does not build
-DEPRECATED=	Broken for more than 6 month
-EXPIRATION_DATE=	2014-02-27
-
-USE_GMAKE=	yes
+EXTRACT_AFTER_ARGS=	--no-same-owner --no-same-permissions -s /^xorp/${DISTNAME}/
+GROUPS=		xorp
+USES=		ncurses scons shebangfix
+USE_BZIP2=	yes
 USE_OPENSSL=	yes
-
-GNU_CONFIGURE=	yes
-CONFIGURE_ARGS=		--prefix=${PREFIX}/${PORTNAME}			\
-			--with-comment='FreeBSD port: ${PKGNAME}'	\
-			--with-openssl=${OPENSSLBASE}
-
-CXXFLAGS+=	-Wno-uninitialized
-NOMAN=		defined
-
-XORP_GROUP=	xorp
+USE_PYTHON_BUILD=	2
 USE_RC_SUBR=	xorp
+SHEBANG_FILES=	xrl/scripts/clnt-gen xrl/scripts/tgt-gen
+python_OLD_CMD=	.*python
+python_CMD=	${PYTHON_CMD}
+SUB_FILES=	pkg-message
+XORP_SAMPLECONF=	rtrmgr/config/multicast4.boot
+
+BROKEN_sparc64=		Does not compile on sparc64
+
+OPTIONS_DEFINE=	OPTIMIZE ORIGIN SHARED STRIP TCP_RPC
+OPTIONS_DEFAULT=	OPTIMIZE ORIGIN SHARED STRIP
+OPTIMIZE_DESC=	Build with optimization
+ORIGIN_DESC=	Use ORIGIN with shared libraries
+SHARED_DESC=	Build with shared libraries
+TCP_RPC_DESC=	Use TCP as RPC transport (defaults to AF_LOCAL)
 
-NO_STAGE=	yes
-.include <bsd.port.options.mk>
+MAKE_ARGS=	prefix=${PREFIX} enable_boost=1
 
-.if ${PORT_OPTIONS:MADVMCAST}
-CONFIGURE_ARGS+=	--enable-advanced-mcast-api
-.endif
+.include <bsd.port.options.mk>
 
-.if ${PORT_OPTIONS:MIPV6}
-CONFIGURE_ARGS+=	--enable-ipv6
+.if ${PORT_OPTIONS:MOPTIMIZE}
+MAKE_ARGS+=	optimize=highest
 .else
-CONFIGURE_ARGS+=	--disable-ipv6
+MAKE_ARGS+=	optimize=no
 .endif
 
-.if ${PORT_OPTIONS:MSNMP}
-BUILD_DEPENDS+=		${LOCALBASE}/sbin/snmpd:${PORTSDIR}/net-mgmt/net-snmp
-CONFIGURE_ARGS+=	--with-snmp					 \
-	--with-path-to-snmpd=${LOCALBASE}/sbin				 \
-	--with-path-to-net-snmpd-config=${LOCALBASE}/bin/net-snmp-config \
-	--enable-shared
-PLIST_SUB+=		XORP_SNMP=""
-USE_LDCONFIG=		${PREFIX}/mibs
+.if ${PORT_OPTIONS:MSHARED}
+MAKE_ARGS+=	shared=true
+PLIST_SUB+=	XORP_SHLIB=""
+USE_LDCONFIG=	${PREFIX}/lib/xorp/lib
+. if ${PORT_OPTIONS:MORIGIN}
+MAKE_ARGS+=	origin=true
+. else
+MAKE_ARGS+=	origin=false
+. endif
 .else
-PLIST_SUB+=		XORP_SNMP="@comment "
-.endif
-
-.if ${PORT_OPTIONS:MOPTIMIZED_CFLAGS}
-CONFIGURE_ARGS+=	--enable-optimize --disable-debug
-.endif
-
-.if ${PORT_OPTIONS:MTEST}
-BUILD_DEPENDS+=	${LOCALBASE}/bin/python:${PORTSDIR}/lang/python \
-		${LOCALBASE}/bin/bash:${PORTSDIR}/shells/bash
+MAKE_ARGS+=	shared=false
+PLIST_SUB+=	XORP_SHLIB="@comment "
 .endif
 
-.if ${PORT_OPTIONS:MDEBUG}
-CONFIGURE_ARGS+=	--enable-debug-msgs --enable-debug-fnames
+.if ${PORT_OPTIONS:MSTRIP}
+MAKE_ARGS+=	strip=true
+.else
+MAKE_ARGS+=	strip=false
 .endif
 
-.if ${PORT_OPTIONS:MPROFILE}
-CONFIGURE_ARGS+=	--enable-profile
+.if ${PORT_OPTIONS:MTCP_RPC}
+MAKE_ARGS+=	transport=tcp
+.else
+MAKE_ARGS+=	transport=local
 .endif
 
-NOT_FOR_ARCH=	sparc64
-
-.include <bsd.port.pre.mk>
-
-pre-everything::
-.if !defined(PREFIX) || ${PREFIX} == "/usr/local"
-	@${ECHO_MSG} "XORP does not currently follow the hier(7) filesystem layout."
-	@${ECHO_MSG} "It will therefore install all its directories relative to ${PREFIX}."
-	@${ECHO_MSG} "If you do not want this, hit ^C now and set PREFIX in the"
-	@${ECHO_MSG} "build environment to something other than ${PREFIX}."
-	@${ECHO_MSG}
-	@${ECHO_MSG} "If you plan to build with SNMP support, please ensure that"
-	@${ECHO_MSG} "the net-mgmt/net-snmp port is already installed under ${LOCALBASE}"
-	@${ECHO_MSG} "before doing this."
-.endif
+post-patch:
+	${REINPLACE_CMD} 's,%%LOCALBASE%%,${LOCALBASE},' ${WRKSRC}/SConstruct
 
 post-install:
-	${SETENV} ${SCRIPTS_ENV} ${SH} ${PKGINSTALL} ${PKGNAME} POST-INSTALL
+	${CP} -p ${WRKSRC}/${XORP_SAMPLECONF} ${STAGEDIR}${PREFIX}/etc/xorp.conf.sample
 
-.include <bsd.port.post.mk>
+.include <bsd.port.mk>

Modified: head/net/xorp/distinfo
==============================================================================
--- head/net/xorp/distinfo	Wed Feb 26 21:44:42 2014	(r346230)
+++ head/net/xorp/distinfo	Wed Feb 26 21:54:59 2014	(r346231)
@@ -1,2 +1,2 @@
-SHA256 (xorp-1.6.tar.gz) = d3faff56f5e58cf43fa300e14d6b5702ea9e75147f3d2d2aae44da8bda3f8f82
-SIZE (xorp-1.6.tar.gz) = 7895108
+SHA256 (xorp-1.8.5-src.tar.bz2) = 4aa414e248f0ef3903a4ae8fd1862d8dd713a69f6bbc926d81dd693a88ef8e72
+SIZE (xorp-1.8.5-src.tar.bz2) = 3104442

Added: head/net/xorp/files/patch-SConstruct
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/net/xorp/files/patch-SConstruct	Wed Feb 26 21:54:59 2014	(r346231)
@@ -0,0 +1,27 @@
+--- ./SConstruct.orig	2012-01-11 17:46:45.000000000 +0000
++++ ./SConstruct	2014-02-26 21:17:13.000000000 +0000
+@@ -162,22 +162,13 @@
+ 
+ # XXX TODO: Make initial CPPPATH/LIBPATH derive from
+ # autodetected host system *or* command line.
+-#env = Environment(
+-#		  TOOLS = ['default', 'autotest', 'clntgen', 'tgtgen',
+-#		           'TOOL_SUBST'],
+-#		  ENV = os.environ,
+-#		  BUILDDIR = builddir,
+-#		  CPPPATH=['/usr/local/include', '$BUILDDIR'],
+-#		  LIBPATH=['usr/lib', '/usr/local/lib'],
+-#		  variables = vars)
+-
+ env = Environment(
+ 		  TOOLS = ['default', 'autotest', 'clntgen', 'tgtgen',
+ 		           'TOOL_SUBST'],
+ 		  ENV = os.environ,
+ 		  BUILDDIR = builddir,
+-		  CPPPATH=['$BUILDDIR'],
+-		  LIBPATH=['usr/lib'],
++		  CPPPATH=['%%LOCALBASE%%/include', '$BUILDDIR'],
++		  LIBPATH=['usr/lib', '%%LOCALBASE%%/lib'],
+ 		  variables = vars)
+ 
+ prefix = env['prefix']

Added: head/net/xorp/files/patch-bgp__bgp_trie.cc
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/net/xorp/files/patch-bgp__bgp_trie.cc	Wed Feb 26 21:54:59 2014	(r346231)
@@ -0,0 +1,11 @@
+--- ./bgp/bgp_trie.cc.orig	2010-07-19 21:10:33.000000000 +0000
++++ ./bgp/bgp_trie.cc	2014-02-26 21:17:13.000000000 +0000
+@@ -115,7 +115,7 @@
+ 		   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");

Added: head/net/xorp/files/patch-bgp__harness__coord.hh
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/net/xorp/files/patch-bgp__harness__coord.hh	Wed Feb 26 21:54:59 2014	(r346231)
@@ -0,0 +1,12 @@
+--- ./bgp/harness/coord.hh.orig	2010-07-19 21:10:33.000000000 +0000
++++ ./bgp/harness/coord.hh	2014-02-26 21:17:13.000000000 +0000
+@@ -42,7 +42,9 @@
+ 
+ private:
+     bool _done;
++public:
+     EventLoop& _eventloop;
++private:
+     Command& _command;
+ };
+ 

Added: head/net/xorp/files/patch-bgp__path_attribute.cc
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/net/xorp/files/patch-bgp__path_attribute.cc	Wed Feb 26 21:54:59 2014	(r346231)
@@ -0,0 +1,16 @@
+--- ./bgp/path_attribute.cc.orig	2011-03-16 21:15:59.000000000 +0000
++++ ./bgp/path_attribute.cc	2014-02-26 21:17:13.000000000 +0000
+@@ -830,8 +830,11 @@
+ ClusterListAttribute::clone() const
+ {
+     ClusterListAttribute *ca = new ClusterListAttribute();
+-    list<IPv4>::const_reverse_iterator i = cluster_list().rbegin();
+-    for(; i != cluster_list().rend(); i++)
++    // list<IPv4>::const_reverse_iterator i = cluster_list().rbegin();
++    list<IPv4>::const_iterator i = cluster_list().end();
++    if (! cluster_list().empty())
++    // for(; i != cluster_list().rend(); i++)
++    for(; i-- != cluster_list().begin(); )
+ 	ca->prepend_cluster_id(*i);
+     return ca;
+ }

Added: head/net/xorp/files/patch-cli__cli_client.cc
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/net/xorp/files/patch-cli__cli_client.cc	Wed Feb 26 21:54:59 2014	(r346231)
@@ -0,0 +1,29 @@
+--- ./cli/cli_client.cc.orig	2011-07-25 17:45:38.000000000 +0000
++++ ./cli/cli_client.cc	2014-02-26 21:17:13.000000000 +0000
+@@ -832,7 +832,7 @@
+     //
+     // 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 @@
+     // 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 @@
+     //
+     // 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);

Added: head/net/xorp/files/patch-cli__xrl_cli_node.hh
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/net/xorp/files/patch-cli__xrl_cli_node.hh	Wed Feb 26 21:54:59 2014	(r346231)
@@ -0,0 +1,21 @@
+--- ./cli/xrl_cli_node.hh.orig	2011-03-16 21:27:45.000000000 +0000
++++ ./cli/xrl_cli_node.hh	2014-02-26 21:17:13.000000000 +0000
+@@ -224,6 +224,9 @@
+ 				     const string *cli_term_name,
+ 				     const uint32_t *cli_session_id,
+ 				     const string *command_output);
++
++    EventLoop&		_eventloop;
++
+ private:
+     /**
+      * Called when Finder connection is established.
+@@ -241,7 +244,7 @@
+ 
+     CliNode&	cli_node() const { return (_cli_node); }
+ 
+-    EventLoop&		_eventloop;
++    // EventLoop&		_eventloop;
+     CliNode&		_cli_node;
+ 
+     XrlCliProcessorV0p1Client _xrl_cli_processor_client;

Added: head/net/xorp/files/patch-contrib__olsr__face.hh
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/net/xorp/files/patch-contrib__olsr__face.hh	Wed Feb 26 21:54:59 2014	(r346231)
@@ -0,0 +1,14 @@
+--- ./contrib/olsr/face.hh.orig	2010-07-19 21:10:33.000000000 +0000
++++ ./contrib/olsr/face.hh	2014-02-26 21:17:13.000000000 +0000
+@@ -291,8 +291,10 @@
+      */
+     void originate_hello();
+ 
+-  private:
+     Olsr&		_olsr;
++
++  private:
++    // Olsr&		_olsr;
+     FaceManager&	_fm;
+     Neighborhood*	_nh;
+     MessageDecoder&	_md;

Added: head/net/xorp/files/patch-contrib__olsr__face_manager.cc
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/net/xorp/files/patch-contrib__olsr__face_manager.cc	Wed Feb 26 21:54:59 2014	(r346231)
@@ -0,0 +1,16 @@
+--- ./contrib/olsr/face_manager.cc.orig	2011-07-25 17:55:36.000000000 +0000
++++ ./contrib/olsr/face_manager.cc	2014-02-26 21:17:13.000000000 +0000
+@@ -239,8 +239,11 @@
+ 
+ 	// Walk the list of message handler functions in reverse,
+ 	// looking for one which is willing to consume this message.
+-	vector<MessageReceiveCB>::reverse_iterator jj;
+-	for (jj = _handlers.rbegin(); jj != _handlers.rend(); jj++) {
++	// vector<MessageReceiveCB>::reverse_iterator jj;
++	vector<MessageReceiveCB>::iterator jj;
++	if (! _handlers.empty())
++	// for (jj = _handlers.rbegin(); jj != _handlers.rend(); jj++) {
++	for (jj = _handlers.end(); jj-- != _handlers.begin(); ) {
+ 	    try {
+ 		is_consumed = (*jj)->dispatch(msg, src, face->local_addr());
+ 		if (is_consumed)

Added: head/net/xorp/files/patch-contrib__olsr__message.hh
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/net/xorp/files/patch-contrib__olsr__message.hh	Wed Feb 26 21:54:59 2014	(r346231)
@@ -0,0 +1,13 @@
+--- ./contrib/olsr/message.hh.orig	2012-01-11 17:46:45.000000000 +0000
++++ ./contrib/olsr/message.hh	2014-02-26 21:17:13.000000000 +0000
+@@ -668,8 +668,8 @@
+ 	return (str += '\n');
+     }
+ 
+-private:
+-    size_t	_opaque_data_offset;
++// private:
++//    size_t	_opaque_data_offset;
+ };
+ 
+ /**

Added: head/net/xorp/files/patch-contrib__olsr__policy_varrw.cc
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/net/xorp/files/patch-contrib__olsr__policy_varrw.cc	Wed Feb 26 21:54:59 2014	(r346231)
@@ -0,0 +1,11 @@
+--- ./contrib/olsr/policy_varrw.cc.orig	2010-07-19 21:10:33.000000000 +0000
++++ ./contrib/olsr/policy_varrw.cc	2014-02-26 21:17:13.000000000 +0000
+@@ -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),

Added: head/net/xorp/files/patch-contrib__olsr__policy_varrw.hh
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/net/xorp/files/patch-contrib__olsr__policy_varrw.hh	Wed Feb 26 21:54:59 2014	(r346231)
@@ -0,0 +1,11 @@
+--- ./contrib/olsr/policy_varrw.hh.orig	2010-07-19 21:10:33.000000000 +0000
++++ ./contrib/olsr/policy_varrw.hh	2014-02-26 21:17:13.000000000 +0000
+@@ -45,7 +45,7 @@
+     };
+ 
+     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:

Added: head/net/xorp/files/patch-contrib__olsr__tools__print_databases.cc
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/net/xorp/files/patch-contrib__olsr__tools__print_databases.cc	Wed Feb 26 21:54:59 2014	(r346231)
@@ -0,0 +1,170 @@
+--- ./contrib/olsr/tools/print_databases.cc.orig	2011-03-16 21:16:01.000000000 +0000
++++ ./contrib/olsr/tools/print_databases.cc	2014-02-26 21:17:13.000000000 +0000
+@@ -161,7 +161,8 @@
+ };
+ 
+ void
+-GetExternals::get(int argc, char *argv[])
++// GetExternals::get(int argc, char *argv[])
++GetExternals::get(int, char *[])
+ {
+     XrlOlsr4V0p1Client cl(&this->_xr);
+ 
+@@ -172,8 +173,8 @@
+     if (! success)
+ 	XLOG_WARNING("Failed to get external route list.");
+ 
+-    UNUSED(argc);
+-    UNUSED(argv);
++    // UNUSED(argc);
++    // UNUSED(argv);
+ }
+ 
+ void
+@@ -309,7 +310,8 @@
+ };
+ 
+ void
+-GetInterfaces::get(int argc, char *argv[])
++// GetInterfaces::get(int argc, char *argv[])
++GetInterfaces::get(int, char *[])
+ {
+     XrlOlsr4V0p1Client cl(&this->_xr);
+ 
+@@ -320,8 +322,8 @@
+     if (! success)
+ 	XLOG_WARNING("Failed to get interface list.");
+ 
+-    UNUSED(argc);
+-    UNUSED(argv);
++    // UNUSED(argc);
++    // UNUSED(argv);
+ }
+ 
+ void
+@@ -476,7 +478,8 @@
+ };
+ 
+ void
+-GetLinks::get(int argc, char *argv[])
++// GetLinks::get(int argc, char *argv[])
++GetLinks::get(int, char *[])
+ {
+     XrlOlsr4V0p1Client cl(&this->_xr);
+ 
+@@ -487,8 +490,8 @@
+     if (! success)
+ 	XLOG_WARNING("Failed to get link list.");
+ 
+-    UNUSED(argc);
+-    UNUSED(argv);
++    // UNUSED(argc);
++    // UNUSED(argv);
+ }
+ 
+ void
+@@ -649,7 +652,8 @@
+ };
+ 
+ void
+-GetMids::get(int argc, char *argv[])
++// GetMids::get(int argc, char *argv[])
++GetMids::get(int, char *[])
+ {
+     XrlOlsr4V0p1Client cl(&this->_xr);
+ 
+@@ -660,8 +664,8 @@
+     if (! success)
+ 	XLOG_WARNING("Failed to get MID list.");
+ 
+-    UNUSED(argc);
+-    UNUSED(argv);
++    // UNUSED(argc);
++    // UNUSED(argv);
+ }
+ 
+ void
+@@ -803,7 +807,8 @@
+ };
+ 
+ void
+-GetNeighbors::get(int argc, char *argv[])
++// GetNeighbors::get(int argc, char *argv[])
++GetNeighbors::get(int, char *[])
+ {
+     XrlOlsr4V0p1Client cl(&this->_xr);
+ 
+@@ -814,8 +819,8 @@
+     if (! success)
+ 	XLOG_WARNING("Failed to get neighbor list.");
+ 
+-    UNUSED(argc);
+-    UNUSED(argv);
++    // UNUSED(argc);
++    // UNUSED(argv);
+ }
+ 
+ void
+@@ -979,7 +984,8 @@
+ };
+ 
+ void
+-GetTopology::get(int argc, char *argv[])
++// GetTopology::get(int argc, char *argv[])
++GetTopology::get(int, char *[])
+ {
+     XrlOlsr4V0p1Client cl(&this->_xr);
+ 
+@@ -990,8 +996,8 @@
+     if (! success)
+ 	XLOG_WARNING("Failed to get topology list.");
+ 
+-    UNUSED(argc);
+-    UNUSED(argv);
++    // UNUSED(argc);
++    // UNUSED(argv);
+ }
+ 
+ void
+@@ -1126,7 +1132,8 @@
+ };
+ 
+ void
+-GetTwohopLinks::get(int argc, char *argv[])
++// GetTwohopLinks::get(int argc, char *argv[])
++GetTwohopLinks::get(int, char *[])
+ {
+     XrlOlsr4V0p1Client cl(&this->_xr);
+ 
+@@ -1137,8 +1144,8 @@
+     if (! success)
+ 	XLOG_WARNING("Failed to get neighbor list.");
+ 
+-    UNUSED(argc);
+-    UNUSED(argv);
++    // UNUSED(argc);
++    // UNUSED(argv);
+ }
+ 
+ void
+@@ -1271,7 +1278,8 @@
+ };
+ 
+ void
+-GetTwohopNeighbors::get(int argc, char *argv[])
++// GetTwohopNeighbors::get(int argc, char *argv[])
++GetTwohopNeighbors::get(int, char *[])
+ {
+     XrlOlsr4V0p1Client cl(&this->_xr);
+ 
+@@ -1283,8 +1291,8 @@
+     if (! success)
+ 	XLOG_WARNING("Failed to get two-hop neighbor list.");
+ 
+-    UNUSED(argc);
+-    UNUSED(argv);
++    // UNUSED(argc);
++    // UNUSED(argv);
+ }
+ 
+ void

Added: head/net/xorp/files/patch-contrib__olsr__twohop.hh
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/net/xorp/files/patch-contrib__olsr__twohop.hh	Wed Feb 26 21:54:59 2014	(r346231)
@@ -0,0 +1,14 @@
+--- ./contrib/olsr/twohop.hh.orig	2011-03-16 21:27:46.000000000 +0000
++++ ./contrib/olsr/twohop.hh	2014-02-26 21:17:13.000000000 +0000
+@@ -140,8 +140,10 @@
+ 	return _twohop_links;
+     }
+ 
+-  private:
+     EventLoop&		    _ev;
++
++  private:
++    // EventLoop&		    _ev;
+     Neighborhood*	    _parent;
+ 
+     /**

Added: head/net/xorp/files/patch-fea__data_plane__control_socket__routing_socket.cc
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/net/xorp/files/patch-fea__data_plane__control_socket__routing_socket.cc	Wed Feb 26 21:54:59 2014	(r346231)
@@ -0,0 +1,14 @@
+--- ./fea/data_plane/control_socket/routing_socket.cc.orig	2011-03-16 21:27:46.000000000 +0000
++++ ./fea/data_plane/control_socket/routing_socket.cc	2014-02-26 21:17:13.000000000 +0000
+@@ -240,9 +240,10 @@
+ // Observe routing sockets activity
+ //
+ 
+-struct RoutingSocketPlumber {
++class RoutingSocketPlumber {
+     typedef RoutingSocket::ObserverList ObserverList;
+ 
++public:
+     static void
+     plumb(RoutingSocket& r, RoutingSocketObserver* o)
+     {

Added: head/net/xorp/files/patch-fea__data_plane__control_socket__routing_socket.hh
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/net/xorp/files/patch-fea__data_plane__control_socket__routing_socket.hh	Wed Feb 26 21:54:59 2014	(r346231)
@@ -0,0 +1,11 @@
+--- ./fea/data_plane/control_socket/routing_socket.hh.orig	2011-03-16 21:27:46.000000000 +0000
++++ ./fea/data_plane/control_socket/routing_socket.hh	2014-02-26 21:17:13.000000000 +0000
+@@ -31,7 +31,7 @@
+ 
+ 
+ class RoutingSocketObserver;
+-struct RoutingSocketPlumber;
++// struct RoutingSocketPlumber;
+ 
+ /**
+  * RoutingSocket class opens a routing socket and forwards data arriving

Added: head/net/xorp/files/patch-fea__data_plane__control_socket__windows_rtm_pipe.cc
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/net/xorp/files/patch-fea__data_plane__control_socket__windows_rtm_pipe.cc	Wed Feb 26 21:54:59 2014	(r346231)
@@ -0,0 +1,14 @@
+--- ./fea/data_plane/control_socket/windows_rtm_pipe.cc.orig	2011-03-16 21:16:01.000000000 +0000
++++ ./fea/data_plane/control_socket/windows_rtm_pipe.cc	2014-02-26 21:17:13.000000000 +0000
+@@ -288,9 +288,10 @@
+ // Observe routing sockets activity
+ //
+ 
+-struct WinRtmPipePlumber {
++class WinRtmPipePlumber {
+     typedef WinRtmPipe::ObserverList ObserverList;
+ 
++public:
+     static void
+     plumb(WinRtmPipe& r, WinRtmPipeObserver* o)
+     {

Added: head/net/xorp/files/patch-fea__data_plane__control_socket__windows_rtm_pipe.hh
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/net/xorp/files/patch-fea__data_plane__control_socket__windows_rtm_pipe.hh	Wed Feb 26 21:54:59 2014	(r346231)
@@ -0,0 +1,11 @@
+--- ./fea/data_plane/control_socket/windows_rtm_pipe.hh.orig	2011-03-16 21:16:01.000000000 +0000
++++ ./fea/data_plane/control_socket/windows_rtm_pipe.hh	2014-02-26 21:17:13.000000000 +0000
+@@ -29,7 +29,7 @@
+ #include "libxorp/exceptions.hh"
+ 
+ class WinRtmPipeObserver;
+-struct WinRtmPipePlumber;
++// struct WinRtmPipePlumber;
+ 
+ /**
+  * WinRtmPipe class opens a routing socket and forwards data arriving

Added: head/net/xorp/files/patch-fea__data_plane__fibconfig__fibconfig_table_observer_rtmv2.hh
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/net/xorp/files/patch-fea__data_plane__fibconfig__fibconfig_table_observer_rtmv2.hh	Wed Feb 26 21:54:59 2014	(r346231)
@@ -0,0 +1,21 @@
+--- ./fea/data_plane/fibconfig/fibconfig_table_observer_rtmv2.hh.orig	2011-03-16 21:16:02.000000000 +0000
++++ ./fea/data_plane/fibconfig/fibconfig_table_observer_rtmv2.hh	2014-02-26 21:17:13.000000000 +0000
+@@ -73,15 +73,15 @@
+ private:
+     class RtmV2Observer : public WinRtmPipeObserver {
+     public:
+-    	RtmV2Observer(WinRtmPipe& rs, int af,
++    	RtmV2Observer(WinRtmPipe& rs, /* int af, */
+ 		      FibConfigTableObserverRtmV2& rtmo)
+-	    : WinRtmPipeObserver(rs), _af(af), _rtmo(rtmo) {}
++	    : WinRtmPipeObserver(rs), /* _af(af), */ _rtmo(rtmo) {}
+     	virtual ~RtmV2Observer() {}
+ 	void routing_socket_data(const vector<uint8_t>& buffer) {
+ 	    _rtmo.receive_data(buffer);
+ 	}
+     private:
+-	int _af;
++	// int _af;
+     	FibConfigTableObserverRtmV2& _rtmo;
+     };
+ 

Added: head/net/xorp/files/patch-fea__data_plane__managers__fea_data_plane_manager_linux.cc
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/net/xorp/files/patch-fea__data_plane__managers__fea_data_plane_manager_linux.cc	Wed Feb 26 21:54:59 2014	(r346231)
@@ -0,0 +1,15 @@
+--- ./fea/data_plane/managers/fea_data_plane_manager_linux.cc.orig	2011-03-16 21:27:48.000000000 +0000
++++ ./fea/data_plane/managers/fea_data_plane_manager_linux.cc	2014-02-26 21:17:13.000000000 +0000
+@@ -71,8 +71,10 @@
+ 
+ 
+ FeaDataPlaneManagerLinux::FeaDataPlaneManagerLinux(FeaNode& fea_node)
+-    : FeaDataPlaneManager(fea_node, "Linux"),
+-      _ifconfig_get_ioctl(NULL)
++    : FeaDataPlaneManager(fea_node, "Linux")
++#if defined(HAVE_PROC_LINUX) && defined(HAVE_IOCTL_SIOCGIFCONF) and !defined(HAVE_NETLINK_SOCKETS)
++      , _ifconfig_get_ioctl(NULL)
++#endif
+ {
+ }
+ 

Added: head/net/xorp/files/patch-fea__data_plane__managers__fea_data_plane_manager_linux.hh
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/net/xorp/files/patch-fea__data_plane__managers__fea_data_plane_manager_linux.hh	Wed Feb 26 21:54:59 2014	(r346231)
@@ -0,0 +1,14 @@
+--- ./fea/data_plane/managers/fea_data_plane_manager_linux.hh.orig	2011-03-16 21:27:48.000000000 +0000
++++ ./fea/data_plane/managers/fea_data_plane_manager_linux.hh	2014-02-26 21:17:13.000000000 +0000
+@@ -118,10 +118,10 @@
+      * @return the @ref IfConfigGetIoctl plugin.
+      */
+     IfConfigGetIoctl* ifconfig_get_ioctl() { return (_ifconfig_get_ioctl); }
+-#endif
+ 
+ private:
+     IfConfigGetIoctl*	_ifconfig_get_ioctl;
++#endif
+ };
+ 
+ #endif // __FEA_DATA_PLANE_MANAGERS_FEA_DATA_PLANE_MANAGER_LINUX_HH__

Added: head/net/xorp/files/patch-fea__fibconfig.hh
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/net/xorp/files/patch-fea__fibconfig.hh	Wed Feb 26 21:54:59 2014	(r346231)
@@ -0,0 +1,18 @@
+--- ./fea/fibconfig.hh.orig	2012-01-11 17:46:45.000000000 +0000
++++ ./fea/fibconfig.hh	2014-02-26 21:17:13.000000000 +0000
+@@ -736,12 +736,14 @@
+      */
+     Trie6& trie6() { return _trie6; }
+ 
++    FeaNode&				_fea_node;
++
+ protected:
+     Trie4	_trie4;		// IPv4 trie (used for testing purpose)
+     Trie6	_trie6;		// IPv6 trie (used for testing purpose)
+     
+ private:
+-    FeaNode&				_fea_node;
++    // FeaNode&				_fea_node;
+     EventLoop&				_eventloop;
+ #ifndef XORP_DISABLE_PROFILE
+     Profile&				_profile;

Added: head/net/xorp/files/patch-fea__firewall_manager.hh
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/net/xorp/files/patch-fea__firewall_manager.hh	Wed Feb 26 21:54:59 2014	(r346231)
@@ -0,0 +1,20 @@
+--- ./fea/firewall_manager.hh.orig	2011-03-16 21:27:49.000000000 +0000
++++ ./fea/firewall_manager.hh	2014-02-26 21:17:13.000000000 +0000
+@@ -313,6 +313,8 @@
+      */
+     void delete_browse_state(uint32_t token);
+ 
++    FeaNode&				_fea_node;
++
+ private:
+     /**
+      * Update the firewall entries by pushing them into the underlying system.
+@@ -364,7 +366,7 @@
+      */
+     void generate_token();
+ 
+-    FeaNode&				_fea_node;
++    // FeaNode&				_fea_node;
+     EventLoop&				_eventloop;
+     const IfTree&			_iftree;
+ 

Added: head/net/xorp/files/patch-fea__ifconfig.hh
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/net/xorp/files/patch-fea__ifconfig.hh	Wed Feb 26 21:54:59 2014	(r346231)
@@ -0,0 +1,20 @@
+--- ./fea/ifconfig.hh.orig	2011-03-16 21:27:49.000000000 +0000
++++ ./fea/ifconfig.hh	2014-02-26 21:17:13.000000000 +0000
+@@ -442,6 +442,8 @@
+      */
+     void report_updates(IfTree& iftree);
+ 
++    FeaNode&			_fea_node;
++
+ private:
+     /**
+      * Restore the interface configuration.
+@@ -455,7 +457,7 @@
+ 		       const IfTree& old_system_config,
+ 		       string& error_msg);
+ 
+-    FeaNode&			_fea_node;
++    // FeaNode&			_fea_node;
+     EventLoop&			_eventloop;
+     NexthopPortMapper&		_nexthop_port_mapper;
+     IfConfigTransactionManager* _itm;	// The interface transaction manager

Added: head/net/xorp/files/patch-fea__mfea_mrouter.hh
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/net/xorp/files/patch-fea__mfea_mrouter.hh	Wed Feb 26 21:54:59 2014	(r346231)
@@ -0,0 +1,11 @@
+--- ./fea/mfea_mrouter.hh.orig	2011-03-16 21:27:49.000000000 +0000
++++ ./fea/mfea_mrouter.hh	2014-02-26 21:17:13.000000000 +0000
+@@ -437,6 +437,8 @@
+     // Original state from the underlying system before the MFEA was started
+     //
+     bool	_multicast_forwarding_enabled;
++
++public:
+     const FibConfig& _fibconfig;
+ };
+ 

Added: head/net/xorp/files/patch-fea__tools__show_interfaces.hh
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/net/xorp/files/patch-fea__tools__show_interfaces.hh	Wed Feb 26 21:54:59 2014	(r346231)
@@ -0,0 +1,20 @@
+--- ./fea/tools/show_interfaces.hh.orig	2010-07-19 21:10:33.000000000 +0000
++++ ./fea/tools/show_interfaces.hh	2014-02-26 21:17:13.000000000 +0000
+@@ -79,6 +79,8 @@
+      */
+     void print_interfaces(const string& print_iface_name) const;
+ 
++    EventLoop&		_eventloop;
++
+ protected:
+     //
+     // IfMgrHintObserver methods
+@@ -132,7 +134,7 @@
+      */
+     int ifmgr_shutdown();
+ 
+-    EventLoop&		_eventloop;
++    // EventLoop&		_eventloop;
+ 
+     IfMgrXrlMirror	_ifmgr;
+ 

Added: head/net/xorp/files/patch-fea__xrl_mfea_node.hh
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/net/xorp/files/patch-fea__xrl_mfea_node.hh	Wed Feb 26 21:54:59 2014	(r346231)
@@ -0,0 +1,20 @@
+--- ./fea/xrl_mfea_node.hh.orig	2011-03-16 21:27:49.000000000 +0000
++++ ./fea/xrl_mfea_node.hh	2014-02-26 21:17:13.000000000 +0000
+@@ -504,6 +504,8 @@
+ 	// Input values,
+ 	const bool&	enable);
+ 
++    EventLoop&			_eventloop;
++
+ private:
+     /**
+      * Called when Finder connection is established.
+@@ -570,7 +572,7 @@
+     
+     int family() const { return (MfeaNode::family()); }
+ 
+-    EventLoop&			_eventloop;
++    // EventLoop&			_eventloop;
+     const string		_finder_target;
+ 
+     XrlMfeaClientV0p1Client	_xrl_mfea_client_client;

Added: head/net/xorp/files/patch-libproto__packet.cc
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/net/xorp/files/patch-libproto__packet.cc	Wed Feb 26 21:54:59 2014	(r346231)
@@ -0,0 +1,11 @@
+--- ./libproto/packet.cc.orig	2011-03-16 21:27:50.000000000 +0000
++++ ./libproto/packet.cc	2014-02-26 21:17:13.000000000 +0000
+@@ -233,7 +233,7 @@
+ }
+ 
+ ArpHeader::ArpHeader() {
+-    memset(this, 0, sizeof(this));
++    memset(this, 0, sizeof(*this));
+     ah_hw_len = 6;
+     ah_proto_len = 4;
+ }

Added: head/net/xorp/files/patch-libxipc__xrl_pf_stcp.cc
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/net/xorp/files/patch-libxipc__xrl_pf_stcp.cc	Wed Feb 26 21:54:59 2014	(r346231)
@@ -0,0 +1,29 @@
+--- ./libxipc/xrl_pf_stcp.cc.orig	2011-09-08 17:46:00.000000000 +0000
++++ ./libxipc/xrl_pf_stcp.cc	2014-02-26 21:17:13.000000000 +0000
+@@ -584,7 +584,7 @@
+ 		 uint32_t	  sn,
+ 		 const Xrl&	  x,
+ 		 const Callback&  cb)
+-	: _p(p), _sn(sn), _b(_buffer), _cb(cb), _keepalive(false)
++	: _p(p), _sn(sn), _b(_buffer), _cb(cb) //, _keepalive(false)
+     {
+ 	size_t header_bytes = STCPPacketHeader::header_size();
+ 	size_t xrl_bytes = x.packed_bytes();
+@@ -607,7 +607,7 @@
+     }
+ 
+     RequestState(XrlPFSTCPSender* p, uint32_t sn)
+-	: _p(p), _sn(sn), _b(_buffer), _keepalive(true)
++	: _p(p), _sn(sn), _b(_buffer) //, _keepalive(true)
+     {
+ 	size_t header_bytes = STCPPacketHeader::header_size();
+ 
+@@ -650,7 +650,7 @@
+     uint8_t		_buffer[256];	// XXX important performance parameter
+     uint32_t		_size;
+     Callback		_cb;
+-    bool		_keepalive;
++    // bool		_keepalive;
+ };
+ 
+ 

Added: head/net/xorp/files/patch-pim__pim_mrt_task.cc
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/net/xorp/files/patch-pim__pim_mrt_task.cc	Wed Feb 26 21:54:59 2014	(r346231)
@@ -0,0 +1,42 @@
+--- ./pim/pim_mrt_task.cc.orig	2011-09-20 00:33:28.000000000 +0000
++++ ./pim/pim_mrt_task.cc	2014-02-26 21:17:13.000000000 +0000
+@@ -166,7 +166,8 @@
+     //
+     list<PimMreTask *>::reverse_iterator iter;
+     iter = pim_mre_task_list().rbegin();
+-    if (iter != pim_mre_task_list().rend()) {
++//  if (iter != pim_mre_task_list().rend()) {
++    if (pim_mre_task_list().end() != pim_mre_task_list().begin()) {
+ 	pim_mre_task = *iter;
+ 	if (pim_mre_task->input_state()
+ 	    == PimMreTrackState::INPUT_STATE_IN_REMOVE_MISC) {
+@@ -1159,7 +1160,8 @@
+     //
+     list<PimMreTask *>::reverse_iterator iter;
+     iter = pim_mre_task_list().rbegin();
+-    if (iter != pim_mre_task_list().rend()) {
++//  if (iter != pim_mre_task_list().rend()) {
++    if (pim_mre_task_list().end() != pim_mre_task_list().begin()) {
+ 	pim_mre_task = *iter;
+ 	if (pim_mre_task->input_state() == input_state) {
+ 	    pim_mre_task->add_pim_mre(pim_mre);
+@@ -1224,7 +1226,8 @@
+     //
+     list<PimMreTask *>::reverse_iterator iter;
+     iter = pim_mre_task_list().rbegin();
+-    if (iter != pim_mre_task_list().rend()) {
++//  if (iter != pim_mre_task_list().rend()) {
++    if (pim_mre_task_list().end() != pim_mre_task_list().begin()) {
+ 	pim_mre_task = *iter;
+ 	if (pim_mre_task->input_state() == input_state) {
+ 	    pim_mre_task->add_pim_mre(pim_mre);		// XXX
+@@ -1266,7 +1269,8 @@
+     //
+     list<PimMreTask *>::reverse_iterator iter;
+     iter = pim_mre_task_list().rbegin();
+-    if (iter != pim_mre_task_list().rend()) {
++//  if (iter != pim_mre_task_list().rend()) {
++    if (pim_mre_task_list().end() != pim_mre_task_list().begin()) {
+ 	pim_mre_task = *iter;
+ 	if (pim_mre_task->input_state()
+ 	    == PimMreTrackState::INPUT_STATE_IN_REMOVE_PIM_MFC) {

Added: head/net/xorp/files/patch-policy__backend__iv_exec.cc
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/net/xorp/files/patch-policy__backend__iv_exec.cc	Wed Feb 26 21:54:59 2014	(r346231)
@@ -0,0 +1,15 @@
+--- ./policy/backend/iv_exec.cc.orig	2011-03-16 21:27:54.000000000 +0000
++++ ./policy/backend/iv_exec.cc	2014-02-26 21:17:13.000000000 +0000
+@@ -275,7 +275,11 @@
+ IvExec::visit(Store& s)
+ {
+     if (_stackptr < _stack)
+-	xorp_throw(RuntimeError, "Stack empty on assign of " + s.var());
++	// xorp_throw(RuntimeError, "Stack empty on assign of " + s.var());
++	{ char *tmpstr;
++	  asprintf(&tmpstr, "Stack empty on assign of %d", s.var());
++	  xorp_throw(RuntimeError, tmpstr);
++	}
+ 
+     const Element* arg = *_stackptr;
+     _stackptr--;

Added: head/net/xorp/files/patch-policy__backend__lex.yy_policy_backend_parser.cc
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/net/xorp/files/patch-policy__backend__lex.yy_policy_backend_parser.cc	Wed Feb 26 21:54:59 2014	(r346231)
@@ -0,0 +1,11 @@
+--- ./policy/backend/lex.yy_policy_backend_parser.cc.orig	2010-07-19 21:10:33.000000000 +0000
++++ ./policy/backend/lex.yy_policy_backend_parser.cc	2014-02-26 21:17:13.000000000 +0000
+@@ -617,6 +617,8 @@
+ static int yy_flex_strlen (yyconst char * );
+ #endif
+ 
++#define YY_NO_INPUT
++
+ #ifndef YY_NO_INPUT
+ 
+ #ifdef __cplusplus

Added: head/net/xorp/files/patch-policy__backend__single_varrw.cc
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/net/xorp/files/patch-policy__backend__single_varrw.cc	Wed Feb 26 21:54:59 2014	(r346231)
@@ -0,0 +1,15 @@
+--- ./policy/backend/single_varrw.cc.orig	2010-07-19 21:10:33.000000000 +0000
++++ ./policy/backend/single_varrw.cc	2014-02-26 21:17:13.000000000 +0000
+@@ -70,7 +70,11 @@
+ 
+ 	// out of luck...
+ 	if(!e)
+-	    xorp_throw(SingleVarRWErr, "Unable to read variable " + id);
++	    // xorp_throw(SingleVarRWErr, "Unable to read variable " + id);
++	    { char *tmpstr;
++	      asprintf(&tmpstr, "Unable to read variable %d", id);
++	      xorp_throw(SingleVarRWErr, tmpstr);
++	    }
+     }
+ 
+     return *e;

Added: head/net/xorp/files/patch-policy__configuration.cc
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/net/xorp/files/patch-policy__configuration.cc	Wed Feb 26 21:54:59 2014	(r346231)
@@ -0,0 +1,13 @@
+--- ./policy/configuration.cc.orig	2011-03-16 21:27:54.000000000 +0000
++++ ./policy/configuration.cc	2014-02-26 21:17:13.000000000 +0000
+@@ -766,7 +766,9 @@
+     POLICY* p = find_policy(proto);
+     XLOG_ASSERT(p);
+ 
+-    for (POLICY::reverse_iterator i = p->rbegin(); i != p->rend(); ++i) {
++//    for (POLICY::reverse_iterator i = p->rbegin(); i != p->rend(); ++i) {
++    if (! p->empty())
++    for (POLICY::iterator i = p->end(); --i != p->begin(); ) {
+ 	PolicyList* pl = i->second;
+ 
+ 	pl->link_code(code);

Added: head/net/xorp/files/patch-policy__configuration.hh
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/net/xorp/files/patch-policy__configuration.hh	Wed Feb 26 21:54:59 2014	(r346231)
@@ -0,0 +1,22 @@
+--- ./policy/configuration.hh.orig	2011-03-16 21:27:54.000000000 +0000
++++ ./policy/configuration.hh	2014-02-26 21:17:13.000000000 +0000
+@@ -43,11 +43,19 @@
+ 
+ // XXX we go reverse in order to make peer specific policies override global
+ // ones.  Global is "" so it's always smallest (first).
++/*
+ #define FOR_ALL_POLICIES(n) \
+     for (PROTOCOL::reverse_iterator i = _protocols.rbegin(); \
+ 	 i != _protocols.rend(); ++i) \
+ 	for (POLICY::reverse_iterator n = i->second->rbegin(); \
+ 	    n != i->second->rend(); ++n)
++*/
++#define FOR_ALL_POLICIES(n) \
++    if (! _protocols.empty()) \
++    for (PROTOCOL::iterator i = _protocols.end(); \
++	i-- != _protocols.begin(); ) \
++	for (POLICY::iterator n = i->second->end(); \
++	    (! i->second->empty()) & (n-- != i->second->begin()); )
+ 
+ class IEMap {
+ public:

Added: head/net/xorp/files/patch-policy__lex.yy_policy_parser.cc
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/net/xorp/files/patch-policy__lex.yy_policy_parser.cc	Wed Feb 26 21:54:59 2014	(r346231)

*** DIFF OUTPUT TRUNCATED AT 1000 LINES ***
_______________________________________________
svn-ports-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-ports-all
To unsubscribe, send any mail to "svn-ports-all-unsubscribe@freebsd.org"
Comment 7 Antoine Brodin freebsd_committer freebsd_triage 2014-02-26 21:56:41 UTC
State Changed
From-To: open->closed

Port updated, thanks!