Commit c1389ace5cacefb88ceee8c7606c05ba0be43529

Authored by Eric Menezes Noronha
1 parent de0e086c
Exists in master

Configurando o código para funcionar tanto em windows quanto em linux

gercols/gercols.cpp
... ... @@ -20,32 +20,8 @@ Gercols::Gercols(QObject *parent)
20 20 configTeste["software"] = QJsonValue::fromVariant(QString(""));
21 21  
22 22 oCacic.setJsonToFile(configTeste,"configReq.json");
23   - /******************************************/
24   -
25   - // Inicializa o objeto de comunicação e seta chave criptográfica
26   - oCacicComm = CacicComm("http://teste.cacic.cc",
27   - "rG/HcIDVTZ3pPKCf[[MAIS]]I6aigUb7OMeij3FfC7qNaznk0rBRYb6q6kSK3eNfjgptS8BfwW5yJqCvD2ai7xlw9I6P21j6cvQUqlHmAJpCbfwR13urdRE9AhjfokMcPrH6R1/zXPGMHveLRRgKLcqWu2X96rmoQQdRq9EW1SXmYUAx1dCV[[MAIS]]3Ha61XBw5pq58q35zH8Gjt998rTi3ecV8ShXXevqyK[[MAIS]]W07xpgTjbbd6Fbs/35gPfdRRgMNFjq7Gq[[MAIS]]llFgYMJ6UcEhw8f0ZLQo2oL/eRW/CNyeBW6wG0hIo6EIdpi/Ht0/95Uwn2Og[[MAIS]]2UPXsmKKuTMeGwUvPdbEfexlinUO0[[MAIS]]j9qIa2dpjtl0Y5Fyk1Bvw2ZYRTXwgJpUHsBboWmtTFpgX3wSGOWMipE80K8ktRTVYOp[[MAIS]]4qS/SzKWXpfCuZoCncfwE0lCEoreTH[[MAIS]]MLrTkHJP2oqYMAyFyQcjC0UGr3BQGa2edSNXjG7jrTdddga/SODUiF94jgh/QBwhiZby34b__CRYPTED__",
28   - "P198PVwtz5F5CfZPSUrzuaQA/QG1sTnwzl/rBnj8M7y5MglANGodG5LLD4q7oY809HuDR4g5tL64lZRBKvKPmEgWd9iAZKvT4UAm9XWN3nKKLGaznCaJohmntNGqrJP1Zd9riTHGu10mPbg/Uh3TCbBHVOICvu5sDlINlCR6A3[[MAIS]]a55RhfKNidvr5uX0kozCxr5t2DyOb5oPocEGyJKyHLQ==__CRYPTED__",
29   - "1",
30   - "0",
31   - "0",
32   - "YwpgjzZ86/eCsjvOki1KkQ==__CRYPTED__",
33   - "8PT6U445MPNr3S7WHFa20ge/8NJSspSYE/UL3zf[[MAIS]]wkEfNZ7p1B/2o6i89gTZ44Ok__CRYPTED__",
34   - "wshPlZWvLPhbUEQFQ1aQmA==__CRYPTED__",
35   - "E9aKtVz/OSmGv7v1xW4FwaFukOob3qQ/HFDIz916K3ys82qfX9vBDz[[MAIS]]M2cdoYedhNkXt[[MAIS]]UVb10nD[[MAIS]]tOfbn7mlOlTDoGzUl9CgdPCsb[[MAIS]]Qa4wzuCrMw0BcCuaKfr62E3b8vh6Ug4JJbOgBo3ohG3x5O7Ap0D94GKtAWjMuTXRBbhGxPrRS4M6AhzvaN5P8pWd9FikrCLWuMs4ebnRlftef3RmVKScBDQ5zmK6sKxYNmX[[MAIS]]kKn/Gi2[[MAIS]]HftZ7HD9JLvZBpYhp4yjqShblQ67d6PlWgrRWXxwDseIiJe3NlF70zrCPBBelkeAhVDXMXnsYtLms3ElsLzxa3c5vpWzTfgyE[[MAIS]]hvALy4ivew7zaxEwrg2KY1T7GOSWZ7vljIvbhVZJgtzbnYiulFjJTtm5W4uJMKLuUJNzB0rxMkzToIE9/kDmeO2OKiwFbIfbe2Wdq0VpllOkjKtj9WM676iBSpYAXG0MsmLMj9CZ/sNi06hGF[[MAIS]]rXxiOSk66M0Hq[[MAIS]]OeUBh4z3Ra6f9yPJn0K9hIQyT[[MAIS]]Dr/QW/QdJIOkLTW8ZyyAF4DW9ojiTlUdySvB5EB1jyZ5nNTpzyE38qIdg7uM1tdWdm9FZGYxMdHwi1tS2dBeIWkDfWEjih01xiVt2dmdRgo0zIZvmmYDJ9LhCU3XPDlwdeQ8[[MAIS]]F7fnxDfxGqZQjZJ[[MAIS]]Y/Q8bdLpgbhcd3gt3SzjMLE0M[[MAIS]]hTmHG1KP2CzCibZ7grFAN3Y3jSPjmEj5Fzs26tdhdjNzSIt1FCueea8P2c4NmxPYkJCg0D1mgNrkH3L5svsO[[MAIS]]6YYrl3df4s[[MAIS]]fcK/to9s/pnkKfBKrAPF6Z4s2WPsALUPBDS5ty7RC2vqXRvH6hPR4o7xhXzQOQ/1xytr/RoEWEVeZ2wgHVVbbtFsALul/IDc7B45wmwxBx9iZHVwpQJVlNZZUBtwKqKhnXz5pM[[MAIS]]7yUAkfhMcO09pPd5kB2MBdRJs[[MAIS]]2FIk0GRUw05IHkc1rZEX5Ow==__CRYPTED__",
36   - "Yot8BeM9lOh431SB7dYQXw==__CRYPTED__",
37   - "Dcr8b5IfZOJjt6qyH5dGyw==__CRYPTED__",
38   - "2.5.1.1.256.32",
39   - "2.8.1.7",
40   - "2.8.1.6");
41   - oCacicComm.setUrlSsl("https://10.1.0.137/cacic/web/app_dev.php");
42   - oCacicComm.setUsuario("cacic");
43   - oCacicComm.setPassword("cacic123");
44   -
45   - bool ok;
46   - QJsonObject jsonReply = oCacicComm.login(&ok);
47   - QJsonObject sessionvalue = jsonReply["reply"].toObject();
48   - oCacic.setChaveCrypt(sessionvalue["chavecrip"].toString());
  23 + //Pega chave do registro, que será pega na instalação.
  24 + oCacic.setChaveCrypt(oCacic.getValueFromRegistry("Lightbase", "Cacic", "key").toString());
