]> git.ipfire.org Git - thirdparty/bird.git/log
thirdparty/bird.git
6 years agoDate added. v1.6.4
Ondrej Filip [Thu, 22 Mar 2018 12:33:12 +0000 (13:33 +0100)] 
Date added.

6 years agoNEWS and version update
Ondrej Zajicek (work) [Wed, 21 Mar 2018 14:41:24 +0000 (15:41 +0100)] 
NEWS and version update

6 years agoDoc: Minor build fix
Ondrej Zajicek (work) [Wed, 21 Mar 2018 15:22:59 +0000 (16:22 +0100)] 
Doc: Minor build fix

6 years agoC99 loop declarations not allowed in 1.6.x
Ondrej Zajicek (work) [Mon, 19 Mar 2018 18:51:11 +0000 (19:51 +0100)] 
C99 loop declarations not allowed in 1.6.x

6 years agoFilter: make bgpmask literals real constructors
Jan Maria Matejka [Wed, 28 Feb 2018 15:57:50 +0000 (16:57 +0100)] 
Filter: make bgpmask literals real constructors

The bgpmask literals can include expressions. This is OK but they have
to be interpreted as soon as the code is run, not in the time the code
is used as value.

This led to strange behavior like rewriting bgpmasks when they shan't
be rewritten:

function mask_generator(int as)
{
return [= * as * =];
}

function another()
bgpmask m1;
bgpmask m2;
{
m1 = mask_generator(10);
m2 = mask_generator(20);
if (m1 == m2) {
print("strange"); # this would happen
}
}

Moreover, sending this to CLI would cause stack overflow and knock down the
whole BIRD, as soon as there is at least one route to execute the given
filter on.

show route filter bgpmask mmm; bgppath ppp; { ppp = +empty+; mmm = [= (ppp ~ mmm) =]; print(mmm); accept; }

The magic match operator (~) inside the bgpmask literal would try to
resolve mmm, which points to the same bgpmask so it would resolve
itself, call the magic match operator and vice versa.

After this patch, the bgpmask literal will get resolved as soon as it's
assigned to mmm and it also will return a type error as bool is not
convertible to ASN in BIRD.

6 years agoFilters: Removed FI_COMMA, not used for 19 years.
Jan Maria Matejka [Tue, 13 Mar 2018 11:08:37 +0000 (12:08 +0100)] 
Filters: Removed FI_COMMA, not used for 19 years.

This instruction was removed in the commit linked below
and never used ever again. Rest in peace.

commit 84c7e1943f0dbf896b1dd8d02a21120aa00463f4
Author: Pavel Machek <pavel@ucw.cz>
Date:   Tue Mar 2 19:49:28 1999 +0000

6 years agoFilter: recursion to loop
Jan Maria Matejka [Wed, 29 Nov 2017 10:38:01 +0000 (11:38 +0100)] 
Filter: recursion to loop

It was supposed to do tail-recursion in interpret() but it didn't
compile as such. Converting it to loop makes a significant filter
performance improvement for flat filters.

6 years agoFilter: Instruction codes named as enum
Maria Jan Matejka [Thu, 19 Oct 2017 10:39:44 +0000 (12:39 +0200)] 
Filter: Instruction codes named as enum

The two-letter instructions were quite messy but they could be easily
read from memory dumps. Now GDB (since 2012) supports pretty printing
enum values and GCC checks the switch construction for missing enum
values so we are converting the nice two-byte values to enums.

Anyway, the enum still keeps the old two-byte values to be able to read
the instruction codes even without GDB from plain memory dump.

6 years agoBabel: Fix build with restricted protocol set
Ondrej Zajicek (work) [Wed, 7 Mar 2018 16:35:24 +0000 (17:35 +0100)] 
Babel: Fix build with restricted protocol set

All keywords used in Babel config have to be declared locally.

Thanks to Leo Vandewoestijne for the bugreport.

6 years agoIO: Fix socket priority
Ondrej Zajicek (work) [Tue, 23 Jan 2018 16:05:45 +0000 (17:05 +0100)] 
IO: Fix socket priority

