fixed bug in service manager hardcore alias, new passivex dll/proj files

git-svn-id: file:///home/svn/framework3/trunk@3807 4d416f70-5f16-0410-b530-b9f4589650da
This commit is contained in:
Matt Miller 2006-08-08 03:29:26 +00:00
parent 13260cc003
commit 7bd26e4925
9 changed files with 419 additions and 2 deletions

Binary file not shown.

20
external/source/passivex/passivex.sln vendored Executable file
View File

@ -0,0 +1,20 @@

Microsoft Visual Studio Solution File, Format Version 9.00
# Visual C++ Express 2005
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "passivex", "passivex.vcproj", "{47BC44CE-61F5-489B-B22D-2F768C2A8D00}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Win32 = Debug|Win32
Release|Win32 = Release|Win32
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{47BC44CE-61F5-489B-B22D-2F768C2A8D00}.Debug|Win32.ActiveCfg = Debug|Win32
{47BC44CE-61F5-489B-B22D-2F768C2A8D00}.Debug|Win32.Build.0 = Debug|Win32
{47BC44CE-61F5-489B-B22D-2F768C2A8D00}.Release|Win32.ActiveCfg = Release|Win32
{47BC44CE-61F5-489B-B22D-2F768C2A8D00}.Release|Win32.Build.0 = Release|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal

371
external/source/passivex/passivex.vcproj vendored Executable file
View File

@ -0,0 +1,371 @@
<?xml version="1.0" encoding="Windows-1252"?>
<VisualStudioProject
ProjectType="Visual C++"
Version="8.00"
Name="passivex"
ProjectGUID="{47BC44CE-61F5-489B-B22D-2F768C2A8D00}"
>
<Platforms>
<Platform
Name="Win32"
/>
</Platforms>
<ToolFiles>
</ToolFiles>
<Configurations>
<Configuration
Name="Release|Win32"
OutputDirectory=".\Release"
IntermediateDirectory=".\Release"
ConfigurationType="2"
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
UseOfMFC="0"
ATLMinimizesCRunTimeLibraryUsage="false"
CharacterSet="2"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
PreprocessorDefinitions="NDEBUG"
MkTypLibCompatible="true"
SuppressStartupBanner="true"
TargetEnvironment="1"
TypeLibraryName=".\Release/passivex.tlb"
HeaderFileName=""
/>
<Tool
Name="VCCLCompilerTool"
Optimization="2"
InlineFunctionExpansion="1"
PreprocessorDefinitions="WIN32;NPXDEBUG;_WINDOWS;_USRDLL;PASSIVEX2_EXPORTS"
StringPooling="true"
RuntimeLibrary="0"
EnableFunctionLevelLinking="true"
PrecompiledHeaderFile=".\Release/passivex.pch"
AssemblerListingLocation=".\Release/"
ObjectFile=".\Release/"
ProgramDataBaseFileName=".\Release/"
WarningLevel="3"
SuppressStartupBanner="true"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
PreprocessorDefinitions="NDEBUG"
Culture="1033"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="wininet.lib ws2_32.lib odbc32.lib odbccp32.lib"
OutputFile=".\Release/passivex.dll"
LinkIncremental="1"
SuppressStartupBanner="true"
GenerateManifest="false"
ModuleDefinitionFile=".\passivex.def"
ProgramDatabaseFile=".\Release/passivex.pdb"
ImportLibrary=".\Release/passivex.lib"
TargetMachine="1"
/>
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCManifestTool"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
SuppressStartupBanner="true"
OutputFile=".\Release/passivex.bsc"
/>
<Tool
Name="VCFxCopTool"
/>
<Tool
Name="VCAppVerifierTool"
/>
<Tool
Name="VCWebDeploymentTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
<Configuration
Name="Debug|Win32"
OutputDirectory=".\Debug"
IntermediateDirectory=".\Debug"
ConfigurationType="2"
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
UseOfMFC="0"
ATLMinimizesCRunTimeLibraryUsage="false"
CharacterSet="2"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
PreprocessorDefinitions="_DEBUG"
MkTypLibCompatible="true"
SuppressStartupBanner="true"
TargetEnvironment="1"
TypeLibraryName=".\Debug/passivex.tlb"
HeaderFileName=""
/>
<Tool
Name="VCCLCompilerTool"
Optimization="0"
PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;PASSIVEX2_EXPORTS;PXDEBUG"
MinimalRebuild="true"
BasicRuntimeChecks="3"
RuntimeLibrary="1"
PrecompiledHeaderFile=".\Debug/passivex.pch"
AssemblerListingLocation=".\Debug/"
ObjectFile=".\Debug/"
ProgramDataBaseFileName=".\Debug/"
WarningLevel="3"
SuppressStartupBanner="true"
DebugInformationFormat="4"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
PreprocessorDefinitions="_DEBUG"
Culture="1033"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="wininet.lib ws2_32.lib odbc32.lib odbccp32.lib"
OutputFile=".\Debug/passivex.dll"
LinkIncremental="2"
SuppressStartupBanner="true"
ModuleDefinitionFile=".\passivex.def"
GenerateDebugInformation="true"
ProgramDatabaseFile=".\Debug/passivex.pdb"
ImportLibrary=".\Debug/passivex.lib"
TargetMachine="1"
/>
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCManifestTool"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
SuppressStartupBanner="true"
OutputFile=".\Debug/passivex.bsc"
/>
<Tool
Name="VCFxCopTool"
/>
<Tool
Name="VCAppVerifierTool"
/>
<Tool
Name="VCWebDeploymentTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
</Configurations>
<References>
</References>
<Files>
<Filter
Name="Source Files"
Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
>
<File
RelativePath="CPassiveX.cpp"
>
<FileConfiguration
Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
Name="Debug|Win32"
>
<Tool
Name="VCCLCompilerTool"
PreprocessorDefinitions=""
/>
</FileConfiguration>
</File>
<File
RelativePath="PassiveX.cpp"
>
<FileConfiguration
Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
Name="Debug|Win32"
>
<Tool
Name="VCCLCompilerTool"
PreprocessorDefinitions=""
/>
</FileConfiguration>
</File>
<File
RelativePath="passivex.def"
>
</File>
<File
RelativePath="PassiveX.idl"
>
<FileConfiguration
Name="Release|Win32"
>
<Tool
Name="VCMIDLTool"
PreprocessorDefinitions=""
MkTypLibCompatible="false"
TargetEnvironment="1"
/>
</FileConfiguration>
<FileConfiguration
Name="Debug|Win32"
>
<Tool
Name="VCMIDLTool"
PreprocessorDefinitions=""
TargetEnvironment="1"
/>
</FileConfiguration>
</File>
<File
RelativePath="passivex.rc"
>
<FileConfiguration
Name="Release|Win32"
>
<Tool
Name="VCResourceCompilerTool"
PreprocessorDefinitions=""
AdditionalIncludeDirectories="$(OUTDIR)"
/>
</FileConfiguration>
<FileConfiguration
Name="Debug|Win32"
>
<Tool
Name="VCResourceCompilerTool"
PreprocessorDefinitions=""
AdditionalIncludeDirectories="$(OUTDIR)"
/>
</FileConfiguration>
</File>
<Filter
Name="Tunnel"
>
<File
RelativePath="HttpTunnel.cpp"
>
<FileConfiguration
Name="Release|Win32"
>
<Tool
Name="VCCLCompilerTool"
PreprocessorDefinitions=""
/>
</FileConfiguration>
<FileConfiguration
Name="Debug|Win32"
>
<Tool
Name="VCCLCompilerTool"
PreprocessorDefinitions=""
/>
</FileConfiguration>
</File>
<File
RelativePath="HttpTunnel.h"
>
</File>
</Filter>
</Filter>
<Filter
Name="Header Files"
Filter="h;hpp;hxx;hm;inl"
>
<File
RelativePath="CPassiveX.h"
>
</File>
<File
RelativePath="PassiveX.h"
>
</File>
<File
RelativePath="PassiveXLib.h"
>
</File>
<File
RelativePath="resource.h"
>
</File>
</Filter>
<Filter
Name="Resource Files"
Filter="ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
>
<File
RelativePath="PassiveX.bin"
>
</File>
<File
RelativePath="Release\PassiveX.tlb"
>
</File>
</Filter>
</Files>
<Globals>
</Globals>
</VisualStudioProject>

