You can subscribe to this list here.
2005 |
Jan
|
Feb
(32) |
Mar
(56) |
Apr
(92) |
May
(39) |
Jun
(226) |
Jul
(98) |
Aug
(66) |
Sep
|
Oct
(153) |
Nov
(43) |
Dec
(42) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2006 |
Jan
(97) |
Feb
(141) |
Mar
(147) |
Apr
(80) |
May
(51) |
Jun
(93) |
Jul
(88) |
Aug
(50) |
Sep
(179) |
Oct
(48) |
Nov
(82) |
Dec
(71) |
2007 |
Jan
(42) |
Feb
(46) |
Mar
(123) |
Apr
(21) |
May
(139) |
Jun
(59) |
Jul
(34) |
Aug
(57) |
Sep
(47) |
Oct
(137) |
Nov
(49) |
Dec
(12) |
2008 |
Jan
(10) |
Feb
(8) |
Mar
(63) |
Apr
(17) |
May
(34) |
Jun
(38) |
Jul
(16) |
Aug
(62) |
Sep
(9) |
Oct
(121) |
Nov
(38) |
Dec
(4) |
2009 |
Jan
|
Feb
(11) |
Mar
(9) |
Apr
|
May
|
Jun
|
Jul
(1) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2010 |
Jan
|
Feb
|
Mar
(4) |
Apr
(10) |
May
(1) |
Jun
(1) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2011 |
Jan
(1) |
Feb
(1) |
Mar
(3) |
Apr
(2) |
May
|
Jun
|
Jul
|
Aug
(3) |
Sep
(2) |
Oct
(1) |
Nov
|
Dec
(12) |
2012 |
Jan
(26) |
Feb
(1) |
Mar
(15) |
Apr
(1) |
May
(1) |
Jun
(7) |
Jul
(2) |
Aug
|
Sep
(1) |
Oct
(52) |
Nov
(8) |
Dec
(25) |
2013 |
Jan
(35) |
Feb
(14) |
Mar
(10) |
Apr
(10) |
May
(29) |
Jun
(16) |
Jul
(5) |
Aug
(8) |
Sep
(8) |
Oct
(6) |
Nov
(1) |
Dec
(3) |
2014 |
Jan
(16) |
Feb
(13) |
Mar
(5) |
Apr
(9) |
May
(21) |
Jun
(6) |
Jul
(5) |
Aug
(2) |
Sep
(59) |
Oct
(115) |
Nov
(122) |
Dec
(45) |
2015 |
Jan
(31) |
Feb
(32) |
Mar
(19) |
Apr
(25) |
May
(3) |
Jun
(4) |
Jul
(18) |
Aug
(3) |
Sep
(23) |
Oct
(11) |
Nov
(17) |
Dec
(12) |
2016 |
Jan
(20) |
Feb
(27) |
Mar
(20) |
Apr
(40) |
May
(35) |
Jun
(48) |
Jul
(44) |
Aug
(51) |
Sep
(18) |
Oct
(42) |
Nov
(39) |
Dec
(29) |
2017 |
Jan
(37) |
Feb
(34) |
Mar
(20) |
Apr
(37) |
May
(10) |
Jun
(2) |
Jul
(14) |
Aug
(15) |
Sep
(25) |
Oct
(29) |
Nov
(15) |
Dec
(29) |
2018 |
Jan
(5) |
Feb
(15) |
Mar
(6) |
Apr
(20) |
May
(39) |
Jun
(39) |
Jul
(17) |
Aug
(20) |
Sep
(10) |
Oct
(17) |
Nov
(20) |
Dec
(8) |
2019 |
Jan
(28) |
Feb
(21) |
Mar
(13) |
Apr
(44) |
May
(44) |
Jun
(28) |
Jul
(51) |
Aug
(30) |
Sep
(7) |
Oct
(20) |
Nov
(8) |
Dec
(21) |
2020 |
Jan
(27) |
Feb
(5) |
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: abe-t <it...@us...> - 2005-06-24 08:26:38
|
Update of /cvsroot/naviserver/naviserver/win32/nssock In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv10991/win32/nssock Added Files: nssock.vcproj Log Message: Added Visual Studio 7 project for Windows --- NEW FILE: nssock.vcproj --- <?xml version="1.0" encoding="Windows-1252"?> <VisualStudioProject ProjectType="Visual C++" Version="7.10" Name="nssock" SccProjectName="" SccLocalPath=""> <Platforms> <Platform Name="Win32"/> </Platforms> <Configurations> <Configuration Name="Release|Win32" OutputDirectory=".\Release" IntermediateDirectory=".\Release" ConfigurationType="2" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="FALSE" CharacterSet="2"> <Tool Name="VCCLCompilerTool" Optimization="2" InlineFunctionExpansion="1" AdditionalIncludeDirectories="..\..\tcl8.4\generic,..\..\include" PreprocessorDefinitions="_WINDOWS;_USRDLL;NDEBUG;WIN32;FD_SETSIZE=128;TCL_THREADS=1" StringPooling="TRUE" RuntimeLibrary="2" EnableFunctionLevelLinking="TRUE" UsePrecompiledHeader="2" PrecompiledHeaderFile=".\Release/nssock.pch" AssemblerListingLocation=".\Release/" ObjectFile=".\Release/" ProgramDataBaseFileName=".\Release/" WarningLevel="3" SuppressStartupBanner="TRUE" DebugInformationFormat="3" CompileAs="0"/> <Tool Name="VCCustomBuildTool"/> <Tool Name="VCLinkerTool" AdditionalOptions="/export:Ns_ModuleVersion,data /export: /export:Ns_ModuleInit " AdditionalDependencies="tcl84t.lib nsd.lib nsthread.lib ws2_32.lib" OutputFile=".\Release/nssock.dll" LinkIncremental="1" SuppressStartupBanner="TRUE" AdditionalLibraryDirectories="..\..\tcl8.4\win\Release,..\nsd\release,..\nsthread\release" GenerateDebugInformation="TRUE" ProgramDatabaseFile=".\Release/nssock.pdb" OptimizeReferences="2" ImportLibrary=".\Release/nssock.lib" TargetMachine="1"/> <Tool Name="VCMIDLTool" PreprocessorDefinitions="NDEBUG" MkTypLibCompatible="TRUE" SuppressStartupBanner="TRUE" TargetEnvironment="1" TypeLibraryName=".\Release/nssock.tlb" HeaderFileName=""/> <Tool Name="VCPostBuildEventTool" CommandLine="for %%m in (dll) do copy release\nssock.%%m ..\release\nssock.%%m"/> <Tool Name="VCPreBuildEventTool"/> <Tool Name="VCPreLinkEventTool"/> <Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="NDEBUG" Culture="1033"/> <Tool Name="VCWebServiceProxyGeneratorTool"/> <Tool Name="VCXMLDataGeneratorTool"/> <Tool Name="VCWebDeploymentTool"/> <Tool Name="VCManagedWrapperGeneratorTool"/> <Tool Name="VCAuxiliaryManagedWrapperGeneratorTool"/> </Configuration> <Configuration Name="Debug|Win32" OutputDirectory=".\Debug" IntermediateDirectory=".\Debug" ConfigurationType="2" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="FALSE" CharacterSet="2"> <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="..\..\tcl8.4\generic,..\..\include" PreprocessorDefinitions="_WINDOWS;_USRDLL;_DEBUG;WIN32;FD_SETSIZE=128;TCL_THREADS=1" BasicRuntimeChecks="3" RuntimeLibrary="1" UsePrecompiledHeader="2" PrecompiledHeaderFile=".\Debug/nssock.pch" AssemblerListingLocation=".\Debug/" ObjectFile=".\Debug/" ProgramDataBaseFileName=".\Debug/" WarningLevel="3" SuppressStartupBanner="TRUE" DebugInformationFormat="4" CompileAs="0"/> <Tool Name="VCCustomBuildTool"/> <Tool Name="VCLinkerTool" AdditionalOptions="/export:Ns_ModuleVersion,data /export:Ns_ModuleInit " AdditionalDependencies="tcl84tg.lib nsd.lib nsthread.lib ws2_32.lib" OutputFile=".\Debug/nssock.dll" LinkIncremental="1" SuppressStartupBanner="TRUE" AdditionalLibraryDirectories="..\..\tcl8.4\win\Debug,..\nsd\debug,..\nsthread\debug" GenerateDebugInformation="TRUE" ProgramDatabaseFile=".\Debug/nssock.pdb" ImportLibrary=".\Debug/nssock.lib" TargetMachine="1"/> <Tool Name="VCMIDLTool" PreprocessorDefinitions="_DEBUG" MkTypLibCompatible="TRUE" SuppressStartupBanner="TRUE" TargetEnvironment="1" TypeLibraryName=".\Debug/nssock.tlb" HeaderFileName=""/> <Tool Name="VCPostBuildEventTool" CommandLine="for %%m in (dll pdb) do copy debug\nssock.%%m ..\debug\nssock.%%m"/> <Tool Name="VCPreBuildEventTool"/> <Tool Name="VCPreLinkEventTool"/> <Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="_DEBUG" Culture="1033"/> <Tool Name="VCWebServiceProxyGeneratorTool"/> <Tool Name="VCXMLDataGeneratorTool"/> <Tool Name="VCWebDeploymentTool"/> <Tool Name="VCManagedWrapperGeneratorTool"/> <Tool Name="VCAuxiliaryManagedWrapperGeneratorTool"/> </Configuration> </Configurations> <References> </References> <Files> <Filter Name="Source Files" Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"> <File RelativePath="..\..\nssock\nssock.c"> <FileConfiguration Name="Release|Win32"> <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="_WINDOWS;_USRDLL;NDEBUG;WIN32;_MBCS;FD_SETSIZE=128;TCL_THREADS=1;$(NoInherit)"/> </FileConfiguration> <FileConfiguration Name="Debug|Win32"> <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="_WINDOWS;_USRDLL;_DEBUG;WIN32;_MBCS;FD_SETSIZE=128;TCL_THREADS=1;$(NoInherit)" BasicRuntimeChecks="3"/> </FileConfiguration> </File> </Filter> <Filter Name="Header Files" Filter="h;hpp;hxx;hm;inl"> </Filter> <Filter Name="Resource Files" Filter="ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"> </Filter> </Files> <Globals> </Globals> </VisualStudioProject> |
From: abe-t <it...@us...> - 2005-06-24 08:26:38
|
Update of /cvsroot/naviserver/naviserver/win32/nsperm In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv10991/win32/nsperm Added Files: nsperm.vcproj Log Message: Added Visual Studio 7 project for Windows --- NEW FILE: nsperm.vcproj --- <?xml version="1.0" encoding="Windows-1252"?> <VisualStudioProject ProjectType="Visual C++" Version="7.10" Name="nsperm" SccProjectName="" SccLocalPath=""> <Platforms> <Platform Name="Win32"/> </Platforms> <Configurations> <Configuration Name="Debug|Win32" OutputDirectory=".\Debug" IntermediateDirectory=".\Debug" ConfigurationType="2" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="FALSE" CharacterSet="2"> <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="..\..\tcl8.4\generic,..\..\include" PreprocessorDefinitions="_DEBUG;_WINDOWS;_USRDLL;WIN32;FD_SETSIZE=128;TCL_THREADS=1;NO_CONST=1" BasicRuntimeChecks="3" RuntimeLibrary="1" UsePrecompiledHeader="2" PrecompiledHeaderFile=".\Debug/nsperm.pch" AssemblerListingLocation=".\Debug/" ObjectFile=".\Debug/" ProgramDataBaseFileName=".\Debug/" WarningLevel="3" SuppressStartupBanner="TRUE" DebugInformationFormat="4" CompileAs="0"/> <Tool Name="VCCustomBuildTool"/> <Tool Name="VCLinkerTool" AdditionalOptions="/export:Ns_ModuleVersion,data /export:Ns_ModuleInit " AdditionalDependencies="tcl84tg.lib nsd.lib nsthread.lib ws2_32.lib" OutputFile=".\Debug/nsperm.dll" LinkIncremental="1" SuppressStartupBanner="TRUE" AdditionalLibraryDirectories="..\..\tcl8.4\win\Debug,..\nsd\debug,..\nsthread\debug" GenerateDebugInformation="TRUE" ProgramDatabaseFile=".\Debug/nsperm.pdb" ImportLibrary=".\Debug/nsperm.lib" TargetMachine="1"/> <Tool Name="VCMIDLTool" PreprocessorDefinitions="_DEBUG" MkTypLibCompatible="TRUE" SuppressStartupBanner="TRUE" TargetEnvironment="1" TypeLibraryName=".\Debug/nsperm.tlb" HeaderFileName=""/> <Tool Name="VCPostBuildEventTool" CommandLine="for %%m in (dll pdb) do copy debug\nsperm.%%m ..\debug\nsperm.%%m"/> <Tool Name="VCPreBuildEventTool"/> <Tool Name="VCPreLinkEventTool"/> <Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="_DEBUG" Culture="1033"/> <Tool Name="VCWebServiceProxyGeneratorTool"/> <Tool Name="VCXMLDataGeneratorTool"/> <Tool Name="VCWebDeploymentTool"/> <Tool Name="VCManagedWrapperGeneratorTool"/> <Tool Name="VCAuxiliaryManagedWrapperGeneratorTool"/> </Configuration> <Configuration Name="Release|Win32" OutputDirectory=".\Release" IntermediateDirectory=".\Release" ConfigurationType="2" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="FALSE" CharacterSet="2"> <Tool Name="VCCLCompilerTool" Optimization="2" InlineFunctionExpansion="1" AdditionalIncludeDirectories="..\..\tcl8.4\generic,..\..\include" PreprocessorDefinitions="NDEBUG;_WINDOWS;_USRDLL;WIN32;FD_SETSIZE=128;TCL_THREADS=1;NO_CONST=1" StringPooling="TRUE" RuntimeLibrary="2" EnableFunctionLevelLinking="TRUE" UsePrecompiledHeader="2" PrecompiledHeaderFile=".\Release/nsperm.pch" AssemblerListingLocation=".\Release/" ObjectFile=".\Release/" ProgramDataBaseFileName=".\Release/" WarningLevel="3" SuppressStartupBanner="TRUE" DebugInformationFormat="3" CompileAs="0"/> <Tool Name="VCCustomBuildTool"/> <Tool Name="VCLinkerTool" AdditionalOptions="/export:Ns_ModuleVersion,data /export: /export:Ns_ModuleInit " AdditionalDependencies="tcl84t.lib nsd.lib nsthread.lib ws2_32.lib" OutputFile=".\Release/nsperm.dll" LinkIncremental="1" SuppressStartupBanner="TRUE" AdditionalLibraryDirectories="..\..\tcl8.4\win\Release,..\nsd\release,..\nsthread\release" GenerateDebugInformation="TRUE" ProgramDatabaseFile=".\Release/nsperm.pdb" OptimizeReferences="2" ImportLibrary=".\Release/nsperm.lib" TargetMachine="1"/> <Tool Name="VCMIDLTool" PreprocessorDefinitions="NDEBUG" MkTypLibCompatible="TRUE" SuppressStartupBanner="TRUE" TargetEnvironment="1" TypeLibraryName=".\Release/nsperm.tlb" HeaderFileName=""/> <Tool Name="VCPostBuildEventTool" CommandLine="for %%m in (dll) do copy release\nsperm.%%m ..\release\nsperm.%%m"/> <Tool Name="VCPreBuildEventTool"/> <Tool Name="VCPreLinkEventTool"/> <Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="NDEBUG" Culture="1033"/> <Tool Name="VCWebServiceProxyGeneratorTool"/> <Tool Name="VCXMLDataGeneratorTool"/> <Tool Name="VCWebDeploymentTool"/> <Tool Name="VCManagedWrapperGeneratorTool"/> <Tool Name="VCAuxiliaryManagedWrapperGeneratorTool"/> </Configuration> </Configurations> <References> </References> <Files> <Filter Name="Source Files" Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"> <File RelativePath="..\..\nsperm\nsperm.c"> <FileConfiguration Name="Debug|Win32"> <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="_DEBUG;_WINDOWS;_USRDLL;WIN32;_MBCS;FD_SETSIZE=128;TCL_THREADS=1;NO_CONST=1;$(NoInherit)" BasicRuntimeChecks="3"/> </FileConfiguration> <FileConfiguration Name="Release|Win32"> <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="NDEBUG;_WINDOWS;_USRDLL;WIN32;_MBCS;FD_SETSIZE=128;TCL_THREADS=1;NO_CONST=1;$(NoInherit)"/> </FileConfiguration> </File> </Filter> <Filter Name="Header Files" Filter="h;hpp;hxx;hm;inl"> </Filter> <Filter Name="Resource Files" Filter="ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"> </Filter> </Files> <Globals> </Globals> </VisualStudioProject> |
From: abe-t <it...@us...> - 2005-06-24 08:26:38
|
Update of /cvsroot/naviserver/naviserver/win32/nsdb In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv10991/win32/nsdb Added Files: nsdb.vcproj Log Message: Added Visual Studio 7 project for Windows --- NEW FILE: nsdb.vcproj --- <?xml version="1.0" encoding="Windows-1252"?> <VisualStudioProject ProjectType="Visual C++" Version="7.10" Name="nsdb" SccProjectName="" SccLocalPath=""> <Platforms> <Platform Name="Win32"/> </Platforms> <Configurations> <Configuration Name="Debug|Win32" OutputDirectory=".\Debug" IntermediateDirectory=".\Debug" ConfigurationType="2" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="FALSE" CharacterSet="2"> <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="..\..\tcl8.4\generic,..\..\include" PreprocessorDefinitions="_DEBUG;NSD_EXPORTS;WIN32;_WINDOWS;_USRDLL;NO_CONST=1" BasicRuntimeChecks="3" RuntimeLibrary="1" UsePrecompiledHeader="2" PrecompiledHeaderFile=".\Debug/nsdb.pch" AssemblerListingLocation=".\Debug/" ObjectFile=".\Debug/" ProgramDataBaseFileName=".\Debug/" WarningLevel="3" SuppressStartupBanner="TRUE" DebugInformationFormat="4" CompileAs="0"/> <Tool Name="VCCustomBuildTool"/> <Tool Name="VCLinkerTool" AdditionalOptions="/export:Ns_ModuleVersion,data /export:Ns_ModuleInit " AdditionalDependencies="tcl84g.lib nsd.lib nsthread.lib" OutputFile=".\Debug/nsdb.dll" LinkIncremental="1" SuppressStartupBanner="TRUE" AdditionalLibraryDirectories="..\..\tcl8.4\win\Debug,..\nsd\debug,..\nsthread\debug" GenerateDebugInformation="TRUE" ProgramDatabaseFile=".\Debug/nsdb.pdb" ImportLibrary=".\Debug/nsdb.lib" TargetMachine="1"/> <Tool Name="VCMIDLTool" PreprocessorDefinitions="_DEBUG" MkTypLibCompatible="TRUE" SuppressStartupBanner="TRUE" TargetEnvironment="1" TypeLibraryName=".\Debug/nsdb.tlb" HeaderFileName=""/> <Tool Name="VCPostBuildEventTool" CommandLine="for %%m in (dll pdb) do copy debug\nsdb.%%m ..\debug\nsdb.%%m"/> <Tool Name="VCPreBuildEventTool"/> <Tool Name="VCPreLinkEventTool"/> <Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="_DEBUG" Culture="1033"/> <Tool Name="VCWebServiceProxyGeneratorTool"/> <Tool Name="VCXMLDataGeneratorTool"/> <Tool Name="VCWebDeploymentTool"/> <Tool Name="VCManagedWrapperGeneratorTool"/> <Tool Name="VCAuxiliaryManagedWrapperGeneratorTool"/> </Configuration> <Configuration Name="Release|Win32" OutputDirectory=".\Release" IntermediateDirectory=".\Release" ConfigurationType="2" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="FALSE" CharacterSet="2"> <Tool Name="VCCLCompilerTool" Optimization="2" InlineFunctionExpansion="1" AdditionalIncludeDirectories="..\..\tcl8.4\generic,..\..\include" PreprocessorDefinitions="NDEBUG;NSD_EXPORTS;WIN32;_WINDOWS;_USRDLL;NO_CONST=1" StringPooling="TRUE" RuntimeLibrary="2" EnableFunctionLevelLinking="TRUE" UsePrecompiledHeader="2" PrecompiledHeaderFile=".\Release/nsdb.pch" AssemblerListingLocation=".\Release/" ObjectFile=".\Release/" ProgramDataBaseFileName=".\Release/" WarningLevel="3" SuppressStartupBanner="TRUE" DebugInformationFormat="3" CompileAs="0"/> <Tool Name="VCCustomBuildTool"/> <Tool Name="VCLinkerTool" AdditionalOptions="/export:Ns_ModuleVersion,data /export: /export:Ns_ModuleInit " AdditionalDependencies="tcl84t.lib nsd.lib nsthread.lib" OutputFile=".\Release/nsdb.dll" LinkIncremental="1" SuppressStartupBanner="TRUE" AdditionalLibraryDirectories="..\..\tcl8.4\win\Release,..\nsd\release,..\nsthread\release" GenerateDebugInformation="TRUE" ProgramDatabaseFile=".\Release/nsdb.pdb" OptimizeReferences="2" ImportLibrary=".\Release/nsdb.lib" TargetMachine="1"/> <Tool Name="VCMIDLTool" PreprocessorDefinitions="NDEBUG" MkTypLibCompatible="TRUE" SuppressStartupBanner="TRUE" TargetEnvironment="1" TypeLibraryName=".\Release/nsdb.tlb" HeaderFileName=""/> <Tool Name="VCPostBuildEventTool" CommandLine="for %%m in (dll) do copy release\nsdb.%%m ..\release\nsdb.%%m"/> <Tool Name="VCPreBuildEventTool"/> <Tool Name="VCPreLinkEventTool"/> <Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="NDEBUG" Culture="1033"/> <Tool Name="VCWebServiceProxyGeneratorTool"/> <Tool Name="VCXMLDataGeneratorTool"/> <Tool Name="VCWebDeploymentTool"/> <Tool Name="VCManagedWrapperGeneratorTool"/> <Tool Name="VCAuxiliaryManagedWrapperGeneratorTool"/> </Configuration> </Configurations> <References> </References> <Files> <Filter Name="Source Files" Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"> <File RelativePath="..\..\nsdb\dbdrv.c"> <FileConfiguration Name="Debug|Win32"> <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="_DEBUG;NSD_EXPORTS;WIN32;_WINDOWS;_MBCS;_USRDLL;NO_CONST=1;$(NoInherit)" BasicRuntimeChecks="3"/> </FileConfiguration> <FileConfiguration Name="Release|Win32"> <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="NDEBUG;NSD_EXPORTS;WIN32;_WINDOWS;_MBCS;_USRDLL;NO_CONST=1;$(NoInherit)"/> </FileConfiguration> </File> <File RelativePath="..\..\nsdb\dbinit.c"> <FileConfiguration Name="Debug|Win32"> <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="_DEBUG;NSD_EXPORTS;WIN32;_WINDOWS;_MBCS;_USRDLL;NO_CONST=1;$(NoInherit)" BasicRuntimeChecks="3"/> </FileConfiguration> <FileConfiguration Name="Release|Win32"> <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="NDEBUG;NSD_EXPORTS;WIN32;_WINDOWS;_MBCS;_USRDLL;NO_CONST=1;$(NoInherit)"/> </FileConfiguration> </File> <File RelativePath="..\..\nsdb\dbtcl.c"> <FileConfiguration Name="Debug|Win32"> <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="_DEBUG;NSD_EXPORTS;WIN32;_WINDOWS;_MBCS;_USRDLL;NO_CONST=1;$(NoInherit)" BasicRuntimeChecks="3"/> </FileConfiguration> <FileConfiguration Name="Release|Win32"> <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="NDEBUG;NSD_EXPORTS;WIN32;_WINDOWS;_MBCS;_USRDLL;NO_CONST=1;$(NoInherit)"/> </FileConfiguration> </File> <File RelativePath="..\..\nsdb\dbutil.c"> <FileConfiguration Name="Debug|Win32"> <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="_DEBUG;NSD_EXPORTS;WIN32;_WINDOWS;_MBCS;_USRDLL;NO_CONST=1;$(NoInherit)" BasicRuntimeChecks="3"/> </FileConfiguration> <FileConfiguration Name="Release|Win32"> <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="NDEBUG;NSD_EXPORTS;WIN32;_WINDOWS;_MBCS;_USRDLL;NO_CONST=1;$(NoInherit)"/> </FileConfiguration> </File> <File RelativePath="..\..\nsdb\nsdb.c"> <FileConfiguration Name="Debug|Win32"> <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="_DEBUG;NSD_EXPORTS;WIN32;_WINDOWS;_MBCS;_USRDLL;NO_CONST=1;$(NoInherit)" BasicRuntimeChecks="3"/> </FileConfiguration> <FileConfiguration Name="Release|Win32"> <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="NDEBUG;NSD_EXPORTS;WIN32;_WINDOWS;_MBCS;_USRDLL;NO_CONST=1;$(NoInherit)"/> </FileConfiguration> </File> </Filter> <Filter Name="Header Files" Filter="h;hpp;hxx;hm;inl"> <File RelativePath="..\..\nsdb\db.h"> </File> <File RelativePath="..\..\include\nsdb.h"> </File> </Filter> <Filter Name="Resource Files" Filter="ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"> </Filter> </Files> <Globals> </Globals> </VisualStudioProject> |
From: abe-t <it...@us...> - 2005-06-24 08:26:32
|
Update of /cvsroot/naviserver/naviserver/win32/nsthread In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv10991/win32/nsthread Added Files: nsthread.vcproj Log Message: Added Visual Studio 7 project for Windows --- NEW FILE: nsthread.vcproj --- <?xml version="1.0" encoding="Windows-1252"?> <VisualStudioProject ProjectType="Visual C++" Version="7.10" Name="nsthread" SccProjectName="" SccLocalPath=""> <Platforms> <Platform Name="Win32"/> </Platforms> <Configurations> <Configuration Name="Debug|Win32" OutputDirectory=".\Debug" IntermediateDirectory=".\Debug" ConfigurationType="2" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="FALSE" CharacterSet="2"> <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="..\..\include,..\..\tcl8.4\generic" PreprocessorDefinitions="_WINDOWS;_USRDLL;NSTHREAD_EXPORTS;TCL_THREADS=1;_DEBUG;WIN32;FD_SETSIZE=128;NO_CONST=1" BasicRuntimeChecks="3" RuntimeLibrary="1" UsePrecompiledHeader="2" PrecompiledHeaderFile=".\Debug/nsthread.pch" AssemblerListingLocation=".\Debug/" ObjectFile=".\Debug/" ProgramDataBaseFileName=".\Debug/" WarningLevel="3" SuppressStartupBanner="TRUE" DebugInformationFormat="4" CompileAs="0"/> <Tool Name="VCCustomBuildTool"/> <Tool Name="VCLinkerTool" AdditionalDependencies="tcl84tg.lib" OutputFile=".\Debug/nsthread.dll" LinkIncremental="1" SuppressStartupBanner="TRUE" AdditionalLibraryDirectories="..\..\tcl8.4\win\Debug" GenerateDebugInformation="TRUE" ProgramDatabaseFile=".\Debug/nsthread.pdb" ImportLibrary=".\Debug/nsthread.lib" TargetMachine="1"/> <Tool Name="VCMIDLTool" PreprocessorDefinitions="_DEBUG" MkTypLibCompatible="TRUE" SuppressStartupBanner="TRUE" TargetEnvironment="1" TypeLibraryName=".\Debug/nsthread.tlb" HeaderFileName=""/> <Tool Name="VCPostBuildEventTool" CommandLine="if not exist ..\debug mkdir ..\debug for %%m in (dll pdb) do copy debug\nsthread.%%m ..\debug\nsthread.%%m "/> <Tool Name="VCPreBuildEventTool"/> <Tool Name="VCPreLinkEventTool"/> <Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="_DEBUG" Culture="1033"/> <Tool Name="VCWebServiceProxyGeneratorTool"/> <Tool Name="VCXMLDataGeneratorTool"/> <Tool Name="VCWebDeploymentTool"/> <Tool Name="VCManagedWrapperGeneratorTool"/> <Tool Name="VCAuxiliaryManagedWrapperGeneratorTool"/> </Configuration> <Configuration Name="Release|Win32" OutputDirectory=".\Release" IntermediateDirectory=".\Release" ConfigurationType="2" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="FALSE" CharacterSet="2"> <Tool Name="VCCLCompilerTool" Optimization="2" InlineFunctionExpansion="1" AdditionalIncludeDirectories="..\..\include,..\..\tcl8.4\generic" PreprocessorDefinitions="_WINDOWS;_USRDLL;NSTHREAD_EXPORTS;TCL_THREADS=1;NDEBUG;WIN32;FD_SETSIZE=128;NO_CONST=1" StringPooling="TRUE" RuntimeLibrary="2" EnableFunctionLevelLinking="TRUE" UsePrecompiledHeader="2" PrecompiledHeaderFile=".\Release/nsthread.pch" AssemblerListingLocation=".\Release/" ObjectFile=".\Release/" ProgramDataBaseFileName=".\Release/" WarningLevel="3" SuppressStartupBanner="TRUE" CompileAs="0"/> <Tool Name="VCCustomBuildTool"/> <Tool Name="VCLinkerTool" AdditionalDependencies="tcl84t.lib" OutputFile=".\Release/nsthread.dll" LinkIncremental="1" SuppressStartupBanner="TRUE" AdditionalLibraryDirectories="..\..\tcl8.4\win\Release" ProgramDatabaseFile=".\Release/nsthread.pdb" ImportLibrary=".\Release/nsthread.lib" TargetMachine="1"/> <Tool Name="VCMIDLTool" PreprocessorDefinitions="NDEBUG" MkTypLibCompatible="TRUE" SuppressStartupBanner="TRUE" TargetEnvironment="1" TypeLibraryName=".\Release/nsthread.tlb" HeaderFileName=""/> <Tool Name="VCPostBuildEventTool" CommandLine="if not exist ..\release mkdir ..\release for %%m in (dll) do copy release\nsthread.%%m ..\release\nsthread.%%m for %%m in (dll) do copy ..\..\tcl8.4\win\Release\tcl84t.%%m ..\release\tcl84t.%%m for %%m in (exe) do copy ..\..\tcl8.4\win\Release\tclsh84t.%%m ..\release\tclsh84t.%%m "/> <Tool Name="VCPreBuildEventTool"/> <Tool Name="VCPreLinkEventTool"/> <Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="NDEBUG" Culture="1033"/> <Tool Name="VCWebServiceProxyGeneratorTool"/> <Tool Name="VCXMLDataGeneratorTool"/> <Tool Name="VCWebDeploymentTool"/> <Tool Name="VCManagedWrapperGeneratorTool"/> <Tool Name="VCAuxiliaryManagedWrapperGeneratorTool"/> </Configuration> </Configurations> <References> </References> <Files> <Filter Name="Source Files" Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"> <File RelativePath="..\..\nsthread\compat.c"> <FileConfiguration Name="Debug|Win32"> <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="_WINDOWS;_USRDLL;NSTHREAD_EXPORTS;TCL_THREADS=1;_DEBUG;WIN32;_MBCS;FD_SETSIZE=128;NO_CONST=1;$(NoInherit)" BasicRuntimeChecks="3"/> </FileConfiguration> <FileConfiguration Name="Release|Win32"> <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="_WINDOWS;_USRDLL;NSTHREAD_EXPORTS;TCL_THREADS=1;NDEBUG;WIN32;_MBCS;FD_SETSIZE=128;NO_CONST=1;$(NoInherit)"/> </FileConfiguration> </File> <File RelativePath="..\..\nsthread\cslock.c"> <FileConfiguration Name="Debug|Win32"> <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="_WINDOWS;_USRDLL;NSTHREAD_EXPORTS;TCL_THREADS=1;_DEBUG;WIN32;_MBCS;FD_SETSIZE=128;NO_CONST=1;$(NoInherit)" BasicRuntimeChecks="3"/> </FileConfiguration> <FileConfiguration Name="Release|Win32"> <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="_WINDOWS;_USRDLL;NSTHREAD_EXPORTS;TCL_THREADS=1;NDEBUG;WIN32;_MBCS;FD_SETSIZE=128;NO_CONST=1;$(NoInherit)"/> </FileConfiguration> </File> <File RelativePath="..\..\nsthread\error.c"> <FileConfiguration Name="Debug|Win32"> <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="_WINDOWS;_USRDLL;NSTHREAD_EXPORTS;TCL_THREADS=1;_DEBUG;WIN32;_MBCS;FD_SETSIZE=128;NO_CONST=1;$(NoInherit)" BasicRuntimeChecks="3"/> </FileConfiguration> <FileConfiguration Name="Release|Win32"> <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="_WINDOWS;_USRDLL;NSTHREAD_EXPORTS;TCL_THREADS=1;NDEBUG;WIN32;_MBCS;FD_SETSIZE=128;NO_CONST=1;$(NoInherit)"/> </FileConfiguration> </File> <File RelativePath="..\..\nsthread\master.c"> <FileConfiguration Name="Debug|Win32"> <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="_WINDOWS;_USRDLL;NSTHREAD_EXPORTS;TCL_THREADS=1;_DEBUG;WIN32;_MBCS;FD_SETSIZE=128;NO_CONST=1;$(NoInherit)" BasicRuntimeChecks="3"/> </FileConfiguration> <FileConfiguration Name="Release|Win32"> <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="_WINDOWS;_USRDLL;NSTHREAD_EXPORTS;TCL_THREADS=1;NDEBUG;WIN32;_MBCS;FD_SETSIZE=128;NO_CONST=1;$(NoInherit)"/> </FileConfiguration> </File> <File RelativePath="..\..\nsthread\memory.c"> <FileConfiguration Name="Debug|Win32"> <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="_WINDOWS;_USRDLL;NSTHREAD_EXPORTS;TCL_THREADS=1;_DEBUG;WIN32;_MBCS;FD_SETSIZE=128;NO_CONST=1;$(NoInherit)" BasicRuntimeChecks="3"/> </FileConfiguration> <FileConfiguration Name="Release|Win32"> <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="_WINDOWS;_USRDLL;NSTHREAD_EXPORTS;TCL_THREADS=1;NDEBUG;WIN32;_MBCS;FD_SETSIZE=128;NO_CONST=1;$(NoInherit)"/> </FileConfiguration> </File> <File RelativePath="..\..\nsthread\mutex.c"> <FileConfiguration Name="Debug|Win32"> <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="_WINDOWS;_USRDLL;NSTHREAD_EXPORTS;TCL_THREADS=1;_DEBUG;WIN32;_MBCS;FD_SETSIZE=128;NO_CONST=1;$(NoInherit)" BasicRuntimeChecks="3"/> </FileConfiguration> <FileConfiguration Name="Release|Win32"> <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="_WINDOWS;_USRDLL;NSTHREAD_EXPORTS;TCL_THREADS=1;NDEBUG;WIN32;_MBCS;FD_SETSIZE=128;NO_CONST=1;$(NoInherit)"/> </FileConfiguration> </File> <File RelativePath="..\..\nsthread\reentrant.c"> <FileConfiguration Name="Debug|Win32"> <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="_WINDOWS;_USRDLL;NSTHREAD_EXPORTS;TCL_THREADS=1;_DEBUG;WIN32;_MBCS;FD_SETSIZE=128;NO_CONST=1;$(NoInherit)" BasicRuntimeChecks="3"/> </FileConfiguration> <FileConfiguration Name="Release|Win32"> <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="_WINDOWS;_USRDLL;NSTHREAD_EXPORTS;TCL_THREADS=1;NDEBUG;WIN32;_MBCS;FD_SETSIZE=128;NO_CONST=1;$(NoInherit)"/> </FileConfiguration> </File> <File RelativePath="..\..\nsthread\rwlock.c"> <FileConfiguration Name="Debug|Win32"> <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="_WINDOWS;_USRDLL;NSTHREAD_EXPORTS;TCL_THREADS=1;_DEBUG;WIN32;_MBCS;FD_SETSIZE=128;NO_CONST=1;$(NoInherit)" BasicRuntimeChecks="3"/> </FileConfiguration> <FileConfiguration Name="Release|Win32"> <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="_WINDOWS;_USRDLL;NSTHREAD_EXPORTS;TCL_THREADS=1;NDEBUG;WIN32;_MBCS;FD_SETSIZE=128;NO_CONST=1;$(NoInherit)"/> </FileConfiguration> </File> <File RelativePath="..\..\nsthread\sema.c"> <FileConfiguration Name="Debug|Win32"> <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="_WINDOWS;_USRDLL;NSTHREAD_EXPORTS;TCL_THREADS=1;_DEBUG;WIN32;_MBCS;FD_SETSIZE=128;NO_CONST=1;$(NoInherit)" BasicRuntimeChecks="3"/> </FileConfiguration> <FileConfiguration Name="Release|Win32"> <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="_WINDOWS;_USRDLL;NSTHREAD_EXPORTS;TCL_THREADS=1;NDEBUG;WIN32;_MBCS;FD_SETSIZE=128;NO_CONST=1;$(NoInherit)"/> </FileConfiguration> </File> <File RelativePath="..\..\nsthread\thread.c"> <FileConfiguration Name="Debug|Win32"> <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="_WINDOWS;_USRDLL;NSTHREAD_EXPORTS;TCL_THREADS=1;_DEBUG;WIN32;_MBCS;FD_SETSIZE=128;NO_CONST=1;$(NoInherit)" BasicRuntimeChecks="3"/> </FileConfiguration> <FileConfiguration Name="Release|Win32"> <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="_WINDOWS;_USRDLL;NSTHREAD_EXPORTS;TCL_THREADS=1;NDEBUG;WIN32;_MBCS;FD_SETSIZE=128;NO_CONST=1;$(NoInherit)"/> </FileConfiguration> </File> <File RelativePath="..\..\nsthread\time.c"> <FileConfiguration Name="Debug|Win32"> <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="_WINDOWS;_USRDLL;NSTHREAD_EXPORTS;TCL_THREADS=1;_DEBUG;WIN32;_MBCS;FD_SETSIZE=128;NO_CONST=1;$(NoInherit)" BasicRuntimeChecks="3"/> </FileConfiguration> <FileConfiguration Name="Release|Win32"> <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="_WINDOWS;_USRDLL;NSTHREAD_EXPORTS;TCL_THREADS=1;NDEBUG;WIN32;_MBCS;FD_SETSIZE=128;NO_CONST=1;$(NoInherit)"/> </FileConfiguration> </File> <File RelativePath="..\..\nsthread\tls.c"> <FileConfiguration Name="Debug|Win32"> <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="_WINDOWS;_USRDLL;NSTHREAD_EXPORTS;TCL_THREADS=1;_DEBUG;WIN32;_MBCS;FD_SETSIZE=128;NO_CONST=1;$(NoInherit)" BasicRuntimeChecks="3"/> </FileConfiguration> <FileConfiguration Name="Release|Win32"> <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="_WINDOWS;_USRDLL;NSTHREAD_EXPORTS;TCL_THREADS=1;NDEBUG;WIN32;_MBCS;FD_SETSIZE=128;NO_CONST=1;$(NoInherit)"/> </FileConfiguration> </File> <File RelativePath="..\..\nsthread\winthread.c"> <FileConfiguration Name="Debug|Win32"> <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="_WINDOWS;_USRDLL;NSTHREAD_EXPORTS;TCL_THREADS=1;_DEBUG;WIN32;_MBCS;FD_SETSIZE=128;NO_CONST=1;$(NoInherit)" BasicRuntimeChecks="3"/> </FileConfiguration> <FileConfiguration Name="Release|Win32"> <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="_WINDOWS;_USRDLL;NSTHREAD_EXPORTS;TCL_THREADS=1;NDEBUG;WIN32;_MBCS;FD_SETSIZE=128;NO_CONST=1;$(NoInherit)"/> </FileConfiguration> </File> </Filter> <Filter Name="Header Files" Filter="h;hpp;hxx;hm;inl"> <File RelativePath="..\..\include\nsthread.h"> </File> </Filter> <Filter Name="Resource Files" Filter="ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"> </Filter> </Files> <Globals> </Globals> </VisualStudioProject> |
From: abe-t <it...@us...> - 2005-06-24 08:26:23
|
Update of /cvsroot/naviserver/naviserver/win32/main In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv10991/win32/main Added Files: main.vcproj Log Message: Added Visual Studio 7 project for Windows --- NEW FILE: main.vcproj --- <?xml version="1.0" encoding="Windows-1252"?> <VisualStudioProject ProjectType="Visual C++" Version="7.10" Name="main" SccProjectName="" SccLocalPath=""> <Platforms> <Platform Name="Win32"/> </Platforms> <Configurations> <Configuration Name="Debug|Win32" OutputDirectory=".\Debug" IntermediateDirectory=".\Debug" ConfigurationType="1" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="FALSE" CharacterSet="2"> <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="..\..\tcl8.4\generic,..\..\include" PreprocessorDefinitions="_CONSOLE;_DEBUG;WIN32;FD_SETSIZE=128;TCL_THREADS=1" BasicRuntimeChecks="3" RuntimeLibrary="1" UsePrecompiledHeader="2" PrecompiledHeaderFile=".\Debug/main.pch" AssemblerListingLocation=".\Debug/" ObjectFile=".\Debug/" ProgramDataBaseFileName=".\Debug/" BrowseInformation="1" BrowseInformationFile=".\Debug/" WarningLevel="3" SuppressStartupBanner="TRUE" DebugInformationFormat="4" CompileAs="0"/> <Tool Name="VCCustomBuildTool"/> <Tool Name="VCLinkerTool" AdditionalDependencies="nsd.lib" OutputFile=".\Debug/main.exe" LinkIncremental="1" SuppressStartupBanner="TRUE" AdditionalLibraryDirectories="..\nsd\debug" GenerateDebugInformation="TRUE" ProgramDatabaseFile=".\Debug/main.pdb" SubSystem="1" TargetMachine="1"/> <Tool Name="VCMIDLTool" TypeLibraryName=".\Debug/main.tlb" HeaderFileName=""/> <Tool Name="VCPostBuildEventTool" CommandLine="for %%m in (exe) do copy debug\main.%%m ..\debug\nsd.%%m"/> <Tool Name="VCPreBuildEventTool"/> <Tool Name="VCPreLinkEventTool"/> <Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="_DEBUG" Culture="1033"/> <Tool Name="VCWebServiceProxyGeneratorTool"/> <Tool Name="VCXMLDataGeneratorTool"/> <Tool Name="VCWebDeploymentTool"/> <Tool Name="VCManagedWrapperGeneratorTool"/> <Tool Name="VCAuxiliaryManagedWrapperGeneratorTool"/> </Configuration> <Configuration Name="Release|Win32" OutputDirectory=".\Release" IntermediateDirectory=".\Release" ConfigurationType="1" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="FALSE" CharacterSet="2"> <Tool Name="VCCLCompilerTool" Optimization="2" InlineFunctionExpansion="1" AdditionalIncludeDirectories="..\..\tcl8.4\generic,..\..\include" PreprocessorDefinitions="_CONSOLE;NDEBUG;WIN32;FD_SETSIZE=128;TCL_THREADS=1" StringPooling="TRUE" RuntimeLibrary="2" EnableFunctionLevelLinking="TRUE" UsePrecompiledHeader="2" PrecompiledHeaderFile=".\Release/main.pch" AssemblerListingLocation=".\Release/" ObjectFile=".\Release/" ProgramDataBaseFileName=".\Release/" WarningLevel="3" SuppressStartupBanner="TRUE" DebugInformationFormat="3" CompileAs="0"/> <Tool Name="VCCustomBuildTool"/> <Tool Name="VCLinkerTool" AdditionalDependencies="nsd.lib" OutputFile=".\Release/main.exe" LinkIncremental="1" SuppressStartupBanner="TRUE" AdditionalLibraryDirectories="..\nsd\release" GenerateDebugInformation="TRUE" ProgramDatabaseFile=".\Release/main.pdb" SubSystem="1" OptimizeReferences="2" TargetMachine="1"/> <Tool Name="VCMIDLTool" TypeLibraryName=".\Release/main.tlb" HeaderFileName=""/> <Tool Name="VCPostBuildEventTool" CommandLine="for %%m in (exe) do copy release\main.%%m ..\release\nsd.%%m"/> <Tool Name="VCPreBuildEventTool"/> <Tool Name="VCPreLinkEventTool"/> <Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="NDEBUG" Culture="1033"/> <Tool Name="VCWebServiceProxyGeneratorTool"/> <Tool Name="VCXMLDataGeneratorTool"/> <Tool Name="VCWebDeploymentTool"/> <Tool Name="VCManagedWrapperGeneratorTool"/> <Tool Name="VCAuxiliaryManagedWrapperGeneratorTool"/> </Configuration> </Configurations> <References> </References> <Files> <Filter Name="Source Files" Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"> <File RelativePath="..\..\nsd\main.c"> <FileConfiguration Name="Debug|Win32"> <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="" BasicRuntimeChecks="3" BrowseInformation="1"/> </FileConfiguration> <FileConfiguration Name="Release|Win32"> <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions=""/> </FileConfiguration> </File> </Filter> <Filter Name="Header Files" Filter="h;hpp;hxx;hm;inl"> </Filter> <Filter Name="Resource Files" Filter="ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"> </Filter> </Files> <Globals> </Globals> </VisualStudioProject> |
From: abe-t <it...@us...> - 2005-06-24 08:26:23
|
Update of /cvsroot/naviserver/naviserver/win32/nscgi In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv10991/win32/nscgi Added Files: nscgi.vcproj Log Message: Added Visual Studio 7 project for Windows --- NEW FILE: nscgi.vcproj --- <?xml version="1.0" encoding="Windows-1252"?> <VisualStudioProject ProjectType="Visual C++" Version="7.10" Name="nscgi" SccProjectName="" SccLocalPath=""> <Platforms> <Platform Name="Win32"/> </Platforms> <Configurations> <Configuration Name="Debug|Win32" OutputDirectory=".\Debug" IntermediateDirectory=".\Debug" ConfigurationType="2" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="FALSE" CharacterSet="2"> <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="..\..\tcl8.4\generic,..\..\include" PreprocessorDefinitions="_DEBUG;_WINDOWS;_USRDLL;WIN32;FD_SETSIZE=128;TCL_THREADS=1;NO_CONST=1" BasicRuntimeChecks="3" RuntimeLibrary="1" UsePrecompiledHeader="2" PrecompiledHeaderFile=".\Debug/nscgi.pch" AssemblerListingLocation=".\Debug/" ObjectFile=".\Debug/" ProgramDataBaseFileName=".\Debug/" WarningLevel="3" SuppressStartupBanner="TRUE" DebugInformationFormat="4" CompileAs="0"/> <Tool Name="VCCustomBuildTool"/> <Tool Name="VCLinkerTool" AdditionalOptions="/export:Ns_ModuleVersion,data /export:Ns_ModuleInit " AdditionalDependencies="tcl84tg.lib nsd.lib nsthread.lib ws2_32.lib" OutputFile=".\Debug/nscgi.dll" LinkIncremental="1" SuppressStartupBanner="TRUE" AdditionalLibraryDirectories="..\..\tcl8.4\win\Debug,..\nsd\debug,..\nsthread\debug" GenerateDebugInformation="TRUE" ProgramDatabaseFile=".\Debug/nscgi.pdb" ImportLibrary=".\Debug/nscgi.lib" TargetMachine="1"/> <Tool Name="VCMIDLTool" PreprocessorDefinitions="_DEBUG" MkTypLibCompatible="TRUE" SuppressStartupBanner="TRUE" TargetEnvironment="1" TypeLibraryName=".\Debug/nscgi.tlb" HeaderFileName=""/> <Tool Name="VCPostBuildEventTool" CommandLine="for %%m in (dll pdb) do copy debug\nscgi.%%m ..\debug\nscgi.%%m"/> <Tool Name="VCPreBuildEventTool"/> <Tool Name="VCPreLinkEventTool"/> <Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="_DEBUG" Culture="1033"/> <Tool Name="VCWebServiceProxyGeneratorTool"/> <Tool Name="VCXMLDataGeneratorTool"/> <Tool Name="VCWebDeploymentTool"/> <Tool Name="VCManagedWrapperGeneratorTool"/> <Tool Name="VCAuxiliaryManagedWrapperGeneratorTool"/> </Configuration> <Configuration Name="Release|Win32" OutputDirectory=".\Release" IntermediateDirectory=".\Release" ConfigurationType="2" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="FALSE" CharacterSet="2"> <Tool Name="VCCLCompilerTool" Optimization="2" InlineFunctionExpansion="1" AdditionalIncludeDirectories="..\..\tcl8.4\generic,..\..\include" PreprocessorDefinitions="NDEBUG;_WINDOWS;_USRDLL;WIN32;FD_SETSIZE=128;TCL_THREADS=1;NO_CONST=1" StringPooling="TRUE" RuntimeLibrary="2" EnableFunctionLevelLinking="TRUE" UsePrecompiledHeader="2" PrecompiledHeaderFile=".\Release/nscgi.pch" AssemblerListingLocation=".\Release/" ObjectFile=".\Release/" ProgramDataBaseFileName=".\Release/" WarningLevel="3" SuppressStartupBanner="TRUE" DebugInformationFormat="3" CompileAs="0"/> <Tool Name="VCCustomBuildTool"/> <Tool Name="VCLinkerTool" AdditionalOptions="/export:Ns_ModuleVersion,data /export: /export:Ns_ModuleInit " AdditionalDependencies="tcl84t.lib nsd.lib nsthread.lib ws2_32.lib" OutputFile=".\Release/nscgi.dll" LinkIncremental="1" SuppressStartupBanner="TRUE" AdditionalLibraryDirectories="..\..\tcl8.4\win\Release,..\nsd\release,..\nsthread\release" GenerateDebugInformation="TRUE" ProgramDatabaseFile=".\Release/nscgi.pdb" OptimizeReferences="2" ImportLibrary=".\Release/nscgi.lib" TargetMachine="1"/> <Tool Name="VCMIDLTool" PreprocessorDefinitions="NDEBUG" MkTypLibCompatible="TRUE" SuppressStartupBanner="TRUE" TargetEnvironment="1" TypeLibraryName=".\Release/nscgi.tlb" HeaderFileName=""/> <Tool Name="VCPostBuildEventTool" CommandLine="for %%m in (dll) do copy release\nscgi.%%m ..\release\nscgi.%%m"/> <Tool Name="VCPreBuildEventTool"/> <Tool Name="VCPreLinkEventTool"/> <Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="NDEBUG" Culture="1033"/> <Tool Name="VCWebServiceProxyGeneratorTool"/> <Tool Name="VCXMLDataGeneratorTool"/> <Tool Name="VCWebDeploymentTool"/> <Tool Name="VCManagedWrapperGeneratorTool"/> <Tool Name="VCAuxiliaryManagedWrapperGeneratorTool"/> </Configuration> </Configurations> <References> </References> <Files> <Filter Name="Source Files" Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"> <File RelativePath="..\..\nscgi\nscgi.c"> <FileConfiguration Name="Debug|Win32"> <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="_DEBUG;_WINDOWS;_USRDLL;WIN32;_MBCS;FD_SETSIZE=128;TCL_THREADS=1;NO_CONST=1;$(NoInherit)" BasicRuntimeChecks="3"/> </FileConfiguration> <FileConfiguration Name="Release|Win32"> <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="NDEBUG;_WINDOWS;_USRDLL;WIN32;_MBCS;FD_SETSIZE=128;TCL_THREADS=1;NO_CONST=1;$(NoInherit)"/> </FileConfiguration> </File> </Filter> <Filter Name="Header Files" Filter="h;hpp;hxx;hm;inl"> </Filter> <Filter Name="Resource Files" Filter="ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"> </Filter> </Files> <Globals> </Globals> </VisualStudioProject> |
From: abe-t <it...@us...> - 2005-06-24 08:26:23
|
Update of /cvsroot/naviserver/naviserver/win32/nscp In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv10991/win32/nscp Added Files: nscp.vcproj Log Message: Added Visual Studio 7 project for Windows --- NEW FILE: nscp.vcproj --- <?xml version="1.0" encoding="Windows-1252"?> <VisualStudioProject ProjectType="Visual C++" Version="7.10" Name="nscp" SccProjectName="" SccLocalPath=""> <Platforms> <Platform Name="Win32"/> </Platforms> <Configurations> <Configuration Name="Release|Win32" OutputDirectory=".\Release" IntermediateDirectory=".\Release" ConfigurationType="2" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="FALSE" CharacterSet="2"> <Tool Name="VCCLCompilerTool" Optimization="2" InlineFunctionExpansion="1" AdditionalIncludeDirectories="..\..\tcl8.4\generic,..\..\include" PreprocessorDefinitions="NDEBUG;_WINDOWS;_USRDLL;WIN32;FD_SETSIZE=128;TCL_THREADS=1;NO_CONST=1" StringPooling="TRUE" RuntimeLibrary="2" EnableFunctionLevelLinking="TRUE" UsePrecompiledHeader="2" PrecompiledHeaderFile=".\Release/nscp.pch" AssemblerListingLocation=".\Release/" ObjectFile=".\Release/" ProgramDataBaseFileName=".\Release/" WarningLevel="3" SuppressStartupBanner="TRUE" DebugInformationFormat="3" CompileAs="0"/> <Tool Name="VCCustomBuildTool"/> <Tool Name="VCLinkerTool" AdditionalOptions="/export:Ns_ModuleVersion,data /export: /export:Ns_ModuleInit " AdditionalDependencies="tcl84t.lib nsd.lib nsthread.lib ws2_32.lib" OutputFile=".\Release/nscp.dll" LinkIncremental="1" SuppressStartupBanner="TRUE" AdditionalLibraryDirectories="..\..\tcl8.4\win\Release,..\nsd\release,..\nsthread\release" GenerateDebugInformation="TRUE" ProgramDatabaseFile=".\Release/nscp.pdb" OptimizeReferences="2" ImportLibrary=".\Release/nscp.lib" TargetMachine="1"/> <Tool Name="VCMIDLTool" PreprocessorDefinitions="NDEBUG" MkTypLibCompatible="TRUE" SuppressStartupBanner="TRUE" TargetEnvironment="1" TypeLibraryName=".\Release/nscp.tlb" HeaderFileName=""/> <Tool Name="VCPostBuildEventTool" CommandLine="for %%m in (dll) do copy release\nscp.%%m ..\release\nscp.%%m"/> <Tool Name="VCPreBuildEventTool"/> <Tool Name="VCPreLinkEventTool"/> <Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="NDEBUG" Culture="1033"/> <Tool Name="VCWebServiceProxyGeneratorTool"/> <Tool Name="VCXMLDataGeneratorTool"/> <Tool Name="VCWebDeploymentTool"/> <Tool Name="VCManagedWrapperGeneratorTool"/> <Tool Name="VCAuxiliaryManagedWrapperGeneratorTool"/> </Configuration> <Configuration Name="Debug|Win32" OutputDirectory=".\Debug" IntermediateDirectory=".\Debug" ConfigurationType="2" UseOfMFC="0" ATLMinimizesCRunTimeLibraryUsage="FALSE" CharacterSet="2"> <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="..\..\tcl8.4\generic,..\..\include" PreprocessorDefinitions="_DEBUG;_WINDOWS;_USRDLL;WIN32;FD_SETSIZE=128;TCL_THREADS=1;NO_CONST=1" BasicRuntimeChecks="3" RuntimeLibrary="1" UsePrecompiledHeader="2" PrecompiledHeaderFile=".\Debug/nscp.pch" AssemblerListingLocation=".\Debug/" ObjectFile=".\Debug/" ProgramDataBaseFileName=".\Debug/" WarningLevel="3" SuppressStartupBanner="TRUE" DebugInformationFormat="4" CompileAs="0"/> <Tool Name="VCCustomBuildTool"/> <Tool Name="VCLinkerTool" AdditionalOptions="/export:Ns_ModuleVersion,data /export:Ns_ModuleInit " AdditionalDependencies="tcl84tg.lib nsd.lib nsthread.lib ws2_32.lib" OutputFile=".\Debug/nscp.dll" LinkIncremental="1" SuppressStartupBanner="TRUE" AdditionalLibraryDirectories="..\..\tcl8.4\win\Debug,..\nsd\debug,..\nsthread\debug" GenerateDebugInformation="TRUE" ProgramDatabaseFile=".\Debug/nscp.pdb" ImportLibrary=".\Debug/nscp.lib" TargetMachine="1"/> <Tool Name="VCMIDLTool" PreprocessorDefinitions="_DEBUG" MkTypLibCompatible="TRUE" SuppressStartupBanner="TRUE" TargetEnvironment="1" TypeLibraryName=".\Debug/nscp.tlb" HeaderFileName=""/> <Tool Name="VCPostBuildEventTool" CommandLine="for %%m in (dll pdb) do copy debug\nscp.%%m ..\debug\nscp.%%m"/> <Tool Name="VCPreBuildEventTool"/> <Tool Name="VCPreLinkEventTool"/> <Tool Name="VCResourceCompilerTool" PreprocessorDefinitions="_DEBUG" Culture="1033"/> <Tool Name="VCWebServiceProxyGeneratorTool"/> <Tool Name="VCXMLDataGeneratorTool"/> <Tool Name="VCWebDeploymentTool"/> <Tool Name="VCManagedWrapperGeneratorTool"/> <Tool Name="VCAuxiliaryManagedWrapperGeneratorTool"/> </Configuration> </Configurations> <References> </References> <Files> <Filter Name="Source Files" Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"> <File RelativePath="..\..\nscp\nscp.c"> <FileConfiguration Name="Release|Win32"> <Tool Name="VCCLCompilerTool" Optimization="2" AdditionalIncludeDirectories="" PreprocessorDefinitions="NDEBUG;_WINDOWS;_USRDLL;WIN32;_MBCS;FD_SETSIZE=128;TCL_THREADS=1;NO_CONST=1;$(NoInherit)"/> </FileConfiguration> <FileConfiguration Name="Debug|Win32"> <Tool Name="VCCLCompilerTool" Optimization="0" AdditionalIncludeDirectories="" PreprocessorDefinitions="_DEBUG;_WINDOWS;_USRDLL;WIN32;_MBCS;FD_SETSIZE=128;TCL_THREADS=1;NO_CONST=1;$(NoInherit)" BasicRuntimeChecks="3"/> </FileConfiguration> </File> </Filter> <Filter Name="Header Files" Filter="h;hpp;hxx;hm;inl"> </Filter> <Filter Name="Resource Files" Filter="ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"> </Filter> </Files> <Globals> </Globals> </VisualStudioProject> |
From: abe-t <it...@us...> - 2005-06-24 08:07:50
|
Update of /cvsroot/naviserver/naviserver/nsd In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv3143/naviserver/nsd Modified Files: tclset.c Log Message: Changed banner from AOL to Mozilla Public License Index: tclset.c =================================================================== RCS file: /cvsroot/naviserver/naviserver/nsd/tclset.c,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** tclset.c 10 Jun 2005 17:58:40 -0000 1.3 --- tclset.c 24 Jun 2005 08:07:25 -0000 1.4 *************** *** 1,7 **** /* ! * The contents of this file are subject to the AOLserver Public License * Version 1.1 (the "License"); you may not use this file except in * compliance with the License. You may obtain a copy of the License at ! * http://aolserver.com/. * * Software distributed under the License is distributed on an "AS IS" --- 1,7 ---- /* ! * The contents of this file are subject to the Mozilla Public License * Version 1.1 (the "License"); you may not use this file except in * compliance with the License. You may obtain a copy of the License at ! * http://mozilla.org/. * * Software distributed under the License is distributed on an "AS IS" |
From: Vlad S. <ser...@us...> - 2005-06-24 00:52:14
|
Update of /cvsroot/naviserver/modules/nsdns In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv16595 Modified Files: dns.c Log Message: Index: dns.c =================================================================== RCS file: /cvsroot/naviserver/modules/nsdns/dns.c,v retrieving revision 1.10 retrieving revision 1.11 diff -C2 -d -r1.10 -r1.11 *** dns.c 24 Jun 2005 00:37:39 -0000 1.10 --- dns.c 24 Jun 2005 00:52:01 -0000 1.11 *************** *** 483,487 **** y->type = DNS_TYPE_NAPTR; y->class = DNS_CLASS_INET; ! y->data.naptr = ns_calloc(1,sizeof(dnsMX)); y->data.naptr->order = order; y->data.naptr->preference = preference; --- 483,487 ---- y->type = DNS_TYPE_NAPTR; y->class = DNS_CLASS_INET; ! y->data.naptr = ns_calloc(1,sizeof(dnsNAPTR)); y->data.naptr->order = order; y->data.naptr->preference = preference; |
From: Vlad S. <ser...@us...> - 2005-06-24 00:37:55
|
Update of /cvsroot/naviserver/modules/nsdns In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv8679 Modified Files: dns.c dns.h nsdns.c Log Message: naptr wildcards regexp Index: nsdns.c =================================================================== RCS file: /cvsroot/naviserver/modules/nsdns/nsdns.c,v retrieving revision 1.14 retrieving revision 1.15 diff -C2 -d -r1.14 -r1.15 *** nsdns.c 23 Jun 2005 02:06:02 -0000 1.14 --- nsdns.c 24 Jun 2005 00:37:39 -0000 1.15 *************** *** 134,137 **** --- 134,138 ---- address = Ns_ConfigGet(path,"address"); + if(!Ns_ConfigGetInt(path,"flags",&dnsFlags)) dnsFlags = 0; if(!Ns_ConfigGetInt(path,"debug",&dnsDebug)) dnsDebug = 0; if(!Ns_ConfigGetInt(path,"port",&dnsPort)) dnsPort = 5353; *************** *** 334,337 **** --- 335,339 ---- return TCL_ERROR; } + dnsRecordUpdate(drec); dnsRecordCache(client, &drec); break; *************** *** 864,872 **** dnsRequestHandle(dnsRequest *req) { - char *ptr; int nsize; ! Tcl_HashEntry *hrec = 0; ! dnsRecord *qrec,*qcache,*qstart,*qend; unsigned long now = time(0); dnsPacketLog(req->req,1,"Received request from client=%s",req->client->ipaddr); --- 866,874 ---- dnsRequestHandle(dnsRequest *req) { int nsize; ! char *ptr,*str; unsigned long now = time(0); + Tcl_HashEntry *nrec, *hrec = 0; + dnsRecord *qrec,*qcache,*ncache,*qstart,*qend; dnsPacketLog(req->req,1,"Received request from client=%s",req->client->ipaddr); *************** *** 877,885 **** for(qrec = req->req->qdlist;qrec;qrec = qrec->next) { if(!qrec->name) continue; switch(qrec->type) { case DNS_TYPE_NAPTR: // Calc how many dots we have in the name ptr = qrec->name; - nsize = qrec->nsize; while(*ptr) { // Search only those names that we have in cache --- 879,887 ---- for(qrec = req->req->qdlist;qrec;qrec = qrec->next) { if(!qrec->name) continue; + nsize = qrec->nsize; switch(qrec->type) { case DNS_TYPE_NAPTR: // Calc how many dots we have in the name ptr = qrec->name; while(*ptr) { // Search only those names that we have in cache *************** *** 933,939 **** } switch(qcache->type) { ! case DNS_TYPE_NS: { ! dnsRecord *ncache; ! Tcl_HashEntry *nrec; if(qrec->type == DNS_TYPE_NS) dnsPacketAddRecord(req->reply,&req->reply->anlist,&req->reply->ancount,dnsRecordCreate(qcache)); --- 935,939 ---- } switch(qcache->type) { ! case DNS_TYPE_NS: if(qrec->type == DNS_TYPE_NS) dnsPacketAddRecord(req->reply,&req->reply->anlist,&req->reply->ancount,dnsRecordCreate(qcache)); *************** *** 947,951 **** } break; ! } default: dnsPacketAddRecord(req->reply,&req->reply->anlist,&req->reply->ancount,dnsRecordCreate(qcache)); --- 947,977 ---- } break; ! ! case DNS_TYPE_NAPTR: ! // If we found record using wildcard, we have to replace ! // shorter phone in the regexp with requested from the query ! if(dnsFlags & DNS_NAPTR_REGEXP && ! nsize < qrec->nsize && ! qcache->data.naptr->regexp_p1) { ! // Create record without regexp, we will build it manually ! ptr = qcache->data.naptr->regexp; ! qcache->data.naptr->regexp = 0; ! ncache = dnsRecordCreate(qcache); ! qcache->data.naptr->regexp = ptr; ! // Build regexp from 3 parts ! ncache->data.naptr->regexp = str = ns_malloc(qrec->nsize+strlen(ptr)+1); ! // Before phone ! for(ptr = qcache->data.naptr->regexp;ptr <= qcache->data.naptr->regexp_p1;) *str++ = *ptr++; ! // Phone itself ! for(ptr = &qrec->name[qrec->nsize-1];ptr >= qrec->name;ptr--) { ! if(isdigit(*ptr) && (ptr == qrec->name || *(ptr-1) == '.')) *str++ = *ptr; ! } ! // After phone ! for(ptr = qcache->data.naptr->regexp_p2;*ptr;) *str++ = *ptr++; ! *str = 0; ! dnsPacketAddRecord(req->reply,&req->reply->anlist,&req->reply->ancount,ncache); ! break; ! } ! default: dnsPacketAddRecord(req->reply,&req->reply->anlist,&req->reply->ancount,dnsRecordCreate(qcache)); Index: dns.c =================================================================== RCS file: /cvsroot/naviserver/modules/nsdns/dns.c,v retrieving revision 1.9 retrieving revision 1.10 diff -C2 -d -r1.9 -r1.10 *** dns.c 23 Jun 2005 02:06:02 -0000 1.9 --- dns.c 24 Jun 2005 00:37:39 -0000 1.10 *************** *** 40,43 **** --- 40,44 ---- int dnsDebug = 0; int dnsTTL = 86400; + int dnsFlags = 0; static Ns_Mutex dnsMutex; *************** *** 390,393 **** --- 391,395 ---- break; } + dnsRecordUpdate(rec); } return rec; *************** *** 567,570 **** --- 569,590 ---- } + void + dnsRecordUpdate(dnsRecord *rec) + { + switch(rec->type) { + case DNS_TYPE_NAPTR: + // Save pointer in the regexp where phone number should be + // placed for quick replace later + if(!(dnsFlags & DNS_NAPTR_REGEXP && rec->data.naptr->regexp)) break; + if((rec->data.naptr->regexp_p2 = strchr(rec->data.naptr->regexp,'@'))) { + for(rec->data.naptr->regexp_p1 = rec->data.naptr->regexp_p2; + rec->data.naptr->regexp_p1 > rec->data.naptr->regexp && + *rec->data.naptr->regexp_p1 != ':'; + rec->data.naptr->regexp_p1--); + } + break; + } + } + dnsRecord * dnsRecordAppend(dnsRecord **list,dnsRecord *pkt) Index: dns.h =================================================================== RCS file: /cvsroot/naviserver/modules/nsdns/dns.h,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** dns.h 23 Jun 2005 02:06:02 -0000 1.8 --- dns.h 24 Jun 2005 00:37:39 -0000 1.9 *************** *** 29,32 **** --- 29,33 ---- #define DNS_TCP 0x0001 #define DNS_PROXY 0x0002 + #define DNS_NAPTR_REGEXP 0x0004 // DNS record types *************** *** 114,117 **** --- 115,120 ---- char *service; char *regexp; + char *regexp_p1; + char *regexp_p2; char *replace; } dnsNAPTR; *************** *** 158,161 **** --- 161,165 ---- extern int dnsDebug; + extern int dnsFlags; extern int dnsTTL; *************** *** 179,182 **** --- 183,187 ---- char *service,char *regexp,char *replace); Tcl_Obj *dnsRecordCreateTclObj(Tcl_Interp *interp,dnsRecord *drec); + void dnsRecordUpdate(dnsRecord *rec); dnsRecord *dnsRecordAppend(dnsRecord **list,dnsRecord *pkt); dnsRecord *dnsRecordRemove(dnsRecord **list,dnsRecord *link); |
From: abe-t <it...@us...> - 2005-06-23 14:20:16
|
Update of /cvsroot/naviserver/naviserver/nsd In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv25512 Modified Files: set.c Log Message: Changed AOLserver to Mozilla wording in the license header. Index: set.c =================================================================== RCS file: /cvsroot/naviserver/naviserver/nsd/set.c,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** set.c 10 Jun 2005 20:53:13 -0000 1.3 --- set.c 23 Jun 2005 14:20:04 -0000 1.4 *************** *** 1,7 **** /* ! * The contents of this file are subject to the AOLserver Public License * Version 1.1 (the "License"); you may not use this file except in * compliance with the License. You may obtain a copy of the License at ! * http://aolserver.com/. * * Software distributed under the License is distributed on an "AS IS" --- 1,7 ---- /* ! * The contents of this file are subject to the Mozilla Public License * Version 1.1 (the "License"); you may not use this file except in * compliance with the License. You may obtain a copy of the License at ! * http://mozilla.org/. * * Software distributed under the License is distributed on an "AS IS" |
From: Vlad S. <ser...@us...> - 2005-06-23 02:06:11
|
Update of /cvsroot/naviserver/modules/nsdns In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv11949 Modified Files: ChangeLog dns.c dns.h nsdns.c Log Message: Index: nsdns.c =================================================================== RCS file: /cvsroot/naviserver/modules/nsdns/nsdns.c,v retrieving revision 1.13 retrieving revision 1.14 diff -C2 -d -r1.13 -r1.14 *** nsdns.c 21 Jun 2005 20:18:51 -0000 1.13 --- nsdns.c 23 Jun 2005 02:06:02 -0000 1.14 *************** *** 32,35 **** --- 32,37 ---- Tcl_HashTable list; struct _dnsClient *link; + unsigned long rcount; + unsigned short rstats[256]; } dnsClient; *************** *** 241,250 **** enum commands { cmdAdd, cmdDel, cmdFlush, cmdList, cmdResolve, cmdQueue, cmdLookup, cmdStat, cmdFind, ! cmdClientAdd, cmdClientDel, cmdClientList, cmdClientLink, cmdClientFind }; static const char *sCmd[] = { "add", "del", "flush", "list", "resolve", "queue", "lookup", "stat", "find", ! "clientadd", "clientdel", "clientlist", "clientlink", "clientfind", 0 }; int i,cmd; --- 243,252 ---- enum commands { cmdAdd, cmdDel, cmdFlush, cmdList, cmdResolve, cmdQueue, cmdLookup, cmdStat, cmdFind, ! cmdClientAdd, cmdClientDel, cmdClientList, cmdClientLink, cmdClientFind, cmdClientStats }; static const char *sCmd[] = { "add", "del", "flush", "list", "resolve", "queue", "lookup", "stat", "find", ! "clientadd", "clientdel", "clientlist", "clientlink", "clientfind", "clientstats", 0 }; int i,cmd; *************** *** 352,356 **** } Ns_RWLockWrLock(&client->lock); ! if((hrec = Tcl_FindHashEntry(&client->list,Tcl_GetString(objv[argp])))) { int type = dnsType(Tcl_GetString(objv[argp+1])); dnsRecord *list = drec = Tcl_GetHashValue(hrec); --- 354,358 ---- } Ns_RWLockWrLock(&client->lock); ! if((hrec = Tcl_FindHashEntry(&client->list,Tcl_GetStringFromObj(objv[argp],&i)))) { int type = dnsType(Tcl_GetString(objv[argp+1])); dnsRecord *list = drec = Tcl_GetHashValue(hrec); *************** *** 367,370 **** --- 369,375 ---- drec = drec->next; } + // Update rstats + if(i < sizeof(client->rstats)) client->rstats[i]--; + client->rcount--; } Ns_RWLockUnlock(&client->lock); *************** *** 394,397 **** --- 399,422 ---- break; + case cmdClientStats: { + char *ptr,*stats; + Ns_RWLockWrLock(&dnsClientLock); + hrec = Tcl_FirstHashEntry(&dnsClientList,&search); + while(hrec) { + client = Tcl_GetHashValue(hrec); + stats = Tcl_HashStats(&client->list); + addr.s_addr = (unsigned long)Tcl_GetHashKey(&dnsClientList, hrec); + Tcl_AppendElement(interp, ns_inet_ntoa(addr)); + sprintf(tmp, "%lu", client->rcount); + Tcl_AppendElement(interp, tmp); + for(ptr = stats;*ptr;ptr++) if(*ptr == '\n') *ptr = ','; + Tcl_AppendElement(interp, stats); + hrec = Tcl_NextHashEntry(&search); + Tcl_Free(stats); + } + Ns_RWLockUnlock(&dnsClientLock); + break; + } + case cmdClientList: Ns_RWLockWrLock(&dnsClientLock); *************** *** 434,437 **** --- 459,464 ---- hrec = Tcl_NextHashEntry(&search); } + client->rcount = 0; + memset(client->rstats,0,sizeof(client->rstats)); Ns_RWLockUnlock(&client->lock); break; *************** *** 562,567 **** dnsQueue *queue; dnsRequest *req; - unsigned long rt,wt; struct timeval end_time; queue = (dnsQueue*)arg; --- 589,594 ---- dnsQueue *queue; dnsRequest *req; struct timeval end_time; + unsigned long rt,wt; queue = (dnsQueue*)arg; *************** *** 585,588 **** --- 612,616 ---- queue->size--; Ns_MutexUnlock(&queue->lock); + rt = wt = 0; gettimeofday(&req->start_time,0); req->sock = dnsUdpSock; *************** *** 601,611 **** dnsPacketFree(req->req,3); dnsPacketFree(req->reply,4); break; } } - // Update statistics, in milliseconds - gettimeofday(&end_time,0); - rt = (end_time.tv_sec - req->start_time.tv_sec)*1000 + (end_time.tv_usec - req->start_time.tv_usec)/1000; - wt = (req->start_time.tv_sec - req->recv_time.tv_sec)*1000 + (req->start_time.tv_usec - req->recv_time.tv_usec)/1000; Ns_MutexLock(&queue->lock); // Put request structure back if not handled by proxy --- 629,639 ---- dnsPacketFree(req->req,3); dnsPacketFree(req->reply,4); + // Update statistics, in milliseconds + gettimeofday(&end_time,0); + rt = (end_time.tv_sec - req->start_time.tv_sec)*1000 + (end_time.tv_usec - req->start_time.tv_usec)/1000; + wt = (req->start_time.tv_sec - req->recv_time.tv_sec)*1000 + (req->start_time.tv_usec - req->recv_time.tv_usec)/1000; break; } } Ns_MutexLock(&queue->lock); // Put request structure back if not handled by proxy *************** *** 836,841 **** dnsRequestHandle(dnsRequest *req) { ! char *dot,domain[255]; ! Tcl_HashEntry *hrec; dnsRecord *qrec,*qcache,*qstart,*qend; unsigned long now = time(0); --- 864,870 ---- dnsRequestHandle(dnsRequest *req) { ! char *ptr; ! int nsize; ! Tcl_HashEntry *hrec = 0; dnsRecord *qrec,*qcache,*qstart,*qend; unsigned long now = time(0); *************** *** 848,858 **** for(qrec = req->req->qdlist;qrec;qrec = qrec->next) { if(!qrec->name) continue; ! if(!(hrec = Tcl_FindHashEntry(&req->client->list,qrec->name))) { ! snprintf(domain,sizeof(domain)-1,"*.%s",qrec->name); ! if(!(hrec = Tcl_FindHashEntry(&req->client->list,domain))) { ! if(!(dot = strchr(qrec->name,'.'))) continue; ! snprintf(domain,sizeof(domain)-1,"*%s",dot); ! if(!(hrec = Tcl_FindHashEntry(&req->client->list,domain))) continue; ! } } if(!(qcache = Tcl_GetHashValue(hrec))) continue; --- 877,907 ---- for(qrec = req->req->qdlist;qrec;qrec = qrec->next) { if(!qrec->name) continue; ! switch(qrec->type) { ! case DNS_TYPE_NAPTR: ! // Calc how many dots we have in the name ! ptr = qrec->name; ! nsize = qrec->nsize; ! while(*ptr) { ! // Search only those names that we have in cache ! if(nsize > sizeof(req->client->rstats) || req->client->rstats[nsize]) { ! if((hrec = Tcl_FindHashEntry(&req->client->list,ptr))) break; ! } ! for(;*ptr && *ptr != '.';ptr++,nsize--); ! if(*ptr == '.') ptr++,nsize--; ! } ! if(!hrec) continue; ! break; ! ! default: ! // Exact and wildcard search ! if(!(hrec = Tcl_FindHashEntry(&req->client->list,qrec->name))) { ! char domain[255]; ! snprintf(domain,sizeof(domain)-1,"*.%s",qrec->name); ! if(!(hrec = Tcl_FindHashEntry(&req->client->list,domain))) { ! if(!(ptr = strchr(qrec->name,'.'))) continue; ! snprintf(domain,sizeof(domain)-1,"*%s",ptr); ! if(!(hrec = Tcl_FindHashEntry(&req->client->list,domain))) continue; ! } ! } } if(!(qcache = Tcl_GetHashValue(hrec))) continue; *************** *** 975,979 **** dnsRecordCache(dnsClient *client, dnsRecord **list) { ! int new; dnsRecord *drec,*hlist; Tcl_HashEntry *hrec; --- 1024,1028 ---- dnsRecordCache(dnsClient *client, dnsRecord **list) { ! int flag; dnsRecord *drec,*hlist; Tcl_HashEntry *hrec; *************** *** 986,992 **** drec->next = drec->prev = 0; Ns_RWLockWrLock(&client->lock); ! hrec = Tcl_CreateHashEntry(&client->list,drec->name,&new); ! if(new) { Tcl_SetHashValue(hrec,drec); } else { hlist = Tcl_GetHashValue(hrec); --- 1035,1042 ---- drec->next = drec->prev = 0; Ns_RWLockWrLock(&client->lock); ! hrec = Tcl_CreateHashEntry(&client->list,drec->name,&flag); ! if(flag) { Tcl_SetHashValue(hrec,drec); + client->rcount++; } else { hlist = Tcl_GetHashValue(hrec); *************** *** 998,1001 **** --- 1048,1057 ---- } } + switch(drec->type) { + case DNS_TYPE_NAPTR: + // Update route statistics, mark that we have routes with that length in the cache + if(drec->nsize < sizeof(client->rstats)) client->rstats[drec->nsize]++; + break; + } Ns_RWLockUnlock(&client->lock); } Index: dns.c =================================================================== RCS file: /cvsroot/naviserver/modules/nsdns/dns.c,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** dns.c 21 Jun 2005 03:36:40 -0000 1.8 --- dns.c 23 Jun 2005 02:06:02 -0000 1.9 *************** *** 348,351 **** --- 348,352 ---- if(from) { rec->name = ns_strcopy(from->name); + rec->nsize = from->nsize; rec->type = from->type; rec->class = from->class; *************** *** 397,401 **** { dnsRecord *y = ns_calloc(1,sizeof(dnsRecord)); ! y->name = ns_strcopy(name); y->type = DNS_TYPE_A; y->class = DNS_CLASS_INET; --- 398,404 ---- { dnsRecord *y = ns_calloc(1,sizeof(dnsRecord)); ! y->nsize = strlen(name); ! y->name = ns_malloc(y->nsize+1); ! strcpy(y->name,name); y->type = DNS_TYPE_A; y->class = DNS_CLASS_INET; *************** *** 410,414 **** { dnsRecord *y = ns_calloc(1,sizeof(dnsRecord)); ! y->name = ns_strcopy(name); y->type = DNS_TYPE_NS; y->class = DNS_CLASS_INET; --- 413,419 ---- { dnsRecord *y = ns_calloc(1,sizeof(dnsRecord)); ! y->nsize = strlen(name); ! y->name = ns_malloc(y->nsize+1); ! strcpy(y->name,name); y->type = DNS_TYPE_NS; y->class = DNS_CLASS_INET; *************** *** 423,427 **** { dnsRecord *y = ns_calloc(1,sizeof(dnsRecord)); ! y->name = ns_strcopy(name); y->type = DNS_TYPE_CNAME; y->class = DNS_CLASS_INET; --- 428,434 ---- { dnsRecord *y = ns_calloc(1,sizeof(dnsRecord)); ! y->nsize = strlen(name); ! y->name = ns_malloc(y->nsize+1); ! strcpy(y->name,name); y->type = DNS_TYPE_CNAME; y->class = DNS_CLASS_INET; *************** *** 436,440 **** { dnsRecord *y = ns_calloc(1,sizeof(dnsRecord)); ! y->name = ns_strcopy(name); y->type = DNS_TYPE_PTR; y->class = DNS_CLASS_INET; --- 443,449 ---- { dnsRecord *y = ns_calloc(1,sizeof(dnsRecord)); ! y->nsize = strlen(name); ! y->name = ns_malloc(y->nsize+1); ! strcpy(y->name,name); y->type = DNS_TYPE_PTR; y->class = DNS_CLASS_INET; *************** *** 449,453 **** { dnsRecord *y = ns_calloc(1,sizeof(dnsRecord)); ! y->name = ns_strcopy(name); y->type = DNS_TYPE_MX; y->class = DNS_CLASS_INET; --- 458,464 ---- { dnsRecord *y = ns_calloc(1,sizeof(dnsRecord)); ! y->nsize = strlen(name); ! y->name = ns_malloc(y->nsize+1); ! strcpy(y->name,name); y->type = DNS_TYPE_MX; y->class = DNS_CLASS_INET; *************** *** 465,469 **** { dnsRecord *y = ns_calloc(1,sizeof(dnsRecord)); ! y->name = ns_strcopy(name); y->type = DNS_TYPE_NAPTR; y->class = DNS_CLASS_INET; --- 476,482 ---- { dnsRecord *y = ns_calloc(1,sizeof(dnsRecord)); ! y->nsize = strlen(name); ! y->name = ns_malloc(y->nsize+1); ! strcpy(y->name,name); y->type = DNS_TYPE_NAPTR; y->class = DNS_CLASS_INET; *************** *** 487,491 **** { dnsRecord *y = ns_calloc(1,sizeof(dnsRecord)); ! y->name = ns_strcopy(name); y->type = DNS_TYPE_SOA; y->class = DNS_CLASS_INET; --- 500,506 ---- { dnsRecord *y = ns_calloc(1,sizeof(dnsRecord)); ! y->nsize = strlen(name); ! y->name = ns_malloc(y->nsize+1); ! strcpy(y->name,name); y->type = DNS_TYPE_SOA; y->class = DNS_CLASS_INET; *************** *** 700,704 **** buf[pos] = 0; // Remove last . in the name ! if(buf[pos-1] == '.') buf[pos-1] = 0; return pos; } --- 715,719 ---- buf[pos] = 0; // Remove last . in the name ! if(buf[pos-1] == '.') buf[--pos] = 0; return pos; } *************** *** 733,737 **** dnsParseRecord(dnsPacket *pkt,int query) { ! int rc, offset; char name[256] = ""; dnsRecord *y; --- 748,752 ---- dnsParseRecord(dnsPacket *pkt,int query) { ! int offset; char name[256] = ""; dnsRecord *y; *************** *** 740,748 **** offset = (pkt->buf.ptr - pkt->buf.data)-2; // The name of the resource ! if((rc = dnsParseName(pkt,&pkt->buf.ptr,name,255,0,0)) < 0) { ! snprintf(name,255,"invalid name: %d %s: ",rc,pkt->buf.ptr); goto err; } ! y->name = ns_strdup(name); // The type of data if(pkt->buf.ptr+2 > pkt->buf.data+pkt->buf.allocated) { --- 755,764 ---- offset = (pkt->buf.ptr - pkt->buf.data)-2; // The name of the resource ! if((y->nsize = dnsParseName(pkt,&pkt->buf.ptr,name,255,0,0)) < 0) { ! snprintf(name,255,"invalid name: %d %s: ",y->nsize,pkt->buf.ptr); goto err; } ! y->name = ns_malloc(y->nsize+1); ! strcpy(y->name,name); // The type of data if(pkt->buf.ptr+2 > pkt->buf.data+pkt->buf.allocated) { Index: dns.h =================================================================== RCS file: /cvsroot/naviserver/modules/nsdns/dns.h,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** dns.h 21 Jun 2005 03:36:40 -0000 1.7 --- dns.h 23 Jun 2005 02:06:02 -0000 1.8 *************** *** 120,123 **** --- 120,124 ---- struct _dnsRecord *next,*prev; char *name; + short nsize; unsigned short type; unsigned short class; Index: ChangeLog =================================================================== RCS file: /cvsroot/naviserver/modules/nsdns/ChangeLog,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** ChangeLog 21 Jun 2005 03:36:40 -0000 1.4 --- ChangeLog 23 Jun 2005 02:06:02 -0000 1.5 *************** *** 1,2 **** --- 1,6 ---- + 2005-06-22 Vlad Seryakov vl...@cr... + + * statistics and NAPTR searching + 2005-06-20 Vlad Seryakov vl...@cr... |
From: Vlad S. <ser...@us...> - 2005-06-21 20:19:06
|
Update of /cvsroot/naviserver/modules/nsdns In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv6726 Modified Files: nsdns.c Log Message: Index: nsdns.c =================================================================== RCS file: /cvsroot/naviserver/modules/nsdns/nsdns.c,v retrieving revision 1.12 retrieving revision 1.13 diff -C2 -d -r1.12 -r1.13 *** nsdns.c 21 Jun 2005 19:07:00 -0000 1.12 --- nsdns.c 21 Jun 2005 20:18:51 -0000 1.13 *************** *** 24,28 **** */ - #define USE_TCL8X #include "ns.h" #include "dns.h" --- 24,27 ---- |
From: Vlad S. <ser...@us...> - 2005-06-21 19:07:37
|
Update of /cvsroot/naviserver/modules/nsdns In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv6805 Modified Files: nsdns.c Log Message: Index: nsdns.c =================================================================== RCS file: /cvsroot/naviserver/modules/nsdns/nsdns.c,v retrieving revision 1.11 retrieving revision 1.12 diff -C2 -d -r1.11 -r1.12 *** nsdns.c 21 Jun 2005 18:37:00 -0000 1.11 --- nsdns.c 21 Jun 2005 19:07:00 -0000 1.12 *************** *** 551,555 **** dnsQueues[id].maxsize = dnsQueues[id].size; dnsQueues[id].requests++; ! Ns_CondSignal(&dnsQueues[id].cond); Ns_MutexUnlock(&dnsQueues[id].lock); if(++id >= dnsThreads) id = 0; --- 551,555 ---- dnsQueues[id].maxsize = dnsQueues[id].size; dnsQueues[id].requests++; ! Ns_CondBroadcast(&dnsQueues[id].cond); Ns_MutexUnlock(&dnsQueues[id].lock); if(++id >= dnsThreads) id = 0; *************** *** 563,567 **** dnsQueue *queue; dnsRequest *req; ! unsigned long t0; struct timeval end_time; --- 563,567 ---- dnsQueue *queue; dnsRequest *req; ! unsigned long rt,wt; struct timeval end_time; *************** *** 605,608 **** --- 605,612 ---- } } + // Update statistics, in milliseconds + gettimeofday(&end_time,0); + rt = (end_time.tv_sec - req->start_time.tv_sec)*1000 + (end_time.tv_usec - req->start_time.tv_usec)/1000; + wt = (req->start_time.tv_sec - req->recv_time.tv_sec)*1000 + (req->start_time.tv_usec - req->recv_time.tv_usec)/1000; Ns_MutexLock(&queue->lock); // Put request structure back if not handled by proxy *************** *** 611,621 **** queue->freelist = req; } ! Ns_CondSignal(&queue->cond); ! gettimeofday(&end_time,0); ! // Update statistics, in milliseconds ! t0 = ((end_time.tv_sec - req->start_time.tv_sec)*1000 + (end_time.tv_usec - req->start_time.tv_usec))/1000; ! if(t0 > queue->rtime) queue->rtime = t0; ! t0 = ((req->start_time.tv_sec - req->recv_time.tv_sec)*1000 + (req->start_time.tv_usec - req->recv_time.tv_usec))/1000; ! if(t0 > queue->wtime) queue->wtime = t0; } } --- 615,620 ---- queue->freelist = req; } ! if(rt > queue->rtime) queue->rtime = rt; ! if(wt > queue->wtime) queue->wtime = wt; } } |
From: Vlad S. <ser...@us...> - 2005-06-21 18:37:24
|
Update of /cvsroot/naviserver/modules/nsdns In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv24860 Modified Files: nsdns.c Log Message: Index: nsdns.c =================================================================== RCS file: /cvsroot/naviserver/modules/nsdns/nsdns.c,v retrieving revision 1.10 retrieving revision 1.11 diff -C2 -d -r1.10 -r1.11 *** nsdns.c 21 Jun 2005 17:47:16 -0000 1.10 --- nsdns.c 21 Jun 2005 18:37:00 -0000 1.11 *************** *** 128,131 **** --- 128,132 ---- Ns_RWLockInit(&dnsClientDflt.lock); Tcl_InitHashTable(&dnsClientDflt.list,TCL_STRING_KEYS); + memset(&dnsQueues,0,sizeof(dnsQueues)); path = Ns_ConfigGetPath(server,module,NULL); *************** *** 517,615 **** static void - DnsProxyThread(void *arg) - { - int len; - time_t now; - fd_set rfd; - dnsRequest *req; - unsigned short *ptr; - char buf[DNS_BUF_SIZE+1]; - struct timeval timeout; - struct sockaddr_in addr; - - Ns_Log(Notice,"nsdns: proxy thread started, proxy %s(%s):%d FD %d", - dnsProxyHost,ns_inet_ntoa(dnsProxyAddr.sin_addr),dnsProxyPort,dnsProxySock); - - while(1) { - Ns_MutexLock(&dnsProxyMutex); - while(!dnsProxyQueue) { - Ns_CondWait(&dnsProxyCond,&dnsProxyMutex); - } - now = time(0); - for(req = dnsProxyQueue;req;) { - if(now - req->proxy_time > dnsProxyTimeout) { - /* First time, prepare for proxying, use our own id sequence to - * keep track of forwarded requests */ - if(!req->proxy_count) { - req->proxy_id = req->req->id; - req->req->id = ++dnsID; - ptr = (unsigned short*)(req->req->buf.data+2); - *ptr = htons(req->req->id); - } - /* Reached max request limit, reply with not found code */ - if(req->proxy_count >= dnsProxyRetries) { - dnsRequest *next = req->next; - if(!req->prev) dnsProxyQueue = req->next; else req->prev->next = req->next; - if(req->next) req->next->prev = req->prev; - DNS_SET_RCODE(req->reply->u,RCODE_SRVFAIL); - req->req->qdlist->rcode = RCODE_SRVFAIL; - dnsRecordCache(req->client,&req->req->qdlist); - dnsRequestSend(req); - dnsRequestFree(req); - req = next; - continue; - } - /* Repeat forwarding request */ - sendto(dnsProxySock, - req->req->buf.data+2, - req->req->buf.size, - 0, - (struct sockaddr*)&dnsProxyAddr, - sizeof(struct sockaddr_in)); - req->proxy_count++; - req->proxy_time = now; - dnsPacketLog(req->req,4,"Sending to proxy:"); - } - req = req->next; - } - Ns_MutexUnlock(&dnsProxyMutex); - timeout.tv_usec = 0; - timeout.tv_sec = 1; - FD_ZERO(&rfd); - FD_SET(dnsProxySock,&rfd); - if(select(dnsProxySock+1,&rfd,0,0,&timeout) <= 0) continue; - len = sizeof(struct sockaddr_in); - if((len = recvfrom(dnsProxySock,buf,DNS_BUF_SIZE,0,(struct sockaddr*)&addr,&len)) <= 0 || - addr.sin_addr.s_addr != dnsProxyAddr.sin_addr.s_addr) { - if(errno && errno != EAGAIN && errno != EINTR) - Ns_Log(Error,"nsdns: recvfrom error %s: %s",ns_inet_ntoa(addr.sin_addr),strerror(errno)); - continue; - } - if(dnsDebug > 3) Ns_Log(Error,"DnsProxyThread: received %d bytes from %s",len,ns_inet_ntoa(dnsProxyAddr.sin_addr)); - Ns_MutexLock(&dnsProxyMutex); - for(req = dnsProxyQueue;req;req = req->next) { - /* Find request with received ID and forward reply back to the client */ - if(req->req->id != ntohs(*((unsigned short*)buf))) continue; - *((unsigned short*)buf) = htons(req->proxy_id); - dnsPacketFree(req->reply,1); - if((req->reply = dnsParsePacket(buf,len))) { - dnsPacketLog(req->reply,6,"Proxy reply received:"); - dnsRequestSend(req); - /* Save reply in our cache */ - dnsRecordCache(req->client,&req->reply->anlist); - dnsRecordCache(req->client,&req->reply->nslist); - dnsRecordCache(req->client,&req->reply->arlist); - } - /* Remove form the queue */ - if(!req->prev) dnsProxyQueue = req->next; else req->prev->next = req->next; - if(req->next) req->next->prev = req->prev; - dnsRequestFree(req); - break; - } - Ns_MutexUnlock(&dnsProxyMutex); - } - } - - static void DnsQueueListenThread(void *arg) { --- 518,521 ---- *************** *** 642,648 **** dnsQueues[id].tail = req; if(!dnsQueues[id].head) dnsQueues[id].head = req; ! dnsQueues[id].size++; dnsQueues[id].requests++; ! Ns_CondBroadcast(&dnsQueues[id].cond); Ns_MutexUnlock(&dnsQueues[id].lock); if(++id >= dnsThreads) id = 0; --- 548,555 ---- dnsQueues[id].tail = req; if(!dnsQueues[id].head) dnsQueues[id].head = req; ! if(++dnsQueues[id].size > dnsQueues[id].maxsize) ! dnsQueues[id].maxsize = dnsQueues[id].size; dnsQueues[id].requests++; ! Ns_CondSignal(&dnsQueues[id].cond); Ns_MutexUnlock(&dnsQueues[id].lock); if(++id >= dnsThreads) id = 0; *************** *** 677,681 **** queue->head = req->next; if(queue->tail == req) queue->tail = 0; - if(queue->size > queue->maxsize) queue->maxsize = queue->size; queue->size--; Ns_MutexUnlock(&queue->lock); --- 584,587 ---- *************** *** 705,709 **** queue->freelist = req; } ! Ns_CondBroadcast(&queue->cond); gettimeofday(&end_time,0); // Update statistics, in milliseconds --- 611,615 ---- queue->freelist = req; } ! Ns_CondSignal(&queue->cond); gettimeofday(&end_time,0); // Update statistics, in milliseconds *************** *** 773,776 **** --- 679,777 ---- } + static void + DnsProxyThread(void *arg) + { + int len; + time_t now; + fd_set rfd; + dnsRequest *req; + unsigned short *ptr; + char buf[DNS_BUF_SIZE+1]; + struct timeval timeout; + struct sockaddr_in addr; + + Ns_Log(Notice,"nsdns: proxy thread started, proxy %s(%s):%d FD %d", + dnsProxyHost,ns_inet_ntoa(dnsProxyAddr.sin_addr),dnsProxyPort,dnsProxySock); + + while(1) { + Ns_MutexLock(&dnsProxyMutex); + while(!dnsProxyQueue) { + Ns_CondWait(&dnsProxyCond,&dnsProxyMutex); + } + now = time(0); + for(req = dnsProxyQueue;req;) { + if(now - req->proxy_time > dnsProxyTimeout) { + /* First time, prepare for proxying, use our own id sequence to + * keep track of forwarded requests */ + if(!req->proxy_count) { + req->proxy_id = req->req->id; + req->req->id = ++dnsID; + ptr = (unsigned short*)(req->req->buf.data+2); + *ptr = htons(req->req->id); + } + /* Reached max request limit, reply with not found code */ + if(req->proxy_count >= dnsProxyRetries) { + dnsRequest *next = req->next; + if(!req->prev) dnsProxyQueue = req->next; else req->prev->next = req->next; + if(req->next) req->next->prev = req->prev; + DNS_SET_RCODE(req->reply->u,RCODE_SRVFAIL); + req->req->qdlist->rcode = RCODE_SRVFAIL; + dnsRecordCache(req->client,&req->req->qdlist); + dnsRequestSend(req); + dnsRequestFree(req); + req = next; + continue; + } + /* Repeat forwarding request */ + sendto(dnsProxySock, + req->req->buf.data+2, + req->req->buf.size, + 0, + (struct sockaddr*)&dnsProxyAddr, + sizeof(struct sockaddr_in)); + req->proxy_count++; + req->proxy_time = now; + dnsPacketLog(req->req,4,"Sending to proxy:"); + } + req = req->next; + } + Ns_MutexUnlock(&dnsProxyMutex); + timeout.tv_usec = 0; + timeout.tv_sec = 1; + FD_ZERO(&rfd); + FD_SET(dnsProxySock,&rfd); + if(select(dnsProxySock+1,&rfd,0,0,&timeout) <= 0) continue; + len = sizeof(struct sockaddr_in); + if((len = recvfrom(dnsProxySock,buf,DNS_BUF_SIZE,0,(struct sockaddr*)&addr,&len)) <= 0 || + addr.sin_addr.s_addr != dnsProxyAddr.sin_addr.s_addr) { + if(errno && errno != EAGAIN && errno != EINTR) + Ns_Log(Error,"nsdns: recvfrom error %s: %s",ns_inet_ntoa(addr.sin_addr),strerror(errno)); + continue; + } + if(dnsDebug > 3) Ns_Log(Error,"DnsProxyThread: received %d bytes from %s",len,ns_inet_ntoa(dnsProxyAddr.sin_addr)); + Ns_MutexLock(&dnsProxyMutex); + for(req = dnsProxyQueue;req;req = req->next) { + /* Find request with received ID and forward reply back to the client */ + if(req->req->id != ntohs(*((unsigned short*)buf))) continue; + *((unsigned short*)buf) = htons(req->proxy_id); + dnsPacketFree(req->reply,1); + if((req->reply = dnsParsePacket(buf,len))) { + dnsPacketLog(req->reply,6,"Proxy reply received:"); + dnsRequestSend(req); + /* Save reply in our cache */ + dnsRecordCache(req->client,&req->reply->anlist); + dnsRecordCache(req->client,&req->reply->nslist); + dnsRecordCache(req->client,&req->reply->arlist); + } + /* Remove form the queue */ + if(!req->prev) dnsProxyQueue = req->next; else req->prev->next = req->next; + if(req->next) req->next->prev = req->prev; + dnsRequestFree(req); + break; + } + Ns_MutexUnlock(&dnsProxyMutex); + } + } + static int dnsRead(int sock, void *vbuf, int len) |
From: Vlad S. <ser...@us...> - 2005-06-21 18:20:25
|
Update of /cvsroot/naviserver/modules/nsdns In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv6928 Modified Files: nsdns.c Log Message: client linking Index: nsdns.c =================================================================== RCS file: /cvsroot/naviserver/modules/nsdns/nsdns.c,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** nsdns.c 21 Jun 2005 03:36:40 -0000 1.7 --- nsdns.c 21 Jun 2005 13:21:39 -0000 1.8 *************** *** 1020,1023 **** --- 1020,1024 ---- DnsClientFind(char *host,struct in_addr addr) { + dnsClient_t *client; Tcl_HashEntry *entry; *************** *** 1029,1033 **** entry = Tcl_FindHashEntry(&dnsClientList,(char*)addr.s_addr); Ns_RWLockUnlock(&dnsClientLock); ! if (entry) return Tcl_GetHashValue(entry); return &dnsClientDflt; } --- 1030,1038 ---- entry = Tcl_FindHashEntry(&dnsClientList,(char*)addr.s_addr); Ns_RWLockUnlock(&dnsClientLock); ! if (entry) { ! client = Tcl_GetHashValue(entry); ! if(client->link) client = client->link; ! return client; ! } return &dnsClientDflt; } |
From: Vlad S. <ser...@us...> - 2005-06-21 18:19:21
|
Update of /cvsroot/naviserver/modules/nsdns In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv28311 Modified Files: nsdns.c Log Message: Index: nsdns.c =================================================================== RCS file: /cvsroot/naviserver/modules/nsdns/nsdns.c,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** nsdns.c 21 Jun 2005 13:21:39 -0000 1.8 --- nsdns.c 21 Jun 2005 14:05:16 -0000 1.9 *************** *** 1020,1024 **** DnsClientFind(char *host,struct in_addr addr) { ! dnsClient_t *client; Tcl_HashEntry *entry; --- 1020,1024 ---- DnsClientFind(char *host,struct in_addr addr) { ! dnsClient *client; Tcl_HashEntry *entry; |
From: Vlad S. <ser...@us...> - 2005-06-21 17:47:56
|
Update of /cvsroot/naviserver/modules/nsdns In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv30972 Modified Files: nsdns.c Log Message: statistics update Index: nsdns.c =================================================================== RCS file: /cvsroot/naviserver/modules/nsdns/nsdns.c,v retrieving revision 1.9 retrieving revision 1.10 diff -C2 -d -r1.9 -r1.10 *** nsdns.c 21 Jun 2005 14:05:16 -0000 1.9 --- nsdns.c 21 Jun 2005 17:47:16 -0000 1.10 *************** *** 47,50 **** --- 47,52 ---- unsigned short proxy_count; unsigned long proxy_time; + struct timeval recv_time; + struct timeval start_time; char buffer[DNS_BUF_SIZE]; int size; *************** *** 58,62 **** unsigned long maxsize; unsigned long requests; ! unsigned long time; struct _dnsRequest *head; struct _dnsRequest *tail; --- 60,65 ---- unsigned long maxsize; unsigned long requests; ! unsigned long rtime; ! unsigned long wtime; struct _dnsRequest *head; struct _dnsRequest *tail; *************** *** 438,443 **** n += dnsQueues[i].size; r += dnsQueues[i].requests; ! sprintf(tmp,"size%d %lu maxsize%d %lu time%d %lu requests%d %lu ", ! i,dnsQueues[i].size,i,dnsQueues[i].maxsize,i,dnsQueues[i].time,i,dnsQueues[i].requests); Tcl_AppendResult(interp, tmp, 0); } --- 441,448 ---- n += dnsQueues[i].size; r += dnsQueues[i].requests; ! sprintf(tmp,"size%d %lu maxsize%d %lu rtime%d %lu wtime%d %lu requests%d %lu ", ! i,dnsQueues[i].size,i,dnsQueues[i].maxsize, ! i,dnsQueues[i].rtime,i,dnsQueues[i].wtime, ! i,dnsQueues[i].requests); Tcl_AppendResult(interp, tmp, 0); } *************** *** 611,614 **** --- 616,620 ---- int len = sizeof(struct sockaddr_in); dnsRequest *req, buf; + struct timeval recv_time; int id = 0; *************** *** 621,624 **** --- 627,631 ---- } buf.buffer[buf.size] = 0; + gettimeofday(&recv_time,0); if(dnsDebug > 0) { Ns_Log(Debug,"nsdns: received %d bytes from %s",buf.size,ns_inet_ntoa(buf.addr.sin_addr)); *************** *** 631,634 **** --- 638,642 ---- if(!req) req = ns_calloc(1,sizeof(dnsRequest)); memcpy(req,&buf,sizeof(buf)); + req->recv_time = recv_time; if(dnsQueues[id].tail) dnsQueues[id].tail->next = req; dnsQueues[id].tail = req; *************** *** 649,653 **** dnsRequest *req; unsigned long t0; ! struct timeval t1,t2; queue = (dnsQueue*)arg; --- 657,661 ---- dnsRequest *req; unsigned long t0; ! struct timeval end_time; queue = (dnsQueue*)arg; *************** *** 663,667 **** Ns_CondWait(&queue->cond, &queue->lock); } - gettimeofday(&t1,0); /* * Unlink first job from the queue --- 671,674 ---- *************** *** 673,676 **** --- 680,684 ---- queue->size--; Ns_MutexUnlock(&queue->lock); + gettimeofday(&req->start_time,0); req->sock = dnsUdpSock; // Allocate request structure *************** *** 691,694 **** --- 699,703 ---- } } + Ns_MutexLock(&queue->lock); // Put request structure back if not handled by proxy if(req) { *************** *** 696,704 **** queue->freelist = req; } - Ns_MutexLock(&queue->lock); Ns_CondBroadcast(&queue->cond); ! gettimeofday(&t2,0); ! t0 = ((t2.tv_sec - t1.tv_sec)*1000000 + (t2.tv_usec - t1.tv_usec))/1000; ! if(t0 > queue->time) queue->time = t0; } } --- 705,715 ---- queue->freelist = req; } Ns_CondBroadcast(&queue->cond); ! gettimeofday(&end_time,0); ! // Update statistics, in milliseconds ! t0 = ((end_time.tv_sec - req->start_time.tv_sec)*1000 + (end_time.tv_usec - req->start_time.tv_usec))/1000; ! if(t0 > queue->rtime) queue->rtime = t0; ! t0 = ((req->start_time.tv_sec - req->recv_time.tv_sec)*1000 + (req->start_time.tv_usec - req->recv_time.tv_usec))/1000; ! if(t0 > queue->wtime) queue->wtime = t0; } } |
From: Vlad S. <ser...@us...> - 2005-06-21 03:36:49
|
Update of /cvsroot/naviserver/modules/nsdns In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv11692 Modified Files: ChangeLog dns.c dns.h nsdns.c Log Message: re-structured for multiple clients Index: nsdns.c =================================================================== RCS file: /cvsroot/naviserver/modules/nsdns/nsdns.c,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** nsdns.c 18 Jun 2005 22:02:04 -0000 1.6 --- nsdns.c 21 Jun 2005 03:36:40 -0000 1.7 *************** *** 28,31 **** --- 28,38 ---- #include "dns.h" + typedef struct _dnsClient { + Ns_RWLock lock; + char ipaddr[16]; + Tcl_HashTable list; + struct _dnsClient *link; + } dnsClient; + // DNS request typedef struct _dnsRequest { *************** *** 35,38 **** --- 42,46 ---- dnsPacket *req; dnsPacket *reply; + dnsClient *client; struct sockaddr_in addr; unsigned short proxy_id; *************** *** 60,64 **** static int dnsRequestSend(dnsRequest *req); static int dnsRequestHandle(dnsRequest *req); ! static void dnsRecordCache(dnsRecord **list); static int dnsWrite(int sock, void *vbuf, int len); static int dnsRead(int sock, void *vbuf, int len); --- 68,72 ---- static int dnsRequestSend(dnsRequest *req); static int dnsRequestHandle(dnsRequest *req); ! static void dnsRecordCache(dnsClient *client, dnsRecord **list); static int dnsWrite(int sock, void *vbuf, int len); static int dnsRead(int sock, void *vbuf, int len); *************** *** 72,75 **** --- 80,87 ---- static void DnsQueueListenThread(void *arg); static void DnsQueueRequestThread(void *arg); + static dnsClient *DnsClientFind(char *host,struct in_addr addr); + static dnsClient *DnsClientCreate(char *host); + static void DnsClientLink(char *host, char *host2); + static int DnsClientResolve(char *host, struct in_addr *addr); static unsigned short dnsID = 0; *************** *** 88,93 **** static char *dnsProxyHost; static char *dnsDefaultHost; - static Tcl_HashTable dnsCache; - static Ns_RWLock dnsMutex; static Ns_Cond dnsProxyCond; static Ns_Mutex dnsProxyMutex; --- 100,103 ---- *************** *** 95,98 **** --- 105,111 ---- static struct sockaddr_in dnsProxyAddr; static dnsQueue dnsQueues[DNS_QUEUE_SIZE]; + static Ns_RWLock dnsClientLock; + static Tcl_HashTable dnsClientList; + static dnsClient dnsClientDflt; NS_EXPORT int Ns_ModuleVersion = 1; *************** *** 106,110 **** Ns_Log(Notice, "nsdns module version %s server: %s", VERSION,server); ! Tcl_InitHashTable(&dnsCache,TCL_STRING_KEYS); path = Ns_ConfigGetPath(server,module,NULL); --- 119,128 ---- Ns_Log(Notice, "nsdns module version %s server: %s", VERSION,server); ! Ns_RWLockInit(&dnsClientLock); ! Tcl_InitHashTable(&dnsClientList,TCL_ONE_WORD_KEYS); ! memset(&dnsClientDflt,0,sizeof(dnsClient)); ! strcpy(dnsClientDflt.ipaddr,"0.0.0.0"); ! Ns_RWLockInit(&dnsClientDflt.lock); ! Tcl_InitHashTable(&dnsClientDflt.list,TCL_STRING_KEYS); path = Ns_ConfigGetPath(server,module,NULL); *************** *** 219,229 **** { enum commands { ! cmdAdd, cmdRemove, cmdFlush, cmdList, cmdResolve, cmdQueue, cmdLookup, cmdStat }; static const char *sCmd[] = { ! "add", "del", "flush", "list", "resolve", "queue", "lookup", "stat", 0 }; int i,cmd; char tmp[128]; dnsRecord *drec; --- 237,251 ---- { enum commands { ! cmdAdd, cmdDel, cmdFlush, cmdList, cmdResolve, cmdQueue, cmdLookup, cmdStat, cmdFind, ! cmdClientAdd, cmdClientDel, cmdClientList, cmdClientLink, cmdClientFind }; static const char *sCmd[] = { ! "add", "del", "flush", "list", "resolve", "queue", "lookup", "stat", "find", ! "clientadd", "clientdel", "clientlist", "clientlink", "clientfind", 0 }; int i,cmd; + struct in_addr addr; + int argc = objc, argp = 2; char tmp[128]; dnsRecord *drec; *************** *** 231,234 **** --- 253,257 ---- Tcl_HashSearch search; unsigned long n,r; + dnsClient *client = &dnsClientDflt; if(objc < 2) { *************** *** 240,297 **** switch(cmd) { ! case cmdStat: ! for(n = 0,r = 0,i = 0;i < dnsThreads;i++) { ! n += dnsQueues[i].size; ! r += dnsQueues[i].requests; ! sprintf(tmp,"size%d %lu maxsize%d %lu time%d %lu requests%d %lu ", ! i,dnsQueues[i].size,i,dnsQueues[i].maxsize,i,dnsQueues[i].time,i,dnsQueues[i].requests); ! Tcl_AppendResult(interp, tmp, 0); } ! sprintf(tmp,"total %lu requests %lu",n,r); ! Tcl_AppendResult(interp, tmp, 0); break; case cmdAdd: ! if(objc < 5) { Tcl_WrongNumArgs(interp,2,objv,"name type value ?ttl?"); return TCL_ERROR; } ! switch(dnsType(Tcl_GetString(objv[3]))) { case DNS_TYPE_A: ! drec = dnsRecordCreateA(Tcl_GetString(objv[2]),inet_addr(Tcl_GetString(objv[4]))); ! if(objc > 5) drec->ttl = atoi(Tcl_GetString(objv[5])); break; case DNS_TYPE_MX: ! if(objc < 6) { Tcl_WrongNumArgs(interp,2,objv,"name type preference value ?ttl?"); return TCL_ERROR; } ! drec = dnsRecordCreateMX(Tcl_GetString(objv[2]),atoi(Tcl_GetString(objv[4])), ! Tcl_GetString(objv[5])); ! if(objc > 6) drec->ttl = atoi(Tcl_GetString(objv[6])); break; case DNS_TYPE_NAPTR: ! if(objc < 9) { Tcl_WrongNumArgs(interp,2,objv,"name type order preference flags service regexp ?replace? ?ttl?"); return TCL_ERROR; } ! drec = dnsRecordCreateNAPTR(Tcl_GetString(objv[2]),atoi(Tcl_GetString(objv[4])), ! atoi(Tcl_GetString(objv[5])), ! Tcl_GetString(objv[6]),Tcl_GetString(objv[7]), ! Tcl_GetString(objv[8]), ! objc > 9 ? Tcl_GetString(objv[9]) : 0); ! if(objc > 10) drec->ttl = atoi(Tcl_GetString(objv[10])); break; case DNS_TYPE_NS: ! drec = dnsRecordCreateNS(Tcl_GetString(objv[2]),Tcl_GetString(objv[4])); ! if(objc > 5) drec->ttl = atoi(Tcl_GetString(objv[5])); break; case DNS_TYPE_PTR: ! drec = dnsRecordCreatePTR(Tcl_GetString(objv[2]),Tcl_GetString(objv[4])); ! if(objc > 5) drec->ttl = atoi(Tcl_GetString(objv[5])); break; case DNS_TYPE_CNAME: ! drec = dnsRecordCreateCNAME(Tcl_GetString(objv[2]),Tcl_GetString(objv[4])); ! if(objc > 5) drec->ttl = atoi(Tcl_GetString(objv[5])); break; default: --- 263,327 ---- switch(cmd) { ! case cmdClientLink: ! if(objc < 4) { ! Tcl_WrongNumArgs(interp,2,objv,"clientip clientip2"); ! return TCL_ERROR; } ! DnsClientLink(Tcl_GetString(objv[2]), Tcl_GetString(objv[3])); break; + case cmdClientAdd: + if(argc < 6) { + Tcl_WrongNumArgs(interp,2,objv,"client name type value ?ttl?"); + return TCL_ERROR; + } + client = DnsClientFind(Tcl_GetString(objv[2]),addr); + // Create new client + if(client == &dnsClientDflt) client = DnsClientCreate(Tcl_GetString(objv[2])); + argc--; + argp++; + case cmdAdd: ! if(argc < 5) { Tcl_WrongNumArgs(interp,2,objv,"name type value ?ttl?"); return TCL_ERROR; } ! switch(dnsType(Tcl_GetString(objv[argp+1]))) { case DNS_TYPE_A: ! drec = dnsRecordCreateA(Tcl_GetString(objv[argp]),inet_addr(Tcl_GetString(objv[argp+2]))); ! if(objc > 5) drec->ttl = atoi(Tcl_GetString(objv[argp+3])); break; case DNS_TYPE_MX: ! if(argc < 6) { Tcl_WrongNumArgs(interp,2,objv,"name type preference value ?ttl?"); return TCL_ERROR; } ! drec = dnsRecordCreateMX(Tcl_GetString(objv[argp]),atoi(Tcl_GetString(objv[argp+2])), ! Tcl_GetString(objv[argp+3])); ! if(argc > 6) drec->ttl = atoi(Tcl_GetString(objv[argp+4])); break; case DNS_TYPE_NAPTR: ! if(argc < 9) { Tcl_WrongNumArgs(interp,2,objv,"name type order preference flags service regexp ?replace? ?ttl?"); return TCL_ERROR; } ! drec = dnsRecordCreateNAPTR(Tcl_GetString(objv[argp]),atoi(Tcl_GetString(objv[argp+2])), ! atoi(Tcl_GetString(objv[argp+3])), ! Tcl_GetString(objv[argp+4]),Tcl_GetString(objv[argp+5]), ! Tcl_GetString(objv[argp+6]), ! argc > 9 ? Tcl_GetString(objv[argp+7]) : 0); ! if(argc > 10) drec->ttl = atoi(Tcl_GetString(objv[argp+8])); break; case DNS_TYPE_NS: ! drec = dnsRecordCreateNS(Tcl_GetString(objv[argp]),Tcl_GetString(objv[argp+2])); ! if(argc > 5) drec->ttl = atoi(Tcl_GetString(objv[argp+3])); break; case DNS_TYPE_PTR: ! drec = dnsRecordCreatePTR(Tcl_GetString(objv[argp]),Tcl_GetString(objv[argp+2])); ! if(argc > 5) drec->ttl = atoi(Tcl_GetString(objv[argp+3])); break; case DNS_TYPE_CNAME: ! drec = dnsRecordCreateCNAME(Tcl_GetString(objv[argp]),Tcl_GetString(objv[argp+2])); ! if(argc > 5) drec->ttl = atoi(Tcl_GetString(objv[argp+3])); break; default: *************** *** 299,312 **** return TCL_ERROR; } ! dnsRecordCache(&drec); break; ! case cmdRemove: ! if(objc < 4) { Tcl_WrongNumArgs(interp,2,objv,"name type ?value?"); return TCL_ERROR; } ! Ns_RWLockWrLock(&dnsMutex); ! if((hrec = Tcl_FindHashEntry(&dnsCache,Tcl_GetString(objv[2])))) { ! int type = dnsType(Tcl_GetString(objv[3])); dnsRecord *list = drec = Tcl_GetHashValue(hrec); while(drec) { --- 329,354 ---- return TCL_ERROR; } ! dnsRecordCache(client, &drec); break; ! ! case cmdClientDel: ! if(argc < 5) { ! Tcl_WrongNumArgs(interp,2,objv,"client name type ?value?"); ! return TCL_ERROR; ! } ! client = DnsClientFind(Tcl_GetString(objv[2]),addr); ! // Ignore unknown clients ! if(client == &dnsClientDflt) break; ! argc--; ! argp++; ! ! case cmdDel: ! if(argc < 4) { Tcl_WrongNumArgs(interp,2,objv,"name type ?value?"); return TCL_ERROR; } ! Ns_RWLockWrLock(&client->lock); ! if((hrec = Tcl_FindHashEntry(&client->list,Tcl_GetString(objv[argp])))) { ! int type = dnsType(Tcl_GetString(objv[argp+1])); dnsRecord *list = drec = Tcl_GetHashValue(hrec); while(drec) { *************** *** 323,344 **** } } ! Ns_RWLockUnlock(&dnsMutex); break; ! case cmdFlush: ! Ns_RWLockWrLock(&dnsMutex); ! hrec = Tcl_FirstHashEntry(&dnsCache,&search); ! while(hrec) { ! drec = Tcl_GetHashValue(hrec); ! dnsRecordDestroy(&drec); ! Tcl_DeleteHashEntry(hrec); ! hrec = Tcl_NextHashEntry(&search); } ! Ns_RWLockUnlock(&dnsMutex); break; case cmdList: { Tcl_Obj *list = Tcl_NewListObj(0,0); ! ! Ns_RWLockRdLock(&dnsMutex); ! hrec = Tcl_FirstHashEntry(&dnsCache,&search); while(hrec) { Tcl_ListObjAppendElement(interp,list, --- 365,410 ---- } } ! Ns_RWLockUnlock(&client->lock); break; ! ! case cmdClientFind: ! if(argc < 4) { ! Tcl_WrongNumArgs(interp,2,objv,"client name"); ! return TCL_ERROR; ! } ! client = DnsClientFind(Tcl_GetString(objv[2]),addr); ! // Ignore unknown clients ! if(client == &dnsClientDflt) break; ! argc--; ! argp++; ! ! case cmdFind: ! if(argc < 3) { ! Tcl_WrongNumArgs(interp,2,objv,"name"); ! return TCL_ERROR; ! } ! Ns_RWLockWrLock(&client->lock); ! if((hrec = Tcl_FindHashEntry(&client->list,Tcl_GetString(objv[argp])))) { ! Tcl_SetObjResult(interp,dnsRecordCreateTclObj(interp,Tcl_GetHashValue(hrec))); } ! Ns_RWLockUnlock(&client->lock); break; + + case cmdClientList: + Ns_RWLockWrLock(&dnsClientLock); + hrec = Tcl_FirstHashEntry(&dnsClientList,&search); + while(hrec) { + addr.s_addr = (unsigned long)Tcl_GetHashKey(&dnsClientList, hrec); + Tcl_AppendElement(interp, ns_inet_ntoa(addr)); + hrec = Tcl_NextHashEntry(&search); + } + Ns_RWLockUnlock(&dnsClientLock); + break; + case cmdList: { Tcl_Obj *list = Tcl_NewListObj(0,0); ! if(objc > 2) client = DnsClientFind(Tcl_GetString(objv[2]),addr); ! Ns_RWLockRdLock(&client->lock); ! hrec = Tcl_FirstHashEntry(&client->list,&search); while(hrec) { Tcl_ListObjAppendElement(interp,list, *************** *** 346,353 **** hrec = Tcl_NextHashEntry(&search); } ! Ns_RWLockUnlock(&dnsMutex); Tcl_SetObjResult(interp,list); break; } case cmdQueue: { char buf[255]; --- 412,449 ---- hrec = Tcl_NextHashEntry(&search); } ! Ns_RWLockUnlock(&client->lock); Tcl_SetObjResult(interp,list); break; } + + case cmdFlush: + if(objc > 2) { + client = DnsClientFind(Tcl_GetString(objv[2]),addr); + // Ignore unknown clients + if(client == &dnsClientDflt) break; + } + Ns_RWLockWrLock(&client->lock); + hrec = Tcl_FirstHashEntry(&client->list,&search); + while(hrec) { + drec = Tcl_GetHashValue(hrec); + dnsRecordDestroy(&drec); + Tcl_DeleteHashEntry(hrec); + hrec = Tcl_NextHashEntry(&search); + } + Ns_RWLockUnlock(&client->lock); + break; + + case cmdStat: + for(n = 0,r = 0,i = 0;i < dnsThreads;i++) { + n += dnsQueues[i].size; + r += dnsQueues[i].requests; + sprintf(tmp,"size%d %lu maxsize%d %lu time%d %lu requests%d %lu ", + i,dnsQueues[i].size,i,dnsQueues[i].maxsize,i,dnsQueues[i].time,i,dnsQueues[i].requests); + Tcl_AppendResult(interp, tmp, 0); + } + sprintf(tmp,"total %lu requests %lu",n,r); + Tcl_AppendResult(interp, tmp, 0); + break; + case cmdQueue: { char buf[255]; *************** *** 361,364 **** --- 457,461 ---- break; } + case cmdResolve: { int i,qtype = 0,timeout = 0; *************** *** 389,393 **** } break; ! } case cmdLookup: { int qtype = 0; --- 486,491 ---- } break; ! } ! case cmdLookup: { int qtype = 0; *************** *** 451,455 **** DNS_SET_RCODE(req->reply->u,RCODE_SRVFAIL); req->req->qdlist->rcode = RCODE_SRVFAIL; ! dnsRecordCache(&req->req->qdlist); dnsRequestSend(req); dnsRequestFree(req); --- 549,553 ---- DNS_SET_RCODE(req->reply->u,RCODE_SRVFAIL); req->req->qdlist->rcode = RCODE_SRVFAIL; ! dnsRecordCache(req->client,&req->req->qdlist); dnsRequestSend(req); dnsRequestFree(req); *************** *** 494,500 **** dnsRequestSend(req); /* Save reply in our cache */ ! dnsRecordCache(&req->reply->anlist); ! dnsRecordCache(&req->reply->nslist); ! dnsRecordCache(&req->reply->arlist); } /* Remove form the queue */ --- 592,598 ---- dnsRequestSend(req); /* Save reply in our cache */ ! dnsRecordCache(req->client,&req->reply->anlist); ! dnsRecordCache(req->client,&req->reply->nslist); ! dnsRecordCache(req->client,&req->reply->arlist); } /* Remove form the queue */ *************** *** 580,583 **** --- 678,682 ---- // Prepare reply header req->reply = dnsPacketCreateReply(req->req); + req->client = DnsClientFind(0,req->addr.sin_addr); switch(dnsRequestHandle(req)) { case 1: *************** *** 608,622 **** DnsTcpListen(SOCKET sock,void *si,int when) { ! SOCKET new; ! struct sockaddr_in saddr; int saddr_len = sizeof(struct sockaddr_in); switch(when) { case NS_SOCK_READ: ! if((new = Ns_SockAccept(sock,(struct sockaddr*)&saddr,&saddr_len)) == INVALID_SOCKET) break; ! if(dnsDebug > 3) Ns_Log(Error,"DnsTcpListen: connection from %s",ns_inet_ntoa(saddr.sin_addr)); ! if(Ns_BeginDetachedThread(DnsTcpThread,(void *)new) != NS_OK) { Ns_Log(Error,"nsdns: Ns_BeginThread() failed with %s.",strerror(errno)); ! close(new); } return NS_TRUE; --- 707,723 ---- DnsTcpListen(SOCKET sock,void *si,int when) { ! struct { ! SOCKET sock; ! struct sockaddr_in saddr; ! } arg; int saddr_len = sizeof(struct sockaddr_in); switch(when) { case NS_SOCK_READ: ! if((arg.sock = Ns_SockAccept(sock,(struct sockaddr*)&arg.saddr,&saddr_len)) == INVALID_SOCKET) break; ! if(dnsDebug > 3) Ns_Log(Error,"DnsTcpListen: connection from %s",ns_inet_ntoa(arg.saddr.sin_addr)); ! if(Ns_BeginDetachedThread(DnsTcpThread,(void *)&arg) != NS_OK) { Ns_Log(Error,"nsdns: Ns_BeginThread() failed with %s.",strerror(errno)); ! close(arg.sock); } return NS_TRUE; *************** *** 627,646 **** static void ! DnsTcpThread(void *arg) { ! int sock = (int)arg; short len; dnsRequest *req; char buf[DNS_BUF_SIZE]; ! Ns_SockSetNonBlocking(sock); ! if(dnsRead(sock,&len,2) != 2 || (len = ntohs(len)) > DNS_BUF_SIZE || ! dnsRead(sock,buf,len) != len || ! !(req = dnsRequestCreate(sock,buf,len))) { ! close(sock); return; } req->flags |= DNS_TCP; switch(dnsRequestHandle(req)) { case 1: --- 728,753 ---- static void ! DnsTcpThread(void *sock) { ! struct { ! struct sockaddr_in saddr; ! SOCKET sock; ! } arg; short len; dnsRequest *req; char buf[DNS_BUF_SIZE]; ! memcpy(&arg,sock,sizeof(arg)); ! Ns_SockSetNonBlocking(arg.sock); ! if(dnsRead(arg.sock,&len,2) != 2 || (len = ntohs(len)) > DNS_BUF_SIZE || ! dnsRead(arg.sock,buf,len) != len || ! !(req = dnsRequestCreate(arg.sock,buf,len))) { ! close(arg.sock); return; } req->flags |= DNS_TCP; + memcpy(&req->addr,&arg.saddr,sizeof(req->addr)); + req->client = DnsClientFind(0,req->addr.sin_addr); switch(dnsRequestHandle(req)) { case 1: *************** *** 652,656 **** dnsRequestFree(req); } ! close(sock); } --- 759,763 ---- dnsRequestFree(req); } ! close(arg.sock); } *************** *** 724,740 **** unsigned long now = time(0); ! dnsPacketLog(req->req,1,"Received request"); switch(DNS_GET_OPCODE(req->req->u)) { case OPCODE_QUERY: ! Ns_RWLockRdLock(&dnsMutex); for(qrec = req->req->qdlist;qrec;qrec = qrec->next) { if(!qrec->name) continue; ! if(!(hrec = Tcl_FindHashEntry(&dnsCache,qrec->name))) { snprintf(domain,sizeof(domain)-1,"*.%s",qrec->name); ! if(!(hrec = Tcl_FindHashEntry(&dnsCache,domain))) { if(!(dot = strchr(qrec->name,'.'))) continue; snprintf(domain,sizeof(domain)-1,"*%s",dot); ! if(!(hrec = Tcl_FindHashEntry(&dnsCache,domain))) continue; } } --- 831,847 ---- unsigned long now = time(0); ! dnsPacketLog(req->req,1,"Received request from client=%s",req->client->ipaddr); switch(DNS_GET_OPCODE(req->req->u)) { case OPCODE_QUERY: ! Ns_RWLockRdLock(&req->client->lock); for(qrec = req->req->qdlist;qrec;qrec = qrec->next) { if(!qrec->name) continue; ! if(!(hrec = Tcl_FindHashEntry(&req->client->list,qrec->name))) { snprintf(domain,sizeof(domain)-1,"*.%s",qrec->name); ! if(!(hrec = Tcl_FindHashEntry(&req->client->list,domain))) { if(!(dot = strchr(qrec->name,'.'))) continue; snprintf(domain,sizeof(domain)-1,"*%s",dot); ! if(!(hrec = Tcl_FindHashEntry(&req->client->list,domain))) continue; } } *************** *** 775,779 **** dnsPacketAddRecord(req->reply,&req->reply->nslist,&req->reply->nscount,dnsRecordCreate(qcache)); // Put IP address of the nameserver into additional section ! if((nrec = Tcl_FindHashEntry(&dnsCache,qcache->data.name))) { for(ncache = Tcl_GetHashValue(nrec);ncache;ncache = ncache->next) if(ncache->type == DNS_TYPE_A) --- 882,886 ---- dnsPacketAddRecord(req->reply,&req->reply->nslist,&req->reply->nscount,dnsRecordCreate(qcache)); // Put IP address of the nameserver into additional section ! if((nrec = Tcl_FindHashEntry(&req->client->list,qcache->data.name))) { for(ncache = Tcl_GetHashValue(nrec);ncache;ncache = ncache->next) if(ncache->type == DNS_TYPE_A) *************** *** 802,806 **** } } ! Ns_RWLockUnlock(&dnsMutex); // No records found if(!req->reply->ancount && !req->reply->nscount) { --- 909,913 ---- } } ! Ns_RWLockUnlock(&req->client->lock); // No records found if(!req->reply->ancount && !req->reply->nscount) { *************** *** 856,860 **** static void ! dnsRecordCache(dnsRecord **list) { int new; --- 963,967 ---- static void ! dnsRecordCache(dnsClient *client, dnsRecord **list) { int new; *************** *** 868,873 **** drec->timestamp = now; drec->next = drec->prev = 0; ! Ns_RWLockWrLock(&dnsMutex); ! hrec = Tcl_CreateHashEntry(&dnsCache,drec->name,&new); if(new) { Tcl_SetHashValue(hrec,drec); --- 975,980 ---- drec->timestamp = now; drec->next = drec->prev = 0; ! Ns_RWLockWrLock(&client->lock); ! hrec = Tcl_CreateHashEntry(&client->list,drec->name,&new); if(new) { Tcl_SetHashValue(hrec,drec); *************** *** 881,886 **** } } ! Ns_RWLockUnlock(&dnsMutex); } } --- 988,1054 ---- } } ! Ns_RWLockUnlock(&client->lock); } } + static dnsClient * + DnsClientCreate(char *host) + { + int new; + struct in_addr addr; + dnsClient *client; + Tcl_HashEntry *entry; + + if (DnsClientResolve(host,&addr) == NS_ERROR) { + Ns_Log(Error, "DnsClientAdd: unable to resolve %s", host); + return 0; + } + Ns_RWLockWrLock(&dnsClientLock); + entry = Tcl_CreateHashEntry(&dnsClientList,(char*)addr.s_addr,&new); + Ns_RWLockUnlock(&dnsClientLock); + if (new) { + client = ns_calloc(1,sizeof(dnsClient)); + strcpy(client->ipaddr,ns_inet_ntoa(addr)); + Ns_RWLockInit(&client->lock); + Tcl_InitHashTable(&client->list,TCL_STRING_KEYS); + Tcl_SetHashValue(entry,(ClientData)client); + } + return Tcl_GetHashValue(entry); + } + + static dnsClient * + DnsClientFind(char *host,struct in_addr addr) + { + Tcl_HashEntry *entry; + + if (host && DnsClientResolve(host,&addr) == NS_ERROR) { + Ns_Log(Error, "DnsClientClear: unable to resolve %s", host); + return &dnsClientDflt; + } + Ns_RWLockRdLock(&dnsClientLock); + entry = Tcl_FindHashEntry(&dnsClientList,(char*)addr.s_addr); + Ns_RWLockUnlock(&dnsClientLock); + if (entry) return Tcl_GetHashValue(entry); + return &dnsClientDflt; + } + + static void + DnsClientLink(char *host, char *host2) + { + dnsClient *client, *client2; + + if((client = DnsClientCreate(host)) && (client2 = DnsClientCreate(host2))) { + client2->link = client; + } + } + + static int + DnsClientResolve(char *host, struct in_addr *addr) + { + struct sockaddr_in sa; + + if (!host) host = Ns_InfoHostname(); + if (Ns_GetSockAddr(&sa,host,0) != NS_OK) return NS_ERROR; + *addr = sa.sin_addr; + return NS_OK; + } Index: dns.c =================================================================== RCS file: /cvsroot/naviserver/modules/nsdns/dns.c,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** dns.c 17 Jun 2005 15:00:23 -0000 1.7 --- dns.c 21 Jun 2005 03:36:40 -0000 1.8 *************** *** 280,294 **** void ! dnsRecordLog(dnsRecord *rec,int level,char *text) { Ns_DString ds; if(level > dnsDebug) return; Ns_DStringInit(&ds); ! Ns_DStringPrintf(&ds,"nsdns: %s ",text); dnsRecordDump(&ds,rec); Ns_Log(level < 0 ? Error : Debug,ds.string); Ns_DStringFree(&ds); } --- 280,298 ---- void ! dnsRecordLog(dnsRecord *rec,int level,char *text, ...) { Ns_DString ds; + va_list ap; if(level > dnsDebug) return; + va_start(ap, text); Ns_DStringInit(&ds); ! Ns_DStringAppend(&ds, "nsdns: "); ! Ns_DStringVPrintf(&ds,text, ap); dnsRecordDump(&ds,rec); Ns_Log(level < 0 ? Error : Debug,ds.string); Ns_DStringFree(&ds); + va_end(ap); } *************** *** 1113,1125 **** void ! dnsPacketLog(dnsPacket *pkt,int level,char *text) { dnsRecord *y; Ns_DString ds; if(level > dnsDebug) return; Ns_DStringInit(&ds); ! Ns_DStringPrintf(&ds,"nsdns: %s ",text); Ns_DStringPrintf(&ds," HEADER: [%04X] ID=%u, OP=%d, QR=%d, AA=%d, RD=%d, RA=%d, TC=%d, RCODE=%d, " "QUERY=%u, ANSWER=%u, NS=%u, ADDITIONAL=%u, LEN=%d", --- 1117,1134 ---- void ! dnsPacketLog(dnsPacket *pkt,int level,char *text, ...) { dnsRecord *y; Ns_DString ds; + va_list ap; + + if(level > dnsDebug) return; if(level > dnsDebug) return; + va_start(ap, text); Ns_DStringInit(&ds); ! Ns_DStringPrintf(&ds,"nsdns: "); ! Ns_DStringVPrintf(&ds,text, ap); Ns_DStringPrintf(&ds," HEADER: [%04X] ID=%u, OP=%d, QR=%d, AA=%d, RD=%d, RA=%d, TC=%d, RCODE=%d, " "QUERY=%u, ANSWER=%u, NS=%u, ADDITIONAL=%u, LEN=%d", Index: dns.h =================================================================== RCS file: /cvsroot/naviserver/modules/nsdns/dns.h,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** dns.h 17 Jun 2005 15:00:39 -0000 1.6 --- dns.h 21 Jun 2005 03:36:40 -0000 1.7 *************** *** 162,166 **** const char *dnsTypeStr(int type); void dnsRecordDump(Ns_DString *ds,dnsRecord *y); ! void dnsRecordLog(dnsRecord *rec,int level,char *text); void dnsRecordFree(dnsRecord *pkt); void dnsRecordDestroy(dnsRecord **pkt); --- 162,166 ---- const char *dnsTypeStr(int type); void dnsRecordDump(Ns_DString *ds,dnsRecord *y); ! void dnsRecordLog(dnsRecord *rec,int level,char *text, ...); void dnsRecordFree(dnsRecord *pkt); void dnsRecordDestroy(dnsRecord **pkt); *************** *** 200,204 **** dnsPacket *dnsPacketCreateReply(dnsPacket *req); dnsPacket *dnsPacketCreateQuery(char *name,int type); ! void dnsPacketLog(dnsPacket *pkt,int level,char *text); void dnsPacketFree(dnsPacket *pkt,int type); int dnsPacketAddRecord(dnsPacket *pkt,dnsRecord **list,short *count,dnsRecord *rec); --- 200,204 ---- dnsPacket *dnsPacketCreateReply(dnsPacket *req); dnsPacket *dnsPacketCreateQuery(char *name,int type); ! void dnsPacketLog(dnsPacket *pkt,int level,char *text, ...); void dnsPacketFree(dnsPacket *pkt,int type); int dnsPacketAddRecord(dnsPacket *pkt,dnsRecord **list,short *count,dnsRecord *rec); Index: ChangeLog =================================================================== RCS file: /cvsroot/naviserver/modules/nsdns/ChangeLog,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** ChangeLog 17 Jun 2005 02:35:53 -0000 1.3 --- ChangeLog 21 Jun 2005 03:36:40 -0000 1.4 *************** *** 1,2 **** --- 1,6 ---- + 2005-06-20 Vlad Seryakov vl...@cr... + + * re-strcutured for multiple clients + 2005-06-16 Vlad Seryakov vl...@cr... |
From: Vlad S. <ser...@us...> - 2005-06-19 16:38:03
|
Update of /cvsroot/naviserver/naviserver In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv28025 Modified Files: ChangeLog Log Message: Fixed bad return code for Ns_ConnReadLine. Index: ChangeLog =================================================================== RCS file: /cvsroot/naviserver/naviserver/ChangeLog,v retrieving revision 1.126 retrieving revision 1.127 diff -C2 -d -r1.126 -r1.127 *** ChangeLog 19 Jun 2005 16:33:20 -0000 1.126 --- ChangeLog 19 Jun 2005 16:37:54 -0000 1.127 *************** *** 1,4 **** --- 1,7 ---- 2005-06-18 Vlad Seryakov <ser...@us...> + * nsd/connio.c: Fixed bad return code for Ns_ConnReadLine as per + AOLServer bug report from the mailing list + * sample-config.tcl: added maxline parameter for nssock section |
From: Vlad S. <ser...@us...> - 2005-06-19 16:38:03
|
Update of /cvsroot/naviserver/naviserver/nsd In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv28025/nsd Modified Files: connio.c Log Message: Fixed bad return code for Ns_ConnReadLine. Index: connio.c =================================================================== RCS file: /cvsroot/naviserver/naviserver/nsd/connio.c,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** connio.c 10 Jun 2005 17:58:38 -0000 1.2 --- connio.c 19 Jun 2005 16:37:54 -0000 1.3 *************** *** 580,584 **** reqPtr->next += nread; reqPtr->avail -= nread; ! return NS_ERROR; } --- 580,584 ---- reqPtr->next += nread; reqPtr->avail -= nread; ! return NS_OK; } |
From: Vlad S. <ser...@us...> - 2005-06-19 16:33:28
|
Update of /cvsroot/naviserver/naviserver In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv26116 Modified Files: ChangeLog sample-config.tcl Log Message: added maxline parameter to nssock section Index: ChangeLog =================================================================== RCS file: /cvsroot/naviserver/naviserver/ChangeLog,v retrieving revision 1.125 retrieving revision 1.126 diff -C2 -d -r1.125 -r1.126 *** ChangeLog 19 Jun 2005 16:31:58 -0000 1.125 --- ChangeLog 19 Jun 2005 16:33:20 -0000 1.126 *************** *** 1,4 **** --- 1,6 ---- 2005-06-18 Vlad Seryakov <ser...@us...> + * sample-config.tcl: added maxline parameter for nssock section + * nsd/driver.c: * nsd.nsd.h: added maxline parameter to driver section, checks Index: sample-config.tcl =================================================================== RCS file: /cvsroot/naviserver/naviserver/sample-config.tcl,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** sample-config.tcl 17 Jun 2005 19:56:34 -0000 1.4 --- sample-config.tcl 19 Jun 2005 16:33:20 -0000 1.5 *************** *** 208,211 **** --- 208,212 ---- ns_param address $address #ns_param maxinput 1024000 ;# Max upload size + #ns_param maxline 4096 ;# Max line size #ns_param bufsize 16000 ;# Read-ahead buffer size |
From: Vlad S. <ser...@us...> - 2005-06-19 16:32:07
|
Update of /cvsroot/naviserver/naviserver/nsd In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv25083/nsd Modified Files: driver.c nsd.h Log Message: added maxline parameter for checking request line size Index: driver.c =================================================================== RCS file: /cvsroot/naviserver/naviserver/nsd/driver.c,v retrieving revision 1.13 retrieving revision 1.14 diff -C2 -d -r1.13 -r1.14 *** driver.c 16 Jun 2005 19:42:48 -0000 1.13 --- driver.c 19 Jun 2005 16:31:58 -0000 1.14 *************** *** 310,313 **** --- 310,317 ---- } drvPtr->maxinput = _MAX(n, 1024); + if (!Ns_ConfigGetInt(path, "maxline", &n) || n < 1) { + n = 4 * 1024; /* 4k. */ + } + drvPtr->maxline = _MAX(n, 256); /* *************** *** 1453,1457 **** return SOCK_MORE; } ! /* * Update next read pointer to end of this line. --- 1457,1469 ---- return SOCK_MORE; } ! ! /* ! * Check for max single line overflow. ! */ ! ! if ((e - s) > sockPtr->drvPtr->maxline) { ! return SOCK_ERROR; ! } ! /* * Update next read pointer to end of this line. Index: nsd.h =================================================================== RCS file: /cvsroot/naviserver/naviserver/nsd/nsd.h,v retrieving revision 1.18 retrieving revision 1.19 diff -C2 -d -r1.18 -r1.19 *** nsd.h 16 Jun 2005 18:31:11 -0000 1.18 --- nsd.h 19 Jun 2005 16:31:58 -0000 1.19 *************** *** 380,383 **** --- 380,384 ---- int backlog; /* listen() backlog. */ int maxinput; /* Maximum request bytes to read. */ + int maxline; /* Maximum request line size. */ unsigned int loggingFlags; /* Logging control flags */ |
From: Vlad S. <ser...@us...> - 2005-06-19 16:32:07
|
Update of /cvsroot/naviserver/naviserver In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv25083 Modified Files: ChangeLog Log Message: added maxline parameter for checking request line size Index: ChangeLog =================================================================== RCS file: /cvsroot/naviserver/naviserver/ChangeLog,v retrieving revision 1.124 retrieving revision 1.125 diff -C2 -d -r1.124 -r1.125 *** ChangeLog 18 Jun 2005 01:03:16 -0000 1.124 --- ChangeLog 19 Jun 2005 16:31:58 -0000 1.125 *************** *** 1,2 **** --- 1,8 ---- + 2005-06-18 Vlad Seryakov <ser...@us...> + + * nsd/driver.c: + * nsd.nsd.h: added maxline parameter to driver section, checks + for line size limit in the request, defaults to 4k. + 2005-06-17 Stephen Deasey <sd...@us...> |
From: Vlad S. <ser...@us...> - 2005-06-18 22:02:32
|
Update of /cvsroot/naviserver/modules/nsdns In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv28721 Modified Files: README nsdns.c Log Message: minor cleanups Index: README =================================================================== RCS file: /cvsroot/naviserver/modules/nsdns/README,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** README 8 Jun 2005 20:03:42 -0000 1.2 --- README 18 Jun 2005 22:02:04 -0000 1.3 *************** *** 66,69 **** --- 66,70 ---- MX - preference cname NS,PTR,CNAME - domain name + NAPTR - naming authority (ENUM) Example: *************** *** 73,76 **** --- 74,78 ---- ns_dns add mydomain.com NS ns.mydomain.com ns_dns add mydomain.com MX 1 ns.mydomain.com + ns_dns add 1.2.3.4.5.6.e164.arpa NAPTR 1 100 u E2U+sip {!^.*$!sip:12...@si...:5060!} ns_dns del name type ?value? Index: nsdns.c =================================================================== RCS file: /cvsroot/naviserver/modules/nsdns/nsdns.c,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** nsdns.c 14 Jun 2005 03:20:38 -0000 1.5 --- nsdns.c 18 Jun 2005 22:02:04 -0000 1.6 *************** *** 244,248 **** n += dnsQueues[i].size; r += dnsQueues[i].requests; ! sprintf(tmp,"size%d %lu maxsize%d %lu time%d %lu requests%d %lu ",i,dnsQueues[i].size,i,dnsQueues[i].maxsize,i,dnsQueues[i].time,i,dnsQueues[i].requests); Tcl_AppendResult(interp, tmp, 0); } --- 244,249 ---- n += dnsQueues[i].size; r += dnsQueues[i].requests; ! sprintf(tmp,"size%d %lu maxsize%d %lu time%d %lu requests%d %lu ", ! i,dnsQueues[i].size,i,dnsQueues[i].maxsize,i,dnsQueues[i].time,i,dnsQueues[i].requests); Tcl_AppendResult(interp, tmp, 0); } *************** *** 266,279 **** return TCL_ERROR; } ! drec = dnsRecordCreateMX(Tcl_GetString(objv[2]),atoi(Tcl_GetString(objv[4])),Tcl_GetString(objv[5])); if(objc > 6) drec->ttl = atoi(Tcl_GetString(objv[6])); break; case DNS_TYPE_NAPTR: ! if(objc < 10) { ! Tcl_WrongNumArgs(interp,2,objv,"name type order preference flags service regexp replace ?ttl?"); return TCL_ERROR; } ! drec = dnsRecordCreateNAPTR(Tcl_GetString(objv[2]),atoi(Tcl_GetString(objv[4])),atoi(Tcl_GetString(objv[5])), ! Tcl_GetString(objv[6]),Tcl_GetString(objv[7]),Tcl_GetString(objv[8]),Tcl_GetString(objv[9])); if(objc > 10) drec->ttl = atoi(Tcl_GetString(objv[10])); break; --- 267,284 ---- return TCL_ERROR; } ! drec = dnsRecordCreateMX(Tcl_GetString(objv[2]),atoi(Tcl_GetString(objv[4])), ! Tcl_GetString(objv[5])); if(objc > 6) drec->ttl = atoi(Tcl_GetString(objv[6])); break; case DNS_TYPE_NAPTR: ! if(objc < 9) { ! Tcl_WrongNumArgs(interp,2,objv,"name type order preference flags service regexp ?replace? ?ttl?"); return TCL_ERROR; } ! drec = dnsRecordCreateNAPTR(Tcl_GetString(objv[2]),atoi(Tcl_GetString(objv[4])), ! atoi(Tcl_GetString(objv[5])), ! Tcl_GetString(objv[6]),Tcl_GetString(objv[7]), ! Tcl_GetString(objv[8]), ! objc > 9 ? Tcl_GetString(objv[9]) : 0); if(objc > 10) drec->ttl = atoi(Tcl_GetString(objv[10])); break; |