On Linux, setting the ToS will also set the priority and the range of
accepted values is quite limited (masked by 0x1e). Therefore, 0xc0 is
translated to a priority of 0, not something we want, overriding the
"7" priority which was set previously explicitely. To avoid that, just
move setting priority later in the code.

Thanks to Vincent Bernat for the patch.

6 years agoBGP: Implement 'disable after cease' option
Ondrej Zajicek (work) [Tue, 16 Jan 2018 18:17:04 +0000 (19:17 +0100)] 
BGP: Implement 'disable after cease' option

The option allows to specify that some cease subcodes should
disable the protocol when received.

6 years agoFilter: Allow silent filter execution
Ondrej Zajicek (work) [Tue, 16 Jan 2018 15:20:01 +0000 (16:20 +0100)] 
Filter: Allow silent filter execution

A filter should log messages only if executed explicitly (e.g., during
route export or route import). When a filter is executed for technical
reasons (e.g., to establish whether a route was exported before), it
should run silently.

6 years agoROA: Fix reconfiguration
Ondrej Zajicek (work) [Wed, 3 Jan 2018 13:12:00 +0000 (14:12 +0100)] 
ROA: Fix reconfiguration

6 years agoRemove libhistory check
Ondrej Zajicek (work) [Tue, 2 Jan 2018 13:11:59 +0000 (14:11 +0100)] 
Remove libhistory check

According to GNU Readline developers, if we link with libreadline then
there is no need to link with libhistory at all.

6 years agoMinor cleanups
Ondrej Zajicek (work) [Thu, 14 Dec 2017 21:15:01 +0000 (22:15 +0100)] 
Minor cleanups

6 years agoBabel: Parse flags in Hello TLV
Ondrej Zajicek (work) [Tue, 28 Nov 2017 18:33:33 +0000 (19:33 +0100)] 
Babel: Parse flags in Hello TLV

RFC6126bis introduces a flags field for the Hello TLV, and adds a unicast flag
that is used to signify that a hello was sent as unicast. This adds parsing of
the flags field and ignores such unicast hellos, which preserves compatibility
until we can add a proper implementation of the unicast hello mechanism.

Thanks to Toke Hoiland-Jorgensen for the patch.

6 years agoFilter test: typo fix
Jan Maria Matejka [Thu, 9 Nov 2017 14:04:05 +0000 (15:04 +0100)] 
Filter test: typo fix

6 years agoDoc: Update sgml2* tools
Ondrej Zajicek (work) [Tue, 10 Oct 2017 13:06:39 +0000 (15:06 +0200)] 
Doc: Update sgml2* tools

The old ones do not work on current Debian.

6 years agoDoc: Fix reference
Ondrej Zajicek (work) [Tue, 10 Oct 2017 11:27:03 +0000 (13:27 +0200)] 
Doc: Fix reference

6 years agoRAdv: Documentation for more specific routes
Michal 'vorner' Vaner [Tue, 19 Sep 2017 15:23:31 +0000 (17:23 +0200)] 
RAdv: Documentation for more specific routes

6 years agoRAdv: Change specific route options to be per-interface
Ondrej Zajicek (work) [Fri, 6 Oct 2017 10:22:18 +0000 (12:22 +0200)] 
RAdv: Change specific route options to be per-interface

And change default values of specific route options to be consistent with
values of default router options.

6 years agoRAdv: Support for more specific routes (RFC 4191)
Michal 'vorner' Vaner [Thu, 31 Aug 2017 13:40:23 +0000 (15:40 +0200)] 
RAdv: Support for more specific routes (RFC 4191)

The patch implements Default Router Preferences and More-Specific Routes
(RFC 4191) for RAdv protocol, allowing to announce router preference and
more specific routes in router advertisements. Routes can be exported to
RAdv like to regular routing protocols.

Some cleanups, bugfixes and other changes done by Ondrej Zajicek.

6 years agofilter: Allow assigning enums into extended attributes
Michal 'vorner' Vaner [Tue, 5 Sep 2017 13:50:00 +0000 (15:50 +0200)] 
filter: Allow assigning enums into extended attributes

