0
0
mirror of https://gitlab.nic.cz/labs/bird.git synced 2024-12-23 18:21:54 +00:00
Commit Graph

2737 Commits

Author SHA1 Message Date
Pavel Tvrdík
e4e80e4f8f SHA256: Integrate sha256_hmac into sha256 2015-04-28 16:58:44 +02:00
Pavel Tvrdík
6d3c17d5c2 SHA1: Integrate sha1_hmac.c into sha1.c 2015-04-28 16:58:44 +02:00
Pavel Tvrdík
17a0035a1c SHA: Fixing small bugs and code style
Thanks to Ondrej Zajicek
2015-04-28 16:58:31 +02:00
Ondrej Zajicek
30d09eb96e 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.
2015-04-28 13:45:44 +02:00
Ondrej Zajicek
7069fc9e72 KRT: Fixes route reload
Did not really worked
2015-04-25 21:41:43 +02:00
Ondrej Zajicek
c5ff44a703 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.
2015-04-25 20:43:43 +02:00
Pavel Tvrdík
c23cd84ed5 Add HMAC-SHA256 hash library and unit tests 2015-04-25 13:43:49 +02:00
Pavel Tvrdík
26b1fd1dc4 Add SHA256, SHA224 hash libraries and unit tests 2015-04-23 15:19:36 +02:00
Pavel Tvrdík
16e4e98ea0 SHA1: Code formatting 2015-04-23 15:19:26 +02:00
Pavel Tvrdík
5015dceee0 SHA1: Remove original libucw unit tests 2015-04-23 15:19:26 +02:00
Pavel Tvrdík
24ff638db2 SHA1: Use get_u32 and put_u32 2015-04-23 11:27:36 +02:00
Pavel Tvrdík
dd78aae55c SHA-1: safer endianity 2015-04-22 17:45:14 +02:00
Pavel Tvrdík
57453a3c5f Fixing copyrights at SHA-1 and HMAC-SHA1 libraries 2015-04-22 12:12:05 +02:00
Pavel Tvrdík
828e091013 Add SHA-1 and HMAC-SHA1 libraries with unit tests
Refactore MD5 tests
2015-04-22 11:15:38 +02:00
Ondrej Zajicek
90097f4fb9 KRT: Support for RTM_CHANGE on BSD 2015-04-22 10:53:15 +02:00
Pavel Tvrdík
5245c4dd6d Birdtest: add io_log_event() mockup 2015-04-20 16:50:51 +02:00
Pavel Tvrdík
259e7e0f67 Merge branch 'master' into birdtest 2015-04-20 16:27:48 +02:00
Pavel Tvrdík
a22d36256e Birdtest: Refactore functions (only rename) 2015-04-20 13:50:33 +02:00
Ondrej Zajicek
deec752ef9 NEWS and version update 2015-04-20 12:27:00 +02:00
Ondrej Zajicek
b867a87c2f Fixes port range socket option 2015-04-19 00:31:59 +02:00
Ondrej Zajicek
ef3cac669c OSPF: Fixes handling of external routes with immediate gw
The bug caused that received external LSAs with locally reachable
next hops were ignored. I wonder why nobody noticed it sooner.
2015-04-18 13:26:45 +02:00
Pavel Tvrdík
5419d2a3c5 Birdtest: Compability bug fixes
Tested on Ubuntu & FreeBSD & NetBSD & OpenBSD
2015-04-15 15:42:43 +02:00
Pavel Tvrdík
2bb3d343e9 Add .gitignore 2015-04-15 12:16:42 +02:00
Pavel Tvrdík
60c2d0c39f Birdtest: Add tests suites for SLIST datastructure 2015-04-15 12:14:36 +02:00
Pavel Tvrdík
979dc9e65e Birdtest: Refactore some tests
lib/bitops_test.c
lib/ip_test.c
lib/lists_test.c
lib/md5_test.c
2015-04-15 12:11:50 +02:00
Pavel Tvrdík
81b2e266fb Birdtest: Build system: improve dependencies
while a some source file is changed, the test suite will recompile
2015-04-15 12:07:10 +02:00
Pavel Tvrdík
1ce8d33b80 Birdtest: Improve the testing framework
- non-blocking asserts, only set bt_test_suite_success
- unification of testing output from bt_assert_fn_in_out and bt_assert_out_fn_in
2015-04-15 11:51:24 +02:00
Pavel Tvrdík
84dbe05f93 Birdtest: Extend IP addr funcs Tests 2015-04-13 10:59:20 +02:00
Pavel Tvrdík
db781b9004 Birdtest: Rewrite MD5 unit test 2015-04-13 10:57:47 +02:00
Pavel Tvrdík
a84b9c62d1 Birdtest: Add bt_assert_fn_in_*
- Improved test output formating: aligned, colored [ OK ] / [FAIL]
- A failed assert will not interupt the whole test suite
- bt_assert_fn_in_* are macros for testing input and output from the some
  function
