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