-
Notifications
You must be signed in to change notification settings - Fork 43
/
CHANGES
709 lines (621 loc) · 29.5 KB
/
CHANGES
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
Changes for 2.2.4:
------------------
Kobi Shmueli (1):
Fix USERHOST not to reveal the user's real hostname to IRC Operators
Emilio Escobar (1):
Remove oper-only restriction on userip and do not return real IP if client has hostmask on.
Changes for 2.2.3:
------------------
Emilio Escobar (1):
Send UHM type and mode on netburst
Ned T. Crigler (1):
Fix compliation errors on modern versions
Ryan Carsten Schmidt (2):
Add -I flags before user CPPFLAGS
Fix sys_errlist configure check in newer compilers
Changes for 2.2.2:
------------------
Ryan Smith (1):
Fix umode H propagation bug
Changes for 2.2.1:
------------------
Ryan Smith (3):
Remove old /who matching logic that breaks hostname searches
Fix bug with /rwho -h not hiding hostmasked clients properly
Wrap /rwho host checking logic in #ifdef USER_HOSTMASKING
Changes for 2.2.0:
------------------
rasengan (2):
Added /stats P to show listening ports (PR #134)
Ryan Smith (10):
Override clone limits with SVSCLONE (PR #148)
Updates to user hostmasking (PR #175)
Do not attempt to mask the Staff_Address for opers. (PR #175)
Do not allow opers who are already hostmasked to set +H as this results in weird /whois results. (PR #175)
Added new config.h option: NO_UMODE_H_FLOOD. Do not allow the user to change user mode H too often, to prevent WATCH flooding. (PR #175)
Do not allow user mode H to be changed if the user is in any channels. This is to prevent potential client-side weirdness from happening if a user's host changes while they're already in one or more channels. (PR #175)
Send out WATCH notifications if the hostname changes due to a mode H change. (PR #175)
Minor typo fixes.
Show UHM variables in /INFO.
Persist the uhm_type and uhm_uhmode values to disk to handle restarts properly.
Emilio Escobar (4):
Fixed oper block corruption when two opers share the same IP (PR #181)
Override softlimits with SVSCLONE (PR #162)
Decrease unknown count if cptr is in unknown state (PR #160)
Enable channel half ops (PR #184)
Kobi Shmueli (1):
Fix a small bug where the "Connect: No connet block found" notice has no prefix (PR #191)
Change user hostmask to send user's IP (PR #179)
Ned T. Crigler (1):
Make configure test support for extra compiler flags (PR #167)
jeian (1):
Add XFLAG documentation (PR #155)
Changes for 2.1.6:
------------------
Ryan Smith (4):
Fix broken /who +n due to bug introduced in 2.1.5 (PR #166)
Increase default key size for SSL setup script (PR #159)
Fix /stats n formatting (PR #132)
Fix spamfilter URL typo on template.conf (PR #157)
rasengan (3):
Allow local operators to UMODE +F (PR #149)
Add WEBIRC information to reference.conf (PR #140)
Update reference.conf for local oper UMODE F (PR #163)
Changes for 2.1.5:
------------------
Kobi Shmueli (18):
Check for local openssl installation first & rpath it too (PR 90)
USE_SYSLOG: Include nick!user@host in SSL errors (PR 91)
Add IRCERR_SSL to irc_get_sockerr() function (PR 91)
Treat normal connection closes by SSL users as such (PR 91)
Added new EXEMPT_WEBIRC XFLAG to exempt webirc users (PR 96)
Add half-ops support (PR 97)
Small fix to spamfilter's IDs (PR 98)
Check for default install directories in the configure script (PR 99)
Don't show servers to non-opers if show_links isn't enabled (PR 100)
Add the list of required packages to INSTALL (PR 102)
Add missing names to doc/Bahamut-team (PR 102)
Change SVSUHM to support optional parameter to control umode +H (PR 95)
Add NO_LOCAL_CMODE_h define to disable local cmode +h/-h (PR 97)
Small fix to m_aj() for JOIN 0 (PR 104)
Fix for a potential bug on AJ where 0 (partall) argument is used (PR 112)
Fix a bug on QUIT where xflags weren't always checked (PR 113)
Improve user host-masking support for WHO & RWHO (PR 122)
Add SVSCTRL command to let services control services join requests (PR 130)
Hollbrook Bunting (2):
Added MAX_MSG_TIME XFLAG, sets a maximum amount of messages that can be sent to a channel in x seconds (PR 92)
Add in MAX_MSG_TIME to DEFAULT for m_svsxcf (PR 101)
Ryan Smith (11):
Notify opers if the KILL flag was used on a spamfilter (PR 106)
Hide user's real host during topic changes if hostmasked (PR 117)
Fix our incorrect handling of IRC color code sequences (PR 118)
Update bahamut development credits with current team members (PR 119)
Fix SSL regression bug; only use libcrypto-compat code if SSL is enabled (thanks Colby Ross) (PR 120)
Add documentation for connect block "uflags" token (PR 121)
Add missing "P" to CHANMODES list (thanks, RuneB) (PR 125)
Fix /whois channel name truncation (thanks, brandon) (PR 126)
Allow squelched users to send messages to the services and stats addresses (PR 127)
Specify which channel the user cannot join (+R) or speak in (+M) (PR 128)
Fix compilation issues with OpenSSL version < 1.1.0 (PR 153)
Emilio Escobar (1):
Create SECURITY.md
Dimitri Pappas (1):
Add AUDITORIUM flag to CHANMODES to comply with RFC (PR 108)
fidsah (1):
Spelling correction to rehash notification (PR 93)
Changes for 2.1.4:
------------------
- typo fix (cptr --> sptr) that could lead to server crashes in some cases
- Duplicate USER_VERBOSE and OPER_VERBOSE xflags into USER_VERBOSEV2 and OPER_VERBOSEV2
(this will make it easier for us to enable them on upgraded servers without affecting non-upgraded servers).
- Don't accept too long hostnames from WEBIRC
- Don't allow WEBIRC to use 0.0.0.*, 127.0.0.* or Staff_Address
- Don't allow WEBIRC to use DEFAULT_STAFF_ADDRESS either
- Make sure the host on WEBIRC will have at least one dot
- Allow WEBIRC hosts to have a semicolon too (for IPv6 IP addresses)
Changes for 2.1.3 (private release):
------------------------------------
- Optimize sendto_channel_butone() and sendto_channel_butlocal() functions
- More sanity checks (just to be on the safe side...)
- Fix SVSXCF calls with no channel name on send_topic_burst()
- Cosmetic change (clarify what umode +y does)
- Fix a security bug on readwrite_client() that could lead to server crashes by SSL users
Changes for 2.1.2:
------------------
- Increase the umode buffer on register_user() to prevent a possible
buffer overflow
- Don't accept OPER commands from servers
- Cosmetic: mention that umode 0x00800 is free.
- Change UMODE_P to use 0x800
- Change all the umode(s) to long
- Let server admins see umodes with WHOIS (RPL_WHOISMODES)
- Let services change oper flags/modes with SVSMODE
- Don't complain about empty part messages (user/oper verbose)
- Change stripall() function to strip Hebrew characters as well
- Optimize stripall() function
- Change stripcolors() function to strip ASCII CODES 2-31
- Don't spam the network with the same channel topics
- Add NO_NICK_CHANGE xflag (XCF)
- Change send_umode() make sure the buffer isn't overflowed
- Increase sendnick_TS() function's umode buffer to 54 to be
consistent with register_user()
- Fix a few compile warnings
- Don't check spamfilter if a user messages/notices themselves
- Add support for spamfilter id and use it on warnings when possible
- Cosmetic comment fix
- Add target support to spamfilter
- Add NO_UTF8 xflag (XCF)
- spamfilter ids must end with a "]"
- Let opers use STATS S to see the spamfilter list
- Add counter for spamfitler matches
- Change stripcolors() to strip ASCII CODE 1 too (CTCPs & actions)
- Make cmode +p useful again
Changes for 2.1.1:
------------------
Kobi Shmueli (8):
Improved SpamFilter's STRIPALL flag
Extra check to sendto_alias() function
New module hooks
Add services join requests
Change SFAKILL to send OperServ nick!user@IP instead of just nick
Add more extended channel flags (XCF)
Add nick!user@host to the spamfilter warnings
Code cleanup (STAT_MASTER)
Ryan Smith (3):
Pass INSTALL_DIR to the modules installation script
Remove extraneous RSA, DSA, ECDSA, and EVP compability functions
Spamfilter oper flags
Hollbrook Bunting (1):
Remote /rehash
Changes for 2.1.0:
------------------
Kobi Shmueli (11):
Fixed m_message() to compile with old gcc 2.x (i.e. for FreeBSD 4.x).
Let server admins (and u:lined servers) see more info with /info: OS, socket engine type, maxconnections, etc.
Changed STATS o/c/i output to be in human-readable format (#35).
Added user host-masking feature. When enabled, users' hostnames are masked by default and users can use umode -H to unmask themselves.
Added module hook for WHOIS.
Updated version.c.SH (Kobi --> Kobi_S & added RuneB & skill).
Added spamfilter feature (https://www.dal.net/kb/view.php?kb=411).
Added extended channel flags (https://www.dal.net/kb/view.php?kb=414) (#41).
Automatically build & install modules if they exist (#40).
Exempt IRC Operators from the auditorium mode (cmode +A).
Let IRC Operators (both local and global) see cmode +j's settings with /mode #channel from outside the channel in addition to +l (#45).
Ryan Smith (6):
Allow U-lined servers to remove all network-wide bans in case of an emergency.
Allow bahamut to be compiled against OpenSSL versions >= 1.1.0.
Fixed compile warning.
Fixed modern compiler warnings and possible buffer overflows (#53).
Added support for kill -HUP to rehash SSL certificates, including adding proper sanity checks to all SSL rehashes.
Added support for ircd.crt to handle chain certificates.
Ned T. Crigler (1):
Resend the nicklist to a client in auditorium mode (#50).
Bradley Claghorn (3):
Updated opers.txt.
Default creation of ircd.smotd added.
Updated Makefile.in.
Michael Wobst (1):
m_trace(): added missing argument to RPL_TRACESERVER required for the %ld conversion specifier (#32).
Changes for 2.0.7:
------------------
Kobi Shmueli (1):
Fixed a bug on sendto_channel_butserv_me() function (src/send.c) The bug causes Bahamut to hide mode and topic changes even if the channel isn't in auditorium mode.
Changes for 2.0.6:
------------------
Kobi Shmueli (5):
Added SVSTAG command to let services add "tags" to users.
Added cmode +A (Auditorium mode).
Auditorium mode fixes (cmode +A)
Changed SVSTAG to send/receive umodes in text and fixed incorrect and missing comments.
Changes to deal with bogus akills
Ned T. Crigler (2):
Fix 63 character hostname truncation.
Fix pasteo in find_userban_exact.
Changes for 2.0.5:
------------------
Juan Baez (1):
Remove extra code on s_conf.c - bahamut issue #6 https://github.com/epiphani/bahamut/issues/6
Ned T. Crigler (1):
Don't truncate long hostnames.
phreakshow (1):
Update include/config.h
Changes for 2.0.4:
------------------
Ned T. Crigler (1):
Add the WEBIRC command.
William Pitcock (6):
res: portability improvements for uclibc
.gitignore: add include/setup.h.in.
include: remove setup.h.in.
ircd: clean up compiler warnings using -Wall
dh: avoid possible integer underflow using type enforcement.
ircd: various warning cleanups and type enforcement enhancements
Changes for 2.0.3:
------------------
Ned T. Crigler (1):
Fix va_list bug in sendto_all_servmask.
epiphani (1):
Enable CIDR bans by default.
Changes for 2.0.2
-----------------
Ned T. Crigler (4):
Clear dlerror() and ensure that dlsym never returns NULL
Fix identd connections on FreeBSD.
Make /who without any flags parse IP addresses and CIDR.
Remove references to utmp.h and utmp.
epiphani (1):
Updated version.c.SH
Changes for 2.0.1
-----------------
Kobi Shmueli (2):
Fixed the m_topic() SIGSEGV bug I introduced on Bahamut 2.0.0.
Added NO_LOCAL_CIDR_CHANNELBANS define.
Ned T. Crigler (1):
Fix compilation for FreeBSD 4
epiphani (2):
Fix crash in sendto_all_servmask when using x64 architectures
Remove legacy convert_conf tool
Changes for 2.0.0
-----------------
Emilio Escobar (4):
Fix SIGSEGV in vsprintf when compiled in 64-bit
Added check for Linux to use /dev/urandom instead of /dev/random. BSD /dev/random does not block like it does on Linux.
Fixed va_free statements and modified prefix_buffer to use copy of va_list to keep original defined.
Added needed va_end
Juan Baez (1):
Fixed problem with initconf() where the function would not call fclose after it was done with the config file.
Kobi Shmueli (2):
Re-added SVSNOOP to let services temporary disable all o:lines on a given server.
Support for nick!user@host topics, requires capab NICKIPSTR.
Ned T. Crigler (24):
Add NICKIPSTR capability.
Move zero IP checking into clones_add/clones_remove.
Add cipntoa, a function to return a client's IP address as a string.
Introduce the possibility of multiple address families.
Make clones.c support non-IPv4 addresses.
Refactor the functions in s_auth.c in preparation for IPv6 client support.
Refactor the functions in s_bsd.c in preparation for IPv6 client support.
Allow IPv6 clients to connect to the server.
Change the resolver to use a larger maximum hostname length.
Use improved hashing algorithms in the resolver.
Refactor the functions in res.c in preparation for IPv6 support.
Make resolving IPv6 hostnames work for clients.
Fix some problems found on FreeBSD 6.4
Fix relaying of NICKIPSTR NICK messages.
Fix some issues when receiving a numeric IP address from a server.
Reindent and cleanup lookup_confhost.
Allow connections to and from IPv6 servers.
Allow colons in klines.
Add bitncmp and inet_parse_cidr.
Add CIDR support to channel bans, O:lines and I:lines.
Add IPv6 CIDR support to /who and /rwho.
Add IPv6 CIDR support to klines.
Silence some warnings found on FreeBSD 8.2
Fix various problems with non-standard build configurations.
epiphani (6):
Fix compatibility with gcc 2.95 in zlink header include order
Update 005 numeric with +S channel mode
Fix misspelled file name
Allow Opers to view the state of +l and +k from outside the channel
Don't allow banned users to change topics on -t channels.
Update patchlevel. This is 2.0.0
Changes for 1.8.9
-----------------
Kobi Shmueli (2):
Made make install copy make-cert.cnf to INSTALL_DIR.
Fixed a memleak bug on SVSHOST if used twice on the same user (reported by DiAvOl).
Ned T. Crigler (1):
Fix safe_ssl_read/safe_ssl_write to return -1 for EWOULDBLOCK/EAGAIN.
epiphani (4):
Fix regression in make install
Fix badly declared bircmodule_free() in hooks header
Update build_version for more common version string
Significant update of autoconf/configure scripts
Changes for 1.8.8
-----------------
epiphani (2):
Fix possible null dereference in m_nick
Fix Makefile for BSD, and the lack of -i in sed
Changes for 1.8.7
-----------------
Kobi Shmueli (19):
Added SSL initizalation and rehashing stuff
Added the needed changes for SSL to acutally work
Added flags support for the port block and mark SSL users with SSL on the umode +c notice
Added make-cert.sh & make-cert.cnf to create the server certificate
Added SSL umode/cmode/flag
Let users/opers message +o users even if the sender is +R
Fixed NO_USER_STATS to allow /stats from u:lined servers
Rakarra's opernick patch
typo (UNKINE --> UNKLINE)
Let server admins set a maxrecvq per class block (take #2)
Added SVSPANIC (Stops users from sending commands to services).
Make kill -HUP remove all throttles.
Added umode +C
Re-added CHANKILL from the old 1.8.4-trunk (I think Quension wrote it).
Changed SVSHOLD to support channels.
Let SVSCLONE override local clone limits too.
Let services change hosts (take #5)
dccallow fix
Re-added the SERVICESHUB sutff with conf flags
Ned T. Crigler (2):
Force the cached banserial of a user to be updated on a SVSNICK.
Remove the use of ircsprintf.
epiphani (6):
Update docs to reflect SSL configuration support
Move make-cert tools into the tools directory
Fix up some templating and configure script stuff to make SSL tools install cleanly
Allow port definitions that do not perform DNS or ident checks.
Update notifcations for failed OPER attempts
Update TODO and Patchlevel. This is 1.8.7.
Changes for 1.8.6
-----------------
- Fix msg_has_ctrls() so it doesn't block non-control characters.
Changes for 1.8.5
-----------------
- Fixes for x64 - this is a combination of Kobi's work and my own.
- Fixed m_part() and m_quit() to ignore part/quit reasons from squelched users.
- Fixed compiler errors with gcc4.
- Changed a debug message that could leak servers' IPs to ADMIN_LEV. Thanks key!
- Fix configure tests for zlib removal.
- This patch is intended to mark SVSHOLDs as SBAN_SVSHOLD to stop them from being removed by a kill -HUP
- Fix several small issues where IPs would be displayed when they shouldnt be, from Kobi ([email protected])
- Do not display uplink of ulined servers, from Kobi ([email protected])
- Fix slight errors in m_who argument parsing, from kobi ([email protected])
- Do not display warnings about juped servers attempting to commit, from Kobi ([email protected]).
- Fixed m_invite to honor umode +R and silence restrictions.
- Two small rwho fixes to option parsing, from Kobi ([email protected])
- Add hooks for several events
- Remove zlib from the distribution - rely on the library provided by the system.
Changes for 1.8.4
-----------------
- Fixed recursive server removal for non-NOQUIT links
- Fixed TS desync during nick changes
- Fixed RWHO reporting wrong channel member flags
- Fixed RWHO limit handling during clone searches
- Fixed mangled SET LCLONES reply
- Fixed CTCP flud trips on CTCP ACTIONs (from scatterbrain)
- Fixed cmode +j 0 sync bug (again)
- Fixed crash when conf file doesn't exist on rehash
- Fixed conf include directive parsing
- Fixed non-hubs trying to autoconnect to multiple servers
- Fixed incorrect (R)WHO +t description in help
- Fixed motd timestamp handling (from scatterbrain)
- Fixed duplicate link reporting for Ulined servers
- Fixed numeric 338 colon placement
- Fixed trailing spaces added to AWAY messages
- Fixed channel modes not showing both +s and +p
- Fixed a race condition that could lead to crashes under flood load
- Fixed WHO incorrectly handling CIDR searches
- Fixed crash during bad server introductions
- Fixed an obscure bug with remotely targeted commands and local clients
(from toucan)
- Fixed misc conf parsing issues (from GeniusDex)
- Fixed unknown connection reporting in LUSERS
- Fixed LIST C> not working at all
- Fixed memory leaks in SVSHOLD and LIST options
- Fixed busy loops with the epoll socket engine
- Fixed LIST wildcard mask detection
- Fixed autoconnects being mysteriously disabled during conf changes
(from Mark Rutherford)
- Fixed autoconnects being used after deletion in some cases
- Fixed conf file not being found when ircd run from relative paths
(from Azoff)
- Fixed potential channel hash DoS (from Martin Mikkelsen)
- Fixed channel ctcp flood checks ignoring whether the flooder could speak
(from toucan)
- Increased channel ban list to 200 entries
- Increased channel invite list to 100 entries
- Increased channel exception list to 100 entries
- Increased WHOWAS cache to 8192 entries
- Removed WATCH and DCCALLOW limits for opers (from wshs)
- Removed 2-user minimum default for LIST filters
- Removed support for wildcard nick targets in remotable commands
- Changed join rate warnings to show IP instead of hostname
- Changed oper access flag * to include everything
- Changed failed link messages to provide more info to +A opers
- Changed cmode +c to block all control codes (except CTCP and ISO-2022)
- Changed RPL_TIME to include raw timestamp
- Changed ident handling to ignore encrypted pidentd responses
- Changed WATCH to apply flood penalties to repeat list requests
- Changed failed oper attempt notices to be more useful (from Unim4trix0)
- Changed ERR_NOTREGISTERED text to avoid confusion with svsheld nicks
- Added oper access flags for umodes ydb
- Added string probability calculation to RWHO
- Added automatic rejection of certain proxy types
- Added local storage system for klines, making UNKLINE work as expected
- Added CHECK NICK <nick> for opers to find sqlines/svsholds
- Added .rar to DCCALLOW
- Upgraded zlib to 1.2.3
- Return an error on +R send to -r clients
- Fixed watch status update not being sent to local users on SVSNICK
- Fixed a bug when source is a server on INFO
- Fixed dcc allow's handling with quoted filenames
- Changed join rate throttling (cmode +j) implementation
- uses a token bucket with debt to better handle distributed floods
- default setting for -j is now 8:6 (was 8:4)
- +j limits are now 2-20 joins, 1-60 seconds, ratio of 1/8 to 2/1
- Reworked memory accounting:
stats z shows short summary
stats Z shows detailed reports
MEMTRACE define in config.h to debug memory leaks, adds to Z report
- Changed general connection reporting format to reduce ambiguity
(affects stats L, trace, etc):
servers: name[host]
clients: nick!user@host
unknown: name([F]ident@host)
where name is a nick or "<unnamed>"
where F is:
? identd lookup in progress
+ valid identd response
- no identd response (ident is "unknown")
- Reworked m_message(). Behavior changes:
- corrected error responses
- error responses only sent for PRIVMSG, not NOTICE
- #hostmask target support removed
- no wildcard restrictions on $servermask target
- $$servermask target is now identical to $servermask
- U:lined clients talk through SILENCE
- RPL_AWAY response sent by sender's server, not recipient's
- services-related behavior controlled by config.h
(PASS_SERVICES_MSGS, SUPER_TARGETS_ONLY)
- Server protocol changes:
Shortform commands are used for non-ULined links
NS CS MS RS OS HS SS
Changes for 1.8.3
-----------------
- Fixed rehash bug with specific conf changes that caused memory
corruption and crashes
- Fixed a possible buffer overflow issue in oper hostmasking
- Fixed solaris devpoll socket engine logic problems.
- Fixed class reference counting errors.
- Fixed a bug with cmode +j propagation on resync
- Added a second set of join counters to send warning notices
to +d opers when the default thresholds are met. Still sends
a throttle notice when cmode +j thresholds are met.
- Changed ERR_BANLISTFULL to respond depending on which list
(+b/+I/+e) is full. From Unim4trix0 ([email protected]).
- Readded clone limiting (now better!), see doc/clones.txt
- Range limiting for cmode +j args (static 4:2 - 60:60, rate 1/8 - 2/1).
- Fixed spamming redudant cmode changes.
- Fixed bad handling of bogus oper messages (from Zeke Gomez).
- Fixed rehash issue with module blocks.
- Fixed samode with no mode arguments choosing one at random for you :)
- Increased throughput on data sent to clients.
- Changed ERR_CHANNELISFULL to respond depending on which limit
(+l/+j) is reached. From Unim4trix0 ([email protected]),
discovered by Watchminister ([email protected]).
- Changed cmode +O join rejection to use ERR_INVITEONLY numeric.
- Enabled umode +s (oper kills) for users, disabled +g (useless).
- RWHO now sports clone and joined channel awareness.
- Added flags token to allow blocks, see doc/reference.conf
- Allow blocks with passwords are now hidden from nonopers in /stats I
Changes for 1.8.2
-----------------
- fixed entropy generation on OpenBSD and cleaned up status messages
(from Mark19960)
- fixed cosmetic error in /stats C reply
- fixed autoconnect blast when connect->port was specified but not
class->connfreq (from Mark19960)
- fixed crash on /stats request from a server (from Mark19960)
- fixed invite exceptions not working at all (from wshs)
- fixed ban exemptions not affecting bquiet (from wshs)
- fixed -e/-I sync failure during netbursts of older channels
- tweaked reference.conf
- corrected new find_port() check
- now removing simbans (restrict blocks) on rehash (from Ballsy)
- fixed cosmetic errors in nick collision kills (from Goplat)
- Converted old "X line" messages to "X block"
- Changed stray free() to MyFree()
- Corrected a tolower() reference I missed the first time around
- Removed ancient prototype causing compile failures with gcc 3.4
- Fixed 005 WATCH token (was using incorrect number)
- Removed temporary debug code causing compile failure when !USE_SYSLOG
- Finished correcting same port, multiple IP binds
- stats L shows user IPs again (but still hides opers)
- Numerics 477 and 487 no longer hardcoded dal.net
- Fixed numeric responses for certain PRIVMSG/NOTICE targets
- Updated reference.conf and template.conf with additional bits and better
documentation of Allow block quirks
- Tweaked handling and display of removed-but-not-yet-deleted conf entries
after a rehash (Oper, Connect, Class)
- Oper block host entries are now matched against the user@host that would
appear on IRC (previously what they matched was a bit convoluted)
- Corrected class maxusers handling -- applies to the class, not the allow
block
- Updated 004 and 005 numerics
- trace now shows the class list again
- bquiet is now using deferred cache concept from ratbox to deal with ban
exemptions correctly
- Ban exemptions are now marked with type and checked during nick_is_banned()
- Begin unbreaking redundant ban check -- will take at least one more release
to complete
- Cleaned up related channel ban code
- CHOOK_10SEC is now called when it should be (from wshs)
- Unbroke modules command handling (from wshs)
- Fixed modules load crash when there was no Modules block in ircd.conf
(from wshs)
- Fixed SVSKILL crash on no parameters (from Zeke Gomez)
- Compile fixes for DNS_DEBUG and DEBUGMODE (but don't use DEBUGMODE)
- Compile fix for missing LINE_MAX
- Spellcheck: virii -> viruses (from The List)
- HIDE_LINKS functionality inverted and attached to show_links token in
Options block
- NO_CHANOPS_WHEN_SPLIT functionality inverted and attached to allow_split_ops
token in Options block
- Merging duplicate Allow blocks during rehash to avoid admin confusion
- Boolean Options block items can now be disabled by rehash
- Fixed "servtype hub" causing certain previously specified options to reset
to defaults
- Fixed a loop error report that was broken when it was introduced 11 years ago
- Ignoring SVSMODE +o/O attempts (not handled correctly)
- Repaired showing of +s channels in LIST to +A users
- Fixed and document DENY_SERVICES_MSGS (from wshs)
- Corrected structfunc.h prototypes for modules (from wshs)
- Added SVSMODE -e/-I support for channels
- Fixed .maxclients not being read on startup
- Rewrote m_invite(), behaves logically now
- Enabled cmode +j (joins:secs rate limit)
- Fixed resolver cache corruption (and crash), mostly affected newer RedHat
thanks huni and Sarcast for patience, analysis, and cores
- More conf documentation clarity
- Unresolved class reference in conf now reports class name
- Updated RPL_VERSION, RPL_ISUPPORT; now running from a cache in s_debug.c
- Removed sockhost data from RPL_YOURHOST, since it was always zeroed
- Squished more memory corruption bugs
thanks Glitch and dev0 for more patience and cores
- Module support is now unconditionally disabled under OS X
- Build system now handles FD_SETSIZE properly when using the select engine
- Internal maxconnections and SET MAX handling is rational again
ircd can run with as few as 20 FDs and support 10 clients
- Ripped out obsolete sendto_match_servs()
- Added support for non-noquit servers in #define NOQUIT
- Updated zlib to version 1.2.1
- Restricted stats q/Q/g to opers
- Show IPs in stats C to services and local +A
- Added RWHO, see /rwho ? and doc/pcrepattern.html for info
- Set +k and +s umodes to opers only.
- Fixed a bug in m_trace that caused cores when issuing a /trace when
connecting to a server.
- ERR_WHOSYNTAX reply changed to ERR_NOPRIVILEGES for non opers trying oper
restricted who, but using correct syntax
fixed by Unim4trix0 ([email protected])
Changes for 1.8.0
-----------------
- Removed backwards compatibility for:
- NOQUIT
- UNCONNECT
- TSMODE
- NICKIP
All of these modes are now REQUIRED.
- Removed Code and defines for outdated stuff:
- FOLLOW_IDENT_RFC
- NO_IDENT_SYSTYPE_OTHER
- NO_MIXED_CASE
- OLD_Y_LIMIT
- USE_REJECT_HOLD
This code is no longer used.
- Removed define options for:
- CLIENT_COUNT
This code is now manditory.
- Completely rewrote configuration structures.
- Rewrote methods for connecting to servers.
- Outdated Link structure config linking, now linking directly from
aClient(user/serv) structures to appropriate conf strucutures.
- Backported lucas's aListener structure and routines from defunct
bahamut-devel tree.
- Implemented +I/+e channel lists - thanks seddy.
- Ports now can be opened and closed on /rehash
- config file format changed to bind-style
- klinefile outdated
- replaced dbufs with sbufs - shared buffers.
- removed old High Traffic Mode (HTM) code
- config option block added to outdate use of ./config script
- fixes for solaris and OSX compatibility
- Added support for /dev/poll and epoll socket engines - thanks seddy.
- Moved m_server and m_dkey into m_server.c
- Moved m_stats into m_stats.c
- Fixed memory counting routines. Thanks Quension!
- Outdated modules.ini and all inifile uses - now a modules {} conf block
- Updated m_module to allow non-admin viewing of hooks and loaded modules
- Added module hooks for user and channel targetted privmsgs