Daniel Oaks 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							ab4f186673 
							
						 
					 
					
						
						
							
							Merge pull request  #458  from slingamn/multisocket.11  
						
						... 
						
						
						
						minimum viable product for bouncer 
						
						
					 
					
						2019-04-28 01:22:36 +10:00 
						 
				 
			
				
					
						
							
							
								Shivaram Lingamneni 
							
						 
					 
					
						
						
						
						
							
						
						
							97e71dfef7 
							
						 
					 
					
						
						
							
							extract Semaphore to utils package  
						
						
						
						
					 
					
						2019-04-15 11:15:31 -04:00 
						 
				 
			
				
					
						
							
							
								Shivaram Lingamneni 
							
						 
					 
					
						
						
						
						
							
						
						
							c2faeed4b5 
							
						 
					 
					
						
						
							
							initial implementation of bouncer functionality  
						
						
						
						
					 
					
						2019-04-14 20:48:50 -04:00 
						 
				 
			
				
					
						
							
							
								Daniel Oaks 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							8c7027c604 
							
						 
					 
					
						
						
							
							Merge pull request  #446  from slingamn/chanregrefactor.6  
						
						... 
						
						
						
						refactor channel registration 
						
						
					 
					
						2019-04-04 21:59:25 +10:00 
						 
				 
			
				
					
						
							
							
								Shivaram Lingamneni 
							
						 
					 
					
						
						
						
						
							
						
						
							18a8b075ea 
							
						 
					 
					
						
						
							
							fix   #425  and  #395  
						
						
						
						
					 
					
						2019-03-19 04:40:48 -04:00 
						 
				 
			
				
					
						
							
							
								Shivaram Lingamneni 
							
						 
					 
					
						
						
						
						
							
						
						
							63029e2ff5 
							
						 
					 
					
						
						
							
							refactor channel registration  
						
						
						
						
					 
					
						2019-03-12 04:16:16 -04:00 
						 
				 
			
				
					
						
							
							
								Shivaram Lingamneni 
							
						 
					 
					
						
						
						
						
							
						
						
							85493ef031 
							
						 
					 
					
						
						
							
							upgrade message-tags to non-draft version  
						
						
						
						
					 
					
						2019-03-07 04:31:08 -05:00 
						 
				 
			
				
					
						
							
							
								Daniel Oaks 
							
						 
					 
					
						
						
						
						
							
						
						
							6d109e92a5 
							
						 
					 
					
						
						
							
							Fix dodgy TL strings to make them easier to translate  
						
						
						
						
					 
					
						2019-02-22 12:37:11 +10:00 
						 
				 
			
				
					
						
							
							
								Daniel Oaks 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							09909e3b3d 
							
						 
					 
					
						
						
							
							Merge pull request  #396  from slingamn/issue394  
						
						... 
						
						
						
						fix  #394  
					
						2019-02-18 10:24:35 +10:00 
						 
				 
			
				
					
						
							
							
								Daniel Oaks 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							7cf8aaccf6 
							
						 
					 
					
						
						
							
							Merge pull request  #352  from slingamn/chanreglimit.1  
						
						... 
						
						
						
						track channel registrations per account 
						
						
					 
					
						2019-02-18 07:08:57 +10:00 
						 
				 
			
				
					
						
							
							
								Shivaram Lingamneni 
							
						 
					 
					
						
						
						
						
							
						
						
							a5b9634783 
							
						 
					 
					
						
						
							
							fix   #394  
						
						
						
						
					 
					
						2019-02-17 14:29:04 -05:00 
						 
				 
			
				
					
						
							
							
								Shivaram Lingamneni 
							
						 
					 
					
						
						
						
						
							
						
						
							344a1d7e48 
							
						 
					 
					
						
						
							
							fix   #392  
						
						
						
						
					 
					
						2019-02-17 06:51:48 -05:00 
						 
				 
			
				
					
						
							
							
								Daniel Oaks 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							a273ef624c 
							
						 
					 
					
						
						
							
							Merge pull request  #377  from slingamn/kickfail  
						
						... 
						
						
						
						fix another three bugs that were reported today 
						
						
					 
					
						2019-02-14 07:23:56 +10:00 
						 
				 
			
				
					
						
							
							
								Shivaram Lingamneni 
							
						 
					 
					
						
						
						
						
							
						
						
							b7ec121c19 
							
						 
					 
					
						
						
							
							fix some KICK issues  
						
						... 
						
						
						
						reported by bogdomania
