mirror of
https://github.com/NLnetLabs/krill.git
synced 2026-09-24 02:14:54 +02:00
Use workspaces in project.
This commit is contained in:
+1
-1
@@ -6,6 +6,6 @@ publishers
|
||||
krill.log
|
||||
target/
|
||||
tmp
|
||||
ui/dist
|
||||
daemon/ui/dist
|
||||
work
|
||||
package-lock.json
|
||||
|
||||
+2
-35
@@ -1,38 +1,5 @@
|
||||
[package]
|
||||
name = "krill"
|
||||
version = "0.2.0"
|
||||
authors = ["Tim Bruijnzeels <tim@nlnetlabs.nl>", "Martin Hoffmann <martin@nlnetlabs.nl>"]
|
||||
build = "build.rs"
|
||||
|
||||
[dependencies]
|
||||
actix = "^0.7"
|
||||
actix-web = { version = "^0.7", features = ["alpn"] }
|
||||
base64 = "^0.9"
|
||||
bcder = "^0.2"
|
||||
bytes = "^0.4"
|
||||
chrono = { version = "^0.4", features = ["serde"] }
|
||||
clap = "^2.32"
|
||||
derive_more = "^0.13"
|
||||
fern = "^0.5"
|
||||
futures = "0.1"
|
||||
hex = "^0.3"
|
||||
krill_commons = "^0.2"
|
||||
krill_cms_proxy = "^0.2"
|
||||
lazy_static = "^1.1"
|
||||
log = "^0.4"
|
||||
openssl = { version = "^0.10", features = ["v110"] }
|
||||
pretty = "0.5.2"
|
||||
rand = "^0.5"
|
||||
reqwest = "^0.9"
|
||||
rpki = "^0.3"
|
||||
serde = { version = "^1.0", features = ["rc"] }
|
||||
serde_derive = "^1.0"
|
||||
serde_json = "^1.0"
|
||||
syslog = "^4.0"
|
||||
toml = "^0.4"
|
||||
tokio = "^0.1"
|
||||
uuid = "0.7"
|
||||
xml-rs = "0.8.0"
|
||||
[workspace]
|
||||
members = [ "client", "daemon", "pubc", "pubd" ]
|
||||
|
||||
[patch.crates-io]
|
||||
krill_commons = { git="https://github.com/NLnetLabs/krill-commons.git" }
|
||||
|
||||
@@ -0,0 +1,15 @@
|
||||
[package]
|
||||
name = "krill_client"
|
||||
version = "0.2.0"
|
||||
authors = ["Tim Bruijnzeels <tim@nlnetlabs.nl>", "Martin Hoffmann <martin@nlnetlabs.nl>"]
|
||||
|
||||
[dependencies]
|
||||
clap = "^2.32"
|
||||
derive_more = "^0.13"
|
||||
krill_commons = "^0.2"
|
||||
krill_cms_proxy = "^0.2"
|
||||
rpki = "^0.3"
|
||||
serde = { version = "^1.0", features = ["rc"] }
|
||||
serde_derive = "^1.0"
|
||||
serde_json = "^1.0"
|
||||
|
||||
@@ -1,8 +1,6 @@
|
||||
pub mod options;
|
||||
pub mod report;
|
||||
|
||||
use std::io;
|
||||
use rpki::uri;
|
||||
|
||||
use krill_commons::util::file;
|
||||
use krill_commons::util::httpclient;
|
||||
use krill_commons::api::admin::{
|
||||
@@ -10,18 +8,20 @@ use krill_commons::api::admin::{
|
||||
PublisherList,
|
||||
PublisherRequest
|
||||
};
|
||||
use crate::krillc::report::{
|
||||
|
||||
use krill_cms_proxy::api::{ClientInfo, Token, ClientAuth};
|
||||
use krill_cms_proxy::rfc8183;
|
||||
|
||||
use crate::report::{
|
||||
ApiResponse,
|
||||
ReportError
|
||||
};
|
||||
use crate::krillc::options::{
|
||||
use crate::options::{
|
||||
Options,
|
||||
Command,
|
||||
PublishersCommand
|
||||
PublishersCommand,
|
||||
Rfc8181Command
|
||||
};
|
||||
use krillc::options::Rfc8181Command;
|
||||
use krill_cms_proxy::api::{ClientInfo, Token, ClientAuth};
|
||||
use krill_cms_proxy::rfc8183;
|
||||
|
||||
/// Command line tool for Krill admin tasks
|
||||
pub struct KrillClient {
|
||||
@@ -212,7 +212,4 @@ impl From<rfc8183::PublisherRequestError> for Error {
|
||||
fn from(e: rfc8183::PublisherRequestError) -> Error {
|
||||
Error::PublisherRequestError(e)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// Note: this is all tested through integration tests ('tests' folder).
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
extern crate clap;
|
||||
#[macro_use] extern crate derive_more;
|
||||
extern crate krill_commons;
|
||||
extern crate krill_cms_proxy;
|
||||
extern crate rpki;
|
||||
|
||||
pub mod options;
|
||||
pub mod report;
|
||||
|
||||
mod client;
|
||||
pub use client::KrillClient;
|
||||
pub use client::Error;
|
||||
@@ -1,9 +1,8 @@
|
||||
extern crate krill;
|
||||
extern crate krill_commons;
|
||||
extern crate krill_client;
|
||||
|
||||
use krill::krillc::KrillClient;
|
||||
use krill::krillc::options::Options;
|
||||
use krill::krillc::report::ReportFormat;
|
||||
use krill_client::KrillClient;
|
||||
use krill_client::options::Options;
|
||||
use krill_client::report::ReportFormat;
|
||||
|
||||
fn main() {
|
||||
match Options::from_args() {
|
||||
@@ -1,11 +1,11 @@
|
||||
use std::path::PathBuf;
|
||||
use std::str::FromStr;
|
||||
use clap::{App, Arg, SubCommand};
|
||||
use rpki::uri;
|
||||
use crate::krillc::report::{
|
||||
use crate::report::{
|
||||
ReportFormat,
|
||||
ReportError
|
||||
};
|
||||
use std::path::PathBuf;
|
||||
|
||||
/// This type holds all the necessary data to connect to a Krill daemon, and
|
||||
/// authenticate, and perform a specific action. Note that this is extracted
|
||||
@@ -0,0 +1,48 @@
|
||||
[package]
|
||||
name = "krill_daemon"
|
||||
version = "0.2.0"
|
||||
authors = ["Tim Bruijnzeels <tim@nlnetlabs.nl>", "Martin Hoffmann <martin@nlnetlabs.nl>"]
|
||||
build = "build-ui.rs"
|
||||
|
||||
[dependencies]
|
||||
actix = "^0.7"
|
||||
actix-web = { version = "^0.7", features = ["alpn"] }
|
||||
base64 = "^0.9"
|
||||
bcder = "^0.2"
|
||||
bytes = "^0.4"
|
||||
chrono = { version = "^0.4", features = ["serde"] }
|
||||
clap = "^2.32"
|
||||
derive_more = "^0.13"
|
||||
fern = "^0.5"
|
||||
futures = "0.1"
|
||||
hex = "^0.3"
|
||||
krill_commons = "^0.2"
|
||||
krill_cms_proxy = "^0.2"
|
||||
lazy_static = "^1.1"
|
||||
log = "^0.4"
|
||||
openssl = { version = "^0.10", features = ["v110"] }
|
||||
pretty = "0.5.2"
|
||||
rand = "^0.5"
|
||||
reqwest = "^0.9"
|
||||
rpki = "^0.3"
|
||||
serde = { version = "^1.0", features = ["rc"] }
|
||||
serde_derive = "^1.0"
|
||||
serde_json = "^1.0"
|
||||
syslog = "^4.0"
|
||||
toml = "^0.4"
|
||||
tokio = "^0.1"
|
||||
uuid = "0.7"
|
||||
xml-rs = "0.8.0"
|
||||
|
||||
|
||||
[dependencies.krill_client]
|
||||
path = "../client"
|
||||
version = "0.2.0"
|
||||
|
||||
[dependencies.krill_pubc]
|
||||
path = "../pubc"
|
||||
version = "0.2.0"
|
||||
|
||||
[dependencies.krill_pubd]
|
||||
path = "../pubd"
|
||||
version = "0.2.0"
|
||||
@@ -5,4 +5,6 @@ if [ ! -d "node_modules" ]; then
|
||||
npm install
|
||||
fi
|
||||
|
||||
yarn run build
|
||||
if [ ! -d "ui/dist" ]; then
|
||||
yarn run build
|
||||
fi
|
||||
@@ -2,5 +2,6 @@ use std::process::Command;
|
||||
|
||||
#[allow(dead_code)]
|
||||
fn main() {
|
||||
println!("cargo:rerun-if-changed=ui/dev");
|
||||
Command::new("./build-dist.sh").status().unwrap();
|
||||
}
|
||||
@@ -4,7 +4,7 @@ use actix_web::{Form, HttpResponse, HttpRequest, Result};
|
||||
use actix_web::http::HeaderMap;
|
||||
use actix_web::middleware::{Middleware, Started};
|
||||
use actix_web::middleware::identity::RequestIdentity;
|
||||
use crate::krilld::krillserver::KrillServer;
|
||||
use crate::krillserver::KrillServer;
|
||||
|
||||
|
||||
const ADMIN_API_PATH: &str = "/api/";
|
||||
@@ -1,7 +1,7 @@
|
||||
extern crate krill;
|
||||
extern crate krill_daemon;
|
||||
|
||||
use krill::krilld::config::Config;
|
||||
use krill::krilld::http::server::PubServerApp;
|
||||
use krill_daemon::config::Config;
|
||||
use krill_daemon::http::server::PubServerApp;
|
||||
|
||||
fn main() {
|
||||
match Config::create() {
|
||||
@@ -12,7 +12,7 @@ use serde::de;
|
||||
use serde::{Deserialize, Deserializer};
|
||||
use toml;
|
||||
use krill_commons::util::ext_serde;
|
||||
use crate::krilld::http::ssl;
|
||||
use crate::http::ssl;
|
||||
|
||||
const SERVER_NAME: &str = "Krill";
|
||||
|
||||
@@ -190,7 +190,7 @@ impl Config {
|
||||
.long("config")
|
||||
.value_name("FILE")
|
||||
.help("Specify non-default config file. If no file is \
|
||||
specified './defaults/krill.conf' will be used to \
|
||||
specified './daemon/defaults/krill.conf' will be used to \
|
||||
determine default values for all settings. Note that you \
|
||||
can use any of the following options to override any of \
|
||||
these values..")
|
||||
@@ -198,7 +198,7 @@ impl Config {
|
||||
.get_matches();
|
||||
|
||||
let config_file = matches.value_of("config")
|
||||
.unwrap_or("./defaults/krill.conf");
|
||||
.unwrap_or("./daemon/defaults/krill.conf");
|
||||
|
||||
let c = Self::read_config(config_file)?;
|
||||
c.init_logging()?;
|
||||
@@ -8,11 +8,10 @@ use krill_cms_proxy::sigmsg::SignedMessage;
|
||||
use krill_commons::api::{admin, publication, ErrorResponse, ErrorCode};
|
||||
use krill_commons::api::admin::PublisherHandle;
|
||||
use krill_commons::api::rrdp::VerificationError;
|
||||
use crate::krilld::http::server::HttpRequest;
|
||||
use crate::krilld::krillserver::{self, KrillServer};
|
||||
use crate::krilld::pubd;
|
||||
use crate::krilld::pubd::publishers::PublisherError;
|
||||
use crate::krilld::pubd::repo::RrdpServerError;
|
||||
use krill_pubd::publishers::PublisherError;
|
||||
use krill_pubd::repo::RrdpServerError;
|
||||
use crate::http::server::HttpRequest;
|
||||
use crate::krillserver::{self, KrillServer};
|
||||
|
||||
|
||||
//------------ Support Functions ---------------------------------------------
|
||||
@@ -260,18 +259,18 @@ impl ErrorToStatus for krillserver::Error {
|
||||
}
|
||||
}
|
||||
|
||||
impl ErrorToStatus for pubd::Error {
|
||||
impl ErrorToStatus for krill_pubd::Error {
|
||||
fn status(&self) -> StatusCode {
|
||||
match self {
|
||||
pubd::Error::IoError(_) => StatusCode::INTERNAL_SERVER_ERROR,
|
||||
pubd::Error::InvalidBaseUri => StatusCode::BAD_REQUEST,
|
||||
pubd::Error::InvalidHandle(_) => StatusCode::BAD_REQUEST,
|
||||
pubd::Error::DuplicatePublisher(_) => StatusCode::BAD_REQUEST,
|
||||
pubd::Error::UnknownPublisher(_) => StatusCode::FORBIDDEN,
|
||||
pubd::Error::ConcurrentModification(_, _) => StatusCode::BAD_REQUEST,
|
||||
pubd::Error::PublisherError(e) => e.status(),
|
||||
pubd::Error::RrdpServerError(e) => e.status(),
|
||||
pubd::Error::AggregateStoreError(_) => StatusCode::INTERNAL_SERVER_ERROR,
|
||||
krill_pubd::Error::IoError(_) => StatusCode::INTERNAL_SERVER_ERROR,
|
||||
krill_pubd::Error::InvalidBaseUri => StatusCode::BAD_REQUEST,
|
||||
krill_pubd::Error::InvalidHandle(_) => StatusCode::BAD_REQUEST,
|
||||
krill_pubd::Error::DuplicatePublisher(_) => StatusCode::BAD_REQUEST,
|
||||
krill_pubd::Error::UnknownPublisher(_) => StatusCode::FORBIDDEN,
|
||||
krill_pubd::Error::ConcurrentModification(_, _) => StatusCode::BAD_REQUEST,
|
||||
krill_pubd::Error::PublisherError(e) => e.status(),
|
||||
krill_pubd::Error::RrdpServerError(e) => e.status(),
|
||||
krill_pubd::Error::AggregateStoreError(_) => StatusCode::INTERNAL_SERVER_ERROR,
|
||||
}
|
||||
}
|
||||
|
||||
@@ -316,18 +315,18 @@ impl ToErrorCode for krillserver::Error {
|
||||
}
|
||||
}
|
||||
|
||||
impl ToErrorCode for pubd::Error {
|
||||
impl ToErrorCode for krill_pubd::Error {
|
||||
fn code(&self) -> ErrorCode {
|
||||
match self {
|
||||
pubd::Error::IoError(_) => ErrorCode::Persistence,
|
||||
pubd::Error::InvalidBaseUri => ErrorCode::InvalidBaseUri,
|
||||
pubd::Error::InvalidHandle(_) => ErrorCode::InvalidHandle,
|
||||
pubd::Error::DuplicatePublisher(_) => ErrorCode::DuplicateHandle,
|
||||
pubd::Error::UnknownPublisher(_) => ErrorCode::UnknownPublisher,
|
||||
pubd::Error::ConcurrentModification(_, _) => ErrorCode::ConcurrentModification,
|
||||
pubd::Error::PublisherError(e) => e.code(),
|
||||
pubd::Error::RrdpServerError(e) => e.code(),
|
||||
pubd::Error::AggregateStoreError(_) => ErrorCode::Persistence,
|
||||
krill_pubd::Error::IoError(_) => ErrorCode::Persistence,
|
||||
krill_pubd::Error::InvalidBaseUri => ErrorCode::InvalidBaseUri,
|
||||
krill_pubd::Error::InvalidHandle(_) => ErrorCode::InvalidHandle,
|
||||
krill_pubd::Error::DuplicatePublisher(_) => ErrorCode::DuplicateHandle,
|
||||
krill_pubd::Error::UnknownPublisher(_) => ErrorCode::UnknownPublisher,
|
||||
krill_pubd::Error::ConcurrentModification(_, _) => ErrorCode::ConcurrentModification,
|
||||
krill_pubd::Error::PublisherError(e) => e.code(),
|
||||
krill_pubd::Error::RrdpServerError(e) => e.code(),
|
||||
krill_pubd::Error::AggregateStoreError(_) => ErrorCode::Persistence,
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -14,18 +14,17 @@ use actix_web::middleware::identity::CookieIdentityPolicy;
|
||||
use actix_web::middleware::identity::IdentityService;
|
||||
use actix_web::http::{Method, StatusCode};
|
||||
use bcder::decode;
|
||||
use openssl::ssl::{SslMethod, SslAcceptor, SslAcceptorBuilder, SslFiletype};
|
||||
use crate::krilld::auth;
|
||||
use crate::krilld::auth::{Authorizer, CheckAuthorisation, Credentials};
|
||||
use crate::krilld::config::Config;
|
||||
use crate::krilld::endpoints;
|
||||
use crate::krilld::http::ssl;
|
||||
use crate::krilld::krillserver;
|
||||
use crate::krilld::krillserver::KrillServer;
|
||||
use futures::Future;
|
||||
use openssl::ssl::{SslMethod, SslAcceptor, SslAcceptorBuilder, SslFiletype};
|
||||
use crate::auth::{self, Authorizer, CheckAuthorisation, Credentials};
|
||||
use crate::config::Config;
|
||||
use crate::endpoints;
|
||||
use crate::http::ssl;
|
||||
use crate::krillserver;
|
||||
use crate::krillserver::KrillServer;
|
||||
|
||||
const LOGIN: &[u8] = include_bytes!("../../../ui/dev/html/login.html");
|
||||
const NOT_FOUND: &[u8] = include_bytes!("../../../ui/public/404.html");
|
||||
const LOGIN: &[u8] = include_bytes!("../../ui/dev/html/login.html");
|
||||
const NOT_FOUND: &[u8] = include_bytes!("../../ui/public/404.html");
|
||||
|
||||
//------------ PubServerApp --------------------------------------------------
|
||||
|
||||
@@ -7,15 +7,14 @@ use rpki::uri;
|
||||
use krill_commons::api::publication;
|
||||
use krill_commons::api::admin;
|
||||
use krill_commons::api::admin::PublisherHandle;
|
||||
use crate::krilld::auth::Authorizer;
|
||||
use crate::krilld::pubd::PubServer;
|
||||
use crate::krilld::pubd;
|
||||
use crate::krilld::pubd::publishers::Publisher;
|
||||
use krill_cms_proxy::api::{ClientInfo, ClientHandle};
|
||||
use krill_cms_proxy::proxy;
|
||||
use krill_cms_proxy::proxy::ProxyServer;
|
||||
use krill_cms_proxy::rfc8183::RepositoryResponse;
|
||||
use krill_cms_proxy::sigmsg::SignedMessage;
|
||||
use krill_pubd::PubServer;
|
||||
use krill_pubd::publishers::Publisher;
|
||||
use crate::auth::Authorizer;
|
||||
|
||||
|
||||
//------------ KrillServer ---------------------------------------------------
|
||||
@@ -70,6 +69,7 @@ impl KrillServer {
|
||||
work_dir
|
||||
).map_err(Error::PubServer)?;
|
||||
|
||||
|
||||
let proxy_server = ProxyServer::init(
|
||||
work_dir, &service_uri
|
||||
)?;
|
||||
@@ -242,7 +242,7 @@ pub enum Error {
|
||||
IoError(io::Error),
|
||||
|
||||
#[display(fmt="{}", _0)]
|
||||
PubServer(pubd::Error),
|
||||
PubServer(krill_pubd::Error),
|
||||
|
||||
#[display(fmt="{}", _0)]
|
||||
ProxyServer(proxy::Error),
|
||||
@@ -252,8 +252,8 @@ impl From<io::Error> for Error {
|
||||
fn from(e: io::Error) -> Self { Error::IoError(e) }
|
||||
}
|
||||
|
||||
impl From<pubd::Error> for Error {
|
||||
fn from(e: pubd::Error) -> Self { Error::PubServer(e) }
|
||||
impl From<krill_pubd::Error> for Error {
|
||||
fn from(e: krill_pubd::Error) -> Self { Error::PubServer(e) }
|
||||
}
|
||||
|
||||
impl From<proxy::Error> for Error {
|
||||
@@ -10,7 +10,6 @@ extern crate core;
|
||||
extern crate futures;
|
||||
extern crate hex;
|
||||
extern crate openssl;
|
||||
extern crate krill_commons;
|
||||
#[macro_use] extern crate log;
|
||||
extern crate rand;
|
||||
extern crate reqwest;
|
||||
@@ -23,8 +22,16 @@ extern crate tokio;
|
||||
extern crate toml;
|
||||
extern crate uuid;
|
||||
extern crate xml as xmlrs;
|
||||
extern crate krill_cms_proxy;
|
||||
|
||||
pub mod krillc;
|
||||
pub mod krilld;
|
||||
pub mod pubc;
|
||||
extern crate krill_commons;
|
||||
extern crate krill_cms_proxy;
|
||||
extern crate krill_pubc;
|
||||
extern crate krill_pubd;
|
||||
|
||||
pub mod auth;
|
||||
pub mod config;
|
||||
pub mod endpoints;
|
||||
pub mod krillserver;
|
||||
pub mod http;
|
||||
|
||||
|
||||
@@ -2,21 +2,22 @@ extern crate actix;
|
||||
extern crate futures;
|
||||
extern crate reqwest;
|
||||
extern crate rpki;
|
||||
extern crate krill;
|
||||
extern crate krill_commons;
|
||||
extern crate krill_client;
|
||||
extern crate krill_daemon;
|
||||
extern crate serde_json;
|
||||
extern crate tokio;
|
||||
extern crate bytes;
|
||||
|
||||
use std::{thread, time};
|
||||
use actix::System;
|
||||
use krill::krillc::options::{AddPublisher, Command, Options, PublishersCommand};
|
||||
use krill::krillc::KrillClient;
|
||||
use krill::krilld::config::Config;
|
||||
use krill::krilld::http::server::PubServerApp;
|
||||
use krill::krillc::report::ApiResponse;
|
||||
use krill::krillc::report::ReportFormat;
|
||||
use krill_client::options::{AddPublisher, Command, Options, PublishersCommand};
|
||||
use krill_client::KrillClient;
|
||||
use krill_client::report::ApiResponse;
|
||||
use krill_client::report::ReportFormat;
|
||||
use krill_commons::util::test;
|
||||
use krill_daemon::config::Config;
|
||||
use krill_daemon::http::server::PubServerApp;
|
||||
|
||||
fn execute_krillc_command(command: Command) -> ApiResponse {
|
||||
let krillc_opts = Options::new(
|
||||
@@ -91,7 +92,7 @@ fn admin_publishers() {
|
||||
});
|
||||
|
||||
// XXX TODO: Find a better way to know the server is ready!
|
||||
thread::sleep(time::Duration::from_millis(500));
|
||||
thread::sleep(time::Duration::from_millis(5000));
|
||||
|
||||
// Add client "alice"
|
||||
add_publisher(handle, base_rsync_uri_alice, token);
|
||||
@@ -2,34 +2,36 @@ extern crate actix;
|
||||
extern crate futures;
|
||||
extern crate reqwest;
|
||||
extern crate rpki;
|
||||
extern crate krill;
|
||||
extern crate krill_commons;
|
||||
extern crate serde_json;
|
||||
extern crate tokio;
|
||||
extern crate bytes;
|
||||
extern crate toml;
|
||||
|
||||
extern crate krill_client;
|
||||
extern crate krill_cms_proxy;
|
||||
extern crate krill_commons;
|
||||
extern crate krill_daemon;
|
||||
extern crate krill_pubc;
|
||||
|
||||
use std::{thread, time};
|
||||
use std::collections::HashSet;
|
||||
use std::path::PathBuf;
|
||||
use actix::System;
|
||||
use krill::krillc::KrillClient;
|
||||
use krill::krillc::options::{AddPublisher, Command, Options, PublishersCommand, Rfc8181Command, AddRfc8181Client};
|
||||
use krill::krillc::report::ReportFormat;
|
||||
use krill::krilld::config::Config;
|
||||
use krill::krilld::http::server::PubServerApp;
|
||||
use krill::pubc;
|
||||
use krill::pubc::{ApiResponse, Format};
|
||||
use krill::pubc::apiclient;
|
||||
use krill::pubc::cmsclient;
|
||||
use krill::pubc::cmsclient::PubClient;
|
||||
use krill_client::KrillClient;
|
||||
use krill_client::options::{AddPublisher, Command, Options, PublishersCommand, Rfc8181Command, AddRfc8181Client};
|
||||
use krill_client::report::ReportFormat;
|
||||
use krill_cms_proxy::rfc8183::RepositoryResponse;
|
||||
use krill_commons::util::file::CurrentFile;
|
||||
use krill_commons::util::file;
|
||||
use krill_commons::util::httpclient;
|
||||
use krill_commons::util::test;
|
||||
use krill_commons::api::publication::ListReply;
|
||||
use krill_daemon::config::Config;
|
||||
use krill_daemon::http::server::PubServerApp;
|
||||
use krill_pubc::{ApiResponse, Format};
|
||||
use krill_pubc::apiclient;
|
||||
use krill_pubc::cmsclient;
|
||||
use krill_pubc::cmsclient::PubClient;
|
||||
|
||||
fn list(server_uri: &str, handle: &str, token: &str) -> apiclient::Options {
|
||||
let conn = apiclient::Connection::build(server_uri, handle, token).unwrap();
|
||||
@@ -128,7 +130,7 @@ fn rfc8181_client_sync(state_dir: &PathBuf, sync_dir: &PathBuf) {
|
||||
}
|
||||
|
||||
fn rfc8181_client_process_command(command: cmsclient::Command, state_dir: &PathBuf) -> ApiResponse {
|
||||
let options = cmsclient::Options::new(state_dir.clone(), command, pubc::Format::None);
|
||||
let options = cmsclient::Options::new(state_dir.clone(), command, Format::None);
|
||||
PubClient::execute(options).unwrap()
|
||||
}
|
||||
|
||||
@@ -2,26 +2,27 @@ extern crate actix;
|
||||
extern crate futures;
|
||||
extern crate reqwest;
|
||||
extern crate rpki;
|
||||
extern crate krill;
|
||||
extern crate krill_client;
|
||||
extern crate krill_commons;
|
||||
extern crate krill_daemon;
|
||||
extern crate serde_json;
|
||||
extern crate tokio;
|
||||
extern crate bytes;
|
||||
|
||||
use std::{thread, time};
|
||||
use actix::System;
|
||||
use krill::krilld::config::Config;
|
||||
use krill::krilld::http::server::PubServerApp;
|
||||
use krill::krillc::KrillClient;
|
||||
use krill::krillc::options::{
|
||||
use krill_client::KrillClient;
|
||||
use krill_client::options::{
|
||||
Command,
|
||||
Options
|
||||
};
|
||||
use krill::krillc::report::{
|
||||
use krill_client::report::{
|
||||
ApiResponse,
|
||||
ReportFormat
|
||||
};
|
||||
use krill_commons::util::test;
|
||||
use krill_daemon::config::Config;
|
||||
use krill_daemon::http::server::PubServerApp;
|
||||
|
||||
/// Tests that the server can be started and a health check can be done
|
||||
/// through the CLI
|
||||
|
Before Width: | Height: | Size: 5.4 KiB After Width: | Height: | Size: 5.4 KiB |
|
Before Width: | Height: | Size: 21 KiB After Width: | Height: | Size: 21 KiB |
@@ -0,0 +1,15 @@
|
||||
[package]
|
||||
name = "krill_pubc"
|
||||
version = "0.2.0"
|
||||
authors = ["Tim Bruijnzeels <tim@nlnetlabs.nl>", "Martin Hoffmann <martin@nlnetlabs.nl>"]
|
||||
|
||||
[dependencies]
|
||||
clap = "^2.32"
|
||||
derive_more = "^0.13"
|
||||
krill_commons = "^0.2"
|
||||
krill_cms_proxy = "^0.2"
|
||||
rpki = "^0.3"
|
||||
serde = { version = "^1.0", features = ["rc"] }
|
||||
serde_derive = "^1.0"
|
||||
serde_json = "^1.0"
|
||||
|
||||
@@ -5,9 +5,7 @@ use clap::{App, Arg, SubCommand};
|
||||
use rpki::uri;
|
||||
use krill_commons::api::publication;
|
||||
use krill_commons::util::{httpclient, file};
|
||||
use crate::pubc;
|
||||
use crate::pubc::{Format, ApiResponse};
|
||||
|
||||
use crate::{create_delta, ApiResponse, Format};
|
||||
|
||||
//------------ Command -------------------------------------------------------
|
||||
|
||||
@@ -204,7 +202,7 @@ fn sync(
|
||||
base_rsync: &uri::Rsync
|
||||
) -> Result<ApiResponse, Error> {
|
||||
let list_reply = list_query(connection)?;
|
||||
let delta = pubc::create_delta(
|
||||
let delta = create_delta(
|
||||
&list_reply,
|
||||
dir,
|
||||
base_rsync
|
||||
@@ -1,7 +1,7 @@
|
||||
//! Command line client for the publication server. Uses the api.
|
||||
extern crate krill;
|
||||
extern crate krill_pubc;
|
||||
|
||||
use krill::pubc::apiclient;
|
||||
use krill_pubc::apiclient;
|
||||
|
||||
fn main() {
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
//! Command line client for the publication server. Uses the api.
|
||||
extern crate krill;
|
||||
extern crate krill_pubc;
|
||||
|
||||
use krill::pubc::cmsclient;
|
||||
use krill::pubc::cmsclient::PubClient;
|
||||
use krill_pubc::cmsclient;
|
||||
use krill_pubc::cmsclient::PubClient;
|
||||
|
||||
fn main() {
|
||||
|
||||
@@ -11,8 +11,7 @@ use krill_cms_proxy::rfc8183;
|
||||
use krill_cms_proxy::rfc8183::RepositoryResponse;
|
||||
use krill_cms_proxy::id::{MyIdentity, ParentInfo, MyRepoInfo};
|
||||
use krill_cms_proxy::proxy::{ClientProxy, ClientError};
|
||||
use crate::pubc::{ApiResponse, Format};
|
||||
use pubc;
|
||||
use crate::{create_delta, ApiResponse, Format};
|
||||
|
||||
#[derive(Debug, Deserialize, Eq, PartialEq)]
|
||||
pub enum Command {
|
||||
@@ -154,7 +153,7 @@ impl PubClient {
|
||||
let repo = self.my_repo()?;
|
||||
|
||||
let list_reply = self.list()?;
|
||||
let delta = pubc::create_delta(
|
||||
let delta = create_delta(
|
||||
&list_reply,
|
||||
dir,
|
||||
repo.sia_base()
|
||||
@@ -344,9 +343,6 @@ pub enum OptionsError {
|
||||
#[display(fmt="{}", _0)]
|
||||
IoError(io::Error),
|
||||
|
||||
#[display(fmt="{}", _0)]
|
||||
TomlError(toml::de::Error),
|
||||
|
||||
#[display(fmt="Unsupported output format. Use text, json or none.")]
|
||||
UnsupportedOutputFormat,
|
||||
}
|
||||
@@ -357,12 +353,6 @@ impl From<io::Error> for OptionsError {
|
||||
}
|
||||
}
|
||||
|
||||
impl From<toml::de::Error> for OptionsError {
|
||||
fn from(e: toml::de::Error) -> Self {
|
||||
OptionsError::TomlError(e)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//------------ Error ---------------------------------------------------------
|
||||
|
||||
@@ -1,3 +1,11 @@
|
||||
extern crate clap;
|
||||
#[macro_use] extern crate derive_more;
|
||||
extern crate rpki;
|
||||
extern crate serde;
|
||||
#[macro_use] extern crate serde_derive;
|
||||
extern crate krill_cms_proxy;
|
||||
extern crate krill_commons;
|
||||
|
||||
pub mod apiclient;
|
||||
pub mod cmsclient;
|
||||
|
||||
@@ -0,0 +1,13 @@
|
||||
[package]
|
||||
name = "krill_pubd"
|
||||
version = "0.2.0"
|
||||
authors = ["Tim Bruijnzeels <tim@nlnetlabs.nl>", "Martin Hoffmann <martin@nlnetlabs.nl>"]
|
||||
|
||||
[dependencies]
|
||||
bytes = "^0.4"
|
||||
derive_more = "^0.13"
|
||||
krill_commons = "^0.2"
|
||||
rand = "^0.5"
|
||||
rpki = "^0.3"
|
||||
serde = { version = "^1.0", features = ["rc"] }
|
||||
serde_derive = "^1.0"
|
||||
@@ -0,0 +1,15 @@
|
||||
extern crate bytes;
|
||||
#[macro_use] extern crate derive_more;
|
||||
extern crate rand;
|
||||
extern crate rpki;
|
||||
extern crate serde;
|
||||
#[macro_use] extern crate serde_derive;
|
||||
extern crate krill_commons;
|
||||
|
||||
pub mod publishers;
|
||||
pub mod repo;
|
||||
|
||||
mod pubserver;
|
||||
pub use pubserver::PubServer;
|
||||
pub use pubserver::Error;
|
||||
|
||||
@@ -1,6 +1,3 @@
|
||||
pub mod publishers;
|
||||
pub mod repo;
|
||||
|
||||
use std::io;
|
||||
use std::path::PathBuf;
|
||||
use std::sync::Arc;
|
||||
@@ -18,22 +15,23 @@ use krill_commons::eventsourcing::{
|
||||
Command,
|
||||
DiskAggregateStore,
|
||||
};
|
||||
use crate::krilld::pubd::repo::{
|
||||
RetentionTime,
|
||||
RrdpServer,
|
||||
RrdpServerError,
|
||||
RsyncdStore,
|
||||
};
|
||||
use crate::krilld::pubd::publishers::{
|
||||
use crate::publishers::{
|
||||
Publisher,
|
||||
PublisherCommand,
|
||||
PublisherCommandDetails,
|
||||
PublisherError,
|
||||
PublisherEventDetails,
|
||||
InitPublisherDetails
|
||||
};
|
||||
use crate::krilld::pubd::repo::RrdpInitDetails;
|
||||
use crate::krilld::pubd::publishers::PublisherCommandDetails;
|
||||
use crate::krilld::pubd::repo::RrdpCommandDetails;
|
||||
use crate::repo::{
|
||||
self,
|
||||
RetentionTime,
|
||||
RrdpCommandDetails,
|
||||
RrdpInitDetails,
|
||||
RrdpServer,
|
||||
RrdpServerError,
|
||||
RsyncdStore,
|
||||
};
|
||||
|
||||
|
||||
//------------ PubServer -----------------------------------------------------
|
||||
@@ -1,6 +0,0 @@
|
||||
pub mod http;
|
||||
pub mod pubd;
|
||||
pub mod auth;
|
||||
pub mod config;
|
||||
pub mod endpoints;
|
||||
pub mod krillserver;
|
||||
Binary file not shown.
@@ -1,25 +0,0 @@
|
||||
<publisher_request
|
||||
xmlns="http://www.hactrn.net/uris/rpki/rpki-setup/"
|
||||
version="1"
|
||||
tag="A0001"
|
||||
publisher_handle="Bob">
|
||||
<publisher_bpki_ta>
|
||||
MIIDIDCCAgigAwIBAgIBATANBgkqhkiG9w0BAQsFADApMScwJQYDVQQDEx5Cb2Ig
|
||||
QlBLSSBSZXNvdXJjZSBUcnVzdCBBbmNob3IwHhcNMTEwNzAxMDQwNzIzWhcNMTIw
|
||||
NjMwMDQwNzIzWjApMScwJQYDVQQDEx5Cb2IgQlBLSSBSZXNvdXJjZSBUcnVzdCBB
|
||||
bmNob3IwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDEk1f7cVzHu3r/
|
||||
fJ5gkBxnWMNJ1CP0kPtfP8oFOEVVH1lX0MHuFKhdKA4WCkGkeFtGb/4T/nGgsD+z
|
||||
exZid6RR8zjHkwMLvAl0x6wdKa46XJbFu+wTSu+vlowVY9rGzH+ttv4Fj6E2Y3DG
|
||||
983/dVNJfXl00+Ts7rlvVcn9lI5dWvzsLoUOdhD4hsyKp53k8i4HexiD+0ugPeh9
|
||||
4PKiyZOuMjSRNQSBUA3ElqJSRZz7nWvs/j6zhwHdFa+lN56575Mc5mrwr+KePwW5
|
||||
DLt3izYpjwKffVuxUKPTrhvnOOg5kBBv0ihync21LSLds6jusxaMYUwUElO8KQyn
|
||||
NUAeGPd/AgMBAAGjUzBRMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFORFOC3G
|
||||
PjYKn7V1/BJHDmZ4W7J+MB8GA1UdIwQYMBaAFORFOC3GPjYKn7V1/BJHDmZ4W7J+
|
||||
MA0GCSqGSIb3DQEBCwUAA4IBAQBqsP4ENtWTkNdsekYB+4hO/Afq20Ho0W8lyTkM
|
||||
JO1UFDt/dzFAmTT4uM7pmwuQfqmCYjNDWon8nsdFno4tA0is3aiq6yIMAYzBE5ub
|
||||
bnJMxldqLoWuakco1wYa3kZFzWPwecxgJ4ZlqTPGu0Loyjibt25IE9MfixyWDw+D
|
||||
MhyfonLLgFb5jz7A3BTE63vlTp359uDbFb1nRdyoT31s3FUBK8jF4B5pWzPiLdct
|
||||
bOMVjYUBs8aFC3fDXyGSr/RcjE4OOZQyTkYZn8zCPUJ4KqOPAUV9u9jx2FPvOcA3
|
||||
1BjcmhYHqott+cnK1ITOjLe9EKejRZv/7/BFsmpzm2Zbq1KA
|
||||
</publisher_bpki_ta>
|
||||
</publisher_request>
|
||||
@@ -1,28 +0,0 @@
|
||||
<repository_response
|
||||
xmlns="http://www.hactrn.net/uris/rpki/rpki-setup/"
|
||||
version="1"
|
||||
tag="A0001"
|
||||
service_uri="http://a.example/publication/Alice/Bob-42"
|
||||
publisher_handle="Alice/Bob-42"
|
||||
sia_base="rsync://a.example/rpki/Alice/Bob-42/"
|
||||
rrdp_notification_uri="https://rpki.example/rrdp/notify.xml">
|
||||
<repository_bpki_ta>
|
||||
MIIDJDCCAgygAwIBAgIBATANBgkqhkiG9w0BAQsFADArMSkwJwYDVQQDEyBBbGlj
|
||||
ZSBCUEtJIFJlc291cmNlIFRydXN0IEFuY2hvcjAeFw0xMTA3MDEwNDA3MTlaFw0x
|
||||
MjA2MzAwNDA3MTlaMCsxKTAnBgNVBAMTIEFsaWNlIEJQS0kgUmVzb3VyY2UgVHJ1
|
||||
c3QgQW5jaG9yMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA0nVOC7Ik
|
||||
bc9D3lNPspAp96LEmxqhfWcF70wOk8MHX2skMoHYa3UsyTMOJR4Pv+DRieLbPI8E
|
||||
ExrLZRqTrY4+OKRG5sekk3zeIc40g4p8jw6aPxlPUFvJAQdsW+iOYljaPhgWMiGH
|
||||
Qm2ZfsXUlvr8XtmkryGbzcaJy2CaAnUi5dwUmpMx7GEcUz+LpJ6tfyB1aF1CpnBm
|
||||
pvOhIl+Tlk55Zpo2Nn1Ty0TiTX40fK/ToKZn+/5LkRBKXjGUSWlMyWBVJZVCHo/Z
|
||||
PLtPbjUr0gczIYp24q4GxmAHbK12GT/4vGdnQCyadKBDF4Kv0BP6TFf+BP3aE2P7
|
||||
biQa919zuZzfCQIDAQABo1MwUTAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBQj
|
||||
tovHYOZzUno6MsFjYyKdJZf3NDAfBgNVHSMEGDAWgBQjtovHYOZzUno6MsFjYyKd
|
||||
JZf3NDANBgkqhkiG9w0BAQsFAAOCAQEApkybLXSqUGFf6TxVz+AXVbMtTr22tUJ+
|
||||
nMocs6lDsyXt2QC/ef3iPTECfJXJrWxCF3PaAWcjV/QQVw3Z2BqblHPmNPM0DxhJ
|
||||
OBv065L041zZla4163XSzEzRHJn+99E9jPs15w7if2A1m2XH2W2gg3aSMBSqZXcM
|
||||
6Z+W6XsH0dx5c10YspJBSXRls7SsKRpS30fCs2+jSYA0AWvxCTfCNmVf6ssMmAyr
|
||||
6Ynrt3fS0MpprBPxJF3KWveHLhaUxLYefSsnsV6o3nfZYwyDlo9m7t3IQCg+Yg7k
|
||||
FO2iB8/TDRIdP6bpBvpVrQ13FvWqC6CglZ0fbFRNklotIVxcP1cuNw==
|
||||
</repository_bpki_ta>
|
||||
</repository_response>
|
||||
@@ -1,11 +0,0 @@
|
||||
<msg xmlns="http://www.hactrn.net/uris/rpki/publication-spec/" version="4" type="reply">
|
||||
<report_error error_code="object_already_present" tag="fae1c03bde9da15e26e90a9585d246ee4db79ee9f0b1db1a6c7deb2fc4e2d093">
|
||||
<error_text>An object is already present at this URI, yet a "hash" attribute was not specified.</error_text>
|
||||
<failed_pdu>
|
||||
<publish tag="fae1c03bde9da15e26e90a9585d246ee4db79ee9f0b1db1a6c7deb2fc4e2d093" uri="rsync://host/path/cms-ta.cer">MIIDJDCCAgygAwIBAgIBATANBgkqhkiG9w0BAQsFADArMSkwJwYDVQQDEyBDYXJvbCBCUEtJIFJlc291cmNlIFRydXN0IEFuY2hvcjAeFw0xMTA3MDEwNDA3MjRaFw0xMjA2MzAwNDA3MjRaMCsxKTAnBgNVBAMTIENhcm9sIEJQS0kgUmVzb3VyY2UgVHJ1c3QgQW5jaG9yMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAtF0MUjZ88c7YvY72T//02NUs00BE8dDaP9Yp2ByePrcy7ceJBQbL22LKDN6bASXlth+xxQjNUYeua7IwhlFX9HvcCWcClg2hR0Bqa1v4o5jitRL1COdJCvvQcg2B5p7uC74dh9e+w88z7X6u1NqZJS91Xw1GBt/Vi3xNwtlDchfcXcdGGcMObAksfQY9KrddWPfINmz0Cqx5M98BVHgUV1RJdFNBV91WTH2L7wOxW+hyo0CkvCxIfNZLlnL/nn7+OTEUFREVCU8YZz6semjzLb5q1qV46zoI5AmDB2JyddG+zPCqKbEmNWUCza4BYRRZDB/q2Z3T2p4fGV7R8jEJnQIDAQABo1MwUTAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTrAyu8b8iL0rApak4gUWaHyNjcCTAfBgNVHSMEGDAWgBTrAyu8b8iL0rApak4gUWaHyNjcCTANBgkqhkiG9w0BAQsFAAOCAQEAbrmv72xzD+2zJnZwRrX9NsbKMBu6sEtpyMIND9RduU09yK2KDZLyJ07J1UmIgzaQjcy8Lk6tbveaSOGgu4Nr8Sl0P/YZg83jvmOIa4PXJT7YSrQ9son98akGZf6dEnDhX/S15z+WpCAyuUY8Zgpq6JRSsRrn2eOlzVmf9sE9tFCC8ozSwiGTcyILf1sORqMClhebRenE1GNWJ7Pabe7NkvoN5guMVO5h0lSfHnuxQGutxd2BvD6nOC5lqQMmuPIE47yAN7PNPbwlMl32nUDkUrESCYJ2luFSg3PASHSsHw2Tg/azHFrGcMMEbhIAHd1iOGOIlRjlJhkHLJZFTJOyZw==</publish>
|
||||
</failed_pdu>
|
||||
</report_error>
|
||||
<report_error error_code="other_error" tag="">
|
||||
<error_text>Found some other issue.</error_text>
|
||||
</report_error>
|
||||
</msg>
|
||||
@@ -1,3 +0,0 @@
|
||||
<msg xmlns="http://www.hactrn.net/uris/rpki/publication-spec/" version="4" type="query">
|
||||
<list />
|
||||
</msg>
|
||||
@@ -1,4 +0,0 @@
|
||||
<msg xmlns="http://www.hactrn.net/uris/rpki/publication-spec/" version="4" type="reply">
|
||||
<list hash="fae1c03bde9da15e26e90a9585d246ee4db79ee9f0b1db1a6c7deb2fc4e2d093" uri="rsync://host/path/cms-ta.cer" />
|
||||
<list hash="501655fb625a03520741801dcc71b5d3148cba2ef7106ca2762620c292c9f08d" uri="rsync://host/path/pdu.200.der" />
|
||||
</msg>
|
||||
@@ -1,5 +0,0 @@
|
||||
<msg xmlns="http://www.hactrn.net/uris/rpki/publication-spec/" version="4" type="query">
|
||||
<publish tag="fae1c03bde9da15e26e90a9585d246ee4db79ee9f0b1db1a6c7deb2fc4e2d093" uri="rsync://host/path/cms-ta.cer">MIIDJDCCAgygAwIBAgIBATANBgkqhkiG9w0BAQsFADArMSkwJwYDVQQDEyBDYXJvbCBCUEtJIFJlc291cmNlIFRydXN0IEFuY2hvcjAeFw0xMTA3MDEwNDA3MjRaFw0xMjA2MzAwNDA3MjRaMCsxKTAnBgNVBAMTIENhcm9sIEJQS0kgUmVzb3VyY2UgVHJ1c3QgQW5jaG9yMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAtF0MUjZ88c7YvY72T//02NUs00BE8dDaP9Yp2ByePrcy7ceJBQbL22LKDN6bASXlth+xxQjNUYeua7IwhlFX9HvcCWcClg2hR0Bqa1v4o5jitRL1COdJCvvQcg2B5p7uC74dh9e+w88z7X6u1NqZJS91Xw1GBt/Vi3xNwtlDchfcXcdGGcMObAksfQY9KrddWPfINmz0Cqx5M98BVHgUV1RJdFNBV91WTH2L7wOxW+hyo0CkvCxIfNZLlnL/nn7+OTEUFREVCU8YZz6semjzLb5q1qV46zoI5AmDB2JyddG+zPCqKbEmNWUCza4BYRRZDB/q2Z3T2p4fGV7R8jEJnQIDAQABo1MwUTAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTrAyu8b8iL0rApak4gUWaHyNjcCTAfBgNVHSMEGDAWgBTrAyu8b8iL0rApak4gUWaHyNjcCTANBgkqhkiG9w0BAQsFAAOCAQEAbrmv72xzD+2zJnZwRrX9NsbKMBu6sEtpyMIND9RduU09yK2KDZLyJ07J1UmIgzaQjcy8Lk6tbveaSOGgu4Nr8Sl0P/YZg83jvmOIa4PXJT7YSrQ9son98akGZf6dEnDhX/S15z+WpCAyuUY8Zgpq6JRSsRrn2eOlzVmf9sE9tFCC8ozSwiGTcyILf1sORqMClhebRenE1GNWJ7Pabe7NkvoN5guMVO5h0lSfHnuxQGutxd2BvD6nOC5lqQMmuPIE47yAN7PNPbwlMl32nUDkUrESCYJ2luFSg3PASHSsHw2Tg/azHFrGcMMEbhIAHd1iOGOIlRjlJhkHLJZFTJOyZw==</publish>
|
||||
<publish tag="501655fb625a03520741801dcc71b5d3148cba2ef7106ca2762620c292c9f08d" hash="fae1c03bde9da15e26e90a9585d246ee4db79ee9f0b1db1a6c7deb2fc4e2d093" uri="rsync://host/path/cms-ta.cer">MIIL9wYJKoZIhvcNAQcCoIIL6DCCC+QCAQMxDTALBglghkgBZQMEAgEwggVyBgsqhkiG9w0BCRABHKCCBWEEggVdPD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz4KPG1lc3NhZ2UgeG1sbnM9Imh0dHA6Ly93d3cuYXBuaWMubmV0L3NwZWNzL3Jlc2NlcnRzL3VwLWRvd24vIiB2ZXJzaW9uPSIxIiBzZW5kZXI9IkNhcm9sIiByZWNpcGllbnQ9IkJvYiIgdHlwZT0iaXNzdWUiPgogIDxyZXF1ZXN0IGNsYXNzX25hbWU9IjIiPgpNSUlEV0RDQ0FrQUNBUUF3TXpFeE1DOEdBMVVFQXhNb01qSTRRMFl3T1RNd09FVkVNVUUxUWpOQlJFUTNORGRECk5VSTJPVFk0UkRjd056TkNOVEk0TlRDQ0FTSXdEUVlKS29aSWh2Y05BUUVCQlFBRGdnRVBBRENDQVFvQ2dnRUIKQUx4aHl0Y0ppTlFhR2dER2NuUTc5QW9QTi9yc0FuRnJzTy9vQzJ1YmFxY1Q4bnFlMHhSblhCM0l1d3E5UklLcwp5UnA0OUpzWGxMNTl6b0o2QUJpWlU4bHQrNVRKa3YrcVJ2aWtSRklPZ2xqanRJNCtBM0Y2YlM0ZnJDbnYwZGN5CmQ2Z0dIZFVxNUx6T1ZnaE5tSldDN3RRbit6WGdRQk8xdVROb21kOEsvdk1ha3pIQ0FkSGZNUFNCZlMvNzhRZEcKVTJjR2xzbFNuWEhEYURReEhXanByVC9QaHhqL29nSkJWUkQ1UXkyellEQzhIRTh2L2VxcnVMclpESUl3bXFuZgpHWTAvZjlDL2RBaTFFODB0Qk9jYnRaUm1JTU1HNDFGYkZYUE44SVNybWU5b09ub1dXa3ZPVTgybHhhY2hSZ1dWClNxNzdlWm1VMlJmQlpycTNTdlVSc0owQ0F3RUFBYUNCM3pDQjNBWUpLb1pJaHZjTkFRa09NWUhPTUlITE1BOEcKQTFVZEV3RUIvd1FGTUFNQkFmOHdEZ1lEVlIwUEFRSC9CQVFEQWdFR01JR25CZ2dyQmdFRkJRY0JDd1NCbWpDQgpsekE2QmdnckJnRUZCUWN3QllZdWNuTjVibU02THk5c2IyTmhiR2h2YzNRNk5EUXdOQzl5Y0d0cEwwRnNhV05sCkwwSnZZaTlEWVhKdmJDOHpMekJaQmdnckJnRUZCUWN3Q29aTmNuTjVibU02THk5c2IyTmhiR2h2YzNRNk5EUXcKTkM5eWNHdHBMMEZzYVdObEwwSnZZaTlEWVhKdmJDOHpMMGx2ZW5kcmQycDBSMnh6TmpOWVVqaFhNbXh2TVhkagpOMVZ2VlM1dGJtWXdEUVlKS29aSWh2Y05BUUVMQlFBRGdnRUJBSkV0d1R5VUJRUjVwU3dpWFlBTWdyWVFER1o3CmpDOHl4NHFOZzNHV1hwaFo3VUdjbnAzMC84ZFlEWW12ckRnSmszUkZzNVlpek9lTEhNekNYU29GN0hxVm9mUC8KY0gzSWo0c1ZGMmZxeUx2dnd5Zi9EMzZRTzZFQTZ6QVNPdSs2ekZnc1dZdlVkZkVMYjhCZVgzU0pDL0syU1E3Rgo1MXZZSzNYZGVNL2ptRzRleFBZRGZNVWZHS082TFQ1UE9XOGhDR0ZOeU5oZitFRGloTjh3NHBJbTQ3M1BaTWxFCkVCTWFNTkxtU2l2dnZOTWhVVk4yNWpnSEpvcjVKWldsMFQyMlpxb1hnYStVa3BFK2owbGtkc3pYdlhxM0FkNGQKQW9NSmhFSm9YYUhXMGxSRU16SURBakRxMHdoZnBIVGRYay9uMEJaNkV1MFRaMmxEV21jQTVTUHBtVEk9CjwvcmVxdWVzdD4KPC9tZXNzYWdlPgqgggMfMIIDGzCCAgOgAwIBAgIBBDANBgkqhkiG9w0BAQsFADArMSkwJwYDVQQDEyBDYXJvbCBCUEtJIFJlc291cmNlIFRydXN0IEFuY2hvcjAeFw0xMTA3MDEwNDA4MDNaFw0xMjA2MzAwNDA4MDNaMDMxMTAvBgNVBAMTKEM4NDlCMkVBMjRBNjkwOUM4NjY3QUYyOTE3NTQxMkQ4QkIxRDAwMzkwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDBY0FK5NJlRiqYii7t8XX/4Vye0g+5mltYb1miCuDpsMgZPlrVhRprFu8cBzrCzvY6b0J0p+1lNoZcvkwPKIWT9YeL5VbiRL9XPjk78D0fS2Rpl7H5wUZx1vSjqzcsi//IwVETsHtFcJ9C9nNhTaZfLGWpRrzNHWtH2TUUXmXou+NnXknOO5TD6SiacrxIw4G5Z2LCsmQWDPvcnu0qdWBWcV8/0nZ0BMNXsdyRBKavANlTK4cfY7FFS8Jpqh3bcdCXRQYwx/b+cKzVbNOVs/+9j50jnx1gfe1cFWYfzjzN0uERF/4ylhaV2u1fkueDwvUUf6DNDbRwGdGubJvo3RA5AgMBAAGjQjBAMB0GA1UdDgQWBBTISbLqJKaQnIZnrykXVBLYux0AOTAfBgNVHSMEGDAWgBTrAyu8b8iL0rApak4gUWaHyNjcCTANBgkqhkiG9w0BAQsFAAOCAQEAYai1LRRG78adcxY/hc4eA023IHxPIPCwylQO8N6grJ5GTh6mmTG9LLFMK8vcbMdgwyUFzhvrSeWVJpsesnkMdUzoiNNrvXexEy5x3EQ/sEXgZt/y8/pJ/VDOhK9s8we5a7XKY8uD77Rq6ijvWx5S6E/UQd4T3X+AgSzNH11mGGoHWREUUv0SSKu/a0vU9HOzuI5woEWwn5k2n08zJC0xDRoVcaWE0P7L/+S8n/qLQlz1Phj+GOu/q2hFCBCLQRLBFdsUzlm7dATiwABZoEzR+VbUUfVcHmTSgnFXALyLepoRuK6x4MKj6Lv9uXfctILCeEW9LNC2wJQ3gusSL+wc1qGCAYcwggGDMG0CAQEwDQYJKoZIhvcNAQELBQAwKzEpMCcGA1UEAxMgQ2Fyb2wgQlBLSSBSZXNvdXJjZSBUcnVzdCBBbmNob3IXDTExMDcwMTA0MDcyNFoXDTEyMDYzMDA0MDcyNFqgDjAMMAoGA1UdFAQDAgEBMA0GCSqGSIb3DQEBCwUAA4IBAQCIE9O/NShSJgJPpv/PAzMOFlFQ5AQQLK9GQM42qnNc67ncie44bu0VugPLqLt4Z/Vr81XMIRbg1UlIU8UC/uU8YDQNOHn2Lzj0dpxAx1wdZkkKDs3I7/7LzTneWB3QfIzofKTb0+Q0Rltewj2gSn8FsH54oFZCJdxYfEvNksJmhRuNvX11qdOyvqufWDk0w8v5W7LevdT3zBtrMAZZDk5QX6vcsdL4qs6fjuASlEkqyYsvCaG1PNeaVZrxhB2kXanlgCkdR2M+agHXspN+ILAKnbLHDNOCqX17iqaWqjvy5XOVCJ7IyV5KPp+1R8KUdA6S9wjbHQD3l82Skr9jcxh1MYIBqjCCAaYCAQOAFMhJsuokppCchmevKRdUEti7HQA5MAsGCWCGSAFlAwQCAaBrMBoGCSqGSIb3DQEJAzENBgsqhkiG9w0BCRABHDAcBgkqhkiG9w0BCQUxDxcNMTEwNzAxMDQwOTA1WjAvBgkqhkiG9w0BCQQxIgQgm/3IfXFnJT/10dy9m3nuZt3i13nd6yunn6TipHrhXhowDQYJKoZIhvcNAQEBBQAEggEARUgsPpls3HpmnOg3vwgk53Z1vYLiSoYCzA5zRLyDQDwEok1ddqgCRk6DOatAPS+OOa4U5xabfJDg1b43suo/d2vlFPbym8Ja3lLnMNAWMUM6lh2W4ahbPWfnvNx6moVcw4DPJe17zVqcM2zupSUri/jNsq3kx+Hk8eDBhY7uGoFdtqeV2/4CsE7S33Rj6GjAV1j72mpGk50y0f7gi6ODKLHf+zXsOccQY/g6MU3mFYMMOyndXjraprCcgqBSzpHWqKzdkLPLuUzjYxgtuv37kut+k9xSJV+u+UjYItNnUKJNJ+zLxf3c9YhchWJOmPCGmzscwlTou6kUkR2sBms8bA==</publish>
|
||||
<withdraw hash="fae1c03bde9da15e26e90a9585d246ee4db79ee9f0b1db1a6c7deb2fc4e2d093" tag="fae1c03bde9da15e26e90a9585d246ee4db79ee9f0b1db1a6c7deb2fc4e2d093" uri="rsync://host/path/cms-ta.cer" />
|
||||
</msg>
|
||||
@@ -1,3 +0,0 @@
|
||||
<msg xmlns="http://www.hactrn.net/uris/rpki/publication-spec/" version="4" type="reply">
|
||||
<success />
|
||||
</msg>
|
||||
@@ -1,3 +0,0 @@
|
||||
<msg xmlns="http://www.hactrn.net/uris/rpki/publication-spec/" version="4" type="query">
|
||||
<list />
|
||||
</msg>
|
||||
@@ -1,6 +0,0 @@
|
||||
<msg xmlns="http://www.hactrn.net/uris/rpki/publication-spec/" version="4" type="reply">
|
||||
<list hash="eb719b72f0648cf4" uri="rsync://wombat.example/Fee/eb719b72f0648cf4.cer" />
|
||||
<list hash="c7c50a68b7aa50bf" uri="rsync://wombat.example/Fie/c7c50a68b7aa50bf.cer" />
|
||||
<list hash="f222481ded47445d" uri="rsync://wombat.example/Foe/f222481ded47445d.cer" />
|
||||
<list hash="15b94e08713275bc" uri="rsync://wombat.example/Fum/15b94e08713275bc.cer" />
|
||||
</msg>
|
||||
@@ -1 +0,0 @@
|
||||
<msg xmlns="http://www.hactrn.net/uris/rpki/publication-spec/" version="4" type="reply" />
|
||||
@@ -1,7 +0,0 @@
|
||||
<msg xmlns="http://www.hactrn.net/uris/rpki/publication-spec/" version="4" type="query">
|
||||
<publish tag="Alice" uri="rsync://wombat.example/Alice/01a97a70ac477f06.cer">SGVsbG8sIG15IG5hbWUgaXMgQWxpY2U=</publish>
|
||||
<publish tag="Carol" uri="rsync://wombat.example/Carol/32e0544eeb510ec0.cer">SGVsbG8sIG15IG5hbWUgaXMgQ2Fyb2w=</publish>
|
||||
<publish tag="Eve" hash="421ee4ac65732d72" uri="rsync://wombat.example/Eve/9dd859b01e5c2ebd.cer">SGVsbG8sIG15IG5hbWUgaXMgRXZl</publish>
|
||||
<withdraw hash="f46a4198efa3070e" tag="Bob" uri="rsync://wombat.example/Bob/f46a4198efa3070e.cer" />
|
||||
<withdraw hash="421ee4ac65732d72" tag="Dave" uri="rsync://wombat.example/Dave/421ee4ac65732d72.cer" />
|
||||
</msg>
|
||||
@@ -1,13 +0,0 @@
|
||||
<msg xmlns="http://www.hactrn.net/uris/rpki/publication-spec/" version="4" type="reply">
|
||||
<report_error error_code="no_object_matching_hash" tag="Dave">
|
||||
<error_text>I can't very well delete an object I do not have, are you drunk?</error_text>
|
||||
<failed_pdu>
|
||||
<withdraw hash="421ee4ac65732d72" tag="Dave" uri="rsync://wombat.example/Dave/421ee4ac65732d72.cer" />
|
||||
</failed_pdu>
|
||||
</report_error>
|
||||
<report_error error_code="object_already_present" tag="Eve">
|
||||
<failed_pdu>
|
||||
<publish tag="Eve" uri="rsync://wombat.example/Eve/9dd859b01e5c2ebd.cer">SGVsbG8sIG15IG5hbWUgaXMgRXZl</publish>
|
||||
</failed_pdu>
|
||||
</report_error>
|
||||
</msg>
|
||||
@@ -1,3 +0,0 @@
|
||||
<msg xmlns="http://www.hactrn.net/uris/rpki/publication-spec/" version="4" type="reply">
|
||||
<report_error error_code="object_already_present" tag="foo" />
|
||||
</msg>
|
||||
@@ -1,3 +0,0 @@
|
||||
<msg xmlns="http://www.hactrn.net/uris/rpki/publication-spec/" version="4" type="reply">
|
||||
<success />
|
||||
</msg>
|
||||
@@ -1,21 +0,0 @@
|
||||
<ns0:child_request xmlns:ns0="http://www.hactrn.net/uris/rpki/rpki-setup/" child_handle="Carol" version="1">
|
||||
<ns0:child_bpki_ta>
|
||||
MIIDJDCCAgygAwIBAgIBATANBgkqhkiG9w0BAQsFADArMSkwJwYDVQQDEyBDYXJv
|
||||
bCBCUEtJIFJlc291cmNlIFRydXN0IEFuY2hvcjAeFw0xMTA3MDEwNDA3MjRaFw0x
|
||||
MjA2MzAwNDA3MjRaMCsxKTAnBgNVBAMTIENhcm9sIEJQS0kgUmVzb3VyY2UgVHJ1
|
||||
c3QgQW5jaG9yMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAtF0MUjZ8
|
||||
8c7YvY72T//02NUs00BE8dDaP9Yp2ByePrcy7ceJBQbL22LKDN6bASXlth+xxQjN
|
||||
UYeua7IwhlFX9HvcCWcClg2hR0Bqa1v4o5jitRL1COdJCvvQcg2B5p7uC74dh9e+
|
||||
w88z7X6u1NqZJS91Xw1GBt/Vi3xNwtlDchfcXcdGGcMObAksfQY9KrddWPfINmz0
|
||||
Cqx5M98BVHgUV1RJdFNBV91WTH2L7wOxW+hyo0CkvCxIfNZLlnL/nn7+OTEUFREV
|
||||
CU8YZz6semjzLb5q1qV46zoI5AmDB2JyddG+zPCqKbEmNWUCza4BYRRZDB/q2Z3T
|
||||
2p4fGV7R8jEJnQIDAQABo1MwUTAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTr
|
||||
Ayu8b8iL0rApak4gUWaHyNjcCTAfBgNVHSMEGDAWgBTrAyu8b8iL0rApak4gUWaH
|
||||
yNjcCTANBgkqhkiG9w0BAQsFAAOCAQEAbrmv72xzD+2zJnZwRrX9NsbKMBu6sEtp
|
||||
yMIND9RduU09yK2KDZLyJ07J1UmIgzaQjcy8Lk6tbveaSOGgu4Nr8Sl0P/YZg83j
|
||||
vmOIa4PXJT7YSrQ9son98akGZf6dEnDhX/S15z+WpCAyuUY8Zgpq6JRSsRrn2eOl
|
||||
zVmf9sE9tFCC8ozSwiGTcyILf1sORqMClhebRenE1GNWJ7Pabe7NkvoN5guMVO5h
|
||||
0lSfHnuxQGutxd2BvD6nOC5lqQMmuPIE47yAN7PNPbwlMl32nUDkUrESCYJ2luFS
|
||||
g3PASHSsHw2Tg/azHFrGcMMEbhIAHd1iOGOIlRjlJhkHLJZFTJOyZw==
|
||||
</ns0:child_bpki_ta>
|
||||
</ns0:child_request>
|
||||
Binary file not shown.
Binary file not shown.
Reference in New Issue
Block a user