Daniel Oaks 
							
						 
					 
					
						
						
						
						
							
						
						
							cf53d27615 
							
						 
					 
					
						
						
							
							travis: Install goreleaser  
						
						
						
						
							
						
					 
					
						2018-01-07 18:43:33 +10:00 
						 
				 
			
				
					
						
							
							
								Daniel Oaks 
							
						 
					 
					
						
						
						
						
							
						
						
							1c4f316ca9 
							
						 
					 
					
						
						
							
							Remove make clean for now, fixes Travis  
						
						
						
						
							
						
					 
					
						2018-01-07 18:35:57 +10:00 
						 
				 
			
				
					
						
							
							
								Daniel Oaks 
							
						 
					 
					
						
						
						
						
							
						
						
							2b383145e5 
							
						 
					 
					
						
						
							
							Fix makefile / Travis  
						
						
						
						
							
						
					 
					
						2018-01-07 13:20:05 +10:00 
						 
				 
			
				
					
						
							
							
								Daniel Oaks 
							
						 
					 
					
						
						
						
						
							
						
						
							3b3c1c733a 
							
						 
					 
					
						
						
							
							Support bot mode +B  
						
						
						
						
							
						
					 
					
						2018-01-07 12:56:51 +10:00 
						 
				 
			
				
					
						
							
							
								Daniel Oaks 
							
						 
					 
					
						
						
						
						
							
						
						
							7f06f25c15 
							
						 
					 
					
						
						
							
							Start making builds with goreleaser  
						
						
						
						
							
						
					 
					
						2018-01-07 12:40:26 +10:00 
						 
				 
			
				
					
						
							
							
								Daniel Oaks 
							
						 
					 
					
						
						
						
						
							
						
						
							e38d42c1ce 
							
						 
					 
					
						
						
							
							Update changelog  
						
						
						
						
							
						
					 
					
						2018-01-04 00:28:06 +10:00 
						 
				 
			
				
					
						
							
							
								Daniel Oaks 
							
						 
					 
					
						
						
						
						
							
						
						
							3ba8af714e 
							
						 
					 
					
						
						
							
							Use base 36 when generating message IDs, gives us full 0-9a-z to use while preserving uniqueness nicely  
						
						
						
						
							
						
					 
					
						2018-01-04 00:21:35 +10:00 
						 
				 
			
				
					
						
							
							
								Daniel Oaks 
							
						 
					 
					
						
						
						
						
							
						
						
							63bd52d471 
							
						 
					 
					
						
						
							
							Make message IDs much shorter (thanks @prawnsalad!)  
						
						
						
						
							
						
					 
					
						2018-01-04 00:13:32 +10:00 
						 
				 
			
				
					
						
							
							
								Daniel Oaks 
							
						 
					 
					
						
						
						
						
							
						
						
							713fc59691 
							
						 
					 
					
						
						
							
							CAP: Correctly suspend registration for CAP REQ as per the spec  
						
						
						
						
							
						
					 
					
						2017-12-28 13:50:42 +10:00 
						 
				 
			
				
					
						
							
							
								Daniel Oaks 
							
						 
					 
					
						
						
						
						
							
						
						
							342a84ba3f 
							
						 
					 
					
						
						
							
							Makefile should use var defined at top of file  
						
						
						
						
							
						
					 
					
						2017-12-28 13:42:09 +10:00 
						 
				 
			
				
					
						
							
							
								Daniel Oaks 
							
						 
					 
					
						
						
						
						
							
						
						
							7c624f9a38 
							
						 
					 
					
						
						
							
							Setup v0.10.4-unreleased devel ver  
						
						
						
						
							
						
					 
					
						2017-12-28 13:41:36 +10:00 
						 
				 
			
				
					
						
							
							
								Daniel Oaks 
							
						 
					 
					
						
						
						
						
							
						
						
							25c59fdb37 
							
						 
					 
					
						
						
							
							vendor: Updated submodules  
						
						
						
						
							
						
					 
					
						2017-12-26 12:57:39 +10:00 
						 
				 
			
				
					
						
							
							
								Daniel Oaks 
							
						 
					 
					
						
						
						
						
							
						
						
							5e9f0fd411 
							
						 
					 
					
						
						
							
							Release v0.10.3  
						
						
						
						
							
 
						
					 
					
						2017-12-26 12:43:37 +10:00 
						 
				 
			
				
					
						
							
							
								Daniel Oaks 
							
						 
					 
					
						
						
						
						
							
						
						
							b9f7850719 
							
						 
					 
					
						
						
							
							Update changelog  
						
						
						
						
							
						
					 
					
						2017-12-26 12:38:54 +10:00 
						 
				 
			
				
					
						
							
							
								Daniel Oaks 
							
						 
					 
					
						
						
						
						
							
						
						
							197ab520bf 
							
						 
					 
					
						
						
							
							Change casemapping name and advertisement to match new spec  
						
						
						
						
							
						
					 
					
						2017-12-26 12:30:04 +10:00 
						 
				 
			
				
					
						
							
							
								Daniel Oaks 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							36b26f99be 
							
						 
					 
					
						
						
							
							Merge pull request  #173  from slingamn/timeouts.3  
						
						... 
						
						
						
						refactor idle timeouts again 
						
						
							
						
					 
					
						2017-12-11 14:53:05 +10:00 
						 
				 
			
				
					
						
							
							
								Shivaram Lingamneni 
							
						 
					 
					
						
						
						
						
							
						
						
							d8d1705035 
							
						 
					 
					
						
						
							
							refactor idle timeouts again  
						
						
						
						
							
						
					 
					
						2017-12-06 23:23:25 -05:00 
						 
				 
			
				
					
						
							
							
								Daniel Oaks 
							
						 
					 
					
						
						
						
						
							
						
						
							e0519a6387 
							
						 
					 
					
						
						
							
							caps: Rename maxline cap  
						
						
						
						
							
						
					 
					
						2017-12-06 13:11:38 +10:00 
						 
				 
			
				
					
						
							
							
								Daniel Oaks 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							b2e5738f08 
							
						 
					 
					
						
						
							
							Merge pull request  #171  from slingamn/atime  
						
						... 
						
						
						
						fix a race condition in client timeouts 
						
						
							
						
					 
					
						2017-12-03 12:59:08 +10:00 
						 
				 
			
				
					
						
							
							
								Shivaram Lingamneni 
							
						 
					 
					
						
						
						
						
							
						
						
							ad1e00629b 
							
						 
					 
					
						
						
							
							fix a race condition in idle timeouts  
						
						... 
						
						
						
						squigz on freenode reported an issue where bots were responding to PING