1. KICK without privileges incorrectly returned ERR_CANNOTSENDTOCHAN
2. Halfops should be able to kick voice and unprivileged, but not other halfops 
						
						
					 
					
						2019-02-13 14:38:10 -05:00 
						 
				 
			
				
					
						
							
							
								Shivaram Lingamneni 
							
						 
					 
					
						
						
						
						
							
						
						
							4c7a5585db 
							
						 
					 
					
						
						
							
							fix   #371  
						
						
						
						
					 
					
						2019-02-13 13:22:00 -05:00 
						 
				 
			
				
					
						
							
							
								Shivaram Lingamneni 
							
						 
					 
					
						
						
						
						
							
						
						
							e4c9351254 
							
						 
					 
					
						
						
							
							fix: set the existing channels unregistered  
						
						
						
						
					 
					
						2019-02-12 02:09:31 -05:00 
						 
				 
			
				
					
						
							
							
								Shivaram Lingamneni 
							
						 
					 
					
						
						
						
						
							
						
						
							20b8ba8cae 
							
						 
					 
					
						
						
							
							don't send the client its own on-join MODE line  
						
						... 
						
						
						
						Fixes  #353 . 
					
						2019-02-06 13:50:45 -05:00 
						 
				 
			
				
					
						
							
							
								Shivaram Lingamneni 
							
						 
					 
					
						
						
						
						
							
						
						
							f6b3008f8f 
							
						 
					 
					
						
						
							
							add CHATHISTORY and HISTORY implementations  
						
						
						
						
					 
					
						2019-02-04 05:33:36 -05:00 
						 
				 
			
				
					
						
							
							
								Shivaram Lingamneni 
							
						 
					 
					
						
						
						
						
							
						
						
							501bb1e5c5 
							
						 
					 
					
						
						
							
							replay JOIN/PART/QUIT/KICK as PRIVMSG from HistServ  
						
						... 
						
						
						
						see https://github.com/ircv3/ircv3-specifications/issues/293  
						
						
					 
					
						2019-01-02 17:58:04 -05:00 
						 
				 
			
				
					
						
							
							
								Shivaram Lingamneni 
							
						 
					 
					
						
						
						
						
							
						
						
							3cd3601a30 
							
						 
					 
					
						
						
							
							refactor join/part  
						
						
						
						
					 
					
						2019-01-02 09:55:45 -05:00 
						 
				 
			
				
					
						
							
							
								Shivaram Lingamneni 
							
						 
					 
					
						
						
						
						
							
						
						
							c2b2559ab4 
							
						 
					 
					
						
						
							
							avoid some uses of Sprintf for loglines  
						
						
						
						
					 
					
						2019-01-02 09:55:45 -05:00 
						 
				 
			
				
					
						
							
							
								Shivaram Lingamneni 
							
						 
					 
					
						
						
						
						
							
						
						
							7c36ec3f9d 
							
						 
					 
					
						
						
							
							allow auto-ops (halfop and higher) to bypass channel join restrictions  
						
						
						
						
					 
					
						2018-12-30 18:28:56 -05:00 
						 
				 
			
				
					
						
							
							
								Shivaram Lingamneni 
							
						 
					 
					
						
						
						
						
							
						
						
							b34bab16a7 
							
						 
					 
					
						
						
							
							ensure that identical PRIVMSG share a time tag  
						
						
						
						
					 
					
						2018-12-30 18:17:24 -05:00 
						 
				 
			
				
					
						
							
							
								Shivaram Lingamneni 
							
						 
					 
					
						
						
						
						
							
						
						
							2c7c8fbaf9 
							
						 
					 
					
						
						
							
							history replay enhancements  
						
						
						
						
					 
					
						2018-12-28 13:45:55 -05:00 
						 
				 
			
				
					
						
							
							
								Shivaram Lingamneni 
							
						 
					 
					
						
						
						
						
							
						
						
							f58c873f84 
							
						 
					 
					
						
						
							
							fix RPL_INVITING response to match modern ircdocs  
						
						
						
						
					 
					
						2018-12-23 13:49:03 -05:00 
						 
				 
			
				
					
						
							
							
								Shivaram Lingamneni 
							
						 
					 
					
						
						
						
						
							
						
						
							b6b4d365bc 
							
						 
					 
					
						
						
							
							fix   #313  
						
						
						
						
					 
					
						2018-12-23 13:30:25 -05:00 
						 
				 
			
				
					
						
							
							
								Shivaram Lingamneni 
							
						 
					 
					
						
						
						
						
							
						
						
							a0bf548fc5 
							
						 
					 
					
						
						
							
							draft/resume-0.2 implementation, message history support  
						
						
						
						
					 
					
						2018-11-26 05:23:27 -05:00 
						 
				 
			
				
					
						
							
							
								Shivaram Lingamneni 
							
						 
					 
					
						
						
						
						
							
						
						
							a18283e2de 
							
						 
					 
					
						
						
							
							fix a crash when SAMODE'ing in a channel you're not joined to  
						
						
						
						
					 
					
						2018-08-17 12:44:49 -04:00 
						 
				 
			
				
					
						
							
							
								Shivaram Lingamneni 
							
						 
					 
					
						
						
						
						
							
						
						
							1383190249 
							
						 
					 
					
						
						
							
							refactor rehash to rely more on server.config  
						
						
						
						
					 
					
						2018-07-16 03:46:40 -04:00 
						 
				 
			
				
					
						
							
							
								Shivaram Lingamneni 
							
						 
					 
					
						
						
						
						
							
						
						
							31f386f5a9 
							
						 
					 
					
						
						
							
							add CHANSERV UNREGISTER  
						
						
						
						
					 
					
						2018-06-04 05:02:22 -04:00 
						 
				 
			
				
					
						
							
							
								Daniel Oaks 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							7bf18443a8 
							
						 
					 
					
						
						
							
							Merge pull request  #270  from slingamn/amode.1  
						
						... 
						
						
						
						frontend for persistent account modes in channels 
						
						
					 
					
						2018-05-30 21:27:28 +10:00 
						 
				 
			
				
					
						
							
							
								Shivaram Lingamneni 
							
						 
					 
					
						
						
						
						
							
						
						
							495705f538 
							
						 
					 
					
						
						
							
							implement SAJOIN, allow channel founders to join unconditionally  
						
						
						
						
					 
					
						2018-05-25 02:47:50 -04:00 
						 
				 
			
				
					
						
							
							
								Shivaram Lingamneni 
							
						 
					 
					
						
						
						
						
							
						
						
							1016f86f70 
							
						 
					 
					
						
						
							
							implement CHANSERV AMODE  
						
						
						
						
					 
					
						2018-05-23 16:00:49 -04:00 
						 
				 
			
				
					
						
							
							
								Shivaram Lingamneni 
							
						 
					 
					
						
						
						
						
							
						
						
							6533893863 
							
						 
					 
					
						
						
							
							optimized implementation of Channel.Names()  
						
						
						
						
					 
					
						2018-04-26 03:22:52 -04:00 
						 
				 
			
				
					
						
							
							
								Shivaram Lingamneni 
							
						 
					 
					
						
						
						
						
							
						
						
							b97ae00fe3 
							
						 
					 
					
						
						
							
							refactor channel join and part  
						
						
						
						
					 
					
						2018-04-25 00:58:54 -04:00 
						 
				 
			
				
					
						
							
							
								Shivaram Lingamneni 
							
						 
					 
					
						
						
						
						
							
						
						
							abbbd2c899 
							
						 
					 
					
						
						
							
							review fix  
						
						
						
						
					 
					
						2018-04-23 20:05:02 -04:00 
						 
				 
			
				
					
						
							
							
								Shivaram Lingamneni 
							
						 
					 
					
						
						
						
						
							
						
						
							fad2475c3f 
							
						 
					 
					
						
						
							
							modes refactor,  #255  
						
						
						
						
					 
					
						2018-04-22 19:36:15 -04:00 
						 
				 
			
				
					
						
							
							
								Shivaram Lingamneni 
							
						 
					 
					
						
						
						
						
							
						
						
							8fb5a38851 
							
						 
					 
					
						
						
							
							Updates to channel persistence  
						
						... 
						
						
						
						1. Implement persistent channel keys (#208 )
2. Persist changes to registered channel modes
3. Backend changes for persisting operator status (partial #198 ) 
						
						
					 
					
						2018-04-03 21:49:40 -04:00 
						 
				 
			
				
					
						
							
							
								Shivaram Lingamneni 
							
						 
					 
					
						
						
						
						
							
						
						
							ef99bc48d1 
							
						 
					 
					
						
						
							
							fix   #204  
						
						... 
						
						
						
						Empty channels were only cleaned up on PART, not QUIT. 
						
						
					 
					
						2018-03-01 11:10:46 -05:00 
						 
				 
			
				
					
						
							
							
								Shivaram Lingamneni 
							
						 
					 
					
						
						
						
						
							
						
						
							ad73d68807 
							
						 
					 
					
						
						
							
							refactor account registration, add nick enforcement  
						
						
						
						
					 
					
						2018-02-11 05:30:40 -05:00 
						 
				 
			
				
					
						
							
							
								Daniel Oaks 
							
						 
					 
					
						
						
						
						
							
						
						
							a70cc6713c 
							
						 
					 
					
						
						
							
							(hopefully) fix labeled-response behaviour  
						
						
						
						
					 
					
						2018-02-11 08:57:15 +10:00 
						 
				 
			
				
					
						
							
							
								Daniel Oaks 
							
						 
					 
					
						
						
						
						
							
						
						
							e0fa97d344 
							
						 
					 
					
						
						
							
							Get labeled-reply working just fine  
						
						
						
						
					 
					
						2018-02-06 00:21:08 +10:00 
						 
				 
			
				
					
						
							
							
								Daniel Oaks 
							
						 
					 
					
						
						
						
						
							
						
						
							2419f69879 
							
						 
					 
					
						
						
							
							Move all errors into errors.go  
						
						
						
						
					 
					
						2018-02-03 22:03:36 +10:00 
						 
				 
			
				
					
						
							
							
								Daniel Oaks 
							
						 
					 
					
						
						
						
						
							
						
						
							3634d0601e 
							
						 
					 
					
						
						
							
							Split modes into a subpackage (this is painful, but will force us to simplify and improve the API for interacting with modes)  
						
						
						
						
					 
					
						2018-02-03 20:21:32 +10:00 
						 
				 
			
				
					
						
							
							
								Daniel Oaks 
							
						 
					 
					
						
						
						
						
							
						
						
							275227a461 
							
						 
					 
					
						
						
							
							Make like every client-facing string translatable  
						
						
						
						
					 
					
						2018-01-22 21:26:01 +10:00 
						 
				 
			
				
					
						
							
							
								Daniel Oaks 
							
						 
					 
					
						
						
						
						
							
						
						
							f8b39cfe61 
							
						 
					 
					
						
						
							
							Send fake channel joins on RESUME  
						
						
						
						
					 
					
						2018-01-22 17:58:10 +10:00 
						 
				 
			
				
					
						
							
							
								Shivaram Lingamneni 
							
						 
					 
					
						
						
						
						
							
						
						
							52b0fb71e7 
							
						 
					 
					
						
						
							
							refactor ClientManager  
						
						
						
						
					 
					
						2017-11-22 05:09:38 -05:00 
						 
				 
			
				
					
						
							
							
								Shivaram Lingamneni 
							
						 
					 
					
						
						
						
						
							
						
						
							d4cb15354f 
							
						 
					 
					
						
						
							
							remove registeredChannelsMutex  
						
						... 
						
						
						
						This moves channel registration to an eventual consistency model,
where the in-memory datastructures (Channel and ChannelManager)
are the exclusive source of truth, and updates to them get persisted
asynchronously to the DB. 
						
						
					 
					
						2017-11-08 22:24:33 -05:00 
						 
				 
			
				
					
						
							
							
								Shivaram Lingamneni 
							
						 
					 
					
						
						
						
						
							
						
						
							60b861e07e 
							
						 
					 
					
						
						
							
							fix a race in regenerateMembersCache  
						
						... 
						
						
						
						The rationale for why regenerateMembersCache didn't need to hold the Lock()
throughout was subtly wrong. It is true that at least some attempt to
regenerate the cache would see *all* the updates. However, it was possible for
the value of `result` generated by that attempt to lose the race for the final
assignment `channel.membersCache = result`.
The fix is to serialize the attempts to regenerate the cache, without adding
any additional locking on the underlying `Channel` fields via
`Channel.stateMutex`. This ensures that the final read from `Channel.members`
is paired with the final write to `Channel.membersCache`. 
						
						
					 
					
						2017-11-07 14:38:18 -05:00 
						 
				 
			
				
					
						
							
							
								Shivaram Lingamneni 
							
						 
					 
					
						
						
						
						
							
						
						
							9b74c47b74 
							
						 
					 
					
						
						
							
							rename some getters  
						
						... 
						
						
						
						Rename getters in conformance with the "Effective Go" styleguide recommendation:
https://golang.org/doc/effective_go.html#Getters  
						
						
					 
					
						2017-11-03 02:36:55 -04:00