Fix existing issues
This commit is contained in:
parent
8b8547755b
commit
4ef7802fc0
|
@ -368,7 +368,7 @@ checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "bird-looking-glass-proxy"
|
name = "bird-looking-glass-proxy"
|
||||||
version = "0.0.2"
|
version = "0.0.3"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"actix-web",
|
"actix-web",
|
||||||
"birdc",
|
"birdc",
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
[package]
|
[package]
|
||||||
name = "bird-looking-glass-proxy"
|
name = "bird-looking-glass-proxy"
|
||||||
version = "0.0.2"
|
version = "0.0.3"
|
||||||
edition = "2021"
|
edition = "2021"
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
|
|
|
@ -1,14 +1,10 @@
|
||||||
bind_ip = "0.0.0.0"
|
bind_ip = "0.0.0.0"
|
||||||
bind_port = 5000
|
bind_port = 8000
|
||||||
|
|
||||||
# Used to restrict access to bird-looking-glass-proxy based on source IP address.
|
# Used to restrict access to bird-looking-glass-proxy based on source IP address.
|
||||||
# Empty list = any IP is allowed to run queries.
|
# Empty list = any IP is allowed to run queries.
|
||||||
access_list = ["127.0.0.1"]
|
access_list = ["127.0.0.1"]
|
||||||
|
|
||||||
# Used to restrict access to bird-looking-glass-proxy based on a shared secret (must also be configured in lg.cfg)
|
|
||||||
# Empty string or unset = no shared secret is required to run queries.
|
|
||||||
shared_secret="ThisTokenIsNotSecret"
|
|
||||||
|
|
||||||
# Used as source address when running traceroute
|
# Used as source address when running traceroute
|
||||||
ipv4_source="198.51.100.42"
|
ipv4_source="198.51.100.42"
|
||||||
ipv6_source="2001:db8:42::1"
|
ipv6_source="2001:db8:42::1"
|
||||||
|
|
|
@ -13,7 +13,7 @@ lazy_static! {
|
||||||
.arg_from_usage("-e, --example 'Export sample config file'")
|
.arg_from_usage("-e, --example 'Export sample config file'")
|
||||||
.get_matches();
|
.get_matches();
|
||||||
if matches.is_present("example") {
|
if matches.is_present("example") {
|
||||||
println!("bind_ip = \"0.0.0.0\"\nbind_port = 5000\n\n# Used to restrict access to bird-looking-glass-proxy based on source IP address.\n# Empty list = any IP is allowed to run queries.\naccess_list = [\"127.0.0.1\"]\n\n# Used to restrict access to bird-looking-glass-proxy based on a shared secret (must also be configured in lg.cfg)\n# Empty string or unset = no shared secret is required to run queries.\nshared_secret=\"ThisTokenIsNotSecret\"\n\n# Used as source address when running traceroute\nipv4_source=\"198.51.100.42\"\nipv6_source=\"2001:db8:42::1\"\n\nbird_socket=\"/var/run/bird/bird.ctl\"\nbird6_socket=\"/var/run/bird/bird6.ctl\"");
|
println!("bind_ip = \"0.0.0.0\"\nbind_port = 5000\n\n# Used to restrict access to bird-looking-glass-proxy based on source IP address.\n# Empty list = any IP is allowed to run queries.\naccess_list = [\"127.0.0.1\"]\n\n# Used as source address when running traceroute\nipv4_source=\"198.51.100.42\"\nipv6_source=\"2001:db8:42::1\"\n\nbird_socket=\"/var/run/bird/bird.ctl\"\nbird6_socket=\"/var/run/bird/bird6.ctl\"");
|
||||||
std::process::exit(0);
|
std::process::exit(0);
|
||||||
}
|
}
|
||||||
config::Config::new(matches.value_of("config").unwrap_or("config.toml"))
|
config::Config::new(matches.value_of("config").unwrap_or("config.toml"))
|
||||||
|
|
|
@ -16,7 +16,76 @@ pub async fn bird(_param: web::Query<Param>, _req: HttpRequest, mode: i8) -> Res
|
||||||
});
|
});
|
||||||
let mut connection = block_on(client.connect())?;
|
let mut connection = block_on(client.connect())?;
|
||||||
let messages = block_on(connection.send_request(&_param.q))?;
|
let messages = block_on(connection.send_request(&_param.q))?;
|
||||||
return Ok(messages.iter().map(|message |format!("{:?}",message)).collect::<String>());
|
return Ok(messages.iter().map(|message | match message {
|
||||||
|
Message::Welcome(s) |
|
||||||
|
Message::ReadingConfiguration(s) |
|
||||||
|
Message::Reconfigured(s) |
|
||||||
|
Message::ReconfigurationInProgress(s) |
|
||||||
|
Message::ReconfigurationQueued(s) |
|
||||||
|
Message::ReconfigurationIgnoredShutdown(s) |
|
||||||
|
Message::ShutdownOrdered(s) |
|
||||||
|
Message::AlreadyDisable(s) |
|
||||||
|
Message::Disabled(s) |
|
||||||
|
Message::AlreadyEnabled(s) |
|
||||||
|
Message::Enabled(s) |
|
||||||
|
Message::Restarted(s) |
|
||||||
|
Message::StatusReport(s) |
|
||||||
|
Message::RouteCount(s) |
|
||||||
|
Message::Reloading(s) |
|
||||||
|
Message::AccessRestricted(s) |
|
||||||
|
Message::ReconfigurationUnQueued(s) |
|
||||||
|
Message::ReconfigurationConfirmed(s) |
|
||||||
|
Message::NothingToDo(s) |
|
||||||
|
Message::ConfigurationOk(s) |
|
||||||
|
Message::UndoRequested(s) |
|
||||||
|
Message::UndoScheduled(s) |
|
||||||
|
Message::EvaluatingExpression(s) |
|
||||||
|
Message::GracefulRestartStatus(s) |
|
||||||
|
Message::BirdVersion(s) |
|
||||||
|
Message::InterfaceList(s) |
|
||||||
|
Message::ProtocolList(s) |
|
||||||
|
Message::InterfaceAddress(s) |
|
||||||
|
Message::InterfaceFlags(s) |
|
||||||
|
Message::InterfaceSummary(s) |
|
||||||
|
Message::ProtocolDetails(s) |
|
||||||
|
Message::RouteList(s) |
|
||||||
|
Message::RouteDetails(s) |
|
||||||
|
Message::StaticRouteList(s) |
|
||||||
|
Message::SymbolList(s) |
|
||||||
|
Message::Uptime(s) |
|
||||||
|
Message::RouteExtendedAttributeList(s) |
|
||||||
|
Message::OspfNeighbors(s) |
|
||||||
|
Message::Ospf(s) |
|
||||||
|
Message::OspfInterface(s) |
|
||||||
|
Message::OspfState(s) |
|
||||||
|
Message::OspfLsadb(s) |
|
||||||
|
Message::Memory(s) |
|
||||||
|
Message::RoaList(s) |
|
||||||
|
Message::BfdSessions(s) |
|
||||||
|
Message::RipInterfaces(s) |
|
||||||
|
Message::RipNeighbors(s) |
|
||||||
|
Message::BabelInterfaces(s) |
|
||||||
|
Message::BabelNeighbors(s) |
|
||||||
|
Message::BabelEntries(s) |
|
||||||
|
Message::ProtocolListHeader(s) |
|
||||||
|
Message::InterfaceSummaryHeader(s) |
|
||||||
|
Message::TableHeader(_, s) |
|
||||||
|
Message::ReplyTooLong(s) |
|
||||||
|
Message::RouteNotFound(s) |
|
||||||
|
Message::ConfigurationFileError(s) |
|
||||||
|
Message::NoProtocolsMatch(s) |
|
||||||
|
Message::StoppedDueToReconfiguration(s) |
|
||||||
|
Message::ProtocolDown(s) |
|
||||||
|
Message::ReloadFailed(s) |
|
||||||
|
Message::AccessDenied(s) |
|
||||||
|
Message::RuntimeError(_, s) |
|
||||||
|
Message::CommandTooLong(s) |
|
||||||
|
Message::ParseError(s) |
|
||||||
|
Message::InvalidSymbol(s) |
|
||||||
|
Message::ClientError(_, s) |
|
||||||
|
Message::Unknown(_, s) => s.to_string(),
|
||||||
|
_ => "".to_string(),
|
||||||
|
}).collect::<Vec<String>>().join("\n"));
|
||||||
|
|
||||||
}
|
}
|
||||||
pub async fn bird4(_param: web::Query<Param>, _req: HttpRequest) -> impl Responder {
|
pub async fn bird4(_param: web::Query<Param>, _req: HttpRequest) -> impl Responder {
|
||||||
|
|
Loading…
Reference in New Issue