Bug Fixes
Security Vulnerabilities Patched RUSTSEC-2025-0009 - Some AES functions may panic when overflow checking is enabled RUSTSEC-2024-0336 - rustls::Connection::Common::complete_io could fall into an infinite loop based on network input
This commit is contained in:
Generated
+355
-884
File diff suppressed because it is too large
Load Diff
+11
-13
@@ -1,33 +1,31 @@
|
||||
[package]
|
||||
name = "airlock_libs"
|
||||
version = "5.2.1"
|
||||
name = "signoz_test"
|
||||
version = "6.0.0"
|
||||
edition = "2024"
|
||||
|
||||
[lib]
|
||||
crate-type = ["cdylib"]
|
||||
|
||||
[dependencies]
|
||||
chrono = "0.4.42"
|
||||
indicatif = "0.18.2"
|
||||
mongodb = "3.3.0"
|
||||
opentelemetry = { version = "0.18.0", features = ["rt-tokio", "metrics", "trace"] }
|
||||
opentelemetry-otlp = { version = "0.11.0", features = ["trace", "metrics"] }
|
||||
opentelemetry-semantic-conventions = { version = "0.10.0" }
|
||||
opentelemetry-proto = { version = "0.1.0"}
|
||||
opentelemetry = { version = "0.27.0", features = ["logs", "metrics", "trace"] }
|
||||
opentelemetry-otlp = { version = "0.27.0", features = ["trace", "metrics", "grpc-tonic", "http-proto", "tls", "reqwest-client", "reqwest-rustls"] }
|
||||
opentelemetry-semantic-conventions = { version = "0.27.0" }
|
||||
opentelemetry-proto = { version = "0.27.0"}
|
||||
pyo3 = { version = "0.27.0", features = ["extension-module", "generate-import-lib"] }
|
||||
reqwest = { version = "0.12.24", features = ["json", "native-tls"] }
|
||||
reqwest = { version = "0.12.24", features = ["json", "native-tls", "rustls-tls"] }
|
||||
serde = "1.0.228"
|
||||
serde-pyobject = "0.8.0"
|
||||
serde_json = "1.0.145"
|
||||
tokio = { version = "1.48.0", features = ["full"] }
|
||||
tonic = { version = "0.8.2", features = ["tls-roots"] }
|
||||
tonic = { version = "0.12.3", features = ["tls-roots"] }
|
||||
tracing = "0.1.41"
|
||||
tracing-subscriber = "0.3.20"
|
||||
tracing-opentelemetry = "0.32.0"
|
||||
pyo3-async-runtimes = { version = "0.27.0", features = ["async-std", "tokio"] }
|
||||
crossbeam = "0.8.4"
|
||||
log = "0.4.29"
|
||||
flexi_logger = "0.31.7"
|
||||
opentelemetry-appender-log = "0.27.0"
|
||||
opentelemetry_sdk = { version = "0.27.0", features = ["rt-tokio", "trace"] }
|
||||
|
||||
[package.metadata.maturin]
|
||||
generate-abi-stubs = true
|
||||
@@ -40,4 +38,4 @@ codegen-units = 1
|
||||
panic = 'abort'
|
||||
strip = true
|
||||
debug-assertions = false
|
||||
overflow-checks = false
|
||||
overflow-checks = true
|
||||
|
||||
@@ -4,7 +4,7 @@ build-backend = "maturin"
|
||||
|
||||
[project]
|
||||
name = "airlock_libs"
|
||||
version = "5.2.1"
|
||||
version = "6.0.0"
|
||||
description = "Airlock Digital API Wrapper"
|
||||
readme = "README.md"
|
||||
license = { text = "AGPL-3.0-only" }
|
||||
|
||||
@@ -1,15 +1,15 @@
|
||||
pub use chrono::{Duration, Local, NaiveDate};
|
||||
pub use indicatif::{MultiProgress, ProgressBar, ProgressDrawTarget, ProgressStyle};
|
||||
pub use mongodb::bson::oid::ObjectId;
|
||||
pub use opentelemetry::global::shutdown_tracer_provider;
|
||||
pub use opentelemetry::sdk::Resource;
|
||||
pub use opentelemetry::global::GlobalTracerProvider;
|
||||
pub use opentelemetry::trace::noop::NoopTracerProvider;
|
||||
pub use opentelemetry::trace::{Status, TraceContextExt, TraceError};
|
||||
pub use opentelemetry::{Context, KeyValue, sdk::trace as sdktrace, trace::Tracer};
|
||||
pub use opentelemetry::{Key, global};
|
||||
pub use opentelemetry::trace::{Status, TraceContextExt, Tracer};
|
||||
pub use opentelemetry::*;
|
||||
pub use opentelemetry_otlp::ExportConfig;
|
||||
pub use opentelemetry_otlp::WithExportConfig;
|
||||
pub use opentelemetry_sdk::Resource;
|
||||
pub use opentelemetry_sdk::trace::{Config, TracerProvider};
|
||||
pub use pyo3::{prelude::*, types::PyString};
|
||||
pub use pyo3_async_runtimes::async_std;
|
||||
pub use reqwest::{
|
||||
Client,
|
||||
header::{HeaderMap, HeaderName, HeaderValue},
|
||||
|
||||
@@ -1,8 +1,10 @@
|
||||
use crate::modules::datatypes::*;
|
||||
use crate::prelude::*;
|
||||
use crossbeam::channel::unbounded;
|
||||
use opentelemetry_otlp::WithTonicConfig;
|
||||
use std::sync::{Arc, Mutex};
|
||||
use std::thread;
|
||||
use tonic::transport::{Channel, ClientTlsConfig};
|
||||
#[pyfunction]
|
||||
pub fn pull_policy_exec_histories(
|
||||
py: Python<'_>,
|
||||
@@ -11,9 +13,10 @@ pub fn pull_policy_exec_histories(
|
||||
exec_types: String,
|
||||
days: i64,
|
||||
) -> Py<PyString> {
|
||||
let data = PyData::extract_data(py, &py_self);
|
||||
let headers = data.headers;
|
||||
let base_url = data.base_url;
|
||||
println!();
|
||||
let data: PyData = PyData::extract_data(py, &py_self);
|
||||
let headers: HeaderMap = data.headers;
|
||||
let base_url: String = data.base_url;
|
||||
let handle: thread::JoinHandle<String> = std::thread::spawn(move || {
|
||||
let rt: tokio::runtime::Runtime = match tokio::runtime::Runtime::new() {
|
||||
Ok(rt) => rt,
|
||||
@@ -22,10 +25,9 @@ pub fn pull_policy_exec_histories(
|
||||
std::process::abort();
|
||||
}
|
||||
};
|
||||
rt.block_on(async {
|
||||
let _ = init_tracer();
|
||||
});
|
||||
let tracer: global::BoxedTracer = global::tracer("global_tracer");
|
||||
let tracer_provider = rt.block_on(async { init_tracer() });
|
||||
global::set_tracer_provider(tracer_provider.clone());
|
||||
let tracer: global::BoxedTracer = global::tracer("tracer");
|
||||
let _cx: Context = Context::new();
|
||||
let file_path: PathBuf = format!(
|
||||
"{}\\cache\\chunkinator.json",
|
||||
@@ -106,7 +108,8 @@ pub fn pull_policy_exec_histories(
|
||||
}
|
||||
}
|
||||
});
|
||||
let cutoff: chrono::NaiveDateTime = Local::now().naive_local() - Duration::days(days);
|
||||
let cutoff: chrono::NaiveDateTime =
|
||||
Local::now().naive_local() - chrono::Duration::days(days);
|
||||
let (tx, rx) = unbounded::<Vec<Group>>();
|
||||
let pb_clone = progress_bar.clone();
|
||||
thread::spawn(move || {
|
||||
@@ -181,7 +184,10 @@ pub fn pull_policy_exec_histories(
|
||||
.unwrap()
|
||||
.enable_steady_tick(std::time::Duration::from_millis(100));
|
||||
let span: opentelemetry::trace::SpanRef<'_> = cx.span();
|
||||
span.set_attribute(Key::new("Days").string(days.to_string()));
|
||||
//span.set_attribute(Key::new("Days").string(days.to_string()));
|
||||
//span.set_attribute(Key::new("Days"));
|
||||
//span.set_attribute(KeyValue::new("Policy Name", policy_names.clone()));
|
||||
span.set_attribute(KeyValue::new("Days", days));
|
||||
span.set_attribute(KeyValue::new("Policy Name", policy_names.clone()));
|
||||
loop {
|
||||
let execution_histories = tracer.in_span(checkpoint_number.to_string(), |cx| {
|
||||
@@ -237,8 +243,10 @@ pub fn pull_policy_exec_histories(
|
||||
std::process::abort();
|
||||
}
|
||||
};
|
||||
tracer_provider
|
||||
.shutdown()
|
||||
.expect("Failed to Shutdown Tracer Provdier");
|
||||
drop(tx);
|
||||
shutdown_tracer_provider();
|
||||
return_data.to_string()
|
||||
});
|
||||
let gil_value: String = handle.join().unwrap();
|
||||
@@ -313,25 +321,26 @@ pub fn get_base_directory() -> PathBuf {
|
||||
}
|
||||
}
|
||||
|
||||
fn init_tracer() -> Result<Option<sdktrace::Tracer>, TraceError> {
|
||||
fn init_tracer() -> opentelemetry_sdk::trace::TracerProvider {
|
||||
let cfg: TelemetryConfig = TelemetryConfig::load();
|
||||
if !cfg.TELEMETRY {
|
||||
global::set_tracer_provider(NoopTracerProvider::new());
|
||||
return Ok(None);
|
||||
}
|
||||
let endpoint: String = cfg.TELEM_URL.unwrap_or_default();
|
||||
let tracer: sdktrace::Tracer =
|
||||
opentelemetry_otlp::new_pipeline()
|
||||
.tracing()
|
||||
.with_exporter(
|
||||
opentelemetry_otlp::new_exporter()
|
||||
.tonic()
|
||||
.with_endpoint(endpoint),
|
||||
)
|
||||
.with_trace_config(sdktrace::config().with_resource(Resource::new(vec![
|
||||
KeyValue::new("service.name", "LoxideLibs"),
|
||||
])))
|
||||
.install_simple()
|
||||
.unwrap();
|
||||
Ok(Some(tracer))
|
||||
let endpoint = cfg.TELEM_URL.unwrap_or_default().clone();
|
||||
let channel_endpoint = endpoint.clone();
|
||||
let channel = Channel::from_shared(channel_endpoint.clone())
|
||||
.unwrap()
|
||||
.tls_config(ClientTlsConfig::new().with_native_roots())
|
||||
.unwrap()
|
||||
.connect_lazy();
|
||||
let exporter = opentelemetry_otlp::SpanExporter::builder()
|
||||
.with_tonic()
|
||||
.with_endpoint(endpoint.clone())
|
||||
.with_channel(channel)
|
||||
.build()
|
||||
.expect("Failed to build exporter");
|
||||
opentelemetry_sdk::trace::TracerProvider::builder()
|
||||
.with_simple_exporter(exporter)
|
||||
.with_resource(Resource::new(vec![KeyValue::new(
|
||||
"service.name",
|
||||
"LoxideLibs",
|
||||
)]))
|
||||
.build()
|
||||
}
|
||||
|
||||
+1
-1
@@ -11,4 +11,4 @@ urllib3==2.5.0
|
||||
pyperclip==1.11.0
|
||||
|
||||
--extra-index-url https://git.racooncity.org/api/packages/brotoskyj/pypi/simple/
|
||||
airlock_libs==5.2.1
|
||||
airlock_libs==6.0.0
|
||||
Reference in New Issue
Block a user