1
0
mirror of https://github.com/anope/anope.git synced 2026-07-05 05:33:13 +02:00

Compare commits

...

31 Commits

Author SHA1 Message Date
Sadie Powell 15f5be76b9 Bump for 2.0.21-git. 2026-05-26 18:00:50 +01:00
Sadie Powell 12f1ebee1c Release 2.0.20. 2026-05-26 17:59:50 +01:00
Sadie Powell 8e691eac80 Update the change log. 2026-05-26 10:44:44 +01:00
Sadie Powell 2327c6ac9a Fix an escaped value that wasn't escaped enough in chanstats. 2026-05-26 10:36:50 +01:00
Sadie Powell e23ea8f8ea Escape user-provided values in ldap_authentication and ldap_oper. 2026-05-26 09:30:15 +01:00
Sadie Powell 449cfa6503 Add EscapeDN and EscapeSF to the LDAP API. 2026-05-26 09:29:57 +01:00
Sadie Powell 01fc7421b6 Backport the pull request checks from 2.0. 2026-05-20 22:13:38 +01:00
Sadie Powell e6d7306202 Backport the mailmap changes from 2.1. 2026-05-12 11:26:06 +01:00
Sadie Powell 2107d18d9e Remove suggestion to email language file updates to team@.
Its 2026 and its way easier for everyone involved to just file a
pull request.
2026-05-11 13:00:55 +01:00
Sadie Powell acb9428635 Backport the locales-all advice from 2.1. 2026-05-11 12:58:47 +01:00
Sadie Powell 27a19dcc52 Update the mailmap. 2026-05-06 11:59:03 +01:00
Sadie Powell ba26d9a15c Add a missing FNAME handler on InspIRCd 3+.
Closes #572.
2026-04-16 11:50:10 +01:00
Sadie Powell 9834040948 Fix checking the wrong config option in os_stats. 2026-03-11 16:41:50 +00:00
Sadie Powell bc9e035038 Extract all public types in Doxygen documentation. 2026-01-30 08:51:21 +00:00
Sadie Powell debfa59be6 Bump for 2.0.20-git. 2026-01-26 13:55:35 +00:00
Sadie Powell e321749d1f Release 2.0.19. 2026-01-26 13:53:05 +00:00
Sadie Powell 8a2d7526cd Update the change log. 2026-01-26 13:52:40 +00:00
Sadie Powell e1f34ee5d6 Add a Doxygen config file. 2026-01-26 13:11:17 +00:00
Sadie Powell 4ac5cf89e3 Update the copyright headers for 2025. 2026-01-01 18:04:37 +00:00
Sadie Powell f526932882 Backport CI changes from the 2.1 branch. 2025-12-03 16:26:32 +00:00
Sadie Powell 5a9f581491 Fix chanserv/enforce enforcing against founders.
Closes #532.
2025-12-03 16:18:50 +00:00
Sadie Powell f6c093ae23 Fix not respecting the mode state when removing a mode lock. 2025-11-13 13:23:05 +00:00
Sadie Powell f4c565aa08 Fix reading the settings in m_dns. 2025-11-09 15:56:30 +00:00
crazycatdevs f03e802f58 Fix creating channel entries in irc2sql.
Related to #526 : MySQL doesn't accept the timestamp in topictime, must use FROM_UNIXTIME() like it's done in OnTopicUpdated
2025-09-05 14:45:57 +01:00
Sadie Powell dbef7a7c64 Don't try to write to a buffered socket if there's no data.
This can cause the SSL modules to act weirdly because the TLS
library will return 0 bytes written (correctly) which is then
interpreted as an error.
2025-08-05 13:10:16 +01:00
Sadie Powell fca421aa2a Fix resetpass confirming accounts when not using email confirmation.
Fixes MantisBT bug 1734.
2025-06-25 17:36:16 +01:00
Sadie Powell 035905d321 Fix example messages using .site which is a real TLD now. 2025-06-25 15:39:35 +01:00
Sadie Powell 9bcf46f8ea Fix using service's instead of services' where appropriate. 2025-06-25 15:29:16 +01:00
Sadie Powell 0b6c7ce5d6 Update some messages for the language used by modern BIND versions. 2025-06-25 15:28:54 +01:00
Sadie Powell 0bb1bc5c67 Backport various minor config changes from 2.1. 2025-06-25 12:00:33 +01:00
Sadie Powell 4b15ca0232 Bump for 2.0.19-git. 2025-05-08 15:03:03 +01:00
351 changed files with 1054 additions and 539 deletions
+14
View File
@@ -24,3 +24,17 @@ I have tested this pull request on:
**Operating system name and version:** <!-- e.g. Linux 3.11 --> **Operating system name and version:** <!-- e.g. Linux 3.11 -->
**Compiler name and version:** <!-- e.g. GCC 4.2.0 --> **Compiler name and version:** <!-- e.g. GCC 4.2.0 -->
## Checks
<!--
Tick the boxes for the checks you have made.
-->
I have ensured that:
- [ ] The code I am submitting is my own work and/or I have permission from the author to share it.
- [ ] Generative AI (Copilot, ChatGPT, etc) was not used to create any part of this pull request.
- [ ] If the pull request contains a security fix I have followed the reporting rules mentioned in [the security policy](https://github.com/anope/anope/security/policy) (delete if not applicable).
- [ ] I have documented any features added by this pull request (delete if not applicable).
- [ ] This pull request does not introduce any incompatible API changes (stable branches only, delete if not applicable).
+2 -1
View File
@@ -2,6 +2,7 @@ name: Ubuntu CI
on: on:
- pull_request - pull_request
- push - push
- workflow_dispatch
jobs: jobs:
build: build:
if: "!contains(github.event.head_commit.message, '[skip ubuntu ci]')" if: "!contains(github.event.head_commit.message, '[skip ubuntu ci]')"
@@ -10,7 +11,7 @@ jobs:
CXX: ${{ matrix.compiler }} CXX: ${{ matrix.compiler }}
CXXFLAGS: -std=${{ matrix.standard }} CXXFLAGS: -std=${{ matrix.standard }}
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v6
- name: Install dependencies - name: Install dependencies
run: | run: |
+9 -1
View File
@@ -5,6 +5,7 @@ on:
release: release:
types: types:
- published - published
workflow_dispatch:
jobs: jobs:
build: build:
if: "!contains(github.event.head_commit.message, '[skip windows ci]')" if: "!contains(github.event.head_commit.message, '[skip windows ci]')"
@@ -14,7 +15,7 @@ jobs:
CONAN_USER_HOME: ${{ github.workspace }}/win/build CONAN_USER_HOME: ${{ github.workspace }}/win/build
CONAN_USER_HOME_SHORT: None CONAN_USER_HOME_SHORT: None
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v6
- name: Setup NSIS - name: Setup NSIS
run: |- run: |-
@@ -64,3 +65,10 @@ jobs:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: | run: |
gh release upload ${{ github.event.release.tag_name }} $(Get-ChildItem anope-*.exe) gh release upload ${{ github.event.release.tag_name }} $(Get-ChildItem anope-*.exe)
- name: Upload artifact
if: "${{ github.event_name != 'release' }}"
uses: actions/upload-artifact@v5
with:
name: windows-installer
path: ${{ github.workspace }}\build\\anope-*.exe
+1
View File
@@ -1,5 +1,6 @@
build/ build/
config.cache config.cache
docs/doxygen
include/sysconf.h include/sysconf.h
modules/m_ldap.cpp modules/m_ldap.cpp
modules/m_ldap_authentication.cpp modules/m_ldap_authentication.cpp
+13 -3
View File
@@ -12,39 +12,49 @@ Charles Kingsley <chaz@anope.org>
Charles Kingsley <chaz@anope.org> <sjaz@5417fbe8-f217-4b02-8779-1006273d7864> Charles Kingsley <chaz@anope.org> <sjaz@5417fbe8-f217-4b02-8779-1006273d7864>
Cronus <cronus@nite-serv.com> Cronus <cronus@nite-serv.com>
Daniel Engel <dane@zero.org> <dane dane@31f1291d-b8d6-0310-a050-a5561fc1590b@5417fbe8-f217-4b02-8779-1006273d7864> Daniel Engel <dane@zero.org> <dane dane@31f1291d-b8d6-0310-a050-a5561fc1590b@5417fbe8-f217-4b02-8779-1006273d7864>
David Robson <rob@anope.org> <robbeh@5417fbe8-f217-4b02-8779-1006273d7864>
David Robson <rob@anope.org> <rob rob@31f1291d-b8d6-0310-a050-a5561fc1590b@5417fbe8-f217-4b02-8779-1006273d7864> David Robson <rob@anope.org> <rob rob@31f1291d-b8d6-0310-a050-a5561fc1590b@5417fbe8-f217-4b02-8779-1006273d7864>
David Robson <rob@anope.org> <robbeh@5417fbe8-f217-4b02-8779-1006273d7864>
Dennis Friis <peavey@inspircd.org> <peavey peavey@inspircd.org@5417fbe8-f217-4b02-8779-1006273d7864> Dennis Friis <peavey@inspircd.org> <peavey peavey@inspircd.org@5417fbe8-f217-4b02-8779-1006273d7864>
Fabio Scotoni <cculex@gmail.com> Fabio Scotoni <cculex@gmail.com>
Filippo Cortigiani <simos@simosnap.org> <devel@devel.crtnet.it>
Filippo Cortigiani <simos@simosnap.org> <simos@H7-25.fritz.box>
Florian Schulze <certus@anope.org> <certus certus@31f1291d-b8d6-0310-a050-a5561fc1590b@5417fbe8-f217-4b02-8779-1006273d7864> Florian Schulze <certus@anope.org> <certus certus@31f1291d-b8d6-0310-a050-a5561fc1590b@5417fbe8-f217-4b02-8779-1006273d7864>
Gabriel Acevedo H. <drstein@anope.org> <drstein drstein@31f1291d-b8d6-0310-a050-a5561fc1590b@5417fbe8-f217-4b02-8779-1006273d7864> Gabriel Acevedo H. <drstein@anope.org> <drstein drstein@31f1291d-b8d6-0310-a050-a5561fc1590b@5417fbe8-f217-4b02-8779-1006273d7864>
Harakiri <harakiri@overstack.fr> Harakiri <harakiri@overstack.fr>
Hendrik Jäger <gitcommit@henk.geekmail.org> <github@henk.geekmail.org>
Jan Milants <viper@anope.org> Jan Milants <viper@anope.org>
Jan Milants <viper@anope.org> <jantje_85@5417fbe8-f217-4b02-8779-1006273d7864> Jan Milants <viper@anope.org> <jantje_85@5417fbe8-f217-4b02-8779-1006273d7864>
Jan Milants <viper@anope.org> <viper viper@31f1291d-b8d6-0310-a050-a5561fc1590b@5417fbe8-f217-4b02-8779-1006273d7864> Jan Milants <viper@anope.org> <viper viper@31f1291d-b8d6-0310-a050-a5561fc1590b@5417fbe8-f217-4b02-8779-1006273d7864>
Jens Voss <dukepyrolator@anope.org> <anope@s15355730.onlinehome-server.info> Jens Voss <dukepyrolator@anope.org> <anope@s15355730.onlinehome-server.info>
Jens Voss <dukepyrolator@anope.org> <DukePyrolator@5417fbe8-f217-4b02-8779-1006273d7864> Jens Voss <dukepyrolator@anope.org> <DukePyrolator@5417fbe8-f217-4b02-8779-1006273d7864>
Jens Voss <dukepyrolator@anope.org> <DukePyrolator@anope.org> Jens Voss <dukepyrolator@anope.org> <DukePyrolator@anope.org>
Jens Voss <dukepyrolator@anope.org> Jens Voß <jens@pyrobook.(none)> Jens Voss <dukepyrolator@anope.org> <jens@pyrobook.(none)>
k4be <k4be@pirc.pl> <34816207+k4bek4be@users.noreply.github.com>
Lee Holmes <lethality@anope.org> Lee Holmes <lethality@anope.org>
Lee Holmes <lethality@anope.org> <lee@lethality.me.uk> Lee Holmes <lethality@anope.org> <lee@lethality.me.uk>
Mark Summers <mark@goopler.net> <mark mark@31f1291d-b8d6-0310-a050-a5561fc1590b@5417fbe8-f217-4b02-8779-1006273d7864> Mark Summers <mark@goopler.net> <mark mark@31f1291d-b8d6-0310-a050-a5561fc1590b@5417fbe8-f217-4b02-8779-1006273d7864>
Matt Schatz <genius3000@g3k.solutions> Matt Schatz <genius3000@g3k.solutions>
Matt Ullman <matt@airraidsirens.com> <blindsight@gamesurge.net> Matt Ullman <matt@airraidsirens.com> <blindsight@gamesurge.net>
Michael Hazell <michaelhazell@hotmail.com> <Techman-@users.noreply.github.com> Michael Hazell <michaelhazell@hotmail.com> <Techman-@users.noreply.github.com>
Michael Stapelberg <michael@robustirc.net> <stapelberg@users.noreply.github.com>
Michael Wobst <wobst.michael@web.de> Michael Wobst <wobst.michael@web.de>
Michael Wobst <wobst.michael@web.de> <michael@static.163.129.251.148.clients.your-server.de> Michael Wobst <wobst.michael@web.de> <michael@static.163.129.251.148.clients.your-server.de>
Michael Wobst <wobst.michael@web.de> <michael@wobst.at> Michael Wobst <wobst.michael@web.de> <michael@wobst.at>
Naram Qashat <cyberbotx@anope.org> <cyberbotx@5417fbe8-f217-4b02-8779-1006273d7864> Naram Qashat <cyberbotx@anope.org> <cyberbotx@5417fbe8-f217-4b02-8779-1006273d7864>
Naram Qashat <cyberbotx@anope.org> <cyberbotx@cyberbotx.com> Naram Qashat <cyberbotx@anope.org> <cyberbotx@cyberbotx.com>
Naram Qashat <cyberbotx@anope.org> <Naram Qashat cyberbotx@cyberbotx.com@5417fbe8-f217-4b02-8779-1006273d7864> Naram Qashat <cyberbotx@anope.org> <Naram Qashat cyberbotx@cyberbotx.com@5417fbe8-f217-4b02-8779-1006273d7864>
PeGaSuS <droider.pc@gmail.com>
PeGaSuS <droider.pc@gmail.com> <25697531+TehPeGaSuS@users.noreply.github.com>
Pieter Bootsma <geniusdex@anope.org> <geniusdex geniusdex@31f1291d-b8d6-0310-a050-a5561fc1590b@5417fbe8-f217-4b02-8779-1006273d7864> Pieter Bootsma <geniusdex@anope.org> <geniusdex geniusdex@31f1291d-b8d6-0310-a050-a5561fc1590b@5417fbe8-f217-4b02-8779-1006273d7864>
Robby <robby@chatbelgie.be> <robby@anope.org> Robby <robby@chatbelgie.be> <robby@anope.org>
Robby <robby@chatbelgie.be> <robby@chat.be> Robby <robby@chatbelgie.be> <robby@chat.be>
Robert Scheck <robert@fedoraproject.org> <robert-scheck@users.noreply.github.com>
Robin Burchell <w00t@inspircd.org> <rburchell@5417fbe8-f217-4b02-8779-1006273d7864> Robin Burchell <w00t@inspircd.org> <rburchell@5417fbe8-f217-4b02-8779-1006273d7864>
Robin Burchell <w00t@inspircd.org> <Robin Burchell w00t@inspircd.org@5417fbe8-f217-4b02-8779-1006273d7864> Robin Burchell <w00t@inspircd.org> <Robin Burchell w00t@inspircd.org@5417fbe8-f217-4b02-8779-1006273d7864>
Sadie Powell <sadie@witchery.services> Peter Powell <petpow@saberuk.com> Sadie Powell <sadie@sadiepowell.dev> <petpow@saberuk.com>
Sadie Powell <sadie@sadiepowell.dev> <sadie@witchery.services>
Sebastian Barfurth <github@afreshmelon.com> Sebastian Barfurth <github@afreshmelon.com>
Sebastian V. <hal9000@denorastats.org> Sebastian V. <hal9000@denorastats.org>
Sebastian V. <hal9000@denorastats.org> <pimpmylinux@5417fbe8-f217-4b02-8779-1006273d7864> Sebastian V. <hal9000@denorastats.org> <pimpmylinux@5417fbe8-f217-4b02-8779-1006273d7864>
Trystan S. Lee <trystan@nomadirc.net> <trystan trystan@31f1291d-b8d6-0310-a050-a5561fc1590b@5417fbe8-f217-4b02-8779-1006273d7864> Trystan S. Lee <trystan@nomadirc.net> <trystan trystan@31f1291d-b8d6-0310-a050-a5561fc1590b@5417fbe8-f217-4b02-8779-1006273d7864>
Val Lorentz <progval+git@progval.net> <progval+git@progval.net>
+6 -6
View File
@@ -333,10 +333,10 @@ privilege
/* /*
* fantasy * fantasy
* *
* Allows 'fantasist' commands to be used in channels. * Allows fantasy commands (e.g. !kick) to be used in channels.
* *
* Provides the commands: * Provides the commands:
* botserv/set/fantasy - Used for enabling or disabling BotServ's fantasist commands. * botserv/set/fantasy - Used for enabling or disabling BotServ's fantasy commands.
*/ */
module module
{ {
@@ -375,15 +375,15 @@ fantasy { name = "ENFORCE"; command = "chanserv/enforce"; }
fantasy { name = "ENTRYMSG"; command = "chanserv/entrymsg"; } fantasy { name = "ENTRYMSG"; command = "chanserv/entrymsg"; }
fantasy { name = "FLAGS"; command = "chanserv/flags"; } fantasy { name = "FLAGS"; command = "chanserv/flags"; }
fantasy { name = "HALFOP"; command = "chanserv/modes"; } fantasy { name = "HALFOP"; command = "chanserv/modes"; }
fantasy { name = "HELP"; command = "generic/help"; prepend_channel = false; } fantasy { name = "HELP"; command = "generic/help"; prepend_channel = no; }
fantasy { name = "HOP"; command = "chanserv/xop"; } fantasy { name = "HOP"; command = "chanserv/xop"; }
fantasy { name = "INFO"; command = "chanserv/info"; prepend_channel = false; } fantasy { name = "INFO"; command = "chanserv/info"; prepend_channel = no; }
fantasy { name = "INVITE"; command = "chanserv/invite"; } fantasy { name = "INVITE"; command = "chanserv/invite"; }
fantasy { name = "K"; command = "chanserv/kick"; } fantasy { name = "K"; command = "chanserv/kick"; }
fantasy { name = "KB"; command = "chanserv/ban"; } fantasy { name = "KB"; command = "chanserv/ban"; }
fantasy { name = "KICK"; command = "chanserv/kick"; } fantasy { name = "KICK"; command = "chanserv/kick"; }
fantasy { name = "LEVELS"; command = "chanserv/levels"; } fantasy { name = "LEVELS"; command = "chanserv/levels"; }
fantasy { name = "LIST"; command = "chanserv/list"; prepend_channel = false; } fantasy { name = "LIST"; command = "chanserv/list"; prepend_channel = no; }
fantasy { name = "LOG"; command = "chanserv/log"; } fantasy { name = "LOG"; command = "chanserv/log"; }
fantasy { name = "MODE"; command = "chanserv/mode"; } fantasy { name = "MODE"; command = "chanserv/mode"; }
fantasy { name = "MUTE"; command = "chanserv/ban"; kick = no; mode = "QUIET"; } fantasy { name = "MUTE"; command = "chanserv/ban"; kick = no; mode = "QUIET"; }
@@ -391,7 +391,7 @@ fantasy { name = "OP"; command = "chanserv/modes"; }
fantasy { name = "OWNER"; command = "chanserv/modes"; } fantasy { name = "OWNER"; command = "chanserv/modes"; }
fantasy { name = "PROTECT"; command = "chanserv/modes"; } fantasy { name = "PROTECT"; command = "chanserv/modes"; }
fantasy { name = "QOP"; command = "chanserv/xop"; } fantasy { name = "QOP"; command = "chanserv/xop"; }
fantasy { name = "SEEN"; command = "chanserv/seen"; prepend_channel = false; } fantasy { name = "SEEN"; command = "chanserv/seen"; prepend_channel = no; }
fantasy { name = "SOP"; command = "chanserv/xop"; } fantasy { name = "SOP"; command = "chanserv/xop"; }
fantasy { name = "STATUS"; command = "chanserv/status"; } fantasy { name = "STATUS"; command = "chanserv/status"; }
fantasy { name = "SUSPEND"; command = "chanserv/suspend"; permission = "chanserv/suspend"; } fantasy { name = "SUSPEND"; command = "chanserv/suspend"; permission = "chanserv/suspend"; }
+5 -5
View File
@@ -162,19 +162,19 @@ module
/* /*
* If set, prevents channel access entries from containing hostmasks. * If set, prevents channel access entries from containing hostmasks.
*/ */
disallow_hostmask_access = false disallow_hostmask_access = no
/* /*
* If set, prevents channels from being on access lists. * If set, prevents channels from being on access lists.
*/ */
disallow_channel_access = false disallow_channel_access = no
/* /*
* If set, ChanServ will always lower the timestamp of registered channels to their registration date. * If set, ChanServ will always lower the timestamp of registered channels to their registration date.
* This prevents several race conditions where unauthorized users can join empty registered channels and set * This prevents several race conditions where unauthorized users can join empty registered channels and set
* modes etc. prior to services deopping them. * modes etc. prior to services deopping them.
*/ */
always_lower_ts = false always_lower_ts = no
} }
/* /*
@@ -1118,7 +1118,7 @@ module
name = "cs_seen" name = "cs_seen"
/* If set, uses the older 1.8 style seen, which is less resource intensive */ /* If set, uses the older 1.8 style seen, which is less resource intensive */
simple = false simple = no
/* Sets the time to keep seen entries in the seen database. */ /* Sets the time to keep seen entries in the seen database. */
purgetime = "30d" purgetime = "30d"
@@ -1167,7 +1167,7 @@ module
* If set, persistent channels have their creation times lowered to their * If set, persistent channels have their creation times lowered to their
* original registration dates. * original registration dates.
*/ */
persist_lower_ts = true persist_lower_ts = yes
} }
command { service = "ChanServ"; name = "SET"; command = "chanserv/set"; group = "chanserv/management"; } command { service = "ChanServ"; name = "SET"; command = "chanserv/set"; group = "chanserv/management"; }
command { service = "ChanServ"; name = "SET AUTOOP"; command = "chanserv/set/autoop"; } command { service = "ChanServ"; name = "SET AUTOOP"; command = "chanserv/set/autoop"; }
+102 -84
View File
@@ -65,10 +65,6 @@
* will typically be disabled. If this is not the case, more * will typically be disabled. If this is not the case, more
* information will be given in the documentation. * information will be given in the documentation.
* *
* [DISCOURAGED]
* Indicates a directive which may cause undesirable side effects if
* specified.
*
* [DEPRECATED] * [DEPRECATED]
* Indicates a directive which will disappear in a future version of * Indicates a directive which will disappear in a future version of
* Services, usually because its functionality has been either * Services, usually because its functionality has been either
@@ -85,7 +81,7 @@
/* /*
* The services.host define is used in multiple different locations throughout the * The services.host define is used in multiple different locations throughout the
* configuration for services clients hostnames. * configuration for the server name and pseudoclient hostnames.
*/ */
define define
{ {
@@ -209,7 +205,7 @@ serverinfo
* other server names on the rest of your IRC network. Note that it does not have * other server names on the rest of your IRC network. Note that it does not have
* to be an existing hostname, just one that isn't on your network already. * to be an existing hostname, just one that isn't on your network already.
*/ */
name = "services.example.com" name = "services.host"
/* /*
* The text which should appear as the server's information in /WHOIS and similar * The text which should appear as the server's information in /WHOIS and similar
@@ -254,16 +250,16 @@ serverinfo
* You MUST modify this to match the IRCd you run. * You MUST modify this to match the IRCd you run.
* *
* Supported: * Supported:
* - bahamut * - [DEPRECATED] bahamut
* - charybdis * - charybdis
* - hybrid * - hybrid
* - inspircd12 * - [DEPRECATED] inspircd12
* - inspircd20 * - [DEPRECATED] inspircd20
* - inspircd3 (for 3.x and 4.x) * - inspircd3 (for 3.x and 4.x)
* - ngircd * - ngircd
* - plexus * - plexus
* - ratbox * - ratbox
* - unreal (for 3.2.x) * - [DEPRECATED] unreal (for 3.2.x)
* - unreal4 (for 4.x or later) * - unreal4 (for 4.x or later)
*/ */
module module
@@ -347,16 +343,16 @@ networkinfo
* *
* It is recommended you DON'T change this. * It is recommended you DON'T change this.
*/ */
vhost_chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789.-" vhost_chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789.-/"
/* /*
* If set to true, allows vHosts to not contain dots (.). * If enabled, allows vHosts to not contain dots (.).
* Newer IRCds generally do not have a problem with this, but the same warning as * Newer IRCds generally do not have a problem with this, but the same warning as
* vhost_chars applies. * vhost_chars applies.
* *
* It is recommended you DON'T change this. * It is recommended you DON'T change this.
*/ */
allow_undotted_vhosts = false allow_undotted_vhosts = no
/* /*
* The characters that are not allowed to be at the very beginning or very ending * The characters that are not allowed to be at the very beginning or very ending
@@ -364,7 +360,7 @@ networkinfo
* *
* It is recommended you DON'T change this. * It is recommended you DON'T change this.
*/ */
disallow_start_or_end = ".-" disallow_start_or_end = ".-/"
} }
/* /*
@@ -618,7 +614,7 @@ include
} }
/* /*
* [OPTIONAL] NickServ * [RECOMMENDED] NickServ
* *
* Includes nickserv.example.conf, which is necessary for NickServ functionality. * Includes nickserv.example.conf, which is necessary for NickServ functionality.
* *
@@ -755,7 +751,6 @@ log
* You may define groups of commands and privileges, as well as who may use them. * You may define groups of commands and privileges, as well as who may use them.
* *
* This block is recommended, as without it you will be unable to access most oper commands. * This block is recommended, as without it you will be unable to access most oper commands.
* It replaces the old ServicesRoot directive amongst others.
* *
* The command names below are defaults and are configured in the *serv.conf's. If you configure * The command names below are defaults and are configured in the *serv.conf's. If you configure
* additional commands with permissions, such as commands from third party modules, the permissions * additional commands with permissions, such as commands from third party modules, the permissions
@@ -952,15 +947,20 @@ mail
usemail = yes usemail = yes
/* /*
* This is the command-line that will be used to call the mailer to send an * The command used for sending emails. It is assumed that this behaves like
* e-mail. It must be called with all the parameters needed to make it * sendmail (i.e. it reads the email from the standard input stream) but you
* scan the mail input to find the mail recipient; consult your mailer * should probably use Postfix or some other sendmail-compatible emailer
* documentation. * instead of sendmail as sendmail is very hard to configure correctly. If
* you are using Windows then https://www.glob.com.au/sendmail/ is probably
* the best option currently.
* *
* Postfix users must use the compatible sendmail utility provided with * If your emailer sends emails directly from the services host you will
* it. This one usually needs no parameters on the command-line. Most * need to configure DKIM, DMARC, and SPF to avoid email hosts from marking
* sendmail applications (or replacements of it) require the -t option * your services emails as spam. It is important that you do this *BEFORE*
* to be used. * sending emails for the first time as some email providers will add your
* host to a DNSBL like Spamhaus if they consider your emails to be spam. If
* this is too difficult then you may want to consider sending emails via an
* external email provider using a forwarder like msmtp.
*/ */
sendmailpath = "/usr/sbin/sendmail -t" sendmailpath = "/usr/sbin/sendmail -t"
@@ -1107,7 +1107,7 @@ mail
/* /*
* [RECOMMENDED] db_flatfile * [RECOMMENDED] db_flatfile
* *
* This is the default flatfile database format. * Stores your database in a custom flatfile format.
*/ */
module module
{ {
@@ -1126,7 +1126,7 @@ module
* *
* This directive is optional, but recommended. * This directive is optional, but recommended.
*/ */
keepbackups = 3 keepbackups = 7
/* /*
* Allows Services to continue file write operations (i.e. database saving) * Allows Services to continue file write operations (i.e. database saving)
@@ -1154,17 +1154,16 @@ module
/* /*
* db_sql and db_sql_live * db_sql and db_sql_live
* *
* db_sql module allows saving and loading databases using one of the SQL engines. * Allows saving and loading databases to a SQL database.
* This module loads the databases once on startup, then incrementally updates
* objects in the database as they are changed within Anope in real time. Changes
* to the SQL tables not done by Anope will have no effect and will be overwritten.
* *
* db_sql_live module allows saving and loading databases using one of the SQL engines. * db_sql loads the databases once on startup and then incrementally updates in
* This module reads and writes to SQL in real time. Changes to the SQL tables * in the database as they are changed within Anope. Changes to the SQL tables
* will be immediately reflected into Anope. This module should not be loaded * not done by Anope will have no effect and will be overwritten.
* in conjunction with db_sql. It should also not be used on large networks as it
* executes quite a lot of queries which can cause performance issues.
* *
* db_sql_live module reads and writes to SQL in real time. Changes to the SQL
* tables will be immediately reflected in Anope. This module can not be loaded
* at the same time as db_sql. It should also not be used on large networks as
* it executes quite a lot of queries which can cause performance issues.
*/ */
#module #module
{ {
@@ -1172,10 +1171,10 @@ module
#name = "db_sql_live" #name = "db_sql_live"
/* /*
* The SQL service db_sql(_live) should use, these are configured in modules.conf. * The SQL service that db_sql(_live) should use. These are configured in
* For MySQL, this should probably be mysql/main. * modules.example.conf. For MySQL, this should probably be mysql/main.
*/ */
engine = "sqlite/main" engine = "mysql/main"
/* /*
* An optional prefix to prepended to the name of each created table. * An optional prefix to prepended to the name of each created table.
@@ -1183,18 +1182,22 @@ module
*/ */
#prefix = "anope_db_" #prefix = "anope_db_"
/* Whether or not to import data from another database module in to SQL on startup. /*
* If you enable this, be sure that the database services is configured to use is * Whether or not to import data from another database module in to SQL on
* empty and that another database module to import from is loaded BEFORE db_sql. * startup.
* After you enable this and do a database import you MUST disable it for
* subsequent restarts. If you want to keep writing a flatfile database after the
* SQL import is done you should load db_flatfile AFTER this module.
* *
* Note that you can not import databases using db_sql_live. If you want to import * If you enable this, be sure that the database Anope is configured to use
* databases and use db_sql_live you should import them using db_sql, then shut down * is empty and that another database module to import from is loaded BEFORE
* and start services with db_sql_live. * db_sql. After you enable this and do a database import you MUST disable
* it for subsequent restarts. If you want to keep writing a file database
* after the SQL import is done you should load db_flatfile AFTER this
* module.
*
* Note that you can not import databases using db_sql_live. If you want to
* import databases and use db_sql_live you should import them using db_sql,
* then shut down and start Anope with db_sql_live.
*/ */
import = false import = no
} }
/* /*
@@ -1221,50 +1224,65 @@ module
/* /*
* [RECOMMENDED] Encryption modules. * [RECOMMENDED] Encryption modules.
* *
* The encryption modules are used when dealing with passwords. This determines how * The encryption modules are used when dealing with passwords. This determines
* the passwords are stored in the databases, and does not add any security as * how the passwords are stored in the databases.
* far as transmitting passwords over the network goes.
*
* Without any encryption modules loaded users will not be able to authenticate unless
* there is another module loaded that provides authentication checking, such as
* m_ldap_authentication or m_sql_authentication.
*
* With enc_none, passwords will be stored in plain text, allowing for passwords
* to be recovered later but it isn't secure and therefore is not recommended.
*
* The other encryption modules use one-way encryption, so the passwords can not
* be recovered later if those are used.
*
* The first encryption module loaded is the primary encryption module. All new passwords are
* encrypted by this module. Old passwords stored in another encryption method are
* automatically re-encrypted by the primary encryption module on next identify.
*
* enc_md5, enc_sha1, and enc_old are deprecated, and are provided for users
* to upgrade to a newer encryption module. Do not use them as the primary
* encryption module. They will be removed in a future release.
* *
* The first encryption module loaded is the primary encryption module. All new
* passwords are encrypted by this module. Old passwords encrypted with another
* encryption method are automatically re-encrypted with the primary encryption
* module the next time the user identifies.
*/ */
#module { name = "enc_bcrypt" }
module { name = "enc_sha256" }
/* /*
* When using enc_none, passwords will be stored without encryption. This isn't secure * enc_bcrypt
* therefore it is not recommended. *
* Provides support for encrypting passwords using the Bcrypt algorithm. See
* https://en.wikipedia.org/wiki/Bcrypt for more information.
*/ */
#module { name = "enc_none" } #module
{
name = "enc_bcrypt"
/* Deprecated encryption modules */ /** The number of Bcrypt rounds to perform on passwords. Can be set to any
* number between 10 and 32 but higher numbers are more CPU intensive and
* may impact performance.
*/
#rounds = 10
}
/*
* [RECOMMENDED] enc_sha256
*
* Provides support for encrypting passwords using the SHA-2 algorithm with a
* salted initialization vector. See https://en.wikipedia.org/wiki/SHA-2 for
* more information.
*/
module
{
name = "enc_sha256"
}
/*
* [DEPRECATED] enc_md5, enc_none, enc_old, enc_sha1
*
* Provides support for passwords encrypted using encryption methods from older
* versions of Anope. These methods are no longer considered secure and will be
* removed in a future version of Anope. Only load them if you are upgrading
* from a previous version of Anope that used them.
*
* enc_md5: Verifies passwords encrypted with the MD5 algorithm
* enc_none: Verifies passwords that are not encrypted
* enc_sha1: Verifies passwords encrypted with the SHA1 algorithm
* enc_old: Verifies passwords encrypted with the broken MD5 algorithm used
* before 1.7.17.
*
* You must load another encryption method before this to re-encrypt passwords
* with when a user logs in.
*/
#module { name = "enc_md5" } #module { name = "enc_md5" }
#module { name = "enc_sha1" } #module { name = "enc_none" }
/*
* enc_old is Anope's previous (broken) MD5 implementation used from 1.4.x to 1.7.16.
* If your databases were made using that module, load it here to allow conversion to the primary
* encryption method.
*/
#module { name = "enc_old" } #module { name = "enc_old" }
#module { name = "enc_sha1" }
/* Extra (optional) modules. */ /* Extra (optional) modules. */
include include
+3 -3
View File
@@ -68,7 +68,7 @@ module
/* /*
* If enabled, vhosts are activated on users immediately when they are set. * If enabled, vhosts are activated on users immediately when they are set.
*/ */
activate_on_set = false activate_on_set = no
} }
/* /*
@@ -110,12 +110,12 @@ module
/* /*
* Upon nickserv/group, this option syncs the nick's main vHost to the grouped nick. * Upon nickserv/group, this option syncs the nick's main vHost to the grouped nick.
*/ */
syncongroup = false syncongroup = no
/* /*
* This makes vhosts act as if they are per account. * This makes vhosts act as if they are per account.
*/ */
synconset = false synconset = no
} }
command { service = "HostServ"; name = "GROUP"; command = "hostserv/group"; } command { service = "HostServ"; name = "GROUP"; command = "hostserv/group"; }
+2 -5
View File
@@ -78,8 +78,7 @@ module
/* /*
* The delay between consecutive uses of the MemoServ SEND command. This can help prevent spam * The delay between consecutive uses of the MemoServ SEND command. This can help prevent spam
* as well as denial-of-service attacks from sending large numbers of memos and filling up disk * as well as denial-of-service attacks from sending large numbers of memos and filling up disk
* space (and memory). The default 3-second wait means a maximum average of 150 bytes of memo * space (and memory).
* per second per user under the current IRC protocol.
* *
* This directive is optional, but recommended. * This directive is optional, but recommended.
*/ */
@@ -186,8 +185,6 @@ command { service = "MemoServ"; name = "READ"; command = "memoserv/read"; }
* Provides the command memoserv/rsend. * Provides the command memoserv/rsend.
* *
* Used to send a memo requiring a receipt be sent back once it is read. * Used to send a memo requiring a receipt be sent back once it is read.
*
* Requires configuring memoserv:memoreceipt.
*/ */
#module #module
{ {
@@ -198,7 +195,7 @@ command { service = "MemoServ"; name = "READ"; command = "memoserv/read"; }
* *
* This directive is optional. * This directive is optional.
*/ */
operonly = false operonly = no
} }
#command { service = "MemoServ"; name = "RSEND"; command = "memoserv/rsend"; } #command { service = "MemoServ"; name = "RSEND"; command = "memoserv/rsend"; }
+41 -30
View File
@@ -65,7 +65,7 @@ module { name = "help" }
/* This should be the names of the public facing nameservers serving the records. */ /* This should be the names of the public facing nameservers serving the records. */
nameservers = "ns1.example.com ns2.example.com" nameservers = "ns1.example.com ns2.example.com"
/* The time slave servers are allowed to cache. This should be reasonably low /* The time secondary servers are allowed to cache for. This should be reasonably low
* if you want your records to be updated without much delay. * if you want your records to be updated without much delay.
*/ */
refresh = 3600 refresh = 3600
@@ -233,7 +233,7 @@ module { name = "help" }
} }
/* /*
* m_ldap [EXTRA] * [EXTRA] m_ldap
* *
* This module allows other modules to use LDAP. By itself, this module does nothing useful. * This module allows other modules to use LDAP. By itself, this module does nothing useful.
*/ */
@@ -254,7 +254,7 @@ module { name = "help" }
} }
/* /*
* m_ldap_authentication [EXTRA] * [EXTRA] m_ldap_authentication
* *
* This module allows many commands such as IDENTIFY, RELEASE, RECOVER, GHOST, etc. use * This module allows many commands such as IDENTIFY, RELEASE, RECOVER, GHOST, etc. use
* LDAP to authenticate users. Requires m_ldap. * LDAP to authenticate users. Requires m_ldap.
@@ -304,17 +304,17 @@ module { name = "help" }
* *
* If not set, then registration is not blocked. * If not set, then registration is not blocked.
*/ */
#disable_register_reason = "To register on this network visit https://some.misconfigured.site/register" #disable_register_reason = "To register on this network visit https://some.misconfigured.site.example/register"
/* /*
* If set, the reason to give the users who try to "/msg NickServ SET EMAIL". * If set, the reason to give the users who try to "/msg NickServ SET EMAIL".
* If not set, then email changing is not blocked. * If not set, then email changing is not blocked.
*/ */
#disable_email_reason = "To change your email address visit https://some.misconfigured.site" #disable_email_reason = "To change your email address visit https://some.misconfigured.site.example"
} }
/* /*
* m_ldap_oper [EXTRA] * [EXTRA] m_ldap_oper
* *
* This module dynamically ties users to Anope opertypes when they identify * This module dynamically ties users to Anope opertypes when they identify
* via LDAP group membership. Requires m_ldap. * via LDAP group membership. Requires m_ldap.
@@ -355,7 +355,7 @@ module { name = "help" }
} }
/* /*
* m_mysql [EXTRA] * [EXTRA] m_mysql
* *
* This module allows other modules to use MySQL. * This module allows other modules to use MySQL.
*/ */
@@ -401,7 +401,7 @@ module { name = "help" }
} }
/* /*
* m_regex_pcre [EXTRA] * [DEPRECATED] [EXTRA] m_regex_pcre
* *
* Provides the regex engine regex/pcre, which uses version 1 of the Perl Compatible Regular * Provides the regex engine regex/pcre, which uses version 1 of the Perl Compatible Regular
* Expressions library. This can not be loaded at the same time as the m_regex_pcre2 module. * Expressions library. This can not be loaded at the same time as the m_regex_pcre2 module.
@@ -409,7 +409,7 @@ module { name = "help" }
#module { name = "m_regex_pcre" } #module { name = "m_regex_pcre" }
/* /*
* m_regex_pcre2 [EXTRA] * [EXTRA] m_regex_pcre2
* *
* Provides the regex engine regex/pcre, which uses version 2 of the Perl Compatible Regular * Provides the regex engine regex/pcre, which uses version 2 of the Perl Compatible Regular
* Expressions library. This can not be loaded at the same time as the m_regex_pcre module. * Expressions library. This can not be loaded at the same time as the m_regex_pcre module.
@@ -417,7 +417,7 @@ module { name = "help" }
#module { name = "m_regex_pcre2" } #module { name = "m_regex_pcre2" }
/* /*
* m_regex_posix [EXTRA] * [EXTRA] m_regex_posix
* *
* Provides the regex engine regex/posix, which uses the POSIX compliant regular expressions. * Provides the regex engine regex/posix, which uses the POSIX compliant regular expressions.
* This is likely the only regex module you will not need extra libraries for. * This is likely the only regex module you will not need extra libraries for.
@@ -425,7 +425,7 @@ module { name = "help" }
#module { name = "m_regex_posix" } #module { name = "m_regex_posix" }
/* /*
* m_regex_tre [EXTRA] * [EXTRA] m_regex_tre
* *
* Provides the regex engine regex/tre, which uses the TRE regex library. * Provides the regex engine regex/tre, which uses the TRE regex library.
*/ */
@@ -442,7 +442,7 @@ module { name = "help" }
service = "ChanServ"; name = "CLEAR"; command = "rewrite" service = "ChanServ"; name = "CLEAR"; command = "rewrite"
/* Enable m_rewrite. */ /* Enable m_rewrite. */
rewrite = true rewrite = yes
/* Source message to match. A $ can be used to match anything. */ /* Source message to match. A $ can be used to match anything. */
rewrite_source = "CLEAR $ USERS" rewrite_source = "CLEAR $ USERS"
@@ -546,15 +546,26 @@ module { name = "help" }
/* /*
* m_sasl * m_sasl
* *
* Some IRCds allow "SASL" authentication to let users identify to Services * Provides support for authentication to services via IRCv3 SASL. This is a standardised
* during the IRCd user registration process. If this module is loaded, Services will allow * alternative to ns_identify that is supported by several IRCds.
* authenticating users through this mechanism. Supported mechanisms are: *
* PLAIN, EXTERNAL. * You will need to configure your IRCd to use SASL. See the following links for details:
*
* InspIRCd: https://docs.inspircd.org/4/modules/sasl/
* UnrealIRCd: https://www.unrealircd.org/docs/SASL#Enabling_SASL_on_the_server
*/ */
module { name = "m_sasl" } module
{
name = "m_sasl"
/*
* The nick of the client which operates as the SASL agent.
*/
#agent = "NickServ"
}
/* /*
* m_ssl_gnutls [EXTRA] * [EXTRA] m_ssl_gnutls
* *
* This module provides SSL services to Anope using GnuTLS, for example to * This module provides SSL services to Anope using GnuTLS, for example to
* connect to the uplink server(s) via SSL. * connect to the uplink server(s) via SSL.
@@ -592,7 +603,7 @@ module { name = "m_sasl" }
} }
/* /*
* m_ssl_openssl [EXTRA] * [EXTRA] m_ssl_openssl
* *
* This module provides SSL services to Anope using OpenSSL, for example to * This module provides SSL services to Anope using OpenSSL, for example to
* connect to the uplink server(s) via SSL. * connect to the uplink server(s) via SSL.
@@ -625,7 +636,7 @@ module { name = "m_sasl" }
} }
/* /*
* m_sql_authentication [EXTRA] * [EXTRA] m_sql_authentication
* *
* This module allows authenticating users against an external SQL database using a custom * This module allows authenticating users against an external SQL database using a custom
* query. * query.
@@ -666,20 +677,20 @@ module { name = "m_sasl" }
* If set, the reason to give the users who try to "/msg NickServ REGISTER". * If set, the reason to give the users who try to "/msg NickServ REGISTER".
* If not set, then registration is not blocked. * If not set, then registration is not blocked.
*/ */
#disable_reason = "To register on this network visit https://some.misconfigured.site/register" #disable_reason = "To register on this network visit https://some.misconfigured.site.example/register"
/* /*
* If set, the reason to give the users who try to "/msg NickServ SET EMAIL". * If set, the reason to give the users who try to "/msg NickServ SET EMAIL".
* If not set, then email changing is not blocked. * If not set, then email changing is not blocked.
*/ */
#disable_email_reason = "To change your email address visit https://some.misconfigured.site" #disable_email_reason = "To change your email address visit https://some.misconfigured.site.example"
} }
/* /*
* m_sql_log [EXTRA] * [EXTRA] m_sql_log
* *
* This module adds an additional target option to log{} blocks * This module adds an additional target option to log{} blocks
* that allows logging Service's logs to SQL. To log to SQL, add * that allows logging Services' logs to SQL. To log to SQL, add
* the SQL service name to log:targets prefixed by sql_log:. For * the SQL service name to log:targets prefixed by sql_log:. For
* example: * example:
* *
@@ -696,7 +707,7 @@ module { name = "m_sasl" }
#module { name = "m_sql_log" } #module { name = "m_sql_log" }
/* /*
* m_sql_oper [EXTRA] * [EXTRA] m_sql_oper
* *
* This module allows granting users services operator privileges and possibly IRC Operator * This module allows granting users services operator privileges and possibly IRC Operator
* privileges based on an external SQL database using a custom query. * privileges based on an external SQL database using a custom query.
@@ -722,7 +733,7 @@ module { name = "m_sasl" }
} }
/* /*
* m_sqlite [EXTRA] * [EXTRA] m_sqlite
* *
* This module allows other modules to use SQLite. * This module allows other modules to use SQLite.
*/ */
@@ -737,7 +748,7 @@ module { name = "m_sasl" }
name = "sqlite/main" name = "sqlite/main"
/* The database name, it will be created if it does not exist. */ /* The database name, it will be created if it does not exist. */
database = "anope.db" database = "anope.sqlite"
} }
} }
@@ -755,13 +766,13 @@ module { name = "m_sasl" }
name = "webcpanel" name = "webcpanel"
/* Web server to use. */ /* Web server to use. */
server = "httpd/main"; server = "httpd/main"
/* Template to use. */ /* Template to use. */
template = "default"; template = "default"
/* Page title. */ /* Page title. */
title = "Anope IRC Services"; title = "Anope IRC Services"
} }
/* /*
+5 -6
View File
@@ -68,7 +68,7 @@ module
/* /*
* Force users to give an e-mail address when they register a nick. * Force users to give an e-mail address when they register a nick.
* *
* This directive defaults to "yes" and is recommended to be enabled. This is required if e-mail registration is enabled. * This directive defaults to "yes" and is recommended to be enabled.
*/ */
forceemail = yes forceemail = yes
@@ -335,7 +335,7 @@ module { name = "ns_getemail" }
command { service = "NickServ"; name = "GETEMAIL"; command = "nickserv/getemail"; permission = "nickserv/getemail"; group = "nickserv/admin"; } command { service = "NickServ"; name = "GETEMAIL"; command = "nickserv/getemail"; permission = "nickserv/getemail"; group = "nickserv/admin"; }
/* /*
* ns_getpass * [DEPRECATED] ns_getpass
* *
* Provides the command nickserv/getpass. * Provides the command nickserv/getpass.
* *
@@ -393,7 +393,7 @@ module
*/ */
maxlogins = 10 maxlogins = 10
} }
command { service = "NickServ"; name = "ID"; command = "nickserv/identify"; hide = true; } command { service = "NickServ"; name = "ID"; command = "nickserv/identify"; hide = yes; }
command { service = "NickServ"; name = "IDENTIFY"; command = "nickserv/identify"; } command { service = "NickServ"; name = "IDENTIFY"; command = "nickserv/identify"; }
/* /*
@@ -595,11 +595,10 @@ command { service = "NickServ"; name = "SET URL"; command = "nickserv/set/misc";
command { service = "NickServ"; name = "SASET URL"; command = "nickserv/saset/misc"; misc_description = _("Associate a URL with this account"); permission = "nickserv/saset/url"; group = "nickserv/admin"; } command { service = "NickServ"; name = "SASET URL"; command = "nickserv/saset/misc"; misc_description = _("Associate a URL with this account"); permission = "nickserv/saset/url"; group = "nickserv/admin"; }
#command { service = "NickServ"; name = "SET DISCORD"; command = "nickserv/set/misc"; misc_description = _("Associate a Discord account with your account"); } #command { service = "NickServ"; name = "SET DISCORD"; command = "nickserv/set/misc"; misc_description = _("Associate a Discord account with your account"); }
#command { service = "NickServ"; name = "SASET DISCORD"; command = "nickserv/saset/misc"; misc_description = _("Associate a Discord account with this account"); permission = "nickserv/saset/discord"; group = "nickserv/admin"; } #command { service = "NickServ"; name = "SASET DISCORD"; command = "nickserv/saset/misc"; misc_description = _("Associate a Discord account with this account"); permission = "nickserv/saset/discord"; group = "nickserv/admin"; }
#command { service = "NickServ"; name = "SET FACEBOOK"; command = "nickserv/set/misc"; misc_description = _("Associate a Facebook URL with your account"); }
#command { service = "NickServ"; name = "SASET FACEBOOK"; command = "nickserv/saset/misc"; misc_description = _("Associate a Facebook URL with this account"); permission = "nickserv/saset/facebook"; group = "nickserv/admin"; }
#command { service = "NickServ"; name = "SET MASTODON"; command = "nickserv/set/misc"; misc_description = _("Associate a Mastodon account with your account"); } #command { service = "NickServ"; name = "SET MASTODON"; command = "nickserv/set/misc"; misc_description = _("Associate a Mastodon account with your account"); }
#command { service = "NickServ"; name = "SASET MASTODON"; command = "nickserv/saset/misc"; misc_description = _("Associate a Mastodon account with this account"); permission = "nickserv/saset/mastodon"; group = "nickserv/admin"; } #command { service = "NickServ"; name = "SASET MASTODON"; command = "nickserv/saset/misc"; misc_description = _("Associate a Mastodon account with this account"); permission = "nickserv/saset/mastodon"; group = "nickserv/admin"; }
#command { service = "NickServ"; name = "SET TIMEZONE"; command = "nickserv/set/misc"; misc_description = _("Associate a time zone with your account"); }
#command { service = "NickServ"; name = "SASET TIMEZONE"; command = "nickserv/saset/misc"; misc_description = _("Associate a time zone with this account"); permission = "nickserv/saset/timezone"; group = "nickserv/admin"; }
/* /*
* ns_status * ns_status
+7 -7
View File
@@ -100,7 +100,7 @@ module
killonsqline = yes killonsqline = yes
/* /*
* Adds the nickname of the IRC Operator issuing an AKILL to the kill reason. * Adds the nickname of the Services Operator issuing an AKILL to the kill reason.
* *
* This directive is optional. * This directive is optional.
*/ */
@@ -184,8 +184,8 @@ command { service = "OperServ"; name = "CHANKILL"; command = "operserv/chankill"
* - forcechanmodes: Forces all channels to have the modes given in the later chanmodes directive * - forcechanmodes: Forces all channels to have the modes given in the later chanmodes directive
* - reducedsessions: Reduces the session limit to the value given in the later sessionlimit directive * - reducedsessions: Reduces the session limit to the value given in the later sessionlimit directive
* - nonewclients: KILL any new clients trying to connect * - nonewclients: KILL any new clients trying to connect
* - operonly: Services will ignore all non-IRCops * - operonly: Ignore all non-IRCops
* - silentoperonly: Services will silently ignore all non-IRCops * - silentoperonly: Silently ignore all non-IRCops
* - akillnewclients: AKILL any new clients trying to connect * - akillnewclients: AKILL any new clients trying to connect
* - nonewmemos: No new memos will be sent to block MemoServ attacks * - nonewmemos: No new memos will be sent to block MemoServ attacks
*/ */
@@ -276,15 +276,15 @@ command { service = "OperServ"; name = "CHANKILL"; command = "operserv/chankill"
* To use this module you must set a nameserver record for services * To use this module you must set a nameserver record for services
* so that DNS queries go to services. * so that DNS queries go to services.
* *
* Alternatively, you may use a slave DNS server to hide service's IP, * Alternatively, you may use a secondary DNS server to hide services' IP,
* provide query caching, and provide better fault tolerance. * provide query caching, and provide better fault tolerance.
* *
* To do this using BIND, configure similar to: * To do this using BIND, configure similar to:
* *
* options { max-refresh-time 60; }; * options { max-refresh-time 60; };
* zone "irc.example.com" IN { * zone "irc.example.com" IN {
* type slave; * type secondary;
* masters { 127.0.0.1 port 5353; }; * primaries { 127.0.0.1 port 5353; };
* }; * };
* *
* Where 127.0.0.1:5353 is the IP and port services are listening on. * Where 127.0.0.1:5353 is the IP and port services are listening on.
@@ -507,7 +507,7 @@ module { name = "os_noop" }
command { service = "OperServ"; name = "NOOP"; command = "operserv/noop"; permission = "operserv/noop"; } command { service = "OperServ"; name = "NOOP"; command = "operserv/noop"; permission = "operserv/noop"; }
/* /*
* os_oline * [DEPRECATED] os_oline
* *
* Provides the command operserv/oline. * Provides the command operserv/oline.
* *
+16 -17
View File
@@ -65,10 +65,6 @@
* will typically be disabled. If this is not the case, more * will typically be disabled. If this is not the case, more
* information will be given in the documentation. * information will be given in the documentation.
* *
* [DISCOURAGED]
* Indicates a directive which may cause undesirable side effects if
* specified.
*
* [DEPRECATED] * [DEPRECATED]
* Indicates a directive which will disappear in a future version of * Indicates a directive which will disappear in a future version of
* Services, usually because its functionality has been either * Services, usually because its functionality has been either
@@ -84,12 +80,12 @@
*/ */
/* /*
* The stats.host define is used in multiple different locations throughout the * The services.host define is used in multiple different locations throughout the
* configuration for the stats client hostname. * configuration for the server name and pseudoclient hostnames.
*/ */
define define
{ {
name = "stats.host" name = "services.host"
value = "stats.example.com" value = "stats.example.com"
} }
@@ -127,13 +123,16 @@ define
* and serverinfo configuration would look like: * and serverinfo configuration would look like:
* *
* # This goes in inspircd.conf, *NOT* your Anope config! * # This goes in inspircd.conf, *NOT* your Anope config!
* <module name="hidechans">
* <module name="services_account">
* <module name="spanningtree">
* <bind address="127.0.0.1" port="7000" type="servers">
* <link name="stats.example.com" * <link name="stats.example.com"
* ipaddr="127.0.0.1" * ipaddr="127.0.0.1"
* port="7000" * port="7000"
* sendpass="mypassword" * sendpass="mypassword"
* recvpass="mypassword"> * recvpass="mypassword">
* <uline server="stats.example.com" silent="yes"> * <uline server="stats.example.com" silent="yes">
* <bind address="127.0.0.1" port="7000" type="servers">
* *
* An example configuration for UnrealIRCd that is compatible with the below uplink * An example configuration for UnrealIRCd that is compatible with the below uplink
* and serverinfo configuration would look like: * and serverinfo configuration would look like:
@@ -251,16 +250,16 @@ serverinfo
* You MUST modify this to match the IRCd you run. * You MUST modify this to match the IRCd you run.
* *
* Supported: * Supported:
* - bahamut * - [DEPRECATED] bahamut
* - charybdis * - charybdis
* - hybrid * - hybrid
* - inspircd12 * - [DEPRECATED] inspircd12
* - inspircd20 * - [DEPRECATED] inspircd20
* - inspircd3 (for 3.x and 4.x) * - inspircd3 (for 3.x and 4.x)
* - ngircd * - ngircd
* - plexus * - plexus
* - ratbox * - ratbox
* - unreal (for 3.2.x) * - [DEPRECATED] unreal (for 3.2.x)
* - unreal4 (for 4.x or later) * - unreal4 (for 4.x or later)
*/ */
module module
@@ -318,7 +317,7 @@ networkinfo
* *
* It is recommended you DON'T change this. * It is recommended you DON'T change this.
*/ */
vhost_chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789.-" vhost_chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789.-/"
/* /*
* If set to true, allows vHosts to not contain dots (.). * If set to true, allows vHosts to not contain dots (.).
@@ -327,7 +326,7 @@ networkinfo
* *
* It is recommended you DON'T change this. * It is recommended you DON'T change this.
*/ */
allow_undotted_vhosts = false allow_undotted_vhosts = no
/* /*
* The characters that are not allowed to be at the very beginning or very ending * The characters that are not allowed to be at the very beginning or very ending
@@ -335,7 +334,7 @@ networkinfo
* *
* It is recommended you DON'T change this. * It is recommended you DON'T change this.
*/ */
disallow_start_or_end = ".-" disallow_start_or_end = ".-/"
} }
/* /*
@@ -426,8 +425,8 @@ log
#source = "" #source = ""
/* /*
* The bot used to log generic messages which have no predefined sender if there * The bot used to log generic messages which have no predefined sender if the
* is a channel in the target directive. * target directive is set to a channel or globops.
*/ */
bot = "Global" bot = "Global"
+25
View File
@@ -1,3 +1,28 @@
Anope Version 2.0.21-git
------------------------
No significant changes.
Anope Version 2.0.20
--------------------
Fixed an escaped value that wasn't escaped enough in chanstats.
Fixed not having a handler for the FNAME message on InspIRCd.
Fixed os_stats reporting the SGLine expiry time as the SQLine expiry time.
Fixed the DNs and search filters not being escaped correctly in the ldap_authentication and ldap_oper modules.
Modernised the advice in docs/LANGUAGE regarding the installation of language packs.
Anope Version 2.0.19
--------------------
Added a Doxygen config file.
Backported various minor config changes from 2.1.
Fixed chanserv/enforce enforcing against founders.
Fixed creating channel entries in irc2sql.
Fixed not respecting the mode state when removing a mode lock.
Fixed reading the settings in m_dns.
Fixed resetpass confirming accounts when not using email confirmation.
Fixed trying to write to a buffered socket when there's no data.
Fixed various minor spelling issues.
Updated some messages for the language used by modern BIND versions.
Anope Version 2.0.18 Anope Version 2.0.18
-------------------- --------------------
Backported better sendmail error messages from 2.1. Backported better sendmail error messages from 2.1.
+12
View File
@@ -1,3 +1,15 @@
Anope Version 2.0.21-git
------------------------
No significant changes.
Anope Version 2.0.20
--------------------
No significant changes.
Anope Version 2.0.19
--------------------
No significant changes.
Anope Version 2.0.18 Anope Version 2.0.18
-------------------- --------------------
No significant changes. No significant changes.
+313
View File
@@ -0,0 +1,313 @@
DOXYFILE_ENCODING = UTF-8
PROJECT_NAME = "Anope"
PROJECT_NUMBER = 2.0
PROJECT_BRIEF =
PROJECT_LOGO =
PROJECT_ICON = src/win32/anope-icon.ico
OUTPUT_DIRECTORY = docs/doxygen
CREATE_SUBDIRS = NO
CREATE_SUBDIRS_LEVEL = 8
ALLOW_UNICODE_NAMES = NO
OUTPUT_LANGUAGE = English
BRIEF_MEMBER_DESC = YES
REPEAT_BRIEF = YES
ABBREVIATE_BRIEF = "The $name class" \
"The $name widget" \
"The $name file" \
is \
provides \
specifies \
contains \
represents \
a \
an \
the
ALWAYS_DETAILED_SEC = NO
INLINE_INHERITED_MEMB = NO
FULL_PATH_NAMES = YES
STRIP_FROM_PATH =
STRIP_FROM_INC_PATH =
SHORT_NAMES = NO
JAVADOC_AUTOBRIEF = NO
JAVADOC_BANNER = NO
QT_AUTOBRIEF = NO
MULTILINE_CPP_IS_BRIEF = NO
PYTHON_DOCSTRING = YES
INHERIT_DOCS = YES
SEPARATE_MEMBER_PAGES = NO
TAB_SIZE = 4
ALIASES =
OPTIMIZE_OUTPUT_FOR_C = NO
OPTIMIZE_OUTPUT_JAVA = NO
OPTIMIZE_FOR_FORTRAN = NO
OPTIMIZE_OUTPUT_VHDL = NO
OPTIMIZE_OUTPUT_SLICE = NO
EXTENSION_MAPPING =
MARKDOWN_SUPPORT = YES
TOC_INCLUDE_HEADINGS = 5
MARKDOWN_ID_STYLE = GITHUB
AUTOLINK_SUPPORT = YES
AUTOLINK_IGNORE_WORDS =
BUILTIN_STL_SUPPORT = YES
CPP_CLI_SUPPORT = NO
SIP_SUPPORT = NO
IDL_PROPERTY_SUPPORT = YES
DISTRIBUTE_GROUP_DOC = NO
GROUP_NESTED_COMPOUNDS = NO
SUBGROUPING = YES
INLINE_GROUPED_CLASSES = NO
INLINE_SIMPLE_STRUCTS = NO
TYPEDEF_HIDES_STRUCT = NO
LOOKUP_CACHE_SIZE = 0
NUM_PROC_THREADS = 0
TIMESTAMP = NO
EXTRACT_ALL = YES
EXTRACT_PRIVATE = NO
EXTRACT_PRIV_VIRTUAL = NO
EXTRACT_PACKAGE = NO
EXTRACT_STATIC = NO
EXTRACT_LOCAL_CLASSES = NO
EXTRACT_LOCAL_METHODS = NO
EXTRACT_ANON_NSPACES = NO
RESOLVE_UNNAMED_PARAMS = YES
HIDE_UNDOC_MEMBERS = NO
HIDE_UNDOC_CLASSES = NO
HIDE_UNDOC_NAMESPACES = YES
HIDE_FRIEND_COMPOUNDS = NO
HIDE_IN_BODY_DOCS = NO
INTERNAL_DOCS = NO
CASE_SENSE_NAMES = SYSTEM
HIDE_SCOPE_NAMES = NO
HIDE_COMPOUND_REFERENCE= NO
SHOW_HEADERFILE = YES
SHOW_INCLUDE_FILES = YES
SHOW_GROUPED_MEMB_INC = NO
FORCE_LOCAL_INCLUDES = NO
INLINE_INFO = YES
SORT_MEMBER_DOCS = YES
SORT_BRIEF_DOCS = NO
SORT_MEMBERS_CTORS_1ST = NO
SORT_GROUP_NAMES = NO
SORT_BY_SCOPE_NAME = NO
STRICT_PROTO_MATCHING = NO
GENERATE_TODOLIST = YES
GENERATE_TESTLIST = YES
GENERATE_BUGLIST = YES
GENERATE_DEPRECATEDLIST= YES
ENABLED_SECTIONS =
MAX_INITIALIZER_LINES = 30
SHOW_USED_FILES = YES
SHOW_FILES = YES
SHOW_NAMESPACES = YES
FILE_VERSION_FILTER =
LAYOUT_FILE =
CITE_BIB_FILES =
EXTERNAL_TOOL_PATH =
QUIET = NO
WARNINGS = YES
WARN_IF_UNDOCUMENTED = NO
WARN_IF_DOC_ERROR = YES
WARN_IF_INCOMPLETE_DOC = YES
WARN_NO_PARAMDOC = NO
WARN_IF_UNDOC_ENUM_VAL = NO
WARN_LAYOUT_FILE = YES
WARN_AS_ERROR = NO
WARN_FORMAT = "$file:$line: $text"
WARN_LINE_FORMAT = "at line $line of file $file"
WARN_LOGFILE =
INPUT = README.md \
include
INPUT_ENCODING = UTF-8
INPUT_FILE_ENCODING =
FILE_PATTERNS =
RECURSIVE = YES
EXCLUDE =
EXCLUDE_SYMLINKS = YES
EXCLUDE_PATTERNS =
EXCLUDE_SYMBOLS =
EXAMPLE_PATH =
EXAMPLE_PATTERNS =
EXAMPLE_RECURSIVE = NO
IMAGE_PATH =
INPUT_FILTER =
FILTER_PATTERNS =
FILTER_SOURCE_FILES = NO
FILTER_SOURCE_PATTERNS =
USE_MDFILE_AS_MAINPAGE = README.md
IMPLICIT_DIR_DOCS = YES
FORTRAN_COMMENT_AFTER = 72
SOURCE_BROWSER = NO
INLINE_SOURCES = NO
STRIP_CODE_COMMENTS = YES
REFERENCED_BY_RELATION = NO
REFERENCES_RELATION = NO
REFERENCES_LINK_SOURCE = YES
SOURCE_TOOLTIPS = YES
USE_HTAGS = NO
VERBATIM_HEADERS = YES
ALPHABETICAL_INDEX = YES
IGNORE_PREFIX =
GENERATE_HTML = YES
HTML_OUTPUT = html
HTML_FILE_EXTENSION = .html
HTML_HEADER =
HTML_FOOTER =
HTML_STYLESHEET =
HTML_EXTRA_STYLESHEET =
HTML_EXTRA_FILES =
HTML_COLORSTYLE = AUTO_LIGHT
HTML_COLORSTYLE_HUE = 220
HTML_COLORSTYLE_SAT = 100
HTML_COLORSTYLE_GAMMA = 80
HTML_DYNAMIC_MENUS = YES
HTML_DYNAMIC_SECTIONS = NO
HTML_CODE_FOLDING = YES
HTML_COPY_CLIPBOARD = YES
HTML_PROJECT_COOKIE =
HTML_INDEX_NUM_ENTRIES = 100
GENERATE_DOCSET = NO
DOCSET_FEEDNAME = "Doxygen generated documentation"
DOCSET_FEEDURL =
DOCSET_BUNDLE_ID = org.doxygen.Project
DOCSET_PUBLISHER_ID = org.doxygen.Publisher
DOCSET_PUBLISHER_NAME = Publisher
GENERATE_HTMLHELP = NO
CHM_FILE =
HHC_LOCATION =
GENERATE_CHI = NO
CHM_INDEX_ENCODING =
BINARY_TOC = NO
TOC_EXPAND = NO
SITEMAP_URL =
GENERATE_QHP = NO
QCH_FILE =
QHP_NAMESPACE = org.doxygen.Project
QHP_VIRTUAL_FOLDER = doc
QHP_CUST_FILTER_NAME =
QHP_CUST_FILTER_ATTRS =
QHP_SECT_FILTER_ATTRS =
QHG_LOCATION =
GENERATE_ECLIPSEHELP = NO
ECLIPSE_DOC_ID = org.doxygen.Project
DISABLE_INDEX = NO
GENERATE_TREEVIEW = NO
FULL_SIDEBAR = NO
ENUM_VALUES_PER_LINE = 4
SHOW_ENUM_VALUES = NO
TREEVIEW_WIDTH = 250
EXT_LINKS_IN_WINDOW = NO
OBFUSCATE_EMAILS = YES
HTML_FORMULA_FORMAT = png
FORMULA_FONTSIZE = 10
FORMULA_MACROFILE =
USE_MATHJAX = NO
MATHJAX_VERSION = MathJax_2
MATHJAX_FORMAT = HTML-CSS
MATHJAX_RELPATH = http://cdn.mathjax.org/mathjax/latest
MATHJAX_EXTENSIONS =
MATHJAX_CODEFILE =
SEARCHENGINE = YES
SERVER_BASED_SEARCH = NO
EXTERNAL_SEARCH = NO
SEARCHENGINE_URL =
SEARCHDATA_FILE = searchdata.xml
EXTERNAL_SEARCH_ID =
EXTRA_SEARCH_MAPPINGS =
GENERATE_LATEX = NO
LATEX_OUTPUT = latex
LATEX_CMD_NAME =
MAKEINDEX_CMD_NAME = makeindex
LATEX_MAKEINDEX_CMD = makeindex
COMPACT_LATEX = NO
PAPER_TYPE = a4
EXTRA_PACKAGES =
LATEX_HEADER =
LATEX_FOOTER =
LATEX_EXTRA_STYLESHEET =
LATEX_EXTRA_FILES =
PDF_HYPERLINKS = YES
USE_PDFLATEX = YES
LATEX_BATCHMODE = NO
LATEX_HIDE_INDICES = NO
LATEX_BIB_STYLE = plainnat
LATEX_EMOJI_DIRECTORY =
GENERATE_RTF = NO
RTF_OUTPUT = rtf
COMPACT_RTF = NO
RTF_HYPERLINKS = NO
RTF_STYLESHEET_FILE =
RTF_EXTENSIONS_FILE =
RTF_EXTRA_FILES =
GENERATE_MAN = NO
MAN_OUTPUT = man
MAN_EXTENSION = .3
MAN_SUBDIR =
MAN_LINKS = NO
GENERATE_XML = NO
XML_OUTPUT = xml
XML_PROGRAMLISTING = YES
XML_NS_MEMB_FILE_SCOPE = NO
GENERATE_DOCBOOK = NO
DOCBOOK_OUTPUT = docbook
GENERATE_AUTOGEN_DEF = NO
GENERATE_SQLITE3 = NO
SQLITE3_OUTPUT = sqlite3
SQLITE3_RECREATE_DB = YES
GENERATE_PERLMOD = NO
PERLMOD_LATEX = NO
PERLMOD_PRETTY = YES
PERLMOD_MAKEVAR_PREFIX =
ENABLE_PREPROCESSING = YES
MACRO_EXPANSION = YES
EXPAND_ONLY_PREDEF = NO
SEARCH_INCLUDES = YES
INCLUDE_PATH =
INCLUDE_FILE_PATTERNS =
PREDEFINED = CoreExport=/**/ \
ATTR_NOT_NULL(...)=/**/
EXPAND_AS_DEFINED =
SKIP_FUNCTION_MACROS = YES
TAGFILES =
GENERATE_TAGFILE =
ALLEXTERNALS = NO
EXTERNAL_GROUPS = YES
EXTERNAL_PAGES = YES
HIDE_UNDOC_RELATIONS = YES
HAVE_DOT = NO
DOT_NUM_THREADS = 0
DOT_COMMON_ATTR = "fontname=Helvetica,fontsize=10"
DOT_EDGE_ATTR = "labelfontname=Helvetica,labelfontsize=10"
DOT_NODE_ATTR = "shape=box,height=0.2,width=0.4"
DOT_FONTPATH =
CLASS_GRAPH = YES
COLLABORATION_GRAPH = YES
GROUP_GRAPHS = YES
UML_LOOK = NO
UML_LIMIT_NUM_FIELDS = 10
DOT_UML_DETAILS = NO
DOT_WRAP_THRESHOLD = 17
TEMPLATE_RELATIONS = NO
INCLUDE_GRAPH = YES
INCLUDED_BY_GRAPH = YES
CALL_GRAPH = NO
CALLER_GRAPH = NO
GRAPHICAL_HIERARCHY = YES
DIRECTORY_GRAPH = YES
DIR_GRAPH_MAX_DEPTH = 1
DOT_IMAGE_FORMAT = png
INTERACTIVE_SVG = NO
DOT_PATH =
DOTFILE_DIRS =
DIA_PATH =
DIAFILE_DIRS =
PLANTUML_JAR_PATH =
PLANTUML_CFG_FILE =
PLANTUML_INCLUDE_PATH =
PLANTUMLFILE_DIRS =
DOT_GRAPH_MAX_NODES = 50
MAX_DOT_GRAPH_DEPTH = 0
DOT_MULTI_TARGETS = NO
GENERATE_LEGEND = YES
DOT_CLEANUP = YES
MSCGEN_TOOL =
MSCFILE_DIRS =
+3 -9
View File
@@ -10,14 +10,9 @@ Anope Multi Language Support
To build Anope with gettext support, gettext and its development libraries must be installed on the system. To build Anope with gettext support, gettext and its development libraries must be installed on the system.
On Debian install the locales-all package. On Debian-based systems install the locales-all package.
On Ubuntu run locale-gen for each language you want to enable. On RHEL-based systems run `yum list glibc-langpack-*` and install the languages you want to enable.
For example:
locale-gen es_ES.UTF-8
Then execute:
dpkg-reconfigure locales
If you have already built Anope you will need to delete the build directory and rebuild from scratch. If you have already built Anope you will need to delete the build directory and rebuild from scratch.
@@ -34,8 +29,7 @@ Anope Multi Language Support
Poedit (https://poedit.net/) is a popular po file editor, and we recommend using it or another editor designed to edit Poedit (https://poedit.net/) is a popular po file editor, and we recommend using it or another editor designed to edit
po files (especially on Windows). po files (especially on Windows).
If you have finished a language file translation and you want others to use it, please file a pull request on GitHub If you have finished a language file translation and you want others to use it, please file a pull request on GitHub.
or send it to team@anope.org (don't forget to mention clearly your (nick)name, your email and the language name).
You'll of course get full credit for it. You'll of course get full credit for it.
3) Using languages with modules 3) Using languages with modules
+1 -1
View File
@@ -1,6 +1,6 @@
/* /*
* *
* (C) 2003-2025 Anope Team * (C) 2003-2026 Anope Team
* Contact us at team@anope.org * Contact us at team@anope.org
* *
* Please read COPYING and README for further details. * Please read COPYING and README for further details.
+1 -1
View File
@@ -1,6 +1,6 @@
/* /*
* *
* (C) 2003-2025 Anope Team * (C) 2003-2026 Anope Team
* Contact us at team@anope.org * Contact us at team@anope.org
* *
* Please read COPYING and README for further details. * Please read COPYING and README for further details.
+1 -1
View File
@@ -1,6 +1,6 @@
/* /*
* *
* (C) 2003-2025 Anope Team * (C) 2003-2026 Anope Team
* Contact us at team@anope.org * Contact us at team@anope.org
* *
* Please read COPYING and README for further details. * Please read COPYING and README for further details.
+1 -1
View File
@@ -1,7 +1,7 @@
/* /*
* *
* (C) 2008-2011 Adam <Adam@anope.org> * (C) 2008-2011 Adam <Adam@anope.org>
* (C) 2008-2025 Anope Team <team@anope.org> * (C) 2008-2026 Anope Team <team@anope.org>
* *
* Please read COPYING and README for further details. * Please read COPYING and README for further details.
*/ */
+1 -1
View File
@@ -1,7 +1,7 @@
/* /*
* *
* (C) 2008-2011 Robin Burchell <w00t@inspircd.org> * (C) 2008-2011 Robin Burchell <w00t@inspircd.org>
* (C) 2008-2025 Anope Team <team@anope.org> * (C) 2008-2026 Anope Team <team@anope.org>
* *
* Please read COPYING and README for further details. * Please read COPYING and README for further details.
*/ */
+1 -1
View File
@@ -1,6 +1,6 @@
/* Channel support /* Channel support
* *
* (C) 2008-2025 Anope Team * (C) 2008-2026 Anope Team
* Contact us at team@anope.org * Contact us at team@anope.org
* *
* Please read COPYING and README for further details. * Please read COPYING and README for further details.
+1 -1
View File
@@ -1,6 +1,6 @@
/* Declarations for command data. /* Declarations for command data.
* *
* (C) 2003-2025 Anope Team * (C) 2003-2026 Anope Team
* Contact us at team@anope.org * Contact us at team@anope.org
* *
* Please read COPYING and README for further details. * Please read COPYING and README for further details.
+1 -1
View File
@@ -1,6 +1,6 @@
/* /*
* *
* (C) 2003-2025 Anope Team * (C) 2003-2026 Anope Team
* Contact us at team@anope.org * Contact us at team@anope.org
* *
* Please read COPYING and README for further details. * Please read COPYING and README for further details.
+1 -1
View File
@@ -1,6 +1,6 @@
/* /*
* *
* (C) 2003-2025 Anope Team * (C) 2003-2026 Anope Team
* Contact us at team@anope.org * Contact us at team@anope.org
* *
* Please read COPYING and README for further details. * Please read COPYING and README for further details.
+1 -1
View File
@@ -1,6 +1,6 @@
/* /*
* *
* (C) 2003-2025 Anope Team * (C) 2003-2026 Anope Team
* Contact us at team@anope.org * Contact us at team@anope.org
* *
* Please read COPYING and README for further details. * Please read COPYING and README for further details.
+1 -1
View File
@@ -1,7 +1,7 @@
/* /*
* *
* (C) 2002-2011 InspIRCd Development Team * (C) 2002-2011 InspIRCd Development Team
* (C) 2009-2025 Anope Team <team@anope.org> * (C) 2009-2026 Anope Team <team@anope.org>
* *
* Please read COPYING and README for further details. * Please read COPYING and README for further details.
*/ */
+1 -1
View File
@@ -1,6 +1,6 @@
/* /*
* *
* (C) 2008-2025 Anope Team * (C) 2008-2026 Anope Team
* Contact us at team@anope.org * Contact us at team@anope.org
* *
* Please read COPYING and README for further details. * Please read COPYING and README for further details.
+1 -1
View File
@@ -1,6 +1,6 @@
/* /*
* *
* (C) 2003-2025 Anope Team * (C) 2003-2026 Anope Team
* Contact us at team@anope.org * Contact us at team@anope.org
* *
* Please read COPYING and README for further details. * Please read COPYING and README for further details.
+1 -1
View File
@@ -1,6 +1,6 @@
/* /*
* *
* (C) 2003-2025 Anope Team * (C) 2003-2026 Anope Team
* Contact us at team@anope.org * Contact us at team@anope.org
* *
* Please read COPYING and README for further details. * Please read COPYING and README for further details.
+1 -1
View File
@@ -1,6 +1,6 @@
/* /*
* *
* (C) 2003-2025 Anope Team * (C) 2003-2026 Anope Team
* Contact us at team@anope.org * Contact us at team@anope.org
* *
* Please read COPYING and README for further details. * Please read COPYING and README for further details.
+1 -1
View File
@@ -1,6 +1,6 @@
/* /*
* *
* (C) 2003-2025 Anope Team * (C) 2003-2026 Anope Team
* Contact us at team@anope.org * Contact us at team@anope.org
* *
* Please read COPYING and README for further details. * Please read COPYING and README for further details.
+1 -1
View File
@@ -1,6 +1,6 @@
/* /*
* *
* (C) 2003-2025 Anope Team * (C) 2003-2026 Anope Team
* Contact us at team@anope.org * Contact us at team@anope.org
* *
* Please read COPYING and README for further details. * Please read COPYING and README for further details.
+1 -1
View File
@@ -1,7 +1,7 @@
/* Mode support /* Mode support
* *
* (C) 2008-2011 Adam <Adam@anope.org> * (C) 2008-2011 Adam <Adam@anope.org>
* (C) 2008-2025 Anope Team <team@anope.org> * (C) 2008-2026 Anope Team <team@anope.org>
* *
* Please read COPYING and README for further details. * Please read COPYING and README for further details.
*/ */
+1 -1
View File
@@ -1,6 +1,6 @@
/* /*
* *
* (C) 2003-2025 Anope Team * (C) 2003-2026 Anope Team
* Contact us at team@anope.org * Contact us at team@anope.org
* *
* Please read COPYING and README for further details. * Please read COPYING and README for further details.
+1 -1
View File
@@ -1,6 +1,6 @@
/* Modular support /* Modular support
* *
* (C) 2003-2025 Anope Team * (C) 2003-2026 Anope Team
* Contact us at team@anope.org * Contact us at team@anope.org
* *
* Please read COPYING and README for further details. * Please read COPYING and README for further details.
+1 -1
View File
@@ -1,6 +1,6 @@
/* BotServ core functions /* BotServ core functions
* *
* (C) 2003-2025 Anope Team * (C) 2003-2026 Anope Team
* Contact us at team@anope.org * Contact us at team@anope.org
* *
* Please read COPYING and README for further details. * Please read COPYING and README for further details.
+1 -1
View File
@@ -1,6 +1,6 @@
/* BotServ core functions /* BotServ core functions
* *
* (C) 2003-2025 Anope Team * (C) 2003-2026 Anope Team
* Contact us at team@anope.org * Contact us at team@anope.org
* *
* Please read COPYING and README for further details. * Please read COPYING and README for further details.
+1 -1
View File
@@ -1,6 +1,6 @@
/* /*
* *
* (C) 2003-2025 Anope Team * (C) 2003-2026 Anope Team
* Contact us at team@anope.org * Contact us at team@anope.org
* *
* Please read COPYING and README for further details. * Please read COPYING and README for further details.
+1 -1
View File
@@ -1,6 +1,6 @@
/* ChanServ core functions /* ChanServ core functions
* *
* (C) 2003-2025 Anope Team * (C) 2003-2026 Anope Team
* Contact us at team@anope.org * Contact us at team@anope.org
* *
* Please read COPYING and README for further details. * Please read COPYING and README for further details.
+1 -1
View File
@@ -1,6 +1,6 @@
/* ChanServ core functions /* ChanServ core functions
* *
* (C) 2003-2025 Anope Team * (C) 2003-2026 Anope Team
* Contact us at team@anope.org * Contact us at team@anope.org
* *
* Please read COPYING and README for further details. * Please read COPYING and README for further details.
+1 -1
View File
@@ -1,6 +1,6 @@
/* /*
* *
* (C) 2003-2025 Anope Team * (C) 2003-2026 Anope Team
* Contact us at team@anope.org * Contact us at team@anope.org
* *
* Please read COPYING and README for further details. * Please read COPYING and README for further details.
+1 -1
View File
@@ -1,6 +1,6 @@
/* /*
* *
* (C) 2003-2025 Anope Team * (C) 2003-2026 Anope Team
* Contact us at team@anope.org * Contact us at team@anope.org
* *
* Please read COPYING and README for further details. * Please read COPYING and README for further details.
+1 -1
View File
@@ -1,6 +1,6 @@
/* /*
* *
* (C) 2012-2025 Anope Team * (C) 2012-2026 Anope Team
* Contact us at team@anope.org * Contact us at team@anope.org
* *
* Please read COPYING and README for further details. * Please read COPYING and README for further details.
+11 -1
View File
@@ -1,6 +1,6 @@
/* /*
* *
* (C) 2011-2025 Anope Team * (C) 2011-2026 Anope Team
* Contact us at team@anope.org * Contact us at team@anope.org
* *
* Please read COPYING and README for further details. * Please read COPYING and README for further details.
@@ -166,6 +166,16 @@ class LDAPProvider : public Service
* @param attributes The attributes to modify * @param attributes The attributes to modify
*/ */
virtual void Modify(LDAPInterface *i, const Anope::string &base, LDAPMods &attributes) = 0; virtual void Modify(LDAPInterface *i, const Anope::string &base, LDAPMods &attributes) = 0;
/** Escapes a LDAP string for use in a DN.
* @param str The string to escape.
*/
virtual Anope::string EscapeDN(const Anope::string &str) const = 0;
/** Escapes a LDAP string for use in a search filter.
* @param str The string to escape.
*/
virtual Anope::string EscapeSF(const Anope::string &str) const = 0;
}; };
#endif // ANOPE_LDAP_H #endif // ANOPE_LDAP_H
+1 -1
View File
@@ -1,6 +1,6 @@
/* NickServ core functions /* NickServ core functions
* *
* (C) 2003-2025 Anope Team * (C) 2003-2026 Anope Team
* Contact us at team@anope.org * Contact us at team@anope.org
* *
* Please read COPYING and README for further details. * Please read COPYING and README for further details.
+1 -1
View File
@@ -1,6 +1,6 @@
/* /*
* *
* (C) 2011-2025 Anope Team * (C) 2011-2026 Anope Team
* Contact us at team@anope.org * Contact us at team@anope.org
* *
* Please read COPYING and README for further details. * Please read COPYING and README for further details.
+1 -1
View File
@@ -1,6 +1,6 @@
/* OperServ ignore interface /* OperServ ignore interface
* *
* (C) 2003-2025 Anope Team * (C) 2003-2026 Anope Team
* Contact us at team@anope.org * Contact us at team@anope.org
* *
* Please read COPYING and README for further details. * Please read COPYING and README for further details.
+1 -1
View File
@@ -1,6 +1,6 @@
/* /*
* *
* (C) 2011-2025 Anope Team * (C) 2011-2026 Anope Team
* Contact us at team@anope.org * Contact us at team@anope.org
* *
* Please read COPYING and README for further details. * Please read COPYING and README for further details.
+1 -1
View File
@@ -1,6 +1,6 @@
/* /*
* *
* (C) 2011-2025 Anope Team * (C) 2011-2026 Anope Team
* Contact us at team@anope.org * Contact us at team@anope.org
* *
* Please read COPYING and README for further details. * Please read COPYING and README for further details.
+1 -1
View File
@@ -1,6 +1,6 @@
/* /*
* *
* (C) 2011-2025 Anope Team * (C) 2011-2026 Anope Team
* Contact us at team@anope.org * Contact us at team@anope.org
* *
* Please read COPYING and README for further details. * Please read COPYING and README for further details.
+1 -1
View File
@@ -1,6 +1,6 @@
/* /*
* *
* (C) 2011-2025 Anope Team * (C) 2011-2026 Anope Team
* Contact us at team@anope.org * Contact us at team@anope.org
* *
* Please read COPYING and README for further details. * Please read COPYING and README for further details.
+1 -1
View File
@@ -1,6 +1,6 @@
/* /*
* *
* (C) 2011-2025 Anope Team * (C) 2011-2026 Anope Team
* Contact us at team@anope.org * Contact us at team@anope.org
* *
* Please read COPYING and README for further details. * Please read COPYING and README for further details.
+1 -1
View File
@@ -1,6 +1,6 @@
/* /*
* *
* (C) 2011-2025 Anope Team * (C) 2011-2026 Anope Team
* Contact us at team@anope.org * Contact us at team@anope.org
* *
* Please read COPYING and README for further details. * Please read COPYING and README for further details.
+1 -1
View File
@@ -1,6 +1,6 @@
/* /*
* *
* (C) 2003-2025 Anope Team * (C) 2003-2026 Anope Team
* Contact us at team@anope.org * Contact us at team@anope.org
* *
* Please read COPYING and README for further details. * Please read COPYING and README for further details.
+1 -1
View File
@@ -1,6 +1,6 @@
/* /*
* *
* (C) 2014-2025 Anope Team * (C) 2014-2026 Anope Team
* Contact us at team@anope.org * Contact us at team@anope.org
* *
* Please read COPYING and README for further details. * Please read COPYING and README for further details.
+1 -1
View File
@@ -1,6 +1,6 @@
/* /*
* *
* (C) 2003-2025 Anope Team * (C) 2003-2026 Anope Team
* Contact us at team@anope.org * Contact us at team@anope.org
* *
* Please read COPYING and README for further details. * Please read COPYING and README for further details.
+1 -1
View File
@@ -1,6 +1,6 @@
/* /*
* *
* (C) 2003-2025 Anope Team * (C) 2003-2026 Anope Team
* Contact us at team@anope.org * Contact us at team@anope.org
* *
* Please read COPYING and README for further details. * Please read COPYING and README for further details.
+1 -1
View File
@@ -1,6 +1,6 @@
/* /*
* *
* (C) 2010-2025 Anope Team * (C) 2010-2026 Anope Team
* Contact us at team@anope.org * Contact us at team@anope.org
* *
* Please read COPYING and README for further details. * Please read COPYING and README for further details.
+1 -1
View File
@@ -1,6 +1,6 @@
/* /*
* *
* (C) 2003-2025 Anope Team * (C) 2003-2026 Anope Team
* Contact us at team@anope.org * Contact us at team@anope.org
* *
* Please read COPYING and README for further details. * Please read COPYING and README for further details.
+1 -1
View File
@@ -1,6 +1,6 @@
/* /*
* *
* (C) 2010-2025 Anope Team * (C) 2010-2026 Anope Team
* Contact us at team@anope.org * Contact us at team@anope.org
* *
* Please read COPYING and README for further details. * Please read COPYING and README for further details.
+1 -1
View File
@@ -1,7 +1,7 @@
/* /*
* *
* (C) 2008-2011 Robin Burchell <w00t@inspircd.org> * (C) 2008-2011 Robin Burchell <w00t@inspircd.org>
* (C) 2008-2025 Anope Team <team@anope.org> * (C) 2008-2026 Anope Team <team@anope.org>
* *
* Please read COPYING and README for further details. * Please read COPYING and README for further details.
*/ */
+1 -1
View File
@@ -1,6 +1,6 @@
/* /*
* *
* (C) 2003-2025 Anope Team * (C) 2003-2026 Anope Team
* Contact us at team@anope.org * Contact us at team@anope.org
* *
* Please read COPYING and README for further details. * Please read COPYING and README for further details.
+1 -1
View File
@@ -1,6 +1,6 @@
/* /*
* *
* (C) 2008-2025 Anope Team * (C) 2008-2026 Anope Team
* Contact us at team@anope.org * Contact us at team@anope.org
* *
* Please read COPYING and README for further details. * Please read COPYING and README for further details.
+1 -1
View File
@@ -1,6 +1,6 @@
/* /*
* *
* (C) 2003-2025 Anope Team * (C) 2003-2026 Anope Team
* Contact us at team@anope.org * Contact us at team@anope.org
* *
* Please read COPYING and README for further details. * Please read COPYING and README for further details.
+1 -1
View File
@@ -1,6 +1,6 @@
/* /*
* *
* (C) 2003-2025 Anope Team * (C) 2003-2026 Anope Team
* Contact us at team@anope.org * Contact us at team@anope.org
* *
* Please read COPYING and README for further details. * Please read COPYING and README for further details.
+1 -1
View File
@@ -1,6 +1,6 @@
/* /*
* *
* (C) 2003-2025 Anope Team * (C) 2003-2026 Anope Team
* Contact us at team@anope.org * Contact us at team@anope.org
* *
* Please read COPYING and README for further details. * Please read COPYING and README for further details.
+1 -1
View File
@@ -1,6 +1,6 @@
/* /*
* *
* (C) 2003-2025 Anope Team * (C) 2003-2026 Anope Team
* Contact us at team@anope.org * Contact us at team@anope.org
* *
* Please read COPYING and README for further details. * Please read COPYING and README for further details.
+1 -1
View File
@@ -1,6 +1,6 @@
/* /*
* *
* (C) 2003-2025 Anope Team * (C) 2003-2026 Anope Team
* Contact us at team@anope.org * Contact us at team@anope.org
* *
* Please read COPYING and README for further details. * Please read COPYING and README for further details.
+1 -1
View File
@@ -1,6 +1,6 @@
/* /*
* *
* (C) 2003-2025 Anope Team * (C) 2003-2026 Anope Team
* Contact us at team@anope.org * Contact us at team@anope.org
* *
* Please read COPYING and README for further details. * Please read COPYING and README for further details.
+1 -1
View File
@@ -1,6 +1,6 @@
/* /*
* *
* (C) 2003-2025 Anope Team * (C) 2003-2026 Anope Team
* Contact us at team@anope.org * Contact us at team@anope.org
* *
* Please read COPYING and README for further details. * Please read COPYING and README for further details.
+1 -1
View File
@@ -1,6 +1,6 @@
/* /*
* *
* (C) 2003-2025 Anope Team * (C) 2003-2026 Anope Team
* Contact us at team@anope.org * Contact us at team@anope.org
* *
* Please read COPYING and README for further details. * Please read COPYING and README for further details.
+1 -1
View File
@@ -1,6 +1,6 @@
/* Timer include stuff. /* Timer include stuff.
* *
* (C) 2003-2025 Anope Team * (C) 2003-2026 Anope Team
* Contact us at team@anope.org * Contact us at team@anope.org
* *
* Please read COPYING and README for further details. * Please read COPYING and README for further details.
+1 -1
View File
@@ -1,6 +1,6 @@
/* /*
* *
* (C) 2003-2025 Anope Team * (C) 2003-2026 Anope Team
* Contact us at team@anope.org * Contact us at team@anope.org
* *
* Please read COPYING and README for further details. * Please read COPYING and README for further details.
+1 -1
View File
@@ -1,7 +1,7 @@
/* /*
* *
* (C) 2008-2011 Robin Burchell <w00t@inspircd.org> * (C) 2008-2011 Robin Burchell <w00t@inspircd.org>
* (C) 2003-2025 Anope Team <team@anope.org> * (C) 2003-2026 Anope Team <team@anope.org>
* *
* Please read COPYING and README for further details. * Please read COPYING and README for further details.
* *
+1 -1
View File
@@ -1,6 +1,6 @@
/* Build bumper /* Build bumper
* *
* (C) 2003-2025 Anope Team * (C) 2003-2026 Anope Team
* Contact us at team@anope.org * Contact us at team@anope.org
* *
* Please read COPYING and README for further details. * Please read COPYING and README for further details.
+1 -1
View File
@@ -1,6 +1,6 @@
/* /*
* *
* (C) 2008-2025 Anope Team * (C) 2008-2026 Anope Team
* Contact us at team@anope.org * Contact us at team@anope.org
* *
* Please read COPYING and README for further details. * Please read COPYING and README for further details.
+1 -1
View File
@@ -6901,7 +6901,7 @@ msgid "Service"
msgstr "Servers found: %d" msgstr "Servers found: %d"
#, fuzzy, c-format #, fuzzy, c-format
msgid "Service's hold on %s has been released." msgid "Services' hold on %s has been released."
msgstr "El teu nick ha estat alliberat pels serveis." msgstr "El teu nick ha estat alliberat pels serveis."
#, fuzzy #, fuzzy
+1 -1
View File
@@ -6607,7 +6607,7 @@ msgid "Service"
msgstr "Server gefunden: %d" msgstr "Server gefunden: %d"
#, fuzzy, c-format #, fuzzy, c-format
msgid "Service's hold on %s has been released." msgid "Services' hold on %s has been released."
msgstr "Die Services haben den Nicknamen wieder verfügbar gemacht." msgstr "Die Services haben den Nicknamen wieder verfügbar gemacht."
#, fuzzy #, fuzzy
+1 -1
View File
@@ -6832,7 +6832,7 @@ msgid "Service"
msgstr "Τα services είναι ενεργά για %s" msgstr "Τα services είναι ενεργά για %s"
#, fuzzy, c-format #, fuzzy, c-format
msgid "Service's hold on %s has been released." msgid "Services' hold on %s has been released."
msgstr "Οι υπηρεσίες απελευθέρωααν το ψευδώνυμό σου." msgstr "Οι υπηρεσίες απελευθέρωααν το ψευδώνυμό σου."
#, fuzzy #, fuzzy
+3 -3
View File
@@ -9,7 +9,7 @@ msgstr ""
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-12-17 19:24+0000\n" "POT-Creation-Date: 2023-12-17 19:24+0000\n"
"PO-Revision-Date: 2023-12-17 19:27+0000\n" "PO-Revision-Date: 2023-12-17 19:27+0000\n"
"Last-Translator: Sadie Powell <sadie@witchery.services>\n" "Last-Translator: Sadie Powell <sadie@sadiepowell.dev>\n"
"Language-Team: English\n" "Language-Team: English\n"
"Language: en_US\n" "Language: en_US\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
@@ -6130,8 +6130,8 @@ msgid "Service"
msgstr "Service" msgstr "Service"
#, c-format #, c-format
msgid "Service's hold on %s has been released." msgid "Services' hold on %s has been released."
msgstr "Service's hold on %s has been released." msgstr "Services' hold on %s has been released."
msgid "Services Operator commands" msgid "Services Operator commands"
msgstr "Services Operator commands" msgstr "Services Operator commands"
+1 -1
View File
@@ -6273,7 +6273,7 @@ msgid "Service"
msgstr "Servicio" msgstr "Servicio"
#, c-format #, c-format
msgid "Service's hold on %s has been released." msgid "Services' hold on %s has been released."
msgstr "El nick %s retenido por los servicios ha sido liberado." msgstr "El nick %s retenido por los servicios ha sido liberado."
#, fuzzy #, fuzzy
+1 -1
View File
@@ -6165,7 +6165,7 @@ msgid "Service"
msgstr "Service" msgstr "Service"
#, c-format #, c-format
msgid "Service's hold on %s has been released." msgid "Services' hold on %s has been released."
msgstr "La tutelle des Services sur %s a été enlevée." msgstr "La tutelle des Services sur %s a été enlevée."
msgid "Services Operator commands" msgid "Services Operator commands"
+1 -1
View File
@@ -6838,7 +6838,7 @@ msgid "Service"
msgstr "Servers found: %d" msgstr "Servers found: %d"
#, fuzzy, c-format #, fuzzy, c-format
msgid "Service's hold on %s has been released." msgid "Services' hold on %s has been released."
msgstr "A Services rendelkezésedre bocsájtotta a nicket." msgstr "A Services rendelkezésedre bocsájtotta a nicket."
#, fuzzy #, fuzzy
+1 -1
View File
@@ -6172,7 +6172,7 @@ msgid "Service"
msgstr "Servizio" msgstr "Servizio"
#, c-format #, c-format
msgid "Service's hold on %s has been released." msgid "Services' hold on %s has been released."
msgstr "Il blocco dei servizi sul nick %s è stato rilasciato." msgstr "Il blocco dei servizi sul nick %s è stato rilasciato."
msgid "Services Operator commands" msgid "Services Operator commands"
+1 -1
View File
@@ -6183,7 +6183,7 @@ msgid "Service"
msgstr "Service" msgstr "Service"
#, c-format #, c-format
msgid "Service's hold on %s has been released." msgid "Services' hold on %s has been released."
msgstr "Nick %s werd vrijgegeven." msgstr "Nick %s werd vrijgegeven."
msgid "Services Operator commands" msgid "Services Operator commands"
+1 -1
View File
@@ -6212,7 +6212,7 @@ msgid "Service"
msgstr "Usługa" msgstr "Usługa"
#, c-format #, c-format
msgid "Service's hold on %s has been released." msgid "Services' hold on %s has been released."
msgstr "Serwisy właśnie zwolniły nicka %s." msgstr "Serwisy właśnie zwolniły nicka %s."
msgid "Services Operator commands" msgid "Services Operator commands"
+1 -1
View File
@@ -6794,7 +6794,7 @@ msgid "Service"
msgstr "Servers found: %d" msgstr "Servers found: %d"
#, fuzzy, c-format #, fuzzy, c-format
msgid "Service's hold on %s has been released." msgid "Services' hold on %s has been released."
msgstr "Seu nick foi derrubado e pode ser usado." msgstr "Seu nick foi derrubado e pode ser usado."
#, fuzzy #, fuzzy
+1 -1
View File
@@ -6954,7 +6954,7 @@ msgid "Service"
msgstr "Текущее кол-во серверов: %d" msgstr "Текущее кол-во серверов: %d"
#, fuzzy, c-format #, fuzzy, c-format
msgid "Service's hold on %s has been released." msgid "Services' hold on %s has been released."
msgstr "Ваш ник освобожден от удержания сервисами." msgstr "Ваш ник освобожден от удержания сервисами."
#, fuzzy #, fuzzy
+1 -1
View File
@@ -6129,7 +6129,7 @@ msgid "Service"
msgstr "Servis" msgstr "Servis"
#, c-format #, c-format
msgid "Service's hold on %s has been released." msgid "Services' hold on %s has been released."
msgstr "Servisin %s üzerindeki bekletmesi kaldırıldı." msgstr "Servisin %s üzerindeki bekletmesi kaldırıldı."
msgid "Services Operator commands" msgid "Services Operator commands"
+1 -1
View File
@@ -1,6 +1,6 @@
/* /*
* *
* (C) 2003-2025 Anope Team * (C) 2003-2026 Anope Team
* Contact us at team@anope.org * Contact us at team@anope.org
* *
* Please read COPYING and README for further details. * Please read COPYING and README for further details.
+1 -1
View File
@@ -1,6 +1,6 @@
/* BotServ core functions /* BotServ core functions
* *
* (C) 2003-2025 Anope Team * (C) 2003-2026 Anope Team
* Contact us at team@anope.org * Contact us at team@anope.org
* *
* Please read COPYING and README for further details. * Please read COPYING and README for further details.
+1 -1
View File
@@ -1,6 +1,6 @@
/* BotServ core functions /* BotServ core functions
* *
* (C) 2003-2025 Anope Team * (C) 2003-2026 Anope Team
* Contact us at team@anope.org * Contact us at team@anope.org
* *
* Please read COPYING and README for further details. * Please read COPYING and README for further details.
+1 -1
View File
@@ -1,6 +1,6 @@
/* BotServ core functions /* BotServ core functions
* *
* (C) 2003-2025 Anope Team * (C) 2003-2026 Anope Team
* Contact us at team@anope.org * Contact us at team@anope.org
* *
* Please read COPYING and README for further details. * Please read COPYING and README for further details.
+1 -1
View File
@@ -1,6 +1,6 @@
/* BotServ core functions /* BotServ core functions
* *
* (C) 2003-2025 Anope Team * (C) 2003-2026 Anope Team
* Contact us at team@anope.org * Contact us at team@anope.org
* *
* Please read COPYING and README for further details. * Please read COPYING and README for further details.
+1 -1
View File
@@ -1,6 +1,6 @@
/* BotServ core functions /* BotServ core functions
* *
* (C) 2003-2025 Anope Team * (C) 2003-2026 Anope Team
* Contact us at team@anope.org * Contact us at team@anope.org
* *
* Please read COPYING and README for further details. * Please read COPYING and README for further details.
+1 -1
View File
@@ -1,6 +1,6 @@
/* BotServ core functions /* BotServ core functions
* *
* (C) 2003-2025 Anope Team * (C) 2003-2026 Anope Team
* Contact us at team@anope.org * Contact us at team@anope.org
* *
* Please read COPYING and README for further details. * Please read COPYING and README for further details.
+1 -1
View File
@@ -1,6 +1,6 @@
/* BotServ core functions /* BotServ core functions
* *
* (C) 2003-2025 Anope Team * (C) 2003-2026 Anope Team
* Contact us at team@anope.org * Contact us at team@anope.org
* *
* Please read COPYING and README for further details. * Please read COPYING and README for further details.

Some files were not shown because too many files have changed in this diff Show More