MartLegion 
							
						 
					 
					
						
						
						
						
							
						
						
							e47c1a840a 
							
						 
					 
					
						
						
							
							Pad plugin ID based on the total plugin count ( #1027 )  
						
						 
						
						... 
						
						
						
						Closes  #994  
						
					 
					
						2019-06-17 01:06:03 +01:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Michael Flaherty 
							
						 
					 
					
						
						
						
						
							
						
						
							aaac0b9eb2 
							
						 
					 
					
						
						
							
							Individualize NameHashSet Hashing & Revisit  #709  ( #740 )  
						
						 
						
						... 
						
						
						
						* Make mac/win lookups lowercase'd
* Revert #709  & 81042cc
* Adjust HashPolicy implementation across sourcemod
Basically, in order to implement our own (actual) hash policy in
`PluginSys.h`, we needed to remove the blanket implementation of `hash`
that was used before. Now, each policy must implement `hash` along with
`matches` in order to be used with `NameHashSet`. While this does force
us to change every implementation of policies across the entirety of
sourcemod, it allows core to use flexible implementations of `hash`.
* Remove logic duplication
* Improve lowercase checks 
						
					 
					
						2018-07-10 17:38:40 -04:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Michael Flaherty 
							
						 
					 
					
						
						
						
						
							
						
						
							956f264b85 
							
						 
					 
					
						
						
							
							Replace ke::SafeSprintf with ke::SafeStrcpy ( #784 )  
						
						 
						
						
						
					 
					
						2018-03-19 20:12:51 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Asher Baker 
							
						 
					 
					
						
						
							
							
						
						
						
							
						
						
							f156d48f45 
							
						 
					 
					
						
						
							
							Include missing ctype header for macOS build  
						
						 
						
						
						
					 
					
						2017-10-28 12:51:55 +01:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Michael Flaherty 
							
						 
					 
					
						
						
						
						
							
						
						
							90ddc16a4b 
							
						 
					 
					
						
						
							
							Lowercase windows/mac paths to avoid plugin duplicate loadings (Bug 6491) ( #709 )  
						
						 
						
						
						
					 
					
						2017-10-28 12:44:25 +01:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								David Anderson 
							
						 
					 
					
						
						
						
						
							
						
						
							27e812461f 
							
						 
					 
					
						
						
							
							Update to the latest SourcePawn and AMTL.  
						
						 
						
						
						
					 
					
						2016-09-24 16:45:04 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Fyren 
							
						 
					 
					
						
						
						
						
							
						
						
							4e654704dc 
							
						 
					 
					
						
						
							
							Slightly better handling of plugin reloading.  
						
						 
						
						
						
					 
					
						2016-06-06 22:26:34 +00:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Nicholas Hastings 
							
						 
					 
					
						
						
						
						
							
						
						
							11b4320204 
							
						 
					 
					
						
						
							
							Fix potential crash on plugin load when a required library is not found.  
						
						 
						
						
						
					 
					
						2016-04-27 10:49:39 -04:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								Peace-Maker 
							
						 
					 
					
						
						
						
						
							
						
						
							df59fd5b0e 
							
						 
					 
					
						
						
							
							Fix scheduled plugin unloading  
						
						 
						
						... 
						
						
						
						When unloading a plugin no plugin is allowed to execute code. There's
been some flawed logic in the scheduling, leading it to bail out if the
plugin was marked for scheduled unloading..
Also change the "error" message of `sm plugins unload` to something
nice. 
						
					 
					
						2016-02-29 16:40:24 +01:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								David Anderson 
							
						 
					 
					
						
						
						
						
							
						
						
							e2b399b8d3 
							
						 
					 
					
						
						
							
							Update to the latest AMTL - Rename Ref to RefPtr.  
						
						 
						
						
						
					 
					
						2015-11-08 13:14:57 -08:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								David Anderson 
							
						 
					 
					
						
						
						
						
							
						
						
							c849616003 
							
						 
					 
					
						
						
							
							Add an OnPluginWillUnload callback that precedes OnPluginEnd().  
						
						 
						
						
						
					 
					
						2015-11-01 00:30:37 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								David Anderson 
							
						 
					 
					
						
						
						
						
							
						
						
							d674414cf0 
							
						 
					 
					
						
						
							
							Add a versioned IPluginsListener and deprecate the non-versioned class.  
						
						 
						
						
						
					 
					
						2015-11-01 00:23:33 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								David Anderson 
							
						 
					 
					
						
						
						
						
							
						
						
							cb3f6df111 
							
						 
					 
					
						
						
							
							Require that no plugin code be live when any plugin unloads.  
						
						 
						
						
						
					 
					
						2015-10-31 19:38:30 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								David Anderson 
							
						 
					 
					
						
						
						
						
							
						
						
							59623695af 
							
						 
					 
					
						
						
							
							Improve plugin console diagnostics.  
						
						 
						
						
						
					 
					
						2015-10-31 17:30:33 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								David Anderson 
							
						 
					 
					
						
						
						
						
							
						
						
							87e9dee78b 
							
						 
					 
					
						
						
							
							Evict plugins that fail to load.  
						
						 
						
						
						
					 
					
						2015-10-31 17:30:33 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								David Anderson 
							
						 
					 
					
						
						
						
						
							
						
						
							62edc5f4c0 
							
						 
					 
					
						
						
							
							Clean up "sm plugins list" after status meaning clarifications.  
						
						 
						
						
						
					 
					
						2015-10-31 17:25:59 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								David Anderson 
							
						 
					 
					
						
						
						
						
							
						
						
							485ade2610 
							
						 
					 
					
						
						
							
							Fix a number of inconsistencies in plugin state.  
						
						 
						
						... 
						
						
						
						1. Fixed OnPluginUnloaded not pairing if the plugin failed.
2. Unify error message handling in the second pass.
3. Do not add libraries if a plugin failed during OnPluginStart. 
						
					 
					
						2015-10-31 17:25:59 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								David Anderson 
							
						 
					 
					
						
						
						
						
							
						
						
							9e4fff3362 
							
						 
					 
					
						
						
							
							Add a state variable to CPlugin to indicate queue/list membership.  
						
						 
						
						
						
					 
					
						2015-10-31 17:25:59 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								David Anderson 
							
						 
					 
					
						
						
						
						
							
						
						
							7cc911ae58 
							
						 
					 
					
						
						
							
							Separate plugin unloading into an eviction step, which disconnects the plugin from Core.  
						
						 
						
						... 
						
						
						
						Note: this also ensures that library action callbacks are balanced (i.e., we do not notify
libraries are being dropped if they were never notified as being added). 
						
					 
					
						2015-10-31 17:25:59 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								David Anderson 
							
						 
					 
					
						
						
						
						
							
						
						
							82ff7d5af7 
							
						 
					 
					
						
						
							
							Rename CPlugin::SetErrorState to EvictWithError.  
						
						 
						
						
						
					 
					
						2015-10-31 17:25:59 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								David Anderson 
							
						 
					 
					
						
						
						
						
							
						
						
							c4c6efb140 
							
						 
					 
					
						
						
							
							Remove a crazy unused function from CPluginManager.  
						
						 
						
						
						
					 
					
						2015-10-31 17:25:59 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								David Anderson 
							
						 
					 
					
						
						
						
						
							
						
						
							ab1b915a3c 
							
						 
					 
					
						
						
							
							Fix re-entrancy issues in CPluginManager by using ReentrantList.  
						
						 
						
						
						
					 
					
						2015-10-31 17:24:22 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								David Anderson 
							
						 
					 
					
						
						
						
						
							
						
						
							709149fbed 
							
						 
					 
					
						
						
							
							Remove the CPluginIterator cache.  
						
						 
						
						
						
					 
					
						2015-10-31 17:23:24 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								David Anderson 
							
						 
					 
					
						
						
						
						
							
						
						
							c21b3a36fc 
							
						 
					 
					
						
						
							
							Remove CPluginManager direct use of CPlugin::NativeOwner::m_fakes.  
						
						 
						
						
						
					 
					
						2015-10-31 17:19:10 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								David Anderson 
							
						 
					 
					
						
						
						
						
							
						
						
							f765c8d436 
							
						 
					 
					
						
						
							
							Remove CPluginManager direct use of CPlugin::m_LibraryMissing.  
						
						 
						
						
						
					 
					
						2015-10-31 17:19:10 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								David Anderson 
							
						 
					 
					
						
						
						
						
							
						
						
							ae44a6540a 
							
						 
					 
					
						
						
							
							Remove CPluginManager direct use of CPlugin::m_FakeNativesMissing.  
						
						 
						
						
						
					 
					
						2015-10-31 17:19:10 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								David Anderson 
							
						 
					 
					
						
						
						
						
							
						
						
							f27dbaf716 
							
						 
					 
					
						
						
							
							Remove CPluginManager direct use of CPlugin::m_RequiredLibs.  
						
						 
						
						
						
					 
					
						2015-10-31 17:19:10 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								David Anderson 
							
						 
					 
					
						
						
						
						
							
						
						
							717ad38d06 
							
						 
					 
					
						
						
							
							Remove CPluginManager direct use of CPlugin::m_errormsg.  
						
						 
						
						
						
					 
					
						2015-10-31 17:19:10 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								David Anderson 
							
						 
					 
					
						
						
						
						
							
						
						
							60f06d1414 
							
						 
					 
					
						
						
							
							Remove CPluginManager direct use of CPlugin::m_FileVersion.  
						
						 
						
						
						
					 
					
						2015-10-31 17:19:10 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								David Anderson 
							
						 
					 
					
						
						
						
						
							
						
						
							a579136a3d 
							
						 
					 
					
						
						
							
							Remove CPluginManager direct use of CPlugin::m_DateTime.  
						
						 
						
						
						
					 
					
						2015-10-31 17:19:10 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								David Anderson 
							
						 
					 
					
						
						
						
						
							
						
						
							2f3d523ac0 
							
						 
					 
					
						
						
							
							Remove CPluginManager use of CPlugin::m_pRuntime.  
						
						 
						
						
						
					 
					
						2015-10-31 17:19:10 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								David Anderson 
							
						 
					 
					
						
						
						
						
							
						
						
							df5c53fa4a 
							
						 
					 
					
						
						
							
							Remove CPluginManager direct use of CPlugin::m_filename.  
						
						 
						
						
						
					 
					
						2015-10-31 17:19:10 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								David Anderson 
							
						 
					 
					
						
						
						
						
							
						
						
							46c069dbbe 
							
						 
					 
					
						
						
							
							Remove CPluginManager direct use of CPlugin::m_Libraries.  
						
						 
						
						
						
					 
					
						2015-10-31 17:19:09 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								David Anderson 
							
						 
					 
					
						
						
						
						
							
						
						
							bda9defc0f 
							
						 
					 
					
						
						
							
							Remove CPlugin's friend access to CPluginManager.  
						
						 
						
						
						
					 
					
						2015-10-31 17:19:09 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								David Anderson 
							
						 
					 
					
						
						
						
						
							
						
						
							9b1678bd18 
							
						 
					 
					
						
						
							
							Remove error outparams from first-pass internal plugin loading commands.  
						
						 
						
						
						
					 
					
						2015-09-21 00:51:20 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								David Anderson 
							
						 
					 
					
						
						
						
						
							
						
						
							5f19fc036d 
							
						 
					 
					
						
						
							
							Refactor AskPluginLoad() to contain its own error state.  
						
						 
						
						
						
					 
					
						2015-09-21 00:51:16 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								David Anderson 
							
						 
					 
					
						
						
						
						
							
						
						
							5eec2e7d6d 
							
						 
					 
					
						
						
							
							Remove error message outparam to LoadExtensions.  
						
						 
						
						
						
					 
					
						2015-09-21 00:51:11 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								David Anderson 
							
						 
					 
					
						
						
						
						
							
						
						
							3195dec436 
							
						 
					 
					
						
						
							
							Split LoadOrRequireExtensions into two distinct functions.  
						
						 
						
						
						
					 
					
						2015-09-20 23:44:45 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								David Anderson 
							
						 
					 
					
						
						
						
						
							
						
						
							15f4a05122 
							
						 
					 
					
						
						
							
							Factor the iterator out of LoadOrRequireExtensions.  
						
						 
						
						
						
					 
					
						2015-09-20 23:44:41 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								David Anderson 
							
						 
					 
					
						
						
						
						
							
						
						
							e559e6ffa8 
							
						 
					 
					
						
						
							
							Simplify pass 2 of LoadOrRequireExtensions.  
						
						 
						
						
						
					 
					
						2015-09-20 23:44:37 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								David Anderson 
							
						 
					 
					
						
						
						
						
							
						
						
							23290b35a7 
							
						 
					 
					
						
						
							
							Clean up LoadOrRequireExtensions and properly scope variables.  
						
						 
						
						
						
					 
					
						2015-09-20 23:44:34 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								David Anderson 
							
						 
					 
					
						
						
						
						
							
						
						
							2b3da56fb5 
							
						 
					 
					
						
						
							
							Dedent a huge block of code.  
						
						 
						
						
						
					 
					
						2015-09-20 23:44:30 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								David Anderson 
							
						 
					 
					
						
						
						
						
							
						
						
							370710c0ff 
							
						 
					 
					
						
						
							
							Fix build.  
						
						 
						
						
						
					 
					
						2015-09-20 21:39:12 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								David Anderson 
							
						 
					 
					
						
						
						
						
							
						
						
							4fc7eb8a6b 
							
						 
					 
					
						
						
							
							Remove trailing whitespace.  
						
						 
						
						
						
					 
					
						2015-09-20 20:58:03 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								David Anderson 
							
						 
					 
					
						
						
						
						
							
						
						
							38c01714d7 
							
						 
					 
					
						
						
							
							Clean up AskPluginLoad logic.  
						
						 
						
						
						
					 
					
						2015-09-20 20:57:59 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								David Anderson 
							
						 
					 
					
						
						
						
						
							
						
						
							0e1a34a4d7 
							
						 
					 
					
						
						
							
							Hide CPlugin timestamp management details.  
						
						 
						
						
						
					 
					
						2015-09-20 20:57:55 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								David Anderson 
							
						 
					 
					
						
						
						
						
							
						
						
							d5d7e8c9cf 
							
						 
					 
					
						
						
							
							Factor guts of _LoadPlugin into a separate function.  
						
						 
						
						
						
					 
					
						2015-09-20 20:57:51 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								David Anderson 
							
						 
					 
					
						
						
						
						
							
						
						
							76d681761d 
							
						 
					 
					
						
						
							
							Factor malware checks into its own pass.  
						
						 
						
						
						
					 
					
						2015-09-20 20:57:47 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								David Anderson 
							
						 
					 
					
						
						
						
						
							
						
						
							3807edbeb8 
							
						 
					 
					
						
						
							
							Move CPlugin compilation into its own function.  
						
						 
						
						
						
					 
					
						2015-09-20 20:57:43 -07:00  
					
					
						 
						
							
							
							 
						
					 
				 
			
				
					
						
							
							
								 
								David Anderson 
							
						 
					 
					
						
						
						
						
							
						
						
							d9216cc599 
							
						 
					 
					
						
						
							
							Remove references to non-mapupdated plugins.  
						
						 
						
						
						
					 
					
						2015-09-20 20:31:30 -07:00