0KnowledgeNetwork / opt

Zero Knowledge Network's mixnet server plugins and client apps
GNU Affero General Public License v3.0
2 stars 1 forks source link

fix: walletshield with client2 crashes on payload size exceeded #63

Closed xendarboh closed 1 hour ago

xendarboh commented 5 hours ago
panic: COMPOSE SPHINX PACKET FAIL message too large: 64980 > 30000

goroutine 15 [running]:
github.com/katzenpost/katzenpost/client2.(*Client).SendCiphertext(0xc0001ec0b0, 0x44df10?)
  github.com/katzenpost/katzenpost@v0.0.43/client2/send.go:119 +0x108
github.com/katzenpost/katzenpost/client2.(*Daemon).send(0xc00007cdd0, 0xc000230960)
  github.com/katzenpost/katzenpost@v0.0.43/client2/daemon.go:353 +0xb7
github.com/katzenpost/katzenpost/client2.(*Daemon).egressWorker(0xc00007cdd0)
  github.com/katzenpost/katzenpost@v0.0.43/client2/daemon.go:234 +0x137
github.com/katzenpost/katzenpost/core/worker.(*Worker).Go.func1()
  github.com/katzenpost/katzenpost@v0.0.43/core/worker/worker.go:39 +0x52
created by github.com/katzenpost/katzenpost/core/worker.(*Worker).Go in goroutine 1
  github.com/katzenpost/katzenpost@v0.0.43/core/worker/worker.go:37 +0xaa
xendarboh commented 4 hours ago

While the more ultimate solution for payload size transcendence is being developed, prevent walletshield panics.

Detect payload size overflow, log it, and respond with an HTTP error code.