Move debug output into some debug function that can be enabled/disabled. Automatically try new nicks if there's no more configured nicks to try (e.g. if foo is in use, try foo1, foo2, etc.) Add various auto replay options: - All logs since the final client disconnected - All logs since the most recent client connect/disconnect - All logs since *you* last sent a message - All logs since X seconds ago (already implemented) - All logs since the current client last disconnected (track clients with some special token the client auto sends on connect) Allow log replay time to be specified with days:hours:minutes:seconds. Allow connecting to a passworded server. Might need to #include in blabouncer.c to make some operating systems and/or compilers happy. Can't update greeting if server changed our nick (e.g. nick protection), then we tried to change it back, but it was now in use (e.g. by services enforcer), so our 433 handling tries to change it again. Maybe only do 433 handling if we're not registered yet? (Might be fixed by adding missing free() to fix memory leak in this commit - need to re-test.) If ChanServ gives us +q upon and then +o upon JOINing a channel, we only see +o if we are connected to blabouncer. If (re)connecting, we see a strange ~@nick status. Also don't seem to be able to set -q from blabouncer. Support autojoining passworded channels. Test CTCP. Reconnect server if we get disconnected for some reason.