They are internally ints, but they got refused as a wrong type. This
fixes setting of the BGP origin and is also needed for RA.

6 years agoBGP: Shutdown communication (RFC 8203)
Ondrej Zajicek (work) [Tue, 19 Sep 2017 17:55:37 +0000 (19:55 +0200)] 
BGP: Shutdown communication (RFC 8203)

The patch implements BGP Administrative Shutdown Communication (RFC 8203)
allowing BGP operators to pass messages related to BGP session
administrative shutdown/restart. It handles both transmit and receive of
shutdown messages. Messages are logged and may be displayed by show
protocol all command.

Thanks to Job Snijders for the basic patch.

6 years agoDocs: FIB iteration macros
Michal 'vorner' Vaner [Thu, 14 Sep 2017 10:31:15 +0000 (12:31 +0200)] 
Docs: FIB iteration macros

6 years agoDoc: Document 'empty' operator
Ondrej Zajicek (work) [Wed, 13 Sep 2017 11:10:50 +0000 (13:10 +0200)] 
Doc: Document 'empty' operator

Thanks to Alexander Zubkov for the notification.

6 years agoBackport some minor changes from int-new
Ondrej Zajicek (work) [Tue, 12 Sep 2017 14:33:29 +0000 (16:33 +0200)] 
Backport some minor changes from int-new

6 years agoNest: VRF support for neighbor cache and olock code
Ondrej Zajicek (work) [Tue, 12 Sep 2017 13:49:36 +0000 (15:49 +0200)] 
Nest: VRF support for neighbor cache and olock code

Actually much simpler than expected.

6 years agoBasic VRF support
Ondrej Zajicek (work) [Wed, 6 Sep 2017 15:38:48 +0000 (17:38 +0200)] 
Basic VRF support

Add basic VRF (virtual routing and forwarding) support. Protocols can be
associated with VRFs, such protocols will be restricted to interfaces
assigned to the VRF (as reported by Linux kernel) and will use sockets
bound to the VRF. E.g., different multihop BGP instances can use diffent
kernel routing tables to handle BGP TCP connections.

The VRF support is preliminary, currently there are several limitations:

- Recent Linux kernels (4.11) do not handle correctly sockets bound
to interaces that are part of VRF, so most protocols other than multihop
BGP do not work. This will be fixed by future kernel versions.

- Neighbor cache ignores VRFs. Breaks config with the same prefix on
local interfaces in different VRFs. Not much problem as single hop
protocols do not work anyways.

- Olock code ignores VRFs. Breaks config with multiple BGP peers with the
same IP address in different VRFs.

- Incoming BGP connections are not dispatched according to VRFs.
Breaks config with multiple BGP peers with the same IP address in
different VRFs. Perhaps we would need some kernel API to read VRF of
incoming connection? Or probably use multiple listening sockets in
int-new branch.

- We should handle master VRF interface up/down events and perhaps
disable associated protocols when VRF goes down. Or at least disable
associated interfaces.

- Also we should check if the master iface is really VRF iface and
not some other kind of master iface.

- BFD session request dispatch should be aware of VRFs.

- Perhaps kernel protocol should read default kernel table ID from VRF
iface so it is not necessary to configure it.

- Perhaps we should have per-VRF default table.

6 years agoKRT: Fix IPv6 ECMP handling with Linux 4.11+
Ondrej Zajicek (work) [Mon, 4 Sep 2017 22:02:20 +0000 (00:02 +0200)] 
KRT: Fix IPv6 ECMP handling with Linux 4.11+

Starting from Linux 4.11, IPv6 ECMP routes are now notified using
RTA_MULTIPATH, like IPv4 ones. The patch adds support for RTA_MULTIPATH
parsing for IPv6 routes. This also enables to parse ECMP alien routes
correctly.

Thanks to Vincent Bernat for the original patch.

6 years agoBSD: Fix alignment issue
Ondrej Zajicek (work) [Mon, 4 Sep 2017 20:32:45 +0000 (22:32 +0200)] 
BSD: Fix alignment issue

