Benjamin Cama [Sun, 25 Sep 2011 12:31:25 +0000 (14:31 +0200)]
Use uint32_t buffer instead of uint8_t one.
Make it easier to use, and pleases gcc.
Signed-off-by: Benjamin Cama <benoar@dolka.fr>
Benjamin Cama [Sun, 25 Sep 2011 12:23:24 +0000 (14:23 +0200)]
Add a uint16_t control buffer type, as a union.
Then adapt the code using it. Make putting uint16_t easier in the
buffer. Pleases gcc better.
Signed-off-by: Benjamin Cama <benoar@dolka.fr>
Benjamin Cama [Sat, 24 Sep 2011 15:14:57 +0000 (17:14 +0200)]
Fix the strange bundles' members looping use.
Avoids gcc warnings.
Signed-off-by: Benjamin Cama <benoar@dolka.fr>
Benjamin Cama [Fri, 23 Sep 2011 17:53:35 +0000 (19:53 +0200)]
Remove unused variables.
Signed-off-by: Benjamin Cama <benoar@dolka.fr>
Benjamin Cama [Thu, 22 Sep 2011 17:09:54 +0000 (19:09 +0200)]
Log the tunnel # when adding/removing routes.
Signed-off-by: Benjamin Cama <benoar@dolka.fr>
Benjamin Cama [Mon, 19 Sep 2011 16:12:48 +0000 (18:12 +0200)]
Merge branch 'use-netlink' into fdn-mods
Benjamin Cama [Mon, 19 Sep 2011 16:12:31 +0000 (18:12 +0200)]
Forgot to remove a prototype.
Signed-off-by: Benjamin Cama <benoar@dolka.fr>
Benjamin Cama [Mon, 19 Sep 2011 16:10:03 +0000 (18:10 +0200)]
Set hostname /after/ having read the config file.
Signed-off-by: Benjamin Cama <benoar@dolka.fr>
Benjamin Cama [Mon, 19 Sep 2011 15:25:18 +0000 (17:25 +0200)]
Log the session # when adding IPv6 routes.
Signed-off-by: Benjamin Cama <benoar@dolka.fr>
Benjamin Cama [Fri, 16 Sep 2011 15:51:29 +0000 (17:51 +0200)]
Change the rtm_proto to some arbitrary-defined value.
We change this value (which should really _not_ be RTPROT_BOOT) to some
arbitrary number so that we can import it into BIRD.
Signed-off-by: Benjamin Cama <benoar@dolka.fr>
Benjamin Cama [Thu, 15 Sep 2011 14:48:32 +0000 (16:48 +0200)]
Correctly set mp_epdis in host order.
Signed-off-by: Benjamin Cama <benoar@dolka.fr>
Benjamin Cama [Sun, 21 Aug 2011 11:06:57 +0000 (13:06 +0200)]
Better error handling on CLI initialization.
Signed-off-by: Benjamin Cama <benoar@dolka.fr>
Benjamin Cama [Sat, 20 Aug 2011 16:25:44 +0000 (18:25 +0200)]
Merge branch 'use-netlink' into fdn-mods
Benjamin Cama [Sat, 20 Aug 2011 16:23:58 +0000 (18:23 +0200)]
Correctly form the delete route/route6 request.
Signed-off-by: Benjamin Cama <benoar@dolka.fr>
Benjamin Cama [Sat, 20 Aug 2011 15:24:10 +0000 (17:24 +0200)]
Merge branch 'use-netlink' into fdn-mods
Benjamin Cama [Fri, 19 Aug 2011 17:23:27 +0000 (19:23 +0200)]
Remove the netlink code to get the tun if index.
It only worked for kernel >= 2.6.33. Use if_nametoindex() instead, which made
me include net/if.h in place of linux/if.h. Also, fix the RTM_SETLINK use which
should really be RTM_NEWLINK with correct parameters.
Signed-off-by: Benjamin Cama <benoar@dolka.fr>
Benjamin Cama [Wed, 17 Aug 2011 15:23:07 +0000 (17:23 +0200)]
Merge branch 'use-netlink' into fdn-mods
Signed-off-by: Benjamin Cama <benoar@dolka.fr>
Benjamin Cama [Wed, 17 Aug 2011 15:16:30 +0000 (17:16 +0200)]
Fix a stray comma, and replace existing routes.
Signed-off-by: Benjamin Cama <benoar@dolka.fr>
Benjamin Cama [Wed, 17 Aug 2011 00:28:33 +0000 (02:28 +0200)]
Since 7c47438 we can remove math.h.
Signed-off-by: Benjamin Cama <benoar@dolka.fr>
Benjamin Cama [Wed, 17 Aug 2011 00:23:13 +0000 (02:23 +0200)]
Make routset()/route6set() use netlink.
Signed-off-by: Benjamin Cama <benoar@dolka.fr>
Benjamin Cama [Wed, 17 Aug 2011 00:22:01 +0000 (02:22 +0200)]
Route setting sockets don't exist anymore; remove them.
Signed-off-by: Benjamin Cama <benoar@dolka.fr>
Benjamin Cama [Wed, 17 Aug 2011 00:21:01 +0000 (02:21 +0200)]
Fix last commit on switching to CIDR.
Signed-off-by: Benjamin Cama <benoar@dolka.fr>
Benjamin Cama [Tue, 16 Aug 2011 23:41:54 +0000 (01:41 +0200)]
Switch from masks to CIDR globally for IPv4.
Signed-off-by: Benjamin Cama <benoar@dolka.fr>
Benjamin Cama [Tue, 16 Aug 2011 22:45:27 +0000 (00:45 +0200)]
Simplify route attribute appending.
Signed-off-by: Benjamin Cama <benoar@dolka.fr>
Benjamin Cama [Tue, 16 Aug 2011 22:23:25 +0000 (00:23 +0200)]
Better tun device name length handling.
Signed-off-by: Benjamin Cama <benoar@dolka.fr>
Benjamin Cama [Tue, 16 Aug 2011 17:04:08 +0000 (19:04 +0200)]
Fix wrong rta type.
Signed-off-by: Benjamin Cama <benoar@dolka.fr>
Benjamin Cama [Tue, 16 Aug 2011 16:45:53 +0000 (18:45 +0200)]
netlink: Better error handling.
Signed-off-by: Benjamin Cama <benoar@dolka.fr>
Benjamin Cama [Tue, 16 Aug 2011 15:19:42 +0000 (17:19 +0200)]
Add netlink fd polling.
Signed-off-by: Benjamin Cama <benoar@dolka.fr>
Benjamin Cama [Tue, 16 Aug 2011 14:42:13 +0000 (16:42 +0200)]
Remove all acknoledgement stuff. Still doesn't work.
Signed-off-by: Benjamin Cama <benoar@dolka.fr>
Benjamin Cama [Tue, 16 Aug 2011 14:06:33 +0000 (16:06 +0200)]
Commiting the rework I have done until now.
But I will remove the ack stuff, too complicated.
Signed-off-by: Benjamin Cama <benoar@dolka.fr>
Benjamin Cama [Mon, 15 Aug 2011 22:12:23 +0000 (00:12 +0200)]
Netlink bugfixes.
Signed-off-by: Benjamin Cama <benoar@dolka.fr>
Benjamin Cama [Mon, 15 Aug 2011 20:59:13 +0000 (22:59 +0200)]
Further netlink implementation. Not working yet.
Signed-off-by: Benjamin Cama <benoar@dolka.fr>
Benjamin Cama [Sun, 14 Aug 2011 20:56:35 +0000 (22:56 +0200)]
First netlink functions.
Signed-off-by: Benjamin Cama <benoar@dolka.fr>
Benjamin Cama [Mon, 8 Aug 2011 11:51:32 +0000 (13:51 +0200)]
Don't process timers of disabled peers.
Signed-off-by: Benjamin Cama <benoar@dolka.fr>
Benjamin Cama [Mon, 8 Aug 2011 11:43:02 +0000 (13:43 +0200)]
Check for expired timers even when receiving no events.
Signed-off-by: Benjamin Cama <benoar@dolka.fr>
Benjamin Cama [Sun, 7 Aug 2011 22:35:08 +0000 (00:35 +0200)]
Merge branch 'rfc4760' into fdn-mods
Benjamin Cama [Sun, 7 Aug 2011 22:33:36 +0000 (00:33 +0200)]
Use the source IP we use as BGP router identifier.
Signed-off-by: Benjamin Cama <benoar@dolka.fr>
Benjamin Cama [Fri, 29 Jul 2011 11:04:31 +0000 (13:04 +0200)]
Merge branch 'rfc4760' into fdn-mods
Benjamin Cama [Thu, 7 Jul 2011 11:12:30 +0000 (13:12 +0200)]
Add a config option to set the advertised BGP next hop.
Signed-off-by: Benjamin Cama <benoar@dolka.fr>
Benjamin Cama [Thu, 7 Jul 2011 11:11:27 +0000 (13:11 +0200)]
Kill sessions receiving a ConfReq while closing.
Signed-off-by: Benjamin Cama <benoar@dolka.fr>
Benjamin Cama [Mon, 25 Jul 2011 18:07:14 +0000 (20:07 +0200)]
Add an "hostname" config option.
It is overridden by the -h command line option.
Signed-off-by: Benjamin Cama <benoar@dolka.fr>
Benjamin Cama [Sun, 24 Jul 2011 11:53:51 +0000 (13:53 +0200)]
Better example address for cli_bind_address.
Signed-off-by: Benjamin Cama <benoar@dolka.fr>
Benjamin Cama [Sun, 24 Jul 2011 11:49:11 +0000 (13:49 +0200)]
Add a cli_bind_address configuration option.
Signed-off-by: Benjamin Cama <benoar@dolka.fr>
Benjamin Cama [Sun, 24 Jul 2011 00:26:32 +0000 (02:26 +0200)]
Stop BGP session even when we are master
Probably a bug; introduced by a patch that made only slaves stop their BGP
session.
Signed-off-by: Benjamin Cama <benoar@dolka.fr>
Benjamin Cama [Sat, 23 Jul 2011 16:57:27 +0000 (18:57 +0200)]
Wait before retrying on CEASE.
Using bgp_restart() floods the peer with connection requests. Use bgp_retry()
instead.
Signed-off-by: Benjamin Cama <benoar@dolka.fr>
Benjamin Cama [Fri, 22 Jul 2011 00:11:33 +0000 (02:11 +0200)]
Add an option to set source address for a BGP session.
When adding a BGP neighbour, one can set "update-source" (quagga syntax) to the
source IP address that will be used for that session.
Signed-off-by: Benjamin Cama <benoar@dolka.fr>
Benjamin Cama [Thu, 21 Jul 2011 15:00:18 +0000 (17:00 +0200)]
Remove no more used plugin function names; fixes a crash.
These functions have been for long removed from plugins.h.
Debian sources used an older plugins.h.
l2tpns.c doesn't seem to have been ever fixed in upstream CVS.
Signed-off-by: Benjamin Cama <benoar@dolka.fr>
Benjamin Cama [Thu, 21 Jul 2011 14:57:27 +0000 (16:57 +0200)]
Display session's remainging time in CLI.
Patch extracted from original Debian sources, not found in upstream CVS.
Signed-off-by: Benjamin Cama <benoar@dolka.fr>
Benjamin Cama [Mon, 25 Jul 2011 16:16:46 +0000 (18:16 +0200)]
Retry on unsupported capability, not restart immediatly.
Signed-off-by: Benjamin Cama <benoar@dolka.fr>
Benjamin Cama [Mon, 25 Jul 2011 10:40:50 +0000 (12:40 +0200)]
Really fix parameters length calculation this time.
Signed-off-by: Benjamin Cama <benoar@dolka.fr>
Benjamin Cama [Mon, 25 Jul 2011 10:12:53 +0000 (12:12 +0200)]
Fix a bug in parameters length setting.
Signed-off-by: Benjamin Cama <benoar@dolka.fr>
Benjamin Cama [Mon, 25 Jul 2011 09:40:29 +0000 (11:40 +0200)]
A bit of renaming for clarity.
Signed-off-by: Benjamin Cama <benoar@dolka.fr>
Benjamin Cama [Sun, 24 Jul 2011 23:00:03 +0000 (01:00 +0200)]
Fix bugs in IPv6 update routine.
Signed-off-by: Benjamin Cama <benoar@dolka.fr>
Benjamin Cama [Sat, 23 Jul 2011 20:29:59 +0000 (22:29 +0200)]
Call bgp_add/del_route6() in l2tpns.c.
Signed-off-by: Benjamin Cama <benoar@dolka.fr>
Benjamin Cama [Sat, 23 Jul 2011 18:46:39 +0000 (20:46 +0200)]
Don't send notification when receiving an unsupported capability.
Tested peer (quagga) doesn't interpret it nicely (i.e. it shuts the connection
down). Better not tell anything.
Signed-off-by: Benjamin Cama <benoar@dolka.fr>
Benjamin Cama [Sat, 23 Jul 2011 16:53:12 +0000 (18:53 +0200)]
Better check for IPv6 compatibility with the BGP peer.
We would advertise IPv6 routes to non-multiprotocol aware peers. Fix that.
Also, fix the way we parse options, to handle multiple optional parameters with
one capability in it (or many; it's just the way quagga send them).
Signed-off-by: Benjamin Cama <benoar@dolka.fr>
Benjamin Cama [Thu, 21 Jul 2011 00:49:38 +0000 (02:49 +0200)]
Fix the AFI for IPv6.
The Address Family Identifier was not the one I thought it was.
Define it and fix its use for IPv6.
Signed-off-by: Benjamin Cama <benoar@dolka.fr>
Benjamin Cama [Wed, 20 Jul 2011 15:46:21 +0000 (17:46 +0200)]
Better handle IPv6 routes advertisement (non-)support.
Don't try to enable multiprotocol BGP when the peer says it can't.
Signed-off-by: Benjamin Cama <benoar@dolka.fr>
Benjamin Cama [Wed, 20 Jul 2011 12:53:19 +0000 (14:53 +0200)]
Add config examples for nexthop/nexthop6.
Signed-off-by: Benjamin Cama <benoar@dolka.fr>
Benjamin Cama [Wed, 20 Jul 2011 12:45:09 +0000 (14:45 +0200)]
Handle multiprotocol UPDATE.
Add IPv6 routes advertisement handling, with MP path attributes heading
prepared on initialization.
BTW, fix a bug in attribute size calculation (for extended attr).
Signed-off-by: Benjamin Cama <benoar@dolka.fr>
Benjamin Cama [Wed, 20 Jul 2011 12:43:44 +0000 (14:43 +0200)]
Add a nexthop6 config option.
Will be used to set the NEXT_HOP for IPv6 routes, otherwise our address in
ipv6_prefix is used as the next hop.
Signed-off-by: Benjamin Cama <benoar@dolka.fr>
Benjamin Cama [Wed, 20 Jul 2011 09:00:43 +0000 (11:00 +0200)]
Add v6 routes handling.
Basically duplicate the v4 functions.
Signed-off-by: Benjamin Cama <benoar@dolka.fr>
Benjamin Cama [Tue, 19 Jul 2011 22:49:28 +0000 (00:49 +0200)]
Move NEXT_HOP attribute so that we can exclude it.
We will need to do that when we will send IPv6 routes (RFC4760 says we SHOULD
NOT carry this attribute when we will send UPDATE without NLRI). So, we save
the length of all the attributes except NEXT_HOP for later memcpy().
Signed-off-by: Benjamin Cama <benoar@dolka.fr>
Benjamin Cama [Tue, 19 Jul 2011 22:30:16 +0000 (00:30 +0200)]
Fix a typo from last commit.
Signed-off-by: Benjamin Cama <benoar@dolka.fr>
Benjamin Cama [Tue, 19 Jul 2011 22:29:02 +0000 (00:29 +0200)]
Disable IPv6 routes adv when peer doesn't support it.
Signed-off-by: Benjamin Cama <benoar@dolka.fr>
Benjamin Cama [Tue, 19 Jul 2011 22:22:18 +0000 (00:22 +0200)]
Advertise IPv6 capability to peers.
Also rename a param define, and fix a forgotten ntohs().
Signed-off-by: Benjamin Cama <benoar@dolka.fr>
Benjamin Cama [Tue, 19 Jul 2011 22:01:23 +0000 (00:01 +0200)]
Avoid implicit cast warning.
Signed-off-by: Benjamin Cama <benoar@dolka.fr>
Benjamin Cama [Tue, 19 Jul 2011 21:59:27 +0000 (23:59 +0200)]
Add a per-peer flag if it supports IPv6 routes adv.
Signed-off-by: Benjamin Cama <benoar@dolka.fr>
Benjamin Cama [Tue, 19 Jul 2011 21:47:16 +0000 (23:47 +0200)]
Add Multiprotocol definitions and more param handling.
Signed-off-by: Benjamin Cama <benoar@dolka.fr>
Benjamin Cama [Tue, 19 Jul 2011 13:15:40 +0000 (15:15 +0200)]
Add Optional Parameter and Capability handling.
Optional Parameters is defined in RFC4271 and Capability advertisement in
RFC3392. For now, we only hande them upon receiving an OPEN message.
Signed-off-by: Benjamin Cama <benoar@dolka.fr>
Benjamin Cama [Thu, 7 Jul 2011 10:47:12 +0000 (12:47 +0200)]
Merge remote-tracking branch 'upstream-repo/master' into upstream
Benjamin Cama [Thu, 7 Jul 2011 10:45:05 +0000 (12:45 +0200)]
Imported Upstream version 2.1.21
bodea [Thu, 20 Jan 2011 12:48:40 +0000 (12:48 +0000)]
Apply patch from Geoffrey D. Bennett to fix retry of control packets.
bodea [Fri, 26 Mar 2010 00:39:24 +0000 (00:39 +0000)]
Apply patch from Cyril Elkaim to fix an issue with MacOS.
bodea [Thu, 25 Mar 2010 05:24:23 +0000 (05:24 +0000)]
Apply patch from Cyril Elkaim to fix an issue with MacOS.
bodea [Mon, 11 Jan 2010 12:16:20 +0000 (12:16 +0000)]
Apply patch from Michael O to avoid sending multiple CDNs.
bodea [Sat, 9 Jan 2010 13:33:41 +0000 (13:33 +0000)]
Apply patch from Michael O to avoid sending multiple CDNs.
bodea [Tue, 8 Dec 2009 14:49:28 +0000 (14:49 +0000)]
Apply MLPPP patch from Muhammad Tayseer Alquoatli, very belatedly, with
thanks. Changes:
- Handle session shutdown gracefully regarding leaving the bundle (bug that is
caused when a all session leaves a bundle then another join)
- IP assignment is done only for the first session in the bundle (save IP
waste for multiple MLPPP sessions)
- Route is being added only for the first session in the bundle (less routes
on l2tpns system)
- Fix route deletion problem for MLPPP sessions (bug that caused when a
session leaves a bundle)
- Uniformity of sequence number space satisfied (according to RFC1990)
- Fix reassembling fragmented packets and handling lost fragments (according
to RFC 1990)
- FragmentatConnection to l2tpns.cvs.sourceforge.net closed by remote host.n
across N session rather than two)
- Sequence numbers extraction mask has been corrected (bug in extracting
sequence numbers)
- some clustering support fixes
- Upload/Download statistics has been corrected
- add "kill_timedout_sessions" config option
bodea [Thu, 28 Jun 2007 07:22:50 +0000 (07:22 +0000)]
propagate select error
bodea [Thu, 25 Jan 2007 12:36:48 +0000 (12:36 +0000)]
simplify throttle logic
bodea [Sun, 14 Jan 2007 04:07:52 +0000 (04:07 +0000)]
remove float
bodea [Mon, 18 Dec 2006 12:08:28 +0000 (12:08 +0000)]
add "shutdown" and "reload" CLI commands (Daryl Tester)
bodea [Mon, 18 Dec 2006 12:05:36 +0000 (12:05 +0000)]
don't send interim records before session start (Daryl Tester)
bodea [Mon, 18 Dec 2006 11:58:35 +0000 (11:58 +0000)]
add Makefile, cleanup for -std=c99
bodea [Thu, 7 Dec 2006 05:46:16 +0000 (05:46 +0000)]
add CVE
bodea [Tue, 5 Dec 2006 05:22:59 +0000 (05:22 +0000)]
minor cleanup
bodea [Mon, 4 Dec 2006 20:54:51 +0000 (20:54 +0000)]
fix heartt pad
bodea [Mon, 4 Dec 2006 20:50:02 +0000 (20:50 +0000)]
Security: Rhys Kidd identified a vulnerability in the handling of
heartbeat packets. Drop oversize heartbeat packets.
bodea [Mon, 23 Oct 2006 02:51:53 +0000 (02:51 +0000)]
fix comment
bodea [Wed, 2 Aug 2006 14:17:30 +0000 (14:17 +0000)]
allow DNS servers to be specified using either old or new vendor-specific Ascend formats
bodea [Wed, 2 Aug 2006 13:35:39 +0000 (13:35 +0000)]
cleanup clash between timeout and session_timout
bodea [Wed, 2 Aug 2006 12:54:45 +0000 (12:54 +0000)]
fix sign problem with reporting of unknown RADIUS VSAs
bodea [Mon, 17 Jul 2006 07:53:08 +0000 (07:53 +0000)]
fix log message
bodea [Sat, 1 Jul 2006 14:07:35 +0000 (14:07 +0000)]
resolve gcc 4.1 warning by changing ip_hash to a union
bodea [Sat, 1 Jul 2006 12:40:10 +0000 (12:40 +0000)]
add radius_bind_{min,max} options
bodea [Thu, 22 Jun 2006 15:30:29 +0000 (15:30 +0000)]
set acct-disconnect-cause from result code AVP if no disconnect cause AVP is present
bodea [Sun, 11 Jun 2006 12:46:18 +0000 (12:46 +0000)]
add session/idle timeouts
bodea [Sat, 3 Jun 2006 08:16:46 +0000 (08:16 +0000)]
kludge around problem with Netgear DM602 authentication
bodea [Tue, 23 May 2006 14:28:25 +0000 (14:28 +0000)]
convert manual.html to docbook
bodea [Mon, 22 May 2006 07:41:33 +0000 (07:41 +0000)]
remove unused param_packet_[tr]x structures