__ __ __ __ _____ _ _ _____ _ _ _ | \/ | \ \ / / | __ \ (_) | | / ____| | | | | | \ / |_ __\ V / | |__) | __ ___ ____ _| |_ ___ | (___ | |__ ___| | | | |\/| | '__|> < | ___/ '__| \ \ / / _` | __/ _ \ \___ \| '_ \ / _ \ | | | | | | |_ / . \ | | | | | |\ V / (_| | || __/ ____) | | | | __/ | | |_| |_|_(_)_/ \_\ |_| |_| |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1 if you need WebShell for Seo everyday contact me on Telegram Telegram Address : @jackleetFor_More_Tools:
use crate::{
protos::apparmor_prompting::app_armor_prompting_client::AppArmorPromptingClient, Error, Result,
SOCKET_ENV_VAR,
};
use hyper_util::rt::TokioIo;
use std::env;
use std::io;
use tokio::net::UnixStream;
use tonic::transport::{Channel, Endpoint, Uri};
use tower::service_fn;
pub async fn set_logging_filter(filter: String) -> Result<String> {
let mut client = client_from_env().await;
match client.set_logging_filter(filter).await {
Ok(resp) => Ok(resp.into_inner().current),
Err(e) => Err(Error::UnableToUpdateLogFilter {
reason: e.to_string(),
}),
}
}
async fn client_from_env() -> AppArmorPromptingClient<Channel> {
let path = env::var(SOCKET_ENV_VAR).expect("socket env var not set");
// See https://github.com/hyperium/tonic/blob/master/examples/src/uds/client.rs
let channel = Endpoint::from_static("https://not-used.com")
.connect_with_connector(service_fn(move |_: Uri| {
let path = path.clone();
async { Ok::<_, io::Error>(TokioIo::new(UnixStream::connect(path).await?)) }
}))
.await
.unwrap();
AppArmorPromptingClient::new(channel)
}
| Name | Type | Size | Permission | Actions |
|---|---|---|---|---|
| echo_loop.rs | File | 1.33 KB | 0644 |
|
| log_level.rs | File | 1.16 KB | 0644 |
|
| mod.rs | File | 152 B | 0644 |
|
| scripted.rs | File | 7.78 KB | 0644 |
|