1 Ctrlproxy 3.0.9 UNRELEASED
5 * Use port numbers rather than service names because not all
6 systems have ircd and ircs defined. (#209, Jelmer Vernooij)
8 * Fix compilation on Solaris. (#210, Jelmer Vernooij)
10 * Provide replacement for daemon() on Solaris. (#213, Jelmer Vernooij)
12 * Return hostmask of client itself rather than hostmask of
13 server when referring to the user. (#214, #166, #69, Jelmer Vernooij)
15 * Handle 308 and 309 replies. (Jelmer Vernooij)
17 * Don't send : for last argument in RPL_MYINFO, consistent with IRC
18 servers. (Jelmer Vernooij)
20 * Fix netsplits generated when connection to a network is lost.
23 * Fix crash in on_transport_log when no error is set. (#219,
26 * Fix crash in log_custom when the network is disconnected. (#212,
29 * Reduce memory usage by storing index for linestacks. (Jelmer Vernooij)
31 * Save nickserv passwords as part of 'saveconfig'. (Andreas Schneider)
33 * Fix transport_send_line crash. (Joe Bormolini, #402503)
35 * auto-away: when time limit set to <30, still register the client limit
36 hooks instead of disabling auto away completely. (Joe Bormolini)
38 * Process first argument to 005 responses. (Joe Bormolini)
42 * Provide Python bindings for the main library code. Mainly used for
43 unit testing at the moment, but will also become available to
44 ctrlproxy users at some point. (Jelmer Vernooij)
46 * Processes started by ctrlproxyd are now watched, and their status
47 is reported when they exit. (Jelmer Vernooij)
49 For 3.0.8 and earlier, unless otherwise indicated, all changes made by Jelmer
52 Ctrlproxy 3.0.8 2008-12-06
56 * Only warn about inconsistency in server channel modes at start-up,
57 rather than every time a mode is being used.
59 * Allow two connections to the same network. (#151)
61 * Support GSSAPI authentication for SOCKS.
63 * Support for multiple users using a system-wide daemon
64 (ctrlproxyd) that can be started at system start-up.
67 * Network configuration can now also be specified in
70 * Allow setting default-nick, default-username and
71 default-fullname in [global] section.
73 * Linestack is not disabled completely after a single
78 * Support 901 response codes.
80 * Don't write to nickserv file either if autosave=false.
82 * Avoid unknown command warning when sending PASS.
84 * Recognize UHNAMES and ESILENCE 005 parameters.
86 * Properly track nick names when doing fallback.
88 * Disable autosave by default.
90 * Properly spoof netsplit when ctrlproxy loses the connection to the
93 * Fail gracefully if getpeername() doesn't work.
95 * Don't crash when no argument is specified to STOPLISTENER. (#201)
97 * Fix segfault on FreeBSD because it doesn't like freeaddrinfo(NULL).
100 * Support 290 (CAPAB) response codes.
102 * Fix client-limit for auto-away. (Alex Stansfield)
104 * Send channel limits in mode. (#200)
106 * Don't crash on empty messages from client. (#206)
110 * Use generic storage for MODEs.
112 Ctrlproxy 3.0.7 2008-06-14
116 * Add 'create-implicit' option.
120 * Handle client-specific admin commands being run without a client
123 * Be less verbose about unredirectable responses.
125 * Avoid usage of blocking /dev/random for SSL code. (Andreas Schneider)
127 * Move time in ctcp requests. (#197)
129 * Support storing ban exception lists, realname ban lists and
130 join throttling (MODE +e, MODE +d and MODE +J) as supported by hyperion.
132 * Fix handling of channel and user modes. (#196)
134 * Avoid disconnecting clients that are still waiting for a connection.
137 * Fix parsing of ``learn-nickserv'' setting.
139 * Support listening on IPv6.
141 * Handle 326 and 328 WHOIS replies.
145 * Import non-blocking GIOChannel improvements from libsoap into
146 the SSL wrapper code. (Andreas Schneider)
149 Ctrlproxy 3.0.6 2008-04-13
153 * Add report-time-offset setting.
155 * New settings ``port'', ``linestack'', ``logging'', ``password'',
156 ``default-network'', ``auto-away-message'', ``auto-away-nick'',
157 ``auto-away-enable'' and ``auto-away-time''.
159 * Simplify files in networks/ further by storing keys in ~/.ctrlproxy/keys
160 and having a list of channels to autojoin. (#76)
162 * Only update autojoin settings when ctrlproxy is completely logged in.
165 * Increase the debug level at which messages about joins/parts are
168 * Put linestack state data in separate files. This will make it possible
169 in the future to remove some of the state files.
171 * Avoid data overhead when responding to /NAMES out of cache.
173 * Add --check-running option.
175 * The pid file is now read to check whether another instance of
176 ctrlproxy is already running.
178 * ``bind'' is now also accepted in the global section of the network
179 configuration. (#194)
181 * New configuration variable ``autocmd'' in network configuration
182 can contain a list (semi-colon-seperated) of commands to send when
183 logged in to a server. (#152)
187 * Improve handling of empty pid files. (#186)
189 * Handle out of disk space correctly. (#91)
191 * Don't "forget" listener password.
193 * Don't add all existing networks to autoconnect list. (#90)
195 * Fix a couple of minor memory leaks.
197 * Store CTCP ACTIONs for replication.
199 * Warn about unknown networks listed for listeners rather than crash.
201 * Fixed segfault when no conversion is being used. Patch by Ashish Shukla.
203 * Don't use AI_ADDRCONFIG if it's not provided by the system. (#179)
205 * Fix segfault when address type is not reachable at the moment. (#177)
206 Patch by wahjava@gmail.com.
208 * Abort startup when one or more listener ports are already in use.
211 * Fix crash bug when client shuts down correctly. (#176)
213 * Allow multi-character prefixes for users in channels.
215 * Support EXTBAN parameter in 005 lines.
217 * Handle 008 responses.
219 * Cache more than just the first result returned in RPL_USERHOST.
221 * Fix hostmask and response code returned by USERHOST in administration
224 * Fix timestamp marshalling. (#180)
226 * Correctly recognize error responses to WHOIS and WHOWAS. (#136)
228 * Actually remove networks from disk when they have been removed in
231 * Parse removals of banlist entries correctly.
233 * Correctly generate prefix when replicating users that have more
234 than one mode set. (Martin Meredith)
236 * Support NICKSERV and CHANSERV commands when tracking messages.
238 * Handle incomplete PREFIX lines. (#192)
240 * Re-open log files when HUP signal is received to allow
243 * Avoid writing nick changes and quits to nick-specific files
244 when not in a query with a user. (#173)
246 * Fix occasional repeating of lines. (#75)
248 * Fix outgoing SSL connections. (#128)
250 * Send topic change time if known.
252 * Support 249 response code.
256 * A simple, single API is now used for managing modes.
258 Ctrlproxy 3.0.5 2007-12-07
262 * Integrate auto-away module into the core.
264 * New settings ``autosave'', ``replication'', ``learn-nickserv'',
265 ``learn-network-name'', ``admin-log'', ``admin-user''.
267 * Warn about unknown configuration file settings. (#15)
269 * Support prefixing all lines with the time ("report-time = always"). (#169)
271 * Allow using expansions in log file names for irssi. (#149)
275 * Handle 275 response correctly.
277 * Fix memory error. (#170)
279 * Fix several memory leaks.
281 Ctrlproxy 3.0.4 2007-11-24
285 * Add ctrlproxy-admin command for command-line access to the admin network.
287 * Send message to the client when ctrlproxy connects to the network.
289 * Announce number of clients/channels during client login. (#162)
291 * Add "set" command in the administration interface, including
292 initial settings "log_level", "motd-file" and "report-time". (#6)
294 * Add "default-network" setting.
298 * Don't allow disconnect of admin network. (#164)
300 * Clearer error messages during disconnect.
302 * Handle ping timeouts from server. (#158)
304 * Don't crash when network of listener goes away. (#168)
306 * Don't abort when sending colon to listener. (#167)
308 * Handle 263 response correctly.
310 * Properly send non-data lines when using repl_lastdisconnect. (#146)
312 * No longer "skip" users on reconnect. (#146)
314 * Check for empty argument to /CTRLPROXY BACKLOG (#132)
316 * Integrate some more standard replication backends.
318 * Allow specifying a network in the password, separated by a colon (:).
321 * Integrate listeners into the core.
323 * Reconcile log_custom and log_irssi. (#114)
325 * Integrate socks support into listener code. Socks connections
326 can now be accepted at the same port as other connections.
328 * Allow configuring a single listener in ~/.ctrlproxy/config.
330 * Several simplifications of the configuration file.
332 * Recognize NS as command for NickServ (#145)
334 * Start checking plugin versions.
336 * Open log file if stdout goes away.
338 * Make /AWAY with empty argument mark as unaway. (Adeodato Simó)
340 * Automatically mark as unaway when a client connects and auto-away/no_client=true. (#150)
342 * Add support for handling additional 005 parameters: HCN.
344 * Compress /NAMES lines (#123).
346 * Bail out when invalid arguments are specified on the command-line
347 (Emanuele Giaquinta <e.giaquinta@glauco.it>)
349 * Make connect to networks non-blocking. (#133)
351 * Support IRCD 005 parameter. (#160)
353 * Redirect DCC messages to clients. (#163)
357 * New configuration option for auto-away: "client_limit". If set,
358 the connection will never be changed to away if there are more
359 than client_limit clients connected. Supersedes "only_noclient";
360 to achieve the effect of only_noclient=true, set client_limit=0.
365 * CtrlProxy is now licensed under the GNU GPLv3.
369 * Moved some common logging code to the core.
371 Ctrlproxy 3.0.3 2007-07-22
375 * Handle 470 response correctly.
377 * Recognize supported channel / user modes correctly.
379 * Properly store topic_set_time and topic_set_by in the
382 * Reset idle time when AWAY is used in auto-away (#121)
384 * Fix crash when using /CTRLPROXY without arguments
386 * Don't update config when we're disconnecting during shutdown. (#113)
388 * Handle 354 response correctly. (#134)
390 * Handle responses after forced joins correctly. (#125)
392 * Handle 250 response correctly. (#138)
394 * Handle 263 response correctly. (#135)
396 * Handle 330 response correclty. (#137)
398 * Handle 403 response correctly when sent in response to a MODE
401 * Fall back to user name if real name is empty.
403 * Handle 479 responses correctly. (#142)
405 * Only send PRIVMSG and NOTICE lines during the BACKLOG command. (#143)
407 * Support SILENCE without arguments.
411 * Use GIOChannels for reading the motd.
412 (patch by Emanuele Giaquinta <e.giaquinta@glauco.it>)
416 * Include netinet/in.h in src/utils.c and src/network.c. Required
417 for building on FreeBSD. Reported by underlig.
420 Ctrlproxy 3.0.2 2007-04-15
424 * Support redirecting 396, 318, 437 and 330 replies. (#84)
426 * Fixed redirect warnings for 251, 252, 253, 254, 265 and 266.
428 * Don't abort when trying to send auto-AWAY while network is
431 * Handle CTRLPROXY command without any arguments. (#92)
433 * Fixed crash when using SSL support. (#83)
435 * Add support for storing topic set time and topic set by nick (#97).
437 * Fixed CTCP source reply URL. (#86)
439 * Hide assertion in g_key_file_free in free_config when a network has no associated file (patch by exg)
441 * Fix coredump with --init when the default config cannot be opened (patch by exg)
443 * Fix crash when CHARSET command fails (#89, #96)
445 * Fall back to default charset if client charset can't be set
446 (patch by Emanuele Giaquinta <e.giaquinta@glauco.it>)
448 * Fix use of %S segfault in log_custom. (#111)
450 * 005-lines are now forwarded to the end-client in a more
451 structural manner. (#94)
453 * Properly expand target in log_irssi if it is a comma-separated list (#9)
454 (based on patch by Korbinian Rosenegger)
456 * Properly expand target in log_custom if it is a comma-separated list (#9)
457 (patch by Emanuele Giaquinta and Korbinian Rosenegger)
459 * Don't append extra colon before RPL_TOPICWHOTIME (Korbinian Rosenegger)
461 * Adding timed backlog in BACKLOG command without a channel
462 (Korbinian Rosenegger)
464 * Handle disconnects of clients properly (#108)
466 * Fix handling of non-UTF8 characters in linestack_file.
468 * Don't use CHARSETs by default (#117).
470 * Never send origin to the server (#122).
472 * Added support for 307 responses.
476 * More advanced help support
478 * Add LOG_LEVEL command (#101)
480 * Add 'make uninstall' (#95)
482 * Do some more config checking (#102)
484 * Show disconnect reason in admin network (#100)
486 * Add support for handling additional 005 parameters: MAXCHANNELS,
487 NICKLEN, MAXBANS, MODES, NICKLEN, MAXBANS, TOPICLEN, KICKLEN,
488 AWAYLEN, MAXTARGETS, WALLCHOPS, WALLVOICES, RFC2812, PENALTY,
489 FNC, SAFELIST, USERIP, CNOTICE, KNOCK, VCHANNELS, WHOX, CALLERID,
490 ACCEPT, KEYLEN, USERLEN, HOSTLEN, MAXCHANNELLEN,
491 MAXNICKLEN, DEAF, ELIST, MAXPARA, NAMESX, SECURELIST, WATCH
492 REMOVE, MAP, OVERRIDE, VBANLIST and SILENCE
494 * Print actual address that a listener bound to.
498 * Remove is_private from line struct (#12).
499 (patch by Emanuele Giaquinta <e.giaquinta@glauco.it>)
501 * Implement ISON, USERHOST, WHO, WHOIS, JOIN, PART, AWAY for admin networks. (#99)
505 * Looks for check using pkg-config now.
507 * Fix handling of addresses when listening on FreeBSD. (#87)
511 * Added more documentation to the help system. (#106)
514 Ctrlproxy 3.0.1 2007-01-04
518 * Logging for network state information has been simplified and been
521 * 324 and 329 replies are now cached.
523 * 352 and 315 replies are now (optionally) cached. The "max_who_age"
524 setting can be set to the number of seconds that results should be cached.
525 This prevents "Excess Flood" errors when connecting using several xchat clients
526 at once. Can be disabled by setting max_who_age=0 (the default).
528 * Fixed bug in administration command (reported by Daniel Poelzleithner)
530 * Fix invalid assert in auto-away (reported by Daniel Poelzleithner)
532 * Fix rejoining parted channels on restart (#78)
534 * Fix erroneus toggling of "report-time" setting (#77)
536 * Fix endless loop in logging system when debug level is
537 set to 5 (reported by _static_).
539 * listener configuration is no longer truncated at exit.
541 * Fix channel information not being replicated for the administration
544 * Allow ports different than 6680 in ctrlproxy --init. (#85)
548 * Added replacement functions for g_file_{set,get}_contents, for those
551 DOCUMENTATION UPDATES
553 * Updated command documentation (thanks, Korbinian Rosenegger)
555 * Updated requirements
559 * Fixed several compiler warnings
561 Ctrlproxy 3.0 2006-12-08
563 This list is not complete. Several subsystems in ctrlproxy have been
568 * NetBSD portability fixes. (Adrian Portelli)
570 * Properly support strict-rfc1459 comparisons.
572 * No longer depend on specific order of USER and NICK commands.
574 * Fixed 100% CPU usage bug.
576 * Fix large number of memory leaks.
578 * Fix crash bug in log_custom (Korbinian Rosenegger)
580 * Support 'true' RFC1459 string comparison.
582 * Respect CASEMAPPING sent by server.
584 * Support different NICK sent by client in replication.
586 * Make repl_* work when NICK sent by client differs from current NICK.
588 * Support mIRC and ksirc.
590 * Fix bug with setting PRIVATE too often.
592 * Fix issue with NickServ IDENTIFY'ing when connecting to server.
594 * Fix problems with incorrectly added colons.
598 * Reduce number of files generated by configure.
600 * Moved source control system to Bazaar (http://www.bazaar-vcs.org/)
602 * Use separate include files rather than one large one.
604 * Get rid of complicated filter class system.
606 * Several modules have been integrated into the ControlProxy binary
607 to avoid (engineering) overhead.
609 * There now is a testsuite that tests some of the internal functions.
611 * Add 'debug' module for easier debugging.
615 * Removed dependency on popt and libxml.
617 * Enhance custom_log (Alexander Wild).
619 * Add support for %B, %e and %Y in log_custom (Korbinian Rosenegger)
621 * Support CONNECT proxy command as used by irssi and other clients.
623 * Use new CtrlProxy-specific logging system.
624 Logs go to ~/.ctrlproxy/log by default now when in daemon mode.
626 * nickserv is now "self-learning".
628 * Add socks module to allow connecting using SOCKS.
630 * Install default configuration that is used when the user
631 does not have a local configuration.
633 * Support autogenerating a configuration using `ctrlproxy --init'.
635 * Uses GNUTLS now rather than OpenSSL.
637 * Remove linestack_memory and make linestack_file the default.
639 * Admin module can now also work as a seperate ('virtual') network.
641 * Make reconnect_timeout changeable (Alexander Wild)
643 * Add inetd-style client support.
645 * Support non-blocking connects. (Daniel Poelzleithner)
647 * Parse 005 line sent by server for PREFIX, CHANTYPES, NETWORK.
649 * Add ability to change NICK when away.
651 * Add help support in admin module (Daniel Poelzleithner).
653 * Allows connecting to networks on ~/.ctrlproxy/socket using
656 * Write out PID file.
658 * lots of other small improvements