on time, but were occasionally being timed out regardless. This was a race
condition: timeout was detected as idleTime >= it.quitTimeout, but if
the client responded promptly to its PING message and sent no further messages,
but the main loop subsequently slept for longer than expected (i.e., significantly
longer than quitTimeout), this condition would be met through no fault of the
client's.
The fix here is to explicitly track the last time the ping was sent, then test
!lastSeen.After(lastPinged) instead (making use of time.Time's monotonicity).
It is sufficient that the measurement of lastPinged happens-before the PING is sent. 
						
						
							
						
					 
					
						2017-12-02 20:30:26 -05:00 
						 
				 
			
				
					
						
							
							
								Shivaram Lingamneni 
							
						 
					 
					
						
						
						
						
							
						
						
							f5e7ec525d 
							
						 
					 
					
						
						
							
							synchronize accesses to client.atime  
						
						
						
						
							
						
					 
					
						2017-12-02 20:05:06 -05:00 
						 
				 
			
				
					
						
							
							
								Daniel Oaks 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							ad351268be 
							
						 
					 
					
						
						
							
							Merge pull request  #168  from slingamn/clientmanager  
						
						... 
						
						
						
						refactor ClientManager 
						
						
							
						
					 
					
						2017-11-23 08:35:50 +10:00 
						 
				 
			
				
					
						
							
							
								Shivaram Lingamneni 
							
						 
					 
					
						
						
						
						
							
						
						
							b4907dadb9 
							
						 
					 
					
						
						
							
							fix a bug where the uncasefolded nickname wasn't being recorded  
						
						... 
						
						
						
						Also, rename the nickname vars to hopefully make things clearer 
						
						
							
						
					 
					
						2017-11-22 16:56:14 -05:00 
						 
				 
			
				
					
						
							
							
								Shivaram Lingamneni 
							
						 
					 
					
						
						
						
						
							
						
						
							d5a5f939dd 
							
						 
					 
					
						
						
							
							review fixes  
						
						
						
						
							
						
					 
					
						2017-11-22 16:35:57 -05:00 
						 
				 
			
				
					
						
							
							
								Shivaram Lingamneni 
							
						 
					 
					
						
						
						
						
							
						
						
							52b0fb71e7 
							
						 
					 
					
						
						
							
							refactor ClientManager  
						
						
						
						
							
						
					 
					
						2017-11-22 05:09:38 -05:00 
						 
				 
			
				
					
						
							
							
								Daniel Oaks 
							
						 
					 
					
						
						
						
						
							
						
						
							2cbbec567c 
							
						 
					 
					
						
						
							
							Don't override package name  
						
						
						
						
							
						
					 
					
						2017-11-19 10:42:40 +10:00 
						 
				 
			
				
					
						
							
							
								Daniel Oaks 
							
						 
					 
					
						
						
						
						
							
						
						
							bfcada11dc 
							
						 
					 
					
						
						
							
							KLINE: Save name of the banning oper  
						
						
						
						
							
						
					 
					
						2017-11-19 10:32:32 +10:00 
						 
				 
			
				
					
						
							
							
								Daniel Oaks 
							
						 
					 
					
						
						
						
						
							
						
						
							dedb029272 
							
						 
					 
					
						
						
							
							DLINE: Save name of the banning oper  
						
						
						
						
							
						
					 
					
						2017-11-19 10:27:40 +10:00 
						 
				 
			
				
					
						
							
							
								Daniel Oaks 
							
						 
					 
					
						
						
						
						
							
						
						
							8036df92fc 
							
						 
					 
					
						
						
							
							WHO: Require first param, matching other servers  
						
						
						
						
							
						
					 
					
						2017-11-19 10:10:10 +10:00 
						 
				 
			
				
					
						
							
							
								Daniel Oaks 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							bec050208d 
							
						 
					 
					
						
						
							
							Merge pull request  #166  from slingamn/banlist.3  
						
						... 
						
						
						
						allow non-operators to list bans 
						
						
							
						
					 
					
						2017-11-17 16:09:21 +10:00 
						 
				 
			
				
					
						
							
							
								Shivaram Lingamneni 
							
						 
					 
					
						
						
						
						
							
						
						
							b83d454554 
							
						 
					 
					
						
						
							
							fix ban regexp not being recompiled on removal  
						
						
						
						
							
						
					 
					
						2017-11-13 18:25:51 -05:00 
						 
				 
			
				
					
						
							
							
								Shivaram Lingamneni 
							
						 
					 
					
						
						
						
						
							
						
						
							b1e12ca1eb 
							
						 
					 
					
						
						
							
							allow unprivileged users to list bans  
						
						
						
						
							
						
					 
					
						2017-11-13 18:25:51 -05:00 
						 
				 
			
				
					
						
							
							
								Daniel Oaks 
							
						 
					 
					
						
						
						
						
							
						
						
							fc8007e6e4 
							
						 
					 
					
						
						
							
							Setup v0.10.3-unreleased devel ver  
						
						
						
						
							
						
					 
					
						2017-11-13 22:52:48 +10:00 
						 
				 
			
				
					
						
							
							
								Daniel Oaks 
							
						 
					 
					
						
						
						
						
							
						
						
							11ea52b0f0 
							
						 
					 
					
						
						
							
							Release v0.10.2  
						
						
						
						
							
 
						
					 
					
						2017-11-13 22:46:50 +10:00 
						 
				 
			
				
					
						
							
							
								Daniel Oaks 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							a33e83de9e 
							
						 
					 
					
						
						
							
							Merge pull request  #165  from slingamn/get_fail  
						
						... 
						
						
						
						fix a wide-ranging assortment of crash bugs 
						
						
							
						
					 
					
						2017-11-13 22:43:24 +10:00 
						 
				 
			
				
					
						
							
							
								Shivaram Lingamneni 
							
						 
					 
					
						
						
						
						
							
						
						
							ca8a0b7091 
							
						 
					 
					
						
						
							
							fix a wide-ranging assortment of crash bugs  
						
						
						
						
							
						
					 
					
						2017-11-13 02:42:20 -05:00 
						 
				 
			
				
					
						
							
							
								Daniel Oaks 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							ff50a25b65 
							
						 
					 
					
						
						
							
							Merge pull request  #161  from slingamn/chanreg.3  
						
						... 
						
						
						
						remove registeredChannelsMutex 
						
						
							
						
					 
					
						2017-11-13 12:46:23 +10:00 
						 
				 
			
				
					
						
							
							
								Daniel Oaks 
							
						 
					 
					
						
						
						
						
							
						
						
							075a38d08d 
							
						 
					 
					
						
						
							
							developing: Add new release instructions.  
						
						
						
						
							
						
					 
					
						2017-11-13 12:45:28 +10:00 
						 
				 
			
				
					
						
							
							
								Daniel Oaks 
							
						 
					 
					
						
						
						
						
							
						
						
							efb54163a5 
							
						 
					 
					
						
						
							
							Setup v0.10.2-unreleased devel ver  
						
						
						
						
							
						
					 
					
						2017-11-13 12:45:10 +10:00 
						 
				 
			
				
					
						
							
							
								Daniel Oaks 
							
						 
					 
					
						
						
						
						
							
						
						
							f2d4698baf 
							
						 
					 
					
						
						
							
							Release v0.10.1  
						
						
						
						
							
 
						
					 
					
						2017-11-09 15:07:40 +10:00 
						 
				 
			
				
					
						
							
							
								Daniel Oaks 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							44538c3b0b 
							
						 
					 
					
						
						
							
							Merge pull request  #162  from slingamn/modeperms  
						
						... 
						
						
						
						fix channel mode change privilege enforcement 
						
						
							
						
					 
					
						2017-11-09 14:56:53 +10:00 
						 
				 
			
				
					
						
							
							
								Shivaram Lingamneni 
							
						 
					 
					
						
						
						
						
							
						
						
							6d619bf411 
							
						 
					 
					
						
						
							
							fix channel mode change privilege enforcement  
						
						
						
						
							
						
					 
					
						2017-11-08 23:37: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 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							d5832bf765 
							
						 
					 
					
						
						
							
							Merge pull request  #160  from slingamn/cache.4  
						
						... 
						
						
						
						fix a race in regenerateMembersCache 
						
						
							
						
					 
					
						2017-11-08 22:18:25 -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 
						 
				 
			
				
					
						
							
							
								Daniel Oaks 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							f9d8d1a4f9 
							
						 
					 
					
						
						
							
							Merge pull request  #158  from slingamn/renames  
						
						... 
						
						
						
						rename some getters 
						
						
							
						
					 
					
						2017-11-03 08:02:12 +00: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 
						 
				 
			
				
					
						
							
							
								Shivaram Lingamneni 
							
						 
					 
					
						
						
						
						
							
						
						
							94cf438f51 
							
						 
					 
					
						
						
							
							remove channelJoinPartMutex  
						
						
						
						
							
						
					 
					
						2017-10-30 05:21:47 -04:00 
						 
				 
			
				
					
						
							
							
								Daniel Oaks 
							
						 
					 
					
						
						
						
						
							
						
						
							d715abf0f0 
							
						 
					 
					
						
						
							
							Add the INFO command  
						
						
						
						
							
						
					 
					
						2017-10-29 07:59:56 +00:00 
						 
				 
			
				
					
						
							
							
								Daniel Oaks 
							
						 
					 
					
						
						
						
						
							
						
						
							33651ea03c 
							
						 
					 
					
						
						
							
							vendor: Updated submodules  
						
						
						
						
							
						
					 
					
						2017-10-29 05:05:15 +00:00