Use workspaces in project.

This commit is contained in:
Tim Bruijnzeels
2019-04-11 16:36:33 +02:00
parent 2e8ab8f908
commit 0bbfebfbb6
91 changed files with 259 additions and 314 deletions
+1 -1
View File
@@ -6,6 +6,6 @@ publishers
krill.log
target/
tmp
ui/dist
daemon/ui/dist
work
package-lock.json
+2 -35
View File
@@ -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" }
+15
View File
@@ -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"
+10 -13
View File
@@ -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).
}
+12
View File
@@ -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;
+4 -5
View File
@@ -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
+48
View File
@@ -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"
+3 -1
View File
@@ -5,4 +5,6 @@ if [ ! -d "node_modules" ]; then
npm install
fi
yarn run build
if [ ! -d "ui/dist" ]; then
yarn run build
fi
+1
View File
@@ -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();
}
+1 -1
View File
@@ -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 {
+12 -5
View File
@@ -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
View File

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

+15
View File
@@ -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
+2 -2
View File
@@ -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 ---------------------------------------------------------
+8
View File
@@ -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;
+13
View File
@@ -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"
+15
View File
@@ -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 -----------------------------------------------------
-6
View File
@@ -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.
-25
View File
@@ -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>
-28
View File
@@ -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>
-3
View File
@@ -1,3 +0,0 @@
<msg xmlns="http://www.hactrn.net/uris/rpki/publication-spec/" version="4" type="query">
<list />
</msg>
-6
View File
@@ -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
View File
@@ -1 +0,0 @@
<msg xmlns="http://www.hactrn.net/uris/rpki/publication-spec/" version="4" type="reply" />
-7
View File
@@ -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>
-13
View File
@@ -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>
-3
View File
@@ -1,3 +0,0 @@
<msg xmlns="http://www.hactrn.net/uris/rpki/publication-spec/" version="4" type="reply">
<success />
</msg>
-21
View File
@@ -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.