Read-Only Related Mirrors
  1. Read-Only Related Mirrors

Github-rtrlib

Public
AuthorCommitMessageCommit dateIssues
tannebergerMatthias Wählischtanneberger
15cd4b53391rtrlib: fix missing includes- the debug macro needs a function defined inside the rtrlib/lib/log_private.h header which was not included.
tannebergerTassilo Tannebergertanneberger
295cb8e6896rtrlib: replace exponential up- and downscaling from aspa_array- updating README - up- and downscaling now uses an linear offset of 1000
tannebergerTassilo Tannebergertanneberger
13015574a3crtrlib: extra checks for when user didn't initialize some tables- added null ptr checks in pfx_validate, aspa_verify and spki_validate - added warnings if the user tries to validate objects where there is no table
tannebergerTassilo Tannebergertanneberger
f3aa4096a25rtrlib: optimizing aspa_array- using lrtr_realloc instead of malloc & memcpy - decreasing the capacity of the array when possible
tannebergerTassilo Tannebergertanneberger
b9c69dafebdrtrlib: apply proper formatting
tannebergerTassilo Tannebergertanneberger
8ebdfed0decrtrlib: reworking user interface adding rtr_mgr_setup_sockets function- adjusted tests and tools - added function rtr_mgr_setup_sockets with functionality that previously resided in rtr_mgr_init
revol-xutTassilo Tannebergerrevol-xut
727611a08bdrtrlib: incorperating suggestions from Fabian Holler- removing self-explanatory comments - renaming include guards of ASPA_ARRAY - removing double negation - moving pthread_unlock
revol-xutTassilo Tannebergerrevol-xut
7301f7bbafetools: update rtrclient to support aspa- update main cmake file Co-authored-by: mrzslz <moritz.schulz@proton.me> Co-authored-by: carl <115627588+carl-tud@users.noreply.github.com>
revol-xutTassilo Tannebergerrevol-xut
25e16f50911tests: add aspa tests- add tests for AS_PATH verification - add tests for `aspa_array` - add tests for aspa pdu parsing and `aspa_table` updating - add tests for live interaction with rtr cache servers Co-authored-by: mrzslz <moritz.schulz@proton.me> Co-authored-by: carl <115627588+carl-tud@users.noreply.github.com>
revol-xutTassilo Tannebergerrevol-xut
c3a6f37bf28rtrlib: add aspa to central management data structure- add aspa_table to rtr_mgr functions - fix typos and format Co-authored-by: mrzslz <moritz.schulz@proton.me> Co-authored-by: carl <115627588+carl-tud@users.noreply.github.com>
revol-xutTassilo Tannebergerrevol-xut
f74457afbeaaspa: add aspa data structures and verification algorithm- add `aspa_array`, an ordered dynamic array - add `aspa_table` for storing and managing aspa data - add aspa table update functions - add AS_PATH verification algorithm Co-authored-by: mrzslz <moritz.schulz@proton.me> Co-authored-by: carl <115627588+carl-tud@users.noreply.github.com>
revol-xutTassilo Tannebergerrevol-xut
fb3f8e440a1rtr: add support for aspa pdus- add support for rtrv2 including aspa pdus - move rtr pdus to separate header - refactor undo-update logic - add aspa in-place and swap-in update mechanism Co-authored-by: mrzslz <moritz.schulz@proton.me> Co-authored-by: carl <115627588+carl-tud@users.noreply.github.com>
maurimMatthias Wählischmaurim
e5aaf073d63[FIX] Building with strict aliasingMotivation - building with strict aliasing flags fails - used flags shown below ``` set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -flto=4 -Werror=odr -Werror=lto-type-mismatch -Werror=strict-aliasing") set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -D_FORTIFY_SOURCE=3 -fdiagnostics-color=always -frecord-gcc-switches") set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fstack-clash-protection -march=native -O2 -pipe -U_FORTI...
maurimTassilo Tannebergermaurim
3e4f635a2f2[FIX] Bit selection error for trie buildingMotivation: - test cases for arm7 Ubuntu18.04 and ppc64le Ubuntu18.04 failed - pipeline results in fail after commit - minor improvements for uniform build up live_tests How: - trie building is based on address (binary-trie) - getting a single bit for IPv6 addresses has been error prone for bit_postion > 95 - unsure why other distributions did not fail => may be due to different en...
maurimTassilo Tannebergermaurim
5911d1507e4Updates public rpki-cache and fixes pipline issuesMotivation - get pipeline checks running How: - insert valid rpki-cache which runs also rtr - edit url in live_tests, README - modify changelog date in librtr.spec file => no changelog results in error, because all changes older than 2years are dismissed - add more output on failure for tests
Nils BarsGitHubNils Bars
c7d58ab5181Bugfix: Use the actual struct size and not the pointer size (#288)
maurimMatthias Wählischmaurim
52b2d660496Updates the used public rpki-caches for testing environmentMotivation - get pipeline checks running How: - find valid rpki-cache which runs also rtr - edit url in live_tests
Zopolis4Marcel RöthkeZopolis4
e3f6bf625bflib: Restrict overmatching MACH ifdef to only trigger on OSX and Mach
Olivier Cochard-LabbéMarcel RöthkeOlivier Cochard-Labbé
1a2a042ca65Fix LIBSSH_ variable names
Marcel RöthkeMatthias WaehlischMarcel Röthke
41f5f057d47rtr_mgr: replace mutex with rwlockrtr_mgr could enter a deadlocked state with multiple socket groups when a group with at least one group of lower preference comes back online. This happens because the thread of the group coming back online blocks on trying to shut down all threads with lower preference while holding the rtr_mgrs mutex, but a thread that tries to acquire that same mutex cannot be shut down while doing so. Sinc...
Martin WinterMarcel RöthkeMartin Winter
d80baaf0cffredhat: Fix RPM file to work on Fedora 33+ and RedHat 9+- Newer Fedora/RedHat changes cmake rpm build to build out of tree and requires the use of macros for correct locations See https://fedoraproject.org/wiki/Changes/CMake_to_do_out-of-source_builds - On newer Fedora, the SOURCES subdirectory isn't created automatically and needs to be created in the prep phase before the tar is created Signed-off-by: Martin Winter <mwinter@opensourcerout...
Marcel RöthkeGitHubMarcel Röthke
179e7efb595rtrlib/rtr_mgr: properly cleanup rtr_sockets on stop (#268)Previously rtr_sockets could not be restarted because their state remained on SHUTDOWN, which they can, by design, not recover from themselves.
Colin SamesMarcel RöthkeColin Sames
474ea3814afbgpsec: CONFIG_H -> RTR_CONFIG_H
Colin SamesMarcel RöthkeColin Sames
f822fd98ac3redhat: add libssl as a dependency.BGPsec requires libssl as a dependency.
Colin SamesMarcel RöthkeColin Sames
ebee20f24a0debian: add libssl dependencies.BGPsec requires OpenSSL.
Colin SamesMarcel RöthkeColin Sames
8d95a54a8bftests: Add integration and unit tests for BGPsec.The integration tests cover: - originating a BGPsec path - signing a BGPsec path - validating a BGPsec path - getting BGPsec version and algorithm suite values The unit tests cover: - allocator and initializer functions - utility functions
Colin SamesMarcel RöthkeColin Sames
264a854f39ertrlib/bgpsec: Add BGPsec validation features.- The BGPsec API allows to validate and sign BGPsec paths. - Currently supported BGPsec version is 0. - For cryptographic operations, OpenSSL is used. Both version 1.0 and 1.1 are supported. - The router keys necessary for validation are fetched from the SPKI.
Matthias WählischGitHubMatthias Wählisch
b8b99100c9fadd SECURITY.md (#266)
Marcel RöthkeMarcel Röthke
d05a0b6ae8frelease 0.8.0
Marcel RöthkeMarcel Röthke
b3bcfeba7b6rtrlib/transport/ssh: return correct error valuesSome functions returned SSH_* error values, instead of TR_* error values
Marcel RöthkeMarcel Röthke
65cdd1e3a95rtrlib/transport/ssh: check for all relevant return values of ssh_channel_selectssh_channel_select can return SSH_EINTR, SSH_ERROR and SSH_OK. Handle SSH_EINTR and SSH_ERROR accordingly and continue for SSH_OK.
Marcel RöthkeMarcel Röthke
e1f938d7cd2rtrlib/transport/ssh: fix constant spinning on recvThe timeout in the tr_ssh_recv implementation was hard coded to 1 second, instead of using the provided timeout.
Marcel RöthkeMarcel Röthke
1f8a5ddcdb5rtrlib/transport/ssh: fix deprication warninglibssh has deprecated ssh_is_known_server, ssh_session_is_known_server should be used instead. It is available since version 0.8.0, we will use it if available.
Marcel RöthkeMarcel Röthke
6f719b869bfrtrlib/transport/ssh: check malloc return values in init
Marcel RöthkeMarcel Röthke
e3ce4121431rtrlib/transport/ssh: remove stray semicolon
Marcel RöthkeMarcel Röthke
1dfbd22b0d5rtrlib/transport/ssh: ensure private key or password is setIt does not make much sense to set both in non interactive authentication, but one of them has to be set.
Marcel RöthkeMarcel Röthke
5ba114366dbtools/rtrclient: implement ssh password auth
Marcel RöthkeMarcel Röthke
d3da6a14f74rtrlib/transport/ssh: add support for password authentication
Marcel RöthkeMarcel Röthke
f2a38c5946ertrlib/transport/ssh: fix log prefix in tr_ssh_open
Marcel RöthkeMarcel Röthke
56e67e78059cmake: use FindPkgConfig to search for libssh availabilityPreviously a homegrown find script was used. That made assumptions about location of some header files that do not hold true anymore for recent libssh versions. The canonical why of finding libraries is pkg-config and cmake has excellent support for that. So we simply use it.
Matthias WählischGitHubMatthias Wählisch
93724e4fb3cadd badges to README.md and ref to CONTRIBUTING (#261)* add badges to README.md * add ref to CONTRIBUTING.md in README.md
Marcel RöthkeMarcel Röthke
a6175bb0947rtrlib/transport: make connect timeout configurable
Marcel RöthkeMarcel Röthke
cc95e0c43a4rtrlib/transport/{tcp,ssh}: fix tr_{tcp,ssh}_open blocking socket stopSince the move from pthread_kill to pthread_cancel a rtr_socket could not be stopped immediately if it was in the tr_open call. cancelability could not be enabled for that function because it holds local resources. This enables cancalability locally for the only blocking call in tr_tcp_open and tr_ssh_open respectively.
Marcel RöthkeMarcel Röthke
f5cfe3176b3tests: fix warning about discarded qualifier in live validation test
Colin SamesMarcel RöthkeColin Sames
4a608734dfertrlib/transport/tcp: add extended errno outputtr_tcp_open outputs the error with strerror instead of gai_strerror in case an EAI_SYSTEM error code is received.
Philippe GuibertMarcel RöthkePhilippe Guibert
03f6894794dtools: fix covery issue related to tr_[tcp,ssh]_config initialisationthe structures tr_tcp_config and tr_ssh_config were not set to 0 at startup, when init_sockets() call is done. handle this by initialising those structures. Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
Philippe GuibertMarcel RöthkePhilippe Guibert
967fe6f6d42rtrlib: ability to pass configured socket in tcp/ssh attributeThanks to previous commit, it becomes possible by the caller to add an an optional opaque pointer, as well as a callback function that will be in charge of providing a file descriptor that will be used to create the tcp/ssh connection to the server. If the information is provided, and if the socket returned is invalid (<=0), then a fallback mechanism is done, that is to say that the socket is c...
Philippe GuibertMarcel RöthkePhilippe Guibert
e563574c2ef*: add two attributes to [tcp/ssh]_config structurethose two attributes will be further used to store an opaque pointer, as well as a callback function. it will be up to the user of the API to use those fields to provide a socket that will be used for rpki transportation for communication with servers. Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
Martin WinterMartin Winter
05af8c7cbaaredhat: Add new changelog entry to fix rpmlint changelog errorSigned-off-by: Martin Winter <mwinter@opensourcerouting.org>
Jakob OttoMatthias WählischJakob Otto
09b5c4923ebRename README to README.md (#253)* Rename README to README.md * Cleanup Formatting of README.md