diff --git a/app/upgrade/HGUpgrade.cpp b/app/upgrade/HGUpgrade.cpp index 5146866e..ee9f6f01 100644 --- a/app/upgrade/HGUpgrade.cpp +++ b/app/upgrade/HGUpgrade.cpp @@ -102,50 +102,51 @@ static void GetMacAddrList(std::vector &macList) pAdapterInfo = nullptr; #else DIR *dir = opendir("/sys/class/net"); - if (NULL != dir) + if (nullptr != dir) { printf("opendir success\n"); struct dirent *ent; while ((ent = readdir(dir)) != nullptr) { - if (1) + if (strcmp(ent->d_name, ".") == 0 || strcmp(ent->d_name, "..") == 0) + continue; + + if (strstr(ent->d_name, "docker") == ent->d_name || strstr(ent->d_name, "sit") == ent->d_name + || strstr(ent->d_name, "ip6tnl") == ent->d_name || strcmp(ent->d_name, "lo") == 0) + continue; + + printf("name %s\n", ent->d_name); + + char addrPath[256]; + sprintf(addrPath, "/sys/class/net/%s/address", ent->d_name); + + FILE *file = fopen(addrPath, "rb"); + if (nullptr != file) { - if (strcmp(ent->d_name, ".") == 0 || strcmp(ent->d_name, "..") == 0) - continue; + char mac[1025] = {0}; + fread(mac, 1, 1024, file); - if (strstr(ent->d_name, "docker") == ent->d_name || strstr(ent->d_name, "sit") == ent->d_name - || strstr(ent->d_name, "ip6tnl") == ent->d_name || strcmp(ent->d_name, "lo") == 0) - continue; - - printf("name %s\n", ent->d_name); - - char addrPath[256]; - sprintf(addrPath, "/sys/class/net/%s/address", ent->d_name); - - FILE *file = fopen(addrPath, "rb"); - if (NULL != file) + int len = (int)strlen(mac); + for (int i = 0; i < len; ++i) { - char mac[1025] = {0}; - fread(mac, 1, 1024, file); - if (strlen(mac) > 0) - { - if (mac[strlen(mac) - 1] == '\n') - mac[strlen(mac) - 1] = '\0'; - } - - if (strlen(mac) > 0) - { - macList.push_back(mac); - } - - printf("mac %s\n", mac); - fclose(file); + if (mac[i] == ':') + mac[i] = '-'; + else if (mac[i] == '\n') + mac[i] = '\0'; } - else + + if (strlen(mac) > 0) { - printf("fopen fail\n"); + macList.push_back(mac); } + + printf("mac %s\n", mac); + fclose(file); + } + else + { + printf("fopen fail\n"); } } @@ -198,7 +199,7 @@ static bool Greater(const std::string &str1, const std::string &str2) } // type:1表示安装 2表示卸载 src:来源 desc: 说明 -static bool PostInfo(int type, const std::string &src, const std::string &desc) +static bool PostInfo(int type, const std::string &desc) { curl_global_init(CURL_GLOBAL_ALL); @@ -236,9 +237,55 @@ static bool PostInfo(int type, const std::string &src, const std::string &desc) std::string version = GetCurrVersion(); + std::string osName, archName, oemName; + +#if defined(HG_CMP_MSC) + osName = "Windows"; + archName = "unknown"; + + SYSTEM_INFO si; + GetNativeSystemInfo(&si); + if (si.wProcessorArchitecture == PROCESSOR_ARCHITECTURE_AMD64) + archName = "x64"; + else if (si.wProcessorArchitecture == PROCESSOR_ARCHITECTURE_INTEL) + archName = "x86"; + +#else + osName = "Linux"; + archName = "unknown"; + + FILE *fp = popen("system("cat /etc/issue | cut -d\' \' -f1")", "r"); + if (nullptr != fp) + { + char buff[1024] = {0}; + fread(buff, 1024, 1, fp); + osName = buff; + pclose(fp); + } + + fp = popen("system("arch")", "r"); + if (nullptr != fp) + { + char buff[1024] = {0}; + fread(buff, 1024, 1, fp); + archName = buff; + pclose(fp); + } +#endif + +#if defined(OEM_HANWANG) + oemName = "Hanvon"; +#elif defined(OEM_LISICHENG) + oemName = "Lanxum"; +#else + oemName = "Huago"; +#endif + + std::string source = osName + "-" + archName + "-" + oemName; + char json[1024]; sprintf(json, "{\"type\":%d, \"mac\":\"%s\", \"localid\":\"%s\", \"v\":\"%s\", \"ref\":\"%s\", \"desc\":\"%s\"}", - type, macList[0].c_str(), md5Str, version.c_str(), src.c_str(), desc.c_str()); + type, macList[0].c_str(), md5Str, version.c_str(), source.c_str(), desc.c_str()); struct curl_slist* headers = nullptr; headers = curl_slist_append(headers, "Content-Type:application/json;charset=UTF-8"); @@ -270,14 +317,14 @@ static bool PostInfo(int type, const std::string &src, const std::string &desc) return ret; } -bool PostInstallInfo(const std::string &src, const std::string &desc) +bool PostInstallInfo(const std::string &desc) { - return PostInfo(1, src, desc); + return PostInfo(1, desc); } -bool PostUninstallInfo(const std::string &src, const std::string &desc) +bool PostUninstallInfo(const std::string &desc) { - return PostInfo(2, src, desc); + return PostInfo(2, desc); } static bool Setup(const std::string& pkgPath) @@ -307,10 +354,10 @@ static bool Setup(const std::string& pkgPath) return ret; } -bool Upgrade(const std::string& pkgPath, const std::string &src, const std::string &desc) +bool Upgrade(const std::string& pkgPath, const std::string &desc) { bool ret = Setup(pkgPath); if (ret) - PostInfo(1, src, desc); + PostInfo(1, desc); return ret; } diff --git a/app/upgrade/HGUpgrade.h b/app/upgrade/HGUpgrade.h index 0fd86362..69dcfe81 100644 --- a/app/upgrade/HGUpgrade.h +++ b/app/upgrade/HGUpgrade.h @@ -4,12 +4,12 @@ #include // 上传安装日志 -bool PostInstallInfo(const std::string &src, const std::string &desc); +bool PostInstallInfo(const std::string &desc); // 上传卸载日志 -bool PostUninstallInfo(const std::string &src, const std::string &desc); +bool PostUninstallInfo(const std::string &desc); // 升级安装, 使用之前的安装路径 -bool Upgrade(const std::string& pkgPath, const std::string &src, const std::string &desc); +bool Upgrade(const std::string& pkgPath, const std::string &desc); #endif /* __HGUPGRADE_H__ */ diff --git a/app/upgrade/main.cpp b/app/upgrade/main.cpp index ad0acf1c..32eb57d7 100644 --- a/app/upgrade/main.cpp +++ b/app/upgrade/main.cpp @@ -6,7 +6,6 @@ int main(int argc, char *argv[]) { int type = 0; - std::string src; std::string desc; std::string pkgPath; @@ -22,20 +21,18 @@ int main(int argc, char *argv[]) type = 3; else if (z == strstr(z, "-pkgpath=")) pkgPath = z + strlen("-pkgpath="); - else if (z == strstr(z, "-src=")) - src = z + strlen("-src="); else if (z == strstr(z, "-desc=")) desc = z + strlen("-desc="); } if (1 == type) - PostInstallInfo(src, desc); + PostInstallInfo(desc); else if (2 == type) - PostUninstallInfo(src, desc); + PostUninstallInfo(desc); else if (3 == type && !pkgPath.empty()) { QApplication a(argc, argv); - MainWindow w(pkgPath, src, desc); + MainWindow w(pkgPath, desc); w.show(); a.exec(); } diff --git a/app/upgrade/mainwindow.cpp b/app/upgrade/mainwindow.cpp index 09f6337b..314d9611 100644 --- a/app/upgrade/mainwindow.cpp +++ b/app/upgrade/mainwindow.cpp @@ -2,11 +2,10 @@ #include "ui_mainwindow.h" #include "HGUpgrade.h" -MainWindow::MainWindow(const std::string& pkgPath, const std::string& src, const std::string& desc, QWidget *parent) +MainWindow::MainWindow(const std::string& pkgPath, const std::string& desc, QWidget *parent) : QMainWindow(parent) , ui(new Ui::MainWindow) , m_pkgPath(pkgPath) - , m_src(src) , m_desc(desc) , m_thread(nullptr) { @@ -23,7 +22,7 @@ MainWindow::MainWindow(const std::string& pkgPath, const std::string& src, const MainWindow::~MainWindow() { HGBase_CloseThread(m_thread); - m_thread = NULL; + m_thread = nullptr; delete ui; } @@ -32,7 +31,7 @@ void MainWindow::ThreadFunc(HGThread thread, HGPointer param) { (void)thread; MainWindow* p = (MainWindow*)param; - Upgrade(p->m_pkgPath, p->m_src, p->m_desc); + Upgrade(p->m_pkgPath, p->m_desc); emit p->closeWnd(); } diff --git a/app/upgrade/mainwindow.h b/app/upgrade/mainwindow.h index bbfabbb6..492ee2e5 100644 --- a/app/upgrade/mainwindow.h +++ b/app/upgrade/mainwindow.h @@ -13,7 +13,7 @@ class MainWindow : public QMainWindow Q_OBJECT public: - MainWindow(const std::string &pkgPath, const std::string& src, const std::string& desc, QWidget *parent = nullptr); + MainWindow(const std::string &pkgPath, const std::string& desc, QWidget *parent = nullptr); ~MainWindow(); signals: @@ -26,7 +26,6 @@ private: Ui::MainWindow *ui; std::string m_pkgPath; - std::string m_src; std::string m_desc; HGThread m_thread; }; diff --git a/build/windows/HGBase/HGBase.vcxproj b/build/windows/HGBase/HGBase.vcxproj index 4f8ac012..316c22f5 100644 --- a/build/windows/HGBase/HGBase.vcxproj +++ b/build/windows/HGBase/HGBase.vcxproj @@ -145,7 +145,7 @@ true false HGBase.def - gdiplus.lib;Iphlpapi.lib;%(AdditionalDependencies) + gdiplus.lib;%(AdditionalDependencies) @@ -171,7 +171,7 @@ true false HGBase.def - gdiplus.lib;Iphlpapi.lib;%(AdditionalDependencies) + gdiplus.lib;%(AdditionalDependencies) /LTCG %(AdditionalOptions) @@ -196,7 +196,7 @@ copy $(OutDir)HGBase.dll $(SolutionDir)..\..\..\release\win\x86\Release\true false HGBase.def - gdiplus.lib;Iphlpapi.lib;%(AdditionalDependencies) + gdiplus.lib;%(AdditionalDependencies) @@ -222,7 +222,7 @@ copy $(OutDir)HGBase.dll $(SolutionDir)..\..\..\release\win\x86\Release\true false HGBase.def - gdiplus.lib;Iphlpapi.lib;%(AdditionalDependencies) + gdiplus.lib;%(AdditionalDependencies) /LTCG %(AdditionalOptions) diff --git a/build/windows/HGSolution.sln b/build/windows/HGSolution.sln index 2c567381..9632e928 100644 --- a/build/windows/HGSolution.sln +++ b/build/windows/HGSolution.sln @@ -28,8 +28,6 @@ EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "HGWebService", "HGWebService\HGWebService.vcxproj", "{BA4F1937-479E-463C-BB25-0DAC454DB625}" ProjectSection(ProjectDependencies) = postProject {F85F4457-1B42-46E7-BA86-F088D6D5994F} = {F85F4457-1B42-46E7-BA86-F088D6D5994F} - {EFAE5F69-A4C2-4A07-8BE6-68714D86BCE2} = {EFAE5F69-A4C2-4A07-8BE6-68714D86BCE2} - {4954F36B-A0A3-4550-9C4E-3B3D210F5CE4} = {4954F36B-A0A3-4550-9C4E-3B3D210F5CE4} {5D85F2AC-FACD-436C-A67B-E13056DD0C03} = {5D85F2AC-FACD-436C-A67B-E13056DD0C03} {4909ACEA-80FF-482E-9FA2-5E8534789A82} = {4909ACEA-80FF-482E-9FA2-5E8534789A82} EndProjectSection diff --git a/build/windows/HGUpload/HGUpload.vcxproj b/build/windows/HGUpload/HGUpload.vcxproj index 78a4bb9c..ca2c2d30 100644 --- a/build/windows/HGUpload/HGUpload.vcxproj +++ b/build/windows/HGUpload/HGUpload.vcxproj @@ -111,7 +111,7 @@ Console true - Iphlpapi.lib;%(AdditionalDependencies) + %(AdditionalDependencies) @@ -131,7 +131,7 @@ true true /LTCG %(AdditionalOptions) - Iphlpapi.lib;%(AdditionalDependencies) + %(AdditionalDependencies) copy $(OutDir)upload.cgi $(SolutionDir)..\..\..\release\win\x86\Release\ @@ -149,7 +149,7 @@ Console true - Iphlpapi.lib;%(AdditionalDependencies) + %(AdditionalDependencies) @@ -169,7 +169,7 @@ true true /LTCG %(AdditionalOptions) - Iphlpapi.lib;%(AdditionalDependencies) + %(AdditionalDependencies) copy $(OutDir)upload.cgi $(SolutionDir)..\..\..\release\win\x64\Release\ diff --git a/modules/base/HGUtility.cpp b/modules/base/HGUtility.cpp index 9c8ebab0..729a9257 100644 --- a/modules/base/HGUtility.cpp +++ b/modules/base/HGUtility.cpp @@ -3,7 +3,6 @@ #if defined(HG_CMP_MSC) #include #include -#include #else #include "uuid/uuid.h" #endif