Incorrect structure alignment breaks kernel routing table updates on
FreeBSD/ARM (and perhaps other platforms).

Thanks to Eugene Sevastyanov for the original patch.

6 years agoMerge branch 'gitlab-ci'
Michal 'vorner' Vaner [Mon, 4 Sep 2017 11:30:13 +0000 (13:30 +0200)] 
Merge branch 'gitlab-ci'

6 years agoGitlab CI support
Michal 'vorner' Vaner [Thu, 17 Aug 2017 13:02:35 +0000 (15:02 +0200)] 
Gitlab CI support

Add configuration and docker definitions for tests and builds in Gitlab
CI platform.

Some of them currently fail, which is a known problem.

6 years agoRAdv: Some style nitpicks
Ondrej Zajicek (work) [Tue, 29 Aug 2017 17:17:35 +0000 (19:17 +0200)] 
RAdv: Some style nitpicks

6 years agoRAdv: Configure how long a dead prefix is advertised
Michal 'vorner' Vaner [Thu, 17 Aug 2017 09:34:25 +0000 (11:34 +0200)] 
RAdv: Configure how long a dead prefix is advertised

6 years agoRAdv: Buffer prefixes awhile after they disappear
Michal 'vorner' Vaner [Fri, 11 Aug 2017 10:25:36 +0000 (12:25 +0200)] 
RAdv: Buffer prefixes awhile after they disappear

Keep a cache of all the relevant prefixes we send out. When a prefix
appears, insert it into the cache. If it dies, keep it there for a
while, marked as dead.

Send out the dead prefixes with zero lifetime.

6 years agoRAdv: Extract prefix option preparation
Michal 'vorner' Vaner [Wed, 9 Aug 2017 14:00:16 +0000 (16:00 +0200)] 
RAdv: Extract prefix option preparation

Put the prefix option preparation into a separate function. We're going
to reuse that bit of code.

6 years agoClient: Fix include
Ondrej Zajicek (work) [Tue, 22 Aug 2017 12:03:38 +0000 (14:03 +0200)] 
Client: Fix include

6 years agoNicer log output
Michal 'vorner' Vaner [Thu, 10 Aug 2017 12:35:14 +0000 (14:35 +0200)] 
Nicer log output

non-primary is ugly, just omit it (and use primary in the other case).

6 years agoLess confusing log message
Michal 'vorner' Vaner [Thu, 10 Aug 2017 11:06:05 +0000 (13:06 +0200)] 
Less confusing log message

A non-primary address isn't necessarily secondary, that's an independent
flag.

6 years agoGitignore: File created by autoreconf
Michal 'vorner' Vaner [Wed, 9 Aug 2017 11:39:20 +0000 (13:39 +0200)] 
Gitignore: File created by autoreconf

6 years agoDrop stale TODO
Michal 'vorner' Vaner [Wed, 9 Aug 2017 11:35:55 +0000 (13:35 +0200)] 
Drop stale TODO

A TODO file last updated 5 years ago is useless.

6 years agoRAdv: Fix typo
Ondrej Zajicek (work) [Wed, 9 Aug 2017 10:41:44 +0000 (12:41 +0200)] 
RAdv: Fix typo

6 years agoRAdv: Style updates
Michal 'vorner' Vaner [Tue, 8 Aug 2017 12:40:51 +0000 (14:40 +0200)] 
RAdv: Style updates

Adapt the naming conventions to be a bit closer to the other protocols.

proto_radv -> radv_proto
struct radv_proto *ra -> struct radv_proto *p
struct proto *p -> struct proto *P

6 years agoradv: Fix RFC reference in comments
Michal 'vorner' Vaner [Fri, 4 Aug 2017 08:52:57 +0000 (10:52 +0200)] 
radv: Fix RFC reference in comments

6 years agoFilters: Do not clamp EC set values to 16 bit for EC_GENERICs
Ondrej Zajicek (work) [Mon, 19 Jun 2017 10:46:40 +0000 (12:46 +0200)] 
Filters: Do not clamp EC set values to 16 bit for EC_GENERICs

Thanks to Lennert Buytenhek <buytenh@wantstofly.org> for the patch.

