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 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 1302 1303 1304 1305 1306 1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 1317 1318 1319 1320 1321 1322 1323 1324 1325 1326 1327 1328 1329 1330 1331 1332 1333 1334 1335 1336 1337 1338 1339 1340 1341 1342 1343 1344 1345 1346 1347 1348 1349 1350 1351 1352 1353 1354 1355 1356 1357 1358 1359 1360 1361 1362 1363 1364 1365 1366 1367 1368 1369 1370 1371 1372 1373 1374 1375 1376 1377 1378 1379 1380 1381 1382 1383 1384 1385 1386 1387 1388 1389 1390 1391 1392 1393 1394 1395 1396 1397 1398 1399 1400 1401 1402 1403 1404 1405 1406 1407 1408 1409 1410 1411 1412 1413 1414 1415 1416 1417 1418 1419 1420 1421 1422 1423 1424 1425 1426 1427 1428 1429 1430 1431 1432 1433 1434 1435 1436 1437 1438
|
Atheme Services 6.0.11 Release Notes
Codename: "Endorsed by Plato"
====================================
ircd
- inspircd: use ENDBURST to determine who to elicit PING/PONG from.
botserv
- add '/' to the character blacklist.
chanserv
- info: Do not display channel fantasy prefix if fantasy is disabled
either netwide or on the channel.
nickserv
- list: Give useful feedback on bad ns list predicates, fix a corner case
in parsing and fix some grammar errors related to "criterion".
contrib
- anope_convert.c: Make sure there is actual data in metadata fields.
Atheme Services 6.0.10 Release Notes
Codename: "Obligatory security-related update."
====================================
ircd
- charybdis: send messages to channels even if we're not on it from the bots
themselves.
- unrealircd: reset +x if a vhost is removed
- inspircd: reset +x if a vhost is removed and track whether or not m_cloaking
is loaded.
nickserv
- ensure certfp resources are released when an account object is destroyed
bugs fixed in this release
- SRV-148, SRV-160, SRV-166
Atheme Services 6.0.9 Release Notes
Codename: "Occupy IRC."
===================================
ircd
- inspircd: Fix end-of-burst detection.
- ts6: Mark +S services as UF_IMMUNE.
- p10: Recognize umode +k as providing kick immunity.
- plexus: Fix real hostname showing up as vhost.
backend
- opensex: Cleanly handle no OpenSEX DB existing on
startup.
botserv
- bottalk: Display the channel bottalk commands are being
used in in the logcommand message.
chanserv
- access: Many fixes and improvements and VERBOSE support.
groupserv
- register: Honor PRIV_REG_NOLIMIT.
nickserv
- badmail: Require a reason when adding a new entry.
operserv
- clones: Add logcommand calls for CLONES:SETEXEMPT command.
other
- notify users when bad_password() is hit on their account.
- avoid kill loop when killing operserv while logging rawdata
to IRC.
- call shutdown(2) on connections being closed.
- fix possible recursion in the logsystem.
- use localtime() where possible.
- final fixes for NLS detection.
bugs fixed in this release
- SRV-119, SRV-120, SRV-125, SRV-128, SRV-130, SRV-136,
SRV-137
Atheme Services 6.0.8 Release Notes
Codename: "Thanks for ruining IRC, Nokia."
===================================
chanserv
- fix a DoS in chanserv/flags.
nickserv
- fix releasing of enforcers over XMLRPC.
- fix a possible buffer overflow in nickserv/cracklib.
contrib
- anope_convert: Fix migration of users to opensex.
code
- many assertions added and various minor fixes
other
- switch all internal scripts and such to use git as
atheme.org no longer uses mercurial.
Atheme Services 6.0.7 Release Notes
Codename: "Michael 'dKingston' Rodriguez IRC turnpike"
===================================
ircd
- shadowircd: Fix possible mlock issues if m_roleplay is in use
on shadowircd 6.3.x.
- inspircd: Clarify the taint message if a tainted InspIRCd module is used.
groupserv
- fix a crash if metadata is added for groups that don't exist.
nickserv
- added badmail module from 7.0. Allows you to stop registration
of accounts with certain email addresses and allows modification
of the badmail list on-the-fly. This module deprecates gen_regcheckemail
which was removed in 7.0.
- listownmail: Disallow from accounts that don't have a valid email address.
operserv
- sqline: Better detection of whether SQLINEs match already existing ones
or not.
saslserv
- external: Support for new AUTHENTICATE EXTERNAL draft extension.
xmlrpc
- reject malformed messages with blank XMLRPC parameters (Fixes SRV-96).
contrib
- anope_convert.c: Convert to outputting a OpenSEX database.
other
- spanish translation updates.
Atheme Services 6.0.6 Release Notes
===================================
ircd
- inspircd: abort if the uplink is on a client port.
- charybdis: handle immunity like ircd-seven does.
backend
- flatfile: clarify error message when data is unavailable for
conversion to OpenSEX.
chanserv
- Enabling hide_xop now truly removes the default xOP templates.
gameserv
- always respect set_gameserv.
- refactoring which also removed a hack for charybdis 1.x
nickserv
- register: allow registration password length to exceed PASSLEN
if it is being hashed.
documentation
- various small fixes.
other
- configuration option general::immune added for IRCd's that
do not have some proper immune mode.
Atheme Services 6.0.5 Release Notes
===================================
ircd
- inspircd: Add support for locking mode +H (chanhistory).
chanserv
- access: Massive changes to make it work better and have
far fewer bugs. Too many to list here.
gameserv
- namegen: Make it actually use the optional number parameter.
groupserv
- properly remove channel access from a group when
the group is dropped or expires.
nickserv
- Fix nickserv/access entries loading from OpenSEX.
documentation
- document GroupServ privs in doc/PRIVILEGES.
other
- actually fix the --disable-nls stuff.
Atheme Services 6.0.4 Release Notes
===================================
groupserv
- fix users getting incorrect flags on DB load.
operserv
- remove some usages of bzero() in COMPARE.
other
- finally fix the --disable-nls rubbish on build.
Atheme Services 6.0.3 Release Notes
===================================
ircd protocol
- unreal: Add support for changets.
- charybdis: Allow locking of modes provided by extensions.
- Make SERVER_NAME() work a bit better if the IRCd does not
support SID's/UID's.
memoserv
- When informing a user about new memos, always explicitly use
memoserv's nick.
xmlrpc
- Call bad_password() when someone tries to login with a bad password
over XMLRPC.
other
- Do not attempt to add properties to objects that do not exist at
loadtime.
- Make the build a bit better with uClibc.
- Document some typical build failures and how to fix them in the
INSTALL file.
Atheme Services 6.0.2 Release Notes
===================================
ircd protocol
- unreal: Do not set usermode +d (deaf) on users if the IRCd does not
support ESVID.
operserv
- If a module load requires a rehash, do a rehash on MODRELOAD.
Atheme Services 6.0.1 Release Notes
===================================
chanserv
- fix a crash when WHY is used on a user who is not logged in to
services.
Atheme Services 6.0 Release Notes
=================================
All bugfixes from the 5.2 branch of Atheme are also in 6.0.
ircd protocol
- inspircd: Support for owner, halfops and admin are now dynamically
enabled by what modes exist instead of being enabled by what modules
you have loaded in inspircd.
- support for InspIRCd 1.1, OfficeIRC and UltimateIRCd 3 has been removed.
opensex
- opensex is now the required database format. All flatfile will do is
convert your flatfile database to opensex and exit.
- converted many modules that use external databases to using opensex.
chanserv
- new module: chanserv/access. this adds role-based channel acl via the
ACCESS and ROLE commands.
- new module: chanserv/successor_acl. this adds a +S channel acl flag which
will weight a user as a successor.
- modules may now override the succession process using the new
channel_pick_successor hook.
- chanserv/list: Enhance by adding many possible criteria to match channels
against.
- new set_prefix module. This module allows channels to define a channel-specific
fantasy prefix. The channel-specific prefix is displayed in the INFO for the
channel. This is particularly useful if the channel uses an external bot that
conflicts with the services default fantasy prefix.
- new clear_flags module. This allows founders to remove all entries from the
channel access list except other founders.
groupserv
- new service that allows users to form groups of accounts and apply the
same ACL entries to them, send memos to them and other features.
helpserv
- new service that allows users to request oper help in different ways.
Currently either via a ticket system or by "pinging" the opers with a
request for help.
hostserv
- allow activating or rejecting all waiting vhosts by using '*' instead of
a nick.
infoserv
- oper-only message support. You can now give messages an importance where
they will only be sent to opers upon oper-up.
- in infoserv message subjects, underscores will now be replaced with spaces
so you can have multi-word subjects.
- allow customizing the number of infoserv messages shown to users on connect.
nickserv
- new contrib module, ns_waitreg that allows you to specify how long a user must
be connected before they can register a nick.
- new regnolimit module. Allows opers to set users as able to be exempt from channel
registration limits. (how many channels may be registered to one account)
- nickserv/list: Enhance by adding many possible criteria to match users against.
operserv
- new readonly module. This allows changing the readonly state at runtime.
xmlrpc
- the legacy xmlrpc/account, xmlrpc/channel and xmlrpc/memo modules have been
removed. These have been deprecated for over 4 years and you should be
using xmlrpc/main and atheme.command for all your xmlrpc uses.
- the xmlrpc core has been rewritten a little bit to use mowgli's patricia tree
code. this should bring a performance improvement over the hashtable code it
was using.
- xmlrpc has been completely moved out of core
- a new command, atheme.privset has been added to get the soper privs of a user.
code
- default values in config options are now supported. This is particularly
useful in modules and cleans up the config code a bit.
- many bugfixes and compile warning fixes.
- the flags code has been cleaned up to assume that there is only one flags
table.
- the flags code is now extendable by modules.
- mychan_pick_candidate() is now in the public API.
- the core now lives in an ipv6 world. it's 2010 - if your operating system
doesn't support ipv6 - you suck.
- ctcp handling has been rewritten.
- new easter egg.
- the shrike hash function (shash()) has been removed as there was no longer
anything using it.
- the "symbolmatrix" code was removed because we went with a different solution
instead long ago.
- myuser_t is now a child of myentity_t which describes an entity that can have
channel membership.
- list_t/node_t have been removed in preference of mowgli.list.
- balloc has been removed in preference of mowgli.heap.
other
- added an anope 1.9.2 flatfile DB to OpenSEX DB conversion script.
- mail sending has been changed, likely causing serverinfo::mta scripts to
break. The command is now passed "-t" rather than the email address and
the shell is no longer used.
- the SDK hg revision of modules in now shown in MODINSPECT.
Atheme Services 5.2 Release Notes
=================================
Note: We are looking for additional developers to help with maintenance of
Services. After almost 7 years of development, many of the programmers have
moved on.
ircd protocol
- inspircd: track channelmodes +D (delayjoin) and +d (delaymsg).
chanserv
- split out SET into seperate modules for each SET command. chanserv/set
is now a "meta-module" that depends on all the set_* modules.
hostserv
- added OFFER module that allows opers to offer vhosts to users.
- made the request system (specifically the ACTIVATE command) not send
a memo to the user.
infoserv
- new service. infoserv allows opers to send notices to users when they
connect or at the time of running the command (like Global).
nickserv
- split out SET into seperate modules for each SET command. nickserv/set
is now a "meta-module" that depends on all the set_* modules.
- added cracklib module that checks users' passwords on REGISTER and lets
them know if the password is secure or not. You can have it just warn
the user or disallow them from registering with a configuration option.
- added ns_generatehash contrib module to generate a password hash for
a soper if you have crypto enabled.
- removed ns_ratelimitreg contrib modules as its functionality is now in
core.
operserv
- added expiry time to clone exempt
code
- replace the atheme-services build system with the ACBS used by many other
Atheme projects.
- rework the colour and special character stripping for xmlrpc.
- remove snoop(). any modules still using snoop() will fail to compile on
atheme 5.2. please replace it in your code with logcommand() or slog().
other
- ircservtoatheme: generally make a bit more robust.
- added ratelimiting support to hostserv/request, chanserv/register and
nickserv/register.
- add a new database format called opensex. This is available in 5.2 as a
"technology preview" and will be mandatory in 6.0.
Atheme Services 5.1.1 Release Notes
===================================
ircd protocol
- TS6: Rework MLOCK a bit to make it more robust and support more modes.
operserv
- add os_helpme contrib module. Thist module marks a user as a network helper.
This will only work on ircd's with the helpop (usually +h) user mode.
other
- add extends directive to operclasses so one operclass can inherit privledges
from another. See the example config for details. Note, you can have two
operclasses with the same privledges, so extending is not forced.
Atheme Services 5.1 Release Notes
=================================
[MERGED] indicates items merged to the 5.0 branch
ircd protocol
- inspircd: common code has been merged into inspircd-aux, this will continue
in the next version with inspircd 1.1 support.
- inspircd: several unsupported module configurations are now programatically
marked as such.
- inspircd: permanent channels are now tracked in 1.2 and later. (SRV-29)
- inspircd: add support for receiving SVSNICK (nick collisions)
- inspircd: add support for m_ojoin
- TS6: add support for MLOCK
- shadowircd: updated module to shadowircd6
- hyperion: removed
- Added support for ithildin1. This is still a bit experimental.
- ircnet: support added for server hostmasking.
botserv
- add missing helpfiles
- botserv bots now quit instead of splitting when terminating/restarting
services (SRV-12)
chanserv
- FLAGS: allow +F* as well as +*F
hostserv
- add missing helpfiles
nickserv
- add support for CERTFP (CERT command)
operserv
- reject jupes with names containing wildcards.
- add os_trace contrib module. This module looks up users by various criteria
and lets you perform actions on them.
- add os_akillnicklist contrib module. Automatically AKILLs a list of clients,
given their operating parameters.
- change CLEARCHAN GLINE action to AKILL to be more consistent with the rest
of Atheme. GLINE still exists as an alias to AKILL.
saslserv
- add AUTHCOOKIE SASL method which allows for integration with Iris
code
- add taint subsystem which allows developers to programatically define
unsupportable conditions.
- constify *line_sts() protocol module functions.
- track deaf umode and set it on services clients if fantasy is disabled.
- allow #else in helpfiles
- startup flag -r (read-only) added.
- enable large file support.
- Add 'force_language' to sourceinfo_t, which forces the locale
to be reset to the language specified by the sourceinfo structure.
Useful for forcing XMLRPC responses to be in English.
- force dependency calculation before most targets to fix -j problems; there
is a new target build-nodeps to skip this for subsequent builds (like the
old behaviour of build).
other
- logging system entirely reworked. snoop() is deprecated and will be
removed in the next version.
- add general::exempts config block, for masks that will never be
automatically klined.
- add configurable command aliases to the services blocks
- helpfiles added for all contrib modules.
- make the wumpus contrib module compile and work again.
- anope_convert: support newer 1.8.x Anope versions and made anope_convert
a bit more robust in handling encrypted passwords.
Atheme Services 5.0.1 Release Notes
===================================
botserv
- When kicking users from an otherwise empty channel, set INHABIT, so that
the bot leaves the channel after a short delay.
code
- Remove legacy .disp field from core services structures.
Atheme Services 5.0 Release Notes
=================================
[MERGED] indicates items merged to the 4.0 branch
ircd protocol
- inspircd12: fix UID parsing and rejoining services after kicks. [MERGED]
- TS6: allow nicer topic setting using charybdis 3.2's ETB.
- hyperion: fix a bug that could cause the hostnames of services clients
to be overwritten. [MERGED]
- plexus: port to ts6-generic, add UF_IMMUNE for +N, add support for
permanent channels.
- hybrid: fix a crash.
- unreal: use SVSKILL for kills from NickServ. This reduces excessive server
notices.
nickserv
- Matching a nickname access list entry no longer resets last used time.
- Allow authentication via an LDAP server.
- Add some missing help files.
- Start the enforce timer on /ns set enforce on.
- Add a per-account language setting. This currently does not work very well.
- Prepend "(restored) " to marks restored from previously deleted accounts.
- Change VHOST syntax, adding an ON/OFF keyword and requiring a FORCE keyword
to set a vhost on a marked account. The old syntax still works for vhosts
containing a dot, colon or slash.
- Add ns_listlogins contrib module. This allows logged in users to see real
hosts of their other logins.
chanserv
- Set owner/protect on the founder of a new channel, if appropriate.
- Do not set protect status if the user already has owner.
- Rework successor selection for channels to respect flags more. [MERGED]
- Allow users with +V to voice themselves.
botserv
- New service. This allows users to have a "bot" join their channel instead
of ChanServ.
hostserv
- New service. This adds per-nick vhosts and a request system to what
/ns vhost provides. As long as per-nick vhosts are not used it interoperates
with /ns vhost.
alis
- Add -maxmatches option which xmlrpc and chan:auspex may set to higher than
the default.
oper
- Fix a possible crash with /os greplog. [MERGED]
- Add SGLINE system for bans by realname (TS6 xline).
- Services ignores no longer apply to users with general:admin privilege.
- Add /os listklinechan to the os_klinechan contrib module.
- Add os_kill contrib module. This allows opers to kill users while hiding
their identity. (This was added earlier, but not linked to the build.)
- Add SQLINE system to disallow nick and channel names (TS6 resv).
- Fix possible crash with /os noop.
- RWATCH now also watches nick changes.
xmlrpc
- Remove 4K limitation on length of xmlrpc command output. [MERGED]
code
- Remove select() support and code to allow multiple "socket engines".
poll() is sufficient.
- Rework the network connection code to be cleaner and more flexible.
- Close all connection_t fds in child processes.
- Allow using sourceinfo_t.v with IRC sources.
- Some tweaks to the build system.
- Add type checking to the hook system. See src/hooktypes.in. It may be
necessary to specify --enable-warnings to configure to enable the checks.
other
- Try to detect MacOS X crypt(3) breakage in crypto/posix and generate a DES
based hash.
- Allow the user_add hook to remove the user from the network safely.
- Add user_nickchange hook for nick changes, which is also allowed to remove
the user from the network.
Atheme Services 4.0 Release Notes
=================================
[MERGED] indicates items merged to the 3.1 branch
ircd protocol
- Add support for ShadowIRCd 5 [MERGED]. This replaces the support for
older versions of ShadowIRCd.
- hyperion: improve detection of overwritten I:line spoofs.
- hyperion: Add support for UF_IMMUNE.
- general: Do not enforce AKICKs against users marked UF_IMMUNE; it is
impossible to ban them effectively.
- inspircd12: various fixes and updates.
- ratbox: make akills work with ircd-ratbox 3.x.
- ratbox: add support for ratbox services shortcuts (ENCAP RSMSG,
m_rsshortcut.so)
- nefarious: allow /ns vhost (FAKEHOST).
- nefarious: let services joining channels op themselves, avoiding HACK(4)
notices
- ircd-seven: new protocol module
- Limit the send queue to the ircd to a configurable value, default 1MB.
Large networks may need to increase this.
- Limit IRC command output to 2000 lines. XMLRPC is unaffected.
- Add tracking for the "server admin" umode in some ircds.
- ptlink: add support for forced nick changes (SVSNICK), fix nickTS.
- Remove some obsolete protocol modules: aurora, sorcery, shadowircd.
If you do still use one of these, please contact us.
- Add support for P10 account creation times.
- Add support for P10 user IPv6 addresses.
nickserv
- Snoop on freeze on/off.
- Add nickserv/vacation module, allowing to temporarily extend expiry times.
- Make register help text depend on whether email verification is used.
- Refer users to their email if they try to identify again while unverified.
[MERGED]
- In FUNGROUP, allow dropping account names, by specifying a new account name.
- Add optional nickserv/listownmail to allow users to see accounts with
their email.
- When refusing a login due to maxlogins, tell the user what the logged in
nicks are.
- Show FREEZE status (but not setter, time or reason) to normal users.
- Show taxonomy (property, metadata) in INFO.
- Show recognized (access list) a bit better in INFO.
- Ignore access lists for frozen accounts. [MERGED]
- Add ns_fenforce contrib module. This allows admins to toggle enforce on any
nickname.
- When a user is recognized but not identified, still tell them to identify,
but with a shorter message.
- Make nickserv/enforce timings more accurate.
chanserv
- Allow multiple spaces before fantasy commands when ChanServ is addressed
by nickname.
- QUIET/UNQUIET now notify the target user or channel.
- Show the current successor in /cs info (for +A users and opers).
- FFLAGS now overrides the NEVEROP setting on the target account.
- Set owner/protect if appropriate after xOP ADD.
- Show taxonomy (property, metadata) in INFO.
- Add chanserv/set_limitflags, allows limiting +f's power.
alis
- Fix handling of key and limit options.
- Allow alis list on a single +s channel the user is on.
memoserv
- Add DELETE OLD to delete all read memos.
gameserv
- Do not add chanserv commands if fantasy is disabled.
- Allow ROLL, WOD and DF with a channel name to send the results to that
channel without requiring fantasy commands. This must be specifically
enabled on a per-channel basis using the new ChanServ command SET GAMESERV
(module chanserv/set_gameserv).
oper
- Allow searching for AKILLs matching a given mask or id in AKILL LIST.
- Allow running an operserv-only services instance, which picks up login
names from the main instance (currently only for hyperion, TS6 and P10
ircds).
- Add optional PCRE support. Configure --with-pcre to enable it and add
the p flag to use it (e.g. /os rmatch /\d\d\d/p). The regex wrapper has
been changed slightly to make this possible.
- Report other nicks of deleted accounts to snoop and log file.
- Add operserv/greplog module (from freenode modules) to allow searching
through recent logs from IRC.
- Automatically rehash after loading modules that need a rehash.
xmlrpc
- Fix atheme.memo.ignore.list and atheme.memo.ignore.clear to require only
two arguments (third wasn't ever in use). [MERGED]
code
- Change kline_delete() to take a kline_t pointer instead of a user and host.
- Allow modules to influence the expiry process.
- Fix a minor memory leak on /os REHASH.
- Fix null pointer dereference with some invalid config files.
- Move the metadata entries to object_t.
- Change some protocol module functions to take object pointers instead of
names and add some const keywords.
- Modules can now request other modules be loaded. This has been used to
move some generic TS6 and P10 stuff into common modules.
- Rename CMODE_OP and the like to CSTATUS_*, emphasizing that they are
separate from simple modes.
- Use C99 booleans (<stdbool.h>, bool, true, false).
other
- Allow arbitrary line lengths in flatfile database loader.
- Synchronized with libmowgli 0.7 framework.
- Remove automatic module loading for modules/ directory; this behaviour
has been deprecated since version 0.3.
- Fix ircservices conversion for ircservices 5.1.
- Improve flood detection.
- Fix a bug with /os identify introducing enforcers.
- Fix a bug that could cause normal users to be seen as enforcers.
- Allow any service's nick/user/host/realname to be set in the configuration
file, and update them on a rehash. The service creation code works quite a
bit differently to make this possible.
- Fix running on MacOS X 10.5.
- Fix compilation sometimes using system include files in place of our own.
- Change the default for gettext (NLS) to disabled in the setup script.
- Add a check against loading incompatible modules. Formerly, trying to load
incompatible modules often caused a crash.
- Rework the configuration file parser to detect more errors and make it
easier to add configuration options.
- Add +a to the example configuration's SOP to fit expectations better.
- Update anope_convert for anope 1.8 enc_md5/enc_sha1 passwords.
- Wake up the process less often if it is idling.
- Install an example services MOTD automatically.
Atheme Services 3.1 Release Notes
=================================
[MERGED] indicates items merged to the 3.0 branch
ircd protocol
- Fix a crash that could happen with ircd bugs or nick collisions with
services. [MERGED]
- Fix host changes in hyperion. [MERGED]
- Do not check the server's password in the hyperion protocol module.
- Do not allow spoofs ending in a slash in the hyperion protocol module.
- Allow nickname enforcers which are clients.
- Fix ping replies in P10.
- Add support for InspIRCd 1.2.
- Some ircds dislike colons in kline reasons, so don't use them for flood
klines.
- When restoring an akill, send it to all servers on all protocols.
Formerly, on some protocols it was only sent to the server the banned
user was on.
- Add ircd-aurora protocol module. ircd-aurora is a patched version of
charybdis with +qah channel statuses.
- For ircds that do not indicate host change to clients, send a 396 numeric
instead of a notice from the service. This is easier to parse for clients.
nickserv
- Comment out nickserv/subscribe from the example configuration, because
it is experimental at this time. [MERGED]
- Fix a possible crash in nickserv release (nickserv/enforce module). [MERGED]
- Fix RETURN only accepting relatively short email addresses.
- Allow disabling the possibly slow maxusers (accounts/email) check by
putting 0.
- Show /ns vhost in /ns info. Appears to user self and user:auspex opers.
- Adjust times so nicks cannot appear created before their account or used
after their account was last seen.
- Add user_verify_register hook, called when a registration is verified.
This is after a successful VERIFY if email verification is enabled, after
a successful REGISTER if not.
- Make gen_vhostonreg contrib module only grant vhost once it's verified,
and also set vhosts on users without vhost as they identify.
- Add clearer log messages for duplicate accounts/nicks/channels in atheme.db.
- Make INFO default to the user's nick (owned nicks) or current account (no
owned nicks).
- Also introduce an enforcer when FNCing a user via the RELEASE command.
- Allow ignoring enforce on nicks unused for too long (nickserv::enforce_expire
config option). This does not affect held accounts.
- Add nick_can_register hook and use it to block GROUP on guest nicks also.
This hook is called on both REGISTER and GROUP (if nickname ownership is
enabled).
- In SENDPASS, require the new keyword FORCE to override marks and the new
keyword CLEAR to clear keys that were previously sent but not yet used.
If these keywords are needed, the oper will be warned.
- Do not allow SENDPASS on unverified accounts.
- Make the enforce delay settable in the config file.
- Make holdnick enforcer time variable, 30s the first time then 1h.
- Add ns_ajoin contrib module to allow services-side autojoin.
- Show a pending email address change in INFO, to user self and user:auspex
opers.
- Add ns_forbid contrib module. This registers, enforces, holds and freezes
a nickname.
- Split DROP into DROP (users) and FDROP (admins).
- Send all failed password attempts for SOPER accounts to the snoop channel.
- Make the text in INFO for unverified accounts more conspicuous.
chanserv
- Fix removing non-applicable flags (e.g. +hH) from host channel access.
[MERGED]
- Fix ChanServ not deopping in some cases with guard on and changets off.
[MERGED]
- Fix some ugly output in chanserv/unban_self. [MERGED]
- Respect NOOP flag in cs_sync contrib module.
- Allow calling RECOVER via xmlrpc.
- Add channel_can_register hook to allow modules to block channel registrations.
- Add SET QUIETCHG (nickserv setting) which suppresses notices from OP,
VOICE, and the like by other users.
- Add cs_updown contrib module. This provides UP and DOWN commands that add
and remove all modes a user is entitled to.
- Change SET STAFFONLY to SET RESTRICTED. This kicks all users except those
with chan:joinstaffonly priv or any access (except +b) on the channel.
Also make it handle +i channels more effectively.
- Allow admins to change oper only modes in mlocks even without +s flag.
- Snoop changes to oper only modes in mlocks.
- Split DROP into DROP (users) and FDROP (admins).
- Add a confirmation step against accidental drops to DROP. This only
applies to commands via IRC.
alis
- Move ALIS from contrib to modules. The new atheme.conf line is
loadmodule "modules/alis/main";
memoserv
gameserv
oper
- Fix a possible crash in /stats B. [MERGED]
- Fix slight damage to news items when reloading in contrib/os_logonnews.
[MERGED]
- Allow GLOBAL to be used from non-IRC.
- Add CLONES DURATION to allow changing the duration of the network bans
set by the clones module.
- Add os_klinechan contrib module. This allows setting channels to kline
any users joining them.
xmlrpc
- Some improvements to buffer and character set handling.
code
- Disable object_t refcount.
- Fix various format string types, add many const keywords, hide a few
structs that should be private.
other
- Improve performance with large databases by changing the mowgli_heap
memory allocator. [partially MERGED]
- Improve performance by changing the dictionary to a patricia algorithm.
- Decrease memory usage for large networks.
- Add LOCALEDIR to Makefile.in files, necessary for gettext. [MERGED]
- Some improvements to the hybserv/theia conversion tool.
- Some improvements to the ircservices conversion tool.
- Change maximum nick length from 30 to 31.
- Remove redundant expire_check and db_save in several places. This makes
restart, shutdown and rehash faster without threatening data integrity.
- Add Russian help files from Kein/darkwire. Using these currently requires
manual copy/rename operations.
- Add Russian translation from Kein/darkwire and fix the build system so it
is automatically installed if gettext is enabled.
- Allow for crypt() in libc as well as libcrypt (MacOS X).
- Fix nested includes in the configuration file.
- Add child process tracking.
- Make some help files depend on what modules are loaded.
- Fix a bug that caused certain timed events to be executed too late.
Atheme Services 3.0.3 Release Notes
===================================
- Fix use of chanserv/{owner, protect} modules with InspIRCd, AGAIN.
Atheme Services 3.0.2 Release Notes
===================================
- Fix use of chanserv/{owner, protect} modules with InspIRCd.
Atheme Services 3.0.1 Release Notes
===================================
- Fix a bug causing problems when a user changes the case of their nick.
Atheme Services 3.0 Release Notes
=================================
ircd protocol
- In hyperion, use COLLIDE instead of KILL (less noisy).
- In hyperion, fix a bug in host/realhost processing.
- Allow channel ban and host channel access matching to be customized by
protocol modules. In particular, make charybdis extbans acorsx and hyperion
+d and forwarding bans work.
- Track if the ircd supports CIDR bans.
- Some fixes for TS 0 channels in TS5/TS6.
- Drop support for InspIRCd 1.0, you should use InspIRCd 1.1 as it is more
reliable. (Recommended by InspIRCd upstream.)
- Add more explicit support for invite exceptions.
- Fix SVSMODE in ultimate3.
- Make /version reply (351 numeric) rfc1459 compliant.
- Add support for mlocking various new modes in inspircd.
- Add experimental support for inspircd 1.2.
- Add TBURST support to hybrid protocol module, allows better topic setting.
- Improve support for unrealircd.
- Improve handling of kills and nick collisions.
- Improve support for +q/+a (owner/protect) channel statuses.
nickserv
- Add nickserv/subscribe, allows users to be notified when metadata is
changed.
- Disallow DROP of a frozen account except by admins.
- Always show configured vhost to users, not any other host.
- Allow ENFORCE and NOMEMO to be set on new accounts via uflags in the
configuration file.
- Load nickserv/group by default in the example configuration file.
- Add nickserv/set_privmsg, enables use of private messages on a per-account
basis.
- INFO now shows user:auspex or chan:auspex opers a count of channel access.
- Add nickserv/set_private, allows users to hide some information about
their account.
- Check nickserv/vhost for validity for hyperion/charybdis/hybrid (Bugzilla #7).
- When displaying nick(account), add a space in between.
- Rework INFO so it is easier to understand and more readable.
- Add nickserv/set_accountname, allows changing the account name to
another grouped nick (Bugzilla #102).
- Save marks when nicks/accounts are dropped and restore them if they are
recreated.
saslserv
chanserv
- Change channel_register hook from mychan_t * to hook_channel_req_t *. This
makes it possible to send text to the person registering the channel in a
clean way.
- Improve non-halfops behaviour somewhat.
- Add chanserv::maxchanacs option, limits how many entries can be put in
channel access lists.
- Add chanserv/unban_self, which only allows unbanning the source user.
This is intended to be loaded instead of chanserv/ban for the paranoid.
- Kick out unauthorized users who may be recreating channels mlocked +i.
- Disable xOP in the example configuration, it does not work well.
- HOLD on an account no longer prevents channels from expiring.
- Allow multiple founders on a channel, signified by a new flag +F.
All founders have the exact same privileges, including the privilege to
add/remove founders and drop the channel.
- When processing a kick command, put the kicking user before the user-given
reason.
- Add chanserv/set_private, allows users to hide some information about
their channel.
- Hide SET FANTASY from help if fantasy commands are disabled in atheme.conf.
- Add chanserv::deftemplates config option to start channels off with some
templates.
- For the "addressing chanserv" fantasy command, require a non-letter
after the nick.
- Add chanserv/owner and chanserv/protect, to set/unset +q/+a modes.
memoserv
- Still notify online user if EMAILMEMOS is set.
- Consider MemoServ ignores matched if any grouped nick of the sender matches.
gameserv
oper
- Add LG_REGISTER level for all registration related messages. This can be
used to create a log file containing all registrations and drops only.
- Allow any akill without wildcards in the user part, like in charybdis 2.2.
- Allow CIDR masks in the CLONES exempt list.
- Add privilege operserv:akill-anymask, allows akilling masks with
insufficient non-wildcard characters.
- Allow requiring an additional password for services operators.
xmlrpc
- Make xmlrpc faster.
- Create a nick in addition to an account in the obsolete xmlrpc/account
module.
- Fix crashes when unloading xmlrpc modules.
code
- Switch from Subversion to Mercurial. As a result, the $Id$ fields in many
modules are no longer updated. We are examining other solutions for identifying
modules' revisions using Mercurial at this time.
- Remove redundant user_t pointer from hook_channel_req_t.
- Switch to non-copyleft BSD licensing.
- Integrate libmowgli framework into the tree. Only mowgli_dictionary is
used for now.
- Make --disable-balloc work and no longer change ABI.
- Rework channel message handling.
- Remove some unnecessary cruft from configure.
- Change the way fantasy commands work.
- Enable GCC format string parameter checking.
- Move nickname ownership nagging to the nickserv module.
documentation
- Move developer documentation to doc/technical/.
- Add conditions to the help files, used to hide halfops/owner/protect/oper
information when it is not applicable.
other
- Split expiry setting into seperate nickserv::expiry and chanserv::expiry.
- Make expiry settings of 0 work more consistently as "do not expire
anything", and still update last used times.
- Add graphtastical contrib module, creates files to be processed with
graphviz.
- Add mlocktweaker contrib module, adds or removes additional modes from
the default mlock.
- Tell users on services ignore once per session that they are ignored.
- Remove database{} configuration block.
- Rename example files.
- Put multiple line help texts in one gettext string.
- Improve hybserv/theia conversion tool.
- Add an ircservices conversion tool.
- Tweak various strings for translation purposes.
Atheme 2.2 Release Notes
========================
[MERGED] indicates items merged to the 2.1 branch
ircd protocol
- Don't send "Setting your host to \2%s\2." notice if the ircd already
notifies users of host changes, by sending this notice from the protocol
module.
- Fix some potential crashes and desyncs with inspircd and channel
bans. [MERGED]
- Allow for SAQUIT in inspircd11. [MERGED]
- Allow for RSQUIT in inspircd11 to allow /squit on jupes. [MERGED]
- Increase maximum parameter count for protocol commands from 19 to
35. [MERGED]
- In charybdis/ratbox/hybrid, hide jupes from a flattened /links.
- Add basic support for IRCXPRO/OfficeIRC.
- Improve topic changing support (prevent our topic changes to be ignored
in some cases and allow topicsetter/topicTS to be set more often). This
is done by adding a prevts parameter to the topic_sts() protocol module
function.
- Track /away status (but not away messages).
- Support join throttling (+j) in bahamut and solidircd.
- Make /os jupe work on existing servers for ircds using unconnect semantics
on SQUIT (bahamut, ircnet, ultimate3, solidircd, inspircd11). This marks the
server as "pending jupe" and introduces the jupe when it really goes away.
- Make /os jupe work on P10.
- Use TMODE in TS6 and use FMODE in inspircd11 (reduces desyncs).
- Support channel mode +J in inspircd11.
- Add chanserv::changets support for ircu 2.10.12.06 or newer (undernet).
- Ensure kicks are accepted if the service is not on the channel in
asuka, bircd and undernet.
- Allow services to create channels.
- For ircds that use a umode for registered nicks, also set and recognize (for
some) that umode for grouped nicks other than the account name.
nickserv
- The LIST command now allows searching by last host/vhost, and shows
hold/waitauth status also.
- If ENFORCE is loaded, disallow registering accounts starting with
Guest<digit>.
- ACCESS ADD now allows omitting the mask and generates one matching the
user if so.
- GHOST now omit the source's user@vhost from the kill message if it is the
same as the target's user@vhost.
- Add FVERIFY command to allow admins with user:admin privilege to verify
any account without needing the verification email.
- Add FREGISTER command to contrib, allows creating accounts with little
checking and pre-crypted passwords.
- In INFO, show to everyone if the account has not completed registration
verification (MU_WAITAUTH).
- Add ns_ratelimitreg contrib module, rate limits account registrations.
The amount/time is hardcoded.
- Don't allow implicit logout by LOGIN/IDENTIFY as another account if the
LOGOUT command is not loaded.
- Make it less likely that a user will be recognized as a recreated account.
- Make FREEZE and RETURN log out all sessions.
- Split out SENDPASS from user:admin to its own privilege user:sendpass.
- Add SETPASS, an alternative method of password retrieval. When setpass is
loaded, SENDPASS will send a code that can be used to set a new password
with setpass, only affecting the old password when that happens.
- Deny certain spoofs that would break the protocol in VHOST.
- Make ENFORCE more efficient and accurate.
- Do not allow dropping an account with the HOLD flag set.
saslserv
- Improve logging.
- Increase the grace time.
chanserv
- Fix a crash in /cs set mlock. [MERGED]
- Allow multiple trigger characters for fantasy commands.
- In a flags listing, show the template name, if any, in parentheses after
the flags.
- Only set owner/protect on identify if they also have +O flag. Setting on
join already behaved this way.
- Log at LG_INFO level: channel succession, channel deletion due to no
eligible channel successors and account/nick/channel expiry.
- In WHY, also show founder access explicitly.
- The LIST command now shows hold status also.
- Get rid of some unnecessary mode lock checks.
- Allow disabling HOP by setting it to the same value as VOP.
- Disable and remove +hH access flags if the ircd does not support halfops.
- Add cs_userinfo contrib module, allows setting an info text on users with
access to a channel, which is shown to the channel on join.
- Add TOPICPREPEND command.
- Track when channel access entries were last modified.
- Add a reason field to AKICK. The part of the reason after a '|' character
is not shown publicly.
- Add QUIET and UNQUIET commands for +q modes in charybdis and hyperion.
- Make RECOVER also clear all owner/protect statuses on ircds that support
those.
- Add a new type of fantasy command: addressing ChanServ by name, for example
"ChanServ: kick somenick reason here".
- Do not allow dropping a channel with the HOLD flag set.
- Allow per-channel redefinition of xOP templates.
memoserv
- If a user unsets away and is logged in or recognized, notify them of new
memos.
- Add SENDOPS command for channel memos (sent to all channel ops). If this
is loaded, SEND also accepts channel names.
- Add READ NEW which reads upto 5 unread memos.
gameserv
- Add game services, works as fantasy commands and in /msg.
oper
- CLONES ADDEXEMPT/DELEXEMPT now have better accountability.
- CLONES now allows editing an exemption without removing it first.
- Add some more checking on AKILL masks.
- The os_logonnews contrib module now uses DATADIR to find its file. [MERGED]
- Make CLONES not send more than one warning per IP per 5 minutes unless the
number of clones is increasing.
- Make the log subsystem more flexible.
- Make jupes record who placed them.
- Use configured --bindir for restart.
code
- Remove the incomplete atheme testsuite.
- Rework handle_ctcp_common() to use sourceinfo instead of passing
redundant references around.
- Move all code under libatheme/ to src/.
- Add an object framework and overhaul account management to use it.
- Add some new assertion macros that send wallops if the assertion fails.
- Remove unused me.uplink and serverinfo::uplink.
- Move some of the m_server() logic to a new function handle_server() in
src/ptasks.c.
- Add vim options to the end of each C file.
- Remove generated files from SVN, you now need autoconf and automake (only
for aclocal) to compile the SVN version.
- Add a 'dist' target to the Makefile to build tarballs.
- Move the modestacker from channel names to channel_t pointers.
- Move part() to src/services.c. The protocol module function is now called
part_sts() and takes channel_t and user_t pointers.
- Move mode_sts() protocol module function from channel names to channel_t
pointers.
- Stop using <stdint.h> types.
- Remove remnants of Windows support.
- Make channel_delete() take a channel_t pointer instead of a name.
- Various optimizations and cleanups.
xmlrpc
- Added perl modules abstracting atheme's XML-RPC interface.
documentation
- Update documentation a little. [MERGED]
other
- Fix a potential division by zero. [MERGED]
- Improve random number generation. [partly MERGED]
- Move crypto, backend and protocol directories to modules/. This requires
changes to atheme.conf.
- Remove the PostgreSQL backend. If you were using this, first start the old
version with backend/postgresql, then load a supported backend like
backend/flatfile and /msg operserv update, to convert your data. See
doc/SQL for more information.
- Add various checks to server names which should give clearer warnings
about several misconfigurations.
- Various corrections to log levels.
- Exit atheme if atheme.db cannot be opened for reading for any reason other
than it not existing, to avoid overwriting it with an empty database later.
- Add a hybserv/theia to atheme conversion tool to contrib.
- Tone down debug logging a little so it is a bit more usable on large
networks.
- Add gettext support (see doc/TRANSLATION).
- Move removal of old servers/users/channels from just before reconnecting
to just after disconnecting.
- Rename the services binary to atheme-services.
- Add alis (advanced list service) to contrib; this is a port of
ratbox-services's alis.
- Update anope_convert for anope 1.7.18.
Atheme 2.1 Release Notes
========================
ircd protocol
- The inspircd11 protocol module now sends wallops as server notices
and no longer needs m_globops.so (but still uses it if loaded).
- When sending a notice to a channel as a server notice (because the
service is not on channel and the ircd would not allow the notice),
prepend it with "[<service>:<channel>] " instead of "<service>: "
- Clean up handling of services deopped on channels.
nickserv
- Add nickname grouping, this allows users to register multiple nicks
to one account. The GROUP and UNGROUP commands add and remove additional
nicks. Additional nicks expire separately from the main account. Admins
can use FUNGROUP to remove additional nicks from any account.
- The ACCESS ADD command now converts masks like 1.2.3.* to CIDR masks
instead of rejecting them.
- Add LISTVHOST command.
- Make the gen_vhostonreg contrib module also generate a valid (although
ugly) vhost for account names which contain characters not valid in
hostnames.
- Add user_info hook, allows modules to add things to /ns info.
- Show ENFORCE status in /ns info (to all users).
- Snoop notices for registrations now show the source name explicitly
if appropriate.
- Add user_can_register hook, allows modules to abort account
registrations before they go through.
memoserv
- Allow sending a memo to oneself.
- Remove rate limiting for users with general:flood privilege.
chanserv
- The TEMPLATE command now allows updating all channel access entries
matching the template with a template change, by prefixing a flag
change with an '!'.
- Add SYNC command to contrib, makes channel status agree with flags.
- Add FFLAGS command, allows opers to force a flags change on any channel.
- On newly registered channels, only mlock -l if no limit is set
and only mlock -k if no key is set.
- Show channel email address in INFO.
- Add chanserv::trigger option, allows changing the '!' in fantasy commands
to something else. The special case for '.flags' has been removed.
- Add SET GUARD, allows toggling whether ChanServ joins the channel on a
per-channel basis. The general::join_chans option determines whether
SET GUARD can be used.
- Make the WHY command show all flags.
- Allow using the xOP commands via non-IRC.
- Allow using SET as a fantasy command.
- Move help for /cs halfop to a separate help file.
- Make channel access entry metadata work. This allows modules to associate
name/value pairs with channel access entries. There is currently no
facility to read/write channel access entry metadata directly like there
is for user and channel metadata.
oper
- Add /os soper, allows adding services operators at run time.
- Add operclass::needoper option, denies giving any privilege to IRC users
matching this operclass who are not IRCops.
- Add some more log levels and generally clean up logging, for example
allow disabling logging of all commands. Note that loglevel error logs
much less now, use loglevel info for moderate logging.
- Add os_logonnews contrib module to send text to all connecting users.
code
- Remove irccmp() and ircncmp(). These functions were equivalent to strcmp()
and strncmp(). IRC-style case-insensitive comparisons are irccasecmp() and
ircncasecmp().
- Make clog unavailable outside libatheme/ and rename it. Other code should
use slog(), logcommand(), etc. to log things.
documentation
- Add some missing help files.
- Clarify some things in the installation documentation.
- Add documentation for the SASL client protocol.
other
- chanserv::changets is now shown as 't' in version replies
- Make --enable-fhs-paths also affect the location of the log file, data
files and pid file. Note that for data files to work with
--enable-fhs-paths, they need to use DATADIR instead of "etc".
- Add motd replacement &mynicks&.
- Fix various memory leaks.
- Add support for converting services operators, nickname access lists
and nickname grouping in anope_convert.c.
- Using the postgresql backend is now officially discouraged; it will be
removed in 2.2.x and newer.
- Remove socklen_t check from configure.
Atheme 2.0 Release Notes
========================
ircd protocol
- The ptlink module now assumes +a (channel admin) and +h (halfops) exist.
- Make protocol parsing stricter, rejecting various illegal messages.
- Don't leave empty channels if all users in a channel are killed or invalid.
- Add support for EUID (real host behind dynamic spoofs and login name in same
message as user introduction) to the charybdis module.
- Split inspircd support in inspircd10 for 1.0 and inspircd11 for 1.1.
- Add chanserv::changets support to the inspircd11 module.
- Add STATS, ADMIN and MOTD support to the inspircd11 module.
- Add SVSHOLD support (nickname enforcers that are not clients) to the
protocol abstraction.
services
- Make CTCP replies generic to all services.
- Make services commands more generic, allowing them to be called in other
ways than from IRC.
- Show more details when describing users issuing commands, for example
the account name if it is different from the nick.
- Send no such nick reply if we get a message to a nonexistent service.
- Support CIDR channel bans/exceptions and akills.
- Shut down if too many services are killed in one second.
- Handle SASL logins more cleanly.
nickserv
- Move nickname enforcement module from contrib to modules. This forces
nickname changes on users who do not identify to their nick.
- Add gen_vhostonreg module to contrib from atheme-modules, sets a vhost on
new nick/account registrations.
- Make it possible for nickserv to act as userserv with the
nickserv::no_nick_ownership config option and the nickserv/login module.
Remove the old userserv which mostly consisted of a duplicate of nickserv.
- Add nickname access lists; users matching an u@h mask on the access list for
a nick will not be warned to identify and will not be affected by nickname
enforcement, and the last login time will be updated. Channel access will
not be granted.
- Make /ns acc a bit more usable.
chanserv
- Add TOPICLOCK flag, reverts topic changes by users who do not have +t flag.
- Store the channelTS of registered channels in the private:channelts metadata
entry. This is used to make chanserv::changets nicer and to avoid KEEPTOPIC
restores if the channel was not recreated.
- Also give VERBOSE notices on foundership changes.
- Fantasy and regular commands now use the same code. Fantasy commands are
executed with VERBOSE set. This allows executing all chanserv commands
affecting a single registered channel, except DROP and SET, as a fantasy
command but removes some aliases.
- Allow /cs status when not logged in.
- Add /cs count from contrib, shows how many entries are in access lists.
oper
- Add a privilege operserv:massakill to control new commands that may
do mass kills.
- Add /os clearchan, kicks, kills or klines all non-IRCops in a channel.
- Add /os compare, shows common channels of two users or common users in two
channels.
- Add /os rmatch, shows all users matching a regular expression.
- Add /os rakill, bans all users matching a regular expression from the
network.
- Add /os rnc, shows the most common realnames on the network.
- Add /os clones, watches the network for IPs with too many connections.
- Add operserv rwatch, a list of regular expressions all connecting clients
are matched against. Matching clients are described in the snoop channel
and/or klined.
- Add /stats B, shows hash statistics, requires general:auspex privilege.
- Add messages to the snoop channels about various things that used to
generate wallops only; move some other things from wallops to snoops.
- Add /stats f, shows some information about open connections.
xmlrpc
- Clean up the HTTP protocol handling considerably.
- Allow pipelining multiple calls over one connection.
- Allow calling most services commands via XMLRPC.
- Allow passing a parameter (typically true source IP address) to various
XMLRPC methods, which will be logged.
documentation
- Add a script to convert the help files to HTML.
- Make various help files clearer.
code
- Replace the old hashtables with a cleaner and more powerful dictionary tree
implementation.
- Make 'make depend' work, this allows only recompiling what is necessary.
- Move around many things to different source files, hopefully making it
easier to find things.
- Restrict visibility of some uplink-related declarations (uplink.h and
pmodule.h no longer included by atheme.h).
- Add ability to run/build Atheme without the block allocator (for debugging).
- Change parameter type for the channel_join and channel_part hooks to
hook_channel_joinpart_t *. This avoids ugliness when the first hook kicks
out the user and the next uses freed memory.
- Rewrite much of the network I/O code.
- Pass less nicks and UIDs around in string form.
- Remove the win32 port, it was hopelessly broken and nobody cares about it.
- Add more comments about what various functions do.
other
- Get rid of signal-related race conditions.
- Add DESTDIR support to the build system (allows installing to a different
path than where we expect to run from).
- Add sorservices-compatible password encryption support.
- Various bugfixes and cleanups.
Atheme 1.2 Release Notes
========================
[MERGED] indicates items merged to the 1.1 branch
ircd protocol
- Allow using TS changes to reliably deop people recreating channels
with the new chanserv::changets config option (for charybdis, ratbox,
hybrid, bahamut, solidircd).
- Put netwide end of burst detection in the core. This is used for suppressing
various notices to users coming back from a netsplit or services restart.
- Add modules which disable use of halfops, channel protection and founder
statuses to contrib.
- Only set owner/protect modes if the user has the +O (autoop) flag.
- Remove the Chunky Monkey protocol module.
- Update Plexus protocol module to Plexus 3. [MERGED]
- Fix global notices in the P10 protocol modules. [MERGED]
- Fix login handling in the nefarious protocol module. [MERGED]
- Support more modes in the inspircd protocol module. [MERGED]
- Use m_services_account.so in inspircd to track services logins better.
Using this module is required. [MERGED]
- Make the PTlink protocol module work. [MERGED]
- Make the DreamForge and sorcery protocol modules work better. [MERGED]
channels
- Make the last used time for channels more accurate and show it in /cs info.
- Get rid of many redundant mode lock checks.
- Add full support for non-standard simple modes with parameters, like join
throttling. These can now be mode locked, etc.
- Add GETKEY command to chanserv, returns the current key (+k) to users who
have +i flag.
- Rewrite a lot of code relating to channel modes. Among other things, this
removes the Cygnus mode stacker.
- Don't allow users with an unverified email address to register channels.
- Add cs_kickdots contrib module, kicks users for saying "...". [MERGED]
oper
- Remove alias KLINE for AKILL.
- Make modrestart work again.
- Improve rehash error handling.
- Global notices now include the oper's nick in the first line.
- Show more detailed version information in atheme -v. [MERGED]
other
- Fix crash when a module tries to use something in another module which is
not loaded. This protection requires changes in modules using other modules
to be effective, see include/module.h.
- Add command line option -l to change the log file.
- Rewrite nickserv/userserv set command handling, allowing modules to
provide extra set options.
- Merge modules/saslserv/sasl module into modules/saslserv/main. You should
remove modules/saslserv/sasl from your config file, it will be deleted
automatically by make install.
- Clean up stale SASL sessions periodically.
- Mention FANTASY in /cs help set.
- Remove the MySQL backend. If you were using this, first start the old version
with backend/mysql, then load a supported backend like backend/flatfile and
/msg operserv update, to convert your data. See doc/SQL for more information.
- Improve flatfile error handling. [MERGED]
- Change maximum length of memos from 129 to 300. [MERGED]
- Improve handling for network errors. [MERGED]
- Many bugfixes and documentation improvements. Some [MERGED]
Atheme 1.1 Release Notes
========================
- Shorten /msg chanserv/nickserv/userserv help, the full command list
is on /msg *serv help commands.
- Add XMLRPC method atheme.channel.access.get.
- Disallow vhosts which are too long or contain @!*?
- Don't introduce a service with a UID if the ircd does not support UIDs
when loading it at runtime.
- Change regex_match API to be more efficient.
- Disable modrestart, it cannot possibly work. (It used to crash.)
- Add wumpus, a service providing a game, to contrib.
- Add source of the message to hook_cmessage_data_t.
- Add optional new syntax for operclass{} blocks.
- Add SASL support, this allows users on charybdis networks to log in
before registration to the network; among other things this ensures
the real host behind a services vhost is not shown to nonopers.
- Add support for /motd <atheme>, uses PREFIX/etc/atheme.motd.
- Allow users to GHOST other nicks which are logged into their account.
- Allow other services than chanserv to process fantasy commands.
- Allow specification of akill duration in hours (h), days (d) and weeks (w).
- Add /os akill sync, sends all akills to all servers.
- Ultimate3 improvements.
- Add support for Nefarious IRCu 0.4.x or later.
- Several UserServ bugfixes.
- InspIRCd improvements.
- Ensure kline exempt fully exempts from akills; do not kill akilled users
at any time.
- Avoid sending out klines with negative expiry time.
- Add IP glob akill matching, for ircds that send user IP addresses.
- Move akill checking to operserv/akill module.
- Don't allocate me.name/me.numeric on rehash. This fixes a known P10
issue.
- Add support for ircu2.10.12's +D mode, which was already implemented
in Asuka.
- Always send both the channel TS and the topic TS when setting a topic
under P10 ircd's.
- Several other minor tweaks and bugfixes.
Atheme 1.0 Release Notes
========================
- Add ability to use =<nick> where accounts are used. (it aliases to the
User's account).
- Deop users recreating registered channels if they do not have op flags.
This attempts not to affect channels created longer ago.
- Add separate protocol module for ircd-hybrid, with CHGHOST support.
- Add ircd name to /version output.
- Add atheme.account.vhost XMLRPC for setting and removing vhosts. Note
that this, unlike the other XMLRPCs, allows things that the given
credentials would not normally (over IRC) be allowed to.
- Remove the incomplete and cluttering nickname linking system (this was
actually done in 1.0rc1, but we forgot to mention it).
- Don't allocate me.name/me.numeric on rehash. This fixes a known P10
issue.
- Add support for ircu2.10.12's +D mode, which was already implemented
in Asuka.
- Always send both the channel TS and the topic TS when setting a topic
under P10 ircd's.
Atheme 1.0rc1 Release Notes
===========================
- Add capabilities to protocol modules:
- forced nick change (aka SVSNICK)
- invite
- channel op notice (aka WALLCHOPS)
- Don't unkline temp akills if they have already expired.
- AKILL wildcard checking changed to ratbox algorithm.
- Further simplification of access checking.
- Hostmask access entries now check vhost, not host. This means services
cloaks now work in access lists.
- InspIRCd module updated to beta6 and above (tree linking instead of mesh).
- For akicks, use a matching +b'ed hostmask if possible.
- For ircds with dalnet-like +r umodes, don't set it for userserv.
- Add /cs forcexop to reset access levels to xOP values. Useful if CA_?OP
are changed.
- Make CA_?OP configurable in atheme.conf.
- Add channel_info hook on /cs info.
- Add per-channel flags templates. Templates can be specified in the flags
command, avoiding the need to memorize complicated flags strings.
Templates are manipulated with the TEMPLATE command which is similar to the
FLAGS command. The xOP levels can also be used as templates.
- Add per-channel fantasy command disable.
- Fix NEVEROP and NOOP options.
- If fantasy commands are globally disabled, mark services clients as "deaf"
for some ircds.
- Add /cs set verbose ops, works like /cs set verbose on but only shows to
channel ops.
- Allow users to remove their own access from channels (except akicks of
course).
- Some improvements to network I/O.
- Add support for permanent (+P) channels in charybdis/hyperion/shadowircd.
- Add support for more FHS-like paths (not really complete but should still
be helpful for packagers).
- Add fine grained services operator privileges. IRCops get certain
privileges, and registered accounts can be granted privileges. This
works via atheme.conf. You will need to redo the operator part of your
configuration. See the new example.conf and doc/PRIVILEGES for more
information.
- Add message translation support.
- /cs voice/halfop/op now notifies the target user who did it.
- /cs flags mentions who gave the command in the verbose notice.
- Remove many redundant confirming notices.
- Regardless of join_chans/leave_chans, join chanserv temporarily to
channels which would otherwise be empty to enforce akick or staffonly.
- Add nickserv enforcement (FNC users who do not identify in time) to
contrib.
- Drastically improve P10 support.
- Add solidircd support.
- Add support for ban exceptions and other ban-like modes.
- Remove possibilities to log in to accounts without password by changing
nick during a netsplit on an ircd that does not clear +r (or similar) on
nick changes.
- Various minor tweaks and bugfixes.
Atheme 0.3 Release Notes
========================
- All services have been entirely modularized. You will need to
redo your configuration. An authentication service has been
added (choose from either NickServ or UserServ,) for
UserServ you should use example.userserv.conf.
- The way modules work has been changed almost entirely. Please try
loading bad modules especially on macintosh and AIX systems, thanks!
(Report any negative findings to the tracker.)
- The way sockets work has also changed entirely. We'd love to know
how well the new poll and kqueue code is working, and if there
are any issues with it.
- Support for poll() and kqueue() have been added, please comment on
performance differentials.
- Most static object structures are now described as metadata, please
comment on how well this transition is working for you.
- PostgreSQL support is starting to freeze. Please note schema changes
in SQL/atheme_init.sql.
- The build system has been reworked. You may need to use gmake on
BSD systems. Please comment on any trouble you have had with building
Atheme (on the tracker, of course.)
- protocol/hyperion supports login session tracking now, please comment
on how well it is working for you.
- protocol/ratbox support for login sessions has also vastly improved.
- dbtool is most likely broken right now. This is not likely to change
any time soon.
- The configuration parser has been overhauled. Please report any crashes
when parsing configurations.
- Channel passwords have been removed.
- Most access checking has been simplified, please make sure it is working
properly on your network.
- w00t has gone and entirely tokenized the Unreal protocol support. Please
report any issues with this that you find.
- STATS is now abstracted instead of living in 15 different protocol modules.
- Probably much more that we have missed :)
Atheme 0.2 Release Notes
========================
- Way too many things to note.
Atheme 0.2rc1 Release Notes
========================
- Protocol support has been modularized.
- The configuration format has drastically changed. Please redo your config.
- The core has been modularized. Please provide feedback if something is not
working as it should.
- Module support has been added. To compile third party modules, add them to
the modules directory and rerun setup/configure. Any modules in your
installation's modules/ directory will be automatically loaded at startup.
- Metadata support has been added. To experiment with it, see our wiki
information on the topic:
http://wiki.oscnet.org/index.php/Atheme:Experimenting_with_Metadata
- Several NickServ-related bugs have been fixed.
- IRCNet support is marked as experimental. If you run this ircd,
please give us feedback on how well it functions.
Atheme 0.1 Release Notes
========================
- Dancer/Hyperion IRCd support is marked as experimental. If you run this ircd,
please give us feedback on how well it functions.
- Chunky Monkey IRCd is also marked as experimental. If you run this ircd,
please give us feedback on how well it functions.
- NickServ support is experimental. We would like suggestions on how to improve it.
If you would like to use it, you should use the example-traditional.conf file,
instead of the example.conf. This will set up a logical environment for NickServ to
operate in.
- InspIRCd support passes our regression tests, however, we would like feedback
concerning how well it works. Features added by optional modules are not supported
at this time. You will need the m_services.so module loaded to make things work
100% properly.
- UnrealIRCd support is implemented fairly well, but not all features are supported.
- Bahamut 1.8 support has not been tested against 1.8.4, though it is expected that
1.8.4 should work fine.
- TSora IRCd support (ratbox) does not support TS6, and probably never will.
If you need help, drop by AthemeNet and ask:
irc.atheme.org #atheme
Thanks!
|