X-Git-Url: https://jfr.im/git/irc/evilnet/x3.git/blobdiff_plain/c8ca69a02e41114aa1303505df301df5f4fd686c..8536ac6b661fa261bad7de981045401f514fb6b7:/UPGRADE diff --git a/UPGRADE b/UPGRADE index 80911e8..fa9320b 100644 --- a/UPGRADE +++ b/UPGRADE @@ -1,8 +1,131 @@ ************************************** -*** X3 IRC Services *** +*** X3 IRC Services *** ************************************** *** IMPORTANT UPGRADE INSTRUCTIONS *** ************************************** +Upgrading from X3 1.6 +------------------------------------------------------------------------------- + +Core changes: + + * There is a new mod-qserver module that allows direct connections to + X3. There is no documentation on the protocol, but the file is + under 250 lines long, so it shouldn't be hard to figure out. + + * There is a new mod-blacklist module that allows a blacklist based + on DNSBLs and IP- and host-based text files. See x3.conf.example + for details on how to configure this module. + + * Commands that use security overrides can be logged more easily. + This includes, among many other things, adding or removing users in + channels where the staff user would not normally have the necessary + access. These can be selected with the "staff" and "override" log + levels. + + * The database writing code has been rewritten because the previous + code performed much worse (for an unknown reason) on 64-bit + machines than on 32-bit machines. Now it is faster than ever on + both types. + + * The logger now avoids recursive logging to the same destination. + + * G-lines support the last-modification syntax introduced in + ircu2.10.12.11. + + * X3 now re-reads translations from its "languages" directory on a + ?rehash. + + * X3 now re-reads its own server name and description on a ?rehash. + + * X3 has several implementations of the ioset event loop + (ioset-epoll.c, ioset-kevent.c, ioset-select.c, ioset-win32.c). + The most efficient one supported by the OS should be selected + automatically. + + * X3 has several implementations of its mail sending utility + (mail-sendmail.c, mail-smtp.c). The sendmail implementation is + used on configure-based builds, and the SMTP implementation is used + on mingw/Win32 native builds. + +ChanServ changes: + + * Do-not-register (DNR) entries now have an expiration time. The + duration can be set to 0 to create a permanent entry; this is the + default for pre-1.4 DNRs. There is also a DNR search command that + should be bound to ChanServ (/msg OpServ bind ChanServ dnrsearch + *ChanServ.dnrsearch; likewise for its actions: dnrsearch\ print, + dnrsearch\ remove and dnrsearch\ count). + + * Kick, ban and unban commands will now accept arguments of the form + *ACCOUNT, affecting users with that account name. + + * The default titles "IRCOp", "network helper" and "support helper" + can be localized using "CSMSG_OPERATOR_TITLE", "CSMSG_UC_H_TITLE" + and "CSMSG_LC_H_TITLE" respectively. + + * The BANS command can search for users affected by a ban in addition + to searching for matching ban patterns. + + * The SAY and EMOTE commands will now accept arguments of the form + *ACCOUNT. + + * There is a new channel flag, Unreviewed, that can distinguish + between automatically registered channels that have been reviewed + against network policies by staff and those that have not. The + "unreviewed" search criteria can select channels without this flag. + (/msg OpServ bind ChanServ set\ unreviewed *ChanServ.set\ + unreviewed; likewise for its values: set\ unreviewed\ on and set\ + unreviewed\ off.) + + * Changing the AutoInvite user option will warn if the user does not + have enough access in the channel to be automatically invited. + + * The GIVEOWNERSHIP command requires a confirmation code. + + * ChanServ's event handling functions are only registered if it has a + nickname set. This makes it easier to disable ChanServ in one + instance of X3. There are a few related changes in modcmd.c's + permission and flag checks. + +NickServ changes: + + * Notes on an account are now supported. (/msg OpServ bind NickServ + notes *NickServ.notes; likewise for the related addnote and delnote + commands.) + + * The new command CHECKEMAIL has been added to allow helpers to check + whether an account's email address matches one known to the helper. + This allows email visibility to remain limited. + + * The OUNREGISTER command now has two configuration options that may + require a "force" parameter to be used: "ounregister_inactive" and + "ounregister_flags". See X3.conf.example for details. + +OpServ changes: + + * IPs with trusts or with active opers are protected from being + accidentally affected by G-lines, TRACE KILL and TRACE GAG. The + "abuse" pseudo-criterion for TRACE now has a "trusted" option to + override trusted IP protection (in addition to the previous, and + independent, "opers" option). + + * The BLOCK command takes an optional duration after the target. + Using this requires the same access level as the GLINE command. + + * There is a new FORCEKICK command that will allow opers to kick + anyone (including remote +k users) from a channel. + + * The STATS GLINE command now accepts an optional target, to have it + show the first known G-line matching that target. + + * X3 will no longer crash in OpServ's join checks if no OpServ bot + is instantiated. + + * The TRACE command will now allow more than one "channel" criterion + to be specified. It also accepts a "target" pseudo-criterion that + contains the name of a channel to receive the output. + +-------------------------------------------------------------------------------------------- From srvx 1.4: Rename srvx.conf to x3.conf Review .conf file settings. @@ -10,15 +133,38 @@ From srvx 1.4: * you can change from srvx.db to x3.db here also (dont forget to rename the file) Run all of the steps below -As of CVS version 1.24: - bind chanserv 'uset autoop' and 'set voice' (see note below). - +***************************** NOTE about command bindings: -You may do: 'bind x3 * *chanserv.*' to re-bind ALL builtin commands on chanserv. This -is the simplest approach and probably a good idea to run for each module (chanserv, -opserv, nickserv, modcmd, etc) after upgrading or changing some features (such as email). +***************************** +From srvx to x3, and within versions of x3, some commands have changed. When you upgrade +your .db file may not have command bindings for new command names. I have added a command +to help make solving this easy. +If you don't have the 'rebindall' command bound, first bind it: + /msg O3 bind o3 * *modcmd.* +Then, after any upgrade, or after adding modules, or changing command effecting settings +such as 'email', you can simply run: + /msg O3 rebindall +to ensure you have all the latest commands bound on all services. + +You may do: 'bind nick * *module.*' to re-bind ALL builtin commands on a givin module, +(chanserv, opserv, nickserv, modcmd, etc) if you prefer to update them individually +(if you unbind some default commands, and want them to stay unbound). Alternatively you can edit the .db by hand or using the 'bind' command on irc. -IMPORTANT: You will need to shut down x3 gracefully (using the die or restart commands) +NOTE: You will need to shut down x3 gracefully (using the die or restart commands) after binding in order for 'set' and 'uset' subcommand changes to function properly since -the listing is cached. +the listings are cached. + +********************************************* +*** Steps needed, by version: +*** note, binding can be taken care of +*** according to the note above. +********************************************* +As of CVS version 1.24: + bind chanserv commands: uset autoop, and set voice + +As of CVS version 1.29: + bind chanserv commands: addlamer, dellamer, addtimedlamer, lamers, and llist + bind opserv commands: rebindall + +