6 years agoCLI: Fix bug in symbol handling introduced in previous patches
Ondrej Zajicek (work) [Wed, 31 May 2017 11:31:03 +0000 (13:31 +0200)] 
CLI: Fix bug in symbol handling introduced in previous patches

6 years agoWorkaround for older bisons
Ondrej Zajicek (work) [Tue, 30 May 2017 12:43:49 +0000 (14:43 +0200)] 
Workaround for older bisons

6 years agoConf: Replace keyword and symbol hash table with generic hash table.
Ondrej Zajicek (work) [Thu, 25 May 2017 21:30:39 +0000 (23:30 +0200)] 
Conf: Replace keyword and symbol hash table with generic hash table.

The old hash table had fixed size, which makes it slow for config files
with large number of symbols and symbol lookups. The new one is growing
according to needs.

6 years agoClient: Fix isspace() calls
Ondrej Zajicek (work) [Tue, 23 May 2017 16:39:20 +0000 (18:39 +0200)] 
Client: Fix isspace() calls

Function isspace() expects to get *unsigned* chars (encoded as ints),
not that it matters for plain ASCII.

6 years agoFix some forgotten warnings
Ondrej Zajicek (work) [Thu, 18 May 2017 12:26:57 +0000 (14:26 +0200)] 
Fix some forgotten warnings

6 years agoFix of the previous commit
Ondrej Zajicek (work) [Wed, 17 May 2017 15:30:23 +0000 (17:30 +0200)] 
Fix of the previous commit

6 years agoHistory lib may be integrated to Readline lib
Ondrej Zajicek (work) [Wed, 17 May 2017 15:03:36 +0000 (17:03 +0200)] 
History lib may be integrated to Readline lib

6 years agoFix build on systems with dirty headers
Ondrej Zajicek (work) [Wed, 17 May 2017 14:05:07 +0000 (16:05 +0200)] 
Fix build on systems with dirty headers

6 years agoOne more configure cleanup
Ondrej Zajicek (work) [Wed, 17 May 2017 11:17:40 +0000 (13:17 +0200)] 
One more configure cleanup

Simplify BIRD client library checks, add proper devel header checks and
prefer dependency on just tinfo than full ncurses.

6 years agoRemove autoconf macros for time_t and alignment
Ondrej Zajicek (work) [Wed, 10 May 2017 23:29:39 +0000 (01:29 +0200)] 
Remove autoconf macros for time_t and alignment

Replaced by constant compile-time expressions. CPU_STRUCT_ALIGN is not
really correct, but is consistent with the old behavior.

6 years agoMinor autoconf cleanups
Ondrej Zajicek (work) [Tue, 9 May 2017 16:58:22 +0000 (18:58 +0200)] 
Minor autoconf cleanups

Make indentation and quotation consistent in configure macros.
Also remove --with-sysinclude option, which was broken for 7 years
and nobody complained.

Thanks to Ruben Kerkhof for source patches.

6 years agoMinor autoconf cleanup and documentation update
Ondrej Zajicek (work) [Tue, 9 May 2017 14:46:41 +0000 (16:46 +0200)] 
Minor autoconf cleanup and documentation update

6 years agoSome more autoconf cleanups
Ondrej Zajicek (work) [Tue, 9 May 2017 11:44:02 +0000 (13:44 +0200)] 
Some more autoconf cleanups

Replace integer type width detection with C99 fixed-width types.
Also remove some unused or obsolete code.

Thanks to Ruben Kerkhof for the patchset.

7 years agoSome autoconf cleanups
Ondrej Zajicek (work) [Tue, 14 Mar 2017 12:46:51 +0000 (13:46 +0100)] 
Some autoconf cleanups

The patch allows to use autoreconf, replaces some long obsolete
constructs and does some other minor cleanups. Also, the file
configure.in is renamed to configure.ac, as the old name has been
deprecated for a long time.

Thanks to Ruben Kerkhof for the patchset.

7 years agoBGP: Allow to specify interface for regular sessions
Ondrej Zajicek (work) [Tue, 14 Mar 2017 11:56:47 +0000 (12:56 +0100)] 
BGP: Allow to specify interface for regular sessions

