James Lu 
							
						 
					 
					
						
						
						
						
							
						
						
							5a00454a8d 
							
						 
					 
					
						
						
							
							_parse_modes: apply modes to a temporary mode list as we parse them  
						
						 
						
						... 
						
						
						
						Fixes  #573 .
Old, broken behaviour:
irc.parse_modes('#test', '+b-bb *!*@new.ban  *!*@nonexistent.ban  *!*@new.ban')
=> [('+b', '*!*@new.ban')]
Fixed:
irc.parse_modes('#test', '+b-bb *!*@new.ban  *!*@nonexistent.ban  *!*@new.ban')
=> [('+b', '*!*@new.ban'), ('-b', '*!*@new.ban')] 
						
						
					 
					
						2018-03-02 20:57:16 -08:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								James Lu 
							
						 
					 
					
						
						
						
						
							
						
						
							f12318b5dc 
							
						 
					 
					
						
						
							
							classes: add an is_channel argument to _parse_modes  
						
						 
						
						... 
						
						
						
						This is required for the following commit. 
						
						
					 
					
						2018-03-02 20:56:59 -08:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								James Lu 
							
						 
					 
					
						
						
						
						
							
						
						
							1413aa6042 
							
						 
					 
					
						
						
							
							_apply_modes: don't add prefix modes to mode sets even when prefixmodes=None  
						
						 
						
						
						
						
					 
					
						2018-03-02 20:47:41 -08:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								James Lu 
							
						 
					 
					
						
						
						
						
							
						
						
							054680c806 
							
						 
					 
					
						
						
							
							classes: split apply_modes into two functions  
						
						 
						
						
						
						
					 
					
						2018-03-02 20:43:25 -08:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								James Lu 
							
						 
					 
					
						
						
						
						
							
						
						
							9cca695d14 
							
						 
					 
					
						
						
							
							classes: split parse_modes into core and wrapper functions  
						
						 
						
						
						
						
					 
					
						2018-03-02 20:43:25 -08:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								James Lu 
							
						 
					 
					
						
						
						
						
							
						
						
							d172831805 
							
						 
					 
					
						
						
							
							conf: rename methods to snake case ( #523 )  
						
						 
						
						
						
						
					 
					
						2018-03-02 20:23:48 -08:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								James Lu 
							
						 
					 
					
						
						
						
						
							
						
						
							03103bea14 
							
						 
					 
					
						
						
							
							conf: use a more informative description for validate()  
						
						 
						
						
						
						
					 
					
						2018-03-02 20:23:47 -08:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								James Lu 
							
						 
					 
					
						
						
						
						
							
						
						
							87fdb1dde1 
							
						 
					 
					
						
						
							
							opercmds: migrate from utils.isServerName to irc.is_server_name  
						
						 
						
						
						
						
					 
					
						2018-03-02 20:23:47 -08:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								James Lu 
							
						 
					 
					
						
						
						
						
							
						
						
							9e212fc0a4 
							
						 
					 
					
						
						
							
							protocols: migrate utils.wrapArguments, splitHostmask use to camel case ( #523 )  
						
						 
						
						
						
						
					 
					
						2018-03-02 20:23:47 -08:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								James Lu 
							
						 
					 
					
						
						
						
						
							
						
						
							3e656cd943 
							
						 
					 
					
						
						
							
							utils: mark reset_module_dirs, load_plugin, get_protocol_module as private  
						
						 
						
						
						
						
					 
					
						2018-03-02 20:23:47 -08:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								James Lu 
							
						 
					 
					
						
						
						
						
							
						
						
							1cdf16f5c9 
							
						 
					 
					
						
						
							
							various: migrate utils.loadPlugin, getProtocolModule, resetModuleDirs calls to snake-case ( #523 )  
						
						 
						
						
						
						
					 
					
						2018-03-02 20:23:47 -08:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								James Lu 
							
						 
					 
					
						
						
						
						
							
						
						
							bea2ea8ebd 
							
						 
					 
					
						
						
							
							plugins, coremods: migrate (un)registerService calls to snake case ( #523 )  
						
						 
						
						
						
						
					 
					
						2018-03-02 20:23:47 -08:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								James Lu 
							
						 
					 
					
						
						
						
						
							
						
						
							9e3f412f0b 
							
						 
					 
					
						
						
							
							log: rename methods to snake case ( #523 )  
						
						 
						
						
						
						
					 
					
						2018-03-02 20:23:47 -08:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								James Lu 
							
						 
					 
					
						
						
						
						
							
						
						
							ad5a11bf34 
							
						 
					 
					
						
						
							
							control: skip networks that fail to initialize on rehash  
						
						 
						
						... 
						
						
						
						This follows the launcher fix in 8321485315c9e83c1a45a053ec51ce81cd7977cc. 
						
						
					 
					
						2018-03-02 20:23:47 -08:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								James Lu 
							
						 
					 
					
						
						
						
						
							
						
						
							a2783d74c5 
							
						 
					 
					
						
						
							
							unreal: bump protocol version to 4017 (no changes needed)  
						
						 
						
						
						
						
					 
					
						2018-03-02 20:23:47 -08:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								James Lu 
							
						 
					 
					
						
						
						
						
							
						
						
							1c3f71ac1b 
							
						 
					 
					
						
						
							
							servermaps: assign servermaps.localmap to all opers  
						
						 
						
						
						
						
					 
					
						2018-03-02 16:18:55 -05:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								James Lu 
							
						 
					 
					
						
						
						
						
							
						
						
							d5d94f86e8 
							
						 
					 
					
						
						
							
							servermaps: split into two perms (servermaps.map and servermaps.localmap)  
						
						 
						
						
						
						
					 
					
						2018-03-02 16:14:04 -05:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								James Lu 
							
						 
					 
					
						
						
						
						
							
						
						
							6a90e99de4 
							
						 
					 
					
						
						
							
							IRCNetwork: do not break on socket BlockingIOError  
						
						 
						
						... 
						
						
						
						On non-blocking sockets, recv() raises BlockingIOError instead of blocking when there's no data to be read.
The correct behaviour is to wait and try again instead of breaking the connection. 
						
						
					 
					
						2018-03-01 12:52:41 -05:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								James Lu 
							
						 
					 
					
						
						
						
						
							
						
						
							e8e26daf05 
							
						 
					 
					
						
						
							
							ctcp: fix wrong logging format for unknown CTCPs  
						
						 
						
						
						
						
					 
					
						2018-03-01 02:48:04 -05:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								James Lu 
							
						 
					 
					
						
						
						
						
							
						
						
							5d25b3c105 
							
						 
					 
					
						
						
							
							ctcp: remove extraneous keyword argument  
						
						 
						
						... 
						
						
						
						private is not defined in irc.msg() 
						
						
					 
					
						2018-02-25 14:29:19 -05:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								James Lu 
							
						 
					 
					
						
						
						
						
							
						
						
							3c0809dce0 
							
						 
					 
					
						
						
							
							ctcp: don't use irc.reply in hook functions  
						
						 
						
						... 
						
						
						
						This is undefined behaviour because nothing in this stack actually updates the 'last caller' variables irc.reply() use. 
						
						
					 
					
						2018-02-24 14:19:57 -05:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								James Lu 
							
						 
					 
					
						
						
						
						
							
						
						
							50f8cde694 
							
						 
					 
					
						
						
							
							classes: make _to_lower_core and _expandPUID type-safe  
						
						 
						
						
						
						
					 
					
						2018-02-24 14:19:57 -05:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								James Lu 
							
						 
					 
					
						
						
						
						
							
						
						
							2aca4e39c1 
							
						 
					 
					
						
						
							
							RELNOTES: fill in release dates for 1.2.0, 1.2.1, 2.0-alpha1  
						
						 
						
						... 
						
						
						
						[skip ci] 
						
						
					 
					
						2018-02-24 01:48:26 -08:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								James Lu 
							
						 
					 
					
						
						
						
						
							
						
						
							a2e793755f 
							
						 
					 
					
						
						
							
							RELNOTES: first batch of 2.0-alpha3 changes  
						
						 
						
						
						
						
					 
					
						2018-02-24 01:44:04 -08:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								James Lu 
							
						 
					 
					
						
						
						
						
							
						
						
							5c9639b4a9 
							
						 
					 
					
						
						
							
							opercmds: alias 'trace' to checkban  
						
						 
						
						
						
						
					 
					
						2018-02-21 00:12:08 -08:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								James Lu 
							
						 
					 
					
						
						
						
						
							
						
						
							390b7a327a 
							
						 
					 
					
						
						
							
							example-conf: revise the example servers: section  
						
						 
						
						... 
						
						
						
						- Remove "8P#" as a sidrange default - it does not leave adequate room for larger networks
- Move the TS6 example to near the end; it has less demand than Unreal and P10
- Consistently use "must" to describe P10 cloaking options, where any misconfiguration will lead to serious desyncs
- Bumped example autoconnect times from 5 to 10 seconds
- Add the 'netname' option to server blocks that previously didn't include it
- Comment out the 'channels' setting on each server example by default
- Various wording clarifications 
						
						
					 
					
						2018-02-20 23:42:13 -08:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								James Lu 
							
						 
					 
					
						
						
						
						
							
						
						
							3d61bfd114 
							
						 
					 
					
						
						
							
							example-conf: revise notes for P10, TS6 servers  
						
						 
						
						
						
						
					 
					
						2018-02-20 23:26:06 -08:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								James Lu 
							
						 
					 
					
						
						
						
						
							
						
						
							0c2927fb1e 
							
						 
					 
					
						
						
							
							example-conf: sort clientbot ex. options so that cb-specific ones are at the end  
						
						 
						
						
						
						
					 
					
						2018-02-20 23:23:04 -08:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								James Lu 
							
						 
					 
					
						
						
						
						
							
						
						
							804791b8af 
							
						 
					 
					
						
						
							
							clientbot: support expansions ($nick, etc) in autoperform  
						
						 
						
						
						
						
					 
					
						2018-02-20 23:19:32 -08:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								James Lu 
							
						 
					 
					
						
						
						
						
							
						
						
							0b0da2cfe6 
							
						 
					 
					
						
						
							
							launcher: add experimental daemonization support  
						
						 
						
						... 
						
						
						
						Closes  #187 . 
						
						
					 
					
						2018-02-19 21:05:15 -08:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								James Lu 
							
						 
					 
					
						
						
						
						
							
						
						
							9cdb224c02 
							
						 
					 
					
						
						
							
							Replace use of conf.conf['bot'] with conf.conf['pylink']  
						
						 
						
						
						
						
					 
					
						2018-02-18 23:26:39 -08:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								James Lu 
							
						 
					 
					
						
						
						
						
							
						
						
							c40250330d 
							
						 
					 
					
						
						
							
							ctcp: log the service bot receiving CTCP messages  
						
						 
						
						
						
						
					 
					
						2018-02-18 23:13:44 -08:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								James Lu 
							
						 
					 
					
						
						
						
						
							
						
						
							e68db3689d 
							
						 
					 
					
						
						
							
							Rewrite the CTCP plugin  
						
						 
						
						... 
						
						
						
						- Extend CTCP replies to all service bots - closes  #468 .
- Use a generic hook handler instead of wrapping around the commands handler (#407 ).
This code takes advantage of the hook suppression feature introduced in 2e66b9bde61d796a821cfc2d30f94ac6baa26e40 (#547 ). 
						
						
					 
					
						2018-02-18 23:11:36 -08:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								James Lu 
							
						 
					 
					
						
						
						
						
							
						
						
							2e66b9bde6 
							
						 
					 
					
						
						
							
							classes: allow hook functions to block further execution by returning False  
						
						 
						
						... 
						
						
						
						Closes  #547 . 
						
						
					 
					
						2018-02-18 22:42:39 -08:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								James Lu 
							
						 
					 
					
						
						
						
						
							
						
						
							4a01948647 
							
						 
					 
					
						
						
							
							relay: oops, multiple STATUSMSG prefixes should pick the lowest, not highest ( #570 )  
						
						 
						
						... 
						
						
						
						This behaviour really isn't consistent across IRCds though...
- Unreal, Hybrid, and charybdis mangle messages at the server side to use the lowest prefix
- InspIRCd throws a "No such nick/channel" error
- Nefarious silently drops messages with multiple prefixes? 
						
						
					 
					
						2018-02-18 22:29:16 -08:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								James Lu 
							
						 
					 
					
						
						
						
						
							
						
						
							37be73d39c 
							
						 
					 
					
						
						
							
							clientbot: add STATUSMSG support ( #570 )  
						
						 
						
						
						
						
					 
					
						2018-02-18 22:15:19 -08:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								James Lu 
							
						 
					 
					
						
						
						
						
							
						
						
							81bd1e8474 
							
						 
					 
					
						
						
							
							relay: add basic support for STATUSMSG ( #570 )  
						
						 
						
						... 
						
						
						
						So far, this code only knows about changing prefixes while keeping mode characters as-is.
A complete but longer solution would be to actually go through irc.cmodes, but I don't
think doing so is necessary given how little STATUSMSG is actually used in production. 
						
						
					 
					
						2018-02-18 22:03:12 -08:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								James Lu 
							
						 
					 
					
						
						
						
						
							
						
						
							1405b01597 
							
						 
					 
					
						
						
							
							ServiceBot: clean up some function descriptions  
						
						 
						
						
						
						
					 
					
						2018-02-18 19:40:46 -08:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								James Lu 
							
						 
					 
					
						
						
						
						
							
						
						
							484822e5d7 
							
						 
					 
					
						
						
							
							docs: various fixes pointed out by @MrBenC  
						
						 
						
						... 
						
						
						
						- Clarify the project's goals of being an IRC services *framework*
- Briefly mention in the FAQ that the relay plugin is needed for...well, relay!
[skip ci] 
						
						
					 
					
						2018-02-17 00:50:12 -08:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								James Lu 
							
						 
					 
					
						
						
						
						
							
						
						
							7114c6942f 
							
						 
					 
					
						
						
							
							README: the shared{} requirement for KLINEs likely applies to chatircd too  
						
						 
						
						
						
						
					 
					
						2018-02-12 11:18:48 -08:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								James Lu 
							
						 
					 
					
						
						
						
						
							
						
						
							8321485315 
							
						 
					 
					
						
						
							
							launcher: prevent protocol module init errors from aborting execution  
						
						 
						
						... 
						
						
						
						This fixes various issues including:
- Networks going missing (the server list is read in a non-deterministic order)
- world.started never being set, causing relay to never work! 
						
						
					 
					
						2018-02-10 16:17:18 -08:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								James Lu 
							
						 
					 
					
						
						
						
						
							
						
						
							3f7e2328fe 
							
						 
					 
					
						
						
							
							relay: make endburst delay configurable  
						
						 
						
						... 
						
						
						
						Also, raise the default to 10 seconds. 
						
						
					 
					
						2018-02-10 15:53:49 -08:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								James Lu 
							
						 
					 
					
						
						
						
						
							
						
						
							ea84497359 
							
						 
					 
					
						
						
							
							protocols: remove the endburst_delay option from spawn_server  
						
						 
						
						... 
						
						
						
						Interestingly, this was never documented in the protocol module spec... 
						
						
					 
					
						2018-02-10 15:44:09 -08:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								James Lu 
							
						 
					 
					
						
						
						
						
							
						
						
							a425f873b5 
							
						 
					 
					
						
						
							
							relay, inspircd: move endburst delay code to a private API  
						
						 
						
						... 
						
						
						
						This is a very specific hack that shouldn't be extended across the protocol module spec. So far, all other protocol modules ignore the endburst_delay option anyways. 
						
						
					 
					
						2018-02-10 15:34:07 -08:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								James Lu 
							
						 
					 
					
						
						
						
						
							
						
						
							ccbd79a95c 
							
						 
					 
					
						
						
							
							relay: fix KeyError when a local client is kicked from a claimed channel  
						
						 
						
						... 
						
						
						
						Fixes  #572 . 
						
						
					 
					
						2018-02-10 15:12:40 -08:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								James Lu 
							
						 
					 
					
						
						
						
						
							
						
						
							18c1a277f5 
							
						 
					 
					
						
						
							
							clientbot: remove extraneous use of to_lower() in handle_part  
						
						 
						
						
						
						
					 
					
						2018-01-31 19:35:24 -08:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								James Lu 
							
						 
					 
					
						
						
						
						
							
						
						
							74848853ac 
							
						 
					 
					
						
						
							
							clientbot: fix KeyError caused by lower() in spawn_server  
						
						 
						
						... 
						
						
						
						This affected connections to afternet for example. 
						
						
					 
					
						2018-01-31 19:33:05 -08:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								James Lu 
							
						 
					 
					
						
						
						
						
							
						
						
							84f6190478 
							
						 
					 
					
						
						
							
							inspircd: only read METADATA modules changes from the uplink  
						
						 
						
						... 
						
						
						
						Closes  #567 . 
						
						
					 
					
						2018-01-25 09:52:29 -08:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								James Lu 
							
						 
					 
					
						
						
						
						
							
						
						
							28a62f629a 
							
						 
					 
					
						
						
							
							automode: replace assert usage with proper exceptions  
						
						 
						
						
						
						
					 
					
						2018-01-22 08:17:20 -08:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								James Lu 
							
						 
					 
					
						
						
						
						
							
						
						
							09c8b03705 
							
						 
					 
					
						
						
							
							automode: fix handling of channels with multiple #'s in them  
						
						 
						
						
						
						
					 
					
						2018-01-22 08:15:04 -08:00