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

2738 Commits

Author SHA1 Message Date
Pavel Tvrdík
856250c27f 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...
2015-08-05 12:36:40 +02:00
Pavel Tvrdík
ce8d15a02d 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
2015-08-05 12:36:40 +02:00
Pavel Tvrdík
d51a3385a6 Birdtest: Fixing outputs at 'exotic' OS 2015-08-05 12:36:40 +02:00
Pavel Tvrdík
aad0af2fd7 Birdtest: Add an another verbose level for tests 2015-08-04 14:40:40 +02:00
Pavel Tvrdík
3ed4f968c0 Birdtest: Add Fletcher-16 Checksum Tests 2015-08-04 14:23:12 +02:00
Pavel Tvrdík
f594ab67bb Revert "Birdtest: U64_C() macro"
This reverts commit 804ee1458d.

And make better solution with stdint.h and UINT64_C macro.
Thanks to Ondrej Zajicek.
2015-08-04 10:31:50 +02:00
Pavel Tvrdík
d16050108f Birdtest: Tunning IP tests, Hash tests 2015-08-04 10:26:33 +02:00
Pavel Tvrdík
2d9b796bc5 Revert "Linking: move LDFLAGS at the end of commands"
This reverts commit 9334886d1a.

Thanks to Ondrej Zajicek.
2015-08-04 10:08:43 +02:00
Pavel Tvrdík
182f73dfba Birdtest: Fix Hash Unit Testing 2015-08-03 15:55:53 +02:00
Pavel Tvrdík
804ee1458d Birdtest: U64_C() macro 2015-08-03 14:41:20 +02:00
Pavel Tvrdík
ca996d807f Birdtest: Use origin macros from lib/ip.h
Thanks to Ondrej 'Santiago' Zajicek
2015-08-03 09:03:38 +02:00
Pavel Tvrdík
7e035b81cb Birdtest: Add Pattern Matching Tests 2015-07-29 11:49:51 +02:00
Pavel Tvrdík
9334886d1a Linking: move LDFLAGS at the end of commands
Better support gcov
 $ LDFLAGS="-lgcov" CFLAGS="-fprofile-arcs -ftest-coverage" ./configure
2015-07-29 10:42:41 +02:00
Pavel Tvrdík
12879947cf Birdtest: Fix non-debug compilation of IP tests 2015-07-29 09:51:17 +02:00
Pavel Tvrdík
700cf1c203 SHA256: Remove 32-bit move at the 32-bit number 2015-06-17 12:28:25 +02:00
Pavel Tvrdík
c40185a176 SHA256: Remove typedef for sha_transform_fn 2015-05-19 10:52:22 +02:00
Pavel Tvrdík
1673814087 MD5, SHA1/256/512 libraries: fixing code style 2015-05-19 10:06:28 +02:00
Pavel Tvrdík
ddb80bd8c5 unsigned [int] -> uint 2015-05-19 08:53:34 +02:00
Pavel Tvrdík
8e8a438322 unsgined char -> byte 2015-05-19 08:14:04 +02:00
Pavel Tvrdík
c38a645d9b Merge branch 'master' into birdtest 2015-05-19 08:00:10 +02:00
Ondrej Zajicek
d0e23d42de Simplify flushing process
Related to changes from previous patch.
2015-05-17 00:56:34 +02:00
Ondrej Zajicek
86f567e13c 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
2015-05-16 20:17:59 +02:00
Ondrej Zajicek
38e835dede Fix in the last commit 2015-05-13 13:19:26 +02:00
Pavel Tvrdík
00572d96f9 Merge branch 'master' into birdtest 2015-05-13 11:41:03 +02:00
Pavel Tvrdík
b335daec41 MD5: fixing indentation and code style 2015-05-13 11:26:37 +02:00
Pavel Tvrdík
2a2fef75cd SHA1: Remove duplicated tests 2015-05-13 11:18:10 +02:00
Pavel Tvrdík
40d323e150 Add HMAC-MD5 library and tests 2015-05-13 11:18:10 +02:00
Pavel Tvrdík
aa75e6dfe1 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);
2015-05-13 11:18:10 +02:00
Pavel Tvrdík
0a8abdf6a0 SHA1: transform -> sha1_transform 2015-05-13 11:18:02 +02:00
Pavel Tvrdík
1512c11ddc MD5: change naming style
MD5Init         -> md5_init
MD5Update       -> md5_update
MD5Transform    -> md5_transform
MD5Final        -> md5_final
MD5Context      -> md5_context
2015-05-13 09:32:00 +02:00
Pavel Tvrdík
5aa9ab0cfd SHA & MD5 libs: changing headers 2015-05-13 09:27:44 +02:00
Pavel Tvrdík
a41ce27bf7 OSPF: fixing typing errors 2015-05-13 09:12:22 +02:00
Ondrej Zajicek
9fdf9d29b6 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
2015-05-12 16:42:22 +02:00
Pavel Tvrdík
d16b33f556 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.
2015-05-12 12:46:26 +02:00
Pavel Tvrdík
5a12cc27f7 SHA512: small changes in code style 2015-05-12 12:46:26 +02:00
Pavel Tvrdík
a777dff865 SHA512 Tests: Fixing the expected hashes 2015-05-12 12:46:26 +02:00
Pavel Tvrdík
9f2c0ca0ef SHA Tests: Use a longer (160-length) string 2015-05-12 12:46:11 +02:00
Pavel Tvrdík
5beaaa3d6b SHA: only renamed hd -> ctx 2015-05-12 12:24:28 +02:00
Ondrej Zajicek
315f23a047 Add bitfield route attribute type 2015-05-10 19:44:10 +02:00
Ondrej Zajicek
77edab6409 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.
2015-05-01 14:40:56 +02:00
Pavel Tvrdík
f84f925036 Birdtest: add IPv6 unit test for convert '::' 2015-04-29 16:50:38 +02:00
Pavel Tvrdík
71adc0f9e2 Add HMAC-SHA384 and HMAC-SHA512 (both not work!) 2015-04-29 16:50:38 +02:00
Pavel Tvrdík
e7ac4efd54 HMAC-SHA256, HMAC-SHA224 according to HMAC-SHA1
Successfully passed unit tests.
2015-04-29 16:49:44 +02:00
Pavel Tvrdík
b813656c58 SHA: Fixing broken build process 2015-04-29 13:43:15 +02:00
Ondrej Zajicek
dea6bb4899 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-29 13:43:15 +02:00
Ondrej Zajicek
893ab8272b KRT: Fixes route reload
Did not really worked
2015-04-29 13:43:15 +02:00
Ondrej Zajicek
8d03327b42 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-29 13:43:15 +02:00
Ondrej Zajicek
71e24a33b8 KRT: Support for RTM_CHANGE on BSD 2015-04-29 13:43:15 +02:00
Pavel Tvrdík
5355407915 Add SHA512 and SHA384 hash library and unit tests 2015-04-28 17:05:29 +02:00
Pavel Tvrdík
5a5e825213 Birdtest: small change
The number of build-failure tests must be equal to zero or upper
2015-04-28 17:02:42 +02:00