Unless otherwise indicated, all changes made by Jelmer Vernooij. Ctrlproxy 3.0.8 UNRELEASED FEATURES * Only warn about inconsistency in server channel modes at start-up, rather than every time a mode is being used. Ctrlproxy 3.0.7 2008-06-14 FEATURES * Add 'create-implicit' option. BUG FIXES * Handle client-specific admin commands being run without a client more gracefully. * Be less verbose about unredirectable responses. * Avoid usage of blocking /dev/random for SSL code. (Andreas Schneider) * Move time in ctcp requests. (#197) * Support storing ban exception lists, realname ban lists and join throttling (MODE +e, MODE +d and MODE +J) as supported by hyperion. * Fix handling of channel and user modes. (#196) * Avoid disconnecting clients that are still waiting for a connection. (#198, David Ford) * Fix parsing of ``learn-nickserv'' setting. * Support listening on IPv6. * Handle 326 and 328 WHOIS replies. INTERNALS * Import non-blocking GIOChannel improvements from libsoap into the SSL wrapper code. (Andreas Schneider) Ctrlproxy 3.0.6 2008-04-13 IMPROVEMENTS * Add report-time-offset setting. * New settings ``port'', ``linestack'', ``logging'', ``password'', ``default-network'', ``auto-away-message'', ``auto-away-nick'', ``auto-away-enable'' and ``auto-away-time''. * Simplify files in networks/ further by storing keys in ~/.ctrlproxy/keys and having a list of channels to autojoin. (#76) * Only update autojoin settings when ctrlproxy is completely logged in. (#113) * Increase the debug level at which messages about joins/parts are logged. * Put linestack state data in separate files. This will make it possible in the future to remove some of the state files. * Avoid data overhead when responding to /NAMES out of cache. * Add --check-running option. * The pid file is now read to check whether another instance of ctrlproxy is already running. * ``bind'' is now also accepted in the global section of the network configuration. (#194) * New configuration variable ``autocmd'' in network configuration can contain a list (semi-colon-seperated) of commands to send when logged in to a server. (#152) BUG FIXES * Improve handling of empty pid files. (#186) * Handle out of disk space correctly. (#91) * Don't "forget" listener password. * Don't add all existing networks to autoconnect list. (#90) * Fix a couple of minor memory leaks. * Store CTCP ACTIONs for replication. * Warn about unknown networks listed for listeners rather than crash. * Fixed segfault when no conversion is being used. Patch by Ashish Shukla. * Don't use AI_ADDRCONFIG if it's not provided by the system. (#179) * Fix segfault when address type is not reachable at the moment. (#177) Patch by wahjava@gmail.com. * Abort startup when one or more listener ports are already in use. (#175) * Fix crash bug when client shuts down correctly. (#176) * Allow multi-character prefixes for users in channels. * Support EXTBAN parameter in 005 lines. * Handle 008 responses. * Cache more than just the first result returned in RPL_USERHOST. * Fix hostmask and response code returned by USERHOST in administration network. * Fix timestamp marshalling. (#180) * Correctly recognize error responses to WHOIS and WHOWAS. (#136) * Actually remove networks from disk when they have been removed in the configuration. * Parse removals of banlist entries correctly. * Correctly generate prefix when replicating users that have more than one mode set. (Martin Meredith) * Support NICKSERV and CHANSERV commands when tracking messages. * Handle incomplete PREFIX lines. (#192) * Re-open log files when HUP signal is received to allow rotation. (#183) * Avoid writing nick changes and quits to nick-specific files when not in a query with a user. (#173) * Fix occasional repeating of lines. (#75) * Fix outgoing SSL connections. (#128) * Send topic change time if known. * Support 249 response code. INTERNALS * A simple, single API is now used for managing modes. Ctrlproxy 3.0.5 2007-12-07 IMPROVEMENTS * Integrate auto-away module into the core. * New settings ``autosave'', ``replication'', ``learn-nickserv'', ``learn-network-name'', ``admin-log'', ``admin-user''. * Warn about unknown configuration file settings. (#15) * Support prefixing all lines with the time ("report-time = always"). (#169) * Allow using expansions in log file names for irssi. (#149) BUG FIXES * Handle 275 response correctly. * Fix memory error. (#170) * Fix several memory leaks. Ctrlproxy 3.0.4 2007-11-24 IMPROVEMENTS * Add ctrlproxy-admin command for command-line access to the admin network. * Send message to the client when ctrlproxy connects to the network. * Announce number of clients/channels during client login. (#162) * Add "set" command in the administration interface, including initial settings "log_level", "motd-file" and "report-time". (#6) * Add "default-network" setting. BUG FIXES * Don't allow disconnect of admin network. (#164) * Clearer error messages during disconnect. * Handle ping timeouts from server. (#158) * Don't crash when network of listener goes away. (#168) * Don't abort when sending colon to listener. (#167) * Handle 263 response correctly. * Properly send non-data lines when using repl_lastdisconnect. (#146) * No longer "skip" users on reconnect. (#146) * Check for empty argument to /CTRLPROXY BACKLOG (#132) * Integrate some more standard replication backends. * Allow specifying a network in the password, separated by a colon (:). (#11) * Integrate listeners into the core. * Reconcile log_custom and log_irssi. (#114) * Integrate socks support into listener code. Socks connections can now be accepted at the same port as other connections. * Allow configuring a single listener in ~/.ctrlproxy/config. * Several simplifications of the configuration file. * Recognize NS as command for NickServ (#145) * Start checking plugin versions. * Open log file if stdout goes away. * Make /AWAY with empty argument mark as unaway. (Adeodato Simó) * Automatically mark as unaway when a client connects and auto-away/no_client=true. (#150) * Add support for handling additional 005 parameters: HCN. * Compress /NAMES lines (#123). * Bail out when invalid arguments are specified on the command-line (Emanuele Giaquinta ) * Make connect to networks non-blocking. (#133) * Support IRCD 005 parameter. (#160) * Redirect DCC messages to clients. (#163) NEW FEATURES * New configuration option for auto-away: "client_limit". If set, the connection will never be changed to away if there are more than client_limit clients connected. Supersedes "only_noclient"; to achieve the effect of only_noclient=true, set client_limit=0. (Adeodato Simó) LICENSING * CtrlProxy is now licensed under the GNU GPLv3. INTERNALS * Moved some common logging code to the core. Ctrlproxy 3.0.3 2007-07-22 BUG FIXES * Handle 470 response correctly. * Recognize supported channel / user modes correctly. * Properly store topic_set_time and topic_set_by in the linestack. (#108) * Reset idle time when AWAY is used in auto-away (#121) * Fix crash when using /CTRLPROXY without arguments * Don't update config when we're disconnecting during shutdown. (#113) * Handle 354 response correctly. (#134) * Handle responses after forced joins correctly. (#125) * Handle 250 response correctly. (#138) * Handle 263 response correctly. (#135) * Handle 330 response correclty. (#137) * Handle 403 response correctly when sent in response to a MODE query. (#139) * Fall back to user name if real name is empty. * Handle 479 responses correctly. (#142) * Only send PRIVMSG and NOTICE lines during the BACKLOG command. (#143) * Support SILENCE without arguments. INTERNALS * Use GIOChannels for reading the motd. (patch by Emanuele Giaquinta ) PORTABILITY * Include netinet/in.h in src/utils.c and src/network.c. Required for building on FreeBSD. Reported by underlig. Ctrlproxy 3.0.2 2007-04-15 BUG FIXES * Support redirecting 396, 318, 437 and 330 replies. (#84) * Fixed redirect warnings for 251, 252, 253, 254, 265 and 266. * Don't abort when trying to send auto-AWAY while network is disconnected. * Handle CTRLPROXY command without any arguments. (#92) * Fixed crash when using SSL support. (#83) * Add support for storing topic set time and topic set by nick (#97). * Fixed CTCP source reply URL. (#86) * Hide assertion in g_key_file_free in free_config when a network has no associated file (patch by exg) * Fix coredump with --init when the default config cannot be opened (patch by exg) * Fix crash when CHARSET command fails (#89, #96) * Fall back to default charset if client charset can't be set (patch by Emanuele Giaquinta ) * Fix use of %S segfault in log_custom. (#111) * 005-lines are now forwarded to the end-client in a more structural manner. (#94) * Properly expand target in log_irssi if it is a comma-separated list (#9) (based on patch by Korbinian Rosenegger) * Properly expand target in log_custom if it is a comma-separated list (#9) (patch by Emanuele Giaquinta and Korbinian Rosenegger) * Don't append extra colon before RPL_TOPICWHOTIME (Korbinian Rosenegger) * Adding timed backlog in BACKLOG command without a channel (Korbinian Rosenegger) * Handle disconnects of clients properly (#108) * Fix handling of non-UTF8 characters in linestack_file. * Don't use CHARSETs by default (#117). * Never send origin to the server (#122). * Added support for 307 responses. FEATURES * More advanced help support * Add LOG_LEVEL command (#101) * Add 'make uninstall' (#95) * Do some more config checking (#102) * Show disconnect reason in admin network (#100) * Add support for handling additional 005 parameters: MAXCHANNELS, NICKLEN, MAXBANS, MODES, NICKLEN, MAXBANS, TOPICLEN, KICKLEN, AWAYLEN, MAXTARGETS, WALLCHOPS, WALLVOICES, RFC2812, PENALTY, FNC, SAFELIST, USERIP, CNOTICE, KNOCK, VCHANNELS, WHOX, CALLERID, ACCEPT, KEYLEN, USERLEN, HOSTLEN, MAXCHANNELLEN, MAXNICKLEN, DEAF, ELIST, MAXPARA, NAMESX, SECURELIST, WATCH REMOVE, MAP, OVERRIDE, VBANLIST and SILENCE * Print actual address that a listener bound to. INTERNALS * Remove is_private from line struct (#12). (patch by Emanuele Giaquinta ) * Implement ISON, USERHOST, WHO, WHOIS, JOIN, PART, AWAY for admin networks. (#99) PORTABILITY * Looks for check using pkg-config now. * Fix handling of addresses when listening on FreeBSD. (#87) DOCUMENTATION * Added more documentation to the help system. (#106) Ctrlproxy 3.0.1 2007-01-04 BUG FIXES * Logging for network state information has been simplified and been made less verbose. * 324 and 329 replies are now cached. * 352 and 315 replies are now (optionally) cached. The "max_who_age" setting can be set to the number of seconds that results should be cached. This prevents "Excess Flood" errors when connecting using several xchat clients at once. Can be disabled by setting max_who_age=0 (the default). * Fixed bug in administration command (reported by Daniel Poelzleithner) * Fix invalid assert in auto-away (reported by Daniel Poelzleithner) * Fix rejoining parted channels on restart (#78) * Fix erroneus toggling of "report-time" setting (#77) * Fix endless loop in logging system when debug level is set to 5 (reported by _static_). * listener configuration is no longer truncated at exit. * Fix channel information not being replicated for the administration network. * Allow ports different than 6680 in ctrlproxy --init. (#85) PORTABILITY * Added replacement functions for g_file_{set,get}_contents, for those with GLib < 2.8 DOCUMENTATION UPDATES * Updated command documentation (thanks, Korbinian Rosenegger) * Updated requirements MINOR CHANGES * Fixed several compiler warnings Ctrlproxy 3.0 2006-12-08 This list is not complete. Several subsystems in ctrlproxy have been rewritten. BUG FIXES * NetBSD portability fixes. (Adrian Portelli) * Properly support strict-rfc1459 comparisons. * No longer depend on specific order of USER and NICK commands. * Fixed 100% CPU usage bug. * Fix large number of memory leaks. * Fix crash bug in log_custom (Korbinian Rosenegger) * Support 'true' RFC1459 string comparison. * Respect CASEMAPPING sent by server. * Support different NICK sent by client in replication. * Make repl_* work when NICK sent by client differs from current NICK. * Support mIRC and ksirc. * Fix bug with setting PRIVATE too often. * Fix issue with NickServ IDENTIFY'ing when connecting to server. * Fix problems with incorrectly added colons. INTERNALS * Reduce number of files generated by configure. * Moved source control system to Bazaar (http://www.bazaar-vcs.org/) * Use separate include files rather than one large one. * Get rid of complicated filter class system. * Several modules have been integrated into the ControlProxy binary to avoid (engineering) overhead. * There now is a testsuite that tests some of the internal functions. * Add 'debug' module for easier debugging. NEW FEATURES * Removed dependency on popt and libxml. * Enhance custom_log (Alexander Wild). * Add support for %B, %e and %Y in log_custom (Korbinian Rosenegger) * Support CONNECT proxy command as used by irssi and other clients. * Use new CtrlProxy-specific logging system. Logs go to ~/.ctrlproxy/log by default now when in daemon mode. * nickserv is now "self-learning". * Add socks module to allow connecting using SOCKS. * Install default configuration that is used when the user does not have a local configuration. * Support autogenerating a configuration using `ctrlproxy --init'. * Uses GNUTLS now rather than OpenSSL. * Remove linestack_memory and make linestack_file the default. * Admin module can now also work as a seperate ('virtual') network. * Make reconnect_timeout changeable (Alexander Wild) * Add inetd-style client support. * Support non-blocking connects. (Daniel Poelzleithner) * Parse 005 line sent by server for PREFIX, CHANTYPES, NETWORK. * Add ability to change NICK when away. * Add help support in admin module (Daniel Poelzleithner). * Allows connecting to networks on ~/.ctrlproxy/socket using unix domain sockets. * Write out PID file. * lots of other small improvements