The bug was it did free the yeslist/nolist elements but not the data in it (lp->value) :PP.
Changed to use free_str_list() instead, just like in exit_client.
* same for scan message
* don't say "you have not registered" on NOTICE in unregistered state.
* made a send_prot(aClient, ConfigItem_link) for sending PROTOCTL message,
takes care of sending ZIP in token in case of a ziplink (indeed, I don't
send "ZIP" if it's not marked as a ziplink).
* added automatic fallback tot uncompressed link in case one of the sides
has zip turned off or not compiled in.
* added configcheck for link::options::zip turned on when not compiled
in (just like we do with ssl).
- Currently it's not possible to compile with ZIP_LINKS _and_ SSL without changing zlib.h :(.
It really sucks... it's because zlib.h has a typedef for 'free_func' and this is also used
in openssl header files as a (useless) name... :((. I did some updates to allow future zlib
changes, dunnow if they will because it can break other zlib programs. It compiled fine at
windows, but not at Linux... you need to replace free_func to zlib_free_func in zlib.h in
order to get ZIP_LINKS + SSL to work... but like I said, that may break programs (ARGH!).
IsHidden(sptr) ? sptr->user->virthost : sptr->user->realhost
stuff to a simple GetHost(sptr) macro (defined in struct.h).
Smaller and less error phrone :). Also fixed the if IsHidden -> if (IsHidden
found by codemastr .
- Made async resolve-and-connect work
- Added link::options::nodnscache which means Unreal will not cache the host forever for
outgoing server connections, you could for example enable this if you are linking two servers
with an often changing host (like dyndns.org).
at windows and not at *NIX? Also it's incompatible with running as a service.
AFAIK it doesn't increase security very much: if you own the box you can easily
snif the keyboard, read the certificate from memory, etc..
- Fixed bug in +q/+a list (/mode #chan q) <= lol this was some historic
bug by DrBin or something ;). In case you wanna know.. the whole loop logic
was wrong... initalisation vs null pointer check... ;).
which is set if dead_link is called. You will now see "Write error",
"Max SendQ exceeded" etc error messages in the quit reason instead of just
the "Dead socket" message. Changed "notice" parameter of dead_link, now just
the reason and not a format string, maybe rename that var.