New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details →
Socket
Book a DemoSign in
Socket

python-auditor

Package Overview
Dependencies
Maintainers
2
Versions
25
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

python-auditor - pypi Package Compare versions

Comparing version
0.10.1
to
0.10.2
+7
-7
Cargo.toml
[package]
name = "python-auditor"
version = "0.10.1"
version = "0.10.2"
edition = "2024"

@@ -31,8 +31,8 @@ authors = ["Stefan Kroboth <stefan.kroboth@gmail.com>"]

auditor.path = "local_dependencies/auditor"
anyhow = "1.0.100"
chrono = { version = "0.4.42", default-features = false, features = ["serde"] }
pyo3 = { version = "0.24.1", features = ["chrono", "extension-module", "anyhow"] }
pyo3-async-runtimes = { version = "0.24.0", features = ["attributes", "tokio-runtime"] }
anyhow = "1.0.102"
chrono = { version = "0.4.44", default-features = false, features = ["serde"] }
pyo3 = { version = "0.27.2", features = ["chrono", "extension-module", "anyhow"] }
pyo3-async-runtimes = { version = "0.27.0", features = ["attributes", "tokio-runtime"] }
serde = { version = "1.0.218", features = ["derive"] }
serde_json = "1.0.145"
tokio = "1.48.0"
serde_json = "1.0.149"
tokio = "1.50.0"

@@ -12,3 +12,3 @@ #![allow(dead_code)]

use chrono::{DateTime, TimeZone, Utc};
use fake::{Fake, Faker};
use fake::{Fake, Faker, RngExt};
use rand::Rng;

@@ -15,0 +15,0 @@ use std::collections::HashMap;

[package]
name = "auditor-client"
version = "0.10.1"
version = "0.10.2"
authors = ["Stefan Kroboth <stefan.kroboth@gmail.com>"]

@@ -31,20 +31,20 @@ edition = "2024"

auditor.path = "../auditor"
anyhow = "1.0.100"
anyhow = "1.0.102"
bincode = "1.3.3"
chrono = { version = "0.4.42", default-features = false, features = ["serde"] }
config = "0.15.18"
chrono = { version = "0.4.44", default-features = false, features = ["serde"] }
config = "0.15.22"
futures = "0.3"
reqwest = { version = "0.12.24", default-features = false, features = ["json", "rustls-tls", "blocking", "stream"] }
reqwest = { version = "0.12.28", default-features = false, features = ["json", "rustls-tls", "blocking", "stream"] }
reqwest-streams = { version = "0.12", features= ["json"] }
serde = { version = "1.0.218", features = ["derive"] }
rand = "0.9.2"
rand_distr = "0.5.1"
rustls = "0.23.24"
rand = "0.10.0"
rand_distr = "0.6.0"
rustls = "0.23.37"
serde-aux = "4.6.0"
serde_json = "1.0.145"
serde_json = "1.0.149"
serde_qs = { version = "0.15.0", features = ["actix4"] }
sqlx = { version = "0.8.6", default-features = false, features = ["runtime-tokio-rustls", "macros", "uuid", "chrono", "migrate", "runtime-tokio", "json","sqlite"] }
thiserror = "2.0.17"
tokio = { version = "1.48.0", features = ["time"] }
tracing = { version = "0.1.40", features = ["log"] }
thiserror = "2.0.18"
tokio = { version = "1.50.0", features = ["time"] }
tracing = { version = "0.1.44", features = ["log"] }
urlencoding = "2.1.3"

@@ -51,0 +51,0 @@

[package]
name = "auditor"
version = "0.10.1"
version = "0.10.2"
authors = ["Stefan Kroboth <stefan.kroboth@gmail.com>"]

@@ -37,13 +37,13 @@ edition = "2024"

