Compare commits
No commits in common. "3f2b0b5fd2b4d5209f41944f6b7c590036e403e1" and "5296587c39ea21f3436622e7dc5a81bf4d3ee9b3" have entirely different histories.
3f2b0b5fd2
...
5296587c39
4 changed files with 9 additions and 18 deletions
2
Cargo.lock
generated
2
Cargo.lock
generated
|
@ -886,7 +886,7 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "tokio-gemini"
|
||||
version = "0.5.1"
|
||||
version = "0.5.0"
|
||||
dependencies = [
|
||||
"async-trait",
|
||||
"base16ct",
|
||||
|
|
10
Cargo.toml
10
Cargo.toml
|
@ -1,6 +1,6 @@
|
|||
[package]
|
||||
name = "tokio-gemini"
|
||||
version = "0.5.1"
|
||||
version = "0.5.0"
|
||||
edition = "2021"
|
||||
license = "Apache-2.0"
|
||||
homepage = "https://unw.dc09.ru"
|
||||
|
@ -14,18 +14,18 @@ base16ct = "0.2.0"
|
|||
base64ct = "1.6.0"
|
||||
sha2 = "0.10.8"
|
||||
|
||||
async-trait = "0.1.81"
|
||||
num_enum = "0.7.3"
|
||||
bytes = "1.7.1"
|
||||
mime = "0.3.17"
|
||||
url = "2.5.2"
|
||||
|
||||
tokio = { version = "1.39.2", default-features = false, features = ["io-util", "net"] }
|
||||
tokio = { version = "1.39.2", features = ["io-util", "net"] }
|
||||
tokio-rustls = { version = "0.26.0", default-features = false, features = ["ring"] }
|
||||
rustls-webpki = "0.102.7"
|
||||
|
||||
dashmap = { version = "6.0.1", optional = true }
|
||||
hickory-client = { version = "0.24.1", optional = true }
|
||||
async-trait = "0.1.81"
|
||||
rustls-webpki = "0.102.7"
|
||||
|
||||
[dev-dependencies]
|
||||
tokio = { version = "1.39.2", features = ["macros", "rt-multi-thread"] }
|
||||
|
@ -47,4 +47,4 @@ path = "examples/simple.rs"
|
|||
[[example]]
|
||||
name = "main"
|
||||
path = "examples/main.rs"
|
||||
required-features = ["file-sscv", "dane"]
|
||||
required-features = ["file-sscv", "hickory"]
|
||||
|
|
|
@ -4,10 +4,10 @@ Gemini protocol client and server implementation written in Rust with Tokio.
|
|||
// Work in progress
|
||||
|
||||
## TODO
|
||||
- [x] Write tests for Client
|
||||
- [ ] Write tests for Client
|
||||
- [x] Check self-signed cert with DANE before trusting it
|
||||
- [x] Clean up `FileBasedCertVerifier` code
|
||||
- [ ] Add `SqliteBasedCertVerifier` (?)
|
||||
- [x] Implement automatic redirection following
|
||||
- [ ] Implement automatic redirection following
|
||||
- [ ] Implement client authorization
|
||||
- [ ] Implement server
|
||||
|
|
11
src/lib.rs
11
src/lib.rs
|
@ -1,14 +1,5 @@
|
|||
//! Gemini client and server implementaion in async Rust with Tokio and Rustls.
|
||||
//! You probably need [`Client::builder()`].
|
||||
//!
|
||||
//! # Features
|
||||
//! - `file-sscv`: known_hosts file parser and
|
||||
//! helper functions for verifying a self-signed certificate.
|
||||
//! - `dane`: alias to `hickory`.
|
||||
//! - `hickory`: custom DNS client, also required for
|
||||
//! a DANE-based verification.
|
||||
//! - `hickory-dot`: enables DNS-over-TLS.
|
||||
//! - `hickory-doh`: enables DNS-over-HTTPS.
|
||||
//! You probably need [`Client::builder()`]
|
||||
|
||||
pub mod certs;
|
||||
pub mod client;
|
||||
|
|
Loading…
Add table
Reference in a new issue