-
-
Notifications
You must be signed in to change notification settings - Fork 89
/
Copy pathChanges1.6
3024 lines (2155 loc) · 93.4 KB
/
Changes1.6
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
Eggdrop Changes (since version 1.6.0)
_____________________________________________________________________
1.6.20 (July 23, 2010):
# RC2 released on July 15th, 2010
- Add sanity check to check-stoned event. Prevents eggdrop from
disconnecting in case of drift timers.
- Unwind all nested [vwait] calls before performing a restart.
Prevents Tcl_Panic() when deleting active interpreter.
- Make sure traces are looked up in the global scope.
- Give eggdrop events priority over Tcl events so they can't starve it.
Found by: CyBex / Patch by: thommey
- Fixed a problem with channels added in the config getting deleted after
the config is loaded.
- The chanfile is now saved before and after rehash instead of being
reloaded after.
Found by: CyBex, thommey / Patch by: thommey, pseudo
- Added mod-transfer.html to index.html
Patch by: pseudo
- Make sure tickle_WaitForEvent returns 1 when anything was done. This
was not done if Tcl socket handlers were called. It is required to make
Tcl_DoOneEvent() break out of its loop for vwait.
- Don't use Tcl_SetServiceMode(), Tcl handles that.
Found by: CyBex, horgh / Patch by: thommey
- Added log_ts to the modules function table to keep modules relying on
the old LOG_TS #define working.
Patch by: pseudo
- Restore socket_cleanup functionality, was broken by the notifier patch.
- Fixed detection of eggdrop already running on startup.
Found by: CyBex / Patch by: thommey
# RC1 released on July 7th, 2010.
- Changed the URL of gseen.mod in docs.
- Fixed a minor problem with special dcc handles like (telnet), (dns), etc.
Patch by: pseudo
- Added a -raw argument to tcl_putdcc().
- Modified putdccraw in compat.tcl to use putdcc -raw.
Patch by: pseudo
- Added few contributors to the THANKS file.
Patch by: pseudo
- Ran misc/killwhitespace and misc/runautotools
- Prevent uninitialized memory access that became visible due to the
notifier overwrite. Use memmove when strcpy targets overlap.
- Overwrite the Tcl notifier with our own version of it if possible.
Integrates Tcl events and sockets into our own eventloop and socketlist,
causing Tcl events happen without delay. It is thread-aware.
- If the Tcl notifier is overwritten, don't fork() before initializing
Tcl anymore. This used to be required to prevent hangs on startup.
- Replace the constant max-dcc upper limit with a dynamically enlarging
array that increases up to a new setting called max-socks. max-socks
also limits the number of Tcl socket connections (per thread).
- Added two configure checks against the Tcl library to check if it's
possible to replace the notifier.
Patch by: thommey
- Modified compat.tcl version of time to allow accessing Tcl's time
command if any arguments are passed to it.
Patch by: Pixelz
- Removed root uid check when compiled on Cygwin, as it was reported to
cause problems for some cygwin installations, while it doesn't provide
any protection, as administrator accounts appear as non-zero uids anyway.
Found by: FireEgl / Patch by: pseudo
- Channels added in the config are no longer static. Added access to the
static flag via new channel setting, available to permanent owners only.
- Removed the example channel adds from eggdrop.conf.
Patch by: pseudo
- Changed some eggdrop.conf settings. .set and .tcl are no longer unbound
by default.
- Made .+chan check if the user is permitted to set the need-* settings.
Patch by: pseudo
- Fixed a crash when restarting, related to bind log.
Patch by: pseudo
- Modified cron_match() to match Sunday as both 0 and 7.
- Fixed some spelling errors.
Patch by: pseudo
- Added new Tcl command 'matchstr' as a simplified alternative to Tcl's
string match.
Found by: thommey / Patch by: pseudo
- Modified the uptime module to send packets at a random interval, with
per-second resolution, to reduce the peak traffic and load on the uptime
server.
Patch by: grnbrg
- Added a configure option to set the handlen while keeping compatibility with
the older method of editing eggdrop.h directly.
- Added a configure option to enable dns debugging and made it default for
make debug.
- Removed obsolete check for broken sscanf from configure.
Patch by: pseudo
- Added missing mod-transfer.html
Patch by: mike.ds
- Added a new bind LOG triggered when text is sent to the logs.
Patch by: pseudo
- Fixed a bug in checking user privileges for .chaddr on sharebots.
Patch by: thommey
- Added a new bind CRON as a crontab-like alternative to bind TIME.
Fixes Bugzilla Bug # 477 "bind time enhancement"
Patch by: pseudo
- Removed some CYGWIN_HACKS that aren't needed anymore.
Patch by: FireEgl
- Fixed dns.mod SIGBUS crashes on 64-bit Sparc.
Fixes Bugzilla Bug # 454 "Eggdrop crashes on sun sparc running debian etch"
Found by: soraver / Patch by: pseudo
- Got rid of some compile warnings related to passing possibly signed chars
to tolower().
Patch by: pseudo
- Changed the definition of the 'Function' type to avoid data loss with
functions returning 64-bit types. 64-bit builds will no longer crash due
to pointers being truncated to 32 bits. Created new function pointer type
'IntFunc' for use only with functions returning int.
Fixes Bugzilla Bug # 485 "64-bit eggdrop builds crash on some systems"
Patch by: pseudo
- Fixed a minor notes.mod formatting bug when displaying dcc usage.
Found by: Johannes13 / Patch by: thommey
- Renamed list_delete/list_append/list_contains functions to egg_list_* due
to request to avoid conflicts with MySQL headers.
Found by: BarkerJr / Patch by: pseudo
- Updated module versions and dependencies for the console, channels, irc
and server modules.
Patch by: pseudo
- Don't assume cidr notation for hostmasks with slashes, unless the string
portion after the slash consists only of digits.
Found by: simple / Patch by: pseudo
- Fixed the STRIP_ALL flag used with strip_mirc_codes() to actually work.
Found by: T3256 / Patch by: pseudo
- Added runtime check using Tcl_GetCurrentThread() to autodetect a
threaded Tcl library when compiled and linked against Tcl 8.1 and later.
- Replaced EGG_TCL_ENABLE_THREADS and EGG_TCL_CHECK_THREADS autoconf
macros with EGG_TCL_CHECK_GETCURRENTTHREAD.
Patch by: Tothwolf
- Fixed a bug in fixfrom(), breaking userhost matching.
Found by: Tothwolf, thommey
- Fixed a bug in telnet autodetection, which prevented cvs bots from linking
reliably with bots running older versions.
Found by: FireEgl, Tothwolf
Patch by: pseudo
- Replaced the LOG_TS definition with a config variable "timestamp-format",
defaulting to "[%H:%M:%S]".
- Added support for silent backups and logfile switching with higher
quiet-save values.
Patch by: pseudo
- Moved strict-host documentation to the core section, where it belongs and
added a warning to discourage it's usage in the future.
- Rewrote fixfrom() to not modify it's string argument.
Fixes Bugzilla Bug # 423 "Enforcement of Non-matching Bans"
Found by: BarkerJr / Patch by: pseudo
- Added CIDR support to eggdrop. This includes accepting and matching b/e/I
masks and user hosts in cidr notation.
- Moved rfc_toupper from wild_match() to the new addr_match().
- Added two new Tcl commands - matchaddr and matchcidr to provide interface
to the new internal host matching.
Patch by: pseudo
- Changed GetInt / GetIntFromObj's Tcl_Interp argument to NULL in
tcl_resultint() to avoid an unneeded error message being stored in the
interp result.
Patch by: pseudo
- Modified various checks to allow non-latin characters in handles. Added
missing checks to tcl_adduser() and tcl_chhand().
- Added telnet autodetection to src/dcc.c. Made changes to stop interpreting
telnet codes from bots. Reworked telnet handlers to properly understand
and escape character 0xff in data.
Fixes Bugzilla Bug # 419 "droped chars when sharing"
Patch by: pseudo
- Various minor docfixes.
Patch by: pseudo
- Updated copyright dates.
Patch by: pseudo
- Fixed a potential crash in read_lang() with lines > 512 characters in
language files. Added support for lines of unlimited size.
Patch by: pseudo
- Moved console flags validation from cmd_console() to a separate function
check_conflags().
- Added calls to check_dcc_attrs() / check_dcc_chanattrs in tcl_chattr()
to make the behaviour consistent between all chattr functions.
- Added calls to check_conflags() in check_dcc_attrs/check_dcc_chanattrs()
and chon_console() in order to ensure users will not retain privileged
console flags if their access gets downgraded.
Fixes Bugzilla Bug # 133 ".chattr / .console bug"
Found by: DarkReap1 / Patch by: pseudo
- Introduced new config variable allow-ps to allow chanmode optionally
enforce both +ps at the same time.
Fixes Bugzilla Bug # 414 "channel modes +s and +p on ts5 network"
Found by: Ofloo / Patch by: pseudo
- Modified reset_chan_info() to support independent reset of various
information through flags. Updated tcl_resetchan() to make use of this.
- Removed redundant TOPIC requests and optimized the channel join/reset code
to ask for b/e/I modes in one message.
- Added safety checks after some mode bind triggers to avoid accessing freed
memory and not up-to-date flag records.
- Added two new Tcl commands: resetchanidle and resetchanjoin.
- Modified the channel reset logic to perform live updates on the member list
without deleting and readding members. Channel mode changes with the bot as
a target now trigger mode binds without initial blind delays during channel
join/reset.
Fixes Bugzilla Bug # 385 "MODE - bug, when bot just joined the chan"
Found by: [email protected] / Patch by: pseudo
- Modified build_flags() to not repeat global bot flags when both bot
and chan flags are requested.
- Fixed tcl_botattr() and tcl_chattr() to return only bot-specific or
user-specific flags respectively.
Fixes Bugzilla Bug # 484 "botattr tcl command returns bot channel flags
incorrectly"
Found by: Pixelz / Patch by: pseudo
- Make _wild_match_per more flexible with dynamic comparison functions.
- Make mode binds case-sensitive for the mode change. Fixes Bug # 476.
Patch by: thommey
- Only whine once about the opless state of a channel. Fixes Bug # 483.
Patch by: thommey
- Fixed some spelling errors in the documentation.
- Improved the description of the getchanjoin Tcl command in the docs.
Patch by: pseudo
- Modified cmd_mns_host() to allow masters use -host even if they are +d/+k.
Fixes Bugzilla Bug # 446 "channel flag +d/+k prevents using of .-host even
if using against others"
Found by: De Kus / Patch by: pseudo
- Replace deprecated Tcl result access method. Fixes Bug # 472.
Patch by: thommey
- Added a new bind "OUT" to server.mod. Triggered when a message is sent to
the server.
- Modified tcl_putnow() to support sending of multiple lines at once.
- Changed tcl_putdccraw() to always return an error. It's deprecated
in favor of putdcc / putnow.
- Added a putdccraw replacement to scripts/compat.tcl
Patch by: pseudo
- Added stricter argument checking to tcl_logfile().
Fixes Bugzilla Bug # 432 "Logfile Tcl Command Lacks Validation"
- Replaced a sequence of unsafe calls to strcat() with a snprintf().
Found by: Tothwolf / Patch by: pseudo
- Made eggdrop log the channel name for /MSG GO commands.
Fixes Bugzilla Bug # 452 "Failed GO Messages Should Include Channel Name"
Found by: BarkerJr / Patch by: pseudo
- Added bugreporter names for recent patches to doc/Changes1.6.
Patch by: pseudo
- Fixed bugs in the tcl_eggserver() and next_server() logic.
Fixes Bugzilla entry #468 ".jump fails if the server list is empty,
even when a server name is supplied."
Found by: [email protected] / Patch by: pseudo
- Added a msg-rate config variable, to replace the current #define msgrate
in server.mod.
- Added new command [putnow] for bypassing the queueing system to be used
instead of [putdccraw]. Equivalent to [putserv noqueue] in eggdrop 1.9.
Patch by: pseudo
- Fixed a reversed pointer check in join_notes().
Fixes Bugzilla Bug # 455 "Possible segment violation in join_notes"
Found by: NML_375 / Patch by: pseudo
- Made eggdrop request ban/invite exception lists when (half)opped,
if getting them on join fails.
Fixes Bugzilla Bug # 465 "channel exempts not loaded properly on EFNET"
Found by: [email protected] / Patch by: pseudo
- Replaced a mistaken typecast with the proper one and eliminates the last
remaining compile warning.
Fixes Bugzilla Bug # 450 "some warning during compile"
Patch by: pseudo
- Added dccwhois.tcl, quotepass.tcl and quotepong.tcl to scripts/CONTENTS.
Fixes Bugzilla Bug # 480 "scripts/CONTENTS missing data"
Found by: Aric / Patch by: pseudo
- Updated msg/irc.help to include /MSG commands available to halfops.
Fixes Bugzilla Bug # 475 "halfop and dehalfop missing from message
help display"
Found by: [email protected] / Patch by: pseudo
- The KEY msg command now logs on success. Fixes Bugzilla # 482
Found by: Rickard Utgren / Patch by: Freeder
- Removed blank at the end of wrong args tcl error for restart/rehash
Patch by: thommey
- Fixed a number of compiler warnings due to recent versions of GCC.
Fixes Bugzilla Bug # 450 "some warning during compile"
Found by: Stoebi / Patch by: pseudo
- Fixed potential buffer overflow in readuserfile() that can occur on a
leaf bot when a hub attempts to share ban/invite/exempt masks for a
large number of channels that the leaf does not monitor.
Fixes Bugzilla Bug # 471 "Buffer overflow in src/users.c"
Found by: FireEgl / Patch by: pseudo
- Updated masktype selection documentation for tcl_maskhost and ban-type.
Patch by: pseudo
- Added masktype selection to tcl_maskhost and ban-type configuration
setting to set default banmask type for each channel.
Patch by: pseudo
- Added AUTHORS file that documents the developers, major contributors,
and groups who've developed and maintained Eggdrop.
- Added THANKS file that contains a full list of Eggdrop contributors.
- Updated files to reference doc/Changes1.6 instead of doc/UPDATES1.6.
Patch by: Tothwolf
- Corrected and unified even more duplicate contributor names in the
doc/Changes files.
- Added some missing contributor names and patch information.
- Further expanded 1.1.x information in doc/Versions.
Patch by: Tothwolf
- Fixed a remote DoS in the CTCP parsing code introduced by the servmsg.c
buffer overflow patch by Nico Golde.
Reference: Secunia Advisory: SA35104
Reference: CVE-2009-1789
Patch by: thommey
- Added scripts/dccwhois.tcl Tcl script. This script enhances the built-in
dcc '.whois' command to allow all users to '.whois' their own handle.
Patch by: Tothwolf
- Reverted "Allow any user to .whois their own handle." 1.6.16 changes.
These changes broke '.whois' behavior in that previously a global op or
channel op had full access to '.whois'. After the changes only a global
op or channel master could use '.whois' on other handles. The hard
coded access flag checks also made it impossible to rebind the '.whois'
command with different access flags.
Patch by: Tothwolf
- Removed 'Maintainer:' hacks from the doc/Changes files. Switched to
using '# Released by:' and '# Patch by:' for processing now.
- Further expanded 1.0, 1.1alpha, and 1.1.x information.
Patch by: Tothwolf
- Fixed even more typos and other errors in the doc/Changes files.
- Greatly expanded the 1.1alpha sections in Changes1.1 and Versions.
- The 1.1alpha+lincoln and 1.1alpha+grant entries were reversed and
mislabeled in Changes1.1.
Patch by: Tothwolf
- Fixed tons of typos and formatting problems in the doc/Changes files.
- Corrected and unified lots of duplicate contributor names; Robey used
lowercase names in earlier versions and Beldin tended to use camel case.
- These changes will allow for semi-automated processing of the
doc/Changes files to build a much more complete contributors list.
Patch by: Tothwolf
- Refactored channels_report() and simplified the channel status
information for the .status command.
Patch by: Tothwolf
- Added support for irc numeric 465 ERR_YOUREBANNEDCREEP so a server ban
reason (for a Kline, Gline, etc) can be seen and logged.
Found by: Tothwolf / Patch by: bryand, Tothwolf
- Added missing fclose() to tout_dcc_send()
Fixes the socket leak in the transfer module.
Found by: C4thY, various / Patch by: bryand
- Added support to BADARGS macro to accept -1 for unlimited arguments.
- Modified tcl_getuser(), tcl_setuser(), and tcl_channel() to use -1 for
BADARGS instead of 999.
- Changed FLGS to FLAGS in tell_binds() for .binds command output.
Patch by: Tothwolf
- Modified tell_user() to use YYYY-MM-DD ISO 8601 date format. This
corrects the LAST date shown for the .whois and .match commands.
Fixes Bugzilla Bug # 470 "Dates in Whois/Match Don't Show Years"
Found by: BarkerJr / Patch by: Tothwolf
- Added .vbottree command help section to cmds2.help.
Fixes Bugzilla Bug # 464 ".help vbottree not working"
Found by: Wanderer / Patch by: Tothwolf
- Fixed global variable names used with Tcl_SetVar() / Tcl_VarEval() --
- Made assoc module use $_chan instead of $chan
- Made tell_user() use $_user instead of $user
Patch by: Tothwolf
- Moved the variable declaration for tcl_maskhost() to the top of the
function where it should be. The tcl_maskhost patch prevented
tcl_maskhost() from compiling with many non-GCC and older GCC compilers.
Found by: simple / Patch by: Tothwolf
- Removed Solaris RANDMAX autoconf hack.
- Added proper preprocessor checks for RANDOM_MAX and RAND_MAX.
- Added autoconf tests and preprocessor checks for rand() and lrand48().
- Simplified randint macro to make it faster.
- Added argument sanity checking for tcl_rand() / Tcl [rand] command.
- Added min:max value sanity checking in irc.mod set_delay(). This should
match the aop-delay behavior documented in eggdrop.conf now.
Patch by: Tothwolf
- More minor autoconf changes.
- Context and ContextNote should use 'do {} while (0)' instead of '{}'.
- Put Context init code into an #ifdef DEBUG_CONTEXT block.
Patch by: Tothwolf
- Updated doc/Versions and added more milestone information.
- Misc doc updates and fixes.
Patch by: Tothwolf
- Added doc/Changes* files created from all the various UPDATES* files
that were available. Change history after 0.7d (April 11, 1994) to 0.9
(July 23, 1994) seems to have been lost but it may eventually be located.
- Added doc/Versions file that contains a list of Eggdrop versions,
release dates, and other important notes in reverse chronological order.
Patch by: Tothwolf
- Require autoconf 2.60 now.
- Added AC_PRESERVE_HELP_ORDER macro to configure.ac
- Added new autoconf macros to aclocal.m4 and configure.ac:
EGG_DEBUG_ENABLE EGG_DEBUG_DEFAULTS EGG_DEBUG_OPTIONS EGG_DEBUG_CFLAGS
EGG_ENABLE_DEBUG_CONTEXT
- Added new configure options: --enable-debug --enable-debug-mem
--enable-debug-assert --enable-debug-context
- Replaced ENABLE_STRIP define with DEBUG
- DEBUG_CONTEXT is now defined in config.h instead of eggdrop.h
- Refactored DEBUG and DEBUG_CONTEXT conditional code in main.c.
- Don't default set unlimited core file size for non-debug builds.
Patch by: Tothwolf
- Added EGG_APPEND_VAR and EGG_CHECK_ICC autoconf macros to aclocal.m4.
- Replaced autoconf 'var="$var <string>"' with EGG_APPEND_VAR macro.
- Replaced no_pipe and no_wall variable hacks with a proper test for the
Intel C Compiler (icc).
- Put '-pipe' in CFLAGS not CC.
- Added GPL header to AH_TOP macro in configure.ac for config.h.in.
- Removed unused std_args.h header check and HAVE_STD_ARGS_H conditionals.
Patch by: Tothwolf
- Refactored root Makefile.in variables.
- Removed unnecessary '-g' flag from LD variables (-g is ignored).
- Renamed DEBCFLAGS to DEBCFLGS
- Moved -g3 compiler flag to DEBCFLGS variable.
- Removed double quoting "`command`" in autoconf macro tests.
- Changed autoconf macro 'test ! foo = bar' tests to 'test foo != bar'.
Both are portable but '!=' is now more common in autoconf macros and is
easier to read.
Patch by: Tothwolf
- Fixed EGG_PROG_HEAD_1 autoconf macro cache checking. You can't use
AC_MSG_RESULT() within AC_CACHE_VAL().
- Moved --enable-strip configure check from EGG_PROG_STRIP to its own
macro: EGG_ENABLE_STRIP()
Patch by: Tothwolf
- Bot would send 'JOIN #chan ' to the server with trailing whitespace
when joining channels that didn't require a key.
Found by: simple / Patch by: Tothwolf
- Make check_expired_chanstuff() use DP_SERVER instead of DP_MODE for JOIN.
Found by: simple / Patch by: thommey
- Refactored reset_chan_info() to make it a little easier on maintainers.
- Removed a useless '\r' from the dprintf() TOPIC check in
reset_chan_info(). This was from the "Request topic on channel reset"
patch in 1.6.18, which re-added the TOPIC check that someone
needlessly removed in 1.6.7.
- got_halfop() was improperly checking !me_op() to see if it should call
recheck_channel(). Now it checks !me_halfop() in addition to !me_op()
- Removed duplicate code in got_deop() for hidden +v / +h checking.
No need to duplicate the entire test, just add 'CHANHALFOP'.
Patch by: Tothwolf
- Set CHAN_PEND when calling refresh_who_chan() to avoid possibly sending
extra WHO requests to the server if a WHO was already sent.
Found by: Tothwolf / Patch by: thommey
- Always send a "WHO chname" instead of sending a "WHO nick" which doesn't
have the same behaviour across all irc daemons.
- Improved use_354 support as we weren't using it everywhere we could.
Patch by: thommey
- Minor documentation updates
Patch by: skiidoo
- Updated exec magic tricks in the autobotchk and weed scripts.
- Check for a working 'grep -E' before resorting to 'egrep'.
- Use "$0" ${1+"$@"} in place of "$0" "$@" to avoid problems with broken
sh implementations that expand "$@" into a single empty argument when
there are no other arguments.
Patch by: Tothwolf
- Make custom configure warning messages' prefix match AC_MSG_WARN.
- Fixed broken EGG_TCL_CHECK_HEADER macro Tcl header 'not found' message.
- Don't use "${var-x}" in place of "x$var". The use of "x$var" is more
portable and standard practice in autoconf macros.
- Added AC_CANONICAL_* macros to EGG_OS_VERSION in preparation to move
from our old 'uname -s' and 'uname -r' hacks to a canonical triplet.
Patch by: Tothwolf
- Completely rewrote EGG_TCL_CHECK_THREADS autoconf macro to make the
--enable-tcl-threads and --disable-tcl-threads threaded Tcl library
configure options more robust.
- Fixed --enable-tcl-threads configure option so it will enable threaded
Tcl library support even if we don't autodetect a threaded Tcl library.
- Explicitly offer both --enable-tcl-threads and --disable-tcl-threads
configure options that can forcefully enable or disable threaded Tcl
library support. Previously either worked but only showing
--disable-tcl-threads in --help could be confusing.
- Added code to print an explicit message to show if threaded Tcl library
support will be enabled or not.
- We no longer link against pthread library unless threaded Tcl library
support is enabled.
Patch by: Tothwolf
- Added argument checking to randstring proc in alltools.tcl to make it a
little more robust.
Found by: thommey / Patch by: Tothwolf
- Modified releaseprep script to run cvs2cl so we will (hopefully) have an
up-to-date ChangeLog file before each release.
Patch by: Tothwolf
- Updated config.guess and config.sub build system triplet detection
scripts to the latest versions.
These were nearly 7 years old and way overdue for an update.
Patch by: Tothwolf
- Minor raw logging fix when the server sends the command
Found by: simple / Patch by: guppy
- tcl_maskhost could crash the bot
Patch by: pseudo
- Changed some JOINs to use DP_SERVER instead of DP_MODE
Found by: Komandar / Patch by: guppy
1.6.19 (April 18, 2008):
- Update the recommended Tcl version to 8.5
Patch by: guppy
- Updated Copyright dates
- Added [sL] and thommey to the AUTHORS file
Patch by: guppy
- Load blowfish by default
Patch by: guppy
- Added a Tcl script to handle the PONG :<cookie> junk on some EFnet servers
Coded by: simple, [sL], guppy
- Add a simple Tcl script to handle the PASS <numbers> junk on some Undernet
servers
Coded by: simple, [sL], guppy, Freeder
- Add support for chanmode +T
Patch by: thommey
- CTCP parsing was broken by the servmsg.c buffer overflow patch
Patch by: thommey
- Fixed a couple of typos in the FEATURES file.
Patch by: Tomas Szaniszlo
- Fixed two potential buffer overflows in servmsg.c
Reference: Secunia Advisory: SA25276
Reference: CVE-2007-2807
Found by: Bow Sineath / Patch by: Nico Golde, Wcc
- Fixed compatibility problems with certain time_t implementations.
Found by: various / Patch by: Tothwolf
- Complete raw traffic wasn't getting logged in some cases; only the raw
command itself was. Fixed.
Patch by: mrBuG
1.6.18 (July 9, 2006):
- Look for Tcl in /lib64 and /usr/lib64.
Patch by: Kuja
# RC1 released on April 3rd, 2006.
- Fixed a type conversion problem in snprintf.c causing Eggdrop to not
compile on OSF1.
Found by: Joker / Patch by: Wcc
- Detect NetBSD Tcl in /usr/pkg/lib and /usr/pkg/include.
Found by: mish / Patch by: Wcc
- Fixed possibility of referencing a NULL pointer in rembot().
- Added a missing param cast for dcc_table.timeout.
- Fixed a memleak / other nasty stuff when MODES_PER_LINE_MAX != 6.
- Fixed putlog() of an uninitialized (and incorrect) variable in
dcc_telnet_hostresolved().
Patch by: bryand
- Valgrind doesn't bitch about init_uptime() now.
Patch by: Wcc
- Dns.mod should compile on Mac OS X now. Thanks to Netscrape @ EFnet for
testing.
Found by: various / Patch by: Wcc
- Corrected nat-ip setting documentation.
Found by: BarkerJr / Patch by: Wcc
- Don't allow realname to be blank or whitespace.
Found by: Jesse M. / Patch by: BarkerJr, Wcc
- Fixed an error in channel get. You can now, correctly, do a
channel get #channel stopnethack-mode.
Found by: Chris Northwood / Patch by: Wcc
- The pushmode command should work properly for bans now.
Patch by: thommey
- Apparently we broke lastbind.
Found by: bUrN / Patch by: thommey
- Request topic on channel reset.
Found by: De Kus / Patch by: darko``
- Fixed a situation where noshare could be set to 1 and never restored.
Patch by: bryand
- Fixed a socklist leak in net.c.
Patch by: bryand
- Hopefully fixed dns lockups.
Found by: various / Patch by: Sven
- Fixed remote note bug in add_note() that was introduced in 1.6.17.
Fixes Bugzilla Bug # 433 "Remote Notes Always Say User is Offline"
Found by: alex323 / Patch by: Tothwolf
- Completely rewrote check_tcl_bind().
- Added inline check_bind_flags() for flag checking for check_tcl_bind().
- Added inline check_bind_match() for match checking for check_tcl_bind().
- Rewrote trigger_bind() and made it inline for check_tcl_bind().
- Fixed pointless calling of nmalloc() and nfree() for ContextNote in
trigger_bind() when DEBUG_CONTEXT isn't defined.
- Moved findidx() from tcl.c to dccutil.c.
- Moved findanyidx() from tclhash.c to dccutil.c.
- Moved CHECKVALIDITY from tclhash.h to tclegg.h.
- Added CHECKVALIDITY checks to builtin_dcc() and builtin_fil().
- Moved CMD_LEAVE from cmdt.h to tclegg.h.
- Changed NULL to CMD_LEAVE for partyline quit in cmds.c.
- Renamed BIND_EXEC_BRK to BIND_QUIT.
- Fixed misc typos.
Patch by: Tothwolf
- Added support to MSGM, PUBM, NOTC, and WALL binds to support bound procs
returning 1 to prevent logging of the trigger message text.
Fixes Bugzilla Bug # 334 "msgm bind return values"
- Added BIND_STACKRET bit mask and support for stacked bind return values
to check_tcl_bind(). This allows check_tcl_bind() to check if any
stacked bound procs return 1 while allowing all matching stacked binds
to be processed. Previously if BIND_WANTRET was used to check the return
value of stacked binds, only the first match would be triggered.
- Modified irc.mod gotmsg() function to trigger PUBM binds before
triggering PUB binds. MSGM and MSG binds already worked this way.
- Modified irc.mod gotmsg() function to allow a message to trigger both
PUBM and PUB binds. Previously if a message triggered a PUB bind, any
PUBM binds that might match the message text would not be triggered.
Fixes Bugzilla Bug # 351 "bind pub hogs pubm"
- Added exclusive-binds setting and code to gotmsg() functions to allow
MSGM and PUBM binds to be exclusive of MSG and PUB binds.
- Fixed logging for WALL bind. It had been broken since it was originally
implemented in eggdrop-hayes. Wallops messages were always logged
regardless of the return value of a bound proc. Returning '1' from a
bound proc now causes Eggdrop to not log the Wallops message.
Patch by: Tothwolf
- Check for Tcl 8.5 before older versions.
Patch by: Tothwolf
- Use flagrec_eq() instead of flagrec_ok() in help_subst()
since lower flags are automatically added now.
Patch by: Tothwolf
- Check for bot's nick and user@host earlier in detect_flood()
and detect_chan_flood().
Patch by: Tothwolf
- Allow wildcard matching and stacking for note binds.
Patch by: Tothwolf
- Use CHANMETA to define valid channel prefixes in gotmsg().
Fixes Bugzilla Bug # 422 "channel prefix bug in src/mod/irc.mod/chan.c?"
Found by: [email protected] / Patch by: Wcc
- Fix for problems created when loading long user-defined channel setting
names from the channel file.
Patch by: Stream
- Help file update related to sharing.
Patch by: Shawn888, slennox
- Fix for randint() on Solaris / SunOS.
Patch by: Mikael Hedberg
- Updated Copyright Dates.
Patch by: Paladin
- Fixed 3 invalid reads in notes.c.
Patch by: winkey
- Corrected a few of the error messages in neterror().
Found by: Steven Nikkel / Patch by: Wcc
- Corrected the order of our search paths for Tcl. This should help stop
version mismatches between the headers and libraries.
Patch by: CoderX2
1.6.17 (August 22, 2004):
- Lots of doc updates.
Patch by: dollar, Wcc
# RC1 released on August 2nd, 2004.
- Added a "stripcodes" Tcl command. See doc/tcl-commands.doc for more
information.
Patch by: BarkerJr
- Bot idx's should be considered valid to tcl_valididx.
Found by: SteppenWolf / Patch by: Wcc
- Always try to detect shared Tcl libraries before static ones.
Patch by: Wcc
- We now correctly differentiate the +l user flag from the +l bot flag.
Found by: Joker / Patch by: Wcc, darko``
- Cleaned up modules.c and the module configure stuff quite a bit.
Patch by: Wcc
- Detect Tcl in $HOME/lib and $HOME/tcl/lib first, as to make it easier to
allow users to override the system's Tcl version.
Found by: various / Patch by: Wcc
- We now support module loading under Darwin (Mac OS X) and NeXT Step.
Found by: various / Patch by: Wcc
- Don't try to call tcl_notes if the notes module isn't loaded.
Found by: Chris Northwood / Patch by: bryand
- Show a more descriptive error message when a listen socket can't be
opened.
Found by: various / Patch by: Wcc
- Fixed Tcl encoding issues with .tcl and .set.
Found by: Fabulous, Miguel Ventura / Patch by: CoderX2
- Added a set of Finnish language files and a Finnish MOTD.
Patch by: Mikko Vester
- time_t isn't unsigned, and therefor %lu should not be used as a
conversion specifier.
Patch by: bryand
- Fixed a gcc warning in dcc.c.
Patch by: BarkerJr
- Added support for Quakenet channel modes.
Patch by: thommey
- Removed an invalid killsock() in dcc.c.
Patch by: bryand
- Fixed extra spaces being written to chan file.
Patch by: bryand
- Reworked 'make config' / module configure process.
Found by: various / Patch by: Wcc
- Op (+o) implies halfop (+l) now.
Patch by: darko``
- Cleaned up and optimized rmspace() and fixfrom().
Patch by: Sup
- Updated recommended Tcl version to 8.4.6.
Patch by: Wcc
- Fix behavior of the BCST bind. BCST is now correctly triggered for
dccbroadcasts, as well as when a bot "says" something on a channel.
See doc/tcl-commands.doc for more information.
Found by: FireEgl / Patch by: Wingman
- Remove some unneeded casts.
Patch by: darko``
- Fixed performance issues with mv/cp when a lot of files are in the file
area.
Found by: Fabulous / Patch by: Wingman
- Typo in doc/COMPILING-FAQ, It's LD_LIBRARY_PATH, not LB_LIBRARY_PATH
Found by: NoPleX / Patch by: Wcc
- Fix a possible issue with ident code.
Found by: various / Patch by: darko``
- Don't let .tcl mkdir create duplicate filedb entries.
Found by: Fabulous, Ze / Patch by: Wingman
- Fixed a compile error related to varargs when using old Tcl versions.
Found by: Thomas Neumayer / Patch by: Wcc
- Fixed a compile error on systems that don't have socklen_t.
Found by: Brad Edwards / Patch by: Wcc
- Suppress configure warnings on systems that use newer versions of GNU
coreutils.
Patch by: Wcc
1.6.16 (May 31, 2004):
# Final released on May 31, 2004.
- Added back a missing alarm call (removed accidentally with IPv6).
Patch by: TaKeDa
- Doc updates.
- Help file improvements.
Patch by: Wcc
- Use high-order bits for random numbers.
- Cleaned up and optimized delay code in share.c.
Patch by: Sup
- Change Undernet nicklen to 12, as it has been changed on Undernet.
Patch by: Wcc
- Fix text sent to the server being terminated with "\x00\x0d\x0a"
instead of just "\x0d\x0a".
Patch by: Sven
- Small fix to transfer.mod lang files.
Patch by: winkey
- More HP ANSI C fixes.
Patch by: Wcc
- Fixed a few warnings. We also should compile correctly with HP's ANSI C
compiler now.
Patch by: stdarg
# RC1 released on April 9th, 2004.
- Missing '\n' on language entry in notes.mod.
Found by: dollar / Patch by: Wcc
- Detect Tcl 8.5.
Patch by: Juvenal
- Fixed a crash in savechannels/loadchannels.
Found by: Stu Jones / Patch by: TaKeDa
- Fixed a crash in putlog() that appears when timestamps are turned off.
Patch by: darko``
- Rewrote isowner() completely.
Patch by: Sup
- Better support for non-standard "op" prefixes (UnrealIRCD, etc.).
Patch by: Sven
- Terminate wire_bot[] in wire.mod, fixing a crash.
Patch by: Bryan Dolan
- Check for empty password in dcc_bot_check_digest().
Found by: azurIt / Patch by: daimonic
- Various crash fixes:
- Fixed _wild_match() to not try to read before the beginning of the mask.
- Small fix to correct_handle().
- queue_server() wasn't adding messages to the queue correctly.
- Fixed errors reported by valgrind in n_free() and notes module.
- Fixed crash in dcc_chat regarding the filt bind.
Patch by: stdarg
- Don't always set SHARE_OFFERED status in check_expired_tbufs() for
linking bots.
Reference: Secunia Advisory: SA10858
Originally reported to Full-Disclosure by Giuseppe Caulo
Patch by: Luca De Roberto, Dania Stolfi, Giuseppe Caulo
- Cosmetic fixes to notes.mod.
Found by: BarkerJr / Patch by: Wcc
- Don't check the bot's own user record when looking for a hub/althub to
link to.
Found by: poptix / Patch by: bryand
- Portibility and build process fixes/updates.
Patch by: Wcc
- Mac OS X fixes.
Found by: hobb / Patch by: Wcc
- Truncate passwords at 30 chars instead of 15.
Found by: Ting / Patch by: Paladin
- Be aware of 'cp/mv * this.file' possibility in filesys.mod.
Found by: Fabulous / Patch by: stdarg
- Allow any user to .whois their own handle.
Found by: ZeveRoaRe RoeLt / Patch by: Wcc
- Added a new EVNT type, "userfile-loaded", which is called after the
bot's userfile has been loaded.
Found by: Wanderer / Patch by: darko``
- Fixed a few places where chan->name was being used instead of
chan->dname.
Found by: Wanderer / Patch by: Wcc
- hand2idx works for bots now
Found by: BarkerJr / Patch by: Wcc
- .stick/.unstick <number> now works for channel masks
Patch by: Sven
- Properly escape IPv6 masks in write_exempts() and write_invites().
Found by: J. Lehto / Patch by: TaKeDa
- Fix for nonworking 'head -1' in GNU Coreutils 5.0.
Patch by: Tothwolf
- ctype.h is*() functions are apparently unsafe unless recasted.
Found by: Sup / Patch by: Wcc
- Cosmetic updates to the build process.
Patch by: Wcc
- Exported oatoi() to modules since someone somewhere might find it useful.
Patch by: Wcc
- Fixed a bug preventing masks starting with numbers from being
removed/stuck/unstuck.
Found by: BarkerJr / Patch by: Wcc
- Fixed the very very horrible handling of arguments by tcl_dnslookup().
Found by: Wanderer / Patch by: KuNgFo0, Wcc
- Don't rejoin +inactive channels when kicked from them. This can be
caused by bot-server connection lag or full queues.
Patch by: BarkerJr, Eule
- uname fix in msg_status; OS should display on freebsd now.
Patch by: Wcc
- Fixed a buffer overrun in msg_status().
Patch by: Wcc