actix-web-opentelemetry = { version = "0.17.0", features = ["metrics", "metrics-prometheus"] }
actix-web = { version = "4.8.0", features = ["rustls-0_23"] }
actix-tls = { version = "3.4.0", features = ["rustls-0_23"] }
anyhow = "1.0.100"
arrow = "57.0.0"
arrow-array = "57.0.0"
actix-web = { version = "4.13.0", features = ["rustls-0_23"] }
actix-tls = { version = "3.5.0", features = ["rustls-0_23"] }
anyhow = "1.0.102"
arrow = "58.0.0"
arrow-array = "58.0.0"
async-stream = "0.3"
casbin = "2.15.0"
chrono = { version = "0.4.42", default-features = false, features = ["serde"] }
config = "0.15.18"
casbin = "2.20.0"
chrono = { version = "0.4.44", default-features = false, features = ["serde"] }
config = "0.15.22"
csv = "1.4.0"
fake = { version = "4.4", features = ["chrono"] }
fake = { version = "5.1", features = ["chrono"] }
futures = "0.3"

@@ -56,29 +56,28 @@ futures-util = "0.3"

opentelemetry_sdk = "0.23.0"
parquet = "57"
parquet = "58.0.0"
prometheus = "0.13.4"
rand = "0.9.2"
regex = "1.12.2"
reqwest = { version = "0.12.24", default-features = false, features = ["json", "rustls-tls", "blocking", "stream"] }
rand = "0.10.0"
regex = "1.12.3"
reqwest = { version = "0.12.28", default-features = false, features = ["json", "rustls-tls", "blocking", "stream"] }
reqwest-streams = { version = "0.12", features= ["json"] }
rustls = "0.23.37"
secrecy = { version = "0.10.3", features = ["serde"] }
serde = { version = "1.0.218", features = ["derive"] }
serde_json = "1.0.145"
serde_json = "1.0.149"
serde-aux = "4.6.0"
serde_qs = { version = "0.15.0", features = ["actix4"] }
serde_with = { version = "3.15.1", features = ["chrono_0_4"] }
serde_with = { version = "3.18.0", features = ["chrono_0_4"] }
sqlx = { version = "0.8.6", default-features = false, features = ["runtime-tokio-rustls", "macros", "uuid", "chrono", "migrate", "runtime-tokio", "json","postgres", "json"] }
thiserror = "2.0.17"
tokio = { version = "1.48.0", features = ["macros", "rt-multi-thread", "time"] }
tokio-cron-scheduler = "0.15.0"
tracing-actix-web = "0.7.11"
thiserror = "2.0.18"
tokio = { version = "1.50.0", features = ["macros", "rt-multi-thread", "time"] }
tokio-cron-scheduler = "0.15.1"
tracing-actix-web = "0.7.21"
tracing-bunyan-formatter = "0.3.9"
tracing-log = "0.2.0"
tracing-subscriber = { version = "0.3.18", features = ["registry", "env-filter"] }
tracing = { version = "0.1.40", features = ["log"] }
tracing-subscriber = { version = "0.3.23", features = ["registry", "env-filter"] }
tracing = { version = "0.1.44", features = ["log"] }
unicode-segmentation = "1.11.0"
urlencoding = "2.1.3"
uuid = { version = "1.18.1", features = ["v4"] }
rustls = "0.23.24"
rustls-pemfile = "2.2.0"
x509-parser = "0.18.0"
uuid = { version = "1.22.0", features = ["v4"] }
x509-parser = "0.18.1"

@@ -85,0 +84,0 @@ [features]

@@ -7,2 +7,2 @@ certifi==2025.1.31

requests==2.32.4
urllib3==2.5.0
urllib3==2.6.3

@@ -41,30 +41,22 @@ use crate::configuration::ArchivalConfig;

