aboutsummaryrefslogtreecommitdiffstats
path: root/src/bin/tpd.rs
Commit message (Collapse)AuthorAgeFilesLines
* Limit stdin read in tp, bound protocol drain, document Arc leakmurilo ijanc2026-03-251-1/+3
| | | | | | | | - tp: limit stdin to 64 KiB + 1 byte to reject oversized pastes early without unbounded memory allocation - daemon: bound the oversized-line drain to MAX_LINE_SIZE so a client without newlines cannot block beyond the read timeout - tpd: document intentional Arc::into_raw leak in signal handler
* Harden identity key permissions, atomic writes, and HTTP methodmurilo ijanc2026-03-251-4/+24
| | | | | | | | | - Write identity.key with mode 0600 to prevent other users from reading the Ed25519 private seed - Use destination filename in atomic_write temp path to avoid collisions between concurrent writes to different files - Reject HTTP methods other than GET/HEAD with 405 - Return "Hello Tesseras World" on GET /
* Fix clippy warnings: needless borrow and collapsible ifmurilo ijanc2026-03-251-9/+9
|
* Exit early if data directory cannot be createdmurilo ijanc2026-03-251-2/+8
| | | | | Report the actual error instead of silently ignoring it and failing later with a confusing message in PasteStore::open.
* Add pledge(2) and unveil(2) sandboxing for tp and tpdmurilo ijanc2026-03-251-0/+18
| | | | | | | tpd: unveil data dir (rwc), resolv.conf (r) when DNS needed, then pledge stdio rpath wpath cpath fattr inet unix dns. tp: unveil socket path (rw), then pledge stdio unix rpath.
* Add DNS SRV bootstrap discovery for automatic peer findingmurilo ijanc2026-03-251-4/+22
| | | | | | tpd now queries _tesseras._udp.tesseras.net SRV records to discover bootstrap peers when no -b flag is given. Add -n flag to disable this automatic discovery for seed/isolated nodes.
* Initial commit: tesseras-paste decentralized pastebinmurilo ijanc2026-03-251-0/+293
DHT-backed encrypted pastebin with two binaries (tp/tpd), XChaCha20-Poly1305 encryption, content-addressed storage, and Unix socket + HTTP interfaces.