mirror of
https://gitlab.nic.cz/labs/bird.git
synced 2025-01-09 10:31:53 +00:00
4cf229a0b5
Add the RPKI protocol (RFC 6810) using the RTRLib (http://rpki.realmv6.org/) that is integrated inside the BIRD's code. Implemeted transports are: - unprotected transport over TCP - secure transport over SSHv2 The code should work properly with one cache server per protocol. A compilation has to be hacked with: $ ./configure LIBS='-lssh' ... Example configuration of bird.conf: ... roa table roatable; protocol rpki { roa table roatable; cache "rpki-validator.realmv6.org"; } protocol rpki { roa table roatable; cache "localhost" { port 2222; ssh encryption { bird private key "/home/birdgeek/.ssh/id_rsa"; cache public key "/home/birdgeek/.ssh/known_hosts"; user "birdgeek"; }; }; } ... TODO list: - load libssh2 using dlopen - support more cache servers per protocol
33 lines
641 B
C
33 lines
641 B
C
/*
|
|
* BIRD -- The Resource Public Key Infrastructure (RPKI) to Router Protocol
|
|
*
|
|
* (c) 2015 CZ.NIC
|
|
*
|
|
* This file was part of RTRlib: http://rpki.realmv6.org/
|
|
*
|
|
* Can be freely distributed and used under the terms of the GNU GPL.
|
|
*/
|
|
|
|
#include "rpki.h"
|
|
#include "transport.h"
|
|
|
|
inline int tr_open(struct tr_socket *socket)
|
|
{
|
|
return socket->open_fp(socket->socket);
|
|
}
|
|
|
|
inline void tr_close(struct tr_socket *socket)
|
|
{
|
|
socket->close_fp(socket->socket);
|
|
}
|
|
|
|
inline void tr_free(struct tr_socket *socket)
|
|
{
|
|
socket->free_fp(socket);
|
|
}
|
|
|
|
inline const char *tr_ident(struct tr_socket *socket)
|
|
{
|
|
return socket->ident_fp(socket->socket);
|
|
}
|