commit a6c8b8051eccbdcbaa219bf0afc97519a7d0d1a5 from: Omar Polo date: Mon Aug 28 21:38:09 2023 UTC don't let crypto_dispatch_server handle IMSG_CRYPTO_ECDSA_SIGN in this codepath. otherwise we end up with a mismatch where we expect a request but were sent a response. commit - 3cba037a11a67b63d8684dfe7a42779931316e91 commit + a6c8b8051eccbdcbaa219bf0afc97519a7d0d1a5 blob - b5aa68651a750c3a8ef4eea597bdc3c28ee3c92b blob + 1e6b858e5cb4fc61fdd44926aadd4afe7109e7c3 --- crypto.c +++ crypto.c @@ -455,7 +455,8 @@ ecdsae_send_enc_imsg(const unsigned char *dgst, int dg imsg.hdr.peerid, "crypto", imsg.hdr.pid); #endif - if (crypto_dispatch_server(ibuf->fd, p, &imsg) == 0) { + if (imsg.hdr.type != IMSG_CRYPTO_ECDSA_SIGN && + crypto_dispatch_server(ibuf->fd, p, &imsg) == 0) { /* Message was handled by the callback */ imsg_free(&imsg); continue;