2015-04-13 10:52:21 +02:00
Pavel Tvrdík
947018a7ef Birdtest: bt_test_case() -> bt_test_suite() 2015-04-13 10:42:10 +02:00
Pavel Tvrdík
8f5f52838e Birdtest: Improve a tests lancher script 2015-04-13 10:33:04 +02:00
Ondrej Zajicek
304ac2e861 Minor fixes 2015-04-12 10:47:17 +02:00
Pavel Tvrdík
9a49b70d1b Birdtest: Add IP addr funcs Tests (not complete) 2015-04-03 12:55:36 +02:00
Pavel Tvrdík
89ee134e2f Birdtest: Add Hash Tests 2015-04-03 12:54:54 +02:00
Pavel Tvrdík
83131f3fa5 Birdtest: Add Event Processing Tests
Add test/birdtest_support.h for provisional hack a build system
2015-04-03 12:52:44 +02:00
Pavel Tvrdík
e331e3635e Birdtest: Small improve in checksum test 2015-04-03 12:51:05 +02:00
Pavel Tvrdík
a35f717f0f lib/ip.c: add parenthesis for better readability 2015-04-03 12:49:21 +02:00
Pavel Tvrdík
e7bb2daf1f Birdtest: improve bt_check macro
Now dat for testing can be defined somelike this:

  struct in_out_data_ {
    char *in;
    u32 out;
  } in_out_data[] = {
      {
	  .in  = "192.168.1.128",
	  .out = build_ip4(192, 168, 1, 128),
      },
      {
	  .in  = "255.255.255.255",
	  .out = build_ip4(255, 255, 255, 255),
      },
      ...
  };

  bt_check(ip4_pton_, in_out_data, "%s", "0x%08X");
2015-04-03 12:46:04 +02:00
Pavel Tvrdík
1bdf2a54ed Birdtest: move def bt_rand_num() at a better place 2015-04-03 12:44:47 +02:00
Pavel Tvrdík
4b5e005d57 Birdtest: Add printing backtrace while segfault 2015-04-03 12:42:49 +02:00
Pavel Tvrdík
a0ab20320c Birdtest: Improve build scripts
Add make rule 'clean-tests'
Add tests sources to dependecy generator
2015-04-03 12:40:07 +02:00
Ondrej Zajicek
d924d5a562 BGP: Fixes serious bug in TX handling
Under some circumstances and heavy load, TX could be postponed
until the session fails with hold timer expired.

Thanks to Javor Kliachev for making the bug reproductible.
2015-04-01 00:10:00 +02:00
Ondrej Zajicek
16a3254c4c Understand IFF_MULTICAST flag on ifaces in Linux
Unfortunately, some interfaces support multicast but do not have
this flag set, so we use it only as a positive hint.

Thanks to Clint Armstrong for noticing the problem.
2015-03-31 23:59:40 +02:00
Pavel Tvrdík
d73e21e611 Birdtest: IP One-Complement Checksum Tests 2015-03-30 18:54:09 +02:00
Pavel Tvrdík
7379684211 Birdtest: small fix in md5_test 2015-03-30 18:52:58 +02:00
Ondrej Zajicek
2eadd36fa0 BGP: AS-wide unique router ID (RFC 6286) support
RFC 6286 relaxed rules for router IDs, allowing EBGP sessions between
routers with the same ID (but different ASN).
2015-03-29 21:24:47 +02:00
Ondrej Zajicek
9aed29e605 BGP: Enhanced route refresh (RFC 7313) support
Also hook feed_done is renamed to feed_end.
2015-03-29 18:29:49 +02:00
Pavel Tvrdík
3bbe27472c Birdtest: Add test for lib/bitops.c 2015-03-27 14:10:28 +01:00
Pavel Tvrdík
733088e798 Birdtest: Add test for lib/buffer_test.c 2015-03-27 14:10:00 +01:00