Support shared onion pool for DNS resolution in separate process
So it turns out that in irssi is doing DNS resolution in an other process and passing the result back to the first process which will make the connection.
This means that the two process have two distinct onion pools so the process doing the DNS resolution will store the onion address with the reserved cookie but the other process, when connecting using that cookie, will be unable to find the onion address in its pool.
One solution I have in mind is to create that onion pool in a shared memory (SHM) and hijack the clone/fork symbol so when we detect a new process we can set the onion pool reference in it thus sharing the pool across processes that have a common parent.
I have a PoC that works but maybe there could be an IPC approach instead.