Handle client-specific admin commands being run without a client more gracefully.
[jelmer/ctrlproxy.git] / NEWS
1 Unless otherwise indicated, all changes made by Jelmer Vernooij.
2
3 Ctrlproxy 3.0.7 UNRELEASED
4
5   BUG FIXES
6
7     * Handle client-specific admin commands being run without a client 
8       more gracefully.
9   
10
11 Ctrlproxy 3.0.6 2008-04-13
12
13   IMPROVEMENTS
14
15     * Add report-time-offset setting.
16     
17     * New settings ``port'', ``linestack'', ``logging'', ``password'',
18       ``default-network'', ``auto-away-message'', ``auto-away-nick'', 
19       ``auto-away-enable'' and ``auto-away-time''.
20
21     * Simplify files in networks/ further by storing keys in ~/.ctrlproxy/keys 
22       and having a list of channels to autojoin. (#76)
23
24     * Only update autojoin settings when ctrlproxy is completely logged in. 
25       (#113)
26
27     * Increase the debug level at which messages about joins/parts are 
28       logged.
29
30     * Put linestack state data in separate files. This will make it possible 
31       in the future to remove some of the state files.
32
33     * Avoid data overhead when responding to /NAMES out of cache.
34
35     * Add --check-running option.
36
37     * The pid file is now read to check whether another instance of 
38       ctrlproxy is already running.
39
40     * ``bind'' is now also accepted in the global section of the network 
41       configuration. (#194)
42
43     * New configuration variable ``autocmd'' in network configuration 
44           can contain a list (semi-colon-seperated) of commands to send when
45           logged in to a server. (#152)
46
47   BUG FIXES
48
49     * Improve handling of empty pid files. (#186)
50
51     * Handle out of disk space correctly. (#91)
52
53     * Don't "forget" listener password.
54
55     * Don't add all existing networks to autoconnect list. (#90)
56
57     * Fix a couple of minor memory leaks.
58
59     * Store CTCP ACTIONs for replication.
60
61     * Warn about unknown networks listed for listeners rather than crash.
62
63     * Fixed segfault when no conversion is being used. Patch by Ashish Shukla.
64
65     * Don't use AI_ADDRCONFIG if it's not provided by the system.  (#179)
66
67     * Fix segfault when address type is not reachable at the moment. (#177)
68       Patch by wahjava@gmail.com.
69
70     * Abort startup when one or more listener ports are already in use. 
71       (#175)
72
73     * Fix crash bug when client shuts down correctly. (#176)
74
75     * Allow multi-character prefixes for users in channels.
76
77     * Support EXTBAN parameter in 005 lines.
78
79     * Handle 008 responses.
80
81     * Cache more than just the first result returned in RPL_USERHOST.
82
83     * Fix hostmask and response code returned by USERHOST in administration 
84       network.
85
86     * Fix timestamp marshalling. (#180)
87
88     * Correctly recognize error responses to WHOIS and WHOWAS. (#136)
89
90     * Actually remove networks from disk when they have been removed in 
91       the configuration.
92
93     * Parse removals of banlist entries correctly.
94
95     * Correctly generate prefix when replicating users that have more 
96       than one mode set. (Martin Meredith)
97
98     * Support NICKSERV and CHANSERV commands when tracking messages.
99
100     * Handle incomplete PREFIX lines. (#192)
101
102     * Re-open log files when HUP signal is received to allow 
103       rotation. (#183)
104
105     * Avoid writing nick changes and quits to nick-specific files
106       when not in a query with a user. (#173)
107
108     * Fix occasional repeating of lines. (#75)
109
110     * Fix outgoing SSL connections. (#128)
111
112     * Send topic change time if known.
113
114         * Support 249 response code.
115
116   INTERNALS
117
118     * A simple, single API is now used for managing modes.
119
120 Ctrlproxy 3.0.5 2007-12-07
121
122   IMPROVEMENTS
123   
124     * Integrate auto-away module into the core.
125
126     * New settings ``autosave'', ``replication'', ``learn-nickserv'', 
127       ``learn-network-name'', ``admin-log'', ``admin-user''.
128
129     * Warn about unknown configuration file settings. (#15)
130
131     * Support prefixing all lines with the time ("report-time = always"). (#169)
132
133     * Allow using expansions in log file names for irssi. (#149)
134
135   BUG FIXES
136
137     * Handle 275 response correctly.
138
139     * Fix memory error. (#170)
140
141     * Fix several memory leaks.
142
143 Ctrlproxy 3.0.4 2007-11-24
144
145   IMPROVEMENTS
146
147     * Add ctrlproxy-admin command for command-line access to the admin network.
148
149     * Send message to the client when ctrlproxy connects to the network.
150
151     * Announce number of clients/channels during client login. (#162)
152
153     * Add "set" command in the administration interface, including 
154       initial settings "log_level", "motd-file" and "report-time". (#6)
155
156     * Add "default-network" setting.
157
158   BUG FIXES
159     
160     * Don't allow disconnect of admin network. (#164)
161
162     * Clearer error messages during disconnect.
163
164     * Handle ping timeouts from server. (#158)
165
166     * Don't crash when network of listener goes away. (#168)
167
168     * Don't abort when sending colon to listener. (#167)
169
170     * Handle 263 response correctly.
171
172     * Properly send non-data lines when using repl_lastdisconnect. (#146)
173
174     * No longer "skip" users on reconnect. (#146)
175
176     * Check for empty argument to /CTRLPROXY BACKLOG (#132)
177
178     * Integrate some more standard replication backends. 
179
180     * Allow specifying a network in the password, separated by a colon (:). 
181       (#11)
182
183     * Integrate listeners into the core.
184
185     * Reconcile log_custom and log_irssi. (#114)
186
187     * Integrate socks support into listener code. Socks connections 
188       can now be accepted at the same port as other connections.
189
190     * Allow configuring a single listener in ~/.ctrlproxy/config.
191
192     * Several simplifications of the configuration file.
193
194     * Recognize NS as command for NickServ (#145)
195
196     * Start checking plugin versions.
197
198     * Open log file if stdout goes away.
199
200     * Make /AWAY with empty argument mark as unaway. (Adeodato Simó)
201
202     * Automatically mark as unaway when a client connects and auto-away/no_client=true. (#150)
203
204     * Add support for handling additional 005 parameters: HCN.
205
206     * Compress /NAMES lines (#123).
207
208     * Bail out when invalid arguments are specified on the command-line
209       (Emanuele Giaquinta <e.giaquinta@glauco.it>)
210
211     * Make connect to networks non-blocking. (#133)
212
213     * Support IRCD 005 parameter. (#160)
214
215     * Redirect DCC messages to clients. (#163)
216
217   NEW FEATURES
218
219     * New configuration option for auto-away: "client_limit". If set,
220       the connection will never be changed to away if there are more
221       than client_limit clients connected. Supersedes "only_noclient";
222       to achieve the effect of only_noclient=true, set client_limit=0.
223       (Adeodato Simó)
224
225   LICENSING
226
227     * CtrlProxy is now licensed under the GNU GPLv3.
228
229   INTERNALS
230
231     * Moved some common logging code to the core.
232
233 Ctrlproxy 3.0.3 2007-07-22
234
235   BUG FIXES
236
237     * Handle 470 response correctly.
238
239     * Recognize supported channel / user modes correctly.
240     
241     * Properly store topic_set_time and topic_set_by in the 
242       linestack. (#108)
243
244     * Reset idle time when AWAY is used in auto-away (#121)
245
246     * Fix crash when using /CTRLPROXY without arguments
247
248     * Don't update config when we're disconnecting during shutdown. (#113)
249
250     * Handle 354 response correctly. (#134)
251
252     * Handle responses after forced joins correctly. (#125)
253
254     * Handle 250 response correctly. (#138)
255
256     * Handle 263 response correctly. (#135)
257
258     * Handle 330 response correclty. (#137)
259
260     * Handle 403 response correctly when sent in response to a MODE 
261       query. (#139)
262
263     * Fall back to user name if real name is empty. 
264
265     * Handle 479 responses correctly. (#142)
266
267     * Only send PRIVMSG and NOTICE lines during the BACKLOG command. (#143)
268
269     * Support SILENCE without arguments. 
270
271   INTERNALS
272
273     * Use GIOChannels for reading the motd. 
274         (patch by Emanuele Giaquinta <e.giaquinta@glauco.it>)
275
276   PORTABILITY
277     
278     * Include netinet/in.h in src/utils.c and src/network.c. Required 
279       for building on FreeBSD. Reported by underlig.
280
281
282 Ctrlproxy 3.0.2 2007-04-15
283
284   BUG FIXES
285
286     * Support redirecting 396, 318, 437 and 330 replies. (#84)
287
288     * Fixed redirect warnings for 251, 252, 253, 254, 265 and 266.
289
290     * Don't abort when trying to send auto-AWAY while network is 
291       disconnected.
292
293     * Handle CTRLPROXY command without any arguments. (#92)
294
295     * Fixed crash when using SSL support. (#83)
296
297     * Add support for storing topic set time and topic set by nick (#97).
298
299     * Fixed CTCP source reply URL. (#86)
300
301     * Hide assertion in g_key_file_free in free_config when a network has no associated file (patch by exg)
302
303     * Fix coredump with --init when the default config cannot be opened (patch by exg)
304
305     * Fix crash when CHARSET command fails (#89, #96)
306
307     * Fall back to default charset if client charset can't be set 
308         (patch by Emanuele Giaquinta <e.giaquinta@glauco.it>)
309
310     * Fix use of %S segfault in log_custom. (#111)
311
312     * 005-lines are now forwarded to the end-client in a more 
313       structural manner. (#94)
314     
315     * Properly expand target in log_irssi if it is a comma-separated list (#9)
316         (based on patch by Korbinian Rosenegger)
317
318     * Properly expand target in log_custom if it is a comma-separated list (#9)
319         (patch by Emanuele Giaquinta and Korbinian Rosenegger)
320
321     * Don't append extra colon before RPL_TOPICWHOTIME (Korbinian Rosenegger)
322
323     * Adding timed backlog in BACKLOG command without a channel 
324       (Korbinian Rosenegger)
325
326     * Handle disconnects of clients properly (#108)
327
328     * Fix handling of non-UTF8 characters in linestack_file.
329
330     * Don't use CHARSETs by default (#117).
331
332     * Never send origin to the server (#122).
333
334     * Added support for 307 responses. 
335
336   FEATURES
337
338     * More advanced help support
339
340     * Add LOG_LEVEL command (#101)
341
342     * Add 'make uninstall' (#95)
343
344     * Do some more config checking (#102)
345
346     * Show disconnect reason in admin network (#100)
347
348     * Add support for handling additional 005 parameters: MAXCHANNELS,
349         NICKLEN, MAXBANS, MODES, NICKLEN, MAXBANS, TOPICLEN, KICKLEN, 
350         AWAYLEN, MAXTARGETS, WALLCHOPS, WALLVOICES, RFC2812, PENALTY,
351         FNC, SAFELIST, USERIP, CNOTICE, KNOCK, VCHANNELS, WHOX, CALLERID,
352         ACCEPT, KEYLEN, USERLEN, HOSTLEN, MAXCHANNELLEN, 
353         MAXNICKLEN, DEAF, ELIST, MAXPARA, NAMESX, SECURELIST, WATCH
354         REMOVE, MAP, OVERRIDE, VBANLIST and SILENCE
355
356     * Print actual address that a listener bound to.
357
358   INTERNALS
359
360     * Remove is_private from line struct (#12).
361         (patch by Emanuele Giaquinta <e.giaquinta@glauco.it>)
362
363     * Implement ISON, USERHOST, WHO, WHOIS, JOIN, PART, AWAY for admin networks. (#99)
364
365   PORTABILITY
366
367     * Looks for check using pkg-config now.
368
369     * Fix handling of addresses when listening on FreeBSD. (#87)
370
371   DOCUMENTATION
372       
373       * Added more documentation to the help system. (#106)
374
375
376 Ctrlproxy 3.0.1 2007-01-04
377
378   BUG FIXES
379
380     * Logging for network state information has been simplified and been 
381       made less verbose.
382
383     * 324 and 329 replies are now cached.
384
385     * 352 and 315 replies are now (optionally) cached. The "max_who_age" 
386       setting can be set to the number of seconds that results should be cached.
387       This prevents "Excess Flood" errors when connecting using several xchat clients
388       at once. Can be disabled by setting max_who_age=0 (the default).
389
390     * Fixed bug in administration command (reported by Daniel Poelzleithner)
391
392     * Fix invalid assert in auto-away (reported by Daniel Poelzleithner)
393
394     * Fix rejoining parted channels on restart (#78)
395
396     * Fix erroneus toggling of "report-time" setting (#77)
397     
398     * Fix endless loop in logging system when debug level is 
399       set to 5 (reported by _static_).
400     
401     * listener configuration is no longer truncated at exit.
402
403     * Fix channel information not being replicated for the administration 
404       network.
405
406     * Allow ports different than 6680 in ctrlproxy --init. (#85)
407
408   PORTABILITY
409   
410     * Added replacement functions for g_file_{set,get}_contents, for those 
411       with GLib < 2.8
412     
413   DOCUMENTATION UPDATES
414
415     * Updated command documentation (thanks, Korbinian Rosenegger)
416
417     * Updated requirements
418
419   MINOR CHANGES
420
421     * Fixed several compiler warnings
422
423 Ctrlproxy 3.0    2006-12-08
424
425   This list is not complete. Several subsystems in ctrlproxy have been 
426   rewritten.
427
428   BUG FIXES
429
430     * NetBSD portability fixes. (Adrian Portelli)
431
432     * Properly support strict-rfc1459 comparisons.
433
434     * No longer depend on specific order of USER and NICK commands.
435
436     * Fixed 100% CPU usage bug.
437
438     * Fix large number of memory leaks.
439
440     * Fix crash bug in log_custom (Korbinian Rosenegger)
441
442     * Support 'true' RFC1459 string comparison.
443
444     * Respect CASEMAPPING sent by server.
445
446     * Support different NICK sent by client in replication.
447
448     * Make repl_* work when NICK sent by client differs from current NICK.
449
450     * Support mIRC and ksirc.
451
452     * Fix bug with setting PRIVATE too often.
453
454     * Fix issue with NickServ IDENTIFY'ing when connecting to server.
455     
456     * Fix problems with incorrectly added colons.
457
458   INTERNALS
459
460     * Reduce number of files generated by configure.
461
462     * Moved source control system to Bazaar (http://www.bazaar-vcs.org/)
463
464     * Use separate include files rather than one large one.
465
466     * Get rid of complicated filter class system.
467
468     * Several modules have been integrated into the ControlProxy binary 
469       to avoid (engineering) overhead.
470
471     * There now is a testsuite that tests some of the internal functions.
472
473     * Add 'debug' module for easier debugging.
474
475   NEW FEATURES
476
477     * Removed dependency on popt and libxml.
478
479     * Enhance custom_log (Alexander Wild).
480
481     * Add support for %B, %e and %Y in log_custom (Korbinian Rosenegger)
482
483     * Support CONNECT proxy command as used by irssi and other clients.
484
485     * Use new CtrlProxy-specific logging system. 
486       Logs go to ~/.ctrlproxy/log by default now when in daemon mode.
487
488     * nickserv is now "self-learning".
489
490     * Add socks module to allow connecting using SOCKS.
491
492     * Install default configuration that is used when the user 
493       does not have a local configuration.
494
495     * Support autogenerating a configuration using `ctrlproxy --init'.
496
497     * Uses GNUTLS now rather than OpenSSL.
498
499     * Remove linestack_memory and make linestack_file the default.
500
501     * Admin module can now also work as a seperate ('virtual') network.
502
503     * Make reconnect_timeout changeable (Alexander Wild)
504
505     * Add inetd-style client support.
506
507     * Support non-blocking connects. (Daniel Poelzleithner)
508
509     * Parse 005 line sent by server for PREFIX, CHANTYPES, NETWORK.
510
511     * Add ability to change NICK when away.
512
513     * Add help support in admin module (Daniel Poelzleithner).
514
515     * Allows connecting to networks on ~/.ctrlproxy/socket using 
516       unix domain sockets.
517
518     * Write out PID file.
519
520     * lots of other small improvements