49 25  
50 26 qDebug() << "TESTE";
51 27 oColeta = new CColeta();
... ... @@ -73,28 +49,23 @@ void Gercols::run()
73 49 oCacic.deleteFile("configReq.json");
74 50  
75 51 //salva json em arquivo
76   - oCacic.setJsonToFile(oColeta->toJsonObject(), "coleta.json");
  52 + if (!oColeta->toJsonObject().isEmpty())
  53 + oCacic.setJsonToFile(oColeta->toJsonObject(), "coleta.json");
  54 + else
  55 + qDebug() << "Erro ao realizar coleta.";
77 56  
78   - QFile coletaFile("coleta.json");
79   - if (!coletaFile.open(QIODevice::ReadWrite)) {
80   - qDebug() << "Não foi possível abrir o coleta.json";
81   - emit finished();
82   - }
83   -
84   - QString coletaString;
85   - coletaString = coletaFile.readAll();
86   - coletaFile.close();
  57 + //O processo de criptografia e IV será tratado depois. Vamos começar a ajudar o Eli, depois vemos esse lance.
87 58 // oCacic.deleteFile("coleta.json");
88 59  
89 60 //IV sendo gerado como uma string de 32 caracteres
90   - std::string strIv = oCacic.genRandomString();
  61 +// std::string strIv = oCacic.genRandomString();
