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