This may be useful if multple interfaces share the same network range.

Thanks to Fritz Grimpen for the original patch.

7 years agoBGP: Fix bug in ADD_PATH
Ondrej Zajicek (work) [Sat, 11 Mar 2017 15:21:28 +0000 (16:21 +0100)] 
BGP: Fix bug in ADD_PATH

When a BGP session with ADD_PATH is restarted and the neighbor do not
announce ADD_PATH capability during reconnect, the accept_ra_types is
still set to RA_ANY.

Thanks to Lennert Buytenhek for the bugreport

7 years agoBGP: Allow exchanging LOCAL_PREF with eBGP peers
Ondrej Zajicek (work) [Thu, 23 Feb 2017 15:32:07 +0000 (16:32 +0100)] 
BGP: Allow exchanging LOCAL_PREF with eBGP peers

Adds option 'allow bgp_local_pref' to override the usual restriction of
LOCAL_PREF on eBGP sessions.

Thanks to Lennert Buytenhek for the patch.

7 years agoBGP: Update RFC references
Ondrej Zajicek (work) [Sun, 19 Feb 2017 11:02:39 +0000 (12:02 +0100)] 
BGP: Update RFC references

7 years agoDoc: Fix RIP example
Ondrej Zajicek (work) [Sun, 19 Feb 2017 10:25:16 +0000 (11:25 +0100)] 
Doc: Fix RIP example

Thanks to Steve Leung for the bugreport.

7 years agoStatic: Fix bug in static route filter expressions
Ondrej Zajicek (work) [Fri, 17 Feb 2017 21:54:06 +0000 (22:54 +0100)] 
Static: Fix bug in static route filter expressions

During reconfiguration, old and new filter expressions in static routes
are compared using i_same() function. When filter expressions contain
function calls, it is necessary that old filter expressions are the
second argument in i_same(), as it is internally modified by i_same().
Otherwise pointers to old (and freed) data appear in the config
structure.

Thanks to Lennert Buytenhek for tracking and reporting the bug.

7 years agoFilter: Fix missing case for !~ operator
Ondrej Zajicek (work) [Tue, 24 Jan 2017 14:35:38 +0000 (15:35 +0100)] 
Filter: Fix missing case for !~ operator

Thanks to Vincent Bernat for the patch.

7 years agoFix IP_HDRINCL usage on FreeBSD 11
Ondrej Zajicek (work) [Tue, 17 Jan 2017 12:21:25 +0000 (13:21 +0100)] 
Fix IP_HDRINCL usage on FreeBSD 11

FreeBSD 11 changed endianity of ip_len field from host order to network
order. Also DragonFly BSD allegedly expects network order here.

Thanks to Olivier Cochard-Labbé for the patch.

7 years agoNEWS and version update v1.6.3
Ondrej Zajicek (work) [Wed, 21 Dec 2016 15:46:47 +0000 (16:46 +0100)] 
NEWS and version update

7 years agoNetlink: fix occasional netlink hangs on busy machines
Jan Moskyto Matejka [Tue, 20 Dec 2016 19:13:08 +0000 (20:13 +0100)] 
Netlink: fix occasional netlink hangs on busy machines

7 years agoOSPF: Fix ECMP external merging
Ondrej Zajicek (work) [Thu, 15 Dec 2016 14:31:25 +0000 (15:31 +0100)] 
OSPF: Fix ECMP external merging

The variable nfa is not cleaned before each loop iteration and can have
a wrong value of nfa.nhs_reuse from the previous step.

Thanks to Bernardo Figueiredo for the bugreport and analysis.

7 years agoOSPF: Fix net-summary origination combined with stubnet option
Ondrej Zajicek (work) [Tue, 13 Dec 2016 16:34:42 +0000 (17:34 +0100)] 
OSPF: Fix net-summary origination combined with stubnet option

Stubnet nodes in OSPF FIB were removed during rt_sync(), but the pointer
remained in top_hash_entry.nf, so net-summary LSA origination was
confused, reported 'LSA ID collision' and net-summary LSAs were not
originated properly.

