Commit Graph
1541 Commits
Author SHA1 Message Date
Vitaliy Filippov 80a05c052a Add request size validation to prevent OOMDoS 2026-05-01 15:57:15 +03:00
Vitaliy Filippov a972c13571 Implement OSD-side authorization for operations 2026-04-29 02:42:23 +03:00
Vitaliy Filippov 9372df4beb Remove tls_ from option names 2026-04-27 15:41:00 +03:00
Vitaliy Filippov 24c27386b6 Remove TLS support (superseded by direct GCM) 2026-04-27 15:41:00 +03:00
Vitaliy Filippov 394de5e9aa Implement TLS 1.3-like handshake manually 2026-04-27 15:24:44 +03:00
Vitaliy Filippov be61e76df0 Extract openssl-related code, wire ssl implementation back 2026-04-27 15:24:44 +03:00
Vitaliy Filippov 5cad126987 Coalesce entries in send_out_buf 2026-04-27 15:24:44 +03:00
Vitaliy Filippov afa50a05b8 Support isa-l_crypto for AES-XTS too 2026-04-27 15:24:44 +03:00
Vitaliy Filippov 9ff833178e Fix xts+rdma encrypt errors 2026-04-27 15:24:44 +03:00
Vitaliy Filippov b152baa733 Fix "use-after-realloc" warning 2026-04-27 15:24:44 +03:00
Vitaliy Filippov 8dbbf4097a Support isa-l_crypto for AES-GCM 2026-04-27 15:24:44 +03:00
Vitaliy Filippov 17cb875e10 Remove WITH_OPENSSL from all files except http_client, always require OpenSSL 2026-04-27 15:24:44 +03:00
Vitaliy Filippov 03e15338e5 Use pools for GCM contexts 2026-04-27 15:24:44 +03:00
Vitaliy Filippov 440a8bc33a Implement direct AES-256-GCM with a static key for benchmark 2026-04-27 15:24:44 +03:00
Vitaliy Filippov 78a21542da Make sure to send all TLS data before continuing 2026-04-27 15:24:44 +03:00
Vitaliy Filippov 75ba9509ad Parse standard TLS record headers 2026-04-27 15:24:44 +03:00
Vitaliy Filippov 8b58fe9808 Omit msgr_tls_record_hdr_t for non-tls data 2026-04-27 15:24:44 +03:00
Vitaliy Filippov 331f345a78 Allow 2 and 4 byte per block chain_info (allow more than 255 snapshots with encryption) 2026-04-27 15:24:44 +03:00
Vitaliy Filippov d0a4ac914b Implement OSD TLS support 2026-04-27 15:24:44 +03:00
Vitaliy Filippov e42b812323 Allow to skip checksums for headers 2026-04-27 15:24:44 +03:00
Vitaliy Filippov ac5c753735 Implement protocol-level checksums (xxhash3) 2026-04-27 15:24:44 +03:00
Vitaliy Filippov f9eb497105 Include xxhash3 x86dispatch 2026-04-27 15:24:44 +03:00
Vitaliy Filippov 3489c99640 Do not use scrap_buffer in the client (it would block protocol checksum support) 2026-04-27 15:24:44 +03:00
Vitaliy Filippov a21dcd4480 Support TLS CN authentication and per-image permissions in vitastor-cli serve 2026-04-27 15:24:44 +03:00
Vitaliy Filippov ee462c4375 Implement vitastor-cli ls-user, modify-user, remove-user commands 2026-04-27 15:24:44 +03:00
Vitaliy Filippov 0053a0d825 Add image owner/owner_group/reader_group support (for antietcd VitastorAuthFilter) 2026-04-27 15:24:44 +03:00
Vitaliy Filippov c0e34b19c9 Support inline (string PEM) certificates and pkeys 2026-04-27 15:24:44 +03:00
Vitaliy Filippov e8abe99205 Show encryption keys (only IDs) in the listing 2026-04-27 15:24:44 +03:00
Vitaliy Filippov 8225b37f53 Support storing image encryption keys in Vault 2026-04-27 15:24:44 +03:00
Vitaliy Filippov 62b29b03c5 Prefer local etcd addresses and correctly cycle over them even when they need resolving
Seems slightly overcomplicated...
2026-04-27 15:24:44 +03:00
Vitaliy Filippov ae2f570b58 Support DNS resolving via libc-ares 2026-04-27 15:24:44 +03:00
Vitaliy Filippov d7f854ab3e Batch handle_immediate_ops more 2026-04-27 15:24:44 +03:00
Vitaliy Filippov 29640d1aac Add vitastor-cli create & modify --enc-key parameter 2026-04-27 15:24:44 +03:00
Vitaliy Filippov 66a016f8a1 Support reading from snapshots encrypted with different keys 2026-04-27 15:24:44 +03:00
Vitaliy Filippov 34d01f44db Support decryption with multiple keys 2026-04-27 15:24:44 +03:00
Vitaliy Filippov 3956982112 Allow to return chain_info in response to reads 2026-04-27 15:24:44 +03:00
Vitaliy Filippov 713b17e574 Add basic AES-XTS client-side encryption support 2026-04-27 15:24:44 +03:00
Vitaliy Filippov 4efa48c9ca Rework msgr send/receive to allow encryption support 2026-04-27 15:24:44 +03:00
Vitaliy Filippov 26d5e1ed00 Move fromhexstr() to str_util 2026-04-27 15:24:44 +03:00
Vitaliy Filippov 9ba3444cfa Add openapi description 2026-04-27 15:24:44 +03:00
Vitaliy Filippov 96c0001127 Slightly fix API return and input types 2026-04-27 15:24:44 +03:00
Vitaliy Filippov 56a14cc0bd Implement vitastor-cli serve command to serve simple HTTP API 2026-04-27 15:24:44 +03:00
Vitaliy Filippov 6ca1b9eca9 Implement HTTP server support O_o 2026-04-27 15:24:44 +03:00
Vitaliy Filippov 876dbd730a Rename http_response_t to http_message_t 2026-04-27 15:24:44 +03:00
Vitaliy Filippov 4398ee0377 Extract common HTTP context 2026-04-27 15:24:44 +03:00
Vitaliy Filippov 2c673a90bd Support xxhash 32-bit checksums (data_csum_type=xxh3_32) 2026-04-27 15:24:44 +03:00
Vitaliy Filippov a8371498e1 Detect block checksums using csum_block_size, not data_csum_type 2026-04-27 15:24:43 +03:00
Vitaliy Filippov 2a093cbfb5 Add client certificate support 2026-04-27 15:24:43 +03:00
Vitaliy Filippov 094a181491 Do not re-initialize TLS context every connection 2026-04-27 15:24:43 +03:00
Vitaliy Filippov e9a6c58418 Implement etcd SSL support via OpenSSL
Maybe I should remove all of this and use libwebsockets :)
2026-04-27 15:24:43 +03:00