{
let job_factory = move |_uuid, _lock| {
let pool = pool.clone();
let config = config.clone();
println!("Archival process is running");
match Self::archive_old_records(pool, config).await {
Ok(_) => println!("successfully archived records"),
Err(e) => println!("Archival process failed. Check the logs for more info {e}"),
}
}
let job = Job::new_async(
config.cron_schedule.clone().as_str(),
move |_uuid, _lock| {
let pool = pool.clone();
let config = config.clone();
Box::pin(async move {
info!("Started scheduled archival process");
match Self::archive_old_records(pool, config).await {
Ok(_) => println!("Successfully archived records"),
Err(e) => {
println!("Archival process failed. Check the logs for more info {e}",)
}
Box::pin(async move {
info!("Started scheduled archival process");
match Self::archive_old_records(pool, config).await {
Ok(_) => println!("Successfully archived records"),
Err(e) => {
println!("Archival process failed. Check the logs for more info {e}",)
}
})
},
)?;
}
}) as std::pin::Pin<Box<dyn futures_util::Future<Output = ()> + Send>>
};
scheduler.add(job).await?;
let oneshot =
Job::new_one_shot_async(std::time::Duration::from_secs(1), job_factory.clone())?;
let cronjob = Job::new_async(self.config.cron_schedule.clone().as_str(), job_factory)?;
scheduler.add(oneshot).await?;
scheduler.add(cronjob).await?;
scheduler.start().await?;

@@ -325,3 +317,3 @@

AND stop_time < $2::timestamptz
LIMIT 10
LIMIT 1000
)

@@ -382,3 +374,3 @@ DELETE FROM auditor_accounting

let row = sqlx::query("SELECT COUNT(*) AS count FROM auditor_accounting WHERE stop_time > $1::timestamptz and stop_time <= $2::timestamptz")
let row = sqlx::query("SELECT COUNT(*) AS count FROM auditor_accounting WHERE stop_time >= $1::timestamptz and stop_time < $2::timestamptz")
.bind(a)

@@ -385,0 +377,0 @@ .bind(b)

@@ -14,4 +14,6 @@ // Copyright 2021-2022 AUDITOR developers

use rustls::{RootCertStore, ServerConfig, pki_types::PrivateKeyDer, server::WebPkiClientVerifier};
use rustls_pemfile::{certs, pkcs8_private_keys};
use rustls::{
RootCertStore, ServerConfig, pki_types::CertificateDer, pki_types::PrivateKeyDer,
pki_types::PrivatePkcs8KeyDer, pki_types::pem::PemObject, server::WebPkiClientVerifier,
};

@@ -56,5 +58,2 @@ use std::{fs::File, io::BufReader, sync::Arc};

//rustls::crypto::default_provider().install_default().expect("failed to install default crypto provider");
// CryptoProvider::install_default();
rustls::crypto::aws_lc_rs::default_provider()

@@ -80,3 +79,5 @@ .install_default()

let ca_cert = &mut BufReader::new(File::open(ca_cert_path)?);
let ca_cert = certs(ca_cert).collect::<Result<Vec<_>, _>>().unwrap();
let ca_cert = CertificateDer::pem_reader_iter(ca_cert)
.collect::<Result<Vec<_>, _>>()
.unwrap();

@@ -97,8 +98,12 @@ for cert in ca_cert {

let cert_chain = certs(cert_file).collect::<Result<Vec<_>, _>>().unwrap();
let mut keys = pkcs8_private_keys(key_file)
.map(|key| key.map(PrivateKeyDer::Pkcs8))
let cert_chain = CertificateDer::pem_reader_iter(cert_file)
.collect::<Result<Vec<_>, _>>()
.unwrap();
let config = config.with_single_cert(cert_chain, keys.remove(0)).unwrap();
let mut keys: Vec<PrivatePkcs8KeyDer<'_>> =
PrivatePkcs8KeyDer::pem_reader_iter(key_file)
.collect::<Result<Vec<_>, _>>()
.unwrap();
let config = config
.with_single_cert(cert_chain, PrivateKeyDer::Pkcs8(keys.remove(0)))
.unwrap();

@@ -105,0 +110,0 @@ let tls_params = TLSParams {

Metadata-Version: 2.1
Name: python-auditor
Version: 0.10.1
Version: 0.10.2
Classifier: Programming Language :: Rust

@@ -5,0 +5,0 @@ Classifier: Programming Language :: Python :: Implementation :: CPython

Sorry, the diff of this file is too big to display