Thanks to Naveen Chowdary Yerramneni for bugreport and analysis.

7 years agoBGP: Fix memory leak in graceful restart code
Ondrej Zajicek (work) [Fri, 25 Nov 2016 10:51:38 +0000 (11:51 +0100)] 
BGP: Fix memory leak in graceful restart code

Prefix and bucket tables are initialized when entering established state
but not explicitly freed when leaving it (that is handled by protocol
restart). With graceful restart, BGP may enter and leave established
state multiple times without hard protocol restart causing memory leak.

7 years agoBGP: Cluster list item should be prepended
Ondrej Zajicek (work) [Tue, 15 Nov 2016 15:24:39 +0000 (16:24 +0100)] 
BGP: Cluster list item should be prepended

Commit 3c09af41... changed behavior of int_set_add() from prepend to
append, which makes more sense for community list, but prepend must be
used for cluster list. Add int_set_prepend() and use it in cluster list
handling code.

7 years agoMinor code cleanups
Ondrej Zajicek (work) [Tue, 8 Nov 2016 16:46:29 +0000 (17:46 +0100)] 
Minor code cleanups

7 years agoAdd missing extern
Ondrej Zajicek (work) [Thu, 3 Nov 2016 08:53:53 +0000 (09:53 +0100)] 
Add missing extern

7 years agoBFD: Authentication
Ondrej Zajicek (work) [Sun, 30 Oct 2016 22:51:23 +0000 (23:51 +0100)] 
BFD: Authentication

Implement BFD authentication (part of RFC 5880). Supports plaintext
passwords and cryptographic MD5 / SHA-1 authentication.

Based on former commit from Pavel Tvrdik

7 years agoOSPF: Use message authentication interface
Ondrej Zajicek (work) [Thu, 27 Oct 2016 18:58:21 +0000 (20:58 +0200)] 
OSPF: Use message authentication interface

Based on former commit from Pavel Tvrdik

7 years agoRIP: Use message authentication interface
Ondrej Zajicek (work) [Wed, 26 Oct 2016 14:07:45 +0000 (16:07 +0200)] 
RIP: Use message authentication interface

Based on former commit from Pavel Tvrdik

7 years agoDOC: Password algorithm option
Pavel Tvrdík [Thu, 28 Jan 2016 16:05:15 +0000 (17:05 +0100)] 
DOC: Password algorithm option

7 years agoNest: Add support for MAC algorithms in grammar
Pavel Tvrdík [Tue, 26 Jan 2016 15:45:13 +0000 (16:45 +0100)] 
Nest: Add support for MAC algorithms in grammar

7 years agoAdd generic message authentication interface
Ondrej Zajicek (work) [Tue, 25 Oct 2016 15:04:17 +0000 (17:04 +0200)] 
Add generic message authentication interface

Add generic interface for generating and verifying MACs (message
authentication codes). Replace multiple HMAC implementation with
a generic one.

7 years agoBSD: Fix build on OpenBSD broken by previous commit
Ondrej Zajicek (work) [Tue, 1 Nov 2016 15:18:27 +0000 (16:18 +0100)] 
BSD: Fix build on OpenBSD broken by previous commit

7 years agoBuild: switch on -Wextra, get rid of most of the warnings
Jan Moskyto Matejka [Fri, 14 Oct 2016 13:37:04 +0000 (15:37 +0200)] 
Build: switch on -Wextra, get rid of most of the warnings

There are several unresolved -Wmissing-field-initializers on older
versions of GCC than 5.1, all of them false positive.

7 years agoLog: Fix broken syslog name
Ondrej Zajicek (work) [Tue, 1 Nov 2016 10:37:49 +0000 (11:37 +0100)] 
Log: Fix broken syslog name

BIRD passed string from configuration to openlog(), which kept it
internally. After reconfiguration the old string was freed, therefore
openlog had invalid copy.

Thanks to Chris Caputo for the original patch.

