mirror of
https://github.com/bitcoin/bitcoin.git
synced 2026-01-21 07:39:08 +01:00
992c714451common: Don't terminate on null character in UrlDecode (Fabian Jahr)099fa57151scripted-diff: Modernize name of urlDecode function and param (Fabian Jahr)8f39aaae41refactor: Remove hooking code for urlDecode (Fabian Jahr)650d43ec15refactor: Replace libevent use in urlDecode with our own code (Fabian Jahr)46bc6c2aaatest: Add unit tests for urlDecode (Fabian Jahr) Pull request description: Fixes #29654 (as a side-effect) Removing dependencies is a general goal of the project and the xz backdoor has been an additional wake up call recently. Libevent shows many of the same symptoms, few maintainers and slow releases. While libevent can not be removed completely over night we should start removing it’s usage where it's possible, ideally with the end goal to removing it completely. This is a pretty easy win in that direction. The [`evhttp_uridecode` function from libevent](e0a4574ba2/http.c (L3542)) we were using in `urlDecode` could be easily emulated in fewer LOC. This also ports the [applicable test vectors over from libevent](https://github.com/libevent/libevent/blob/master/test/regress_http.c#L3430). ACKs for top commit: achow101: ACK992c714451theStack: Code-review ACK992c714451maflcko: ACK992c714451👈 stickies-v: ACK992c714451Tree-SHA512: 78f76ae7ab3b6710eab2aaac20f55eb0da7803e057eaa6220e865f328666a5399ef1a479702aaf630b2f974ad3aa15e2b6adac9c11bc8c3d4be21e8af1667fea