mirror of
https://github.com/anope/anope.git
synced 2026-06-12 18:34:49 +02:00
Compare commits
83 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 29bd5a7daa | |||
| 975b0cd374 | |||
| a0ebea2049 | |||
| cc8e88aec8 | |||
| 11d47efc7a | |||
| c7154edb4d | |||
| 5559f91fae | |||
| 3dd71f207d | |||
| 7776fb8548 | |||
| 7954542a86 | |||
| a1c45be517 | |||
| bab5a37970 | |||
| da1162f770 | |||
| abc8b4aa4e | |||
| 60c7b5b10f | |||
| a939b821a7 | |||
| 14150647bc | |||
| 1b265bf291 | |||
| ac279a1637 | |||
| 6ed06539be | |||
| b5242e3be0 | |||
| 84ac00e953 | |||
| 822e75b501 | |||
| e2c6825cd2 | |||
| fdcc5b5ee1 | |||
| 4f438917f1 | |||
| 250aecb683 | |||
| 4ca2b60f91 | |||
| e305db41ce | |||
| 6ad63349c1 | |||
| d0646a37dc | |||
| b80e0cb996 | |||
| 5b65c9ce87 | |||
| f07f92e30d | |||
| 594c161622 | |||
| 0570b57a99 | |||
| 727bcf1fde | |||
| 699bee06c3 | |||
| ab337e8de0 | |||
| 381f74a26e | |||
| 471043c5c4 | |||
| 29c8702c35 | |||
| 0b82d74262 | |||
| 5cb5dc197a | |||
| 664ca1bbf2 | |||
| efa7c81ca8 | |||
| 2874513e0a | |||
| 51d9b5056d | |||
| 3c219be3c7 | |||
| cc8f2117f8 | |||
| 230f9e9a35 | |||
| d468567a12 | |||
| d3d36ff73c | |||
| 4897cdf60f | |||
| ef8db98e5c | |||
| d9e57f5651 | |||
| e50c6a5efb | |||
| a331432030 | |||
| ac338268c9 | |||
| 1354bf8815 | |||
| ed1469d3b1 | |||
| 6b8277f152 | |||
| 2d69fea6d2 | |||
| af916f28f4 | |||
| 7c2db57965 | |||
| b13836f3cf | |||
| 2bd483c273 | |||
| 217a375517 | |||
| 97a42e4f7d | |||
| 113237964d | |||
| a3afe44ca6 | |||
| b60b06ad76 | |||
| 902158671a | |||
| 1873d67093 | |||
| 2629a580a1 | |||
| cfc81d5aca | |||
| 72ae5cacd4 | |||
| f2598bdb6e | |||
| 101fe6882d | |||
| a30afed7b2 | |||
| feedbd6b0d | |||
| 05bc74d9cb | |||
| e0cc7a6c0b |
@@ -1,4 +1,45 @@
|
||||
Anope Version 1.8 SVN
|
||||
Anope Version 1.8.3
|
||||
-------------------
|
||||
Provided by Anope Dev. <team@anope.org> - 2009
|
||||
10/05 A Added InspIRCd 1.2 support. [ #00]
|
||||
07/31 F Fixed anope sending umode change using channels' syntax. [ #00]
|
||||
07/31 F Fixed TS6 UUID issue while parsing modechanges. [ #00]
|
||||
08/01 F Fixed several memory leaks in HostServ. [ #00]
|
||||
08/01 F Fixed several memory leaks in HostServ. [ #00]
|
||||
08/03 F Fixed TS6 SID issue when introducing new servers. [ #00]
|
||||
08/19 F Fixed NS SASET displaying wrong language. [#1094]
|
||||
08/24 F Fixed entry_match() failing when given no username. [ #00]
|
||||
08/27 F Fixed NS SUSPEND not being shown to services opers. [#1099]
|
||||
08/27 F Fixed NS UNSUSPEND not being shown to services opers. [#1100]
|
||||
08/27 F Fixed services sending no or wrong help to opers. [#1102]
|
||||
08/27 F Fixed services sending no or wrong help to opers. [#1103]
|
||||
08/27 F Fixed services sending no or wrong help to opers. [#1104]
|
||||
08/29 F Fixed defcon failing to set and remove modes. [#1101]
|
||||
08/30 F Fixed MLOCK superseding DEFCON mode lock. [ #00]
|
||||
09/09 F Fixed number of TS6 compatibility issues. [#1096]
|
||||
10/06 F Fixed CS FORBID not clearing excepts & invites. [#1097]
|
||||
11/25 F Fixed a number of major XOP related issues. [ #00]
|
||||
11/25 F Fixed a bug in CLEAR OPS causing incorrect mode removal. [#1114]
|
||||
12/01 F Fixed tracking of users host when they disable their vhost [#1106]
|
||||
12/20 F Fixed nickcores access list being loaded from SQL with RDB [ #00]
|
||||
1/15 F Fixed BotServ from kicking and banning ULined clients [#1135]
|
||||
|
||||
Provided by Han` <Han@mefalcon.org> - 2009
|
||||
07/28 F Updated german language file. [ #00]
|
||||
07/28 F Added german language support to hs_request.c. [ #00]
|
||||
|
||||
Provided by Yusuf Kurekci <ysfm.20@gmail.com> - 2009
|
||||
08/11 F Updated Turkish language file. [ #00]
|
||||
|
||||
Provided by Christopher N. <saka@epiknet.org> - 2009
|
||||
9/20 F Updated French language file. [ #00]
|
||||
|
||||
Anope Version 1.8.2
|
||||
-------------------
|
||||
07/06 F Fix unsetting founder_chans when logging out other users [ #00]
|
||||
07/07 F Fix a crash when mysql is used without MysqlSecure defined. [ #00]
|
||||
|
||||
Anope Version 1.8.1
|
||||
-------------------
|
||||
Provided by Anope Dev. <team@anope.org> - 2009
|
||||
03/30 R Removed InspIRCd 1.0 support. [ #00]
|
||||
|
||||
+17
-1
@@ -1,4 +1,20 @@
|
||||
Anope Version 1.8 SVN
|
||||
Anope Version 1.8.3
|
||||
-------------------
|
||||
** ADDED CONFIGURATION DIRECTIVES **
|
||||
inspircd12 - IRCDModule
|
||||
** MODIFIED CONFIGURATION DIRECTIVES **
|
||||
|
||||
** DELETED CONFIGURATION DIRECTIVES **
|
||||
|
||||
Anope Version 1.8.2
|
||||
-------------------
|
||||
** ADDED CONFIGURATION DIRECTIVES **
|
||||
|
||||
** MODIFIED CONFIGURATION DIRECTIVES **
|
||||
|
||||
** DELETED CONFIGURATION DIRECTIVES **
|
||||
|
||||
Anope Version 1.8.1
|
||||
-------------------
|
||||
** ADDED CONFIGURATION DIRECTIVES **
|
||||
|
||||
|
||||
+20
-2
@@ -1,4 +1,23 @@
|
||||
Anope Version 1.8 SVN
|
||||
Anope Version 1.8.3
|
||||
-------------------
|
||||
*** New Strings:
|
||||
|
||||
*** Mod Strings:
|
||||
NEWS_HELP_LOGON
|
||||
NEWS_HELP_OPER
|
||||
NEWS_HELP_RANDOM
|
||||
|
||||
*** Del Strings:
|
||||
|
||||
Anope Version 1.8.2
|
||||
-------------------
|
||||
*** New Strings:
|
||||
|
||||
*** Mod Strings:
|
||||
|
||||
*** Del Strings:
|
||||
|
||||
Anope Version 1.8.1
|
||||
-------------------
|
||||
*** New Strings:
|
||||
HOST_OFF
|
||||
@@ -6,7 +25,6 @@ Anope Version 1.8 SVN
|
||||
|
||||
*** Del Strings:
|
||||
|
||||
|
||||
Anope Version 1.8.0
|
||||
-------------------
|
||||
*** New Strings:
|
||||
|
||||
+9
-1
@@ -1,4 +1,12 @@
|
||||
Anope Version 1.8 SVN
|
||||
Anope Version 1.8.3
|
||||
-------------------
|
||||
ALTER TABLE `anope_ns_access` DROP INDEX `display` ;
|
||||
|
||||
Anope Version 1.8.2
|
||||
-------------------
|
||||
- NONE
|
||||
|
||||
Anope Version 1.8.1
|
||||
-------------------
|
||||
- NONE
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
#
|
||||
# Configuration script for Services.
|
||||
#
|
||||
# Anope (c) 2003-2007 Anope team
|
||||
# Anope (c) 2003-2010 Anope team
|
||||
# Contact us at team@anope.org
|
||||
#
|
||||
# This program is free but copyrighted software; see the file COPYING for
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
# Makefile for Anope.
|
||||
#
|
||||
# (C) 2003-2009 Anope Team
|
||||
# (C) 2003-2010 Anope Team
|
||||
# Contact us at team@anope.org
|
||||
#
|
||||
# This program is free but copyrighted software; see the file COPYING for
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
dnl autoconf.in for Services.
|
||||
dnl
|
||||
dnl Anope (c) 2003-2007 Anope team
|
||||
dnl Anope (c) 2003-2010 Anope team
|
||||
dnl Contact us at team@anope.org
|
||||
|
||||
dnl This program is free but copyrighted software; see the file COPYING for
|
||||
|
||||
+15
-2
@@ -80,6 +80,7 @@
|
||||
# DreamForge 4.6.7 - "dreamforge"
|
||||
# Hybrid IRCd 7.0 [experimental] - "hybrid"
|
||||
# InspIRCd 1.1 [beta 8 or later] - "inspircd11"
|
||||
# InspIRCd 1.2 [RC3 or later] - "inspircd12"
|
||||
# Plexus 3.0 [or later] - "plexus3"
|
||||
# Plexus 2.0 [or later] - "plexus2"
|
||||
# PTLink 6.15.0 [experimental] - "ptlink"
|
||||
@@ -347,9 +348,19 @@ NetworkName "LocalNet"
|
||||
|
||||
# Numeric [OPTIONAL]
|
||||
# Many ircd identify themselves with a Numeric ID when using this option
|
||||
# consult your ircds documentation before using this
|
||||
# consult your ircds documentation before using this.
|
||||
#
|
||||
# This option is REQUIRED when linking to InspIRCd 1.2. Then this should
|
||||
# contain the services SID and must be in the following form:
|
||||
# [0-9][A-Z0-9][A-Z0-9]
|
||||
# An example is shown below.
|
||||
|
||||
#Numeric "64"
|
||||
|
||||
# InspIRCd 1.2 compliant:
|
||||
|
||||
#Numeric "3AX"
|
||||
|
||||
# NickLen [RECOMMENDED]
|
||||
# Set this to the maximum allowed nick length on your network. Anope does
|
||||
# not support values larger than 31, so setting them makes no sense. Be
|
||||
@@ -611,13 +622,15 @@ UnRestrictSAdmin
|
||||
# can set channel modes and we will not attempt to take them from them
|
||||
# WARNING: do not put your user servers in this option
|
||||
|
||||
UlineServers "stats.your.network proxy.your.network"
|
||||
UlineServers "stats.your.network"
|
||||
|
||||
# UseTS6 [OPTIONAL]
|
||||
#
|
||||
# Modern hybrid ircd like Ratbox 2.0.x support a protocol called TS6.
|
||||
# However this protocol is optional thus our default support is for without
|
||||
# TS6, if you want to take advantage of TS6, enable this option.
|
||||
#
|
||||
# This option is REQUIRED when linking to InspIRCd 1.2.
|
||||
|
||||
#UseTS6
|
||||
|
||||
|
||||
+1
-2
@@ -226,8 +226,7 @@ CREATE TABLE anope_ns_access (
|
||||
display varchar(255) NOT NULL default '',
|
||||
access text NOT NULL,
|
||||
active tinyint(1) NOT NULL default '1',
|
||||
PRIMARY KEY (na_id),
|
||||
UNIQUE KEY display (display)
|
||||
PRIMARY KEY (na_id)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
|
||||
|
||||
-- --------------------------------------------------------
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
Reported Bugs from Bugzilla: http://bugs.anope.org/
|
||||
Reported Bugs from Tracker: http://bugs.anope.org/
|
||||
---------------------------------------------------
|
||||
|
||||
|
||||
|
||||
+22
-6
@@ -73,7 +73,8 @@ Note: You should also read the README and FAQ files!
|
||||
section 1. There are however a few specific guidelines:
|
||||
|
||||
* IMPORTANT: Back up your old databases!
|
||||
* If you are upgrading to a new major release, ALWAYS restart a
|
||||
* Check Changes.conf for the new version for small config changes.
|
||||
* If you are upgrading to a new major release, create a
|
||||
fresh configuration file from example.conf.
|
||||
|
||||
3) Setting up the IRCd
|
||||
@@ -115,21 +116,34 @@ Note: You should also read the README and FAQ files!
|
||||
Don't forget to /rehash your IRCd to apply changes.
|
||||
|
||||
A new trend in ircd configuration is popping all over the place, good
|
||||
examples are the latest Hybrid, Unreal and Bahamut, which use a more
|
||||
examples are the latest Hybrid, Unreal, Bahamut & InspIRCd, which use a more
|
||||
"readable" form of configuration. For those, use something like:
|
||||
|
||||
|
||||
UnrealIRCd
|
||||
|
||||
link services.localhost.net
|
||||
{
|
||||
username *;
|
||||
hostname localhost;
|
||||
bind-ip *;
|
||||
port 6667;
|
||||
port 7000;
|
||||
hub *;
|
||||
password-connect "mypass";
|
||||
password-receive "mypass";
|
||||
class servers;
|
||||
};
|
||||
|
||||
InspIRCd
|
||||
|
||||
<link name="services.localhost.net"
|
||||
ipaddr="127.0.0.1"
|
||||
port="7000"
|
||||
allowmask="127.0.0.0/8"
|
||||
sendpass="mypass"
|
||||
recvpass="mypass">
|
||||
|
||||
|
||||
Note that this block-style configuration files differ heavily, depending
|
||||
on the IRCd. Consult the interactive link maker (link is below) for more
|
||||
details on the exact configuration used by your IRCd.
|
||||
@@ -137,7 +151,9 @@ Note: You should also read the README and FAQ files!
|
||||
If you're unable to get a link with your IRCd after reading this section,
|
||||
you might try the interactive link maker, which is located at:
|
||||
|
||||
http://anope.org/ilm.php
|
||||
http://www.anope.org/ilm.php
|
||||
|
||||
Or finally, contact your IRCd Support Community to seek advice.
|
||||
|
||||
4) Starting Anope
|
||||
|
||||
@@ -154,8 +170,8 @@ Note: You should also read the README and FAQ files!
|
||||
to launch Anope with ./services -debug -nofork to see any errors that it
|
||||
encounters, and try to correct them.
|
||||
|
||||
If you need help to solve errors, feel free to subscribe to the Anope
|
||||
mailing list and ask there. See the README file for details.
|
||||
If you need help to solve errors, feel free to visit us on IRC at
|
||||
irc.anope.org #anope and ask there. See the README file for further details.
|
||||
|
||||
5) Setting up a crontab
|
||||
|
||||
|
||||
@@ -15,45 +15,11 @@ How To Add IRCd Support
|
||||
|
||||
A) Make a copy of the .c and .h file of the IRCd that matches the ircd
|
||||
that you are attempting to add support for best.
|
||||
B) Make a backup copy of include/services.h, include/sysconf.h.in
|
||||
C) Make a backup copy of Config and configure.in
|
||||
|
||||
First step in this process is to rename the .c and .h file after the IRCd
|
||||
that you are going to be adding support for. Its recommended that you come
|
||||
up with a name that is clear and easy to understand.
|
||||
|
||||
Now that you have the files that you will need to create your own ircd
|
||||
support, starting with Config. This file is a shell script file; scroll
|
||||
down until you find the list of ircs for the user to select. Indicate
|
||||
the based ircd version which is supported such as a series 1.x or 2.2.x,
|
||||
placing in the comment side an exact version that the support is for or
|
||||
"experimental" if you are not the ircd developer. The next step is to
|
||||
decide how the IRCd will be defined, following the existing examples edit
|
||||
'IRCTYPE_DEF="IRC_RATBOX"' to be the descriptive define for your ircd.
|
||||
|
||||
With the Config file ready to go, edit configure.in and find in there the
|
||||
reference to --with-ircd. You should see the various other ircds, and
|
||||
you will want to add yours in there using the same IRC_ name you came up
|
||||
with above. Important in this step is to make sure that you set the
|
||||
IRCDFILE to the name of the .c file you set in step 1. Once you have the
|
||||
configure.in created you can remove the old configure and at the command
|
||||
prompt type "autconf"; this will generate the new configure file.
|
||||
|
||||
Getting close to actually modify code. Open sysconf.h.in and add two
|
||||
lines for your given ircd, which is similar to this:
|
||||
|
||||
/* "First IRCD type" */
|
||||
#undef IRC_RATBOX
|
||||
|
||||
Open services.h and add a line with the rest of the ircd include files to
|
||||
match the name of the .h file you set in step 1.
|
||||
|
||||
#include "ratbox.h"
|
||||
|
||||
Taking the .c and .h file open them and replace the #ifdef IRC_* with the
|
||||
IRC_ name you set in step two. Ensure that the code comments at the top
|
||||
of the file match the ircd that the code will be for.
|
||||
|
||||
You are now ready to start getting into the code.
|
||||
|
||||
2) Modifying the Header File
|
||||
@@ -65,28 +31,10 @@ How To Add IRCd Support
|
||||
|
||||
Open the .h file and find the section of code with
|
||||
|
||||
#define PROTECT_SET_MODE "+"
|
||||
#define PROTECT_UNSET_MODE "-"
|
||||
#define CS_CMD_PROTECT "PROTECT"
|
||||
#define CS_CMD_DEPROTECT "DEPROTECT"
|
||||
#define FANT_PROTECT_ADD "!protect"
|
||||
#define FANT_PROTECT_DEL "!deprotect"
|
||||
#define LEVEL_PROTECT_WORD "AUTOPROTECT"
|
||||
#define LEVELINFO_PROTECT_WORD "PROTECT"
|
||||
#define LEVELINFO_PROTECTME_WORD "PROTECTME"
|
||||
#define UMODE_a 0x00000001
|
||||
#define UMODE_b 0x00000002
|
||||
|
||||
If the ircd supports a protective/admin (not owner) mode, set the
|
||||
PROTECT_SET_MODE and PROTECT_UNSET_MODE to be that mode. On most ircds
|
||||
it's usermode "a" so you will be setting it to "+a" and "-a". The next
|
||||
two are based more on what this mode is called. When you message ChanServ
|
||||
to get this mode, this is the command you will be using. After this are
|
||||
the fantasy commands which can be used in channel to get these modes. The
|
||||
next three relate to the ACCESS LEVEL list system. Again these are the
|
||||
words to gain these levels in the ACCESS LEVEL system. If your ircd does
|
||||
not have these functions, leave them at what ever value is currently set;
|
||||
the core code will ignore the request of the user.
|
||||
|
||||
Now that this is set, you can define the MODES. All user modes are stored
|
||||
This is where you define the MODES. All user modes are stored
|
||||
with UMODE_ followed by a letter matching the modes case; be careful to
|
||||
use the correct case as this will make it clear when you setup MODES in
|
||||
the .c in a few. Use hex values for the modes so starting at 0x00000001
|
||||
@@ -101,7 +49,10 @@ How To Add IRCd Support
|
||||
|
||||
Finally we come to DEFAULT_MLOCK; this is the mode that services will set
|
||||
by default on channels when they are registered. In general you want this
|
||||
to be what is acceptable by the ircd; in most cases this is "+nt"
|
||||
to be what is acceptable by the ircd; in most cases this is "+ntr". This is
|
||||
expressed by:
|
||||
|
||||
#define DEFAULT_MLOCK CMODE_n | CMODE_t | CMODE_r
|
||||
|
||||
3) The Code
|
||||
|
||||
@@ -113,33 +64,6 @@ How To Add IRCd Support
|
||||
|
||||
The first bit of code you will face is:
|
||||
|
||||
const char version_protocol[] = "Ratbox IRCD";
|
||||
|
||||
This the protocol name which will appear in various places; especially
|
||||
when you do -version at the command prompt, this is where you state the
|
||||
server name. The version is not always needed unless you are showing that
|
||||
the support is for one branch of a ircd family, such as Unreal 3.1 and
|
||||
Unreal 3.2.
|
||||
|
||||
Once you have decided on this little piece of code, you will come to
|
||||
flood mode characters being used for setting and removing. If your IRCd
|
||||
does not support flood modes, you can just use ""; we will be setting if
|
||||
your IRCD supports flooding or not in a little bit.
|
||||
|
||||
const char flood_mode_char_set[] = "+f";
|
||||
const char flood_mode_char_remove[] = "-f";
|
||||
|
||||
The next task that you will face is setting whether the IRCD sends time
|
||||
stamps on modes but does not tell us that it will do so. If it does, set
|
||||
UseTSMODE to 1; if it does not set it to be 0. If you're not sure refer
|
||||
to your IRCd's documentation on how MODE is sent.
|
||||
|
||||
int UseTSMODE = 0;
|
||||
|
||||
Now you've come to the part where you setup your ircd. There are two
|
||||
structs which hold this information; This allows you to quickly setup
|
||||
your specific ircd.
|
||||
|
||||
IRCDVar ircd[] = { }
|
||||
|
||||
This struct contains your basic IRCd functions. Your base source file has
|
||||
@@ -273,172 +197,176 @@ How To Add IRCd Support
|
||||
a mode to be set on registration, you should
|
||||
set this to NULL.
|
||||
|
||||
32) Mode on Nick Unregister: What mode to set give users when they cancel
|
||||
32) Mode on Root ID: What modes to set on services roots when they identify
|
||||
|
||||
33) Mode on Admin ID: What modes to set on services admins when they identify
|
||||
|
||||
34) Mode on Oper ID: What modes to set on services opers when they identify
|
||||
|
||||
35) Mode on Nick Unregister: What mode to set give users when they cancel
|
||||
their registration with NickServ. If your
|
||||
IRCd doesn't set a mode for registered users
|
||||
you should set this to NULL.
|
||||
|
||||
33) Mode on Nick Change: What mode to give users when they change their
|
||||
36) Mode on Nick Change: What mode to give users when they change their
|
||||
nick. If your ircd doesn't set a mode, you
|
||||
should set this to NULL.
|
||||
|
||||
34) SGLINE: Does the IRCd support realname (geocs) bans? Use 1 for yes,
|
||||
37) SGLINE: Does the IRCd support realname (geocs) bans? Use 1 for yes,
|
||||
0 for no.
|
||||
|
||||
35) SQLINE: Does the IRCd support nick bans? Use 1 for yes, 0 for no.
|
||||
38) SQLINE: Does the IRCd support nick bans? Use 1 for yes, 0 for no.
|
||||
|
||||
36) SZLINE: Does the IRCd support SZLINES? Use 1 for yes, 0 for no.
|
||||
39) SZLINE: Does the IRCd support SZLINES? Use 1 for yes, 0 for no.
|
||||
|
||||
37) HALFOP: Is channel mode +h for halfop supported by the IRCd? Use 1 for
|
||||
40) HALFOP: Is channel mode +h for halfop supported by the IRCd? Use 1 for
|
||||
yes, 0 for no.
|
||||
|
||||
38) Number of Server Args: When an IRCd connects, this is the number of
|
||||
41) Number of Server Args: When an IRCd connects, this is the number of
|
||||
parameters that are passed.
|
||||
|
||||
39) Join to Set: Services must join a channel to set any modes on that
|
||||
42) Join to Set: Services must join a channel to set any modes on that
|
||||
channel. Use 1 for yes, 0 for no.
|
||||
|
||||
40) Join to Message: Services must join a channel to send any message to
|
||||
43) Join to Message: Services must join a channel to send any message to
|
||||
that channel (cannot override +n). Use 1 for yes,
|
||||
0 for no.
|
||||
|
||||
41) Exceptions: Support for channel exceptions (mode +e). Use 1 for yes,
|
||||
44) Exceptions: Support for channel exceptions (mode +e). Use 1 for yes,
|
||||
0 for no.
|
||||
|
||||
42) TS Topic Forward: Some IRCd's (like UnrealIRCd) like their topic TS
|
||||
45) TS Topic Forward: Some IRCd's (like UnrealIRCd) like their topic TS
|
||||
set forward by +1. Use 1 for yes, 0 for no.
|
||||
|
||||
43) TS Topic Backward: Some IRCd's (mainly older DreamForge-like ones)
|
||||
46) TS Topic Backward: Some IRCd's (mainly older DreamForge-like ones)
|
||||
like their topic TS set back by -1. Use 1 for yes,
|
||||
0 for no.
|
||||
|
||||
44) Protected Umode: UMODE_ define that defines the protected usermod.
|
||||
47) Protected Umode: UMODE_ define that defines the protected usermod.
|
||||
Use 0 for no support, or enter the UMODE_ define.
|
||||
|
||||
45) Admin: Support for channel admins (Mainly used by UltimateIRCd). Use
|
||||
48) Admin: Support for channel admins (Mainly used by UltimateIRCd). Use
|
||||
1 for yes, 0 for no.
|
||||
|
||||
46) SQline Channels: The IRCd's supports banning channel names via
|
||||
49) SQline Channels: The IRCd's supports banning channel names via
|
||||
SQLINES. Use 1 for yes, 0 for no.
|
||||
|
||||
47) Quit On Kill: When we (SVS)KILL a user, does the IRCd send back a
|
||||
50) Quit On Kill: When we (SVS)KILL a user, does the IRCd send back a
|
||||
QUIT message for that user? Use 1 for yes, 0 for no.
|
||||
|
||||
48) SVSMODE -b: We can use SVSMODE to unban hosts from a channel. Use
|
||||
51) SVSMODE -b: We can use SVSMODE to unban hosts from a channel. Use
|
||||
1 for yes, 0 for no.
|
||||
|
||||
49) Protect: Support for channel protect (mode +a, mainly being used by
|
||||
52) Protect: Support for channel protect (mode +a, mainly being used by
|
||||
UnrealIRCd and ViagraIRCd). Use 1 for yes, 0 for no.
|
||||
|
||||
50) Reverse: We can do a reverse check when unbanning. For use with
|
||||
53) Reverse: We can do a reverse check when unbanning. For use with
|
||||
DreamForge based IRCd's. Use 1 for yes, 0 for no.
|
||||
|
||||
51) Register Channels: Supports sending a channelmode for registered
|
||||
54) Register Channels: Supports sending a channelmode for registered
|
||||
channels. Use 1 for yes, 0 for no.
|
||||
|
||||
52) Registered Mode: Channelmode to set on registered channels, see the
|
||||
55) Registered Mode: Channelmode to set on registered channels, see the
|
||||
option above. Use 1 for yes, 0 for no.
|
||||
|
||||
53) vIdent: Support for including a user's ident in their vHost. Use
|
||||
56) vIdent: Support for including a user's ident in their vHost. Use
|
||||
1 for yes, 0 for no.
|
||||
|
||||
54) SVSHOLD: Support for temporarily 'holding' a nick, instead of using
|
||||
57) SVSHOLD: Support for temporarily 'holding' a nick, instead of using
|
||||
a nick enforcer client. Use 1 for yes, 0 for no.
|
||||
|
||||
55) TS on MODE: We need to send a timestamp when modes are being changed.
|
||||
58) TS on MODE: We need to send a timestamp when modes are being changed.
|
||||
Use 1 for yes, 0 for no.
|
||||
|
||||
56) NICKIP: The IP address of new users is being sent along with their
|
||||
59) NICKIP: The IP address of new users is being sent along with their
|
||||
hostname when new users are being introduced on the network.
|
||||
Use 1 for yes, 0 for no.
|
||||
|
||||
57) Umode: We can use OperServ to change a user's mode. Use 1 for yes,
|
||||
60) Omode: We can use OperServ to change a user's mode. Use 1 for yes,
|
||||
0 for no.
|
||||
|
||||
58) O:LINE: We can use OperServ to give some user a temporary O:LINE.
|
||||
Use 1 for yes, 0 for no.
|
||||
|
||||
59) Vhost On Nick: On NICK the IRCd sends the VHOST. Use 1 for yes,
|
||||
61) Umode: We can use OperServ to change a user's mode. Use 1 for yes,
|
||||
0 for no.
|
||||
|
||||
62) Vhost On Nick: On NICK the IRCd sends the VHOST. Use 1 for yes,
|
||||
0 for no.
|
||||
|
||||
60) Change Realname: Change real name. Use 1 for yes, 0 for no.
|
||||
63) Change Realname: Change real name. Use 1 for yes, 0 for no.
|
||||
|
||||
61) Extra Help: If the IRCd has more help for functions in ChanServ than
|
||||
the default help, you should put the language string
|
||||
identifier here. Use 0 for no extra help.
|
||||
64) No Knock: CMODE_ that defines NO KNOCK. Use 0 for no support.
|
||||
|
||||
62) No Knock: CMODE_ that defines NO KNOCK. Use 0 for no support.
|
||||
65) Admin Only: CMODE_ that defines Admin Only. Use 0 for no support.
|
||||
|
||||
63) Admin Only: CMODE_ that defines Admin Only. Use 0 for no support.
|
||||
66) Default MLock: Default channelmodes for MLOCK. Use 0 for no modes.
|
||||
|
||||
64) Default MLock: Default channelmodes for MLOCK. Use 0 for no modes.
|
||||
|
||||
65) Vhost Umode: UMODE_ that indicates if the user currently has a vHost.
|
||||
67) Vhost Umode: UMODE_ that indicates if the user currently has a vHost.
|
||||
Use 0 for no support.
|
||||
|
||||
66) Flood Mode: The IRCd has a channelmode for blocking floods. Use 1 for
|
||||
68) Flood Mode: The IRCd has a channelmode for blocking floods. Use 1 for
|
||||
yes, 0 for no.
|
||||
|
||||
67) Link Mode: The IRCd has a channelmode for linking a channel to some
|
||||
69) Link Mode: The IRCd has a channelmode for linking a channel to some
|
||||
other channel. Use 1 for yes, 0 for no.
|
||||
|
||||
68) CMode F: CMODE_ that defines flood mode. Use 0 for no support.
|
||||
70) CMode F: CMODE_ that defines flood mode. Use 0 for no support.
|
||||
|
||||
69) CMode L: CMODE_ that defines link mode. Use 0 for no support.
|
||||
71) CMode L: CMODE_ that defines link mode. Use 0 for no support.
|
||||
|
||||
70) Check Nick ID: Should we check if a user should remain identified when
|
||||
72) Check Nick ID: Should we check if a user should remain identified when
|
||||
changing their nick? This is for IRCd's that remove
|
||||
their registered-user mode when someone changes their
|
||||
nick (like Bahamut does).
|
||||
Use 1 for yes, 0 for no.
|
||||
|
||||
71) No Knock Requires +i: Does the No Knock channel mode require invite
|
||||
73) No Knock Requires +i: Does the No Knock channel mode require invite
|
||||
only channels? Use 1 for yes, 0 for no.
|
||||
|
||||
72) Chan Modes: If sent in CAPAB/PROTOCOL, we store it in here. This is
|
||||
74) Chan Modes: If sent in CAPAB/PROTOCOL, we store it in here. This is
|
||||
NULL by default.
|
||||
|
||||
73) Tokens: Can we use tokens to talk to the IRCd? Use 1 for yes,
|
||||
75) Tokens: Can we use tokens to talk to the IRCd? Use 1 for yes,
|
||||
0 for no.
|
||||
|
||||
74) Token Case Senstive: Are the IRCd's TOKENS/COMMANDS case sensitive?
|
||||
76) Token Case Senstive: Are the IRCd's TOKENS/COMMANDS case sensitive?
|
||||
Use 1 for yes, 0 for no.
|
||||
|
||||
75) base64 SJOIN TS: Are the timestamps sent with a SJOIN in base64? Use
|
||||
77) base64 SJOIN TS: Are the timestamps sent with a SJOIN in base64? Use
|
||||
1 for yes, 0 for no.
|
||||
|
||||
76) Supports +I: Does the IRCd support channelmode +I? Use 1 for yes,
|
||||
78) Supports +I: Does the IRCd support channelmode +I? Use 1 for yes,
|
||||
0 for no.
|
||||
|
||||
77) SJOIN Ban Char: Character used to identify bans. Use ''.
|
||||
79) SJOIN Ban Char: Character used to identify bans. Use ''.
|
||||
|
||||
78) SJOIN Except Char: Character used to identify exceptions. use ''.
|
||||
80) SJOIN Except Char: Character used to identify exceptions. Use ''.
|
||||
|
||||
79) SVSMODE UCMODE: Can we clear user channel modes with SVSMODE? Use
|
||||
81) SJOIN Invex Char: Character used to identify invexes. Use ''.
|
||||
|
||||
82) SVSMODE UCMODE: Can we clear user channel modes with SVSMODE? Use
|
||||
1 for yes, 0 for no.
|
||||
|
||||
80) SGline Enforce: Does the IRCd enforce SGLINES for us or do we need to
|
||||
83) SGline Enforce: Does the IRCd enforce SGLINES for us or do we need to
|
||||
do so? Use 1 for yes, 0 for no.
|
||||
|
||||
81) Vhost Character: The character used to represent the vHost mode, if
|
||||
84) Vhost Character: The character used to represent the vHost mode, if
|
||||
this is supported by the IRCd.
|
||||
|
||||
82) TS6: Does the IRCd support TS6? Use 1 for yes, 0 for no.
|
||||
85) TS6: Does the IRCd support TS6? Use 1 for yes, 0 for no.
|
||||
|
||||
83) UMode +h: Does the IRCd support usermode +h for helpers?
|
||||
86) UMode +h: Does the IRCd support usermode +h for helpers?
|
||||
Use 1 for yes, 0 for no.
|
||||
|
||||
84) P10: Is this IRCd a P10-style IRCd? Use 1 for yes, 0 for no.
|
||||
87) P10: Is this IRCd a P10-style IRCd? Use 1 for yes, 0 for no.
|
||||
|
||||
85) Character Set: Unreal passes the character set during PROTOCTL,
|
||||
88) Character Set: Unreal passes the character set during PROTOCTL,
|
||||
the value is stored here. Set this NULL to start.
|
||||
|
||||
86) Reports sync: Does the IRCd report when it's in sync (or done bursting,
|
||||
89) Reports sync: Does the IRCd report when it's in sync (or done bursting,
|
||||
depending on how you want to say it)? Remember to set
|
||||
the sync state for servers correctly if it does.
|
||||
Use 1 for yes, 0 for no.
|
||||
|
||||
87) Channel CIDR: Set to 1 if channel bans, excepts and invites
|
||||
90) Channel CIDR: Set to 1 if channel bans, excepts and invites
|
||||
support CIDR masks. Expected syntax: *!*@ip/mask.
|
||||
When set to 1, anope will only parse strict CIDR masks.
|
||||
IRCd's that try to correct invalid CIDR's (like nefarious)
|
||||
@@ -446,10 +374,14 @@ How To Add IRCd Support
|
||||
Contact the anope Dev Team if this is the case.
|
||||
Set to 0 if CIDR's are not supported by your IRCd.
|
||||
|
||||
88) Throttle Mode: The IRCd has a channelmode for throttling joins per-user.
|
||||
91) Throttle Mode: The IRCd has a channelmode for throttling joins per-user.
|
||||
Use 1 for yes, 0 for no.
|
||||
|
||||
89) CMode j: CMODE_ that defines throttle mode. Use 0 for no support.
|
||||
92) CMode j: CMODE_ that defines throttle mode. Use 0 for no support.
|
||||
|
||||
93) Delayed client introduction: Delay the introduction of services pseudo-
|
||||
client till after we have received the uplinks
|
||||
CAPAB.
|
||||
|
||||
So we've had this long list. Now there's a second struct to fill. This
|
||||
struct isn't as long as the previous one though, so we'll handle it quite
|
||||
@@ -533,7 +465,7 @@ How To Add IRCd Support
|
||||
void moduleAddIRCDMsgs(void)
|
||||
{
|
||||
m = createMessage("NICK", anope_event_nick);
|
||||
addCoreMessage(IRCD,m);
|
||||
addCoreMessage(IRCD, m);
|
||||
}
|
||||
|
||||
Each event should have a event handler if its important enough to be
|
||||
@@ -592,7 +524,7 @@ How To Add IRCd Support
|
||||
following two lines:
|
||||
|
||||
m = createMessage("CAPAB", anope_event_capab);
|
||||
addCoreMessage(IRCD,m);
|
||||
addCoreMessage(IRCD, m);
|
||||
|
||||
B) Add the function to handle the event
|
||||
|
||||
|
||||
@@ -21,7 +21,7 @@ Highlighted News in Anope 1.8
|
||||
- Charybdis 1.0 or later
|
||||
- DreamForge 4.6.7
|
||||
- Hybrid 7 or later
|
||||
- InspIRCd 1.0 or later (including 1.1)
|
||||
- InspIRCd 1.0 or later (including 1.1 & 1.2)
|
||||
- Plexus 2.0 or later (including 3.0)
|
||||
- PTLink 6.15 or later
|
||||
- RageIRCd 2.0 or later
|
||||
|
||||
+57
-11
@@ -1,7 +1,7 @@
|
||||
Anope -- a set of IRC services for IRC networks
|
||||
-----------------------------------------------
|
||||
Anope - a set of IRC services for IRC networks
|
||||
----------------------------------------------
|
||||
|
||||
Anope is 2003-2009 Anope Team <team@anope.org>.
|
||||
Anope is 2003-2010 Anope Team <team@anope.org>.
|
||||
Based on Epona 2000-2002 PegSoft <epona@pegsoft.net>.
|
||||
Based on Services 1996-1999 Andrew Church <achurch@achurch.org>.
|
||||
|
||||
@@ -19,7 +19,8 @@ Table of Contents
|
||||
3) Installation
|
||||
4) Command Line Options
|
||||
5) Messages Translation
|
||||
6) Contact and Mailing List
|
||||
6) Adding Your Translation Into The Source
|
||||
7) Contact and Mailing List
|
||||
|
||||
1) Credits
|
||||
|
||||
@@ -73,6 +74,7 @@ Table of Contents
|
||||
Anope credits:
|
||||
|
||||
* Adam Kramer <ribosome@anope.org>
|
||||
* Adam <adam@anope.org>
|
||||
* Alvaro Toledo <atoledo@keldon.org>
|
||||
* Amanda Folson <amanda@anope.org>
|
||||
* Andrew Berquist <vash@anope.org>
|
||||
@@ -87,6 +89,7 @@ Table of Contents
|
||||
* Florian Schulze <certus@anope.org>
|
||||
* Gabriel Acevedo H. <drstein@anope.org>
|
||||
* Jan Milants <viper@anope.org>
|
||||
* Jens Voss <dukepyrolator@anope.org>
|
||||
* JH <jh@irc-chat.net>
|
||||
* Joris Vink <joris@anope.org>
|
||||
* Lucas Nussbaum <lucas@lucas-nussbaum.net>
|
||||
@@ -103,10 +106,11 @@ Table of Contents
|
||||
|
||||
* GeniusDex <geniusdex@anope.org> (nl.l)
|
||||
* Kein <kein-of@yandex.ru> (ru.l)
|
||||
* Stuff <the.stuff@gmx.de> (de.l)
|
||||
* Han` <Han@mefalcon.org> (de.l)
|
||||
* Gabriel Acevedo H. <drstein@anope.org> (es.l)
|
||||
* Janos Kapitany <sarkanyka@cjbchat.hu> (hun.l)
|
||||
* Szymon S'wierkosz <szymek@adres.pl> (pl.l)
|
||||
* Christopher N. <saka@epiknet.org> (fr.l)
|
||||
|
||||
Anope uses the strlcat() and strlcpy() functions from OpenSSH 2.5.1p2.
|
||||
These functions are copyrighted by Todd C. Miller:
|
||||
@@ -194,7 +198,7 @@ Table of Contents
|
||||
* Charybdis 1.0 or later
|
||||
* DreamForge 4.6.7
|
||||
* Hybrid 7 or later
|
||||
* InspIRCd 1.0 or later (including 1.1)
|
||||
* InspIRCd 1.0 or later (including 1.1 and 1.2)
|
||||
* Plexus 2.0 or later (including 3.0)
|
||||
* PTlink 6.15 or later
|
||||
* RageIRCd 2.0 beta-6 or later
|
||||
@@ -337,10 +341,9 @@ Table of Contents
|
||||
by most speakers of that language ;)).
|
||||
|
||||
* When this is done, you have two solutions: either patch Services
|
||||
source code so they take in account the new language file
|
||||
(basically, you'll have to modify lang/Makefile, language.c and
|
||||
maybe services.h), or send us the translated file so we can make
|
||||
the patch and include your language in the next Anope release.
|
||||
source code so they take in account the new language file (section 6),
|
||||
or send us the translated file so we can make the patch and include
|
||||
your language in the next Anope release.
|
||||
|
||||
* Note that there is a language tool on bin/langtool.pl that can aid
|
||||
the verification process on newly created language files. Try to
|
||||
@@ -356,7 +359,50 @@ Table of Contents
|
||||
credit for it, and will even get future final major releases before
|
||||
anyone else to complete the translation!... ;)
|
||||
|
||||
6) Contact
|
||||
6) Adding Your Translation Into The Source
|
||||
|
||||
First, get the latest svn version of Anope. This can be done by doing
|
||||
'svn co http://anope.svn.sourceforge.net/svnroot/anope/stable ./anope-stable`
|
||||
|
||||
Second, Place your language file in lang/, and type 'svn add file.l`. Where file is
|
||||
your language file.
|
||||
|
||||
Next, edit lang/Makefile and add your file into both the LANGOBJS variable and
|
||||
the LANGSRCS variable (alphabetically please). Then, go down and add an entry for
|
||||
it similar the others, eg:
|
||||
en_us: en_us.l langcomp index
|
||||
./langcomp $@.l
|
||||
(which creates the english language file)
|
||||
|
||||
Now, edit include/services.h and search for "#define LANG_EN_US", and add your language to
|
||||
the bottom of the list, eg:
|
||||
#define LANG_BLAH 16 /* Blah language! */
|
||||
(given the language above its number is 15).
|
||||
Then change the NUM_LANGS to one more than it currently is (in this case, 17)
|
||||
and add one to USED_LANGS.
|
||||
|
||||
Finially, edit src/language.c and add your language to the bottom of the array there, eg:
|
||||
...
|
||||
LANG_HUN, /* Hungarian */
|
||||
LANG_PL, /* Polish */
|
||||
LANG_BLAH, /* Blah language! */
|
||||
};
|
||||
then, go down and add it with the others using load_lang(), eg:
|
||||
...
|
||||
load_lang(LANG_HUN, "hun");
|
||||
load_lang(LANG_PL, "pl");
|
||||
load_lang(LANG_BLAH, "blah");
|
||||
|
||||
Now use 'svn diff > language.diff` to get the changes you made, and if it looks good (test it)
|
||||
email it to team@anope.org!
|
||||
|
||||
Please be aware we will only include a new language if there is sufficient demand for it.
|
||||
|
||||
Please do not be disappointed if we do not include your language within Anope.
|
||||
|
||||
Check Changes.lang in order for your language to continue to work on your copy of Anope upgrades.
|
||||
|
||||
7) Contact
|
||||
|
||||
For announcements and discussions about Anope, please visit our
|
||||
Portal and Forums at http://www.anope.org/ -- make sure you register
|
||||
|
||||
+6
-3
@@ -38,9 +38,12 @@ Anope for Windows
|
||||
http://www.microsoft.com/downloads/details.aspx?FamilyId=0BAF2B35-C656-4969-ACE8-E4C0C0716ADB&displaylang=en
|
||||
|
||||
(NOTE: Although this says for Windows Server 2003, it does infact work on all supported
|
||||
versions of Windows. When installing, you should select the Custom option, and ensure
|
||||
that only the top selection, and the bottom selection are checked. This will cut down
|
||||
install time dramatically)
|
||||
versions of Windows.)
|
||||
|
||||
When installing, you should select the Custom option, and ensure that the top option relating to
|
||||
the registering of environment varibales, is enabled in addition to the default selections.
|
||||
|
||||
If you do not do this, you may run into problems with the PSDK not being found properly during install.
|
||||
|
||||
* MySQL for Windows (only needed if building with MySQL enabled):
|
||||
http://dev.mysql.com/
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
/* Declarations for command data.
|
||||
*
|
||||
* (C) 2003-2009 Anope Team
|
||||
* (C) 2003-2010 Anope Team
|
||||
* Contact us at team@anope.org
|
||||
*
|
||||
* Please read COPYING and README for furhter details.
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
/* Services configuration.
|
||||
*
|
||||
* (C) 2003-2009 Anope Team
|
||||
* (C) 2003-2010 Anope Team
|
||||
* Contact us at team@anope.org
|
||||
*
|
||||
* Please read COPYING and README for furhter details.
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
/* Database file descriptor structure and file handling routine prototypes.
|
||||
*
|
||||
* (C) 2003-2009 Anope Team
|
||||
* (C) 2003-2010 Anope Team
|
||||
* Contact us at team@anope.org
|
||||
*
|
||||
* Please read COPYING and README for furhter details.
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
/* Set default values for any constants that should be in include files but
|
||||
*
|
||||
* (C) 2003-2009 Anope Team
|
||||
* (C) 2003-2010 Anope Team
|
||||
* Contact us at team@anope.org
|
||||
*
|
||||
* Please read COPYING and README for furhter details.
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* depricated.h
|
||||
*
|
||||
* (C) 2003-2009 Anope Team
|
||||
* (C) 2003-2010 Anope Team
|
||||
* Contact us at team@anope.org
|
||||
*
|
||||
* Please read COPYING and README for furhter details.
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
/* Include file for high-level encryption routines.
|
||||
*
|
||||
* (C) 2003-2009 Anope Team
|
||||
* (C) 2003-2010 Anope Team
|
||||
* Contact us at team@anope.org
|
||||
*
|
||||
* Please read COPYING and README for furhter details.
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
/* Prototypes and external variable declarations.
|
||||
*
|
||||
* (C) 2003-2009 Anope Team
|
||||
* (C) 2003-2010 Anope Team
|
||||
* Contact us at team@anope.org
|
||||
*
|
||||
* Please read COPYING and README for furhter details.
|
||||
|
||||
+9
-1
@@ -1,6 +1,6 @@
|
||||
/* Prototypes and external variable declarations.
|
||||
*
|
||||
* (C) 2003-2009 Anope Team
|
||||
* (C) 2003-2010 Anope Team
|
||||
* Contact us at team@anope.org
|
||||
*
|
||||
* Please read COPYING and README for furhter details.
|
||||
@@ -109,6 +109,8 @@ E char *get_throttle(Channel * chan);
|
||||
E void set_throttle(Channel * chan, char *value);
|
||||
E char *get_redirect(Channel * chan);
|
||||
E void set_redirect(Channel * chan, char *value);
|
||||
E char *get_unkwn(Channel * chan);
|
||||
E void set_unkwn(Channel *chan, char *value);
|
||||
|
||||
|
||||
E void get_channel_stats(long *nrec, long *memuse);
|
||||
@@ -215,11 +217,14 @@ E char *cs_get_limit(ChannelInfo * ci);
|
||||
E void cs_set_limit(ChannelInfo * ci, char *value);
|
||||
E char *cs_get_redirect(ChannelInfo * ci);
|
||||
E void cs_set_redirect(ChannelInfo * ci, char *value);
|
||||
E char *cs_get_unkwn(ChannelInfo * ci);
|
||||
E void cs_set_unkwn(ChannelInfo * ci, char *value);
|
||||
|
||||
E int levelinfo_maxwidth;
|
||||
E ChannelInfo *makechan(const char *chan);
|
||||
E int is_identified(User * user, ChannelInfo * ci);
|
||||
E char *get_mlock_modes(ChannelInfo * ci, int complete);
|
||||
E void CleanAccess(ChannelInfo *ci);
|
||||
|
||||
/**** compat.c ****/
|
||||
|
||||
@@ -611,6 +616,7 @@ E void set_lastmask(User * u);
|
||||
E void introduce_user(const char *user);
|
||||
E int init_primary(int ac, char **av);
|
||||
E int init_secondary(int ac, char **av);
|
||||
E void init_tertiary();
|
||||
E int servernum;
|
||||
|
||||
/**** ircd.c ****/
|
||||
@@ -667,6 +673,7 @@ E void pmodule_cmd_chg_nick(void (*func) (char *oldnick, char *newnick));
|
||||
E void pmodule_cmd_svsnick(void (*func) (char *source, char *guest, time_t when));
|
||||
E void pmodule_cmd_vhost_on(void (*func) (char *nick, char *vIdent, char *vhost));
|
||||
E void pmodule_cmd_connect(void (*func) (int servernum));
|
||||
E void pmodule_cmd_bob(void (*func) ());
|
||||
E void pmodule_cmd_svshold(void (*func) (char *nick));
|
||||
E void pmodule_cmd_release_svshold(void (*func) (char *nick));
|
||||
E void pmodule_cmd_unsgline(void (*func) (char *mask));
|
||||
@@ -1245,6 +1252,7 @@ E void anope_cmd_chgident(char *nick, char *vIdent); /* CHG
|
||||
E void anope_cmd_vhost_on(char *nick, char *vIdent, char *vhost); /* CHGHOST + CHGIDENT */
|
||||
E void anope_cmd_vhost_off(User *u);
|
||||
E void anope_cmd_connect(int servernum); /* Connect */
|
||||
E void anope_cmd_bob();
|
||||
E void anope_cmd_ea(); /* EA */
|
||||
E void anope_cmd_global(char *source, const char *fmt, ...); /* GLOBOPS */
|
||||
E void anope_cmd_invite(char *source, char *chan, char *nick); /* INVITE */
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# Make file for Win32
|
||||
#
|
||||
# (C) 2003-2009 Anope Team
|
||||
# (C) 2003-2010 Anope Team
|
||||
# Contact us at team@anope.org
|
||||
#
|
||||
# Please read COPYING and README for further details.
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
/* Declarations of IRC message structures, variables, and functions.
|
||||
*
|
||||
* (C) 2003-2009 Anope Team
|
||||
* (C) 2003-2010 Anope Team
|
||||
* Contact us at team@anope.org
|
||||
*
|
||||
* Please read COPYING and README for furhter details.
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
/* Modular support
|
||||
*
|
||||
* (C) 2003-2009 Anope Team
|
||||
* (C) 2003-2010 Anope Team
|
||||
* Contact us at team@anope.org
|
||||
*
|
||||
* Please read COPYING and README for furhter details.
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
/* Include extra includes needed by most/all pseudo-clients.
|
||||
*
|
||||
* (C) 2003-2009 Anope Team
|
||||
* (C) 2003-2010 Anope Team
|
||||
* Contact us at team@anope.org
|
||||
*
|
||||
* Please read COPYING and README for furhter details.
|
||||
|
||||
+12
-5
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
*
|
||||
* (C) 2003-2009 Anope Team
|
||||
* (C) 2003-2010 Anope Team
|
||||
* Contact us at team@anope.org
|
||||
*
|
||||
* Please read COPYING and README for furhter details.
|
||||
@@ -265,6 +265,10 @@ typedef enum { false, true } boolean;
|
||||
|
||||
/* Protocol tweaks */
|
||||
|
||||
/* If the IRCd supports TS6 / p10 and it s being used, this selects the uid instead of the nick.. */
|
||||
#define GET_USER(u) ((ircd->p10 || (UseTS6 && ircd->ts6)) ? (u->uid ? u->uid : u->nick) : u->nick)
|
||||
#define GET_BOT(bot) ((ircd->p10 || (UseTS6 && ircd->ts6)) ? (find_uid(bot) ? find_uid(bot)->uid : bot) : bot)
|
||||
|
||||
typedef struct ircdvars_ IRCDVar;
|
||||
typedef struct ircdcapab_ IRCDCAPAB;
|
||||
|
||||
@@ -359,10 +363,11 @@ struct ircdvars_ {
|
||||
char *nickchars; /* character set */
|
||||
int sync; /* reports sync state */
|
||||
int cidrchanbei; /* channel bans/excepts/invites support CIDR (syntax: +b *!*@192.168.0.0/15)
|
||||
* 0 for no support, 1 for strict cidr support, anything else
|
||||
* for ircd specific support (nefarious only cares about first /mask) */
|
||||
int jmode; /* +j join throttle */
|
||||
uint32 chan_jmode; /* Mode */
|
||||
* 0 for no support, 1 for strict cidr support, anything else
|
||||
* for ircd specific support (nefarious only cares about first /mask) */
|
||||
int jmode; /* +j join throttle */
|
||||
uint32 chan_jmode; /* Mode */
|
||||
int delay_cl_intro; /*Delay client introduction till after receiving CAPAB. */
|
||||
};
|
||||
|
||||
struct ircdcapab_ {
|
||||
@@ -865,6 +870,7 @@ struct user_ {
|
||||
char *host; /* User's real hostname */
|
||||
char *hostip; /* User's IP number */
|
||||
char *vhost; /* User's virtual hostname */
|
||||
char *chost; /* User's cloaked hostname */
|
||||
char *vident; /* User's virtual ident */
|
||||
char *realname; /* Realname */
|
||||
Server *server; /* Server user is connected to */
|
||||
@@ -1191,6 +1197,7 @@ typedef struct ircd_proto_ {
|
||||
void (*ircd_cmd_svsnick)(char *source, char *guest, time_t when);
|
||||
void (*ircd_cmd_vhost_on)(char *nick, char *vIdent, char *vhost);
|
||||
void (*ircd_cmd_connect)(int servernum);
|
||||
void (*ircd_cmd_bob)();
|
||||
void (*ircd_cmd_svshold)(char *nick);
|
||||
void (*ircd_cmd_release_svshold)(char *nick);
|
||||
void (*ircd_cmd_unsgline)(char *mask);
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
/* Header for Services list handler.
|
||||
*
|
||||
* (C) 2003-2009 Anope Team
|
||||
* (C) 2003-2010 Anope Team
|
||||
* Contact us at team@anope.org
|
||||
*
|
||||
* Please read COPYING and README for furhter details.
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
*
|
||||
* (C) 2004-2008 Anope Team
|
||||
* (C) 2004-2010 Anope Team
|
||||
* Contact us at team@anope.org
|
||||
*
|
||||
* Please read COPYING and README for furhter details.
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
/* Time-delay routine include stuff.
|
||||
*
|
||||
* (C) 2003-2009 Anope Team
|
||||
* (C) 2003-2010 Anope Team
|
||||
* Contact us at team@anope.org
|
||||
*
|
||||
* Please read COPYING and README for furhter details.
|
||||
|
||||
+1
-1
@@ -27,7 +27,7 @@ fi
|
||||
cat >version.h <<EOF
|
||||
/* Version information for Services.
|
||||
*
|
||||
* (C) 2003-2009 Anope Team
|
||||
* (C) 2003-2010 Anope Team
|
||||
* Contact us at team@anope.org
|
||||
*
|
||||
* Please read COPYING and CREDITS for further details.
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* version file handler for win32.
|
||||
*
|
||||
* (C) 2003-2009 Anope Team
|
||||
* (C) 2003-2010 Anope Team
|
||||
* Contact us at team@anope.org
|
||||
*
|
||||
* Please read COPYING and README for furhter details.
|
||||
|
||||
+2
-2
@@ -1,7 +1,7 @@
|
||||
//
|
||||
// install.js - Windows Configuration
|
||||
//
|
||||
// (C) 2003-2009 Anope Team
|
||||
// (C) 2003-2010 Anope Team
|
||||
// Contact us at team@anope.org
|
||||
//
|
||||
// This program is free but copyrighted software; see the file COPYING for
|
||||
@@ -191,7 +191,7 @@ var buildPackages = [
|
||||
'incpaths' : [
|
||||
'Program Files\\MySQL\\MySQL Server 5.1\\Include'
|
||||
],
|
||||
'dllfile' : 'Program Files\\MySQL\\MySQL Server 5.1\\bin\\libmsyql.dll',
|
||||
'dllfile' : 'Program Files\\MySQL\\MySQL Server 5.1\\bin\\libmysql.dll',
|
||||
'installedDrive' : 'C'
|
||||
},
|
||||
|
||||
|
||||
+9
-14
@@ -1,6 +1,6 @@
|
||||
# Catalan Language File.
|
||||
#
|
||||
# (C) 2003-2009 Anope Team
|
||||
# (C) 2003-2010 Anope Team
|
||||
# Contact us at team@anope.org
|
||||
#
|
||||
# Please read COPYING and README for furhter details.
|
||||
@@ -707,7 +707,7 @@ NICK_SASET_LANGUAGE_SYNTAX
|
||||
NICK_SASET_LANGUAGE_UNKNOWN
|
||||
Unknown language number %d. Type %R%s HELP SET LANGUAGE for a list of languages.
|
||||
NICK_SASET_LANGUAGE_CHANGED
|
||||
Language changed to Catalan.
|
||||
Language for %s changed to %s.
|
||||
|
||||
|
||||
# ACCESS responses
|
||||
@@ -3428,9 +3428,7 @@ NEWS_HELP_LOGON
|
||||
more news messages, only the most recent will be sent.)
|
||||
NewsCount can be configured in services.conf.
|
||||
|
||||
LOGONNEWS LIST may be used by any IRC operator to list the
|
||||
current news messages. ADD and DEL may only be used by
|
||||
Services admins.
|
||||
LOGONNEWS may only be used by Services admins.
|
||||
|
||||
NEWS_HELP_OPER
|
||||
Syntax: OPERNEWS ADD text
|
||||
@@ -3444,9 +3442,7 @@ NEWS_HELP_OPER
|
||||
more news messages, only the most recent will be sent.)
|
||||
NewsCount can be configured in services.conf.
|
||||
|
||||
OPERNEWS LIST may be used by any IRC operator to list the
|
||||
current oper news messages. ADD and DEL may only be used by
|
||||
Services admins.
|
||||
OPERNEWS may only be used by Services admins.
|
||||
|
||||
NEWS_HELP_RANDOM
|
||||
Sintaxis: RANDOMNEWS ADD text
|
||||
@@ -3457,9 +3453,7 @@ NEWS_HELP_RANDOM
|
||||
Quant un usuari es connecta a la xarxa, un (i nomès un) dels
|
||||
missatges a l'atzar sera escollit i enviat a ells.
|
||||
|
||||
RANDOMNEWS LIST pot ser utilitzat per qualsevol operador
|
||||
d'IRC per llistar la llista de notícies actual. ADD i DEL
|
||||
nomès pot ser utilitzats per administradors de serveis.
|
||||
RANDOMNEWS may only be used by Services admins.
|
||||
|
||||
###########################################################################
|
||||
#
|
||||
@@ -5223,6 +5217,7 @@ CHAN_HELP_CLEAR
|
||||
neteja els Modes i,k,l,m,n,p,s,t).
|
||||
BANS neteja tots els bans en el canal.
|
||||
EXCEPTS neteja tots els excepts en el canal.
|
||||
INVITES Clears all invites on the channel.
|
||||
OPS Esborra estatus d'operador de canal(Mode +o)
|
||||
de tots els operadors de canal.
|
||||
HOPS Removes channel-halfoperator status (mode +h) from
|
||||
@@ -5704,7 +5699,7 @@ OPER_HELP_CMD_SHUTDOWN
|
||||
OPER_HELP_CMD_DEFCON
|
||||
DEFCON Manipulate the DefCon system
|
||||
OPER_HELP_CMD_CHANKILL
|
||||
CHANKILL Kill all users on a specific channel
|
||||
CHANKILL AKILL all users on a specific channel
|
||||
OPER_HELP_CMD_OLINE
|
||||
OLINE Give Operflags to a certain user
|
||||
OPER_HELP_CMD_UMODE
|
||||
@@ -6732,9 +6727,9 @@ HOST_SET_IDENTTOOLONG
|
||||
HOST_NOREG
|
||||
User %s not found in the nickserv db.
|
||||
HOST_SET_SYNTAX
|
||||
Syntax %R%s set <nick> <hostmask>.
|
||||
SET <nick> <hostmask>.
|
||||
HOST_SETALL_SYNTAX
|
||||
Syntax %R%s setall <nick> <hostmask>.
|
||||
SETALL <nick> <hostmask>.
|
||||
HOST_DENIED
|
||||
Access Denied.
|
||||
HOST_NOT_ASSIGNED
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# Deutsches Language file.
|
||||
#
|
||||
# (C) 2003-2009 Anope Team
|
||||
# (C) 2003-2010 Anope Team
|
||||
# Contact us at team@anope.org
|
||||
#
|
||||
# Please read COPYING and README for furhter details.
|
||||
@@ -12,8 +12,9 @@
|
||||
# - Solltest du irgendwelche Rechtschreibfehler oder sonstige
|
||||
# Verbesserungsvorschläge haben, immer her damit!
|
||||
#
|
||||
# letzte Änderung: 28.02.2003
|
||||
# INFO ::: Letzte Änderung: 08.08.2009 -- Han` -- Han@mefalcon.org --
|
||||
#
|
||||
##########################################################################
|
||||
#
|
||||
# This program is free but copyrighted software; see the file COPYING for
|
||||
# details.
|
||||
@@ -49,13 +50,6 @@
|
||||
# (including empty lines). This has to be a tab, not spaces.
|
||||
##########################################################################
|
||||
#
|
||||
# INFO ::: Letzte Änderung: 19.10.2008 -- Han` --
|
||||
#
|
||||
##########################################################################
|
||||
|
||||
|
||||
###########################################################################
|
||||
#
|
||||
# Name of this language
|
||||
#
|
||||
###########################################################################
|
||||
@@ -319,10 +313,13 @@ END_OF_ANY_LIST
|
||||
|
||||
# Automatic messages
|
||||
LIST_INCORRECT_RANGE
|
||||
Incorrect range specified. The correct syntax is #from-to.
|
||||
Du hast einen fehlerhaften Bereich angegeben.
|
||||
Die richtige Schreibweise ist #von-bis.
|
||||
Beispiel: #1-50 oder #1-100
|
||||
CS_LIST_INCORRECT_RANGE
|
||||
To search for channels starting with #, search for the channel
|
||||
name without the #-sign prepended (anope instead of #anope).
|
||||
Um nach Channeln zu suchen die mit # beginnen, suche nach Channelnamen
|
||||
ohne das #-Symbol voranszutellen (anope anstatt #anope).
|
||||
Wildcards können verwendet werden.
|
||||
|
||||
###########################################################################
|
||||
#
|
||||
@@ -724,7 +721,7 @@ NICK_SASET_LANGUAGE_UNKNOWN
|
||||
Unbekannte Sprachen-Nummer %d.
|
||||
Tippe %R%s HELP SET LANGUAGE um eine Liste aller verfügbaren Sprachen zu erhalten.
|
||||
NICK_SASET_LANGUAGE_CHANGED
|
||||
Sprache wurde geändert zu Deutsch.
|
||||
Language for %s changed to %s.
|
||||
|
||||
|
||||
# ACCESS responses
|
||||
@@ -789,7 +786,7 @@ NICK_INFO_EMAIL
|
||||
NICK_INFO_VHOST
|
||||
vHost: %s
|
||||
NICK_INFO_VHOST2
|
||||
vHost: %s@%s
|
||||
vHost: %s@%s
|
||||
NICK_INFO_ICQ
|
||||
ICQ #: %d
|
||||
NICK_INFO_GREET
|
||||
@@ -1130,7 +1127,9 @@ CHAN_LOGOUT_SERVADMIN_SYNTAX
|
||||
CHAN_LOGOUT_SUCCEEDED
|
||||
Der User %s wurde vom Channel %s ausgeloggt.
|
||||
CHAN_LOGOUT_ALL_SUCCEEDED
|
||||
Alle identifizierten User wurden vom Channel ausgeloggt %s (except the channel founder).
|
||||
Alle identifizierten User wurden vom Channel ausgeloggt %s (außer dem Channel Founder).
|
||||
CHAN_LOGOUT_FOUNDER_FAILED
|
||||
You may not log out of %s (you are founder).
|
||||
|
||||
# DROP responses
|
||||
CHAN_DROP_SYNTAX
|
||||
@@ -1160,7 +1159,7 @@ CHAN_SUCCESSOR_CHANGED
|
||||
CHAN_SUCCESSOR_UNSET
|
||||
Der Eintrag des Vertreters für %s wurde entfernt.
|
||||
CHAN_SUCCESSOR_IS_FOUNDER
|
||||
%s kann nicht gleichzeitig Gründer und Vertreter im Channel %s sein.
|
||||
%s kann nicht gleichzeitig Founder und Vertreter im Channel %s sein.
|
||||
|
||||
# SET PASSWORD responses
|
||||
CHAN_SET_PASSWORD_FAILED
|
||||
@@ -1559,7 +1558,7 @@ CHAN_LEVELS_LIST_HEADER
|
||||
CHAN_LEVELS_LIST_DISABLED
|
||||
%-*s (deaktiviert)
|
||||
CHAN_LEVELS_LIST_FOUNDER
|
||||
%-*s (nur Gründer)
|
||||
%-*s (nur Founder)
|
||||
CHAN_LEVELS_LIST_NORMAL
|
||||
%-*s %d
|
||||
CHAN_LEVELS_RESET
|
||||
@@ -1583,9 +1582,9 @@ CHAN_INFO_SYNTAX
|
||||
CHAN_INFO_HEADER
|
||||
Informationen über den Channel %s:
|
||||
CHAN_INFO_FOUNDER
|
||||
Gründer: %s (%s)
|
||||
Founder: %s (%s)
|
||||
CHAN_INFO_NO_FOUNDER
|
||||
Gründer: %s
|
||||
Founder: %s
|
||||
CHAN_INFO_SUCCESSOR
|
||||
Vertreter: %s (%s)
|
||||
CHAN_INFO_NO_SUCCESSOR
|
||||
@@ -1699,7 +1698,7 @@ CHAN_GETPASS_PASSWORD_IS
|
||||
CHAN_GETKEY_SYNTAX
|
||||
GETKEY Channel
|
||||
CHAN_GETKEY_NOKEY
|
||||
Der Channel %s hat keinen Schlüßel.
|
||||
Der Channel %s hat kein Passwort.
|
||||
CHAN_GETKEY_KEY
|
||||
KEY %s %s
|
||||
|
||||
@@ -2620,7 +2619,7 @@ OPER_SVSNICK_NEWNICK
|
||||
OPER_ADMIN_SYNTAX
|
||||
ADMIN {ADD|DEL|LIST|CLEAR} [Nickname | entry-liste]
|
||||
OPER_ADMIN_SKELETON
|
||||
Services sind im Basis-Modus. Das ADMIN-Befehl ist nicht verfügbar.
|
||||
Services sind im Basis-Modus. Der ADMIN-Befehl ist nicht verfügbar.
|
||||
OPER_ADMIN_EXISTS
|
||||
%s existiert bereits auf der Services Administratoren-Liste.
|
||||
OPER_ADMIN_REACHED_LIMIT
|
||||
@@ -2767,7 +2766,7 @@ OPER_SGLINE_VIEW_FORMAT
|
||||
OPER_SGLINE_CLEAR
|
||||
Die SGLINE-Liste wurde geleert.
|
||||
|
||||
# SZLINE responses
|
||||
# SQLINE responses
|
||||
OPER_SQLINE_SYNTAX
|
||||
SQLINE {ADD | DEL | LIST | VIEW | CLEAR} [[+Zeit] {Hostmaske | entry-liste} [Grund]]
|
||||
OPER_SQLINE_CHANNELS_UNSUPPORTED
|
||||
@@ -2918,9 +2917,9 @@ OPER_JUPE_SYNTAX
|
||||
|
||||
# RAW responses
|
||||
OPER_JUPE_HOST_ERROR
|
||||
Benutze bitte einen gültigen hostnamen, wenn du jupiterst
|
||||
Benutze bitte einen gültigen Hostnamen, wenn du den JUPE Befehl benutzt.
|
||||
OPER_JUPE_INVALID_SERVER
|
||||
You can not jupe your services server or your uplink server.
|
||||
Du kannst den JUPE Befehl nicht gegen Deinen Services Server oder Hub Server richten.
|
||||
|
||||
# RAW responses
|
||||
OPER_RAW_SYNTAX
|
||||
@@ -3244,7 +3243,7 @@ OPER_HELP_STAFF
|
||||
OPER_HELP_DEFCON
|
||||
Syntax: DEFCON [1|2|3|4|5]
|
||||
|
||||
Das Defcon-System kann benutzt werden, um vordefinierte Einstellung
|
||||
Das Defcon-System kann benutzt werden, um vordefinierte Einstellung
|
||||
von einschränkungen der Services einzubinden - nützlich während
|
||||
versuchter Angriffe auf das Netzwerk.
|
||||
|
||||
@@ -3349,13 +3348,13 @@ NEWS_RANDOM_LIST_ENTRY
|
||||
%5d (%s von %s)
|
||||
%s
|
||||
NEWS_RANDOM_LIST_NONE
|
||||
Keine randomnews vorhanden.
|
||||
Keine Randomnews vorhanden.
|
||||
NEWS_RANDOM_ADD_SYNTAX
|
||||
RANDOMNEWS ADD Text
|
||||
NEWS_RANDOM_ADD_FULL
|
||||
Die News Liste ist voll!
|
||||
NEWS_RANDOM_ADDED
|
||||
Neuer randomnews Eintrag hinzugefügt (#%d).
|
||||
Neuer Randomnews Eintrag hinzugefügt (#%d).
|
||||
NEWS_RANDOM_DEL_SYNTAX
|
||||
RANDOMNEWS DEL {Nummer | ALL}
|
||||
NEWS_RANDOM_DEL_NOT_FOUND
|
||||
@@ -3363,9 +3362,9 @@ NEWS_RANDOM_DEL_NOT_FOUND
|
||||
NEWS_RANDOM_DELETED
|
||||
Randomnews Eintrag #%d gelöscht.
|
||||
NEWS_RANDOM_DEL_NONE
|
||||
Keine randomnews Einträge zu löschen!
|
||||
Keine Randomnews Einträge zu löschen!
|
||||
NEWS_RANDOM_DELETED_ALL
|
||||
Ale randomnews Einträge wurden gelöscht.
|
||||
Ale Randomnews Einträge wurden gelöscht.
|
||||
|
||||
NEWS_HELP_LOGON
|
||||
Syntax: LOGONNEWS ADD Text
|
||||
@@ -3377,12 +3376,9 @@ NEWS_HELP_LOGON
|
||||
angezeigt. (Es werden jedoch nur max. %s angezeigt, um ein
|
||||
Flooding des Users zu verhindern. Wenn mehr News
|
||||
existieren, werden nur die neuesten angezeigt.)
|
||||
NewsCount can be configured in services.conf.
|
||||
Die Anzahl der News können in der services.conf festgelegt werden.
|
||||
|
||||
LOGONNEWS LIST kann von jedem IRC Operator benutzt werden
|
||||
um die aktuelle Liste der Logon News anzeigen zu lassen.
|
||||
ADD oder DEL können allerdings nur von Services Admins
|
||||
ausgeführt werden.
|
||||
Diese Funktion ist beschränkt auf die Services Administartoren.
|
||||
|
||||
NEWS_HELP_OPER
|
||||
Syntax: OPERNEWS ADD Text
|
||||
@@ -3395,12 +3391,9 @@ NEWS_HELP_OPER
|
||||
(Es werden jedoch nur max. %s Nachrichten angezeigt, um ein
|
||||
Flooding des Users zu verhindern. Wenn mehr News
|
||||
existieren, werden nur die neüsten angezeigt.)
|
||||
NewsCount can be configured in services.conf.
|
||||
Die Anzahl der News können in der services.conf festgelegt werden.
|
||||
|
||||
OPERNEWS LIST kann von jedem IRC Operator benutzt werden
|
||||
um die aktuelle Liste der Oper-News anzeigen zu lassen.
|
||||
ADD oder DEL können allerdings nur von Services Admins
|
||||
ausgeführt werden.
|
||||
Diese Funktion ist beschränkt auf die Services Administartoren.
|
||||
|
||||
NEWS_HELP_RANDOM
|
||||
Syntax: RANDOMNEWS ADD Text
|
||||
@@ -3411,9 +3404,7 @@ NEWS_HELP_RANDOM
|
||||
Wenn ein User zum Network verbindet, wird eine (und nur eine!) dieser
|
||||
RandomNews Nachrichten zufällig gewählt und an den User gesendet.
|
||||
|
||||
RANDOMNEWS LIST kann von jedem IRC Operator genutzt werden um die
|
||||
aktuellen News Nachrichten aufzulisten. ADD und DEL können nur von
|
||||
Services Administratoren genutzt werden.
|
||||
Diese Funktion ist beschränkt auf die Services Administartoren.
|
||||
|
||||
###########################################################################
|
||||
#
|
||||
@@ -3622,7 +3613,7 @@ NICK_HELP_UPDATE
|
||||
|
||||
Updatet deinen derzeiten Status, z.B. prüft es auf neue Nachrichten,
|
||||
setzt benötigte Channel-Modes (ModeonID), aktualisiert deinen vHost und
|
||||
deine userflags (lastseentime, etc).
|
||||
deine Userflags (lastseentime, etc).
|
||||
|
||||
NICK_HELP_LOGOUT
|
||||
Syntax: LOGOUT
|
||||
@@ -3765,7 +3756,7 @@ NICK_HELP_SET_GREET
|
||||
gesendet, wenn du in einen Channel eintrittst, der
|
||||
die GREET Option eingeschaltet hat. Vorausgesetzt
|
||||
du hast den nötigen Zugriffslevel in der Access-Liste
|
||||
des Channels.
|
||||
des Channels.
|
||||
|
||||
NICK_HELP_SET_KILL
|
||||
Syntax: SET KILL {ON | QUICK | IMMED | OFF}
|
||||
@@ -4051,7 +4042,7 @@ NICK_HELP_GHOST
|
||||
wenn dein Computer abstürtzt oder deine Internet-
|
||||
Verbindung zusammenbricht, wenn du im IRC bist.
|
||||
|
||||
Wenn du das GHOST Befehk benutzen willst,muss
|
||||
Wenn du das GHOST Befehl benutzen willst,muss
|
||||
deine aktuelle Hostmaske (siehe /WHOIS) in der
|
||||
Zugriffsliste des entsprechenden Nicknamens oder
|
||||
in der Gruppe des Nicknamens sein.Weiterhin musst
|
||||
@@ -4115,7 +4106,7 @@ NICK_HELP_ALIST
|
||||
NICK_HELP_GLIST
|
||||
Syntax: GLIST
|
||||
|
||||
Zeigt alle Nicknamen die in deiner Gruppe enthalten sind.
|
||||
Zeigt alle Nicknamen die in deiner Gruppe enthalten sind.
|
||||
|
||||
NICK_HELP_STATUS
|
||||
Syntax: STATUS Nickname
|
||||
@@ -4278,7 +4269,7 @@ NICK_SERVADMIN_HELP_GETPASS
|
||||
NICK_SERVADMIN_HELP_GETEMAIL
|
||||
Syntax: GETEMAIL user@emailhost
|
||||
|
||||
Gibt die passenden Nicknamen auf, welche die gegebene eMail benutzen.
|
||||
Gibt die passenden Nicknamen an, welche die angegebene eMail benutzen.
|
||||
Beachte, dass du keine wildcards für den User oder emailhost
|
||||
verwenden kannst. Immer, wenn dieser Befehl benutzt wird, wird
|
||||
eine Nachricht mit dem Nickname der Person mitgeloggt.
|
||||
@@ -4355,11 +4346,11 @@ CHAN_HELP_CMD_DEVOICE
|
||||
DEVOICE Enfernt den Voice-Status des angegebenen Nicknamens
|
||||
in einen Channel
|
||||
CHAN_HELP_CMD_GETKEY
|
||||
GETKEY Gibt den Channel-Schlüßel wieder
|
||||
GETKEY Gibt das Channel-Passwort wieder
|
||||
CHAN_HELP_CMD_INFO
|
||||
INFO Zeigt Informationen über den angegebenen Channel
|
||||
CHAN_HELP_CMD_INVITE
|
||||
INVITE Tells ChanServ to invite you into a channel
|
||||
INVITE Befiehlt Chanserv Dich in einen Channel einzuladen
|
||||
CHAN_HELP_CMD_KICK
|
||||
KICK Kickt den angegebenen Nicknamen aus einen Channel
|
||||
CHAN_HELP_CMD_LIST
|
||||
@@ -4371,7 +4362,7 @@ CHAN_HELP_CMD_OP
|
||||
CHAN_HELP_CMD_TOPIC
|
||||
TOPIC Ändert den Topic des angegebenen Channels
|
||||
CHAN_HELP_CMD_UNBAN
|
||||
UNBAN Enfernt ein ban(s) die dich betreffen aus einen Channel
|
||||
UNBAN Enfernt den oder die ban(s) die dich betreffen aus einen Channel
|
||||
CHAN_HELP_CMD_VOICE
|
||||
VOICE Gibt den angegebenen User Voice-Status in einen Channel
|
||||
CHAN_HELP_CMD_VOP
|
||||
@@ -4380,7 +4371,7 @@ CHAN_HELP_CMD_DEHALFOP
|
||||
DEHALFOP Enfernt den HalfOP-Status des angegebenen Nicknamens
|
||||
in einen Channel
|
||||
CHAN_HELP_CMD_DEOWNER
|
||||
DEOWNER Entfernt dein Gründer Status in einen Channel
|
||||
DEOWNER Entfernt dein Founder (Gründer) Status in einen Channel
|
||||
CHAN_HELP_CMD_DEPROTECT
|
||||
DEPROTECT Entfernt den schutz des angegebenen Nicknamens
|
||||
in einen Channel
|
||||
@@ -4389,7 +4380,7 @@ CHAN_HELP_CMD_HALFOP
|
||||
CHAN_HELP_CMD_HOP
|
||||
HOP Verwaltet die HOP-Liste von einen Channel
|
||||
CHAN_HELP_CMD_OWNER
|
||||
OWNER Gibt dir Gründer Staus in einen Channel
|
||||
OWNER Gibt dir Founder (Gründer) Staus in einen Channel
|
||||
CHAN_HELP_CMD_PROTECT
|
||||
PROTECT Schützt den angegebenen Nicknamen in einen Channel
|
||||
CHAN_HELP_CMD_ADMIN
|
||||
@@ -4427,7 +4418,7 @@ CHAN_HELP_REGISTER
|
||||
einstellst, erlaubt es später anderen Änderungen
|
||||
am Channel durchzuführen.Der letzte Parameter, der
|
||||
angegeben werden MUSS,sollte eine allgemeine
|
||||
Beschreibung des Channels bzw dessen Zweck beinhalten.
|
||||
Beschreibung des Channels bzw dessen Zweck beinhalten.
|
||||
|
||||
Wenn du einen Channel registrierst, wird dein Nickname
|
||||
als Founder (Gründer) eingetragen. Der Channel-Founder
|
||||
@@ -4440,14 +4431,14 @@ CHAN_HELP_REGISTER
|
||||
|
||||
Hinweis: Für das Registrieren eines Channels musst du
|
||||
einen registrierten und identifizierten Nickname benutzen.
|
||||
Hast du dies noch nicht getan, tippe %R%s HELP REGISTER
|
||||
Hast du dies noch nicht getan, tippe %R%s HELP REGISTER
|
||||
um weitere Informationen darüber zu erhalten.
|
||||
|
||||
CHAN_HELP_IDENTIFY
|
||||
Syntax: IDENTIFY Channel Passwort
|
||||
|
||||
Identifiziert ein Nickname gegenüber %S als
|
||||
Gründer (Founder) des angegebenen Channels.
|
||||
Founder (Gründer) des angegebenen Channels.
|
||||
Das Passwort muss dasselbe wie bei der
|
||||
registrierung des angegebenen Channels sein
|
||||
und ist in der Regel von den Real-Founder des
|
||||
@@ -4476,7 +4467,7 @@ CHAN_HELP_SET
|
||||
|
||||
Verfügbare Optionen:
|
||||
|
||||
FOUNDER Stellt den Gründer des Channels ein
|
||||
FOUNDER Stellt den Founder (Gründer) des Channels ein
|
||||
SUCCESSOR Stellt den Vertreter des Founders ein
|
||||
PASSWORD Ändert das Passwort des Channel-Founders
|
||||
DESC Ändert die Channel-Beschreibung
|
||||
@@ -4515,10 +4506,10 @@ CHAN_HELP_SET_FOUNDER
|
||||
CHAN_HELP_SET_SUCCESSOR
|
||||
Syntax: SET Channel SUCCESSOR Nickname
|
||||
|
||||
Ändert den Vertreter des Gründers in dem Channel. Wenn
|
||||
der Nickname des Gründers ausläuft oder gedropped wird,
|
||||
Ändert den Vertreter des Founders (Gründer) in dem Channel.
|
||||
Wenn der Nickname des Founders ausläuft oder gedropped wird,
|
||||
wenn der Channel registriert ist, wird der Vertreter
|
||||
der neue Gründer des Channels. Wenn jedoch der
|
||||
der neue Founder des Channels. Wenn jedoch der
|
||||
Vertreter bereits zu viele Channels registriert hat
|
||||
(max %d), wird der Channel gedropped.
|
||||
|
||||
@@ -4604,7 +4595,7 @@ CHAN_HELP_SET_MLOCK
|
||||
|
||||
Die Modes die gelockt werden können sind von dein IRCD abhängig.
|
||||
Jede einzelne dieser Modes kann ein/aus oder gar nicht gelockt werden.
|
||||
Der Modi Parameter ist genauso aufgebaut wie das jeweilige /MODE Befehl.
|
||||
Der Modi Parameter ist genauso aufgebaut wie das jeweilige /MODE Befehl.
|
||||
Dies bedeutet, Modi die durch ein + gekennzeichnet sind, sind aktiviert,
|
||||
durch ein - sind sie deaktiviert.
|
||||
|
||||
@@ -4648,9 +4639,13 @@ CHAN_HELP_SET_PRIVATE
|
||||
CHAN_HELP_SET_RESTRICTED
|
||||
Syntax: SET Channel RESTRICTED {ON | OFF}
|
||||
|
||||
Enables or disables the restricted access option for a
|
||||
channel. When restricted access is set, users not on
|
||||
the access list will instead be kicked and banned from the channel.
|
||||
Aktiviert oder deaktiviert den restricted access
|
||||
(beschränkter Zugriff)-Modi für einen Channel. Wenn
|
||||
restricted access eingeschaltet ist, werden
|
||||
User die sonst keinen Channel Operator-Status besitzen
|
||||
würden (Nicknamen mit negativem Zugriffslevel, oder wenn
|
||||
Secure Ops aktiv ist, Nicknamen die nicht auf der
|
||||
Zugriffsliste sind) vom Channel gekicked und gebanned.
|
||||
|
||||
CHAN_HELP_SET_SECURE
|
||||
Syntax: SET Channel SECURE {ON | OFF}
|
||||
@@ -4706,7 +4701,7 @@ CHAN_HELP_SET_XOP
|
||||
wechselst, werden die Zugriffslevel geändert, folglich wirst du
|
||||
nicht die selben Werte finden, wenn du zu Access zurückwechselst.
|
||||
|
||||
Du solltest nach einem Wechsel zum xOP System darauf achten,
|
||||
Du solltest nach einem Wechsel zum XOP System darauf achten,
|
||||
dass die User das richtige Level besitzen, da das Umwechseln
|
||||
auf Vermutung basiert und nicht immer perfekt funktioniert.
|
||||
Es ist nicht empfohlen nach einer Änderung der Levels das xOP
|
||||
@@ -5062,9 +5057,9 @@ CHAN_HELP_OP
|
||||
|
||||
Setzt den Operator-Status des angegebenen Nicknamen
|
||||
in dem Channel. Wird kein Nickname angegeben, wird
|
||||
ChanServ dich oppen, vorausgesetzt, du hast die
|
||||
entsprechenden Rechte in der Zugriffsliste um
|
||||
diesen Befehl auszuführen.
|
||||
ChanServ Dir Op Status geben, vorausgesetzt,
|
||||
du hast dieentsprechenden Rechte in der Zugriffsliste
|
||||
um diesen Befehl auszuführen.
|
||||
|
||||
Standardmässig ist dafür ein Level von 5 oder
|
||||
grösser erforderlich.
|
||||
@@ -5073,10 +5068,11 @@ CHAN_HELP_DEOP
|
||||
Syntax: DEOP [Channel [Nickname]]
|
||||
|
||||
Entfernt den Operator-Status eines bestimmten Nickname
|
||||
in dem Channel. Wird kein Nickname angegeben, wird ChanServ
|
||||
dich deoppen. Wird weder Channel noch Nick als Parameter
|
||||
übergeben, wird ChanServ dich in allen Channels deoppen
|
||||
in denen du die entsprechenden Rechte hast.
|
||||
in dem Channel. Wird kein Nickname angegeben, wird
|
||||
ChanServ Dir den Op Status nehmen. Wird weder Channel
|
||||
noch Nick als Parameter übergeben, wird ChanServ Dir
|
||||
in allen Channels den Op Status nehmen, in denen Du die
|
||||
entsprechenden Rechte hast.
|
||||
|
||||
Standardmässig ist dafür ein Level von 5 oder
|
||||
grösser erforderlich.
|
||||
@@ -5085,53 +5081,53 @@ CHAN_HELP_VOICE
|
||||
Syntax: VOICE [Channel [Nickname]]
|
||||
|
||||
Erteilt dem angegebenen Nickname Voice-Status in dem
|
||||
Channel. Wird kein Nick angegeben, wird ChanServ dich
|
||||
voicen. Wird weder Channel noch Nickane angegeben, wird
|
||||
ChanServ dich in allen Channels voicen, in denen du
|
||||
die entsprechenden Rechte hast.
|
||||
Channel. Wird kein Nick angegeben, wird ChanServ Dir
|
||||
Voice geben. Wird weder Channel noch Nickane angegeben,
|
||||
wird ChanServ Dir in allen Channels Voice geben,
|
||||
in denen Du die entsprechenden Rechte hast.
|
||||
|
||||
Standardmässig brauchst du dafür ein Level von 5
|
||||
um anderen Voice zu erteilen, oder Level 3 um dich
|
||||
selbst zu voicen.
|
||||
um anderen Voice zu erteilen, oder Level 3 um Dir
|
||||
selbst Voice zu geben.
|
||||
|
||||
CHAN_HELP_DEVOICE
|
||||
Syntax: DEVOICE [Channel [Nickname]]
|
||||
|
||||
Entfernt den Voice-Status des Nicknamen in dem Channel.
|
||||
Wird kein Nickname angegeben, wird ChanServ dich devoicen.
|
||||
Wird weder Channel noch Nick angegeben, wird ChanServ
|
||||
dich in allen Channels voicen, in denen du die
|
||||
entsprechenden Rechte hast.
|
||||
Wird kein Nickname angegeben, wird ChanServ Dir den
|
||||
Voice Status nehmen.Wird weder Channel noch Nick angegeben,
|
||||
wird ChanServ Dir in allen Channels den Voice Status nehmen,
|
||||
in denen Du die entsprechenden Rechte hast.
|
||||
|
||||
Standardmässig brauchst du dafür ein Level von 5
|
||||
um andere zu devoicen, oder Level 3 um dich selbst
|
||||
vom Voice-Flag zu befreien.
|
||||
um anderen den Voice Status zu nehmen, oder Level 3 um
|
||||
dich selbst vom Voice-Flag zu befreien.
|
||||
|
||||
CHAN_HELP_HALFOP
|
||||
Syntax: HALFOP [Channel [Nickname]]
|
||||
|
||||
Setzt den Half-Op-Status des angegebenen Nicknamen in dem
|
||||
Channel. Wird kein Nickname angegeben, wird ChanServ dich
|
||||
halfoppen. Wird weder Channel noch Nickname angegeben,
|
||||
wird ChanServ dich in allen Channels halfoppen, in denen
|
||||
du die entsprechenden Rechte hast.
|
||||
Channel. Wird kein Nickname angegeben, wird ChanServ Dir
|
||||
den Halfop geben. Wird weder Channel noch Nickname angegeben,
|
||||
wird ChanServ Dir in allen Channels den Halfop geben,
|
||||
in denen du die entsprechenden Rechte hast.
|
||||
|
||||
Standardmässig brauchst du dafür ein Level von 5
|
||||
um andere zu halfoppen, oder Level 4 um dich selbst zu
|
||||
halfoppen.
|
||||
um andere den Halfop Status zu geben, oder Level 4
|
||||
um Dir selbst den Halfop Status zu geben.
|
||||
|
||||
CHAN_HELP_DEHALFOP
|
||||
Syntax: DEHALFOP [Channel [Nickname]]
|
||||
|
||||
Entfernt den Half-Op-Status des angegebenen Nicknamen in dem
|
||||
Channel. Wird kein Nickname angegeben, wird ChanServ dich
|
||||
dehalfoppen. Wird weder Channel noch Nickname angegeben,
|
||||
wird ChanServ dich in allen Channels dehalfoppen, in denen
|
||||
Channel. Wird kein Nickname angegeben, wird ChanServ Dir
|
||||
den Halfop nehmen. Wird weder Channel noch Nickname angegeben,
|
||||
wird ChanServ Dir in allen Channels den Halfop nehmen, in denen
|
||||
du die entsprechenden Rechte hast.
|
||||
|
||||
Standardmässig brauchst du dafür ein Level von 5
|
||||
um andere zu dehalfoppen, oder Level 4 um dich selbst zu
|
||||
dehalfoppen.
|
||||
um andere den Halfop Status zu nehmen, oder Level 4
|
||||
um Dir selbst den Halfop Status zu nehmen.
|
||||
|
||||
CHAN_HELP_PROTECT
|
||||
Syntax: PROTECT [Channel [Nickname]]
|
||||
@@ -5241,6 +5237,7 @@ CHAN_HELP_CLEAR
|
||||
(z.B. Modi i,k,l,m,n,p,s und t)
|
||||
BANS Entfernt alle Bans in dem Channel
|
||||
EXCEPTS Entfernt alle Excepts in dem Channel
|
||||
INVITES Löscht alle Einladungen im Channel.
|
||||
OPS Entfernt jeden Operator-Status (mode +o)
|
||||
in dem Channel.
|
||||
HOPS Entfernt jeden Halfoperator-Status (mode +h)
|
||||
@@ -5304,7 +5301,7 @@ CHAN_SERVADMIN_HELP_DROP
|
||||
|
||||
Entfernt die Registrierung des angegebenen Channels aus
|
||||
der Datenbank. Zusätzlich werden Zugriffslisten,
|
||||
Einstellungen usw mit aus der Datenbank entfernt.
|
||||
Einstellungen usw mit aus der Datenbank entfernt.
|
||||
|
||||
Nur Services Administratoren können Channel DROPEN,
|
||||
(löschen) ohne sich vorher gegenüber dem Channel als
|
||||
@@ -5549,13 +5546,16 @@ MEMO_HELP_SET_NOTIFY
|
||||
machst.
|
||||
NEW Du wirst nur informiert, wenn sie an dich
|
||||
gesendet werden.
|
||||
MAIL You will be notified of memos by email aswell as
|
||||
any other settings you have.
|
||||
NOMAIL You will not be notified of memos by email.
|
||||
MAIL Du wirst über neue memos per email informiert.
|
||||
NOMAIL Du wirst nicht über neue memos informiert per email.
|
||||
OFF Es wird keine Benachrichtigung über neue
|
||||
Memos stattfinden.
|
||||
|
||||
ON ist eine Kombination aus LOGON und NEW.
|
||||
MAIL und NOMAIL sind optionale Einstellungen und
|
||||
beeinflussen ON | LOGON | NEW nicht. Nach der Einstellung
|
||||
OFF muß die Option Mail erneut gesetzt werden, damit
|
||||
memos per email zugestellt werden sollen.
|
||||
|
||||
MEMO_HELP_SET_LIMIT
|
||||
Syntax: SET LIMIT [Channel] Limit
|
||||
@@ -5716,7 +5716,7 @@ OPER_HELP_CMD_SHUTDOWN
|
||||
OPER_HELP_CMD_DEFCON
|
||||
DEFCON Ändert das DefCon System
|
||||
OPER_HELP_CMD_CHANKILL
|
||||
CHANKILL Killt alle User des angegebenen Channels
|
||||
CHANKILL Setzt einen AKILL auf alle User des angegebenen Channels.
|
||||
OPER_HELP_CMD_OLINE
|
||||
OLINE Einem User "Operflags" setzen
|
||||
OPER_HELP_CMD_UMODE
|
||||
@@ -6121,14 +6121,12 @@ OPER_HELP_SET
|
||||
Ändert globale Einstellungen der Services Optionen.
|
||||
Diese Optionen lassen sich ändern:
|
||||
|
||||
READONLY Nur-Lese Modus der Datenbank an
|
||||
oder aus
|
||||
READONLY Nur-Lese Modus der Datenbank an oder aus
|
||||
LOGCHAN Zeigt Logmessages in einem Chan
|
||||
DEBUG Debug-Modus der Services an oder aus
|
||||
NOEXPIRE Auslauf-Modus der Services
|
||||
an oder aus
|
||||
NOEXPIRE Auslauf-Modus der Services an oder aus
|
||||
SUPERADMIN Den Super-Admin Modus an oder aus
|
||||
SQL SQL-Modus an oder aus
|
||||
SQL SQL-Modus an oder aus
|
||||
IGNORE Ignore-Modus an oder aus
|
||||
LIST Optionen-Liste
|
||||
|
||||
@@ -6285,7 +6283,7 @@ OPER_HELP_RESTART
|
||||
|
||||
Die Services werden sich bei diesem Befehl beenden,
|
||||
die Datenbanken speichern, und danach neustarten
|
||||
(die ausführbare Datei erneut aufrufen).
|
||||
(die ausführbare Datei erneut aufrufen).
|
||||
|
||||
OPER_HELP_CHANLIST
|
||||
Syntax: CHANLIST [{Muster | Nickname} [SECRET]]
|
||||
@@ -6751,9 +6749,9 @@ HOST_DEL
|
||||
HOST_DEL_SYNTAX
|
||||
DEL Nickname.
|
||||
HOST_OFF
|
||||
Your vhost was removed and the normal cloaking restored.
|
||||
Dein vHost wurde deaktiviert und die normale Host-Verschlüsselung wiederhergestellt.
|
||||
HOST_OFF_UNREAL
|
||||
Dein vHost wurde gelöscht. Um die normale Host-Verschlüsselung zu reaktivieren, tippe /mode %s +%s
|
||||
Dein vHost wurde deaktiviert. Um die normale Host-Verschlüsselung zu reaktivieren, tippe /mode %s +%s
|
||||
HOST_NO_VIDENT
|
||||
Dein IRCd unterstützt keine vIdents. Falls das inkorrekt sein sollte, melde das bitte als einen Bug.
|
||||
HOST_GROUP
|
||||
|
||||
+23
-28
@@ -1,6 +1,6 @@
|
||||
# United States English language file.
|
||||
#
|
||||
# (C) 2003-2009 Anope Team
|
||||
# (C) 2003-2010 Anope Team
|
||||
# Contact us at team@anope.org
|
||||
#
|
||||
# Please read COPYING and README for further details.
|
||||
@@ -692,7 +692,7 @@ NICK_SASET_LANGUAGE_SYNTAX
|
||||
NICK_SASET_LANGUAGE_UNKNOWN
|
||||
Unknown language number %d. Type %R%s HELP SET LANGUAGE for a list of languages.
|
||||
NICK_SASET_LANGUAGE_CHANGED
|
||||
Language changed to English.
|
||||
Language for %s changed to %s.
|
||||
|
||||
|
||||
# ACCESS responses
|
||||
@@ -3288,9 +3288,7 @@ NEWS_HELP_LOGON
|
||||
more news messages, only the most recent will be sent.)
|
||||
NewsCount can be configured in services.conf.
|
||||
|
||||
LOGONNEWS LIST may be used by any IRC operator to list the
|
||||
current news messages. ADD and DEL may only be used by
|
||||
Services admins.
|
||||
LOGONNEWS may only be used by Services admins.
|
||||
|
||||
NEWS_HELP_OPER
|
||||
Syntax: OPERNEWS ADD text
|
||||
@@ -3304,9 +3302,7 @@ NEWS_HELP_OPER
|
||||
more news messages, only the most recent will be sent.)
|
||||
NewsCount can be configured in services.conf.
|
||||
|
||||
OPERNEWS LIST may be used by any IRC operator to list the
|
||||
current oper news messages. ADD and DEL may only be used by
|
||||
Services admins.
|
||||
OPERNEWS may only be used by Services admins.
|
||||
|
||||
NEWS_HELP_RANDOM
|
||||
Syntax: RANDOMNEWS ADD text
|
||||
@@ -3317,9 +3313,7 @@ NEWS_HELP_RANDOM
|
||||
user connects to the network, one (and only one) of the
|
||||
random news will be randomly chosen and sent to them.
|
||||
|
||||
RANDOMNEWS LIST may be used by any IRC operator to list the
|
||||
current news messages. ADD and DEL may only be used by
|
||||
Services admins.
|
||||
RANDOMNEWS may only be used by Services admins.
|
||||
|
||||
###########################################################################
|
||||
#
|
||||
@@ -4417,8 +4411,8 @@ CHAN_HELP_SET_PEACE
|
||||
Syntax: SET channel PEACE {ON | OFF}
|
||||
|
||||
Enables or disables the peace option for a channel.
|
||||
When peace is set, an user won't be able to kick,
|
||||
ban or remove a channel status of an user that has
|
||||
When peace is set, a user won't be able to kick,
|
||||
ban or remove a channel status of a user that has
|
||||
a level superior or equal to his via %S commands.
|
||||
|
||||
CHAN_HELP_SET_PRIVATE
|
||||
@@ -4996,6 +4990,7 @@ CHAN_HELP_CLEAR
|
||||
modes i,k,l,m,n,p,s,t).
|
||||
BANS Clears all bans on the channel.
|
||||
EXCEPTS Clears all excepts on the channel.
|
||||
INVITES Clears all invites on the channel.
|
||||
OPS Removes channel-operator status (mode +o) from
|
||||
all channel operators.
|
||||
HOPS Removes channel-halfoperator status (mode +h) from
|
||||
@@ -5421,7 +5416,7 @@ OPER_HELP_CMD_SHUTDOWN
|
||||
OPER_HELP_CMD_DEFCON
|
||||
DEFCON Manipulate the DefCon system
|
||||
OPER_HELP_CMD_CHANKILL
|
||||
CHANKILL Kill all users on a specific channel
|
||||
CHANKILL AKILL all users on a specific channel
|
||||
OPER_HELP_CMD_OLINE
|
||||
OLINE Give Operflags to a certain user
|
||||
OPER_HELP_CMD_UMODE
|
||||
@@ -6151,7 +6146,7 @@ BOT_HELP_KICK_BOLDS
|
||||
Sets the bolds kicker on or off. When enabled, this
|
||||
option tells the bot to kick users who use bolds.
|
||||
|
||||
ttb is the number of times an user can be kicked
|
||||
ttb is the number of times a user can be kicked
|
||||
before it get banned. Don't give ttb to disable
|
||||
the ban system once activated.
|
||||
|
||||
@@ -6161,7 +6156,7 @@ BOT_HELP_KICK_COLORS
|
||||
Sets the colors kicker on or off. When enabled, this
|
||||
option tells the bot to kick users who use colors.
|
||||
|
||||
ttb is the number of times an user can be kicked
|
||||
ttb is the number of times a user can be kicked
|
||||
before it get banned. Don't give ttb to disable
|
||||
the ban system once activated.
|
||||
|
||||
@@ -6171,7 +6166,7 @@ BOT_HELP_KICK_REVERSES
|
||||
Sets the reverses kicker on or off. When enabled, this
|
||||
option tells the bot to kick users who use reverses.
|
||||
|
||||
ttb is the number of times an user can be kicked
|
||||
ttb is the number of times a user can be kicked
|
||||
before it get banned. Don't give ttb to disable
|
||||
the ban system once activated.
|
||||
|
||||
@@ -6181,7 +6176,7 @@ BOT_HELP_KICK_UNDERLINES
|
||||
Sets the underlines kicker on or off. When enabled, this
|
||||
option tells the bot to kick users who use underlines.
|
||||
|
||||
ttb is the number of times an user can be kicked
|
||||
ttb is the number of times a user can be kicked
|
||||
before it get banned. Don't give ttb to disable
|
||||
the ban system once activated.
|
||||
|
||||
@@ -6197,7 +6192,7 @@ BOT_HELP_KICK_CAPS
|
||||
text line (if not given, it defaults to 10 characters
|
||||
and 25%%).
|
||||
|
||||
ttb is the number of times an user can be kicked
|
||||
ttb is the number of times a user can be kicked
|
||||
before it get banned. Don't give ttb to disable
|
||||
the ban system once activated.
|
||||
|
||||
@@ -6209,7 +6204,7 @@ BOT_HELP_KICK_FLOOD
|
||||
the channel using at least ln lines in secs seconds
|
||||
(if not given, it defaults to 6 lines in 10 seconds).
|
||||
|
||||
ttb is the number of times an user can be kicked
|
||||
ttb is the number of times a user can be kicked
|
||||
before it get banned. Don't give ttb to disable
|
||||
the ban system once activated.
|
||||
|
||||
@@ -6221,7 +6216,7 @@ BOT_HELP_KICK_REPEAT
|
||||
themselves num times (if num is not given, it
|
||||
defaults to 3).
|
||||
|
||||
ttb is the number of times an user can be kicked
|
||||
ttb is the number of times a user can be kicked
|
||||
before it get banned. Don't give ttb to disable
|
||||
the ban system once activated.
|
||||
|
||||
@@ -6236,7 +6231,7 @@ BOT_HELP_KICK_BADWORDS
|
||||
BADWORDS command. Type %R%S HELP BADWORDS for
|
||||
more information.
|
||||
|
||||
ttb is the number of times an user can be kicked
|
||||
ttb is the number of times a user can be kicked
|
||||
before it get banned. Don't give ttb to disable
|
||||
the ban system once activated.
|
||||
|
||||
@@ -6253,12 +6248,12 @@ BOT_HELP_BADWORDS
|
||||
|
||||
The BADWORDS ADD command adds the given word to the
|
||||
badword list. If SINGLE is specified, a kick will be
|
||||
done only if an user says the entire word. If START is
|
||||
specified, a kick will be done if an user says a word
|
||||
done only if a user says the entire word. If START is
|
||||
specified, a kick will be done if a user says a word
|
||||
that starts with word. If END is specified, a kick
|
||||
will be done if an user says a word that ends with
|
||||
will be done if a user says a word that ends with
|
||||
word. If you don't specify anything, a kick will
|
||||
be issued every time word is said by an user.
|
||||
be issued every time word is said by a user.
|
||||
|
||||
The BADWORDS DEL command removes the given word from the
|
||||
bad words list. If a list of entry numbers is given, those
|
||||
@@ -6365,9 +6360,9 @@ HOST_SET_IDENTTOOLONG
|
||||
HOST_NOREG
|
||||
User %s not found in the nickserv db.
|
||||
HOST_SET_SYNTAX
|
||||
Syntax %R%s set <nick> <hostmask>.
|
||||
SET <nick> <hostmask>.
|
||||
HOST_SETALL_SYNTAX
|
||||
Syntax %R%s setall <nick> <hostmask>.
|
||||
SETALL <nick> <hostmask>.
|
||||
HOST_DENIED
|
||||
Access Denied.
|
||||
HOST_NOT_ASSIGNED
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# Spanish Language File.
|
||||
#
|
||||
# (C) 2003-2009 Anope Team
|
||||
# (C) 2003-2010 Anope Team
|
||||
# Contact us at team@anope.org
|
||||
#
|
||||
# Please read COPYING and README for furhter details.
|
||||
@@ -711,7 +711,7 @@ NICK_SASET_LANGUAGE_SYNTAX
|
||||
NICK_SASET_LANGUAGE_UNKNOWN
|
||||
Unknown language number %d. Type %R%s HELP SET LANGUAGE for a list of languages.
|
||||
NICK_SASET_LANGUAGE_CHANGED
|
||||
Language changed to Spanish.
|
||||
Language for %s changed to %s.
|
||||
|
||||
|
||||
# ACCESS responses
|
||||
@@ -3402,9 +3402,7 @@ NEWS_HELP_LOGON
|
||||
more news messages, only the most recent will be sent.)
|
||||
NewsCount can be configured in services.conf.
|
||||
|
||||
LOGONNEWS LIST may be used by any IRC operator to list the
|
||||
current news messages. ADD and DEL may only be used by
|
||||
Services admins.
|
||||
LOGONNEWS may only be used by Services admins.
|
||||
|
||||
NEWS_HELP_OPER
|
||||
Syntax: OPERNEWS ADD text
|
||||
@@ -3418,9 +3416,7 @@ NEWS_HELP_OPER
|
||||
more news messages, only the most recent will be sent.)
|
||||
NewsCount can be configured in services.conf.
|
||||
|
||||
OPERNEWS LIST may be used by any IRC operator to list the
|
||||
current oper news messages. ADD and DEL may only be used by
|
||||
Services admins.
|
||||
OPERNEWS may only be used by Services admins.
|
||||
|
||||
NEWS_HELP_RANDOM
|
||||
Sintaxis: RANDOMNEWS ADD texto
|
||||
@@ -3431,9 +3427,7 @@ NEWS_HELP_RANDOM
|
||||
Cuando un usuario se conecta a la red, uno (y solo uno) de los
|
||||
mensajes al azar sera elejido y enviado a ellos.
|
||||
|
||||
RANDOMNEWS LIST puede ser usado por cualquier operador de
|
||||
IRC para listar la lista de noticias actual. ADD y DEL
|
||||
solo pueden ser usados por administradores de Servicios.
|
||||
RANDOMNEWS may only be used by Services admins.
|
||||
|
||||
###########################################################################
|
||||
#
|
||||
@@ -5197,6 +5191,7 @@ CHAN_HELP_CLEAR
|
||||
limpia los modos i,k,l,m,n,p,s,t).
|
||||
BANS Limpia todos los bans en el canal.
|
||||
EXCEPTS Limpia todos los excepts en el canal.
|
||||
INVITES Clears all invites on the channel.
|
||||
OPS Remueve estatus de operador de canal(modo +o)
|
||||
de todos los operadores de canal.
|
||||
HOPS Removes channel-halfoperator status (mode +h) from
|
||||
@@ -5669,7 +5664,7 @@ OPER_HELP_CMD_SHUTDOWN
|
||||
OPER_HELP_CMD_DEFCON
|
||||
DEFCON Manipulate the DefCon system
|
||||
OPER_HELP_CMD_CHANKILL
|
||||
CHANKILL Kill all users on a specific channel
|
||||
CHANKILL AKILL all users on a specific channel
|
||||
OPER_HELP_CMD_OLINE
|
||||
OLINE Otorga privilegios IRCOP temporarios
|
||||
OPER_HELP_CMD_UMODE
|
||||
@@ -6701,9 +6696,9 @@ HOST_SET_IDENTTOOLONG
|
||||
HOST_NOREG
|
||||
Usuario %s no encontrado en la base de datos de nickserv.
|
||||
HOST_SET_SYNTAX
|
||||
Sintaxis %R%s set <nick> <hostmask>.
|
||||
SET <nick> <hostmask>.
|
||||
HOST_SETALL_SYNTAX
|
||||
Sintaxis %R%s setall <nick> <hostmask>.
|
||||
SETALL <nick> <hostmask>.
|
||||
HOST_DENIED
|
||||
Acceso Denegado.
|
||||
HOST_NOT_ASSIGNED
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# Greek language file.
|
||||
#
|
||||
# (C) 2003-2009 Anope Team
|
||||
# (C) 2003-2010 Anope Team
|
||||
# Contact us at team@anope.org
|
||||
#
|
||||
# Please read COPYING and README for furhter details.
|
||||
@@ -705,7 +705,7 @@ NICK_SASET_LANGUAGE_SYNTAX
|
||||
NICK_SASET_LANGUAGE_UNKNOWN
|
||||
Unknown language number %d. Type %R%s HELP SET LANGUAGE for a list of languages.
|
||||
NICK_SASET_LANGUAGE_CHANGED
|
||||
Language changed to Greek.
|
||||
Language for %s changed to %s.
|
||||
|
||||
|
||||
# ACCESS responses
|
||||
@@ -3420,9 +3420,7 @@ NEWS_HELP_LOGON
|
||||
more news messages, only the most recent will be sent.)
|
||||
NewsCount can be configured in services.conf.
|
||||
|
||||
LOGONNEWS LIST may be used by any IRC operator to list the
|
||||
current news messages. ADD and DEL may only be used by
|
||||
Services admins.
|
||||
LOGONNEWS may only be used by Services admins.
|
||||
|
||||
NEWS_HELP_OPER
|
||||
Syntax: OPERNEWS ADD text
|
||||
@@ -3436,9 +3434,7 @@ NEWS_HELP_OPER
|
||||
more news messages, only the most recent will be sent.)
|
||||
NewsCount can be configured in services.conf.
|
||||
|
||||
OPERNEWS LIST may be used by any IRC operator to list the
|
||||
current oper news messages. ADD and DEL may only be used by
|
||||
Services admins.
|
||||
OPERNEWS may only be used by Services admins.
|
||||
|
||||
NEWS_HELP_RANDOM
|
||||
Óýíôáîç: RANDOMNEWS ADD ðåñéå÷üìåíá
|
||||
@@ -3449,9 +3445,7 @@ NEWS_HELP_RANDOM
|
||||
¼ôáí Ýíáò ÷ñÞóôçò óõíäåèåß óôï äßêôõï, Ýíá (êáé ìüíï Ýíá) áðü ôá
|
||||
ìçíýìáôá èá åðéëå÷èåß ôõ÷áßá êáé èá óôáëåß.
|
||||
|
||||
RANDOMNEWS LIST ìðïñåß íá ÷ñçóéìïðïéçèåß áðü ôïõò IRC operators ãéá íá
|
||||
äïýí ôá ìçíýìáôá. ADD êáé DEL ìðïñåß íá ÷ñçóéìïðïéÞóïõí ïé
|
||||
åðéêåöáëåßò ôùí õðçñåóéþí (Services admins).
|
||||
RANDOMNEWS may only be used by Services admins.
|
||||
|
||||
###########################################################################
|
||||
#
|
||||
@@ -5172,6 +5166,7 @@ CHAN_HELP_CLEAR
|
||||
modes i,k,l,m,n,p,s,t).
|
||||
BANS Êáèáñßæåé üëá ôá bans áðü ôï êáíÜëé.
|
||||
EXCEPTS Êáèáñßæåé üëá ôá excepts áðü ôï êáíÜëé.
|
||||
INVITES Clears all invites on the channel.
|
||||
OPS Áöáéñåß ôï channel-operator status (mode +o) áðü
|
||||
üëïõò ôïõò channel operators.
|
||||
HOPS Removes channel-halfoperator status (mode +h) from
|
||||
@@ -5641,7 +5636,7 @@ OPER_HELP_CMD_SHUTDOWN
|
||||
OPER_HELP_CMD_DEFCON
|
||||
DEFCON Manipulate the DefCon system
|
||||
OPER_HELP_CMD_CHANKILL
|
||||
CHANKILL Kill all users on a specific channel
|
||||
CHANKILL AKILL all users on a specific channel
|
||||
OPER_HELP_CMD_OLINE
|
||||
OLINE Give Operflags to a certain user
|
||||
OPER_HELP_CMD_UMODE
|
||||
@@ -6618,9 +6613,9 @@ HOST_SET_IDENTTOOLONG
|
||||
HOST_NOREG
|
||||
User %s not found in the nickserv db.
|
||||
HOST_SET_SYNTAX
|
||||
Syntax %R%s set <nick> <hostmask>.
|
||||
SET <nick> <hostmask>.
|
||||
HOST_SETALL_SYNTAX
|
||||
Syntax %R%s setall <nick> <hostmask>.
|
||||
SETALL <nick> <hostmask>.
|
||||
HOST_DENIED
|
||||
Access Denied.
|
||||
HOST_NOT_ASSIGNED
|
||||
|
||||
+9
-14
@@ -1,6 +1,6 @@
|
||||
# Hungarian (magyar) language file.
|
||||
#
|
||||
# (C) 2003-2009 Anope Team
|
||||
# (C) 2003-2010 Anope Team
|
||||
# Contact us at team@anope.org
|
||||
#
|
||||
# Translated by:
|
||||
@@ -704,7 +704,7 @@ NICK_SASET_LANGUAGE_SYNTAX
|
||||
NICK_SASET_LANGUAGE_UNKNOWN
|
||||
Unknown language number %d. Type %R%s HELP SET LANGUAGE for a list of languages.
|
||||
NICK_SASET_LANGUAGE_CHANGED
|
||||
Language changed to Hungarian.
|
||||
Language for %s changed to %s.
|
||||
|
||||
|
||||
# ACCESS responses
|
||||
@@ -3354,9 +3354,7 @@ NEWS_HELP_LOGON
|
||||
more news messages, only the most recent will be sent.)
|
||||
NewsCount can be configured in services.conf.
|
||||
|
||||
LOGONNEWS LIST may be used by any IRC operator to list the
|
||||
current news messages. ADD and DEL may only be used by
|
||||
Services admins.
|
||||
LOGONNEWS may only be used by Services admins.
|
||||
|
||||
NEWS_HELP_OPER
|
||||
Syntax: OPERNEWS ADD text
|
||||
@@ -3370,9 +3368,7 @@ NEWS_HELP_OPER
|
||||
more news messages, only the most recent will be sent.)
|
||||
NewsCount can be configured in services.conf.
|
||||
|
||||
OPERNEWS LIST may be used by any IRC operator to list the
|
||||
current oper news messages. ADD and DEL may only be used by
|
||||
Services admins.
|
||||
OPERNEWS may only be used by Services admins.
|
||||
|
||||
NEWS_HELP_RANDOM
|
||||
Syntax: RANDOMNEWS ADD szöveg
|
||||
@@ -3383,9 +3379,7 @@ NEWS_HELP_RANDOM
|
||||
egy felhasználó csatlakozik a hálózathoz, egy (csak egy)
|
||||
random newst fog véletlenszerûen elküldeni részére.
|
||||
|
||||
RANDOMNEWS LIST IRC operátorok,használhatják a parancsot
|
||||
részükre listázza az aktuális oper news üzeneteket. Add és
|
||||
Del -t csak szervíz adminok használhatják
|
||||
RANDOMNEWS may only be used by Services admins.
|
||||
|
||||
###########################################################
|
||||
#
|
||||
@@ -5114,6 +5108,7 @@ CHAN_HELP_CLEAR
|
||||
mode lockjában.
|
||||
BANS Törli az összes tiltást a csatornán.
|
||||
EXCEPTS Törli az összes kivételt a csatornán.
|
||||
INVITES Clears all invites on the channel.
|
||||
OPS Elvesz minden opot a csatornán
|
||||
HOPS Eltávolít minden félop csatorna státuszt (+h mód)
|
||||
az összes csatornán lévõ féloperátortól, ha támogatott.
|
||||
@@ -5550,7 +5545,7 @@ OPER_HELP_CMD_SHUTDOWN
|
||||
OPER_HELP_CMD_DEFCON
|
||||
DEFCON Manipulálja a DefCon rendszert
|
||||
OPER_HELP_CMD_CHANKILL
|
||||
CHANKILL Kirúgja az összes usert a csatornáról
|
||||
CHANKILL AKILL az összes usert a csatornáról
|
||||
OPER_HELP_CMD_OLINE
|
||||
OLINE Operflaget ad a biztos felhasználónak
|
||||
OPER_HELP_CMD_UMODE
|
||||
@@ -6524,9 +6519,9 @@ HOST_SET_IDENTTOOLONG
|
||||
HOST_NOREG
|
||||
%s felhasználó nincs a nickserv db fájlban.
|
||||
HOST_SET_SYNTAX
|
||||
Syntax %R%s set <nick> <hosztmaszk>.
|
||||
SET <nick> <hosztmaszk>.
|
||||
HOST_SETALL_SYNTAX
|
||||
Syntax %R%s setall <nick> <hosztmaszk>.
|
||||
SETALL <nick> <hosztmaszk>.
|
||||
HOST_DENIED
|
||||
Hozzáférés megtagadva.
|
||||
HOST_NOT_ASSIGNED
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# Italian language file.
|
||||
#
|
||||
# (C) 2003-2009 Anope Team
|
||||
# (C) 2003-2010 Anope Team
|
||||
# Contact us at team@anope.org
|
||||
#
|
||||
# Please read COPYING and README for further details.
|
||||
@@ -700,7 +700,7 @@ NICK_SASET_LANGUAGE_SYNTAX
|
||||
NICK_SASET_LANGUAGE_UNKNOWN
|
||||
Unknown language number %d. Type %R%s HELP SET LANGUAGE for a list of languages.
|
||||
NICK_SASET_LANGUAGE_CHANGED
|
||||
Language changed to Italian.
|
||||
Language for %s changed to %s.
|
||||
|
||||
|
||||
# ACCESS responses
|
||||
@@ -3313,9 +3313,7 @@ NEWS_HELP_LOGON
|
||||
more news messages, only the most recent will be sent.)
|
||||
NewsCount can be configured in services.conf.
|
||||
|
||||
LOGONNEWS LIST may be used by any IRC operator to list the
|
||||
current news messages. ADD and DEL may only be used by
|
||||
Services admins.
|
||||
LOGONNEWS may be used by any IRC operator to list the
|
||||
|
||||
NEWS_HELP_OPER
|
||||
Syntax: OPERNEWS ADD text
|
||||
@@ -3329,9 +3327,7 @@ NEWS_HELP_OPER
|
||||
more news messages, only the most recent will be sent.)
|
||||
NewsCount can be configured in services.conf.
|
||||
|
||||
OPERNEWS LIST may be used by any IRC operator to list the
|
||||
current oper news messages. ADD and DEL may only be used by
|
||||
Services admins.
|
||||
OPERNEWS may only be used by Services admins.
|
||||
|
||||
NEWS_HELP_RANDOM
|
||||
Sintassi: RANDOMNEWS ADD testo
|
||||
@@ -3343,9 +3339,7 @@ NEWS_HELP_RANDOM
|
||||
delle informazioni del giorno sarà scelta casualmente e gli
|
||||
sarà inviata.
|
||||
|
||||
RANDOMNEWS LIST può essere usato da qualsiasi IrcOp per
|
||||
visualizzare i messaggi correnti. ADD e DEL possono essere
|
||||
utilizzati soltanto dai Services admin.
|
||||
RANDOMNEWS may only be used by Services admins.
|
||||
|
||||
###########################################################################
|
||||
#
|
||||
@@ -5128,6 +5122,8 @@ CHAN_HELP_CLEAR
|
||||
MODES Annulla tutti i modi di canale (cioè elimina
|
||||
i modi i,k,l,m,n,p,s,t).
|
||||
BANS Annulla tutti i ban del canale.
|
||||
EXCEPTS Clears all excepts on the channel.
|
||||
INVITES Clears all invites on the channel.
|
||||
OPS Rimuove lo stato di operatore (modo +o) da
|
||||
tutti gli operatori del canale.
|
||||
HOPS Rimuove lo stato di halfoperator (modo +h) da
|
||||
@@ -5581,7 +5577,7 @@ OPER_HELP_CMD_SHUTDOWN
|
||||
OPER_HELP_CMD_DEFCON
|
||||
DEFCON Manipola il sistema DefCon
|
||||
OPER_HELP_CMD_CHANKILL
|
||||
CHANKILL Killa tutti gli utenti su di un canale specifico
|
||||
CHANKILL AKILL tutti gli utenti su di un canale specifico
|
||||
OPER_HELP_CMD_OLINE
|
||||
OLINE Imposta le operflag di un utente
|
||||
OPER_HELP_CMD_UMODE
|
||||
@@ -6588,9 +6584,9 @@ HOST_SET_IDENTTOOLONG
|
||||
HOST_NOREG
|
||||
L'utente %s non è presente nel database di NickServ.
|
||||
HOST_SET_SYNTAX
|
||||
Sintassi: %R%s set <nick> <hostmask>.
|
||||
SET <nick> <hostmask>.
|
||||
HOST_SETALL_SYNTAX
|
||||
Sintassi: %R%s setall <nick> <hostmask>.
|
||||
SETALL <nick> <hostmask>.
|
||||
HOST_DENIED
|
||||
Accesso negato.
|
||||
HOST_NOT_ASSIGNED
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
/* Compiler for language definition files.
|
||||
*
|
||||
* (C) 2003-2009 Anope Team
|
||||
* (C) 2003-2010 Anope Team
|
||||
* Contact us at team@anope.org
|
||||
*
|
||||
* Please read COPYING and README for further details.
|
||||
|
||||
+2
-2
@@ -1,6 +1,6 @@
|
||||
/* Language stuff generator for win32.
|
||||
*
|
||||
* (C) 2003-2009 Anope Team
|
||||
* (C) 2003-2010 Anope Team
|
||||
* Contact us at team@anope.org
|
||||
*
|
||||
* Please read COPYING and README for furhter details.
|
||||
@@ -66,7 +66,7 @@ int main(int argc, char *argv[])
|
||||
|
||||
fprintf(fdout, "#define NUM_STRINGS %d\n", i);
|
||||
fprintf(stderr, "%d strings\n", i);
|
||||
fclose(fd);
|
||||
fclose(fd);
|
||||
fclose(fdout);
|
||||
}
|
||||
return 0;
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# Dutch Language File
|
||||
#
|
||||
# (C) 2003-2009 Anope Team
|
||||
# (C) 2003-2010 Anope Team
|
||||
# Contact us at team@anope.org
|
||||
#
|
||||
# Please read COPYING and README for furhter details.
|
||||
@@ -716,7 +716,7 @@ NICK_SASET_LANGUAGE_SYNTAX
|
||||
NICK_SASET_LANGUAGE_UNKNOWN
|
||||
Unknown language number %d. Type %R%s HELP SET LANGUAGE for a list of languages.
|
||||
NICK_SASET_LANGUAGE_CHANGED
|
||||
Language changed to Dutch.
|
||||
Language for %s changed to %s.
|
||||
|
||||
|
||||
# ACCESS responses
|
||||
@@ -1653,7 +1653,7 @@ CHAN_INVITE_SYNTAX
|
||||
CHAN_UNBAN_SYNTAX
|
||||
UNBAN kanaal
|
||||
CHAN_UNBANNED
|
||||
Bans met betrekking to jou op %s zijn opgeheven.
|
||||
Bans met betrekking tot jou op %s zijn opgeheven.
|
||||
|
||||
# TOPIC responses
|
||||
CHAN_TOPIC_SYNTAX
|
||||
@@ -3381,10 +3381,7 @@ NEWS_HELP_LOGON
|
||||
zijn worden alleen de meest recente vestuurd.)
|
||||
NewsCount kan geconfigureerd worden in services.conf.
|
||||
|
||||
LOGONNEWS LIST mag door elke IRC operator worden gebruikt om
|
||||
de huidige nieuwsberichten weer te geven. ADD en DEL mogen
|
||||
alleen door Services admins gebruikt worden.
|
||||
|
||||
LOGONNEWS may only be used by Services admins.
|
||||
|
||||
NEWS_HELP_OPER
|
||||
Gebruik: OPERNEWS ADD text
|
||||
@@ -3399,9 +3396,7 @@ NEWS_HELP_OPER
|
||||
zijn worden alleen de meest recente vestuurd.)
|
||||
NewsCount kan geconfigureerd worden in services.conf.
|
||||
|
||||
OPERNEWS LIST mag door elke IRC operator worden gebruikt om
|
||||
de huidige nieuwsberichten weer te geven. ADD en DEL mogen
|
||||
alleen door Services admins gebruikt worden.
|
||||
OPERNEWS may only be used by Services admins.
|
||||
|
||||
NEWS_HELP_RANDOM
|
||||
Syntax: RANDOMNEWS ADD text
|
||||
@@ -3414,9 +3409,7 @@ NEWS_HELP_RANDOM
|
||||
nieuwsberichten willekeurig uitgekozen en naar hem/haar
|
||||
verstuurd.
|
||||
|
||||
RANDOMNEWS LIST mag door elke IRC operator worden gebruikt om
|
||||
de huidige nieuwsberichten weer te geven. ADD en DEL mogen
|
||||
alleen door Services admins gebruikt worden.
|
||||
RANDOMNEWS may only be used by Services admins.
|
||||
|
||||
###########################################################################
|
||||
#
|
||||
@@ -5132,6 +5125,8 @@ CHAN_HELP_CLEAR
|
||||
MODES Verwijder alle modes op het kanaal (verwijdert
|
||||
modes i,k,l,m,n,p,s,t).
|
||||
BANS Verwijder alle bans op het kanaal.
|
||||
EXCEPTS Clears all excepts on the channel.
|
||||
INVITES Clears all invites on the channel.
|
||||
OPS Verwijder kanaal-operator status (mode +o) van
|
||||
alle kanaal-operators.
|
||||
HOPS Verwijder kanaal-halfoperator status (mode +h)
|
||||
@@ -5590,7 +5585,7 @@ OPER_HELP_CMD_SHUTDOWN
|
||||
OPER_HELP_CMD_DEFCON
|
||||
DEFCON Manipulate the DefCon system
|
||||
OPER_HELP_CMD_CHANKILL
|
||||
CHANKILL Kill all users on a specific channel
|
||||
CHANKILL AKILL all users on a specific channel
|
||||
OPER_HELP_CMD_OLINE
|
||||
OLINE Geef Operflags aan een bepaalde gebruiker
|
||||
OPER_HELP_CMD_UMODE
|
||||
@@ -6548,9 +6543,9 @@ HOST_SET_IDENTTOOLONG
|
||||
HOST_NOREG
|
||||
Gebruiker %s niet gevonden in de nickserv database.
|
||||
HOST_SET_SYNTAX
|
||||
Gebruik %R%s set <nick> <hostmask>.
|
||||
SET <nick> <hostmask>.
|
||||
HOST_SETALL_SYNTAX
|
||||
Gebruik %R%s setall <nick> <hostmask>.
|
||||
SETALL <nick> <hostmask>.
|
||||
HOST_DENIED
|
||||
Toegang geweigerd.
|
||||
HOST_NOT_ASSIGNED
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
#
|
||||
###########################################################################
|
||||
#
|
||||
# (C) 2003-2009 Anope Team
|
||||
# (C) 2003-2010 Anope Team
|
||||
# Contact us at team@anope.org
|
||||
#
|
||||
# Please read COPYING and README for further details.
|
||||
@@ -882,7 +882,7 @@ NICK_SASET_LANGUAGE_UNKNOWN
|
||||
Napisz %R%s HELP SET LANGUAGE, aby uzyskaæ listê dostêpnych jêzyków.
|
||||
|
||||
NICK_SASET_LANGUAGE_CHANGED
|
||||
Jêzyk zosta³ zmieniony na Polski.
|
||||
Language for %s changed to %s.
|
||||
|
||||
# ACCESS responses
|
||||
NICK_ACCESS_SYNTAX
|
||||
@@ -2025,7 +2025,7 @@ CHAN_LEVELS_LIST_NORMAL
|
||||
CHAN_LEVELS_RESET
|
||||
Poziomy dostêpu kana³u %s zosta³y zresetowane do domy¶lnych.
|
||||
|
||||
# Status Messages
|
||||
# Status messages
|
||||
CHAN_STATUS_SYNTAX
|
||||
STATUS ERROR B³±d sk³adni
|
||||
|
||||
@@ -2378,7 +2378,7 @@ MEMO_MASS_SENT
|
||||
|
||||
# STAFF responses
|
||||
MEMO_STAFF_SYNTAX
|
||||
STAFF memo-text
|
||||
STAFF tre¶æ wiadomo¶ci
|
||||
|
||||
# CANCEL responses
|
||||
MEMO_CANCEL_SYNTAX
|
||||
@@ -3868,8 +3868,9 @@ OPER_JUPE_SYNTAX
|
||||
|
||||
OPER_JUPE_HOST_ERROR
|
||||
Proszê u¿yæ prawid³owej nazwy serwera.
|
||||
|
||||
OPER_JUPE_INVALID_SERVER
|
||||
You can not jupe your services server or your uplink server.
|
||||
Nie mo¿na wykluczyæ samych serwisów lub uplinka serwisów.
|
||||
|
||||
# RAW responses
|
||||
OPER_RAW_SYNTAX
|
||||
@@ -3890,7 +3891,7 @@ OPER_CANNOT_RESTART
|
||||
|
||||
# IGNORE respondes
|
||||
OPER_IGNORE_SYNTAX
|
||||
IGNORE {ADD|DEL|LIST|CLEAR} [czas] [nick | maska]
|
||||
IGNORE {ADD|DEL|LIST|CLEAR} [czas] [nick | maska]
|
||||
|
||||
OPER_IGNORE_VALID_TIME
|
||||
Musisz podaæ prawid³ow± liczbê dla czasu.
|
||||
@@ -4274,7 +4275,7 @@ NEWS_RANDOM_TEXT
|
||||
[Losowa wiadomo¶æ - %s] %s
|
||||
|
||||
NEWS_LOGON_SYNTAX
|
||||
LOGONNEWS {ADD|DEL|LIST} [tekst|numer]
|
||||
LOGONNEWS {ADD|DEL|LIST} [tekst|numer]
|
||||
|
||||
NEWS_LOGON_LIST_HEADER
|
||||
Wiadomo¶ci powitalne:
|
||||
@@ -4287,7 +4288,7 @@ NEWS_LOGON_LIST_NONE
|
||||
Nie ma wiadomo¶ci powitalnych.
|
||||
|
||||
NEWS_LOGON_ADD_SYNTAX
|
||||
Sk³adnia: LOGONNEWS ADD tekst
|
||||
LOGONNEWS ADD tekst
|
||||
|
||||
NEWS_LOGON_ADD_FULL
|
||||
Lista wiadomo¶ci powitalnych jest pe³na!
|
||||
@@ -4296,7 +4297,7 @@ NEWS_LOGON_ADDED
|
||||
Dodano now± wiadomo¶æ powitaln± (#%d).
|
||||
|
||||
NEWS_LOGON_DEL_SYNTAX
|
||||
LOGONNEWS DEL {numer | ALL}
|
||||
LOGONNEWS DEL {numer | ALL}
|
||||
|
||||
NEWS_LOGON_DEL_NOT_FOUND
|
||||
Wiadomo¶æ powitalna #%d nie zosta³a znaleziona!
|
||||
@@ -4311,7 +4312,7 @@ NEWS_LOGON_DELETED_ALL
|
||||
Wszystkie wiadomo¶ci powitalne zosta³ skasowane.
|
||||
|
||||
NEWS_OPER_SYNTAX
|
||||
Sk³adnia: OPERNEWS {ADD|DEL|LIST} [tekst|numer]
|
||||
OPERNEWS {ADD|DEL|LIST} [tekst|numer]
|
||||
|
||||
NEWS_OPER_LIST_HEADER
|
||||
Wiadomo¶ci dla operatorów:
|
||||
@@ -4324,7 +4325,7 @@ NEWS_OPER_LIST_NONE
|
||||
Nie ma wiadomo¶ci dla operatorów.
|
||||
|
||||
NEWS_OPER_ADD_SYNTAX
|
||||
Sk³adnia: OPERNEWS ADD tekst
|
||||
OPERNEWS ADD tekst
|
||||
|
||||
NEWS_OPER_ADD_FULL
|
||||
Lista wiadomo¶ci jest pe³na!
|
||||
@@ -4333,7 +4334,7 @@ NEWS_OPER_ADDED
|
||||
Dodano now± wiadomo¶æ dla operatorów (#%d).
|
||||
|
||||
NEWS_OPER_DEL_SYNTAX
|
||||
Sk³adnia: OPERNEWS DEL {numer | ALL}
|
||||
OPERNEWS DEL {numer | ALL}
|
||||
|
||||
NEWS_OPER_DEL_NOT_FOUND
|
||||
Wiadomo¶æ dla operatorów #%d nie zosta³a znaleziona!
|
||||
@@ -4348,7 +4349,7 @@ NEWS_OPER_DELETED_ALL
|
||||
Wszystkie wiadomo¶ci dla operatorów zosta³y skasowane.
|
||||
|
||||
NEWS_RANDOM_SYNTAX
|
||||
RANDOMNEWS {ADD|DEL|LIST} [tekst|numer]
|
||||
RANDOMNEWS {ADD|DEL|LIST} [tekst|numer]
|
||||
|
||||
NEWS_RANDOM_LIST_HEADER
|
||||
Losowe wiadomo¶ci:
|
||||
@@ -4361,7 +4362,7 @@ NEWS_RANDOM_LIST_NONE
|
||||
Nie ma losowych wiadomo¶ci.
|
||||
|
||||
NEWS_RANDOM_ADD_SYNTAX
|
||||
RANDOMNEWS ADD tekst
|
||||
RANDOMNEWS ADD tekst
|
||||
|
||||
NEWS_RANDOM_ADD_FULL
|
||||
Lista wiadomo¶ci jest pe³na!
|
||||
@@ -4370,7 +4371,7 @@ NEWS_RANDOM_ADDED
|
||||
Dodano now± losow± wiadomo¶æ (#%d).
|
||||
|
||||
NEWS_RANDOM_DEL_SYNTAX
|
||||
RANDOMNEWS DEL {numer | ALL}
|
||||
RANDOMNEWS DEL {numer | ALL}
|
||||
|
||||
NEWS_RANDOM_DEL_NOT_FOUND
|
||||
Losowa wiadomo¶æ #%d nie zosta³a znaleziona!
|
||||
@@ -4395,9 +4396,7 @@ NEWS_HELP_LOGON
|
||||
wys³anych (aby zapobiec floodowaniu). Warto¶æ NewsCount
|
||||
mo¿e zostaæ zmieniona w pliku konfiguracyjym serwisów.
|
||||
|
||||
Polecenie LOGONNEWS LIST mo¿e byæ u¿yte przez ka¿dego
|
||||
IRC operatora w celu wylistowania wiadomo¶ci. Polecenia
|
||||
ADD i DEL s± zarezerwowane dla administratorów serwisów.
|
||||
LOGONNEWS may only be used by Services admins.
|
||||
|
||||
NEWS_HELP_OPER
|
||||
Sk³adnia: OPERNEWS ADD tekst
|
||||
@@ -4410,9 +4409,7 @@ NEWS_HELP_OPER
|
||||
wys³anych (aby zapobiec floodowaniu). Warto¶æ NewsCount
|
||||
mo¿e zostaæ zmieniona w pliku konfiguracyjym serwisów.
|
||||
|
||||
Polecenie OPERNEWS LIST mo¿e byæ u¿yte przez ka¿dego
|
||||
IRC operatora w celu wylistowania wiadomo¶ci. Polecenia
|
||||
ADD i DEL s± zarezerwowane dla administratorów serwisów.
|
||||
OPERNEWS may only be used by Services admins.
|
||||
|
||||
NEWS_HELP_RANDOM
|
||||
Sk³adnia: RANDOMNEWS ADD tekst
|
||||
@@ -4423,9 +4420,7 @@ NEWS_HELP_RANDOM
|
||||
Po po³±czeniu z sieci± u¿ytkownik otrzyma dok³adnie
|
||||
jedn± wylosowan± z tej listy wiadomo¶æ.
|
||||
|
||||
Polecenie RANDOMNEWS LIST mo¿e byæ u¿yte przez ka¿dego
|
||||
IRC operatora w celu wylistowania wiadomo¶ci. Polecenia
|
||||
ADD i DEL s± zarezerwowane dla administratorów serwisów.
|
||||
RANDOMNEWS may only be used by Services admins.
|
||||
|
||||
###########################################################################
|
||||
#
|
||||
@@ -5312,7 +5307,7 @@ CHAN_HELP_CMD_INFO
|
||||
INFO Pokazuje informacje o zarejestrowanym kanale
|
||||
|
||||
CHAN_HELP_CMD_INVITE
|
||||
INVITE Tells ChanServ to invite you into a channel
|
||||
INVITE Zaprasza osobê wydaj±c± polecenie na kana³
|
||||
|
||||
CHAN_HELP_CMD_KICK
|
||||
KICK Wyrzuca wskazany nick z kana³u
|
||||
@@ -5598,9 +5593,10 @@ CHAN_HELP_SET_PRIVATE
|
||||
CHAN_HELP_SET_RESTRICTED
|
||||
Sk³adnia: SET kana³ RESTRICTED {ON | OFF}
|
||||
|
||||
Enables or disables the restricted access option for a
|
||||
channel. When restricted access is set, users not on
|
||||
the access list will instead be kicked and banned from the channel.
|
||||
W³±cza lub wy³±cza opcjê ograniczonego dostêpu do kana³u.
|
||||
Po w³±czeniu tej opcji tylko osoby znajduj±ce siê na
|
||||
li¶cie dostêpu bêd± mog³y przebywaæ na kanale. Pozostali
|
||||
u¿ytkownicy bêd± banowani, a nastêpnie usuwani z kana³u.
|
||||
|
||||
CHAN_HELP_SET_SECURE
|
||||
Sk³adnia: SET kana³ SECURE {ON | OFF}
|
||||
@@ -6224,13 +6220,14 @@ CHAN_HELP_CLEAR
|
||||
Umo¿liwia kompleksowe usuniêcie niektórych ustawieñ na
|
||||
kanale poprzez %S. Dostêpne opcje:
|
||||
|
||||
MODES Zdejmuje wszystkie tryby z kana³u
|
||||
BANS Zdejmuje wszystkie bany na kanale
|
||||
EXCEPTS Zdejmuje wyj±tki od banów na kanale
|
||||
MODES Usuwa tryby z kana³u
|
||||
BANS Usuwa bany z kana³u
|
||||
EXCEPTS Usuwa wyj±tki od banów z kana³u
|
||||
INVITES Usuwa zaproszenia z kana³u
|
||||
OPS Odbiera wszystkim status operatora
|
||||
HOPS Odbiera wszystkim status pó³-operatora
|
||||
VOICES Odbiera wszystkim prawo g³osu
|
||||
USERS Wykopuje wszystkich z kana³u
|
||||
USERS Usuwa u¿ytkowników z kana³u
|
||||
|
||||
Standardowo ta komenda jest dostêpna dla w³a¶ciciela kana³u.
|
||||
|
||||
@@ -6510,9 +6507,9 @@ MEMO_HELP_SET_NOTIFY
|
||||
trybu /AWAY.
|
||||
NEW Powiadomienie bêdzie wysy³ane jedynie w
|
||||
momencie otrzymania wiadomo¶ci.
|
||||
MAIL You will be notified of memos by email aswell as
|
||||
any other settings you have.
|
||||
NOMAIL You will not be notified of memos by email.
|
||||
MAIL Powiadomienia bêd± wysy³ane e-mailem oraz
|
||||
wedle pozosta³ych ustawieñ.
|
||||
NOMAIL Powiadomienia nie bêd± wysy³ane e-mailem.
|
||||
OFF Powiadomienia nie bêd± wysy³ane.
|
||||
|
||||
Opcja ON jest kombinacj± opcji LOGON oraz NEW.
|
||||
@@ -6694,7 +6691,7 @@ OPER_HELP_CMD_DEFCON
|
||||
DEFCON Modyfikuje poziom systemu DefCon
|
||||
|
||||
OPER_HELP_CMD_CHANKILL
|
||||
CHANKILL Od³±cza wszystkich u¿ytkowników na kanale
|
||||
CHANKILL AKILL wszystkich u¿ytkowników na kanale
|
||||
|
||||
OPER_HELP_CMD_OLINE
|
||||
OLINE Daje flagi operatora wybranemu u¿ytkownikowi
|
||||
@@ -7580,7 +7577,7 @@ HOST_DELALL
|
||||
Vhosty dla grupy %s zosta³y usuniête.
|
||||
|
||||
HOST_DELALL_SYNTAX
|
||||
DELALL <nick>.
|
||||
DELALL <nick>.
|
||||
|
||||
HOST_IDENT_SETALL
|
||||
Vhosty dla grupy %s zosta³y zmienione na %s@%s.
|
||||
@@ -7601,10 +7598,10 @@ HOST_NOREG
|
||||
Nie znaleziono %s w bazie serwisu NickServ.
|
||||
|
||||
HOST_SET_SYNTAX
|
||||
Sk³adnia %R%s SET <nick> <maska-hosta>.
|
||||
SET <nick> <maska-hosta>.
|
||||
|
||||
HOST_SETALL_SYNTAX
|
||||
Sk³adnia %R%s SETALL <nick> <maska-hosta>.
|
||||
SETALL <nick> <maska-hosta>.
|
||||
|
||||
HOST_DENIED
|
||||
Brak dostêpu.
|
||||
@@ -7630,7 +7627,7 @@ HOST_DEL
|
||||
HOST_DEL_SYNTAX
|
||||
DEL <nick>.
|
||||
HOST_OFF
|
||||
Your vhost was removed and the normal cloaking restored.
|
||||
Twój vhost zosta³ usuniêty i zosta³o w³±czone normalne ukrywanie hosta.
|
||||
HOST_OFF_UNREAL
|
||||
Twój vhost zosta³ usuniêty. Aby w³±czyæ standardowe ukrywanie hosta wpisz /mode %s +%s
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# Portuguese language file.
|
||||
#
|
||||
# (C) 2003-2009 Anope Team
|
||||
# (C) 2003-2010 Anope Team
|
||||
# Contact us at team@anope.org
|
||||
#
|
||||
# Please read COPYING and README for furhter details.
|
||||
@@ -711,7 +711,7 @@ NICK_SASET_LANGUAGE_SYNTAX
|
||||
NICK_SASET_LANGUAGE_UNKNOWN
|
||||
Unknown language number %d. Type %R%s HELP SET LANGUAGE for a list of languages.
|
||||
NICK_SASET_LANGUAGE_CHANGED
|
||||
Language changed to Portuguese.
|
||||
Language for %s changed to %s.
|
||||
|
||||
|
||||
# ACCESS responses
|
||||
@@ -3330,9 +3330,7 @@ NEWS_HELP_LOGON
|
||||
more news messages, only the most recent will be sent.)
|
||||
NewsCount can be configured in services.conf.
|
||||
|
||||
LOGONNEWS LIST may be used by any IRC operator to list the
|
||||
current news messages. ADD and DEL may only be used by
|
||||
Services admins.
|
||||
LOGONNEWS may only be used by Services admins.
|
||||
|
||||
NEWS_HELP_OPER
|
||||
Syntax: OPERNEWS ADD text
|
||||
@@ -3346,9 +3344,7 @@ NEWS_HELP_OPER
|
||||
more news messages, only the most recent will be sent.)
|
||||
NewsCount can be configured in services.conf.
|
||||
|
||||
OPERNEWS LIST may be used by any IRC operator to list the
|
||||
current oper news messages. ADD and DEL may only be used by
|
||||
Services admins.
|
||||
OPERNEWS may only be used by Services admins.
|
||||
|
||||
NEWS_HELP_RANDOM
|
||||
Sintaxe: RANDOMNEWS ADD texto
|
||||
@@ -3359,9 +3355,7 @@ NEWS_HELP_RANDOM
|
||||
se conecta à rede, uma (apenas uma) das random news será
|
||||
aleatóriamente escolhida e enviada a ele.
|
||||
|
||||
RANDOMNEWS LIST pode ser usado por qualquer Operador
|
||||
para listar as random news. ADD e DEL só podem ser usados
|
||||
pelos Administradores dos Services.
|
||||
RANDOMNEWS may only be used by Services admins.
|
||||
|
||||
###########################################################################
|
||||
#
|
||||
@@ -5078,6 +5072,7 @@ CHAN_HELP_CLEAR
|
||||
travados com MLOCK.
|
||||
BANS Remove todos os bans do canal.
|
||||
EXCEPTS Remove todos os excepts do canal.
|
||||
INVITES Clears all invites on the channel.
|
||||
OPS Remove o status de Operador de canal (modo +o)
|
||||
de todos os Operadores do canal.
|
||||
HOPS Remove o status de Half-Operador de canal (modo +h)
|
||||
@@ -5521,7 +5516,7 @@ OPER_HELP_CMD_SHUTDOWN
|
||||
OPER_HELP_CMD_DEFCON
|
||||
DEFCON Manipula o sistema DefCon
|
||||
OPER_HELP_CMD_CHANKILL
|
||||
CHANKILL Derruba todos os usuários de um canal específico
|
||||
CHANKILL AKILL todos os usuários de um canal específico
|
||||
OPER_HELP_CMD_OLINE
|
||||
OLINE Dá flags de Operador a um determinado usuário
|
||||
OPER_HELP_CMD_UMODE
|
||||
@@ -6514,9 +6509,9 @@ HOST_SET_IDENTTOOLONG
|
||||
HOST_NOREG
|
||||
Usuário %s não encontrado na DB do NickServ.
|
||||
HOST_SET_SYNTAX
|
||||
Sintaxe: %R%s set <nick> <hostmask>.
|
||||
SET <nick> <hostmask>.
|
||||
HOST_SETALL_SYNTAX
|
||||
Sintaxe: %R%s setall <nick> <hostmask>.
|
||||
SETALL <nick> <hostmask>.
|
||||
HOST_DENIED
|
||||
Acesso Negado.
|
||||
HOST_NOT_ASSIGNED
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# Russian language file for Anope
|
||||
#
|
||||
# (C) 2003-2009 Anope Team
|
||||
# (C) 2003-2010 Anope Team
|
||||
# Contact us at team@anope.org
|
||||
#
|
||||
# Please read COPYING and README for further details.
|
||||
@@ -694,7 +694,7 @@ NICK_SASET_LANGUAGE_SYNTAX
|
||||
NICK_SASET_LANGUAGE_UNKNOWN
|
||||
ßçûêà ïîä íîìåðîì %d íå ñóùåñòâóåò. Ñïèñîê äîñòóïíûõ ÿçûêîâ: %R%s HELP SET LANGUAGE.
|
||||
NICK_SASET_LANGUAGE_CHANGED
|
||||
ßçûê äëÿ óêàçàííîãî íèêà èçìåíåí íà Ðóññêèé.
|
||||
Language for %s changed to %s.
|
||||
|
||||
# ACCESS responses
|
||||
NICK_ACCESS_SYNTAX
|
||||
@@ -2448,6 +2448,8 @@ OPER_STATS_CHANSERV_MEM
|
||||
ChanServ : %6d çàïèñåé, %5d kB
|
||||
OPER_STATS_BOTSERV_MEM
|
||||
BotServ : %6d çàïèñåé, %5d kB
|
||||
OPER_STATS_HOSTSERV_MEM
|
||||
HostServ : %6d çàïèñåé, %5d kB
|
||||
OPER_STATS_OPERSERV_MEM
|
||||
OperServ : %6d çàïèñåé, %5d kB
|
||||
OPER_STATS_SESSIONS_MEM
|
||||
@@ -3307,9 +3309,7 @@ NEWS_HELP_LOGON
|
||||
êà÷åñòâå ïàðàìåòðà âû ìîæåòå óêàçàòü íîìåð íîâîñòè - ÷òî áû óäàëèòü
|
||||
îäíó íîâîñòü, èëè ALL - ÷òî áû î÷èñòèòü ñïèñîê íîâîñòåé ïîëíîñòüþ.
|
||||
|
||||
Êîìàíäà LOGONNEWS LIST âûâîäèò ñïèñîê òåêóùèõ íîâîñòåé è ìîæåò áûòü
|
||||
èñïîëüçîâàíà ëþáûì IRC-îïåðàòîðîì. Êîìàíäû ADD è DEL äîñòóïíû òîëüêî
|
||||
Àäìèíèñòðàòîðàì ñåðâèñîâ.
|
||||
LOGONNEWS may only be used by Services admins.
|
||||
|
||||
NEWS_HELP_OPER
|
||||
Ñèíòàêñèñ: OPERNEWS ADD òåêñò
|
||||
@@ -3330,9 +3330,7 @@ NEWS_HELP_OPER
|
||||
êà÷åñòâå ïàðàìåòðà âû ìîæåòå óêàçàòü íîìåð íîâîñòè - ÷òî áû óäàëèòü
|
||||
îäíó íîâîñòü, èëè ALL - ÷òî áû î÷èñòèòü ñïèñîê íîâîñòåé ïîëíîñòüþ.
|
||||
|
||||
Êîìàíäà OPERNEWS LIST âûâîäèò ñïèñîê òåêóùèõ íîâîñòåé è ìîæåò áûòü
|
||||
èñïîëüçîâàíà ëþáûì IRC-îïåðàòîðîì. Êîìàíäû ADD è DEL äîñòóïíû òîëüêî
|
||||
Àäìèíèñòðàòîðàì ñåðâèñîâ.
|
||||
OPERNEWS may only be used by Services admins.
|
||||
|
||||
NEWS_HELP_RANDOM
|
||||
Ñèíòàêñèñ: RANDOMNEWS ADD òåêñò
|
||||
@@ -3350,9 +3348,7 @@ NEWS_HELP_RANDOM
|
||||
êà÷åñòâå ïàðàìåòðà âû ìîæåòå óêàçàòü íîìåð íîâîñòè - ÷òî áû óäàëèòü
|
||||
îäíó íîâîñòü, èëè ALL - ÷òî áû î÷èñòèòü ñïèñîê íîâîñòåé ïîëíîñòüþ.
|
||||
|
||||
Êîìàíäà RANDOMNEWS LIST âûâîäèò ñïèñîê òåêóùèõ íîâîñòåé è ìîæåò
|
||||
áûòü èñïîëüçîâàíà ëþáûì IRC-Îïåðàòîðîì. Êîìàíäû ADD è DEL äîñòóïíû
|
||||
òîëüêî Àäìèíèñòðàòîðàì ñåðâèñîâ.
|
||||
RANDOMNEWS may only be used by Services admins.
|
||||
|
||||
###########################################################################
|
||||
#
|
||||
@@ -6655,9 +6651,9 @@ HOST_SET_IDENTTOOLONG
|
||||
HOST_NOREG
|
||||
Ïîëüçîâàòåëü %s íå íàéäåí â ñåðâèñíîé áàçå äàííûõ íèêîâ.
|
||||
HOST_SET_SYNTAX
|
||||
Ñèòàêñèñ: %R%s SET <íèê> <õîñòìàñêà>.
|
||||
SET <íèê> <õîñòìàñêà>.
|
||||
HOST_SETALL_SYNTAX
|
||||
Ñèíòàêñèñ %R%s SETALL <íèê> <õîñòìàñêà>.
|
||||
SETALL <íèê> <õîñòìàñêà>.
|
||||
HOST_DENIED
|
||||
Äîñòóï çàïðåùåí.
|
||||
HOST_NOT_ASSIGNED
|
||||
|
||||
+6
-5
@@ -1,6 +1,6 @@
|
||||
/* Various routines to perform simple actions.
|
||||
*
|
||||
* (C) 2003-2009 Anope Team
|
||||
* (C) 2003-2010 Anope Team
|
||||
* Contact us at team@anope.org
|
||||
*
|
||||
* Please read COPYING and README for further details.
|
||||
@@ -181,7 +181,8 @@ void common_unban(ChannelInfo * ci, char *nick)
|
||||
for (ban = ci->c->bans->entries; ban; ban = next) {
|
||||
next = ban->next;
|
||||
if (entry_match(ban, u->nick, u->username, u->host, ip) ||
|
||||
entry_match(ban, u->nick, u->username, u->vhost, ip)) {
|
||||
entry_match(ban, u->nick, u->username, u->vhost, ip) ||
|
||||
entry_match(ban, u->nick, u->username, u->chost, ip)) {
|
||||
anope_cmd_mode(whosends(ci), ci->name, "-b %s", ban->mask);
|
||||
if (ircdcap->tsmode)
|
||||
av[3] = ban->mask;
|
||||
@@ -240,10 +241,10 @@ char *common_get_vhost(User * u)
|
||||
if (!u)
|
||||
return NULL;
|
||||
|
||||
if (ircd->vhostmode && (u->mode & ircd->vhostmode))
|
||||
return u->vhost;
|
||||
else if (ircd->vhost && u->vhost)
|
||||
if (ircd->vhostmode && (u->mode & ircd->vhostmode) && u->vhost)
|
||||
return u->vhost;
|
||||
else if (ircd->vhostmode && (u->mode & ircd->vhostmode) && u->chost)
|
||||
return u->chost;
|
||||
else
|
||||
return u->host;
|
||||
}
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
/* base64 routines.
|
||||
*
|
||||
* (C) 2003-2009 Anope Team
|
||||
* (C) 2003-2010 Anope Team
|
||||
* Contact us at team@anope.org
|
||||
*
|
||||
* Please read COPYING and README for further details.
|
||||
|
||||
+1
-1
@@ -2,7 +2,7 @@
|
||||
#
|
||||
# Configuration script for Services
|
||||
#
|
||||
# (C) 2003-2009 Anope Team
|
||||
# (C) 2003-2010 Anope Team
|
||||
# Contact us at team@anope.org
|
||||
#
|
||||
# Please read COPYING and README for further details.
|
||||
|
||||
+11
-3
@@ -1,6 +1,6 @@
|
||||
/* BotServ functions
|
||||
*
|
||||
* (C) 2003-2009 Anope Team
|
||||
* (C) 2003-2010 Anope Team
|
||||
* Contact us at team@anope.org
|
||||
*
|
||||
* Please read COPYING and README for further details.
|
||||
@@ -845,6 +845,10 @@ static void check_ban(ChannelInfo * ci, User * u, int ttbtype)
|
||||
if (!bd)
|
||||
return;
|
||||
|
||||
/* Bug #1135 - Don't kick/ban ULined clients */
|
||||
if (is_ulined(u->server->name))
|
||||
return;
|
||||
|
||||
bd->ttb[ttbtype]++;
|
||||
if (bd->ttb[ttbtype] == ci->ttb[ttbtype]) {
|
||||
char *av[4];
|
||||
@@ -894,6 +898,10 @@ static void bot_kick(ChannelInfo * ci, User * u, int message, ...)
|
||||
if (!ci || !ci->bi || !ci->c || !u)
|
||||
return;
|
||||
|
||||
/* Bug #1135 - Don't kick ULined clients */
|
||||
if (is_ulined(u->server->name))
|
||||
return;
|
||||
|
||||
va_start(args, message);
|
||||
fmt = getstring(u->na, message);
|
||||
if (!fmt)
|
||||
@@ -1078,13 +1086,13 @@ void bot_raw_mode(User * requester, ChannelInfo * ci, char *mode,
|
||||
av[0] = ci->name;
|
||||
av[1] = buf;
|
||||
av[2] = mode;
|
||||
av[3] = nick;
|
||||
av[3] = GET_USER(u);
|
||||
ac = 4;
|
||||
anope_cmd_mode(ci->bi->nick, av[0], "%s %s", av[2], av[3]);
|
||||
} else {
|
||||
av[0] = ci->name;
|
||||
av[1] = mode;
|
||||
av[2] = nick;
|
||||
av[2] = GET_USER(u);
|
||||
ac = 3;
|
||||
anope_cmd_mode(ci->bi->nick, av[0], "%s %s", av[1], av[2]);
|
||||
}
|
||||
|
||||
+91
-29
@@ -1,6 +1,6 @@
|
||||
/* Channel-handling routines.
|
||||
*
|
||||
* (C) 2003-2009 Anope Team
|
||||
* (C) 2003-2010 Anope Team
|
||||
* Contact us at team@anope.org
|
||||
*
|
||||
* Please read COPYING and README for further details.
|
||||
@@ -173,7 +173,12 @@ void chan_set_modes(const char *source, Channel * chan, int ac, char **av,
|
||||
alog("debug: Changing modes for %s to %s", chan->name,
|
||||
merge_args(ac, av));
|
||||
|
||||
u = finduser(source);
|
||||
if (UseTS6 && ircd->ts6) {
|
||||
u = find_byuid(source);
|
||||
if (!u) u = finduser(source);
|
||||
} else
|
||||
u = finduser(source);
|
||||
|
||||
if (u && (chan_get_user_status(chan, u) & CUS_DEOPPED)) {
|
||||
char *s;
|
||||
|
||||
@@ -239,12 +244,15 @@ void chan_set_modes(const char *source, Channel * chan, int ac, char **av,
|
||||
}
|
||||
}
|
||||
|
||||
if (!(user = finduser(*av))
|
||||
&& !(UseTS6 && ircd->ts6 && (user = find_byuid(*av)))) {
|
||||
if (debug) {
|
||||
if (UseTS6 && ircd->ts6) {
|
||||
user = find_byuid(*av);
|
||||
if (!user) user = finduser(*av);
|
||||
} else
|
||||
user = finduser(*av);
|
||||
if (!user) {
|
||||
if (debug)
|
||||
alog("debug: MODE %s %c%c for nonexistent user %s",
|
||||
chan->name, (add ? '+' : '-'), mode, *av);
|
||||
}
|
||||
chan->name, (add ? '+' : '-'), mode, *av);
|
||||
continue;
|
||||
}
|
||||
|
||||
@@ -302,8 +310,14 @@ void chan_set_modes(const char *source, Channel * chan, int ac, char **av,
|
||||
}
|
||||
}
|
||||
|
||||
/* Don't bounce modes from u:lined clients or servers, bug #1004. */
|
||||
user = finduser(source);
|
||||
/* Don't bounce modes from u:lined clients or servers, bug #1004. *
|
||||
* We can get UUIDs as well.. don not assume nick ~ Viper */
|
||||
if (UseTS6 && ircd->ts6) {
|
||||
user = find_byuid(source);
|
||||
if (!user) user = finduser(source);
|
||||
} else
|
||||
user = finduser(source);
|
||||
|
||||
if ((user && is_ulined(user->server->name)) || is_ulined((char *)source))
|
||||
return;
|
||||
|
||||
@@ -317,7 +331,14 @@ void chan_set_modes(const char *source, Channel * chan, int ac, char **av,
|
||||
real_ac--;
|
||||
real_av++;
|
||||
for (i = 0; i < real_ac; i++) {
|
||||
if ((user = finduser(*real_av)) && is_on_chan(chan, user)) {
|
||||
if (UseTS6 && ircd->ts6) {
|
||||
user = find_byuid(*real_av);
|
||||
if (!user) user = finduser(*real_av);
|
||||
} else
|
||||
user = finduser(*real_av);
|
||||
|
||||
if (!user && UseTS6 && ircd->ts6) user = find_byuid(*real_av);
|
||||
if (user && is_on_chan(chan, user)) {
|
||||
if (check < 2)
|
||||
chan_set_correct_modes(user, chan, 0);
|
||||
else if ((chan->ci->flags) && (chan->ci->flags & CI_SECUREOPS))
|
||||
@@ -799,10 +820,20 @@ void do_sjoin(const char *source, int ac, char **av)
|
||||
cumodes[2] = cu->user->nick;
|
||||
chan_set_modes(source, c, 3, cumodes, 2);
|
||||
}
|
||||
if (c->ci && c->ci->bi) {
|
||||
/* This is ugly, but it always works */
|
||||
anope_cmd_part(c->ci->bi->nick, c->name, "TS reop");
|
||||
bot_join(c->ci);
|
||||
if (c->ci)
|
||||
{
|
||||
if (c->ci->bi)
|
||||
{
|
||||
/* This is ugly, but it always works */
|
||||
anope_cmd_part(c->ci->bi->nick, c->name, "TS reop");
|
||||
bot_join(c->ci);
|
||||
}
|
||||
/* Make sure +r is set */
|
||||
if (ircd->chanreg && ircd->regmode)
|
||||
{
|
||||
c->mode |= ircd->regmode;
|
||||
anope_cmd_mode(whosends(c->ci), c->name, "+r");
|
||||
}
|
||||
}
|
||||
/* XXX simple modes and bans */
|
||||
} else if (c->creation_time < ts)
|
||||
@@ -1456,7 +1487,7 @@ void chan_set_correct_modes(User * user, Channel * c, int give_modes)
|
||||
strcat(modebuf, tmp);
|
||||
free(tmp);
|
||||
strcat(userbuf, " ");
|
||||
strcat(userbuf, user->nick);
|
||||
strcat(userbuf, GET_USER(user));
|
||||
} else {
|
||||
add_modes &= ~CUS_OWNER;
|
||||
}
|
||||
@@ -1465,14 +1496,14 @@ void chan_set_correct_modes(User * user, Channel * c, int give_modes)
|
||||
strcat(modebuf, tmp);
|
||||
free(tmp);
|
||||
strcat(userbuf, " ");
|
||||
strcat(userbuf, user->nick);
|
||||
strcat(userbuf, GET_USER(user));
|
||||
} else {
|
||||
add_modes &= ~CUS_PROTECT;
|
||||
}
|
||||
if ((add_modes & CUS_OP) && !(status & CUS_OP)) {
|
||||
strcat(modebuf, "o");
|
||||
strcat(userbuf, " ");
|
||||
strcat(userbuf, user->nick);
|
||||
strcat(userbuf, GET_USER(user));
|
||||
rem_modes |= CUS_DEOPPED;
|
||||
} else {
|
||||
add_modes &= ~CUS_OP;
|
||||
@@ -1480,14 +1511,14 @@ void chan_set_correct_modes(User * user, Channel * c, int give_modes)
|
||||
if ((add_modes & CUS_HALFOP) && !(status & CUS_HALFOP)) {
|
||||
strcat(modebuf, "h");
|
||||
strcat(userbuf, " ");
|
||||
strcat(userbuf, user->nick);
|
||||
strcat(userbuf, GET_USER(user));
|
||||
} else {
|
||||
add_modes &= ~CUS_HALFOP;
|
||||
}
|
||||
if ((add_modes & CUS_VOICE) && !(status & CUS_VOICE)) {
|
||||
strcat(modebuf, "v");
|
||||
strcat(userbuf, " ");
|
||||
strcat(userbuf, user->nick);
|
||||
strcat(userbuf, GET_USER(user));
|
||||
} else {
|
||||
add_modes &= ~CUS_VOICE;
|
||||
}
|
||||
@@ -1499,25 +1530,25 @@ void chan_set_correct_modes(User * user, Channel * c, int give_modes)
|
||||
strcat(modebuf, tmp);
|
||||
free(tmp);
|
||||
strcat(userbuf, " ");
|
||||
strcat(userbuf, user->nick);
|
||||
strcat(userbuf, GET_USER(user));
|
||||
}
|
||||
if (rem_modes & CUS_PROTECT) {
|
||||
tmp = stripModePrefix(ircd->adminset);
|
||||
strcat(modebuf, tmp);
|
||||
free(tmp);
|
||||
strcat(userbuf, " ");
|
||||
strcat(userbuf, user->nick);
|
||||
strcat(userbuf, GET_USER(user));
|
||||
}
|
||||
if (rem_modes & CUS_OP) {
|
||||
strcat(modebuf, "o");
|
||||
strcat(userbuf, " ");
|
||||
strcat(userbuf, user->nick);
|
||||
strcat(userbuf, GET_USER(user));
|
||||
add_modes |= CUS_DEOPPED;
|
||||
}
|
||||
if (rem_modes & CUS_HALFOP) {
|
||||
strcat(modebuf, "h");
|
||||
strcat(userbuf, " ");
|
||||
strcat(userbuf, user->nick);
|
||||
strcat(userbuf, GET_USER(user));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1818,6 +1849,15 @@ char *get_redirect(Channel * chan)
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
/* This is a dummy function part of making anope accept modes
|
||||
* it does actively parse.. ~ Viper */
|
||||
char *get_unkwn(Channel * chan)
|
||||
{
|
||||
return NULL;
|
||||
}
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
Channel *join_user_update(User * user, Channel * chan, char *name,
|
||||
time_t chants)
|
||||
{
|
||||
@@ -1843,11 +1883,20 @@ Channel *join_user_update(User * user, Channel * chan, char *name,
|
||||
modes[2] = cu->user->nick;
|
||||
chan_set_modes(s_OperServ, chan, 3, modes, 2);
|
||||
}
|
||||
if (chan->ci && chan->ci->bi)
|
||||
if (chan->ci)
|
||||
{
|
||||
/* This is ugly, but it always works */
|
||||
anope_cmd_part(chan->ci->bi->nick, chan->name, "TS reop");
|
||||
bot_join(chan->ci);
|
||||
if (chan->ci->bi)
|
||||
{
|
||||
/* This is ugly, but it always works */
|
||||
anope_cmd_part(chan->ci->bi->nick, chan->name, "TS reop");
|
||||
bot_join(chan->ci);
|
||||
}
|
||||
/* Make sure +r is set */
|
||||
if (ircd->chanreg && ircd->regmode)
|
||||
{
|
||||
chan->mode |= ircd->regmode;
|
||||
anope_cmd_mode(whosends(chan->ci), chan->name, "+r");
|
||||
}
|
||||
}
|
||||
/* XXX simple modes and bans */
|
||||
}
|
||||
@@ -1932,6 +1981,17 @@ void set_redirect(Channel * chan, char *value)
|
||||
chan->redirect ? chan->redirect : "no redirect");
|
||||
}
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
/* This is a dummy function to make anope parse a param for a mode,
|
||||
* yet we don't use that param internally.. ~ Viper */
|
||||
void set_unkwn(Channel *chan, char *value)
|
||||
{
|
||||
/* Do nothing.. */
|
||||
}
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
void do_mass_mode(char *modes)
|
||||
{
|
||||
int ac;
|
||||
@@ -2176,7 +2236,7 @@ int entry_match(Entry * e, char *nick, char *user, char *host, uint32 ip)
|
||||
&& (!user || stricmp(e->user, user) != 0))
|
||||
return 0;
|
||||
if ((e->type & ENTRYTYPE_HOST)
|
||||
&& (!user || stricmp(e->host, host) != 0))
|
||||
&& (!host || stricmp(e->host, host) != 0))
|
||||
return 0;
|
||||
if ((e->type & ENTRYTYPE_NICK_WILD)
|
||||
&& !match_wild_nocase(e->nick, nick))
|
||||
@@ -2331,7 +2391,9 @@ Entry *elist_match_user(EList * list, User * u)
|
||||
/* Match what we ve got against the lists.. */
|
||||
res = elist_match(list, u->nick, u->username, u->host, ip);
|
||||
if (!res)
|
||||
elist_match(list, u->nick, u->username, u->vhost, ip);
|
||||
res = elist_match(list, u->nick, u->username, u->vhost, ip);
|
||||
if (!res)
|
||||
res = elist_match(list, u->nick, u->username, u->chost, ip);
|
||||
|
||||
if (host)
|
||||
free(host);
|
||||
|
||||
+122
-37
@@ -1,6 +1,6 @@
|
||||
/* ChanServ functions.
|
||||
*
|
||||
* (C) 2003-2009 Anope Team
|
||||
* (C) 2003-2010 Anope Team
|
||||
* Contact us at team@anope.org
|
||||
*
|
||||
* Please read COPYING and README for further details.
|
||||
@@ -1082,10 +1082,10 @@ void save_cs_rdb_dbase(void)
|
||||
void check_modes(Channel * c)
|
||||
{
|
||||
char modebuf[64], argbuf[BUFSIZE], *end = modebuf, *end2 = argbuf;
|
||||
uint32 modes;
|
||||
uint32 modes = 0;
|
||||
ChannelInfo *ci;
|
||||
CBModeInfo *cbmi;
|
||||
CBMode *cbm;
|
||||
CBModeInfo *cbmi = NULL;
|
||||
CBMode *cbm = NULL;
|
||||
|
||||
if (!c) {
|
||||
if (debug) {
|
||||
@@ -1122,13 +1122,15 @@ void check_modes(Channel * c)
|
||||
anope_cmd_mode(whosends(ci), c->name, "-r");
|
||||
}
|
||||
}
|
||||
return;
|
||||
/* Channels that are not regged also need the defcon modes.. ~ Viper */
|
||||
/* return; */
|
||||
}
|
||||
|
||||
/* Initialize te modes-var to set all modes not set yet but which should
|
||||
/* Initialize the modes-var to set all modes not set yet but which should
|
||||
* be set as by mlock and defcon.
|
||||
*/
|
||||
modes = ~c->mode & ci->mlock_on;
|
||||
if (ci)
|
||||
modes = ~c->mode & ci->mlock_on;
|
||||
if (DefConModesSet)
|
||||
modes |= (~c->mode & DefConModesOn);
|
||||
|
||||
@@ -1147,8 +1149,13 @@ void check_modes(Channel * c)
|
||||
/* Check if it's a defcon or mlock mode */
|
||||
if (DefConModesOn & cbmi->flag)
|
||||
value = cbmi->csgetvalue(&DefConModesCI);
|
||||
else
|
||||
else if (ci)
|
||||
value = cbmi->csgetvalue(ci);
|
||||
else {
|
||||
value = NULL;
|
||||
if (debug)
|
||||
alog ("Warning: setting modes with unknown origin.");
|
||||
}
|
||||
|
||||
cbm = &cbmodes[(int) cbmi->mode];
|
||||
cbm->setvalue(c, value);
|
||||
@@ -1160,7 +1167,7 @@ void check_modes(Channel * c)
|
||||
}
|
||||
}
|
||||
} else if (cbmi->getvalue && cbmi->csgetvalue
|
||||
&& ((ci->mlock_on & cbmi->flag)
|
||||
&& ((ci && (ci->mlock_on & cbmi->flag))
|
||||
|| (DefConModesOn & cbmi->flag))
|
||||
&& (c->mode & cbmi->flag)) {
|
||||
char *value = cbmi->getvalue(c);
|
||||
@@ -1169,8 +1176,13 @@ void check_modes(Channel * c)
|
||||
/* Check if it's a defcon or mlock mode */
|
||||
if (DefConModesOn & cbmi->flag)
|
||||
csvalue = cbmi->csgetvalue(&DefConModesCI);
|
||||
else
|
||||
else if (ci)
|
||||
csvalue = cbmi->csgetvalue(ci);
|
||||
else {
|
||||
csvalue = NULL;
|
||||
if (debug)
|
||||
alog ("Warning: setting modes with unknown origin.");
|
||||
}
|
||||
|
||||
/* Lock and actual values don't match, so fix the mode */
|
||||
if (value && csvalue && strcmp(value, csvalue)) {
|
||||
@@ -1189,9 +1201,15 @@ void check_modes(Channel * c)
|
||||
if (*(end - 1) == '+')
|
||||
end--;
|
||||
|
||||
modes = c->mode & ci->mlock_off;
|
||||
modes = 0;
|
||||
if (ci) {
|
||||
modes = c->mode & ci->mlock_off;
|
||||
/* Make sure we don't remove a mode just set by defcon.. ~ Viper */
|
||||
if (DefConModesSet)
|
||||
modes &= ~(modes & DefConModesOn);
|
||||
}
|
||||
if (DefConModesSet)
|
||||
modes |= (~c->mode & DefConModesOff);
|
||||
modes |= c->mode & DefConModesOff;
|
||||
|
||||
if (modes) {
|
||||
*end++ = '-';
|
||||
@@ -1228,7 +1246,7 @@ void check_modes(Channel * c)
|
||||
*end = 0;
|
||||
*end2 = 0;
|
||||
|
||||
anope_cmd_mode(whosends(ci), c->name, "%s%s", modebuf,
|
||||
anope_cmd_mode((ci ? whosends(ci) : s_OperServ), c->name, "%s%s", modebuf,
|
||||
(end2 == argbuf ? "" : argbuf));
|
||||
}
|
||||
|
||||
@@ -1250,13 +1268,13 @@ int check_valid_admin(User * user, Channel * chan, int servermode)
|
||||
if (servermode && !check_access(user, chan->ci, CA_AUTOPROTECT)) {
|
||||
notice_lang(s_ChanServ, user, CHAN_IS_REGISTERED, s_ChanServ);
|
||||
anope_cmd_mode(whosends(chan->ci), chan->name, "%s %s",
|
||||
ircd->adminunset, user->nick);
|
||||
ircd->adminunset, GET_USER(user));
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (check_access(user, chan->ci, CA_AUTODEOP)) {
|
||||
anope_cmd_mode(whosends(chan->ci), chan->name, "%s %s",
|
||||
ircd->adminunset, user->nick);
|
||||
ircd->adminunset, GET_USER(user));
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -1287,40 +1305,40 @@ int check_valid_op(User * user, Channel * chan, int servermode)
|
||||
tmp = stripModePrefix(ircd->ownerunset);
|
||||
anope_cmd_mode(whosends(chan->ci), chan->name,
|
||||
"%so%s %s %s %s", ircd->adminunset,
|
||||
tmp, user->nick,
|
||||
user->nick, user->nick);
|
||||
tmp, GET_USER(user),
|
||||
GET_USER(user), GET_USER(user));
|
||||
free(tmp);
|
||||
} else {
|
||||
tmp = stripModePrefix(ircd->ownerunset);
|
||||
anope_cmd_mode(whosends(chan->ci), chan->name,
|
||||
"%sho%s %s %s %s %s",
|
||||
ircd->adminunset, tmp,
|
||||
user->nick, user->nick, user->nick,
|
||||
user->nick);
|
||||
GET_USER(user), GET_USER(user), GET_USER(user),
|
||||
GET_USER(user));
|
||||
free(tmp);
|
||||
}
|
||||
} else if (!ircd->owner && ircd->protect) {
|
||||
if (check_access(user, chan->ci, CA_AUTOHALFOP)) {
|
||||
anope_cmd_mode(whosends(chan->ci), chan->name,
|
||||
"%so %s %s", ircd->adminunset,
|
||||
user->nick, user->nick);
|
||||
GET_USER(user), GET_USER(user));
|
||||
} else {
|
||||
anope_cmd_mode(whosends(chan->ci), chan->name,
|
||||
"%soh %s %s %s", ircd->adminunset,
|
||||
user->nick, user->nick, user->nick);
|
||||
GET_USER(user), GET_USER(user), GET_USER(user));
|
||||
}
|
||||
} else {
|
||||
if (check_access(user, chan->ci, CA_AUTOHALFOP)) {
|
||||
anope_cmd_mode(whosends(chan->ci), chan->name, "-o %s",
|
||||
user->nick);
|
||||
GET_USER(user));
|
||||
} else {
|
||||
anope_cmd_mode(whosends(chan->ci), chan->name,
|
||||
"-ho %s %s", user->nick, user->nick);
|
||||
"-ho %s %s", GET_USER(user), GET_USER(user));
|
||||
}
|
||||
}
|
||||
} else {
|
||||
anope_cmd_mode(whosends(chan->ci), chan->name, "-o %s",
|
||||
user->nick);
|
||||
GET_USER(user));
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
@@ -1331,16 +1349,16 @@ int check_valid_op(User * user, Channel * chan, int servermode)
|
||||
tmp = stripModePrefix(ircd->ownerunset);
|
||||
anope_cmd_mode(whosends(chan->ci), chan->name,
|
||||
"%sho%s %s %s %s %s", ircd->adminunset,
|
||||
tmp, user->nick, user->nick,
|
||||
user->nick, user->nick);
|
||||
tmp, GET_USER(user), GET_USER(user),
|
||||
GET_USER(user), GET_USER(user));
|
||||
free(tmp);
|
||||
} else {
|
||||
anope_cmd_mode(whosends(chan->ci), chan->name, "-ho %s %s",
|
||||
user->nick, user->nick);
|
||||
GET_USER(user), GET_USER(user));
|
||||
}
|
||||
} else {
|
||||
anope_cmd_mode(whosends(chan->ci), chan->name, "-o %s",
|
||||
user->nick);
|
||||
GET_USER(user));
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
@@ -1365,7 +1383,7 @@ int check_should_op(User * user, char *chan)
|
||||
return 0;
|
||||
|
||||
if (check_access(user, ci, CA_AUTOOP)) {
|
||||
anope_cmd_mode(whosends(ci), chan, "+o %s", user->nick);
|
||||
anope_cmd_mode(whosends(ci), chan, "+o %s", GET_USER(user));
|
||||
return 1;
|
||||
}
|
||||
|
||||
@@ -1388,7 +1406,7 @@ int check_should_voice(User * user, char *chan)
|
||||
return 0;
|
||||
|
||||
if (check_access(user, ci, CA_AUTOVOICE)) {
|
||||
anope_cmd_mode(whosends(ci), chan, "+v %s", user->nick);
|
||||
anope_cmd_mode(whosends(ci), chan, "+v %s", GET_USER(user));
|
||||
return 1;
|
||||
}
|
||||
|
||||
@@ -1405,7 +1423,7 @@ int check_should_halfop(User * user, char *chan)
|
||||
return 0;
|
||||
|
||||
if (check_access(user, ci, CA_AUTOHALFOP)) {
|
||||
anope_cmd_mode(whosends(ci), chan, "+h %s", user->nick);
|
||||
anope_cmd_mode(whosends(ci), chan, "+h %s", GET_USER(user));
|
||||
return 1;
|
||||
}
|
||||
|
||||
@@ -1425,8 +1443,8 @@ int check_should_owner(User * user, char *chan)
|
||||
if (((ci->flags & CI_SECUREFOUNDER) && is_real_founder(user, ci))
|
||||
|| (!(ci->flags & CI_SECUREFOUNDER) && is_founder(user, ci))) {
|
||||
tmp = stripModePrefix(ircd->ownerset);
|
||||
anope_cmd_mode(whosends(ci), chan, "+o%s %s %s", tmp, user->nick,
|
||||
user->nick);
|
||||
anope_cmd_mode(whosends(ci), chan, "+o%s %s %s", tmp, GET_USER(user),
|
||||
GET_USER(user));
|
||||
free(tmp);
|
||||
return 1;
|
||||
}
|
||||
@@ -1446,8 +1464,8 @@ int check_should_protect(User * user, char *chan)
|
||||
|
||||
if (check_access(user, ci, CA_AUTOPROTECT)) {
|
||||
tmp = stripModePrefix(ircd->adminset);
|
||||
anope_cmd_mode(whosends(ci), chan, "+o%s %s %s", tmp, user->nick,
|
||||
user->nick);
|
||||
anope_cmd_mode(whosends(ci), chan, "+o%s %s %s", tmp, GET_USER(user),
|
||||
GET_USER(user));
|
||||
free(tmp);
|
||||
return 1;
|
||||
}
|
||||
@@ -1683,7 +1701,7 @@ void restore_topic(char *chan)
|
||||
if (ircd->join2set) {
|
||||
if (whosends(ci) == s_ChanServ) {
|
||||
anope_cmd_join(s_ChanServ, chan, c->creation_time);
|
||||
anope_cmd_mode(NULL, chan, "+o %s", s_ChanServ);
|
||||
anope_cmd_mode(NULL, chan, "+o %s", GET_BOT(s_ChanServ));
|
||||
}
|
||||
}
|
||||
anope_cmd_topic(whosends(ci), c->name, c->topic_setter,
|
||||
@@ -1745,7 +1763,7 @@ int check_topiclock(Channel * c, time_t topic_time)
|
||||
if (ircd->join2set) {
|
||||
if (whosends(ci) == s_ChanServ) {
|
||||
anope_cmd_join(s_ChanServ, c->name, c->creation_time);
|
||||
anope_cmd_mode(NULL, c->name, "+o %s", s_ChanServ);
|
||||
anope_cmd_mode(NULL, c->name, "+o %s", GET_BOT(s_ChanServ));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1839,8 +1857,10 @@ void cs_remove_nick(const NickCore * nc)
|
||||
if (ca->in_use && ca->nc == nc) {
|
||||
ca->in_use = 0;
|
||||
ca->nc = NULL;
|
||||
ci->accesscount--;
|
||||
}
|
||||
}
|
||||
CleanAccess(ci);
|
||||
|
||||
for (akick = ci->akick, j = 0; j < ci->akickcount; akick++, j++) {
|
||||
if ((akick->flags & AK_USED) && (akick->flags & AK_ISNICK)
|
||||
@@ -2469,6 +2489,15 @@ char *cs_get_redirect(ChannelInfo * ci)
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
/* This is a dummy function part of making anope accept modes
|
||||
* it does actively parse.. ~ Viper */
|
||||
char *cs_get_unkwn(ChannelInfo * ci)
|
||||
{
|
||||
return NULL;
|
||||
}
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
void cs_set_flood(ChannelInfo * ci, char *value)
|
||||
{
|
||||
if (!ci) {
|
||||
@@ -2559,6 +2588,17 @@ void cs_set_redirect(ChannelInfo * ci, char *value)
|
||||
}
|
||||
}
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
/* This is a dummy function to make anope parse a param for a mode,
|
||||
* yet we don't use that param internally.. ~ Viper */
|
||||
void cs_set_unkwn(ChannelInfo * ci, char *value)
|
||||
{
|
||||
/* Do nothing.. */
|
||||
}
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
int get_access_level(ChannelInfo * ci, NickAlias * na)
|
||||
{
|
||||
ChanAccess *access;
|
||||
@@ -2709,3 +2749,48 @@ void stick_all(ChannelInfo * ci)
|
||||
free(av[0]);
|
||||
}
|
||||
}
|
||||
|
||||
/** Reorder the access list to get rid of unused entries
|
||||
* @param ci The channel to reorder the access of
|
||||
*/
|
||||
void CleanAccess(ChannelInfo *ci)
|
||||
{
|
||||
int a, b;
|
||||
|
||||
if (!ci)
|
||||
return;
|
||||
|
||||
for (b = 0; b < ci->accesscount; b++)
|
||||
{
|
||||
if (ci->access[b].in_use)
|
||||
{
|
||||
for (a = 0; a < ci->accesscount; a++)
|
||||
{
|
||||
if (a > b)
|
||||
break;
|
||||
if (!ci->access[a].in_use)
|
||||
{
|
||||
ci->access[a].in_use = 1;
|
||||
ci->access[a].level = ci->access[b].level;
|
||||
ci->access[a].nc = ci->access[b].nc;
|
||||
ci->access[a].last_seen = ci->access[b].last_seen;
|
||||
ci->access[b].nc = NULL;
|
||||
ci->access[b].in_use = 0;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* After reordering, entries on the end of the list may be empty, remove them */
|
||||
for (b = ci->accesscount - 1; b >= 0; --b)
|
||||
{
|
||||
if (ci->access[b].in_use)
|
||||
break;
|
||||
ci->accesscount--;
|
||||
}
|
||||
|
||||
/* Reallocate the access list to only use the memory we need */
|
||||
ci->access = srealloc(ci->access, sizeof(ChanAccess) * ci->accesscount);
|
||||
}
|
||||
|
||||
|
||||
+37
-36
@@ -1,6 +1,6 @@
|
||||
/* Routines for looking up commands in a *Serv command list.
|
||||
*
|
||||
* (C) 2003-2009 Anope Team
|
||||
* (C) 2003-2010 Anope Team
|
||||
* Contact us at team@anope.org
|
||||
*
|
||||
* Please read COPYING and README for further details.
|
||||
@@ -167,6 +167,8 @@ void do_help_cmd(char *service, User * u, Command * c, const char *cmd)
|
||||
const char *p1 = NULL, *p2 = NULL, *p3 = NULL, *p4 = NULL;
|
||||
Module *calling_module = mod_current_module;
|
||||
char *calling_module_name = mod_current_module_name;
|
||||
int help_message;
|
||||
int (*help_message_ptr)(User *u) = NULL;
|
||||
|
||||
for (current = c; (current) && (cont == MOD_CONT);
|
||||
current = current->next) {
|
||||
@@ -180,6 +182,10 @@ void do_help_cmd(char *service, User * u, Command * c, const char *cmd)
|
||||
p2 = current->help_param2;
|
||||
p3 = current->help_param3;
|
||||
p4 = current->help_param4;
|
||||
|
||||
help_message = 0;
|
||||
help_message_ptr = NULL;
|
||||
|
||||
if (current->helpmsg_all >= 0) {
|
||||
notice_help(service, u, current->helpmsg_all, p1, p2, p3, p4);
|
||||
has_had_help = 1;
|
||||
@@ -187,43 +193,38 @@ void do_help_cmd(char *service, User * u, Command * c, const char *cmd)
|
||||
cont = current->all_help(u);
|
||||
has_had_help = 1;
|
||||
}
|
||||
if (is_services_root(u)) {
|
||||
if (current->helpmsg_root >= 0) {
|
||||
notice_help(service, u, current->helpmsg_root, p1, p2, p3,
|
||||
p4);
|
||||
has_had_help = 1;
|
||||
} else if (current->root_help) {
|
||||
cont = current->root_help(u);
|
||||
has_had_help = 1;
|
||||
}
|
||||
} else if (is_services_admin(u)) {
|
||||
if (current->helpmsg_admin >= 0) {
|
||||
notice_help(service, u, current->helpmsg_admin, p1, p2, p3,
|
||||
p4);
|
||||
has_had_help = 1;
|
||||
} else if (current->admin_help) {
|
||||
cont = current->admin_help(u);
|
||||
has_had_help = 1;
|
||||
}
|
||||
} else if (is_services_oper(u)) {
|
||||
if (current->helpmsg_oper >= 0) {
|
||||
notice_help(service, u, current->helpmsg_oper, p1, p2, p3,
|
||||
p4);
|
||||
has_had_help = 1;
|
||||
} else if (current->oper_help) {
|
||||
cont = current->oper_help(u);
|
||||
has_had_help = 1;
|
||||
}
|
||||
|
||||
if (is_services_root(u) && (current->helpmsg_root >= 0 || current->root_help)) {
|
||||
if (current->helpmsg_root >= 0)
|
||||
help_message = current->helpmsg_root;
|
||||
else if (current->root_help)
|
||||
help_message_ptr = current->root_help;
|
||||
} else if (is_services_admin(u) && (current->helpmsg_admin >= 0 || current->admin_help)) {
|
||||
if (current->helpmsg_admin >= 0)
|
||||
help_message = current->helpmsg_admin;
|
||||
else if (current->admin_help)
|
||||
help_message_ptr = current->admin_help;
|
||||
} else if (is_services_oper(u) && (current->helpmsg_oper >= 0 || current->oper_help)) {
|
||||
if (current->helpmsg_oper >= 0)
|
||||
help_message = current->helpmsg_oper;
|
||||
else if (current->oper_help)
|
||||
help_message_ptr = current->oper_help;
|
||||
} else {
|
||||
if (current->helpmsg_reg >= 0) {
|
||||
notice_help(service, u, current->helpmsg_reg, p1, p2, p3,
|
||||
p4);
|
||||
has_had_help = 1;
|
||||
} else if (current->regular_help) {
|
||||
cont = current->regular_help(u);
|
||||
has_had_help = 1;
|
||||
}
|
||||
/* Shouldn't we check for the user to be identified? */
|
||||
if (current->helpmsg_reg >= 0)
|
||||
help_message = current->helpmsg_reg;
|
||||
else if (current->regular_help)
|
||||
help_message_ptr = current->regular_help;
|
||||
}
|
||||
|
||||
if (help_message) {
|
||||
notice_help(service, u, help_message, p1, p2, p3, p4);
|
||||
has_had_help = 1;
|
||||
} else if (help_message_ptr) {
|
||||
cont = help_message_ptr(u);
|
||||
has_had_help = 1;
|
||||
}
|
||||
|
||||
}
|
||||
if (has_had_help == 0) {
|
||||
notice_lang(service, u, NO_HELP_AVAILABLE, cmd);
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
/* Compatibility routines.
|
||||
*
|
||||
* (C) 2003-2009 Anope Team
|
||||
* (C) 2003-2010 Anope Team
|
||||
* Contact us at team@anope.org
|
||||
*
|
||||
* Please read COPYING and README for further details.
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
/* Configuration file handling.
|
||||
*
|
||||
* (C) 2003-2009 Anope Team
|
||||
* (C) 2003-2010 Anope Team
|
||||
* Contact us at team@anope.org
|
||||
*
|
||||
* Please read COPYING and README for further details.
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
/* BotServ core functions
|
||||
*
|
||||
* (C) 2003-2009 Anope Team
|
||||
* (C) 2003-2010 Anope Team
|
||||
* Contact us at team@anope.org
|
||||
*
|
||||
* Please read COPYING and README for further details.
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* BotServ core functions
|
||||
*
|
||||
* (C) 2003-2009 Anope Team
|
||||
* (C) 2003-2010 Anope Team
|
||||
* Contact us at team@anope.org
|
||||
*
|
||||
* Please read COPYING and README for further details.
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* BotServ core functions
|
||||
*
|
||||
* (C) 2003-2009 Anope Team
|
||||
* (C) 2003-2010 Anope Team
|
||||
* Contact us at team@anope.org
|
||||
*
|
||||
* Please read COPYING and README for further details.
|
||||
|
||||
+9
-5
@@ -1,6 +1,6 @@
|
||||
/* BotServ core functions
|
||||
*
|
||||
* (C) 2003-2009 Anope Team
|
||||
* (C) 2003-2010 Anope Team
|
||||
* Contact us at team@anope.org
|
||||
*
|
||||
* Please read COPYING and README for further details.
|
||||
@@ -124,7 +124,7 @@ int do_bot(User * u)
|
||||
}
|
||||
for (ch = user; *ch && (ch - user) < USERMAX; ch++) {
|
||||
if (!isalnum(*ch)) {
|
||||
notice_lang(s_BotServ, u, BOT_LONG_IDENT, USERMAX - 1);
|
||||
notice_lang(s_BotServ, u, BOT_BAD_IDENT, USERMAX - 1);
|
||||
return MOD_CONT;
|
||||
}
|
||||
}
|
||||
@@ -244,7 +244,7 @@ int do_bot(User * u)
|
||||
if (user) {
|
||||
for (ch = user; *ch && (ch - user) < USERMAX; ch++) {
|
||||
if (!isalnum(*ch)) {
|
||||
notice_lang(s_BotServ, u, BOT_LONG_IDENT, USERMAX - 1);
|
||||
notice_lang(s_BotServ, u, BOT_BAD_IDENT, USERMAX - 1);
|
||||
return MOD_CONT;
|
||||
}
|
||||
}
|
||||
@@ -276,6 +276,12 @@ int do_bot(User * u)
|
||||
EnforceQlinedNick(nick, s_BotServ);
|
||||
}
|
||||
|
||||
/* Send the QUIT before changing the bot internally, so proto mods (InspIRCD 1.2)
|
||||
* can get the uid if needed (or other things )and send that - Adam
|
||||
*/
|
||||
if (user)
|
||||
anope_cmd_quit(bi->nick, "Quit: Be right back");
|
||||
|
||||
if (strcmp(nick, bi->nick))
|
||||
change_bot_nick(bi, nick);
|
||||
|
||||
@@ -299,8 +305,6 @@ int do_bot(User * u)
|
||||
anope_cmd_chg_nick(oldnick, bi->nick);
|
||||
anope_cmd_sqline(bi->nick, "Reserved for services");
|
||||
} else {
|
||||
anope_cmd_quit(oldnick, "Quit: Be right back");
|
||||
|
||||
anope_cmd_bot_nick(bi->nick, bi->user, bi->host, bi->real,
|
||||
ircd->botserv_bot_mode);
|
||||
bot_rejoin_all(bi);
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* BotServ core functions
|
||||
*
|
||||
* (C) 2003-2009 Anope Team
|
||||
* (C) 2003-2010 Anope Team
|
||||
* Contact us at team@anope.org
|
||||
*
|
||||
* Please read COPYING and README for further details.
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* BotServ core fantasy functions
|
||||
*
|
||||
* (C) 2003-2009 Anope Team
|
||||
* (C) 2003-2010 Anope Team
|
||||
* Contact us at team@anope.org
|
||||
*
|
||||
* Please read COPYING and README for further details.
|
||||
@@ -62,14 +62,14 @@ int do_fantasy(int argc, char **argv)
|
||||
|
||||
do {
|
||||
if (stricmp(argv[0], util->bsname) == 0) {
|
||||
/* This could have been moved to its own module
|
||||
however it would require more coding to handle the pass holders
|
||||
similar to how PROTECT is done
|
||||
*/
|
||||
if (!ircd->halfop) {
|
||||
if (!stricmp(argv[0], "halfop") || !stricmp(argv[0], "dehalfop")) {
|
||||
return MOD_CONT;
|
||||
}
|
||||
/* This could have been moved to its own module
|
||||
however it would require more coding to handle the pass holders
|
||||
similar to how PROTECT is done
|
||||
*/
|
||||
if (!ircd->halfop) {
|
||||
if (!stricmp(argv[0], "halfop") || !stricmp(argv[0], "dehalfop")) {
|
||||
return MOD_CONT;
|
||||
}
|
||||
}
|
||||
u = finduser(argv[1]);
|
||||
ci = cs_findchan(argv[2]);
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* BotServ core fantasy functions
|
||||
*
|
||||
* (C) 2003-2009 Anope Team
|
||||
* (C) 2003-2010 Anope Team
|
||||
* Contact us at team@anope.org
|
||||
*
|
||||
* Please read COPYING and README for further details.
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* BotServ core fantasy functions
|
||||
*
|
||||
* (C) 2003-2009 Anope Team
|
||||
* (C) 2003-2010 Anope Team
|
||||
* Contact us at team@anope.org
|
||||
*
|
||||
* Please read COPYING and README for further details.
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* BotServ core fantasy functions
|
||||
*
|
||||
* (C) 2003-2009 Anope Team
|
||||
* (C) 2003-2010 Anope Team
|
||||
* Contact us at team@anope.org
|
||||
*
|
||||
* Please read COPYING and README for further details.
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* BotServ core fantasy functions
|
||||
*
|
||||
* (C) 2003-2009 Anope Team
|
||||
* (C) 2003-2010 Anope Team
|
||||
* Contact us at team@anope.org
|
||||
*
|
||||
* Please read COPYING and README for further details.
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
/* BotServ core functions
|
||||
*
|
||||
* (C) 2003-2009 Anope Team
|
||||
* (C) 2003-2010 Anope Team
|
||||
* Contact us at team@anope.org
|
||||
*
|
||||
* Please read COPYING and README for further details.
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
/* BotServ core functions
|
||||
*
|
||||
* (C) 2003-2009 Anope Team
|
||||
* (C) 2003-2010 Anope Team
|
||||
* Contact us at team@anope.org
|
||||
*
|
||||
* Please read COPYING and README for further details.
|
||||
|
||||
+9
-1
@@ -1,6 +1,6 @@
|
||||
/* BotServ core functions
|
||||
*
|
||||
* (C) 2003-2009 Anope Team
|
||||
* (C) 2003-2010 Anope Team
|
||||
* Contact us at team@anope.org
|
||||
*
|
||||
* Please read COPYING and README for further details.
|
||||
@@ -117,6 +117,7 @@ int do_kickcmd(User * u)
|
||||
if (!stricmp(option, "BADWORDS")) {
|
||||
if (!stricmp(value, "ON")) {
|
||||
if (ttb) {
|
||||
errno = 0;
|
||||
ci->ttb[TTB_BADWORDS] =
|
||||
strtol(ttb, (char **) NULL, 10);
|
||||
/* Only error if errno returns ERANGE or EINVAL or we are less then 0 - TSL */
|
||||
@@ -147,6 +148,7 @@ int do_kickcmd(User * u)
|
||||
} else if (!stricmp(option, "BOLDS")) {
|
||||
if (!stricmp(value, "ON")) {
|
||||
if (ttb) {
|
||||
errno = 0;
|
||||
ci->ttb[TTB_BOLDS] = strtol(ttb, (char **) NULL, 10);
|
||||
if (errno == ERANGE || errno == EINVAL
|
||||
|| ci->ttb[TTB_BOLDS] < 0) {
|
||||
@@ -175,6 +177,7 @@ int do_kickcmd(User * u)
|
||||
char *percent = strtok(NULL, " ");
|
||||
|
||||
if (ttb) {
|
||||
errno = 0;
|
||||
ci->ttb[TTB_CAPS] = strtol(ttb, (char **) NULL, 10);
|
||||
if (errno == ERANGE || errno == EINVAL
|
||||
|| ci->ttb[TTB_CAPS] < 0) {
|
||||
@@ -217,6 +220,7 @@ int do_kickcmd(User * u)
|
||||
} else if (!stricmp(option, "COLORS")) {
|
||||
if (!stricmp(value, "ON")) {
|
||||
if (ttb) {
|
||||
errno = 0;
|
||||
ci->ttb[TTB_COLORS] = strtol(ttb, (char **) NULL, 10);
|
||||
if (errno == ERANGE || errno == EINVAL
|
||||
|| ci->ttb[TTB_COLORS] < 0) {
|
||||
@@ -245,6 +249,7 @@ int do_kickcmd(User * u)
|
||||
char *secs = strtok(NULL, " ");
|
||||
|
||||
if (ttb) {
|
||||
errno = 0;
|
||||
ci->ttb[TTB_FLOOD] = strtol(ttb, (char **) NULL, 10);
|
||||
if (errno == ERANGE || errno == EINVAL
|
||||
|| ci->ttb[TTB_FLOOD] < 0) {
|
||||
@@ -289,6 +294,7 @@ int do_kickcmd(User * u)
|
||||
char *times = strtok(NULL, " ");
|
||||
|
||||
if (ttb) {
|
||||
errno = 0;
|
||||
ci->ttb[TTB_REPEAT] = strtol(ttb, (char **) NULL, 10);
|
||||
if (errno == ERANGE || errno == EINVAL
|
||||
|| ci->ttb[TTB_REPEAT] < 0) {
|
||||
@@ -323,6 +329,7 @@ int do_kickcmd(User * u)
|
||||
} else if (!stricmp(option, "REVERSES")) {
|
||||
if (!stricmp(value, "ON")) {
|
||||
if (ttb) {
|
||||
errno = 0;
|
||||
ci->ttb[TTB_REVERSES] =
|
||||
strtol(ttb, (char **) NULL, 10);
|
||||
if (errno == ERANGE || errno == EINVAL
|
||||
@@ -349,6 +356,7 @@ int do_kickcmd(User * u)
|
||||
} else if (!stricmp(option, "UNDERLINES")) {
|
||||
if (!stricmp(value, "ON")) {
|
||||
if (ttb) {
|
||||
errno = 0;
|
||||
ci->ttb[TTB_UNDERLINES] =
|
||||
strtol(ttb, (char **) NULL, 10);
|
||||
if (errno == ERANGE || errno == EINVAL
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
/* BotServ core functions
|
||||
*
|
||||
* (C) 2003-2009 Anope Team
|
||||
* (C) 2003-2010 Anope Team
|
||||
* Contact us at team@anope.org
|
||||
*
|
||||
* Please read COPYING and README for further details.
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
/* BotServ core functions
|
||||
*
|
||||
* (C) 2003-2009 Anope Team
|
||||
* (C) 2003-2010 Anope Team
|
||||
* Contact us at team@anope.org
|
||||
*
|
||||
* Please read COPYING and README for further details.
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* BotServ core functions
|
||||
*
|
||||
* (C) 2003-2009 Anope Team
|
||||
* (C) 2003-2010 Anope Team
|
||||
* Contact us at team@anope.org
|
||||
*
|
||||
* Please read COPYING and README for further details.
|
||||
|
||||
+8
-80
@@ -1,6 +1,6 @@
|
||||
/* ChanServ core functions
|
||||
*
|
||||
* (C) 2003-2009 Anope Team
|
||||
* (C) 2003-2010 Anope Team
|
||||
* Contact us at team@anope.org
|
||||
*
|
||||
* Please read COPYING and README for further details.
|
||||
@@ -236,14 +236,6 @@ int do_access(User * u)
|
||||
}
|
||||
}
|
||||
|
||||
/* All entries should be in use so we no longer need
|
||||
* to go over the entire list..
|
||||
for (i = 0; i < ci->accesscount; i++) {
|
||||
if (!ci->access[i].in_use)
|
||||
break;
|
||||
}
|
||||
*/
|
||||
|
||||
if (i < CSAccessMax) {
|
||||
ci->accesscount++;
|
||||
ci->access =
|
||||
@@ -268,8 +260,9 @@ int do_access(User * u)
|
||||
notice_lang(s_ChanServ, u, CHAN_ACCESS_ADDED, nc->display,
|
||||
ci->name, access->level);
|
||||
} else if (stricmp(cmd, "DEL") == 0) {
|
||||
int deleted, a, b;
|
||||
if (readonly) {
|
||||
int deleted;
|
||||
|
||||
if (readonly) {
|
||||
notice_lang(s_ChanServ, u, CHAN_ACCESS_DISABLED);
|
||||
return MOD_CONT;
|
||||
}
|
||||
@@ -279,24 +272,8 @@ int do_access(User * u)
|
||||
return MOD_CONT;
|
||||
}
|
||||
|
||||
for (b = 0; b < ci->accesscount; b++) {
|
||||
if (ci->access[b].in_use) {
|
||||
for (a = 0; a < ci->accesscount; a++) {
|
||||
if (a > b)
|
||||
break;
|
||||
if (!ci->access[a].in_use) {
|
||||
ci->access[a].in_use = 1;
|
||||
ci->access[a].level = ci->access[b].level;
|
||||
ci->access[a].nc = ci->access[b].nc;
|
||||
ci->access[a].last_seen =
|
||||
ci->access[b].last_seen;
|
||||
ci->access[b].nc = NULL;
|
||||
ci->access[b].in_use = 0;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
/* Clean the access list to make sure every thing is in use */
|
||||
CleanAccess(ci);
|
||||
|
||||
/* Special case: is it a number/list? Only do search if it isn't. */
|
||||
if (isdigit(*nick) && strspn(nick, "1234567890,-") == strlen(nick)) {
|
||||
@@ -354,37 +331,7 @@ int do_access(User * u)
|
||||
}
|
||||
}
|
||||
|
||||
if (deleted) {
|
||||
/* Reordering - DrStein */
|
||||
for (b = 0; b < ci->accesscount; b++) {
|
||||
if (ci->access[b].in_use) {
|
||||
for (a = 0; a < ci->accesscount; a++) {
|
||||
if (a > b)
|
||||
break;
|
||||
if (!ci->access[a].in_use) {
|
||||
ci->access[a].in_use = 1;
|
||||
ci->access[a].level = ci->access[b].level;
|
||||
ci->access[a].nc = ci->access[b].nc;
|
||||
ci->access[a].last_seen =
|
||||
ci->access[b].last_seen;
|
||||
ci->access[b].nc = NULL;
|
||||
ci->access[b].in_use = 0;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* After reordering only the entries at the end could still be empty.
|
||||
* We ll free the places no longer in use... */
|
||||
for (i = ci->accesscount - 1; i >= 0; i--) {
|
||||
if (ci->access[i].in_use == 1)
|
||||
break;
|
||||
|
||||
ci->accesscount--;
|
||||
}
|
||||
ci->access =
|
||||
srealloc(ci->access,sizeof(ChanAccess) * ci->accesscount);
|
||||
CleanAccess(ci);
|
||||
|
||||
/* We don't know the nick if someone used numbers, so we trigger the event without
|
||||
* nick param. We just do this once, even if someone enters a range. -Certus */
|
||||
@@ -392,34 +339,15 @@ int do_access(User * u)
|
||||
send_event(EVENT_ACCESS_DEL, 3, ci->name, u->nick, na->nick);
|
||||
else
|
||||
send_event(EVENT_ACCESS_DEL, 2, ci->name, u->nick);
|
||||
}
|
||||
} else if (stricmp(cmd, "LIST") == 0) {
|
||||
int sent_header = 0;
|
||||
int a, b;
|
||||
|
||||
if (ci->accesscount == 0) {
|
||||
notice_lang(s_ChanServ, u, CHAN_ACCESS_LIST_EMPTY, chan);
|
||||
return MOD_CONT;
|
||||
}
|
||||
|
||||
for (b = 0; b < ci->accesscount; b++) {
|
||||
if (ci->access[b].in_use) {
|
||||
for (a = 0; a < ci->accesscount; a++) {
|
||||
if (a > b)
|
||||
break;
|
||||
if (!ci->access[a].in_use) {
|
||||
ci->access[a].in_use = 1;
|
||||
ci->access[a].level = ci->access[b].level;
|
||||
ci->access[a].nc = ci->access[b].nc;
|
||||
ci->access[a].last_seen =
|
||||
ci->access[b].last_seen;
|
||||
ci->access[b].nc = NULL;
|
||||
ci->access[b].in_use = 0;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
CleanAccess(ci);
|
||||
|
||||
if (nick && strspn(nick, "1234567890,-") == strlen(nick)) {
|
||||
process_numlist(nick, NULL, access_list_callback, u, ci,
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
/* ChanServ core functions
|
||||
*
|
||||
* (C) 2003-2009 Anope Team
|
||||
* (C) 2003-2010 Anope Team
|
||||
* Contact us at team@anope.org
|
||||
*
|
||||
* Please read COPYING and README for further details.
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
/* ChanServ core functions
|
||||
*
|
||||
* (C) 2003-2009 Anope Team
|
||||
* (C) 2003-2010 Anope Team
|
||||
* Contact us at team@anope.org
|
||||
*
|
||||
* Please read COPYING and README for further details.
|
||||
|
||||
+14
-14
@@ -1,6 +1,6 @@
|
||||
/* ChanServ core functions
|
||||
*
|
||||
* (C) 2003-2009 Anope Team
|
||||
* (C) 2003-2010 Anope Team
|
||||
* Contact us at team@anope.org
|
||||
*
|
||||
* Please read COPYING and README for further details.
|
||||
@@ -186,7 +186,6 @@ int do_clear(User * u)
|
||||
struct c_userlist *cu, *next;
|
||||
|
||||
if (ircd->svsmode_ucmode) {
|
||||
av[0] = chan;
|
||||
anope_cmd_svsmode_chan(av[0], "-o", NULL);
|
||||
if (ircd->owner) {
|
||||
anope_cmd_svsmode_chan(av[0], ircd->ownerunset, NULL);
|
||||
@@ -207,26 +206,26 @@ int do_clear(User * u)
|
||||
snprintf(tmp, BUFSIZE, "-%s%s%s", (isop ? "o" : ""), (isadmin ?
|
||||
ircd->adminunset+1 : ""), (isown ? ircd->ownerunset+1 : ""));
|
||||
|
||||
av[0] = chan;
|
||||
if (ircdcap->tsmode) {
|
||||
snprintf(buf, BUFSIZE - 1, "%ld", (long int) time(NULL));
|
||||
av[1] = buf;
|
||||
av[2] = tmp;
|
||||
/* We have to give as much nicks as modes.. - Viper */
|
||||
for (i = 0; i < count; i++)
|
||||
av[i+3] = cu->user->nick;
|
||||
av[i+3] = GET_USER(cu->user);
|
||||
ac = 3 + i;
|
||||
} else {
|
||||
av[1] = tmp;
|
||||
/* We have to give as much nicks as modes.. - Viper */
|
||||
for (i = 0; i < count; i++)
|
||||
av[i+2] = cu->user->nick;
|
||||
av[i+2] = GET_USER(cu->user);
|
||||
ac = 2 + i;
|
||||
}
|
||||
|
||||
do_cmode(s_ChanServ, ac, av);
|
||||
}
|
||||
} else {
|
||||
av[0] = chan;
|
||||
for (cu = c->users; cu; cu = next) {
|
||||
next = cu->next;
|
||||
isop = chan_has_user_status(c, cu->user, CUS_OP);
|
||||
@@ -240,16 +239,17 @@ int do_clear(User * u)
|
||||
snprintf(tmp, BUFSIZE, "-%s%s%s", (isop ? "o" : ""), (isadmin ?
|
||||
ircd->adminunset+1 : ""), (isown ? ircd->ownerunset+1 : ""));
|
||||
/* We need to send the IRCd a nick for every mode.. - Viper */
|
||||
snprintf(tmp2, BUFSIZE, "%s %s %s", (isop ? cu->user->nick : ""),
|
||||
(isadmin ? cu->user->nick : ""), (isown ? cu->user->nick : ""));
|
||||
snprintf(tmp2, BUFSIZE, "%s %s %s", (isop ? GET_USER(cu->user) : ""),
|
||||
(isadmin ? GET_USER(cu->user) : ""), (isown ? GET_USER(cu->user) : ""));
|
||||
|
||||
av[0] = chan;
|
||||
if (ircdcap->tsmode) {
|
||||
snprintf(buf, BUFSIZE - 1, "%ld", (long int) time(NULL));
|
||||
av[1] = buf;
|
||||
av[2] = tmp;
|
||||
/* We have to give as much nicks as modes.. - Viper */
|
||||
for (i = 0; i < count; i++)
|
||||
av[i+3] = cu->user->nick;
|
||||
av[i+3] = GET_USER(cu->user);
|
||||
ac = 3 + i;
|
||||
|
||||
anope_cmd_mode(whosends(ci), av[0], "%s %s", av[2], tmp2);
|
||||
@@ -257,7 +257,7 @@ int do_clear(User * u)
|
||||
av[1] = tmp;
|
||||
/* We have to give as much nicks as modes.. - Viper */
|
||||
for (i = 0; i < count; i++)
|
||||
av[i+2] = cu->user->nick;
|
||||
av[i+2] = GET_USER(cu->user);
|
||||
ac = 2 + i;
|
||||
|
||||
anope_cmd_mode(whosends(ci), av[0], "%s %s", av[1], tmp2);
|
||||
@@ -283,12 +283,12 @@ int do_clear(User * u)
|
||||
av[0] = sstrdup(chan);
|
||||
av[1] = buf;
|
||||
av[2] = sstrdup("-h");
|
||||
av[3] = sstrdup(cu->user->nick);
|
||||
av[3] = sstrdup(GET_USER(cu->user));
|
||||
ac = 4;
|
||||
} else {
|
||||
av[0] = sstrdup(chan);
|
||||
av[1] = sstrdup("-h");
|
||||
av[2] = sstrdup(cu->user->nick);
|
||||
av[2] = sstrdup(GET_USER(cu->user));
|
||||
ac = 3;
|
||||
}
|
||||
|
||||
@@ -337,12 +337,12 @@ int do_clear(User * u)
|
||||
av[0] = sstrdup(chan);
|
||||
av[1] = buf;
|
||||
av[2] = sstrdup("-v");
|
||||
av[3] = sstrdup(cu->user->nick);
|
||||
av[3] = sstrdup(GET_USER(cu->user));
|
||||
ac = 4;
|
||||
} else {
|
||||
av[0] = sstrdup(chan);
|
||||
av[1] = sstrdup("-v");
|
||||
av[2] = sstrdup(cu->user->nick);
|
||||
av[2] = sstrdup(GET_USER(cu->user));
|
||||
ac = 3;
|
||||
}
|
||||
|
||||
@@ -386,7 +386,7 @@ int do_clear(User * u)
|
||||
for (cu = c->users; cu; cu = next) {
|
||||
next = cu->next;
|
||||
av[0] = sstrdup(chan);
|
||||
av[1] = sstrdup(cu->user->nick);
|
||||
av[1] = sstrdup(GET_USER(cu->user));
|
||||
av[2] = sstrdup(buf);
|
||||
anope_cmd_kick(whosends(ci), av[0], av[1], av[2]);
|
||||
do_kick(s_ChanServ, 3, av);
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
/* ChanServ core functions
|
||||
*
|
||||
* (C) 2003-2009 Anope Team
|
||||
* (C) 2003-2010 Anope Team
|
||||
* Contact us at team@anope.org
|
||||
*
|
||||
* Please read COPYING and README for further details.
|
||||
|
||||
+28
-3
@@ -1,6 +1,6 @@
|
||||
/* ChanServ core functions
|
||||
*
|
||||
* (C) 2003-2009 Anope Team
|
||||
* (C) 2003-2010 Anope Team
|
||||
* Contact us at team@anope.org
|
||||
*
|
||||
* Please read COPYING and README for further details.
|
||||
@@ -68,11 +68,11 @@ void myChanServHelp(User * u)
|
||||
**/
|
||||
int do_forbid(User * u)
|
||||
{
|
||||
Channel *c;
|
||||
ChannelInfo *ci;
|
||||
char *chan = strtok(NULL, " ");
|
||||
char *reason = strtok(NULL, "");
|
||||
|
||||
Channel *c;
|
||||
Entry *cur, *enext;
|
||||
|
||||
/* Assumes that permission checking has already been done. */
|
||||
if (!chan || (ForceForbidReason && !reason)) {
|
||||
@@ -103,6 +103,31 @@ int do_forbid(User * u)
|
||||
struct c_userlist *cu, *next;
|
||||
char *av[3];
|
||||
|
||||
/* Before banning everyone, it might be prudent to clear +e and +I lists..
|
||||
* to prevent ppl from rejoining.. ~ Viper */
|
||||
if (ircd->except && c->excepts && c->excepts->count) {
|
||||
av[0] = sstrdup("-e");
|
||||
for (cur = c->excepts->entries; cur; cur = enext) {
|
||||
enext = cur->next;
|
||||
av[1] = sstrdup(cur->mask);
|
||||
anope_cmd_mode(whosends(ci), chan, "-e %s", cur->mask);
|
||||
chan_set_modes(whosends(ci), c, 2, av, 0);
|
||||
free(av[1]);
|
||||
}
|
||||
free(av[0]);
|
||||
}
|
||||
if (ircd->invitemode && c->invites && c->invites->count) {
|
||||
av[0] = sstrdup("-I");
|
||||
for (cur = c->invites->entries; cur; cur = enext) {
|
||||
enext = cur->next;
|
||||
av[1] = sstrdup(cur->mask);
|
||||
anope_cmd_mode(whosends(ci), chan, "-I %s", cur->mask);
|
||||
chan_set_modes(whosends(ci), c, 2, av, 0);
|
||||
free(av[1]);
|
||||
}
|
||||
free(av[0]);
|
||||
}
|
||||
|
||||
for (cu = c->users; cu; cu = next) {
|
||||
next = cu->next;
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* ChanServ core functions
|
||||
*
|
||||
* (C) 2003-2009 Anope Team
|
||||
* (C) 2003-2010 Anope Team
|
||||
* Contact us at team@anope.org
|
||||
*
|
||||
* Please read COPYING and README for further details.
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* ChanServ core functions
|
||||
*
|
||||
* (C) 2003-2009 Anope Team
|
||||
* (C) 2003-2010 Anope Team
|
||||
* Contact us at team@anope.org
|
||||
*
|
||||
* Please read COPYING and README for further details.
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
/* ChanServ core functions
|
||||
*
|
||||
* (C) 2003-2009 Anope Team
|
||||
* (C) 2003-2010 Anope Team
|
||||
* Contact us at team@anope.org
|
||||
*
|
||||
* Please read COPYING and README for further details.
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* ChanServ core functions
|
||||
*
|
||||
* (C) 2003-2009 Anope Team
|
||||
* (C) 2003-2010 Anope Team
|
||||
* Contact us at team@anope.org
|
||||
*
|
||||
* Please read COPYING and README for further details.
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
/* ChanServ core functions
|
||||
*
|
||||
* (C) 2003-2009 Anope Team
|
||||
* (C) 2003-2010 Anope Team
|
||||
* Contact us at team@anope.org
|
||||
*
|
||||
* Please read COPYING and README for further details.
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* ChanServ core functions
|
||||
*
|
||||
* (C) 2003-2009 Anope Team
|
||||
* (C) 2003-2010 Anope Team
|
||||
* Contact us at team@anope.org
|
||||
*
|
||||
* Please read COPYING and README for further details.
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
/* ChanServ core functions
|
||||
*
|
||||
* (C) 2003-2009 Anope Team
|
||||
* (C) 2003-2010 Anope Team
|
||||
* Contact us at team@anope.org
|
||||
*
|
||||
* Please read COPYING and README for further details.
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
/* ChanServ core functions
|
||||
*
|
||||
* (C) 2003-2009 Anope Team
|
||||
* (C) 2003-2010 Anope Team
|
||||
* Contact us at team@anope.org
|
||||
*
|
||||
* Please read COPYING and README for further details.
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* ChanServ core functions
|
||||
*
|
||||
* (C) 2003-2009 Anope Team
|
||||
* (C) 2003-2010 Anope Team
|
||||
* Contact us at team@anope.org
|
||||
*
|
||||
* Please read COPYING and README for further details.
|
||||
|
||||
+12
-12
@@ -1,6 +1,6 @@
|
||||
/* ChanServ core functions
|
||||
*
|
||||
* (C) 2003-2009 Anope Team
|
||||
* (C) 2003-2010 Anope Team
|
||||
* Contact us at team@anope.org
|
||||
*
|
||||
* Please read COPYING and README for further details.
|
||||
@@ -220,7 +220,7 @@ int do_owner(User * u)
|
||||
|
||||
if (!chan) {
|
||||
av[0] = sstrdup(ircd->ownerset);
|
||||
av[1] = u->nick;
|
||||
av[1] = GET_USER(u);
|
||||
|
||||
/* Sets the mode to the user on every channels he is on. */
|
||||
|
||||
@@ -228,7 +228,7 @@ int do_owner(User * u)
|
||||
if ((ci = uc->chan->ci) && !(ci->flags & CI_VERBOTEN)
|
||||
&& is_founder(u, ci)) {
|
||||
anope_cmd_mode(whosends(ci), uc->chan->name, "%s %s",
|
||||
av[0], u->nick);
|
||||
av[0], GET_USER(u));
|
||||
chan_set_modes(s_ChanServ, uc->chan, 2, av, 1);
|
||||
}
|
||||
}
|
||||
@@ -249,10 +249,10 @@ int do_owner(User * u)
|
||||
notice_lang(s_ChanServ, u, ACCESS_DENIED);
|
||||
} else {
|
||||
anope_cmd_mode(whosends(ci), c->name, "%s %s", ircd->ownerset,
|
||||
u->nick);
|
||||
GET_USER(u));
|
||||
|
||||
av[0] = sstrdup(ircd->ownerset);
|
||||
av[1] = u->nick;
|
||||
av[1] = GET_USER(u);
|
||||
chan_set_modes(s_ChanServ, c, 2, av, 1);
|
||||
free(av[0]);
|
||||
}
|
||||
@@ -276,7 +276,7 @@ int do_deowner(User * u)
|
||||
|
||||
if (!chan) {
|
||||
av[0] = sstrdup(ircd->ownerunset);
|
||||
av[1] = u->nick;
|
||||
av[1] = GET_USER(u);
|
||||
|
||||
/* Sets the mode to the user on every channels he is on. */
|
||||
|
||||
@@ -284,7 +284,7 @@ int do_deowner(User * u)
|
||||
if ((ci = uc->chan->ci) && !(ci->flags & CI_VERBOTEN)
|
||||
&& is_founder(u, ci)) {
|
||||
anope_cmd_mode(whosends(ci), uc->chan->name, "%s %s",
|
||||
av[0], u->nick);
|
||||
av[0], GET_USER(u));
|
||||
chan_set_modes(s_ChanServ, uc->chan, 2, av, 1);
|
||||
}
|
||||
}
|
||||
@@ -305,10 +305,10 @@ int do_deowner(User * u)
|
||||
notice_lang(s_ChanServ, u, ACCESS_DENIED);
|
||||
} else {
|
||||
anope_cmd_mode(whosends(ci), c->name, "%s %s", ircd->ownerunset,
|
||||
u->nick);
|
||||
GET_USER(u));
|
||||
|
||||
av[0] = sstrdup(ircd->ownerunset);
|
||||
av[1] = u->nick;
|
||||
av[1] = GET_USER(u);
|
||||
chan_set_modes(s_ChanServ, c, 2, av, 1);
|
||||
free(av[0]);
|
||||
}
|
||||
@@ -341,7 +341,7 @@ int do_util(User * u, CSModeUtil * util)
|
||||
if ((ci = uc->chan->ci) && !(ci->flags & CI_VERBOTEN)
|
||||
&& check_access(u, ci, util->levelself)) {
|
||||
anope_cmd_mode(whosends(ci), uc->chan->name, "%s %s",
|
||||
util->mode, u->nick);
|
||||
util->mode, GET_USER(u));
|
||||
chan_set_modes(s_ChanServ, uc->chan, 2, av, 2);
|
||||
|
||||
if (util->notice && ci->flags & util->notice)
|
||||
@@ -378,10 +378,10 @@ int do_util(User * u, CSModeUtil * util)
|
||||
notice_lang(s_ChanServ, u, PERMISSION_DENIED);
|
||||
} else {
|
||||
anope_cmd_mode(whosends(ci), c->name, "%s %s", util->mode,
|
||||
u2->nick);
|
||||
GET_USER(u2));
|
||||
|
||||
av[0] = util->mode;
|
||||
av[1] = u2->nick;
|
||||
av[1] = GET_USER(u2);
|
||||
chan_set_modes(s_ChanServ, c, 2, av, 3);
|
||||
|
||||
if (util->notice && ci->flags & util->notice)
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* ChanServ core functions
|
||||
*
|
||||
* (C) 2003-2009 Anope Team
|
||||
* (C) 2003-2010 Anope Team
|
||||
* Contact us at team@anope.org
|
||||
*
|
||||
* Please read COPYING and README for further details.
|
||||
@@ -180,11 +180,11 @@ int do_register(User * u)
|
||||
/* On most ircds you do not receive the admin/owner mode till its registered */
|
||||
if (ircd->admin) {
|
||||
anope_cmd_mode(s_ChanServ, chan, "%s %s", ircd->adminset,
|
||||
u->nick);
|
||||
GET_USER(u));
|
||||
}
|
||||
if (ircd->owner && ircd->ownerset) {
|
||||
anope_cmd_mode(s_ChanServ, chan, "%s %s", ircd->ownerset,
|
||||
u->nick);
|
||||
GET_USER(u));
|
||||
}
|
||||
send_event(EVENT_CHAN_REGISTERED, 1, chan);
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* ChanServ core functions
|
||||
*
|
||||
* (C) 2003-2009 Anope Team
|
||||
* (C) 2003-2010 Anope Team
|
||||
* Contact us at team@anope.org
|
||||
*
|
||||
* Please read COPYING and README for further details.
|
||||
|
||||
+4
-5
@@ -1,6 +1,6 @@
|
||||
/* ChanServ core functions
|
||||
*
|
||||
* (C) 2003-2009 Anope Team
|
||||
* (C) 2003-2010 Anope Team
|
||||
* Contact us at team@anope.org
|
||||
*
|
||||
* Please read COPYING and README for further details.
|
||||
@@ -765,17 +765,16 @@ int do_set_xop(User * u, ChannelInfo * ci, char *param)
|
||||
} else if (CHECKLEV(CA_AUTOOP) || CHECKLEV(CA_OPDEOP)
|
||||
|| CHECKLEV(CA_OPDEOPME)) {
|
||||
access->level = ACCESS_AOP;
|
||||
} else if (ircd->halfop) {
|
||||
if (CHECKLEV(CA_AUTOHALFOP) || CHECKLEV(CA_HALFOP)
|
||||
|| CHECKLEV(CA_HALFOPME)) {
|
||||
} else if (ircd->halfop && (CHECKLEV(CA_AUTOHALFOP) || CHECKLEV(CA_HALFOP)
|
||||
|| CHECKLEV(CA_HALFOPME))) {
|
||||
access->level = ACCESS_HOP;
|
||||
}
|
||||
} else if (CHECKLEV(CA_AUTOVOICE) || CHECKLEV(CA_VOICE)
|
||||
|| CHECKLEV(CA_VOICEME)) {
|
||||
access->level = ACCESS_VOP;
|
||||
} else {
|
||||
access->in_use = 0;
|
||||
access->nc = NULL;
|
||||
CleanAccess(ci);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* ChanServ core functions
|
||||
*
|
||||
* (C) 2003-2009 Anope Team
|
||||
* (C) 2003-2010 Anope Team
|
||||
* Contact us at team@anope.org
|
||||
*
|
||||
* Please read COPYING and README for further details.
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* ChanServ core functions
|
||||
*
|
||||
* (C) 2003-2009 Anope Team
|
||||
* (C) 2003-2010 Anope Team
|
||||
* Contact us at team@anope.org
|
||||
*
|
||||
* Please read COPYING and README for further details.
|
||||
@@ -33,12 +33,14 @@ int AnopeInit(int argc, char **argv)
|
||||
moduleAddVersion("$Id$");
|
||||
moduleSetType(CORE);
|
||||
|
||||
c = createCommand("SUSPEND", do_suspend, is_services_oper, -1, -1, -1,
|
||||
c = createCommand("SUSPEND", do_suspend, is_services_oper, -1, -1,
|
||||
CHAN_SERVADMIN_HELP_SUSPEND,
|
||||
CHAN_SERVADMIN_HELP_SUSPEND,
|
||||
CHAN_SERVADMIN_HELP_SUSPEND);
|
||||
moduleAddCommand(CHANSERV, c, MOD_UNIQUE);
|
||||
c = createCommand("UNSUSPEND", do_unsuspend, is_services_oper, -1, -1,
|
||||
-1, CHAN_SERVADMIN_HELP_UNSUSPEND,
|
||||
CHAN_SERVADMIN_HELP_UNSUSPEND,
|
||||
CHAN_SERVADMIN_HELP_UNSUSPEND,
|
||||
CHAN_SERVADMIN_HELP_UNSUSPEND);
|
||||
moduleAddCommand(CHANSERV, c, MOD_UNIQUE);
|
||||
|
||||
|
||||
+2
-2
@@ -1,6 +1,6 @@
|
||||
/* ChanServ core functions
|
||||
*
|
||||
* (C) 2003-2009 Anope Team
|
||||
* (C) 2003-2010 Anope Team
|
||||
* Contact us at team@anope.org
|
||||
*
|
||||
* Please read COPYING and README for further details.
|
||||
@@ -104,7 +104,7 @@ int do_cs_topic(User * u)
|
||||
if (ircd->join2set) {
|
||||
if (whosends(ci) == s_ChanServ) {
|
||||
anope_cmd_join(s_ChanServ, c->name, c->creation_time);
|
||||
anope_cmd_mode(NULL, c->name, "+o %s", s_ChanServ);
|
||||
anope_cmd_mode(NULL, c->name, "+o %s", GET_BOT(s_ChanServ));
|
||||
}
|
||||
}
|
||||
anope_cmd_topic(whosends(ci), c->name, u->nick, topic ? topic : "",
|
||||
|
||||
+8
-69
@@ -1,6 +1,6 @@
|
||||
/* ChanServ core functions
|
||||
*
|
||||
* (C) 2003-2009 Anope Team
|
||||
* (C) 2003-2010 Anope Team
|
||||
* Contact us at team@anope.org
|
||||
*
|
||||
* Please read COPYING and README for further details.
|
||||
@@ -174,9 +174,10 @@ int do_vop(User * u)
|
||||
|
||||
int xop_del(User * u, ChannelInfo * ci, ChanAccess * access, int *perm, int uacc, int xlev)
|
||||
{
|
||||
char *nick = access->nc->display;
|
||||
if (!access->in_use || access->level != xlev)
|
||||
char *nick;
|
||||
if (!access->in_use || !access->nc || access->level != xlev)
|
||||
return 0;
|
||||
nick = access->nc->display;
|
||||
if (!is_services_admin(u) && uacc <= access->level) {
|
||||
(*perm)++;
|
||||
return 0;
|
||||
@@ -303,13 +304,6 @@ int do_xop(User * u, char *xname, int xlev, int *xmsgs)
|
||||
}
|
||||
|
||||
if (!change) {
|
||||
/* All entries should be in use so we no longer need
|
||||
* to go over the entire list..
|
||||
for (i = 0; i < ci->accesscount; i++)
|
||||
if (!ci->access[i].in_use)
|
||||
break;
|
||||
*/
|
||||
|
||||
if (i < CSAccessMax) {
|
||||
ci->accesscount++;
|
||||
ci->access =
|
||||
@@ -346,7 +340,7 @@ int do_xop(User * u, char *xname, int xlev, int *xmsgs)
|
||||
}
|
||||
|
||||
} else if (stricmp(cmd, "DEL") == 0) {
|
||||
int deleted, a, b;
|
||||
int deleted;
|
||||
if (readonly) {
|
||||
notice_lang(s_ChanServ, u, xmsgs[1]);
|
||||
return MOD_CONT;
|
||||
@@ -415,40 +409,8 @@ int do_xop(User * u, char *xname, int xlev, int *xmsgs)
|
||||
deleted = 1;
|
||||
}
|
||||
}
|
||||
if (deleted) {
|
||||
/* Reordering - DrStein */
|
||||
for (b = 0; b < ci->accesscount; b++) {
|
||||
if (ci->access[b].in_use) {
|
||||
for (a = 0; a < ci->accesscount; a++) {
|
||||
if (a > b)
|
||||
break;
|
||||
if (!ci->access[a].in_use) {
|
||||
ci->access[a].in_use = 1;
|
||||
ci->access[a].level = ci->access[b].level;
|
||||
ci->access[a].nc = ci->access[b].nc;
|
||||
ci->access[a].last_seen =
|
||||
ci->access[b].last_seen;
|
||||
ci->access[b].nc = NULL;
|
||||
ci->access[b].in_use = 0;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* If the patch provided in bug #706 is applied, this should be placed
|
||||
* before sending the events! */
|
||||
/* After reordering only the entries at the end could still be empty.
|
||||
* We ll free the places no longer in use... */
|
||||
for (i = ci->accesscount - 1; i >= 0; i--) {
|
||||
if (ci->access[i].in_use == 1)
|
||||
break;
|
||||
|
||||
ci->accesscount--;
|
||||
}
|
||||
ci->access =
|
||||
srealloc(ci->access,sizeof(ChanAccess) * ci->accesscount);
|
||||
}
|
||||
if (deleted)
|
||||
CleanAccess(ci);
|
||||
} else if (stricmp(cmd, "LIST") == 0) {
|
||||
int sent_header = 0;
|
||||
|
||||
@@ -478,9 +440,6 @@ int do_xop(User * u, char *xname, int xlev, int *xmsgs)
|
||||
if (!sent_header)
|
||||
notice_lang(s_ChanServ, u, xmsgs[7], chan);
|
||||
} else if (stricmp(cmd, "CLEAR") == 0) {
|
||||
uint16 j = 0;
|
||||
int a, b;
|
||||
|
||||
if (readonly) {
|
||||
notice_lang(s_ChanServ, u, CHAN_ACCESS_DISABLED);
|
||||
return MOD_CONT;
|
||||
@@ -500,30 +459,10 @@ int do_xop(User * u, char *xname, int xlev, int *xmsgs)
|
||||
if (ci->access[i].in_use && ci->access[i].level == xlev) {
|
||||
ci->access[i].nc = NULL;
|
||||
ci->access[i].in_use = 0;
|
||||
j++;
|
||||
}
|
||||
}
|
||||
|
||||
for (b = 0; b < ci->accesscount; b++) {
|
||||
if (ci->access[b].in_use) {
|
||||
for (a = 0; a < ci->accesscount; a++) {
|
||||
if (a > b)
|
||||
break;
|
||||
if (!ci->access[a].in_use) {
|
||||
ci->access[a].in_use = 1;
|
||||
ci->access[a].level = ci->access[b].level;
|
||||
ci->access[a].nc = ci->access[b].nc;
|
||||
ci->access[a].last_seen =
|
||||
ci->access[b].last_seen;
|
||||
ci->access[b].nc = NULL;
|
||||
ci->access[b].in_use = 0;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
ci->accesscount = ci->accesscount - j;
|
||||
CleanAccess(ci);
|
||||
|
||||
send_event(EVENT_ACCESS_CLEAR, 2, ci->name, u->nick);
|
||||
|
||||
|
||||
+1
-1
@@ -1,7 +1,7 @@
|
||||
/* Module for encryption using MD5.
|
||||
*
|
||||
* Modified for Anope.
|
||||
* (C) 2003-2009 Anope Team
|
||||
* (C) 2003-2010 Anope Team
|
||||
* Contact us at team@anope.org
|
||||
*
|
||||
* Taken from IRC Services and is copyright (c) 1996-2002 Andrew Church.
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
/* Module for encryption using MD5.
|
||||
*
|
||||
* (C) 2003-2009 Anope Team
|
||||
* (C) 2003-2010 Anope Team
|
||||
* Contact us at team@anope.org
|
||||
*
|
||||
* This program is free but copyrighted software; see the file COPYING for
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user