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 we were using in urlDecode
could be easily emulated in fewer LOC. This also ports the applicable test vectors over from libevent.