forked from UndernetIRC/ircu2
-
Notifications
You must be signed in to change notification settings - Fork 0
/
ChangeLog.12
11883 lines (7740 loc) · 391 KB
/
ChangeLog.12
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
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
Starting with u2.10.12.15, this file is no longer maintained. Refer
to the revision control system's log for up-to-date history.
2012-10-15 Michael Poole <mdpoole@troilus.org>
* include/IPcheck.h (IPcheck_connect_fail): Add new 'disconnect'
parameter. This treats the failure as a disconnection from the
client's current IP address.
* ircd/IPcheck.c (ip_registry_connect_fail): Likewise.
(IPcheck_connect_fail): Pass it through.
* ircd/m_nick.c (m_nick): Pass zero for the new parameter.
(ms_nick): Likewise.
* ircd/s_auth.c (preregister_user): Likewise.
(iauth_cmd_ip_address): Pass one for the new parameter.
2012-06-20 Michael Poole <mdpoole@troilus.org>
* ircd/ircd_string.c (ipmask_parse): Return zero if there is junk
after eight valid IPv6 address elements.
2012-06-13 Michael Poole <mdpoole@troilus.org>
* ircd/s_stats.c (stats_configured_links): Correctly distinguish
local Operator blocks from global Operator blocks.
2012-05-31 Michael Poole <mdpoole@troilus.org>
* ircd/m_gline.c (ms_gline): If the mask was empty after removing
the command character(s), reject the command.
(mo_gline): Likewise.
2012-05-31 Michael Poole <mdpoole@troilus.org>
* include/channel.h (infochanmodes): Add +d channel mode.
* include/client.h (infousermodes): Add +O user mode.
2012-05-31 Michael Poole <mdpoole@troilus.org>
* ircd/gline.c (gline_add): Add length checks for badchan and
realname G-lines, comparable to the existing check for traditional
G-lines.
* ircd/s_err.c (ERR_LONGMASK): Remove extra space in format string.
2012-05-31 Michael Poole <mdpoole@troilus.org>
* ircd/m_server.c (check_loop_and_lh): Mention the mechanism used
to control HUB.
2012-05-09 Michael Poole <mdpoole@troilus.org>
* ircd/s_user.c (set_user_mode): When a user deopers, revoke their
oper privileges in addition to their oper user mode.
2012-05-09 Michael Poole <mdpoole@troilus.org>
* ircd/m_who.c (m_who): Only set WHOSELECT_EXTRA for current
opers. Because privileges are kept after -o, this would let
de-opered clients use WHOX.
2012-05-07 Michael Poole <mdpoole@troilus.org>
* include/client.h (cli_account): New helper macro to return the
client's account name, or "0" for unstamped clients.
* ircd/s_misc.c (exit_client): Use that when logging the client's
exit.
2012-05-07 Michael Poole <mdpoole@troilus.org>
* ircd/gline.c (count_users): Use the client's real host, rather
than their masked host, for +x users.
2012-04-29 Michael Poole <mdpoole@troilus.org>
* ircd/crule.c (crule_connected): Fix logic for ignoring
non-server Client structures.
(crule_via): Likewise.
2012-04-29 Michael Poole <mdpoole@troilus.org>
* */.cvsignore: Rename to .gitignore.
* ircd/.cvsignore: Likewise, and add *.o because git does not
ignore any patterns by default.
2012-01-23 Michael Poole <mdpoole@troilus.org>
* ircd/ircd_res.c (proc_answer): Delete unread variable
query_class.
* ircd/m_nick.c (m_nick): Delete unread variable client_name.
* ircd/m_ping.c (m_ping): Delete unread variable origin.
* ircd/m_whois.c (do_whois): Delete unread variable name.
* ircd/parse.c (parse_client): Delete unread variable noprefix.
* ircd/s_conf.c (killcomment): Delete unread variable tm.
* ircd/s_stats.c (stats_configured_links): Delete unread variable
pass.
2012-01-23 Michael Poole <mdpoole@troilus.org>
* ircd/gline.c (gline_modify): Notify opers using SNO_AUTO rather
than SNO_GLINE if a G-line had, and still has, an AUTO prefix.
2012-01-19 Michael Poole <mdpoole@troilus.org>
* doc/readme.iauth: Document the new 'd' IAuth command.
* ircd/s_auth.c (AuthRequestFlag): Add "soft done" flag.
(auth_ping_timeout): Do not impose Authorization Timeout on
clients with the "soft done" flag set.
(iauth_cmd_soft_done): New IAuth command handler.
(iauth_parse): Call it.
2012-01-19 Michael Poole <mdpoole@troilus.org>
* ircd/s_auth.c (start_auth): Call start_dns_query() and
start_auth_query() after start_iauth_query() rather than
before.
2011-08-17 Kevin L. Mitchell <klmitch@mit.edu>
* include/client.h: Fix minor issue in IsLocOp() test
* include/patchlevel.h (PATCHLEVEL): bump patchlevel to 14
2011-05-15 Michael Poole <mdpoole@troilus.org>
* ircd/s_auth.c (iauth_cmd_done_account): Do not copy the
account's creation timestamp into the account name.
2010-07-05 Kevin L. Mitchell <klmitch@mit.edu>
* include/patchlevel.h (PATCHLEVEL): bump patchlevel from -rc2 to
actual 13
* ircd/ircd_features.c: bump MAXBANS from 45 to 50, and MAXSILES
from 15 to 25
2010-03-28 Michael Poole <mdpoole@troilus.org>
* ircd/gline.c: Replace CurrentTime with TStime(), and remove the
uses of TSoffset, so that all G-line-related times are assumed to
be in network time.
* ircd/m_gline.c: Likewise.
2010-03-08 Michael Poole <mdpoole@troilus.org>
* ircd/m_server.c (enum lh_type): New type.
(check_loop_and_lh): Use the enum instead of magic integers.
Make the error message a little clearer when neither "hub" nor
"maxhops" is specified for a server. Clean up the control flow
when we decide to reject the link.
2010-03-08 Michael Poole <mdpoole@troilus.org>
* ircd/test/ircd_match_t.c (_SC_PAGE_SIZE): Default to
_SC_PAGESIZE if that is defined (as it is on some Unixes).
2010-03-04 Kevin L. Mitchell <klmitch@mit.edu>
* ircd/s_bsd.c: use feature_int() to get the integer value of the
feature...and don't try to set the TOS to its index!
2010-02-02 Michael Poole <mdpoole@troilus.org>
* include/patchlevel.h (PATCHLEVEL): Bump to (u2.10.12.)13-rc2.
2010-01-13 Michael Poole <mdpoole@troilus.org>
* ircd/m_burst.c (ms_burst): Do not clear keys or limit here --
MODE_PARSE_WIPEOUT gets modebuf_flush() to do that for us.
2010-01-06 Michael Poole <mdpoole@troilus.org>
* Makefile.in: Remove doc/Makefile from the build.
* configure.in: Do not generate doc/Makefile.
* configure: Regenerate.
* doc/Makefile.in: Delete.
* doc/irc.1: Delete.
* doc/ircd.8: Delete.
* libs: Delete.
2010-01-06 Michael Poole <mdpoole@troilus.org>
* ircd/m_topic.c (ms_topic): When no topic timestamp is passed,
use the current time instead of the channel creation time.
2010-01-06 Michael Poole <mdpoole@troilus.org>
* ircd/m_silence.c (m_silence): Only show the silence list for the
requesting client and for channel services, to help keep other
clients' servers hidden.
2010-01-06 Michael Poole <mdpoole@troilus.org>
* ircd/gline.c (gline_add): If a forced G-line has already
expired, create it in a deactivated state.
2010-01-06 Michael Poole <mdpoole@troilus.org>
* ircd/m_burst.c (ms_burst): Gracefully handle the case where a
server sends us a too-large oplevel. Forward oplevels whenever
they are in use, not just when the channel is +A.
2010-01-04 Kevin L. Mitchell <klmitch@mit.edu>
* ircd/m_xquery.c (ms_xquery): Resolving my patches with
Entrope's--log extension queries sent to us
* ircd/m_xreply.c (ms_xreply): Resolving my patches with
Entrope's--swap order of findNUser() and FindNServer()
* ircd/Makefile.in (IRCD_SRC): Resolving my patches with
Entrope's--swap order of m_xquery.c and m_xreply.c to maintain
alphabetic ordering
2010-01-03 Kevin L. Mitchell <klmitch@mit.edu>
* ircd/m_xreply.c (ms_xreply): swap order of numeric resolution so
we can deal with XR directed to users
* configure: auto-rebuilt with Autoconf 2.63 (was 2.59)
* ircd/m_xquery.c: need ircd_reply.h; fix a couple of
capitalization errors; log XQUERY directed to "me"
* ircd/m_xreply.c: need ircd_reply.h and numnicks.h (how'd I miss
the latter??); fix a couple of capitalization errors
* ircd/Makefile.in (IRCD_SRC): it'd be nice if we actually tried
to compile the two new commands...
* ircd/s_auth.c: "serv" is passed to find_match_server(), which
does a collapse on the pattern, so it can't be const
2010-01-03 Michael Poole <mdpoole@troilus.org>
* ircd/engine_devpoll.c: Make some variables that were local to
engine_loop() file-scoped so engine_delete() can see them.
(engine_delete): Discard unprocessed events for the deleted
socket.
(engine_loop): Update to use the new variable names. Change a
frequent debug statement to DEBUG_ENGINE. Fix the type of the
codesize variable.
* ircd/engine_epoll.c: Same as ircd/engine_devpoll.c, but the
debug statement and codesize variable were already fixed.
* ircd/engine_kqueue.c: Same as ircd/engine_devpoll.c, but also
fix a typo in an engine_signal() assertion, and get rid of dead
variables in engine_delete().
2010-01-03 Michael Poole <mdpoole@troilus.org>
* ircd/s_bsd.c (client_sock_callback): Invalidate cli_fd() when we
receive an EBADF error.
2010-01-03 Michael Poole <mdpoole@troilus.org>
* ircd/engine_select.c (engine_loop): Remove a bogus assert() that
the structure's FD is correct after the event-handling callback
returns. Also fix a warning about the type of the last parameter
passed to getsockopt().
2010-01-03 Michael Poole <mdpoole@troilus.org>
* ircd/m_names.c (m_names): Terminate the buffer used for listing
clients who are not in any channel.
2010-01-03 Michael Poole <mdpoole@troilus.org>
* ircd/channel.c (find_delayed_joins): Move earlier in the file.
(modebuf_flush_int): Move the checks for changing between +D and
+d to here...
(modebuf_flush): ... from here.
2010-01-03 Michael Poole <mdpoole@troilus.org>
* ircd/m_server.c (check_loop_and_lh): Never return 1 when we kill
another server. Update the squit message text for maxhops and hub
violations.
2010-01-03 Michael Poole <mdpoole@troilus.org>
* ircd/Makefile.in (IRCD_SRC): Add m_xquery.c and m_xreply.c to
the build.
* ircd/m_xquery.c: Add missing include.
(mo_xquery): Fix spelling of struct Client.
(ms_xquery): Likewise.
* ircd/m_xreply.c: Add missing includes.
(ms_xreply): Fix spelling of struct Client and findNUser().
2010-01-01 Kevin L. Mitchell <klmitch@mit.edu>
* doc/readme.xquery: documentation for design and use of the
extension query mechanism
* doc/readme.iauth: document X iauth message and X and x server
messages
* include/msg.h: declare XQUERY/XQ and XREPLY/XR commands/tokens
* include/handlers.h: declare mo_xquery(), ms_xquery(), and
ms_xreply() message handlers
* include/s_auth.h: declare auth_send_xreply() to forward replies
to extension queries to the iauth instance
* ircd/m_xquery.c: process extension queries
* ircd/m_xreply.c: process replies to extension queries
* ircd/parse.c: add XQUERY and XREPLY commands to the list
* ircd/s_auth.c: add support for extension queries to iauth
protocol
2010-01-01 Michael Poole <mdpoole@troilus.org>
* ircd/s_auth.c (iauth_do_spawn): Add debug output to diagnose
which system call might be failing.
(auth_spawn): Avoid reading past the end of iauth->i_argv[]. When
discarding an existing IAuth instance, use auth_close_unused() to
close the sockets and avoid leaking memory.
2010-01-01 Michael Poole <mdpoole@troilus.org>
* ircd/channel.c (mode_process_bans): Bypass total ban count and
length checks for OPMODEs.
2010-01-01 Michael Poole <mdpoole@troilus.org>
* ircd/ircd_features.c (feature_report): If sd->sd_funcdata is
non-zero, report even unchanged features (using prefix 'f').
* ircd/s_stats.c (statsinfo): Make "/stats f" case-sensitive, and
use the upper case variant to report all features.
2009-07-30 Michael Poole <mdpoole@troilus.org>
* ircd/s_user.c (register_user): Move the default-usermodes call
to set_user_mode() to before SetUser(), so that the former does
not increment the UserStats fields. Add back the explicit
adjustments to UserStats for invisible and opered clients.
2009-07-05 Michael Poole <mdpoole@troilus.org>
* ircd/s_user.c (register_user): Use correct parc for
set_user_mode(). Do not increment UserStats fields here, because
set_user_mode() handles that.
2009-07-05 Michael Poole <mdpoole@troilus.org>
* ircd/m_gline.c (ms_gline): Fix the sense of the test for
strtoul() when parsing G-line lifetimes -- zero indicates failure.
2009-07-05 Michael Poole <mdpoole@troilus.org>
* ircd/channel.c (mode_parse_client): Ignore anything after a
colon when the mode is CHFL_VOICE or the mode is being removed.
2009-07-04 Michael Poole <mdpoole@troilus.org>
* ircd/s_auth.c (find_conf_client): New function.
(preregister_user): Use it to avoid assigning a second conf class
on client connection.
(auth_ping_timeout): Send the "T" message only if we do not kill
the client (and thus send a "D" message).
(auth_find_classs_conf): Do not allow IAuth to select a disabled
class. Unlink new conf items from GlobalConfList.
(iauth_cmd_done_client): Handle failures from attach_conf().
(iauth_parse): Behave decently when a client is killed by the
message handler.
* tools/iauth-test (%handlers): Add entries to help test this.
2009-07-04 Michael Poole <mdpoole@troilus.org>
* include/channel.h (RevealDelayedJoinIfNeeded): Declare.
* ircd/channel.c (RevealDelayedJoinIfNeeded): Implement.
* ircd/ircd_relay.c (relay_channel_message): Only reveal the user
if he passes the check_target_limit() test.
(relay_channel_notice): Likewise.
* ircd/m_wallchops.c (m_wallchops): Likewise.
* ircd/m_wallvoices.c (m_wallvoices): Likewise.
* ircd/s_user.c (check_target_limit): Micro-optimize to only check
the user's channel list for invites if we are about to deny it.
2009-03-25 Michael Poole <mdpoole@troilus.org>
* ircd/ircd.c (main): Unconditionally set +6 flag on self.
2009-03-25 Michael Poole <mdpoole@troilus.org>
* ircd/s_auth.c (iauth_cmd_hostname): Properly assign the spoofed
hostname (yea, even as the "real" host) in the hurry state.
* tools/iauth-test: Add reminder about perl's RTMIN signal and a
new handler to exercise the N command in the hurry state.
2009-03-25 Michael Poole <mdpoole@troilus.org>
* ircd/channel.c (mode_parse): Add Doxygen comment. When bouncing
a mode from a desynced U-lined server, do not set the modes or
send the change as a HACK(4) message.
2009-03-17 Michael Poole <mdpoole@troilus.org>
* ircd/send.c (sendcmdto_match_butone): Move match_it() to the end
of the if() to minimize the number of expensive function calls.
2009-03-17 Michael Poole <mdpoole@troilus.org>
* patches/diffs/antispambot.diff: Forward port a patch by Dianora
to add rudimentary spam bot detection to ircu.
2009-02-08 Michael Poole <mdpoole@troilus.org>
* include/client.h (ClearHub): New macro.
* ircd/ircd.c (main): Set IPv6 flag on &me if appropriate.
* ircd/ircd_features.c (feature_notify_hub): New function.
(features[]): Register it for FEAT_HUB.
* ircd/ircd_parser.y (connectblock): Do not default maxlinks to
65535 unless "hub" is specified.
(clientblock): Reset maxlinks on cleanup.
2009-02-08 Michael Poole <mdpoole@troilus.org>
* ircd/channel.c (clean_channelname): Delete this function; it is
no longer used, and had the same length-off-by-one bug.
* ircd/m_join.c (m_join): Use > instead of >= with CHANNELLEN.
* tests/ircd.conf: Set CHANNELLEN to make it easier to test this.
* tests/bug-2328334.cmd: New file for regression testing.
2009-02-08 Michael Poole <mdpoole@troilus.org>
* include/numeric.h (ERR_INVALIDKEY): Define new numeric.
* ircd/s_err.c (ERR_INVALIDKEY): Give it a text string.
* ircd/channel.c (is_clean_key): Rename from clean_key(), and make
this function responsible for sending error messages to the client
when necessary.
(mode_parse_key): Update to match the new is_clean_key() behavior.
(mode_parse_upass): Likewise.
(mode_parse_apass): Likewise.
* tests/channel-keys.cmd: New file for regression testing.
2009-02-08 Michael Poole <mdpoole@troilus.org>
* include/gline.h (gline_forward_deactivation): Undeclare.
* ircd/m_gline.c (mo_gline): Remove the special case to call
gline_forward_deactivation().
* ircd/gline.c (gline_add): Mention if the new G-line is already
deactivated.
(gline_forward_deactivation): Delete implementation.
* tests/glines.cmd: Update the expected output to match.
2009-01-12 Michael Poole <mdpoole@troilus.org>
* ircd/m_topic.c (do_settopic): Just before sending the topic out,
check to see if the user is join-delayed and should be shown.
* ircd/m_wallchops.c (m_wallchops): Allow this command to expose
join-delayed users.
(ms_wallchops): Likewise.
* ircd/m_wallvoices.c (m_wallvoices): Allow this command to expose
join-delayed users.
(ms_wallvoices): Likewise.
2009-01-12 Michael Poole <mdpoole@troilus.org>
* ircd/channel.c (modebuf_mode_uint): Fix bouncing of limit changes.
2009-01-12 Michael Poole <mdpoole@troilus.org>
* ircd/gline.c (count_users): Accept "flags" mask to limit count
to local users.
(gline_add): Pass the flags to count_users().
2009-01-12 Michael Poole <mdpoole@troilus.org>
* include/gline.h (gline_forward_deactivation): Declare.
* ircd/gline.c (count_users): Use ipmask-based checks too.
(gline_add): Require flags to have exactly one of the GLINE_GLOBAL
and GLINE_LOCAL bits set.
(gline_forward_deactivation): Implement new function.
(gline_find): Only require the GLINE_LOCAL flag to be set in the
gline structure; infer GLINE_GLOBAL when it is cleared. (This
matches the value and usage of GLINE_MASK.)
* ircd/m_gline.c (ms_gline): Default lastmod to the known lastmod
time for GLINE_LOCAL_{DE,}ACTIVATE.
(mo_gline): Check that expiration times parse as expected. Reject
"*" as a target for GLINE_LOCAL_{DE,}ACTIVATE. Require reason and
expiration time for new G-lines. Allow deactivation of an unknown
G-line without creating it ("so-and-so ... creating new G-line" is
a confusing message for a deactivation).
* tests/glines.cmd: New test script for G-line parsing tests.
* tests/ircd.conf: Enable CONFIG_OPERCMDS for glines.cmd.
* tests/ircd-2.conf: Likewise.
* tests/readme.txt: Add section on command syntax.
* tests/test-driver.pl: Report line numbers more clearly.
Fix (somewhat kludgily) the brokenness of consecutive "expect"
lines, as demonstrated by the numeric 219 and 281 expects in
glines.cmd.
2008-11-17 Michael Poole <mdpoole@troilus.org>
* ircd/m_kick.c (ms_kick): Properly handle crossing net rider and
normal KICKs (in the case where we get the normal kick first).
2008-11-17 Michael Poole <mdpoole@troilus.org>
* ircd/match.c (match): Fix an error in backtracking (apparently
exacerbated by escapes).
* ircd/test/ircd_match_t.c: Update headers and make sure we have a
mmap() anonymous request flag.
(test_match): New function.
(do_match_test): Use it instead of calling match() directly.
2008-09-07 Perry Lorier <isomer@undernet.org>
* ircd/m_kill.c: Remove the . from the end of the nickname in kill
messages to make cut and pasting easier.
2008-03-20 Michael Poole <mdpoole@troilus.org>
* ircd/ircd_string.c (ircd_aton_ip4): Reject strings with more
than 3 dots in them.
* ircd/test/ircd_in_addr_t.c (test_addrs): Update the expected
parsing for a bare IPv4 address to a IPv4-mapped address.
(test_masks): Add a test for the ircd_string.c change.
2008-03-20 Kevin L. Mitchell <klmitch@mit.edu>
* include/client.h: IsLocOp() now checks to see if its MyUser() as
well; IsAnOper() uses IsOper() and IsLocOp() instead of directly
testing the flags
2008-03-15 Michael Poole <mdpoole@troilus.org>
* ircd/s_bsd.c (init_connection_limits): Remove errant apostrophe.
Print text error message when unable to set max FDs.
2008-03-15 Michael Poole <mdpoole@troilus.org>
* ircd/s_user.c (set_user_mode): Check for end of argument list
when processing 'r' modes.
2008-01-09 Kevin L. Mitchell <klmitch@mit.edu>
* include/patchlevel.h (PATCHLEVEL): bump patchlevel
2008-01-02 Kevin L. Mitchell <klmitch@mit.edu>
* ircd/m_burst.c (ms_burst): surround protocol_violation() and
break in braces to do what Jan Krueger was trying to do...
2008-01-03 Jan Krueger <jast@heapsort.de>
* ircd/m_burst.c: prevent leaking the next nick into the current one's
oplevel. Add protocol_violation when an invalid nick flag appears.
2007-12-28 Kevin L. Mitchell <klmitch@mit.edu>
* ircd/channel.c: add MODE_REGISTERED, mapped to +R; arrange to
only have it settable or clearable by remote users or /opmode
* include/supported.h (FEATURESVALUES2): update to include 'R'
channel mode
* include/channel.h: add MODE_REGISTERED, update infochanmodes to
include 'R' channel mode
2007-12-13 Kevin L. Mitchell <klmitch@mit.edu>
* ircd/m_gline.c (ms_gline): if we got an activate or deactivate
for a global G-line we never heard of, and we cannot create it
because no expire time was sent, manually propagate the G-line
instead of trying to call gline_add()
* ircd/gline.c (make_gline): never allow a G-line to be created
with a 0 expire time
2007-12-03 Michael Poole <mdpoole@troilus.org>
* include/patchlevel.h (PATCHLEVEL): Bump for u2.10.12.12 release.
2007-12-03 Michael Poole <mdpoole@troilus.org>
* doc/Makefile.in (DATAROOTDIR): Define.
(DATADIR): Likewise.
2007-11-30 Kevin L. Mitchell <klmitch@mit.edu>
* ircd/version.c.SH: correct invalid syntax in shell case/esac
* ircd/ircd_lexer.l: provide an implementation of yywrap() so we
no longer have to link against -lfl
* configure.in: drop tests on LEXLIB and don't add it to the list
of libs
* ircd/gline.c (gline_add): apply too-many-users test to realname
G-lines *only* when the origin is my user (or a user, for
remote-local G-lines)
2007-11-28 Michael Poole <mdpoole@troilus.org>
* include/patchlevel.h (PATCHLEVEL): Bump for pre12 development.
2007-11-28 Michael Poole <mdpoole@troilus.org>
* include/patchlevel.h (PATCHLEVEL): Bump for u2.10.12.11 release.
2007-11-28 Michael Poole <mdpoole@troilus.org>
* tests/test-driver.pl (drv_default): Fix expect for numeric
responses that have non-trivial parameters.
(check_expect): Simplify (and fix) sender name check.
* tests/bug-1640796.cmd: Update expect NNN for new POE behavior
and part to not try to part the channel named "leaving".
* tests/bug-1674539.cmd: Update expect NNN for new POE behavior.
* tests/bug-1840011.cmd: New test script.
2007-11-28 Michael Poole <mdpoole@troilus.org>
* ircd/channel.c (mode_ban_invalidate): Clarify Doxygen comments.
(apply_ban): Only block narrower bans if the wider ban is active.
2007-11-24 Michael Poole <mdpoole@troilus.org>
* ircd/m_names.c (do_names): Don't try to re-initialize the start
of buf[] for each line. It's done the first time around and that
can be reused safely.
2007-11-17 Michael Poole <mdpoole@troilus.org>
* ircd/m_stats.c (m_stats): Properly assign param before it is
used in the hunt_server_cmd() call.
2007-11-17 Michael Poole <mdpoole@troilus.org>
* ircd/s_auth.c (iauth_disconnect): Avoid destroying invalid
sockets.
(iauth_stderr_callback): Disconnect iauth child if stderr has
EOF (in case stdin notification is delayed somehow).
2007-11-04 Michael Poole <mdpoole@troilus.org>
* ircd/umkpasswd.c (sum): Typecast buffer to avoid a warning about
the parameter type being passed to strlen().
2007-11-04 Michael Poole <mdpoole@troilus.org>
* doc/example.conf: Document /LIST M as controlled by list_chan.
* include/channel.h (LISTARG_SHOWMODES): Define.
* ircd/hash.c (list_next_channels): Handle it.
* ircd/m_list.c (show_usage): Document 'M' flag.
(param_parse): Recognize 'M' as LISTARGS_SHOWMODES.
2007-11-04 Michael Poole <mdpoole@troilus.org>
* ircd/m_list.c (param_parse): Reverse comparison direction when
converting from minutes to time_t, and which bound is set (so that
T<time_t works correctly). Also switch is_time cases so that 'T'
and 'C' work as documented. Remove a "break" after a "return".
(m_list): Remove a "break" after a "return".
2007-10-29 Michael Poole <mdpoole@troilus.org>
* ircd/ircd_lexer.l (YY_INPUT): Redefine to use fbgets().
(init_lexer): Return a value to indicate failure. Use fbopen().
(deinit_lexer): New function.
* ircd/s_conf.c (read_configuration_file): Update extern
declarations. Bail if init_lexer() fails. Call deinit_lexer()
rather than directly munging yyin.
2007-10-29 Michael Poole <mdpoole@troilus.org>
* include/gline.h: Delete declaration of gline_propagate().
* include/whocmds.h: Delete declaration of count_users().
* ircd/whocmds.c (count_users): Move to gline.c as a static.
* ircd/gline.c (whocmds.h): Remove #include.
(gliter): Document boolean trickiness. Add missing trickiness
when gl_flags has bits set besides GLINE_ACTIVE.
(make_gline): Get rid of now-unused "after" variable and the
comments related to overlapping G-lines.
(gline_propagate): Make static.
(count_users): Move from whocmds.c as a static function.
(count_realnames): New function.
(gline_add): Require a force to hit lots of users with a realname
G-line.
2007-09-05 Michael Poole <mdpoole@troilus.org>
* ircd/m_gline.c (ms_gline): Remove dead branch when 4 < parc < 5.
(mo_gline): Consistently use the last argument as the reason.
2007-09-05 Michael Poole <mdpoole@troilus.org>
* ircd/Makefile.in: Fix dependencies for version.h generation.
2007-08-20 Michael Poole <mdpoole@troilus.org>
* ircd/send.c (sendwallto_group_butone): Move a feature_bool()
call out of a loop. Convert HasFlag() uses to appropriate macros
from client.h.
2007-08-20 Michael Poole <mdpoole@troilus.org>
* ircd/ircd_string.c (ircd_aton_ip4): Allow a sequence of *.* at
the end of an IPv4 mask.
(ipmask_parse): Likewise for *:* at the end of IPv6 masks.
* ircd/test/ircd_in_addr_t.c (test_masks): Add tests for this.
2007-08-20 Michael Poole <mdpoole@troilus.org>
* ircd/s_user.c (register_user): Update inv_clients and opers
counts. Call client_set_privs() for local users.
(set_nick_name): Do not call client_set_privs() for remote users.
(set_user_mode): Move oper and invisible client checks inside the
IsRegistered() section.
2007-08-14 Michael Poole <mdpoole@troilus.org>
* ircd/channel.c (DONE_*): Split key changes into _ADD and _DEL.
(mode_parse_key): Check both, to properly handle -k+k changes.
(mode_parse_upass): Likewise, for -U+U.
(mode_parse_apass): Liekwise, for -A+A (in case that ever happens).
(mode_parse): Update which "done" flag is checked during a wipeout.
2007-08-13 Michael Poole <mdpoole@troilus.org>
* ircd/s_user.c (whipser): CNOTICEs should not trigger away
messages, only CPRIVMSGs.
2007-08-13 Michael Poole <mdpoole@troilus.org>
* ircd/m_who.c (m_who): Reorder responses and change the
ERR_QUERYTOOLONG parameter to be consistent with m_whois().
2007-08-13 Michael Poole <mdpoole@troilus.org>
* ircd/s_user.c (register_user): Initialize umodev[] in a
C89-compatible way. (gcc 4.1.2 warned about it.)
2007-08-13 Michael Poole <mdpoole@troilus.org>
* ircd/m_names.c (do_names): Add NAMES_DEL to comment. Avoid use
of strcat(). Get rid of ms_names(), which was basically a copy of
m_names(), and merge the "showingdelayed" changes into m_names().
Replace the recursion with iteration.
* ircd/parse.c (msgtab): Use m_names(), not ms_names().
2007-08-08 Michael Poole <mdpoole@troilus.org>
* ircd/s_auth.c (report_iauth_conf): Remove end-of-stats message;
m_stats() already does that.
(report_iauth_stats): Likewise.
2007-08-08 Michael Poole <mdpoole@troilus.org>
* include/res.h (irc_in_addr_is_ipv4): Fix classification of
addresses like 0.0.0.0.
2007-07-21 Perry Lorier <isomer@undernet.org>
* ircd/s_user.c: Move set_nick_name() to use set_user_mode(),
set_user_mode() now interprets +r usermodes properly (and ignores
them from non servers). This fixes a problem where remote users
weren't being counted properly anymore.
2007-07-20 Kevin L. Mitchell <klmitch@mit.edu>
* ircd/m_gline.c: create abs_expire() macro to convert an expire
timestamp from the network into an absolute time, if needed;
rename expire_off to expire globally, since it now represents an
absolute expiration time; use expire - CurrentTime in gline
forwarding statements; in ms_gline(), use abs_expire() to convert
network expiration timestamp into absolute timestamp; in
mo_gline(), add CurrentTime to oper-provided expiration offset to
convert to absolute timestamp
* ircd/gline.c: assume expire and lifetime arguments to
gline_add() and gline_modify() are already absolute timestamps;
send lifetime parameter as an absolute timestamp, but leave expire
timestamp as relative as first part of a 2-phase update
2007-07-12 Perry Lorier <isomer@undernet.org>
Reconsider how we manage modes before registration, to avoid stats
getting out of sync.
* ircd/s_user.c (set_user_mode): Add new parameter to set_user_mode to
ignore some modes.
(register_user): Use set_user_mode to parse default usermode for
users.
* ircd/m_user.c: Add extra parameter to set_user_mode call
* ircd/s_auth.c: Add extra parameter to set_user_mode call
* ircd/m_mode.c: Add extra parameter to set_user_mode call
* ircd/s_misc.c: Verify stats are consistant.
* include/s_user.h: Change prototype, add flag definitions.
* ircd/m_lusers.c (m_users): Assert that we're generating sane stats,
include "unknowns" in the total user connections to avoid negative
wrap arounds.
2007-07-12 Perry Lorier <isomer@undernet.org>
* ircd/m_user.c (m_luser): Fix broken RFC 2812 on connect user mode
setting
2007-05-28 Michael Poole <mdpoole@troilus.org>
* include/numeric.h (ERR_INPUTTOOLONG): New numeric.
* ircd/s_bsd.c (read_packet): Use it.
* ircd/s_err.c (replyTable): Give it a format string.
2007-05-20 Michael Poole <mdpoole@troilus.org>
* ircd/m_burst.c (ms_burst): Do not let bursting servers join a
user to a channel more than once.
2007-05-20 Michael Poole <mdpoole@troilus.org>
* ircd/ircd_features.c (feature_set): Report new value of feature
for /set.
(feature_reset): Likewise, for /reset.
2007-05-20 Michael Poole <mdpoole@troilus.org>
* ircd/m_burst.c (netride_modes): Return -1 if someone tries to
remove modes in the burst.
(ms_burst): Check for, and handle, that protocol violation.
2007-05-20 Michael Poole <mdpoole@troilus.org>
* ircd/m_privs.c (mo_privs): Report "no such nickname" for unknown
nicks in the list. (Unfortunately, the nick is lost before ms_privs.)
2007-05-20 Michael Poole <mdpoole@troilus.org>
* ircd/listener.c (show_ports): Actually hide hidden ports from
clients that should not see them.
2007-05-20 Michael Poole <mdpoole@troilus.org>
* ircd/s_err.c (ERR_DONTCHEAT): Add apparently missing %s.
2007-05-20 Michael Poole <mdpoole@troilus.org>
* ircd/m_connect.c (mo_connect): Return an error to a locop who
tries to do a remote connect.
2007-05-20 Michael Poole <mdpoole@troilus.org>
* ircd/parse.c (msgtab): Make SETTIME consistent with other
oper commands, in using m_not_oper for non-opered clients.
2007-05-20 Michael Poole <mdpoole@troilus.org>
* ircd/ircd_parser.y (pseudoblock): Forbid pseudo commands that
are not all alphabetic characters.
2007-05-20 Michael Poole <mdpoole@troilus.org>
* configure.in (maxcon): Check that maximum connections is
sufficiently large to avoid underflow in MAXCLIENTS.
2007-05-20 Michael Poole <mdpoole@troilus.org>
* include/supported.h (FEATURES2): Remove extra space.
* ircd/m_admin.c (m_admin): Only check server mask against our
name, so that it cannot leak information about other linked
servers.
* ircd/m_version.c (m_version): Likewise.
2007-04-15 Kevin L. Mitchell <klmitch@mit.edu>
* ircd/m_gline.c: fix minor typo in code that forwards remote
local activations/deactivations: %c takes characters, not
pointers!
(mo_gline): fix similar typo in code forwarding remote local
G-lines by opers
2007-04-10 Michael Poole <mdpoole@troilus.org>
* ircd/ircd_parser.y (iauth): Avoid problems related to MyFree's
multiple evaluation of its argument.
2007-04-10 Kevin L. Mitchell <klmitch@mit.edu>
* ircd/m_gline.c (ms_gline): lastmod must be non-zero
2007-04-04 Michael Poole <mdpoole@troilus.org>
* ircd/s_conf.c (rehash): Restart resolver after reading the
config file; this un-breaks the resolver after /rehash if the
ircd.conf contains no "dns server = <ipstring>;" lines.
2007-04-01 J. R. Lenz <ralf@starshadow.com>
* ircd/s_user.c (register_user): Check for host-hiding when fully
registering a user. [Comment added by Entrope.]
2007-03-31 Michael Poole <mdpoole@troilus.org>
* doc/readme.iauth (IAuth M): Document new command.
* ircd/m_user.c (m_user): Recognize RFC 2812 mode request and a
saner usermode request.
* ircd/s_auth.c (iauth_cmd_usermode): New command.
(iauth_parse): Dispatch to it.
* ircd/s_user.c (set_user_mode): Only broadcast usermode changes
for registered clients.
* tools/iauth-test (127.0.1.3): Test the new M command.
2007-03-31 Michael Poole <mdpoole@troilus.org>
* ircd/m_mode.c (m_mode): Check and report target/source
violations before calling set_user_mode().
(ms_mode): Likewise.
* ircd/s_user.c (set_user_mode): Remove those checks from here.
2007-03-31 Michael Poole <mdpoole@troilus.org>
* include/ircd_events.h (struct Generators): Convert elements to
be struct GenHeader*.
(timer_next): Update to match.