Commits
- Commit:
18fa0f13f64e69bf70addc1e28a8ab0a39207eb2- From:
- murilo ijanc <murilo@ijanc.org>
- Date:
Bump version to 0.1.2, update tesseras-dht to 0.1.3
- Commit:
660bc943ba26968692e731963e6b324299519542- From:
- murilo ijanc <murilo@ijanc.org>
- Date:
Document -v flag in tp(1) and tpd(1) man pages
- Commit:
441775eedc9687c7b038fc3bcf548093eb0a7dee- From:
- murilo ijanc <murilo@ijanc.org>
- Date:
Bump version to 0.1.1, update tesseras-dht to 0.1.2
- Commit:
4214189961d59b9de15e221a9c4b229c0d646e78- From:
- murilo ijanc <murilo@ijanc.org>
- Date:
Add automatic re-join and -v flag for verbose logging
When the routing table drops to zero peers, the daemon now
re-joins bootstrap nodes every 60s, unbanning their addresses
first so replies are not silently discarded.
Both tp and tpd accept -v for debug-level output without
needing RUST_LOG environment variable.
- Commit:
24c3402c9d27fc26bd3afe8c05276f52338514f8- From:
- murilo ijanc <murilo@ijanc.org>
- Date:
Add CHANGELOG.md for 0.1.0
- Commit:
4c1597e0f28c2bea193818a8d84ff2073ea5c08f- From:
- murilo ijanc <murilo@ijanc.org>
- Date:
Update README, bump tesseras-dht to 0.1.1, add project docs
- Rewrite README with features, usage, and links
- Bump tesseras-dht dependency from 0.1.0 to 0.1.1
- Add CODE_OF_CONDUCT.md and SECURITY.md
- Commit:
290f53c38cdacd502eb6dda52f2ad207063e3973- From:
- murilo ijanc <murilo@ijanc.org>
- Date:
Limit stdin read in tp, bound protocol drain, document Arc leak
- 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
- Commit:
62b68cc461b5e298add3ab190fe9a38f3efefe7a- From:
- murilo ijanc <murilo@ijanc.org>
- Date:
Harden identity key permissions, atomic writes, and HTTP method
- 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 /
- Commit:
b6e3f14ebd0601b1604dcb29fba07b6446a140b7- From:
- murilo ijanc <murilo@ijanc.org>
- Date:
Add missing pledge promises (drm, prot_exec) and source reference
Add reference to pledgereq[] in /usr/src/sys/kern/kern_pledge.c
and include drm and prot_exec that were missing from the list.
- Commit:
63c080840a7567f67effa9703d7c94b488d22fc1- From:
- murilo ijanc <murilo@ijanc.org>
- Date:
Fix clippy warnings: needless borrow and collapsible if
- Commit:
71a839341e34c7808cc90a6e5e25d269588e989c- From:
- murilo ijanc <murilo@ijanc.org>
- Date:
Log socket setup errors in Unix client handler
Warn when set_nonblocking or set_read_timeout fails instead of
silently disconnecting the client.
- Commit:
2f1f611bf7b48fc9dd5568ccca17c0c36b997200- From:
- murilo ijanc <murilo@ijanc.org>
- Date:
Handle HTTP connections in separate threads with cap of 8
A slow connection or DHT lookup (up to 30s) no longer blocks
the entire HTTP accept loop. Connections beyond the limit get
a 503 response.
- Commit:
e93f672b2f9c7ce3c8deae5ddbadcd21ba919e33- From:
- murilo ijanc <murilo@ijanc.org>
- Date:
Exit early if data directory cannot be created
Report the actual error instead of silently ignoring it and
failing later with a confusing message in PasteStore::open.
- Commit:
b9f813fb4b7de1042370b529b9ccc036b208465b- From:
- murilo ijanc <murilo@ijanc.org>
- Date:
Fix critical data integrity and security issues
- Atomic writes in store (write-to-temp + rename) to prevent
corruption on crash
- Validate DHT results against requested content hash to reject
forged data from malicious nodes
- Limit protocol line size to 128 KiB on Unix socket to prevent
memory exhaustion
- Use saturating_add for TTL expiry to prevent u64 overflow
- Commit:
57176d45cacb98f1968daa8f8b2efd2735da2731- From:
- murilo ijanc <murilo@ijanc.org>
- Date:
Add pledge(2) and unveil(2) sandboxing for tp and tpd
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.
- Commit:
ee25588324ca61275782a3628dd1838dae58e69e- From:
- murilo ijanc <murilo@ijanc.org>
- Date:
Add DNS SRV bootstrap discovery for automatic peer finding
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.
- Commit:
7aff2e1d279a4e442b32f49ca0a0eca065355787- From:
- murilo ijanc <murilo@ijanc.org>
- Date:
Initial commit: tesseras-paste decentralized pastebin
DHT-backed encrypted pastebin with two binaries (tp/tpd),
XChaCha20-Poly1305 encryption, content-addressed storage,
and Unix socket + HTTP interfaces.
