]>
git.ipfire.org Git - thirdparty/bird.git/log
Pavel Tvrdík [Thu, 12 Nov 2015 15:12:45 +0000 (16:12 +0100)]
Merge branch 'master' into birdtest
Pavel Tvrdík [Mon, 9 Nov 2015 08:14:26 +0000 (09:14 +0100)]
Fix compiling with --enable-debug option
Jan Moskyto Matejka [Tue, 3 Nov 2015 13:42:41 +0000 (14:42 +0100)]
Netlink: Allow more than 256 routing tables.
Since 2.6.19, the netlink API defines RTA_TABLE routing attribute to
allow 32-bit routing table IDs. Using this attribute to index routing
tables at Linux, instead of 8-bit rtm_table field.
Ondrej Zajicek (work) [Mon, 9 Nov 2015 00:01:12 +0000 (01:01 +0100)]
Nest: Fixes bug in missing cleanup during table removal
When a table is removed during reconfiguration, a reference was not
cleared in the old configuration, which breaks undo.
Ondrej Zajicek (work) [Sun, 8 Nov 2015 23:42:02 +0000 (00:42 +0100)]
Conf: Fixes bug in symbol lookup during reconfiguration
Symbol lookup by cf_find_symbol() not only did the lookup but also added
new void symbols allocated from cfg_mem linpool, which gets broken when
lookups are done outside of config parsing, which may lead to crashes
during reconfiguration.
The patch separates lookup-only cf_find_symbol() and config-modifying
cf_get_symbol(), while the later is called only during parsing. Also
new_config and cfg_mem global variables are NULLed outside of parsing.
Ondrej Zajicek (work) [Tue, 3 Nov 2015 10:27:27 +0000 (11:27 +0100)]
IO: Fix the previous bugfix
I should check it after making some trivial changes. The original patch
from Alexander has it right.
Ondrej Zajicek (work) [Tue, 3 Nov 2015 10:08:57 +0000 (11:08 +0100)]
IO: Handle fd values too big for select()
If the number of sockets is too much for select(), we should at least
handle it with proper error messages and reject new sockets instead of
breaking the event loop.
Thanks to Alexander V. Chernikov for the patch.
Pavel Tvrdík [Tue, 3 Nov 2015 08:26:38 +0000 (09:26 +0100)]
Small change in birdtest.h
Thanks to Martin Mares.
Pavel Tvrdík [Mon, 2 Nov 2015 12:29:03 +0000 (13:29 +0100)]
Birdtest: Fix setting TERM environment variable
Pavel Tvrdík [Mon, 2 Nov 2015 12:28:15 +0000 (13:28 +0100)]
Birdtest: do not use strcpy()
Pavel Tvrdík [Thu, 22 Oct 2015 14:45:46 +0000 (16:45 +0200)]
Fix print format of integer variables
Pavel Tvrdík [Thu, 22 Oct 2015 14:45:26 +0000 (16:45 +0200)]
Remove unused variable
Ondrej Zajicek (work) [Sat, 17 Oct 2015 12:36:53 +0000 (14:36 +0200)]
Minor changes
Pavel Tvrdík [Tue, 1 Sep 2015 13:10:55 +0000 (15:10 +0200)]
Birdtest: filter FIXME
Pavel Tvrdík [Tue, 1 Sep 2015 12:01:02 +0000 (14:01 +0200)]
Birdtest: nest/a-set (finished)
Pavel Tvrdík [Tue, 1 Sep 2015 06:54:59 +0000 (08:54 +0200)]
Birdtest: Fixing macro ARGip4(x) for non-debugging environment
Pavel Tvrdík [Fri, 28 Aug 2015 13:54:25 +0000 (15:54 +0200)]
Birdtest: nest/a-set (unfinished)
Pavel Tvrdík [Thu, 27 Aug 2015 13:42:37 +0000 (15:42 +0200)]
Birdtest: nest/a-path
Pavel Tvrdík [Thu, 27 Aug 2015 07:25:28 +0000 (09:25 +0200)]
Birdtest: filter/trie
Thanks to Santiago for reuse here his code.
bt_rand_num() -> bt_random()
Pavel Tvrdík [Wed, 19 Aug 2015 13:11:10 +0000 (15:11 +0200)]
Birdtest: fixing test framework build
Pavel Tvrdík [Wed, 19 Aug 2015 12:55:51 +0000 (14:55 +0200)]
Birdtest: add test for filter/tree.c
Pavel Tvrdík [Wed, 19 Aug 2015 12:54:35 +0000 (14:54 +0200)]
Birdtets: filters (unfinished)
- Updates old tests
Pavel Tvrdík [Wed, 19 Aug 2015 12:48:37 +0000 (14:48 +0200)]
_GNU_SOURCE for setresuid()
Pavel Tvrdík [Wed, 19 Aug 2015 12:44:14 +0000 (14:44 +0200)]
Make async_*_flag as global shared variables
Pavel Tvrdík [Wed, 19 Aug 2015 12:40:06 +0000 (14:40 +0200)]
Birdtest: add some utils to framework
and updates old tests
Ondrej Zajicek [Wed, 19 Aug 2015 09:16:23 +0000 (11:16 +0200)]
OSPF: Fixes some issues with link detection
Thanks to Bernardo Figueiredo and Israel G. Lugo for the bugreport.
Pavel Tvrdík [Fri, 14 Aug 2015 14:14:32 +0000 (16:14 +0200)]
Birdtest: Add unfinished filter test
Add birdtest utils for testing parsing configurations files
Add tests with parsing filter examples
Pavel Tvrdík [Fri, 14 Aug 2015 14:08:04 +0000 (16:08 +0200)]
Birdtest: Improve reliable
Fixing some bugs
Add option to call birdtest with an argument (void *)
Ondrej Zajicek [Tue, 28 Jul 2015 10:35:12 +0000 (12:35 +0200)]
Netlink: Fixes uninitialized variable
Thanks to Pavel Tvrdik for the bugfix
Pavel Tvrdík [Wed, 5 Aug 2015 10:34:21 +0000 (12:34 +0200)]
Birdtest: Clean up unit tests from mock-ups
Pavel Tvrdík [Wed, 5 Aug 2015 09:42:40 +0000 (11:42 +0200)]
Birdtest: Purge 'int main()' from lib/birdlib.a #2
All origin static functions from sysdep/unix/main.c were rewrited to
non-static.
All origin static global variables from sysdep/unix/main.c was rewrited
to extern.
It is possible create executables bird, birdc and birdcl as well as run
unit tests without mockuping
After remake new BIRD's build system will be this commit reverting...
Pavel Tvrdík [Wed, 5 Aug 2015 07:35:46 +0000 (09:35 +0200)]
Birdtest: Purge 'int main()' from lib/birdlib.a #1
We need link lib/birdlib.a and remaining */all.o to tests (mockups suck)
Code from sysdep/unix/main.c is moved without 'int main()' function
to the sysdep/unix/main_helper.c
Yes, it is dirty...
After remake new BIRD's build system will be this commit reverting...
Actually it is not possible to build executable bird, birdc nor birdcl
due duplicity of functions in main_helper.o in lib/birdlib.a and
lib/main.o
Pavel Tvrdík [Wed, 5 Aug 2015 09:49:05 +0000 (11:49 +0200)]
Birdtest: Fixing outputs at 'exotic' OS
Pavel Tvrdík [Tue, 4 Aug 2015 12:40:40 +0000 (14:40 +0200)]
Birdtest: Add an another verbose level for tests
Pavel Tvrdík [Tue, 4 Aug 2015 12:14:34 +0000 (14:14 +0200)]
Birdtest: Add Fletcher-16 Checksum Tests
Pavel Tvrdík [Tue, 4 Aug 2015 08:28:00 +0000 (10:28 +0200)]
Revert "Birdtest: U64_C() macro"
This reverts commit
804ee1458d33b09732eb7b883a7d77b5de74f7df .
And make better solution with stdint.h and UINT64_C macro.
Thanks to Ondrej Zajicek.
Pavel Tvrdík [Tue, 4 Aug 2015 08:25:47 +0000 (10:25 +0200)]
Birdtest: Tunning IP tests, Hash tests
Pavel Tvrdík [Tue, 4 Aug 2015 08:01:10 +0000 (10:01 +0200)]
Revert "Linking: move LDFLAGS at the end of commands"
This reverts commit
9334886d1a09991af05b958482f9500f6c6dc17d .
Thanks to Ondrej Zajicek.
Pavel Tvrdík [Mon, 3 Aug 2015 13:55:53 +0000 (15:55 +0200)]
Birdtest: Fix Hash Unit Testing
Pavel Tvrdík [Mon, 3 Aug 2015 11:46:45 +0000 (13:46 +0200)]
Birdtest: U64_C() macro
Pavel Tvrdík [Mon, 3 Aug 2015 07:03:38 +0000 (09:03 +0200)]
Birdtest: Use origin macros from lib/ip.h
Thanks to Ondrej 'Santiago' Zajicek
Pavel Tvrdík [Wed, 29 Jul 2015 09:49:51 +0000 (11:49 +0200)]
Birdtest: Add Pattern Matching Tests
Pavel Tvrdík [Wed, 29 Jul 2015 08:41:37 +0000 (10:41 +0200)]
Linking: move LDFLAGS at the end of commands
Better support gcov
$ LDFLAGS="-lgcov" CFLAGS="-fprofile-arcs -ftest-coverage" ./configure
Pavel Tvrdík [Wed, 29 Jul 2015 07:04:22 +0000 (09:04 +0200)]
Birdtest: Fix non-debug compilation of IP tests
Ondrej Zajicek [Tue, 28 Jul 2015 13:08:21 +0000 (15:08 +0200)]
Nest: Fixes one of previous commit
Ondrej Zajicek [Tue, 28 Jul 2015 10:56:51 +0000 (12:56 +0200)]
Minor update to test commits
Ondrej Zajicek [Tue, 28 Jul 2015 10:35:12 +0000 (12:35 +0200)]
Netlink: Fixes uninitialized variable
Thanks to Pavel Tvrdik for the bugfix
Ondrej Zajicek [Fri, 24 Jul 2015 16:02:07 +0000 (18:02 +0200)]
Static: Support for BFD controlled static routes
Ondrej Zajicek [Mon, 20 Jul 2015 09:12:02 +0000 (11:12 +0200)]
Static: Allows to specify attributes for static routes
The patch adds suport for specifying route attributes together with
static routes, e.g.:
route 10.1.1.0/24 via 10.0.0.1 { krt_advmss = 1200; ospf_metric1 = 100; };
Ondrej Zajicek [Sun, 19 Jul 2015 09:39:24 +0000 (11:39 +0200)]
BFD: Fixes crash after socket error
Thanks to Thomas King for the bugreport.
Ondrej Zajicek [Sat, 18 Jul 2015 21:15:04 +0000 (23:15 +0200)]
Simplify build messages
Thanks to Christian Tacke for the original patch.
Ondrej Zajicek [Sat, 18 Jul 2015 17:30:35 +0000 (19:30 +0200)]
Nest: Fixes symbols in router id
Thanks to Peter Hudec for noticing the problem.
Ondrej Zajicek [Sat, 18 Jul 2015 17:05:11 +0000 (19:05 +0200)]
Documentation update
Ondrej Zajicek [Sat, 18 Jul 2015 11:38:21 +0000 (13:38 +0200)]
BGP: Extended messages support
Implements draft-ietf-idr-bgp-extended-messages-10, for now
undocumented and with temporary private capability number.
Ondrej Zajicek [Sat, 18 Jul 2015 11:05:05 +0000 (13:05 +0200)]
Direct: Fixes behavior for the same routes on different interfaces
Thanks to Andrew (seti.kr.ua) for the bug report.
Pavel Tvrdík [Tue, 16 Jun 2015 13:13:53 +0000 (15:13 +0200)]
SHA256: Remove 32-bit move at the 32-bit number
Ondrej Zajicek [Mon, 8 Jun 2015 00:20:43 +0000 (02:20 +0200)]
BGP multipath support
Kernel option 'merge paths' allows to merge routes exported to kernel
protocol (currently BGP and static routes) to multipath routes.
Ondrej Zajicek [Thu, 4 Jun 2015 09:35:26 +0000 (11:35 +0200)]
Fixes subtle bug in temporary attribute handling
In some cases, export filter accessed attributes of a different route.
Ondrej Zajicek [Wed, 3 Jun 2015 09:58:46 +0000 (11:58 +0200)]
KRT: Fixes some minor bugs in kernel protocol
Ondrej Zajicek [Sun, 31 May 2015 21:25:33 +0000 (23:25 +0200)]
Moving of mulipath merging code from OSPF to nest
Ondrej Zajicek [Sun, 31 May 2015 09:29:53 +0000 (11:29 +0200)]
Fixes bug in pipe feeding when filtered routes are kept in table
Pavel Tvrdík [Tue, 19 May 2015 06:53:34 +0000 (08:53 +0200)]
unsigned [int] -> uint
Pavel Tvrdík [Tue, 19 May 2015 06:14:04 +0000 (08:14 +0200)]
unsgined char -> byte
Ondrej Filip [Mon, 1 Jun 2015 08:41:17 +0000 (10:41 +0200)]
Typo fix by Hans van Kranenburg
Ondrej Zajicek [Fri, 22 May 2015 09:12:48 +0000 (11:12 +0200)]
Fixes unnamed protocols from templates
Pavel Tvrdík [Tue, 19 May 2015 08:52:22 +0000 (10:52 +0200)]
SHA256: Remove typedef for sha_transform_fn
Pavel Tvrdík [Tue, 19 May 2015 07:57:10 +0000 (09:57 +0200)]
MD5, SHA1/256/512 libraries: fixing code style
Pavel Tvrdík [Tue, 19 May 2015 06:53:34 +0000 (08:53 +0200)]
unsigned [int] -> uint
Pavel Tvrdík [Tue, 19 May 2015 06:14:04 +0000 (08:14 +0200)]
unsgined char -> byte
Pavel Tvrdík [Tue, 19 May 2015 06:00:10 +0000 (08:00 +0200)]
Merge branch 'master' into birdtest
Ondrej Zajicek [Sat, 16 May 2015 22:54:33 +0000 (00:54 +0200)]
Simplify flushing process
Related to changes from previous patch.
Ondrej Zajicek [Sat, 16 May 2015 18:17:59 +0000 (20:17 +0200)]
Fix minor issue in pipe route propagation
In some circumstances during reconfiguration, routes propagated by pipes
to other tables may hang there even after the primary routes are removed.
There is already a workaround for this issue in the code which removes
these stale routes by flush process when source protocols are shut down.
This patch is a cleaner fix and allows to simplify the flush process
Ondrej Zajicek [Wed, 13 May 2015 11:19:26 +0000 (13:19 +0200)]
Fix in the last commit
Pavel Tvrdík [Wed, 13 May 2015 09:41:03 +0000 (11:41 +0200)]
Merge branch 'master' into birdtest
Pavel Tvrdík [Wed, 13 May 2015 09:26:37 +0000 (11:26 +0200)]
MD5: fixing indentation and code style
Pavel Tvrdík [Wed, 13 May 2015 09:15:10 +0000 (11:15 +0200)]
SHA1: Remove duplicated tests
Pavel Tvrdík [Wed, 13 May 2015 09:14:11 +0000 (11:14 +0200)]
Add HMAC-MD5 library and tests
Pavel Tvrdík [Wed, 13 May 2015 08:55:02 +0000 (10:55 +0200)]
MD5: change interface of md5_final()
originally:
void md5_final(unsigned char digest[16], struct md5_context *ctx);
newly:
byte * md5_final(md5_context *ctx);
Pavel Tvrdík [Wed, 13 May 2015 07:35:08 +0000 (09:35 +0200)]
SHA1: transform -> sha1_transform
Pavel Tvrdík [Wed, 13 May 2015 07:32:00 +0000 (09:32 +0200)]
MD5: change naming style
MD5Init -> md5_init
MD5Update -> md5_update
MD5Transform -> md5_transform
MD5Final -> md5_final
MD5Context -> md5_context
Pavel Tvrdík [Wed, 13 May 2015 07:27:44 +0000 (09:27 +0200)]
SHA & MD5 libs: changing headers
Pavel Tvrdík [Wed, 13 May 2015 07:12:22 +0000 (09:12 +0200)]
OSPF: fixing typing errors
Ondrej Zajicek [Tue, 12 May 2015 14:42:22 +0000 (16:42 +0200)]
KRT: Add support for plenty of kernel route metrics
Linux kernel route metrics (RTA_METRICS netlink route attribute) are
represented and accessible as new route attributes:
krt_mtu, krt_window, krt_rtt, krt_rttvar, krt_sstresh, krt_cwnd, krt_advmss,
krt_reordering, krt_hoplimit, krt_initcwnd, krt_rto_min, krt_initrwnd,
krt_quickack, krt_lock_mtu, krt_lock_window, krt_lock_rtt, krt_lock_rttvar,
krt_lock_sstresh, krt_lock_cwnd, krt_lock_advmss, krt_lock_reordering,
krt_lock_hoplimit, krt_lock_rto_min, krt_feature_ecn, krt_feature_allfrag
Pavel Tvrdík [Tue, 12 May 2015 10:38:12 +0000 (12:38 +0200)]
SHA512: Fixing bug in SHA512 & SHA384
SHA512/SHA384 are using the SHA256 update and differs in the transform function.
This adds a pointer to transform function into a SHA context.
Pavel Tvrdík [Tue, 12 May 2015 10:33:06 +0000 (12:33 +0200)]
SHA512: small changes in code style
Pavel Tvrdík [Tue, 12 May 2015 10:29:45 +0000 (12:29 +0200)]
SHA512 Tests: Fixing the expected hashes
Pavel Tvrdík [Tue, 12 May 2015 10:27:47 +0000 (12:27 +0200)]
SHA Tests: Use a longer (160-length) string
Pavel Tvrdík [Tue, 12 May 2015 10:24:28 +0000 (12:24 +0200)]
SHA: only renamed hd -> ctx
Ondrej Zajicek [Sat, 9 May 2015 16:50:15 +0000 (18:50 +0200)]
Add bitfield route attribute type
Ondrej Zajicek [Fri, 1 May 2015 12:40:56 +0000 (14:40 +0200)]
OSPF: Redesign LSA checksumming
New LSA checksumming code separates generic Fletcher-16 and OSPF-specific
code and avoids back and forth endianity conversions, making it much more
readable and also several times faster.
Pavel Tvrdík [Wed, 29 Apr 2015 14:47:32 +0000 (16:47 +0200)]
Birdtest: add IPv6 unit test for convert '::'
Pavel Tvrdík [Wed, 29 Apr 2015 11:41:40 +0000 (13:41 +0200)]
Add HMAC-SHA384 and HMAC-SHA512 (both not work!)
Pavel Tvrdík [Wed, 29 Apr 2015 11:39:32 +0000 (13:39 +0200)]
HMAC-SHA256, HMAC-SHA224 according to HMAC-SHA1
Successfully passed unit tests.
Pavel Tvrdík [Wed, 29 Apr 2015 06:50:02 +0000 (08:50 +0200)]
SHA: Fixing broken build process
Ondrej Zajicek [Tue, 28 Apr 2015 11:45:44 +0000 (13:45 +0200)]
OSPF: Fixes validation of LSA checksums
Prior to this patch, BIRD validates the OSPF LSA checksum by calculating
a new checksum and comparing it with the checksum in the header. Due to
the specifics of the Fletcher checksum used in OSPF, this is not
necessarily correct as the checkbytes in the header may be calculated via
a different means and end up with a different value that is nonetheless
still correct.
The documented means of validating the checksum as specified in RFC 905
B.4 is to calculate c0 and c1 from the unchanged contents of the packet,
which must result in a zero value to be considered valid.
Thanks to Chris Boot for the patch.
Ondrej Zajicek [Sat, 25 Apr 2015 19:41:43 +0000 (21:41 +0200)]
KRT: Fixes route reload
Did not really worked
Ondrej Zajicek [Sat, 25 Apr 2015 18:43:43 +0000 (20:43 +0200)]
KRT: Fixes learning of preferred kernel routes.
When a new route was imported from kernel and chosen as preferred, then
the old best route was propagated as a withdraw to the kernel protocol.
Under some circumstances such withdraw propagated to the BSD kernel could
remove the new alien route and thus reverting the import.
Ondrej Zajicek [Wed, 22 Apr 2015 08:53:15 +0000 (10:53 +0200)]
KRT: Support for RTM_CHANGE on BSD
Pavel Tvrdík [Tue, 28 Apr 2015 13:02:37 +0000 (15:02 +0200)]
Add SHA512 and SHA384 hash library and unit tests
Pavel Tvrdík [Tue, 28 Apr 2015 10:48:43 +0000 (12:48 +0200)]
Birdtest: small change
The number of build-failure tests must be equal to zero or upper