7 years agoIANA assigned a different number to large BGP communities - changed.
Ondrej Filip [Thu, 27 Oct 2016 09:08:28 +0000 (11:08 +0200)] 
IANA assigned a different number to large BGP communities - changed.

7 years agoFilter: Minor formatting changes in test.conf
Ondrej Zajicek (work) [Tue, 18 Oct 2016 11:06:05 +0000 (13:06 +0200)] 
Filter: Minor formatting changes in test.conf

7 years agoClist: The add() function will append a new value
Pavel Tvrdik [Thu, 13 Oct 2016 14:57:21 +0000 (16:57 +0200)] 
Clist: The add() function will append a new value

The add() function used to prepend a new community to clist, but after
this fix the add() function appends new community.

7 years agoFilter: Expand testing of large community sets
Pavel Tvrdik [Thu, 13 Oct 2016 13:17:41 +0000 (15:17 +0200)] 
Filter: Expand testing of large community sets

7 years agoFixed memory bloating on kernel merge paths together with export filter.
Jan Moskyto Matejka [Wed, 12 Oct 2016 12:16:34 +0000 (14:16 +0200)] 
Fixed memory bloating on kernel merge paths together with export filter.

Some memory was being allocated from bad linpool, not from the given one
as they should.

Thanks to Madhu and Justin Cattle for reporting this.

7 years agoDoc: Change debug to { flag1|flag2|flag3 [, ...] } style
Pavel Tvrdik [Mon, 5 Sep 2016 09:20:28 +0000 (11:20 +0200)] 
Doc: Change debug to { flag1|flag2|flag3  [, ...] } style

Thanks to Micah Anderson for bug report and Ondrej Zajicek for the idea!

7 years agoNest: Remove trailing whitespaces
Pavel Tvrdik [Mon, 19 Sep 2016 14:01:29 +0000 (16:01 +0200)] 
Nest: Remove trailing whitespaces

7 years agoDoc: Fix deprecated unescaped braces in perl script
Pavel Tvrdik [Mon, 26 Sep 2016 16:05:51 +0000 (18:05 +0200)] 
Doc: Fix deprecated unescaped braces in perl script

This commit should fix warning `make docs'

./sgml2html bird.sgml Unescaped left brace in regex is deprecated,
  passed through in regex; marked by <-- HERE in m/\\nameurl{ <-- HERE
    (.*)}{(.*)}/ at fmt_latex2e.pl line 287.

7 years agoTree/Trie: Check the end of buffer
Pavel Tvrdik [Sat, 1 Oct 2016 10:50:29 +0000 (12:50 +0200)] 
Tree/Trie: Check the end of buffer

We set buffer->pos to buffer->end in function buffer_print() when
bvsnprintf() failed, so there would be uninitialized memory between
the old buffer->pos and the current buffer->pos.

7 years agoDoc: Add tag for links to RFCs
Pavel Tvrdik [Thu, 29 Sep 2016 16:08:40 +0000 (18:08 +0200)] 
Doc: Add tag for links to RFCs

7 years agoDoc: Fix inline <htmlurl></htmlurl>
Pavel Tvrdik [Mon, 3 Oct 2016 10:35:36 +0000 (12:35 +0200)] 
Doc: Fix inline <htmlurl></htmlurl>

Don't make space before or after link name.

7 years agoDoc: Do not use symlinks for files
Pavel Tvrdik [Mon, 3 Oct 2016 10:04:44 +0000 (12:04 +0200)] 
Doc: Do not use symlinks for files

7 years agoDoc: Generate one-sided version
Pavel Tvrdik [Mon, 3 Oct 2016 09:46:40 +0000 (11:46 +0200)] 
Doc: Generate one-sided version

This removes jumping offset for odd and even pages for binding book.

7 years agoDoc: Use [table t] or [table name]
Pavel Tvrdik [Mon, 3 Oct 2016 09:39:56 +0000 (11:39 +0200)] 
Doc: Use [table t] or [table name]

7 years agoDoc: Fix unnecessary special chars
Pavel Tvrdik [Mon, 3 Oct 2016 09:36:44 +0000 (11:36 +0200)] 
Doc: Fix unnecessary special chars