Jay 3d20e9c512 security: fix send-on-closed-channel panic; remove unbounded buffer.
Before, sends into the event buffer were not performed under mutex lock, meaning that the channel could be closed while a send is in progress, causing a panic. A relay flooding events while a Close was in progress could trigger a panic.
Also, a slow consumer in addition to a flooding relay would cause the buffered pipe to grow unboundedly, which could cause memory to run out.
Both of these were resolved by removing the buffered pipe altogether, sending directly into the events channel, and sending under mutex.
The tradeoff we accept is that to secure the code against remote vulnerabilities and ensure no messages are dropped, the consumer must drain the subscription channels to prevent backpressure and deadlocks.
2026-08-09 18:54:35 -04:00
2026-08-06 09:44:17 -04:00
2026-05-20 23:13:43 -04:00
2026-05-09 12:15:03 -04:00
2026-06-03 23:26:51 -04:00
2026-08-06 09:54:22 -04:00
2026-05-20 23:13:43 -04:00
2026-05-08 10:00:25 -04:00

Prism - A Nostr Messaging Framework built on Honeybee

S
Description
A Nostr messaging framework built on Honeybee for golang.
Readme MIT
378 KiB
Languages
Go 99.5%
Shell 0.5%