James Lu 
							
						 
					 
					
						
						
						
						
							
						
						
							320de2079a 
							
						 
					 
					
						
						
							
							relay: add INVITE support ( Closes   #94 )  
						
						 
						
						
						
						
					 
					
						2015-09-02 21:30:31 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								James Lu 
							
						 
					 
					
						
						
						
						
							
						
						
							60dc3fe026 
							
						 
					 
					
						
						
							
							relay: use "Channel delinked." part message when delinking channels  
						
						 
						
						
						
						
					 
					
						2015-09-02 20:46:21 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								James Lu 
							
						 
					 
					
						
						
						
						
							
						
						
							9a47ff87af 
							
						 
					 
					
						
						
							
							Merge branch 'master' into devel  
						
						 
						
						
						
						
					 
					
						2015-09-02 20:44:03 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								James Lu 
							
						 
					 
					
						
						
						
						
							
						
						
							043fccf447 
							
						 
					 
					
						
						
							
							Fix previous commit ( Closes   #100 )  
						
						 
						
						
						
						
					 
					
						2015-09-02 18:56:53 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								James Lu 
							
						 
					 
					
						
						
						
						
							
						
						
							ace0ddf28c 
							
						 
					 
					
						
						
							
							relay: use JOIN instead of SJOIN for non-burst joins  
						
						 
						
						... 
						
						
						
						Closes  #96 . 
						
						
					 
					
						2015-09-02 18:33:04 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								James Lu 
							
						 
					 
					
						
						
						
						
							
						
						
							c2ee9ef808 
							
						 
					 
					
						
						
							
							Merge branch 'master' into devel  
						
						 
						
						
						
						
					 
					
						2015-09-02 18:15:34 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								James Lu 
							
						 
					 
					
						
						
						
						
							
						
						
							708d949164 
							
						 
					 
					
						
						
							
							relay: join remote users before sending ours  
						
						 
						
						... 
						
						
						
						This fixes race conditions where modes can be set on our joining users (e.g. auto-op by ChanServ), but are promptly erased as relay joins remote users and resets the channel TS.
Also, move relayModes() calls back into relayJoins(), with an optional "burst" argument.
Closes  #102 . 
						
						
					 
					
						2015-09-02 18:08:39 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								James Lu 
							
						 
					 
					
						
						
						
						
							
						
						
							19fa31d012 
							
						 
					 
					
						
						
							
							relay: fix incorrect logging in getSupportedUmodes()  
						
						 
						
						
						
						
					 
					
						2015-09-01 22:14:25 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								James Lu 
							
						 
					 
					
						
						
						
						
							
						
						
							2f760c8c92 
							
						 
					 
					
						
						
							
							relay: Don't send empty user mode changes  
						
						 
						
						
						
						
					 
					
						2015-09-01 22:13:29 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								James Lu 
							
						 
					 
					
						
						
						
						
							
						
						
							4f40faeaf0 
							
						 
					 
					
						
						
							
							relay: in logs, be a bit more specific why we're blocking KILLs and KICKs  
						
						 
						
						
						
						
					 
					
						2015-09-01 22:02:34 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								James Lu 
							
						 
					 
					
						
						
						
						
							
						
						
							0b590d6ab3 
							
						 
					 
					
						
						
							
							relay/protocols: use utils.toLower() for channel names, respecting IRCd casemappings  
						
						 
						
						... 
						
						
						
						Closes  #102 . 
						
						
					 
					
						2015-09-01 22:01:22 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								James Lu 
							
						 
					 
					
						
						
						
						
							
						
						
							8d44830d5c 
							
						 
					 
					
						
						
							
							relay.handle_kill: prevent yet another RuntimeError  
						
						 
						
						... 
						
						
						
						(cherry picked from commit 4525b8117ef2f872768d1b696484f3b55b133eb1)
Conflicts:
	plugins/relay.py 
						
						
					 
					
						2015-09-01 19:42:12 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								James Lu 
							
						 
					 
					
						
						
						
						
							
						
						
							6d6606900e 
							
						 
					 
					
						
						
							
							relay: coerse "/" to "|" in nicks if "/" isn't present in the separator  
						
						 
						
						... 
						
						
						
						a.k.a. make J*anus* happy :) 
						
						
					 
					
						2015-09-01 09:56:28 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								James Lu 
							
						 
					 
					
						
						
						
						
							
						
						
							4525b8117e 
							
						 
					 
					
						
						
							
							relay.handle_kill: prevent yet another RuntimeError  
						
						 
						
						
						
						
					 
					
						2015-08-31 15:04:06 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								James Lu 
							
						 
					 
					
						
						
						
						
							
						
						
							26e102f01a 
							
						 
					 
					
						
						
							
							Show oper types on WHOIS  
						
						 
						
						
						
						
					 
					
						2015-08-31 14:52:56 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								James Lu 
							
						 
					 
					
						
						
						
						
							
						
						
							8d19057118 
							
						 
					 
					
						
						
							
							relay: set umode +H (hideoper) on all remote opered clients  
						
						 
						
						
						
						
					 
					
						2015-08-31 14:23:42 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								James Lu 
							
						 
					 
					
						
						
						
						
							
						
						
							f9b4457ced 
							
						 
					 
					
						
						
							
							Decorate relay clients, etc. with custom OPERTYPEs  
						
						 
						
						... 
						
						
						
						New PyLink internal hook: PYLINK_CLIENT_OPERED, called (supposedly) when a client opers up. 
						
						
					 
					
						2015-08-31 13:31:20 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								James Lu 
							
						 
					 
					
						
						
						
						
							
						
						
							4a964b1595 
							
						 
					 
					
						
						
							
							Merge branch 'master' into devel  
						
						 
						
						
						
						
					 
					
						2015-08-31 10:58:47 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								James Lu 
							
						 
					 
					
						
						
						
						
							
						
						
							9f0f4cb124 
							
						 
					 
					
						
						
							
							relay: burst the right set of modes  
						
						 
						
						... 
						
						
						
						It's moments like this where I wonder what I'm even doing with my life... 
						
						
					 
					
						2015-08-31 09:28:14 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								James Lu 
							
						 
					 
					
						
						
						
						
							
						
						
							94f83eb33b 
							
						 
					 
					
						
						
							
							relay.showuser: show home network/nick, and relay nicks regardless of oper status  
						
						 
						
						
						
						
					 
					
						2015-08-29 19:49:37 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								James Lu 
							
						 
					 
					
						
						
						
						
							
						
						
							5503477646 
							
						 
					 
					
						
						
							
							commands: distinguish commands with multiple binds in 'list'  
						
						 
						
						
						
						
					 
					
						2015-08-29 19:29:49 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								James Lu 
							
						 
					 
					
						
						
						
						
							
						
						
							8976322273 
							
						 
					 
					
						
						
							
							Replace admin.showuser with prettier whois-style cmds in 'commands' and 'relay'  
						
						 
						
						
						
						
					 
					
						2015-08-29 19:29:05 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								James Lu 
							
						 
					 
					
						
						
						
						
							
						
						
							e1e31f64ad 
							
						 
					 
					
						
						
							
							Allow multiple plugins to bind to one command name!  
						
						 
						
						... 
						
						
						
						They will get called in a list, one after the other. The "help" command is able to distinguish with this too. 
						
						
					 
					
						2015-08-29 19:25:07 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								James Lu 
							
						 
					 
					
						
						
						
						
							
						
						
							973aba6de7 
							
						 
					 
					
						
						
							
							Move utils' global variables to world.py  
						
						 
						
						
						
						
					 
					
						2015-08-29 09:39:33 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								James Lu 
							
						 
					 
					
						
						
						
						
							
						
						
							2fe9b624e7 
							
						 
					 
					
						
						
							
							Consistently capitalize errors and other messages  
						
						 
						
						
						
						
					 
					
						2015-08-25 20:55:39 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								James Lu 
							
						 
					 
					
						
						
						
						
							
						
						
							bc7765b241 
							
						 
					 
					
						
						
							
							Let's use consistent "Unknown command" errors, right?  
						
						 
						
						
						
						
					 
					
						2015-08-25 20:51:13 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								James Lu 
							
						 
					 
					
						
						
						
						
							
						
						
							d059bd4ff1 
							
						 
					 
					
						
						
							
							Move 'exec' command into its separate plugin  
						
						 
						
						
						
						
					 
					
						2015-08-25 20:47:21 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								James Lu 
							
						 
					 
					
						
						
						
						
							
						
						
							3d621b00df 
							
						 
					 
					
						
						
							
							Move checkAuthenticated() to utils, and give it and isOper() toggles for allowing oper/PyLink logins  
						
						 
						
						
						
						
					 
					
						2015-08-25 20:47:21 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								James Lu 
							
						 
					 
					
						
						
						
						
							
						
						
							51389b96e2 
							
						 
					 
					
						
						
							
							relay: LINKACL command ( Closes   #88 )  
						
						 
						
						
						
						
					 
					
						2015-08-25 20:18:14 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								James Lu 
							
						 
					 
					
						
						
						
						
							
						
						
							713ba1469b 
							
						 
					 
					
						
						
							
							relay: log blocked KILLs/KICKs ( Closes   #95 )  
						
						 
						
						
						
						
					 
					
						2015-08-22 21:43:25 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								James Lu 
							
						 
					 
					
						
						
						
						
							
						
						
							20474dabac 
							
						 
					 
					
						
						
							
							relay: fix many bugs with nick collision handling, and add flood prevention for fixing nicks  
						
						 
						
						... 
						
						
						
						Closes  #85 . Nick collisions caused by internal clients are handled fine now, including the following cases:
- Abusing spawnClient to create a user with the same nick as a relay client, but with a lower TS.
- When both an UID (e.g. 42XAAAAAA) and a tagged UID (_42XAAAAAA) exist on the same network (the two will both try to take the same nick of _42XAAAAAA/net over the relay).
The case where changing NICK from a long cut-off nick to another long cut-off nick is also mitigated. somelongnick/net won't show nick changes to somelongnic//net if the old and new nicks have give the same normalized relay nick.
This introduces a new dependency, expiringdict, from https://pypi.python.org/pypi/expiringdict/1.1.2 , which is used as a cache for flood prevention. 
						
						
					 
					
						2015-08-22 21:01:51 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								James Lu 
							
						 
					 
					
						
						
						
						
							
						
						
							c1d98838d7 
							
						 
					 
					
						
						
							
							plugins/admin: allow sending KICK from servers ( #90 )  
						
						 
						
						
						
						
					 
					
						2015-08-21 00:39:58 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								James Lu 
							
						 
					 
					
						
						
						
						
							
						
						
							bd2bd55e89 
							
						 
					 
					
						
						
							
							relay: fix mode relaying when sender is a client but isn't in any shared channels  
						
						 
						
						
						
						
					 
					
						2015-08-20 22:13:28 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								James Lu 
							
						 
					 
					
						
						
						
						
							
						
						
							dde9539e77 
							
						 
					 
					
						
						
							
							relay: fix incorrect logging in normalizeNick  
						
						 
						
						
						
						
					 
					
						2015-08-20 03:04:40 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								James Lu 
							
						 
					 
					
						
						
						
						
							
						
						
							821f546f12 
							
						 
					 
					
						
						
							
							Make sure the PyLink client rejoins all relay channels on KILL  
						
						 
						
						... 
						
						
						
						This adds a new internal hook, 'PYLINK_SPAWNMAIN', which is triggered whenever Irc().spawnMain() is called. 
						
						
					 
					
						2015-08-18 05:44:36 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								James Lu 
							
						 
					 
					
						
						
						
						
							
						
						
							f93349ae1f 
							
						 
					 
					
						
						
							
							relay: when restoring a user after KICK, join them to the *right* channel  
						
						 
						
						
						
						
					 
					
						2015-08-18 02:59:56 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								James Lu 
							
						 
					 
					
						
						
						
						
							
						
						
							5704fddfb4 
							
						 
					 
					
						
						
							
							relay: ignore internal clients for CLAIM checks  
						
						 
						
						
						
						
					 
					
						2015-08-18 02:57:40 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								James Lu 
							
						 
					 
					
						
						
						
						
							
						
						
							0d2fbc330d 
							
						 
					 
					
						
						
							
							relay: fix "Left all shared channels" quits for KICK handling  
						
						 
						
						
						
						
					 
					
						2015-08-18 02:44:27 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								James Lu 
							
						 
					 
					
						
						
						
						
							
						
						
							d6e6e56e03 
							
						 
					 
					
						
						
							
							relay: hotfix to fix KILL handling of relay clients  
						
						 
						
						
						
						
					 
					
						2015-08-17 21:15:44 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								James Lu 
							
						 
					 
					
						
						
						
						
							
						
						
							de36c7a62a 
							
						 
					 
					
						
						
							
							Merge branch 'wip/admin-commands-loopback' into devel  
						
						 
						
						... 
						
						
						
						Conflicts:
	plugins/relay.py 
						
						
					 
					
						2015-08-17 07:52:45 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								James Lu 
							
						 
					 
					
						
						
						
						
							
						
						
							e7f187c672 
							
						 
					 
					
						
						
							
							relay: send modes once at init, not on every JOIN  
						
						 
						
						
						
						
					 
					
						2015-08-15 23:31:54 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								James Lu 
							
						 
					 
					
						
						
						
						
							
						
						
							3b83c3d567 
							
						 
					 
					
						
						
							
							relay: fix TOPIC relaying when the source and target channels have different names  
						
						 
						
						
						
						
					 
					
						2015-08-15 23:05:09 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								James Lu 
							
						 
					 
					
						
						
						
						
							
						
						
							4352a68357 
							
						 
					 
					
						
						
							
							Check for TS changes on SJOIN (both incoming and outgoing)  
						
						 
						
						... 
						
						
						
						Restore relay to the devel branch; TS bursts shouldn't be handled there, but in the protocol modules.
TODO: fix prefixmodes being cleared after BURST, and never being reset? 
						
						
					 
					
						2015-08-15 19:53:09 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								James Lu 
							
						 
					 
					
						
						
						
						
							
						
						
							0d41e35d9c 
							
						 
					 
					
						
						
							
							Merge branch 'devel' into wip/handle-ts-bursts  
						
						 
						
						... 
						
						
						
						Conflicts:
	plugins/relay.py 
						
						
					 
					
						2015-08-15 19:28:49 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								James Lu 
							
						 
					 
					
						
						
						
						
							
						
						
							aec29d2aae 
							
						 
					 
					
						
						
							
							relay: continue, not return  
						
						 
						
						... 
						
						
						
						(fix SQUIT not rejoining relay users properly) 
						
						
					 
					
						2015-08-15 19:23:41 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								James Lu 
							
						 
					 
					
						
						
						
						
							
						
						
							043a4bc27a 
							
						 
					 
					
						
						
							
							Merge branch 'devel' into wip/admin-commands-loopback  
						
						 
						
						... 
						
						
						
						Conflicts:
	plugins/relay.py 
						
						
					 
					
						2015-08-15 19:21:38 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								James Lu 
							
						 
					 
					
						
						
						
						
							
						
						
							dd91b7e5a0 
							
						 
					 
					
						
						
							
							relay: more efficient getLocalUser  
						
						 
						
						... 
						
						
						
						Set the .remote attribute of each relay client to the original netname, user pair. 
						
						
					 
					
						2015-08-15 19:18:04 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								James Lu 
							
						 
					 
					
						
						
						
						
							
						
						
							a1db4932e1 
							
						 
					 
					
						
						
							
							relay: Don't allow kicks/parts to the PyLink client to be relayed.  
						
						 
						
						
						
						
					 
					
						2015-08-15 06:05:12 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								James Lu 
							
						 
					 
					
						
						
						
						
							
						
						
							6ebe6e7867 
							
						 
					 
					
						
						
							
							relay: check for whether clients are relay clients, instead of just internal clients  
						
						 
						
						... 
						
						
						
						This prevents things like non-relay PyLink clients being quit for "Left all shared channels", and allows kicks between internal clients to relay properly. 
						
						
					 
					
						2015-08-15 05:54:18 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								James Lu 
							
						 
					 
					
						
						
						
						
							
						
						
							f63d17f945 
							
						 
					 
					
						
						
							
							relay: don't relay kicks if the target has no client on the remote network?  
						
						 
						
						
						
						
					 
					
						2015-08-15 05:54:05 -07:00