View File

@ -116,6 +116,7 @@ module PassiveX
@remote_queue = ''
end
rescue ::Exception
dlog("PassiveX:#{self} Exception during remote queue flush: #{$!}", 'core', LEV_0)
end
end

View File

@ -90,7 +90,10 @@ module StreamServer
if (client)
clients.delete(client)
client.close
begin
client.close
rescue IOError
end
end
end

View File

@ -109,6 +109,13 @@ class Server
self.ssl = false
end
#
# Returns the hardcore alias for the HTTP service
#
def self.hardcore_alias(*args)
"#{(args[0] || '')}#{(args[1] || '')}"
end
#
# HTTP server.
#

View File

@ -15,6 +15,14 @@ module Service
require 'rex/services/local_relay'
#
# Returns the hardcore, as in porno, alias for this service. This is used
# by the service manager to manage singleton services.
#
def self.hardcore_alias(*args)
return "__#{args.to_s}"
end
#
# Calls stop on the service once the ref count drops.
#

View File

@ -50,7 +50,7 @@ class ServiceManager < Hash
#
def start(klass, *args)
# Get the hardcore alias.
hals = hardcore_alias(klass, *args)
hals = "#{klass.to_s}" + klass.hardcore_alias(*args)
# Has a service already been constructed for this guy? If so, increment
# its reference count like it aint no thang.

View File

@ -114,6 +114,13 @@ class LocalRelay
#
##
#
# Returns the hardcore alias for the local relay service.
#
def self.hardcore_alias(*args)
"__#{args.to_s}"
end
#
# Returns the alias for this service.
#