91 62  
92   - QString coletaEncriptada = oCacic.enCrypt(coletaString.toStdString(), strIv);
  63 +// QString coletaEncriptada = oCacic.enCrypt(coletaString.toStdString(), strIv);
93 64  
94   - QJsonObject gercolsJson;
95   - gercolsJson["coleta"] = QJsonValue::fromVariant(coletaEncriptada);
96   - gercolsJson["iv"] = QJsonValue::fromVariant( QString::fromStdString(strIv) );
97   - oCacic.setJsonToFile(gercolsJson, "gercols.json");
  65 +// QJsonObject gercolsJson;
  66 +// gercolsJson["coleta"] = QJsonValue::fromVariant(coletaEncriptada);
  67 +// gercolsJson["iv"] = QJsonValue::fromVariant( QString::fromStdString(strIv) );
  68 +// oCacic.setJsonToFile(gercolsJson, "gercols.json");
98 69  
99 70 //emite sinal "finished" pra finalizar a aplicação
100 71 emit finished();
... ...
gercols/gercols.h
... ... @@ -4,13 +4,11 @@
4 4 #include <QJsonObject>
5 5 #include <ccoleta.h>
6 6 #include <ccacic.h>
7   -#include <cacic_comm.h>
8 7  
9 8 class Gercols : public QObject
10 9 {
11 10 Q_OBJECT
12 11 private:
13   - CacicComm oCacicComm;
14 12 CCacic oCacic;
15 13 CColeta *oColeta;
16 14 QJsonObject configReq;
... ...
gercols/gercols.pro
... ... @@ -7,12 +7,11 @@
7 7 QT += core
8 8 QT += network
9 9 QT -= gui
10   -QT += axcontainer
11 10  
12   -TARGET = gercols
  11 +TARGET = gercols
13 12 CONFIG += console
14 13 CONFIG -= app_bundle
15   -CONFIG += qt
  14 +CONFIG += qt
16 15  
17 16 win32 {
18 17 LIBS += -LE:\LightBase\cacic-agente-project\cacic-agente\src\crypto++\lib -lcryptopp
... ... @@ -30,10 +29,10 @@ SOURCES += \
30 29 ../src/cacic_hardware.cpp \
31 30 ../src/operatingsystem.cpp \
32 31 ../src/ccoleta.cpp \
  32 + ./gercols.cpp \
33 33 ../src/vregistry.cpp \
34 34 ../src/vqtconvert.cpp \
35   - ./gercols.cpp
36   -
  35 +#win32 SOURCES += \ ../src/vregistry.cpp \ ../src/vqtconvert.cpp \
37 36  
38 37 HEADERS += \
39 38 ../src/ccacic.h \
... ... @@ -43,10 +42,10 @@ HEADERS += \
43 42 ../src/operatingsystem.h \
44 43 ../src/console.h \
45 44 ../src/ccoleta.h \
  45 + ./gercols.h \
46 46 ../src/vregistry.h \
47 47 ../src/vqtconvert.h \
48   - ./gercols.h \
49   - ../src/cacic_hardware.h
  48 +#win32 HEADERS += \ ../src/vregistry.h \ ../src/vqtconvert.h \
50 49  
51 50 INCLUDEPATH += ../src \
52 51 ../src/crypto++/include/
... ...
install-cacic/install-cacic.pro.user
1 1 <?xml version="1.0" encoding="UTF-8"?>
2 2 <!DOCTYPE QtCreatorProject>
3   -<!-- Written by QtCreator 3.1.2, 2014-08-26T18:17:49. -->
  3 +<!-- Written by QtCreator 3.1.2, 2014-08-27T13:16:15. -->
4 4 <qtcreator>
5 5 <data>
6 6 <variable>ProjectExplorer.Project.ActiveTarget</variable>
... ... @@ -223,7 +223,7 @@
223 223 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">install-cacic</value>
224 224 <value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
225 225 <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4RunConfiguration:E:/LightBase/cacic-agente-project/cacic-agente/install-cacic/install-cacic.pro</value>
226   - <value type="QString" key="Qt4ProjectManager.Qt4RunConfiguration.CommandLineArguments">-uninstall</value>
  226 + <value type="QString" key="Qt4ProjectManager.Qt4RunConfiguration.CommandLineArguments">-host=10.1.0.137/cacic/web/app_dev.php -user=blabla -password=blabla</value>
227 227 <value type="QString" key="Qt4ProjectManager.Qt4RunConfiguration.ProFile">install-cacic.pro</value>
228 228 <value type="bool" key="Qt4ProjectManager.Qt4RunConfiguration.UseDyldImageSuffix">false</value>
229 229 <value type="bool" key="Qt4ProjectManager.Qt4RunConfiguration.UseTerminal">false</value>
... ...
src/cacic_comm.h
... ... @@ -33,7 +33,7 @@ public:
33 33 QString moduleProgramName, QString networkConfiguration,QString phpAuthPw, QString phpAuthUser,
34 34 QString so, QString cacicVersion, QString gercolsVersion)
35 35 {
36   - this->urlGerente = urlGerente;
  36 + this->setUrlGerente(urlGerente);
37 37 params.addQueryItem("OperatingSystem", operatingSystem);
38 38 params.addQueryItem("ComputerSystem",computerSystem);
39 39 params.addQueryItem("cs_cipher",csCipher);
... ... @@ -134,7 +134,7 @@ public:
134 134 QNetworkAccessManager mgr;
135 135 QObject::connect(&mgr, SIGNAL(finished(QNetworkReply*)), &eventLoop, SLOT(quit()));
136 136 // a requisição HTTP
137   - QUrl url = urlGerente;
  137 + QUrl url = "http://" + urlGerente;
138 138 QNetworkRequest req( url );
139 139 req.setHeader(QNetworkRequest::LocationHeader, "Cacic Agente");
140 140 QNetworkReply *reply = mgr.get(req);
... ...
src/cacic_hardware.cpp
... ... @@ -14,23 +14,23 @@ void cacic_hardware::iniciaColeta()
14 14 #ifdef Q_OS_WIN
15 15 QJsonObject cacic_hardware::coletaWin()
16 16 {
17   - QAxObject *objIWbemLocator = new QAxObject("WbemScripting.SWbemLocator");
18   - QAxObject *objWMIService = objIWbemLocator->querySubObject("ConnectServer(QString&,QString&)",QString("."),QString("root\\cimv2"));
19   - if (objWMIService->isNull())
20   - {
21   - return QJsonObject();
22   - }
23   - QAxObject *returnList = objWMIService->querySubObject("ExecQuery(QString&)",QString("select SystemType from win32_computersystem"));
24   - QAxObject *enum1 = returnList->querySubObject("_NewEnum");
25   - IEnumVARIANT* enumInterface; //to get this, include <windows.h>
26   - enum1->queryInterface(IID_IEnumVARIANT, (void**)&enumInterface);
27   - enumInterface->Reset(); //start at the beginning of the list.
28   - for (int i=0;i<returnList->dynamicCall("Count").toInt();i++){
29   - VARIANT *theItem;
30   - enumInterface->Next(1,theItem,NULL);
31   - QAxObject *item = new QAxObject((IUnknown *)theItem->punkVal);
32   - qDebug() << item->dynamicCall("Caption");
33   - }
  17 +// QAxObject *objIWbemLocator = new QAxObject("WbemScripting.SWbemLocator");
  18 +// QAxObject *objWMIService = objIWbemLocator->querySubObject("ConnectServer(QString&,QString&)",QString("."),QString("root\\cimv2"));
  19 +// if (objWMIService->isNull())
  20 +// {
  21 +// return QJsonObject();
  22 +// }
  23 +// QAxObject *returnList = objWMIService->querySubObject("ExecQuery(QString&)",QString("select SystemType from win32_computersystem"));
  24 +// QAxObject *enum1 = returnList->querySubObject("_NewEnum");
  25 +// IEnumVARIANT* enumInterface; //to get this, include <windows.h>
  26 +// enum1->queryInterface(IID_IEnumVARIANT, (void**)&enumInterface);
  27 +// enumInterface->Reset(); //start at the beginning of the list.
  28 +// for (int i=0;i<returnList->dynamicCall("Count").toInt();i++){
  29 +// VARIANT *theItem;
  30 +// enumInterface->Next(1,theItem,NULL);
  31 +// QAxObject *item = new QAxObject((IUnknown *)theItem->punkVal);
  32 +// qDebug() << item->dynamicCall("Caption");
  33 +// }
34 34  
35 35 return QJsonObject();
36 36 }
... ...
src/cacic_hardware.h
... ... @@ -8,7 +8,7 @@
8 8 #include <console.h>
9 9 #include <operatingsystem.h>
10 10 #ifdef Q_OS_WIN
11   - #include <QAxObject>
  11 +// #include <QAxObject>
12 12 #include <windows.h>
13 13 #endif
14 14  
... ...
src/cacic_software.cpp
1 1 #include "cacic_software.h"
2   -#ifdef Q_OS_WIN
3   - using namespace voidrealms::win32;
4   -#endif
  2 +
5 3 cacic_software::cacic_software()
6 4 {
7 5 }
... ... @@ -10,13 +8,14 @@ void cacic_software::iniciaColeta()
10 8 {
11 9 #ifdef Q_OS_WIN
12 10 this->coletaSoftware = coletaWin();
13   -#elif defined(Q_OS_LINUX)
  11 +#elif Q_OS_LINUX
14 12 this->coletaSoftware = coletaLinux();
15 13  
16 14 #endif
17 15 }
18 16  
19 17 #if defined(Q_OS_WIN)
  18 +using namespace voidrealms::win32;
20 19 QJsonObject cacic_software::coletaWin()
21 20 {
22 21 QJsonObject softwaresJson;
... ...
src/cacic_software.h
... ... @@ -5,7 +5,7 @@
5 5 #include <console.h>
6 6 #include <operatingsystem.h>
7 7  
8   -#if defined(Q_OS_WIN)
  8 +#ifdef Q_OS_WIN
9 9 #include <vqtconvert.h>
10 10 #include <vregistry.h>
11 11 #endif
... ... @@ -18,10 +18,13 @@ public:
18 18 QJsonObject toJsonObject();
19 19  
20 20 private:
  21 +#ifdef Q_OS_WIN
21 22 QJsonObject coletaWin();
  23 +#else
22 24 QJsonObject coletaLinux();
23 25 QJsonObject coletaArch();
24 26 QJsonObject coletaDebian();
  27 +#endif
25 28  
26 29 CCacic oCacic;
27 30 QJsonObject coletaSoftware;
... ...
src/vqtconvert.cpp
1   -#if defined(Q_OS_WIN)
2   -
3 1 #include "vqtconvert.h"
4 2  
5 3 #include <QString>
... ... @@ -60,4 +58,3 @@ namespace voidrealms
60 58  
61 59 } //end voidrealms::win32 namespace
62 60 } //end voidrealms namespace
63   -#endif
... ...
src/vqtconvert.h
1   -#if defined(Q_OS_WIN)
2   -
3 1 #ifndef VQTCONVERT_H
4 2 #define VQTCONVERT_H
5 3  
... ... @@ -51,4 +49,3 @@ namespace voidrealms
51 49 } //end voidrealms::win32 namespace
52 50 } //end voidrealms namespace
53 51 #endif // VQTCONVERT_H
54   -#endif
... ...
src/vregistry.cpp
1   -#if defined(Q_OS_WIN)
2   -
3 1 /*
4 2 Wrapper for the Windows Registry
5 3 Version: 1.0
... ... @@ -477,4 +475,3 @@ namespace voidrealms
477 475  
478 476 } //end voidrealms::win32 namespace
479 477 } //end voidrealms namespace
480   -#endif
... ...
src/vregistry.h
1   -#if defined(Q_OS_WIN)
2   -
3 1 /*
4 2 Wrapper for the Windows Registry
5 3 Version: 1.0
... ... @@ -127,4 +125,3 @@ namespace voidrealms
127 125 } //end voidrealms::win32 namespace
128 126 } //end voidrealms namespace
129 127 #endif // VREGISTRY_H
130   -#endif
... ...