Commit Graph
2877 Commits
Author SHA1 Message Date
Vitaliy Filippov 3afed2473e Implement TLS 1.3-like handshake manually 2026-07-05 14:58:24 +03:00
Vitaliy Filippov fdeacdcf30 Extract openssl-related code, wire ssl implementation back 2026-07-05 14:58:24 +03:00
Vitaliy Filippov d7ddd7752c Coalesce entries in send_out_buf 2026-07-05 14:58:24 +03:00
Vitaliy Filippov 2b2c7d5e39 Support isa-l_crypto for AES-XTS too 2026-07-05 14:58:24 +03:00
Vitaliy Filippov e26478c2e7 Fix xts+rdma encrypt errors 2026-07-05 14:58:24 +03:00
Vitaliy Filippov c7b9d30fd3 Fix "use-after-realloc" warning 2026-07-05 14:58:24 +03:00
Vitaliy Filippov 5803655840 Support isa-l_crypto for AES-GCM 2026-07-05 14:58:24 +03:00
Vitaliy Filippov 61ce26ba29 Remove WITH_OPENSSL from all files except http_client, always require OpenSSL 2026-07-05 14:58:24 +03:00
Vitaliy Filippov 32e651ec96 Use pools for GCM contexts 2026-07-05 14:58:23 +03:00
Vitaliy Filippov dbed0e94cb Try to run tests with AES-GCM 2026-07-05 14:58:09 +03:00
Vitaliy Filippov 8b39a268b9 Implement direct AES-256-GCM with a static key for benchmark 2026-07-05 14:58:09 +03:00
Vitaliy Filippov d40ba7c5ce Make sure to send all TLS data before continuing 2026-07-05 14:58:09 +03:00
Vitaliy Filippov 985257f2d7 Parse standard TLS record headers 2026-07-05 14:58:09 +03:00
Vitaliy Filippov a4f3383f21 Omit msgr_tls_record_hdr_t for non-tls data 2026-07-05 14:58:09 +03:00
Vitaliy Filippov b2d828ec84 Allow 2 and 4 byte per block chain_info (allow more than 255 snapshots with encryption) 2026-07-05 14:58:09 +03:00
Vitaliy Filippov b2a74de715 Implement OSD TLS support 2026-07-05 14:58:09 +03:00
Vitaliy Filippov 430761ad2e Allow to skip checksums for headers 2026-07-05 14:58:09 +03:00
Vitaliy Filippov 38a1f6937d Implement protocol-level checksums (xxhash3) 2026-07-05 14:58:09 +03:00
Vitaliy Filippov 8b46914999 Include xxhash3 x86dispatch 2026-07-05 14:58:09 +03:00
Vitaliy Filippov 1b81e60187 Do not use scrap_buffer in the client (it would block protocol checksum support) 2026-07-05 14:58:09 +03:00
Vitaliy Filippov 526c597cd0 Support TLS CN authentication and per-image permissions in vitastor-cli serve 2026-07-05 14:58:09 +03:00
Vitaliy Filippov 7a97783ead Add VitastorAuthFilter 2026-07-05 14:58:09 +03:00
Vitaliy Filippov b4425d8e65 Implement vitastor-cli ls-user, modify-user, remove-user commands 2026-07-05 14:58:09 +03:00
Vitaliy Filippov 1afda35bd3 Add image owner/owner_group/reader_group support (for antietcd VitastorAuthFilter) 2026-07-05 14:58:09 +03:00
Vitaliy Filippov 0953f5ebdd Support inline (string PEM) certificates and pkeys 2026-07-05 14:10:11 +03:00
Vitaliy Filippov 1b03615e50 Show encryption keys (only IDs) in the listing 2026-07-05 14:10:11 +03:00
Vitaliy Filippov 8f208c53df Support storing image encryption keys in Vault 2026-07-05 14:10:11 +03:00
Vitaliy Filippov c0d2dabe66 Prefer local etcd addresses and correctly cycle over them even when they need resolving
Seems slightly overcomplicated...
2026-07-05 14:10:10 +03:00
Vitaliy Filippov 6da4aaf176 Support DNS resolving via libc-ares 2026-07-05 14:10:10 +03:00
Vitaliy Filippov 5b6a6fce9a Batch handle_immediate_ops more 2026-07-05 14:10:10 +03:00
Vitaliy Filippov 79fb2def57 Add vitastor-cli create & modify --enc-key parameter 2026-07-05 14:10:10 +03:00
Vitaliy Filippov 7f5c24144b Support reading from snapshots encrypted with different keys 2026-07-05 14:10:10 +03:00
Vitaliy Filippov 3cf876fafa Support decryption with multiple keys 2026-07-05 14:10:10 +03:00
Vitaliy Filippov 771aa83282 Allow to return chain_info in response to reads 2026-07-05 14:10:10 +03:00
Vitaliy Filippov 03404ac95d Add basic AES-XTS client-side encryption support 2026-07-05 14:10:10 +03:00
Vitaliy Filippov decf314238 Rework msgr send/receive to allow encryption support 2026-07-05 14:10:10 +03:00
Vitaliy Filippov ab1849ff07 Move fromhexstr() to str_util 2026-07-05 14:10:10 +03:00
Vitaliy Filippov 33b18c7229 Add openapi description 2026-07-05 14:10:10 +03:00
Vitaliy Filippov 4a2efb29ec Slightly fix API return and input types 2026-07-05 14:10:10 +03:00
Vitaliy Filippov 00a432193a Implement vitastor-cli serve command to serve simple HTTP API 2026-07-05 14:10:10 +03:00
Vitaliy Filippov d83eb599a0 Implement HTTP server support O_o 2026-07-05 14:10:10 +03:00
Vitaliy Filippov c1c9b1975d Rename http_response_t to http_message_t 2026-07-05 14:10:10 +03:00
Vitaliy Filippov ba0d9ad9f2 Extract common HTTP context 2026-07-05 14:10:10 +03:00
Vitaliy Filippov 4feabc4ab6 Support xxhash 32-bit checksums (data_csum_type=xxh3_32) 2026-07-05 14:10:10 +03:00
Vitaliy Filippov 1a14301c50 Detect block checksums using csum_block_size, not data_csum_type 2026-07-05 14:09:57 +03:00
Vitaliy Filippov 5dc52a7c06 Add client certificate support 2026-07-05 14:09:57 +03:00
Vitaliy Filippov 4d45b27696 Do not re-initialize TLS context every connection 2026-07-05 14:09:57 +03:00
Vitaliy Filippov 5995c4a00f Add https support to antietcd 2026-07-05 14:09:57 +03:00
Vitaliy Filippov 906388adaa Implement etcd SSL support via OpenSSL
Maybe I should remove all of this and use libwebsockets :)
2026-07-05 14:09:57 +03:00
Vitaliy Filippov 5dbc679e16 Fix padded block checksums - v2 2026-07-05 14:09:57 +03:00