From e07f513c8804de8a2e180106c32d0155dc1761e6 Mon Sep 17 00:00:00 2001 From: Eric Menezes Noronha Date: Mon, 8 Sep 2014 15:26:33 -0300 Subject: [PATCH] Envio do MAC e Subnet separadamente na comunicação. --- CACIC_Comm.pas | 12 +++++++----- CACIC_WMI.pas | 40 ++++++++++++++++++++++++++++++++++++++++ Mapa/mapacacic.dpr | 3 ++- Mapa/mapacacic.dproj | 3 ++- Mapa/mapacacic.res | Bin 4192 -> 0 bytes cacic280.dproj | 2 +- cacic280.res | Bin 4876 -> 0 bytes cacicservice/cacicservice.dproj | 2 +- cacicservice/cacicservice.res | Bin 5292 -> 0 bytes chksis/chksis.dproj | 2 +- chksis/chksis.res | Bin 5084 -> 0 bytes gercols/gercols.dpr | 2 +- gercols/gercols.dproj | 2 +- gercols/gercols.res | Bin 4756 -> 0 bytes installcacic/installcacic.dproj | 2 +- installcacic/installcacic.res | Bin 3304 -> 0 bytes 16 files changed, 57 insertions(+), 13 deletions(-) diff --git a/CACIC_Comm.pas b/CACIC_Comm.pas index 10b7b55..75aa600 100644 --- a/CACIC_Comm.pas +++ b/CACIC_Comm.pas @@ -36,7 +36,8 @@ var tStringStrResponseCS : TStringStream; strWin32_OperatingSystem, strWin32_SoftwareFeature, strTeDebugging, - strMac : String; + strMac, + strSubnet : String; Begin Try tStringStrResponseCS := TStringStream.Create(''); @@ -54,9 +55,9 @@ Begin strWin32_OperatingSystem := fetchWmiValues('Win32_OperatingSystem' ,objCacicCOMM.getLocalFolderName); strWin32_ComputerSystem := fetchWmiValues('Win32_ComputerSystem' ,objCacicCOMM.getLocalFolderName); strWin32_NetworkAdapterConfiguration := fetchWmiValues('Win32_NetworkAdapterConfiguration',objCacicCOMM.getLocalFolderName); - strMac := objCacicCOMM.getValueFromTags('MACAddress',fetchWMIvalues('Win32_NetworkAdapterConfiguration',objCacicCOMM.getLocalFolderName,'MACAddress')); - if pos('[', strMac) > 0 then - strMac := copy(strMac, 0, pos('[', strMac) - 1); + strMac := getOneValue('Win32_NetworkAdapterConfiguration', 'MACAddress'); + strSubnet := getOneValue('Win32_NetworkAdapterConfiguration', 'IPSubnet'); + delete(strSubnet, pos(strSubnet, '|'), Length(strSubnet)); // if (not (pos('get/test', pStrFullURL) > 0)) and (not (pos('get/config', pStrFullURL) > 0)) then // begin @@ -83,7 +84,8 @@ Begin Values['te_so' ] := objCacicCOMM.replaceInvalidHTTPChars(objCacicCOMM.getWindowsStrId() ); Values['te_versao_cacic' ] := objCacicCOMM.replaceInvalidHTTPChars(objCacicCOMM.getVersionInfo(objCacicCOMM.getLocalFolderName + objCacicCOMM.getMainProgramName)); Values['te_versao_gercols' ] := objCacicCOMM.replaceInvalidHTTPChars(objCacicCOMM.getVersionInfo(objCacicCOMM.getLocalFolderName + 'Modules\gercols.exe' )); - Values['te_node_address' ] := objCacicCOMM.replaceInvalidHTTPChars(objCacicCOMM.enCrypt(strMac, true, true)); + Values['te_node_address' ] := objCacicCOMM.replaceInvalidHTTPChars(strMac); + Values['netmask' ] := objCacicCOMM.replaceInvalidHTTPChars(strSubnet); End; if objCacicCOMM.isInDebugMode then diff --git a/CACIC_WMI.pas b/CACIC_WMI.pas index 540907c..8d0bc4c 100644 --- a/CACIC_WMI.pas +++ b/CACIC_WMI.pas @@ -30,9 +30,49 @@ uses Windows, function fetchWMIvalues(pStrWin32ClassName, pStrLocalFolderName : String; pStrColumnsNames : String = ''; pStrWhereClause : String = '') : String; procedure fixNetworkAdapterConfigurationInformations(var pStrWin32_NetworkAdapterConfigurationInformations : String; pStrLocalFolderName : String); +function getOneValue(className, selectValue : string; whereValue : string = '') : string; implementation +function getOneValue(className, selectValue : string; whereValue : string = '') : string; +var + strWMIQuery : string; + arrWMIResults : T2DimStrArray; + intTotalOfRows, + intTotalOfInstances, + Y, X : integer; + objCacicWMI : TCACIC; +begin + result := ''; + objCacicWMI := TCACIC.Create; + strWMIQuery := 'SELECT ' + selectValue + ' FROM ' + className; + if whereValue <> '' then + strWMIQuery := strWMIQuery + ' WHERE ' + whereValue; + Try + Try + CoInitialize(nil); + intTotalOfRows := MagWmiGetInfo('.','root/CIMV2','','',strWMIQuery, arrWMIResults, intTotalOfInstances); + for X := 1 to intTotalOfInstances do + begin + for Y := 0 to intTotalOfRows do + begin + if arrWMIResults[0, Y] = selectValue then + begin + result := arrWMIResults[X,Y]; + end; + end; + if (result <> '') AND (result <> 'NULL') then break; + End; + Finally + CoUninitialize; + end; + Except + on E : Exception do + Begin + objCacicWMI.writeExceptionLog(E.Message,E.ClassName,'ERRO em MagWmiGetInfo'); + End; + End; +end; // Procedimento para encontrar o DefaultIPGateway diferente de "" procedure fixNetworkAdapterConfigurationInformations(var pStrWin32_NetworkAdapterConfigurationInformations : String; pStrLocalFolderName : String); var intFNACI_CorrectIndex, diff --git a/Mapa/mapacacic.dpr b/Mapa/mapacacic.dpr index 36d5876..54556b1 100644 --- a/Mapa/mapacacic.dpr +++ b/Mapa/mapacacic.dpr @@ -19,7 +19,8 @@ uses synsock in 'Source\synsock.pas', asn1util in 'Source\asn1util.pas', blcksock in 'Source\blcksock.pas', - cryptlib in 'Source\cryptlib.pas'; + cryptlib in 'Source\cryptlib.pas', + CACIC_WMI in '..\CACIC_WMI.pas'; {$R *.res} diff --git a/Mapa/mapacacic.dproj b/Mapa/mapacacic.dproj index 49c45f7..b3e5ee4 100644 --- a/Mapa/mapacacic.dproj +++ b/Mapa/mapacacic.dproj @@ -24,7 +24,7 @@ Delphi.Personality -FalseTrueFalseTrueFalse28111TrueFalseFalseFalseFalse10461252Dataprev - Emp. de TI da Prev Social - URES/SESSSistema CACIC - Módulo para Verificação e Instalação de Estrutura Básica do Sistema CACIC2.8.1.113.0Licença: GNU/LGPLmapacacic.dprFalse +FalseTrueFalseTrueFalse28116TrueFalseFalseFalseFalse10461252Dataprev - Emp. de TI da Prev Social - URES/SESSSistema CACIC - Módulo para Verificação e Instalação de Estrutura Básica do Sistema CACIC2.8.1.163.0Licença: GNU/LGPLmapacacic.dprFalse @@ -33,6 +33,7 @@ +
frmMapaCacic
diff --git a/Mapa/mapacacic.res b/Mapa/mapacacic.res index 7d4b343..7e72423 100644 Binary files a/Mapa/mapacacic.res and b/Mapa/mapacacic.res differ diff --git a/cacic280.dproj b/cacic280.dproj index f8f323b..8e37712 100644 --- a/cacic280.dproj +++ b/cacic280.dproj @@ -40,7 +40,7 @@ Delphi.Personality VCLApplication -FalseTrueFalseTrueFalse28113FalseFalseFalseFalseFalse10461252Dataprev - Emp. de TI da Prev.Social - URES/SESSSistema CACIC - Módulo Agente Principal2.8.1.13Baseado na licença GNU/LGPLCacic - Configurador Automático e Coletor de Informações Computacionais3.0cacic280.dpr +FalseTrueFalseTrueFalse28116FalseFalseFalseFalseFalse10461252Dataprev - Emp. de TI da Prev.Social - URES/SESSSistema CACIC - Módulo Agente Principal2.8.1.16Baseado na licença GNU/LGPLCacic - Configurador Automático e Coletor de Informações Computacionais3.0cacic280.dpr diff --git a/cacic280.res b/cacic280.res index 36ca706..3ef3216 100644 Binary files a/cacic280.res and b/cacic280.res differ diff --git a/cacicservice/cacicservice.dproj b/cacicservice/cacicservice.dproj index 3dd3705..32deec4 100644 --- a/cacicservice/cacicservice.dproj +++ b/cacicservice/cacicservice.dproj @@ -37,7 +37,7 @@ Delphi.Personality VCLApplication -FalseTrueFalseE:\NTService\TrueFalse2817FalseFalseFalseFalseFalse10461252Dataprev - Emp. de TI da Prev Social - URES/SESSSistema CACIC - Módulo para Sustentação do Agente Principal2.8.1.73.0Licença: GNU/LGPLcacicservice.dpr +FalseTrueFalseE:\NTService\TrueFalse28116FalseFalseFalseFalseFalse10461252Dataprev - Emp. de TI da Prev Social - URES/SESSSistema CACIC - Módulo para Sustentação do Agente Principal2.8.1.163.0Licença: GNU/LGPLcacicservice.dpr diff --git a/cacicservice/cacicservice.res b/cacicservice/cacicservice.res index a59638c..c25ac6e 100755 Binary files a/cacicservice/cacicservice.res and b/cacicservice/cacicservice.res differ diff --git a/chksis/chksis.dproj b/chksis/chksis.dproj index 97d3d29..54abf3a 100755 --- a/chksis/chksis.dproj +++ b/chksis/chksis.dproj @@ -29,7 +29,7 @@ Delphi.Personality VCLApplication -C:\Arquivos de programas\Borland\Delphi7\Mitec\D7FalseTrueFalseC:\Arquivos de programas\Borland\Delphi7\Bin\TrueFalse2818FalseFalseFalseFalseFalse10461252Dataprev - Emp. de TI da Prev.Social - URES/SESSSistema CACIC - Módulo Verificador de Integridade2.8.1.8ChkSIS3.0Licença: GNU/LGPLchksis.dpr +C:\Arquivos de programas\Borland\Delphi7\Mitec\D7FalseTrueFalseC:\Arquivos de programas\Borland\Delphi7\Bin\TrueFalse28116FalseFalseFalseFalseFalse10461252Dataprev - Emp. de TI da Prev.Social - URES/SESSSistema CACIC - Módulo Verificador de Integridade2.8.1.16ChkSIS3.0Licença: GNU/LGPLchksis.dpr diff --git a/chksis/chksis.res b/chksis/chksis.res index a3d6c34..bae1b9e 100755 Binary files a/chksis/chksis.res and b/chksis/chksis.res differ diff --git a/gercols/gercols.dpr b/gercols/gercols.dpr index 944f9ed..9ec52f6 100644 --- a/gercols/gercols.dpr +++ b/gercols/gercols.dpr @@ -852,7 +852,7 @@ Begin getConfigs(true); Finalizar(false); End - //Chamada realizada de minuto em minuto para verificar se há coleta a ser forçada. + //Chamada realizada para verificar se há coleta a ser forçada. else if FindCmdLineSwitch ('getTest', True) then begin getTest(); diff --git a/gercols/gercols.dproj b/gercols/gercols.dproj index d6d77fc..74abbe2 100644 --- a/gercols/gercols.dproj +++ b/gercols/gercols.dproj @@ -38,7 +38,7 @@ Delphi.Personality VCLApplication -C:\vendors_lib\JVCL345CompleteJCL231-Build4197\jcl\lib\d7\debugFalseTrueFalseTrueFalse2818FalseFalseFalseFalseFalse10461252Dataprev-Emp. de TI da Prev Social - URES/SESSSistema CACIC - Módulo Gerente de Coletas2.8.1.8Ger_COLS3.0Licença: GNU/LGPLgercols.dpr +C:\vendors_lib\JVCL345CompleteJCL231-Build4197\jcl\lib\d7\debugFalseTrueFalseTrueFalse28116FalseFalseFalseFalseFalse10461252Dataprev-Emp. de TI da Prev Social - URES/SESSSistema CACIC - Módulo Gerente de Coletas2.8.1.16Ger_COLS3.0Licença: GNU/LGPLgercols.dpr diff --git a/gercols/gercols.res b/gercols/gercols.res index 1d6f1a9..2398358 100644 Binary files a/gercols/gercols.res and b/gercols/gercols.res differ diff --git a/installcacic/installcacic.dproj b/installcacic/installcacic.dproj index f5272b8..b900e01 100644 --- a/installcacic/installcacic.dproj +++ b/installcacic/installcacic.dproj @@ -32,7 +32,7 @@ Delphi.Personality VCLApplication -FalseTrueFalseTrueFalse2818FalseFalseFalseFalseFalse10461252Dataprev - Emp. de TI da Prev Social - URES/SESSSistema CACIC - Módulo para Verificação e Instalação de Estrutura Básica do Sistema CACIC2.8.1.83.0Licença: GNU/LGPLinstallcacic.dpr +FalseTrueFalseTrueFalse28116FalseFalseFalseFalseFalse10461252Dataprev - Emp. de TI da Prev Social - URES/SESSSistema CACIC - Módulo para Verificação e Instalação de Estrutura Básica do Sistema CACIC2.8.1.163.0Licença: GNU/LGPLinstallcacic.dpr diff --git a/installcacic/installcacic.res b/installcacic/installcacic.res index b5a410a..2c88c4f 100644 Binary files a/installcacic/installcacic.res and b/installcacic/installcacic.res differ -- libgit2 0.21.2