<feed xmlns='http://www.w3.org/2005/Atom'>
<title>tesseras-paste, branch v0.1.0</title>
<subtitle>Decentralized pastebin built on tesseras-dht
</subtitle>
<link rel='alternate' type='text/html' href='http://git.tesseras.net/tesseras-paste/'/>
<entry>
<title>Add CHANGELOG.md for 0.1.0</title>
<updated>2026-03-25T20:26:54+00:00</updated>
<author>
<name>murilo ijanc</name>
</author>
<published>2026-03-25T20:26:54+00:00</published>
<link rel='alternate' type='text/html' href='http://git.tesseras.net/tesseras-paste/commit/?id=24c3402c9d27fc26bd3afe8c05276f52338514f8'/>
<id>24c3402c9d27fc26bd3afe8c05276f52338514f8</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Update README, bump tesseras-dht to 0.1.1, add project docs</title>
<updated>2026-03-25T20:19:16+00:00</updated>
<author>
<name>murilo ijanc</name>
</author>
<published>2026-03-25T20:19:16+00:00</published>
<link rel='alternate' type='text/html' href='http://git.tesseras.net/tesseras-paste/commit/?id=4c1597e0f28c2bea193818a8d84ff2073ea5c08f'/>
<id>4c1597e0f28c2bea193818a8d84ff2073ea5c08f</id>
<content type='text'>
- 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
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- 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
</pre>
</div>
</content>
</entry>
<entry>
<title>Limit stdin read in tp, bound protocol drain, document Arc leak</title>
<updated>2026-03-25T18:49:08+00:00</updated>
<author>
<name>murilo ijanc</name>
</author>
<published>2026-03-25T18:41:40+00:00</published>
<link rel='alternate' type='text/html' href='http://git.tesseras.net/tesseras-paste/commit/?id=290f53c38cdacd502eb6dda52f2ad207063e3973'/>
<id>290f53c38cdacd502eb6dda52f2ad207063e3973</id>
<content type='text'>
- 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
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- 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
</pre>
</div>
</content>
</entry>
<entry>
<title>Harden identity key permissions, atomic writes, and HTTP method</title>
<updated>2026-03-25T18:30:45+00:00</updated>
<author>
<name>murilo ijanc</name>
</author>
<published>2026-03-25T18:26:44+00:00</published>
<link rel='alternate' type='text/html' href='http://git.tesseras.net/tesseras-paste/commit/?id=62b68cc461b5e298add3ab190fe9a38f3efefe7a'/>
<id>62b68cc461b5e298add3ab190fe9a38f3efefe7a</id>
<content type='text'>
- 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 /
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- 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 /
</pre>
</div>
</content>
</entry>
<entry>
<title>Add missing pledge promises (drm, prot_exec) and source reference</title>
<updated>2026-03-25T18:13:38+00:00</updated>
<author>
<name>murilo ijanc</name>
</author>
<published>2026-03-25T18:13:38+00:00</published>
<link rel='alternate' type='text/html' href='http://git.tesseras.net/tesseras-paste/commit/?id=b6e3f14ebd0601b1604dcb29fba07b6446a140b7'/>
<id>b6e3f14ebd0601b1604dcb29fba07b6446a140b7</id>
<content type='text'>
Add reference to pledgereq[] in /usr/src/sys/kern/kern_pledge.c
and include drm and prot_exec that were missing from the list.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Add reference to pledgereq[] in /usr/src/sys/kern/kern_pledge.c
and include drm and prot_exec that were missing from the list.
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix clippy warnings: needless borrow and collapsible if</title>
<updated>2026-03-25T18:10:15+00:00</updated>
<author>
<name>murilo ijanc</name>
</author>
<published>2026-03-25T18:10:15+00:00</published>
<link rel='alternate' type='text/html' href='http://git.tesseras.net/tesseras-paste/commit/?id=63c080840a7567f67effa9703d7c94b488d22fc1'/>
<id>63c080840a7567f67effa9703d7c94b488d22fc1</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Log socket setup errors in Unix client handler</title>
<updated>2026-03-25T17:57:18+00:00</updated>
<author>
<name>murilo ijanc</name>
</author>
<published>2026-03-25T17:57:18+00:00</published>
<link rel='alternate' type='text/html' href='http://git.tesseras.net/tesseras-paste/commit/?id=71a839341e34c7808cc90a6e5e25d269588e989c'/>
<id>71a839341e34c7808cc90a6e5e25d269588e989c</id>
<content type='text'>
Warn when set_nonblocking or set_read_timeout fails instead of
silently disconnecting the client.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Warn when set_nonblocking or set_read_timeout fails instead of
silently disconnecting the client.
</pre>
</div>
</content>
</entry>
<entry>
<title>Handle HTTP connections in separate threads with cap of 8</title>
<updated>2026-03-25T17:56:50+00:00</updated>
<author>
<name>murilo ijanc</name>
</author>
<published>2026-03-25T17:56:50+00:00</published>
<link rel='alternate' type='text/html' href='http://git.tesseras.net/tesseras-paste/commit/?id=2f1f611bf7b48fc9dd5568ccca17c0c36b997200'/>
<id>2f1f611bf7b48fc9dd5568ccca17c0c36b997200</id>
<content type='text'>
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.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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.
</pre>
</div>
</content>
</entry>
<entry>
<title>Exit early if data directory cannot be created</title>
<updated>2026-03-25T17:55:41+00:00</updated>
<author>
<name>murilo ijanc</name>
</author>
<published>2026-03-25T17:55:41+00:00</published>
<link rel='alternate' type='text/html' href='http://git.tesseras.net/tesseras-paste/commit/?id=e93f672b2f9c7ce3c8deae5ddbadcd21ba919e33'/>
<id>e93f672b2f9c7ce3c8deae5ddbadcd21ba919e33</id>
<content type='text'>
Report the actual error instead of silently ignoring it and
failing later with a confusing message in PasteStore::open.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Report the actual error instead of silently ignoring it and
failing later with a confusing message in PasteStore::open.
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix critical data integrity and security issues</title>
<updated>2026-03-25T17:22:21+00:00</updated>
<author>
<name>murilo ijanc</name>
</author>
<published>2026-03-25T17:22:21+00:00</published>
<link rel='alternate' type='text/html' href='http://git.tesseras.net/tesseras-paste/commit/?id=b9f813fb4b7de1042370b529b9ccc036b208465b'/>
<id>b9f813fb4b7de1042370b529b9ccc036b208465b</id>
<content type='text'>
- 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
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- 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
</pre>
</div>
</content>
</entry>
</feed>
