- Rewrote the IRC client protocol parser due the PART issue discovered in -41 (this change could break just about anything!) - Improved the channel mode, channel key and channel limit parsing in oer+MySQL (there is still room for improvement) - Improved the socket family detection so that oer+MySQL should no longer attempt to connect to a IPv4 address from a IPv6 address and visa versa (Thanks must go to Renzo) - Scheduled modes weren't adjusted when there was a nick change for a nick for which a scheduled mode existed, fixed - Fixed yet another IPv4 <-> IPv6 interoperatibility issue (Thanks must go to Emperor) - There was a missplaced freeaddrinfo() in network.c (Thanks must go to Lasse Lehtinen) - Added Operating System information to CTCP VERSION if supported (shown only to bot users) - Configure now checks for the availability of getaddrinfo() - dbconnect didn't actually reconnect to the database since mysql_ping() doesn't automatically attempt a reconnection (Thanks must go to Sekto) - dbconnect didn't check all MySQL connections, fixed - oer+MySQL will now attempt to re-establish a broken MySQL connection in 10 minute intervals, not 30 - When the database connection has been disconnected oer+MySQL will no longer attempt to clean expired autheds until the database connection is available again - I fixed a long lasting error in where oer+MySQL would sometimes get stuck in the server registration phase - Added notice flood protection (how on earth have I overlooked this one) - oer+MySQL would exit if it couldn't resolve the server hostname, fixed - Changed gethostbyname() references to getaddrinfo() - ECONNRESET in connect() is no longer seen as a fatal error - Implemented reset autheds, requires global admin authorization - Implemented reset masks, requires global admin authorization (Thanks must go to Refic) - cleanautheds() would flood shared bots if more than one authed was cleaned, fixed - Updated copyright strings to include year 2004