So what happened that took the time?
1. I forgot *everything* (and had to re-re-re-read the manuals)
2. My main laptop died (RIP frogburg, it croaked it's last) and so I had to build everything back from scratch on my remaining machine. I also have a new desktop that I had so far avoided to set up, which I did at the same time.
3. Because the trunk had changed quite a bit, my feeble attempts to merge initially produced a veritable mess that added to the general confusion. It didn't help that this was my first merge that required actual work, nor did it help that I had a complete new install and for a few days didn't realise that kdiff3 wasn't installed, and thought that my code was broken (which it was, but not in this place) and so, I of course kept looking in the illuminated place for the door keys.
4. Somewhere in the new trunk code, a miracle happens. That is, it picks up the actual command line input en passant 3 functions deep whilst it reads the config file, and I had to break out gdb to search the haystack.
5. Every time I get stuck (or bored) I read a page of the TCP/IP book. I read a lot of TCP/IP book.
Anyway, here is the new branch, this time as a patch.