diff options
author | Adam <Adam@anope.org> | 2015-10-27 18:57:37 -0400 |
---|---|---|
committer | Adam <Adam@anope.org> | 2015-10-27 18:58:48 -0400 |
commit | 64dac60071fab652745a6e7a06cf6b7bdbbd3625 (patch) | |
tree | f8f30161150451672b381f6370a8fdcab654bbb8 /docs | |
parent | 162fdbe5815bbdf187f549fefac94ff476d72e62 (diff) | |
parent | 830361e97d03c74e54cb1cf1bbf329dffdeb66f7 (diff) |
Merge branch '2.0' into 2.1
Diffstat (limited to 'docs')
-rw-r--r-- | docs/Changes | 27 | ||||
-rw-r--r-- | docs/Changes.conf | 9 | ||||
-rw-r--r-- | docs/README | 2 | ||||
-rw-r--r-- | docs/XMLRPC/XMLRPC | 4 | ||||
-rw-r--r-- | docs/XMLRPC/xmlrpc.php | 183 |
5 files changed, 148 insertions, 77 deletions
diff --git a/docs/Changes b/docs/Changes index 6280734c3..62242d7c0 100644 --- a/docs/Changes +++ b/docs/Changes @@ -1,3 +1,26 @@ +Anope Version 2.0.2 +------------------- +Fix keepmodes preventing the first user of a channel from being deopped +Fix SQlines that don't begin with # from matching channels +Made cs_clone behave like the help describes, copying many settings and lists by default +Allow cs_clone to clone levels, too +Update Hybrid protocol module for 8.2 +Fix not unescaping all characters sent over XMLRPC +Fix crash when os_mode is used to destroy channels, like when unsetting permanent channel mode from an empty channel +Allow users with topic change privilege to change the topic instead of requiring them to use ChanServ's topic command +Fix negatively locking param modes in default mlock +Change entrymsg to check for the SET privilege, not real founder +Allow configuring characters allowed in nicknames +Fix crash when non users register channels externally (like XMLRPC) +Remove operserv/exception MOVE, it did not function correctly. Instead reorder the list by deleting/adding entries. +Allow flood ttb to be 0. +Enforce mlock when disabling defcon modes +Fix cs_mode not being able to apply mlock on register +Add log message when users send memos +Fix old collide timers from staying around after successful identify. Fixes being able to identify and logout and still being hit by the old timers. +Fix undefined behavior in cs_mode which usually crashes when clearing large list modes +Show all opertypes in operserv/info, even if no opers use them + Anope Version 2.0.1 ------------------- Fix access entries on accounts sometimes not updating when a user's display name changes @@ -150,8 +173,8 @@ A Added ns_resetpass module to the core A CS ACCESS VIEW which shows who added the access and last time used A Last used time to CS AKICK VIEW A Added a sha_256 encryption module -A Added the ability to load multiple encryption modules, and the ability to seamlessly convert your database between diferent encryptions -A Added configuration options to allow Anope to reconnect if it disconnects from the uplink instead of dieing +A Added the ability to load multiple encryption modules, and the ability to seamlessly convert your database between different encryptions +A Added configuration options to allow Anope to reconnect if it disconnects from the uplink instead of dying A Added support for linking with IPv6 F Unban command to accept an optional nick arg F Some typos in services.conf diff --git a/docs/Changes.conf b/docs/Changes.conf index c4a5d8ff7..5e813b3e4 100644 --- a/docs/Changes.conf +++ b/docs/Changes.conf @@ -1,8 +1,17 @@ +Anope Version 2.0.3-git +------------------- +Add ns_identify:maxlogins to limit the max number of concurrent logins per account + Anope Version 2.0.2 ------------------- Add an operserv/oper/modify privilege, required to use oper add and oper del Add a chanserv/access/list privilege, which allow readonly access to ChanServ access and akick lists Changed m_dnsbl's result configuration to be more extensible +Add 'max' setting to cs_mode +Add 'nickchars' setting to networkinfo +Add 'botserv/fantasy', 'chanserv/access/list', and 'operserv/oper/modify' oper privileges +Fix 'emailchange_message' to include the proper email address +Set a default permission on operserv/defcon Anope Version 2.0.1 ------------------- diff --git a/docs/README b/docs/README index f1340f020..62569443b 100644 --- a/docs/README +++ b/docs/README @@ -107,7 +107,7 @@ Table of Contents Anope Translations: - * Robby <robby@chat.be> (nl_NL) + * Robby <robby@chatbelgie.be> (nl_NL) * Kein <kein-of@yandex.ru> (ru_RU) * Maik Funke <Han@mefalcon.org> (de_DE) * Isaac Fontal <i_fontal@hotmail.com> (es_ES) diff --git a/docs/XMLRPC/XMLRPC b/docs/XMLRPC/XMLRPC index a183af097..95a18abc4 100644 --- a/docs/XMLRPC/XMLRPC +++ b/docs/XMLRPC/XMLRPC @@ -3,8 +3,8 @@ This allows external applications, such as websites, to execute remote procedure Currently there are 5 supported XMLRPC calls, provided by m_xmlrpc_main: -checkAuthetication - Takes two parameters, an account name and a password. Checks if the account name is valid and the password - is correct for the account name, useful for making login pages on websites. +checkAuthentication - Takes two parameters, an account name and a password. Checks if the account name is valid and the password + is correct for the account name, useful for making login pages on websites. command - Takes three parameters, a service name (BotServ, ChanServ, NickServ), a user name (whether online or not), and the command to execute. This will execute a the given command to Anope using the given service name. If the user given is online, the diff --git a/docs/XMLRPC/xmlrpc.php b/docs/XMLRPC/xmlrpc.php index c469ab05a..2b5645ca7 100644 --- a/docs/XMLRPC/xmlrpc.php +++ b/docs/XMLRPC/xmlrpc.php @@ -1,90 +1,129 @@ <?php -/* XMLRPC Functions + +/** + * XMLRPC Functions * - * (C) 2003-2014 Anope Team + * (C) 2003-2015 Anope Team * Contact us at team@anope.org - * */ - class AnopeXMLRPC { - private $Host; + /** + * The XMLRPC host + * + * @var string + */ + private $host; - function __construct($Host) - { - $this->Host = $Host; - } + /** + * Initiate a new AnopeXMLRPC instance + * + * @param $host + */ + public function __construct($host) + { + $this->host = $host; + } - /** Run an XMLRPC command. Name should be a query name and params an array of parameters, eg: - * $this->RunXMLRPC("checkAuthentication", array("adam", "qwerty")); - * If successful returns back an array of useful information. - * - * Note that $params["id"] is reserved for query ID, you may set it to something if you wish. - * If you do, the same ID will be passed back with the reply from Anope. - */ - function RunXMLRPC($name, $params) - { - $xmlquery = xmlrpc_encode_request($name, $params); - $context = stream_context_create(array("http" => array( - "method" => "POST", - "header" => "Content-Type: text/xml", - "content" => $xmlquery))); + /** + * Run an XMLRPC command. Name should be a query name and params an array of parameters, eg: + * $this->raw("checkAuthentication", ["adam", "qwerty"]); + * If successful returns back an array of useful information. + * + * Note that $params["id"] is reserved for query ID, you may set it to something if you wish. + * If you do, the same ID will be passed back with the reply from Anope. + * + * @param $name + * @param $params + * @return array|null + */ + public function run($name, $params) + { + $xmlquery = xmlrpc_encode_request($name, $params); + $context = stream_context_create(["http" => [ + "method" => "POST", + "header" => "Content-Type: text/xml", + "content" => $xmlquery]]); - $inbuf = file_get_contents($this->Host, false, $context); - $response = xmlrpc_decode($inbuf); + $inbuf = file_get_contents($this->host, false, $context); + $response = xmlrpc_decode($inbuf); - if (isset($response[0])) - return $response[0]; - return NULL; - } + if ($response) { + return $response; + } - /** Do Command on Service as User, eg: - * $anope->DoCommand("ChanServ", "Adam", "REGISTER #adam"); - * Returns an array of information regarding the command execution, if - * If 'online' is set to yes, then the reply to the command was sent to the user on IRC. - * If 'online' is set to no, then the reply to the command is in the array member 'return' - */ - function DoCommand($Service, $User, $Command) - { - return $this->RunXMLRPC("command", array($Service, $User, $Command)); - } + return null; + } - /** Check an account/nick name and password to see if they are valid - * Returns the account display name if valid - */ - function CheckAuthentication($Account, $Pass) - { - $ret = $this->RunXMLRPC("checkAuthentication", array($Account, $Pass)); + /** + * Do Command on Service as User, eg: + * $anope->command("ChanServ", "Adam", "REGISTER #adam"); + * Returns an array of information regarding the command execution, if + * If 'online' is set to yes, then the reply to the command was sent to the user on IRC. + * If 'online' is set to no, then the reply to the command is in the array member 'return' + * + * @param $service + * @param $user + * @param $command + * @return array|null + */ + public function command($service, $user, $command) + { + return $this->run("command", [$service, $user, $command]); + } - if ($ret && $ret["result"] == "Success") - return $ret["account"]; - return NULL; - } + /** + * Check an account/nick name and password to see if they are valid + * Returns the account display name if valid + * + * @param $account + * @param $pass + * @return string|null + */ + public function auth($account, $pass) + { + $ret = $this->run("checkAuthentication", [$account, $pass]); - /* Returns an array of misc stats regarding Anope - */ - function DoStats() - { - return $this->RunXMLRPC("stats", NULL); - } + if ($ret && $ret["result"] == "Success") { + return $ret["account"]; + } - /* Look up data for a channel - * Returns an array containing channel information, or an array of size one - * (just containing the name) if the channel does not exist - */ - function DoChannel($Channel) - { - return $this->RunXMLRPC("channel", array($Channel)); - } + return null; + } - /* Like DoChannel(), but different. - */ - function DoUser($User) - { - return $this->RunXMLRPC("user", array($User)); - } -} + /** + * Returns an array of misc stats regarding Anope + * + * @return array|null + */ + public function stats() + { + return $this->run("stats", null); + } + + /** + * Look up data for a channel + * Returns an array containing channel information, or an array of size one + * (just containing the name) if the channel does not exist + * + * @param $channel + * @return array|null + */ + public function channel($channel) + { + return $this->run("channel", [$channel]); + } -$anopexmlrpc = new AnopeXMLRPC("http://127.0.0.1:8080/xmlrpc"); + /** + * Like channel(), but different. + * + * @param $user + * @return array|null + */ + public function user($user) + { + return $this->run("user", [$user]); + } +} -?> +$anope = new AnopeXMLRPC("http://127.0.0.1:8080/xmlrpc"); |