From: John Wolfe Date: Sat, 19 Jun 2021 04:41:00 +0000 (-0700) Subject: Merge branch 'stable-11.3.x' X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=2a79a62184b1c6615a033c24bc6bee18f8c7df48;p=thirdparty%2Fopen-vm-tools.git Merge branch 'stable-11.3.x' --- 2a79a62184b1c6615a033c24bc6bee18f8c7df48 diff --cc open-vm-tools/lib/include/vm_tools_version.h index aeed97946,25ba15dee..efdbd61e8 --- a/open-vm-tools/lib/include/vm_tools_version.h +++ b/open-vm-tools/lib/include/vm_tools_version.h @@@ -1645,16 -1652,37 +1652,44 @@@ TOOLS_VERSION_UINT_TO_COMPONENTS(const #define TOOLS_VERSION_CRESCENT_WRENCH_RELEASE_V_MNR 2 #define TOOLS_VERSION_CRESCENT_WRENCH_RELEASE_V_BASE 0 + #ifndef RC_INVOKED + #define TOOLS_VERSION_CRESCENT_WRENCH_PATCH1 TOOLS_VERSION_TO_UINT(TOOLS_VERSION_CRESCENT_WRENCH_PATCH1_V) + #endif /* RC_INVOKED */ + #define TOOLS_VERSION_CRESCENT_WRENCH_PATCH1_V_MJR 11 + #define TOOLS_VERSION_CRESCENT_WRENCH_PATCH1_V_MNR 2 + #define TOOLS_VERSION_CRESCENT_WRENCH_PATCH1_V_BASE 1 + + #ifndef RC_INVOKED + #define TOOLS_VERSION_CRESCENT_WRENCH_UPDATE1 TOOLS_VERSION_TO_UINT(TOOLS_VERSION_CRESCENT_WRENCH_UPDATE1_V) + #endif /* RC_INVOKED */ + #define TOOLS_VERSION_CRESCENT_WRENCH_UPDATE1_V_MJR 11 + #define TOOLS_VERSION_CRESCENT_WRENCH_UPDATE1_V_MNR 2 + #define TOOLS_VERSION_CRESCENT_WRENCH_UPDATE1_V_BASE 5 + + #ifndef RC_INVOKED + #define TOOLS_VERSION_CRESCENT_WRENCH_PATCH2 TOOLS_VERSION_TO_UINT(TOOLS_VERSION_CRESCENT_WRENCH_PATCH2_V) + #endif /* RC_INVOKED */ + #define TOOLS_VERSION_CRESCENT_WRENCH_PATCH2_V_MJR 11 + #define TOOLS_VERSION_CRESCENT_WRENCH_PATCH2_V_MNR 2 + #define TOOLS_VERSION_CRESCENT_WRENCH_PATCH2_V_BASE 6 + + #ifndef RC_INVOKED + #define TOOLS_VERSION_NEXT TOOLS_VERSION_TO_UINT(TOOLS_VERSION_NEXT_V) + #endif /* RC_INVOKED */ + #define TOOLS_VERSION_NEXT_V_MJR 11 + #define TOOLS_VERSION_NEXT_V_MNR 3 + #define TOOLS_VERSION_NEXT_V_BASE 0 + -#define TOOLS_VERSION_CURRENT TOOLS_VERSION_NEXT -#define TOOLS_VERSION_CURRENT_STR TOOLS_VERSION_TO_STR(TOOLS_VERSION_NEXT) -#define TOOLS_VERSION_CURRENT_CSV TOOLS_VERSION_TO_CSV(TOOLS_VERSION_NEXT) +#ifndef RC_INVOKED +#define TOOLS_VERSION_CRESCENT_WRENCH_UPDATE1 TOOLS_VERSION_TO_UINT(TOOLS_VERSION_CRESCENT_WRENCH_UPDATE1_V) +#endif /* RC_INVOKED */ +#define TOOLS_VERSION_CRESCENT_WRENCH_UPDATE1_V_MJR 11 +#define TOOLS_VERSION_CRESCENT_WRENCH_UPDATE1_V_MNR 2 +#define TOOLS_VERSION_CRESCENT_WRENCH_UPDATE1_V_BASE 5 + +#define TOOLS_VERSION_CURRENT TOOLS_VERSION_CRESCENT_WRENCH_UPDATE1 +#define TOOLS_VERSION_CURRENT_STR TOOLS_VERSION_TO_STR(TOOLS_VERSION_CRESCENT_WRENCH_UPDATE1) +#define TOOLS_VERSION_CURRENT_CSV TOOLS_VERSION_TO_CSV(TOOLS_VERSION_CRESCENT_WRENCH_UPDATE1) /* * The extended Tools version is the current Tools version with the diff --cc open-vm-tools/services/vmtoolsd/mainLoop.c index 7189caa38,119f974d6..fd515ac63 --- a/open-vm-tools/services/vmtoolsd/mainLoop.c +++ b/open-vm-tools/services/vmtoolsd/mainLoop.c @@@ -131,11 -145,14 +145,17 @@@ ToolsCoreCleanup(ToolsServiceState *sta if (state->mainService && GuestStoreClient_DeInit()) { g_info("%s: De-initialized GuestStore client.\n", __FUNCTION__); } + if (state->mainService && ToolsNotify_End()) { + g_info("%s: End Tools notifications.\n", __FUNCTION__); + } #endif + #if defined(_WIN32) + if (state->mainService && ToolsNotify_End()) { + g_info("%s: End Tools notifications.\n", __FUNCTION__); + } + #endif + if (state->ctx.rpc != NULL) { RpcChannel_Stop(state->ctx.rpc); RpcChannel_Destroy(state->ctx.rpc); diff --cc open-vm-tools/toolbox/l10n/zh_TW.vmsg index 30223ca3f,8bf78f6da..acf78c2c3 --- a/open-vm-tools/toolbox/l10n/zh_TW.vmsg +++ b/open-vm-tools/toolbox/l10n/zh_TW.vmsg @@@ -92,16 -92,16 +92,20 @@@ error.novirtual = "%1$s 必須在虛擬 error.unknown = "%1$s: 未知 %2$s「%3$s」\n" - help.config = "%1$s: 修改工具組態\n使用量: %2$s %3$s <子命令>\n\n子命令:\n get <區段> <金鑰>: 顯示目前 <金鑰> 的值\n 備註: 如果 tools.conf 中未顯示 <金鑰>,則其\n 在全域組態中的值會在顯示時傳回\n set <區段> <金鑰> <值>: 設定 <金鑰> 至 <值>\n\n remove <區段> <金鑰>: remove <金鑰>\n\n<區段> 可為任何受支援的區段,例如記錄、guestoperations 或 guestinfo。\n<金鑰> 可為任何組態金鑰。\n<值> 可為任何值。\n" + help.config = "%1$s: 修改工具組態\n用法: %2$s %3$s <子命令>\n\n子命令:\n get <區段> <金鑰>: 顯示目前 <金鑰> 的值\n 備註: 如果 tools.conf 中未顯示 <金鑰>,則其\n 在全域組態中的值會在顯示時傳回\n set <區段> <金鑰> <值>: 設定 <金鑰> 至 <值>\n\n remove <區段> <金鑰>: remove <金鑰>\n\n<區段> 可為任何受支援的區段,例如記錄、guestoperations 或 guestinfo。\n<金鑰> 可為任何組態金鑰。\n<值> 可為任何值。\n" - help.device = "%1$s: 與虛擬機器之硬體裝置相關的功能\n使用量: %2$s %3$s [args]\ndev 是裝置名稱。\n\n子命令:\n enable : 啟用裝置 dev\n disable : 停用裝置 dev\n list: 列出所有可用裝置\n status : 列印裝置狀態\n" + help.device = "%1$s: 與虛擬機器之硬體裝置相關的功能\n用法: %2$s %3$s [args]\ndev 是裝置名稱。\n\n子命令:\n enable : 啟用裝置 dev\n disable : 停用裝置 dev\n list: 列出所有可用裝置\n status : 列印裝置狀態\n" - help.disk = "%1$s: 執行磁碟壓縮作業\n使用量: %2$s %3$s [args]\n\n子命令:\n list: 列出可用位置\n shrink : 抹除和壓縮指定位置的檔案系統\n shrinkonly: 壓縮所有磁碟\n wipe : 抹除指定位置的檔案系統\n" + help.disk = "%1$s: 執行磁碟壓縮作業\n用法: %2$s %3$s [args]\n\n子命令:\n list: 列出可用位置\n shrink : 抹除和壓縮指定位置的檔案系統\n shrinkonly: 壓縮所有磁碟\n wipe : 抹除指定位置的檔案系統\n" + + help.globalconf = "%1$s: 從 GuestStore 管理全域組態下載\n用法: %2$s %3$s <子命令>\n\n僅 ESX 客體的子命令:\n enable: 啟用全域組態模組。\n disable: 停用全域組態模組\n refresh: 從 GuestStore 觸發全域組態的新下載\n status: 列印全域組態模組的狀態\n" + + help.gueststore = "%1$s: 從 GuestStore 取得資源內容\n用法: %2$s %3$s <子命令>\n\n僅 ESX 客體的子命令:\n getcontent < 資源路徑 > < 輸出檔案 >: 從 GuestStore 取得資源內容並儲存至輸出檔案。\n\n<資源路徑> 開頭為 /,代表 GuestStore 中的唯一資源。如果結尾為 /,則預設為擷取基礎的「metadata json」資源。\n\n<輸出檔案> 是要儲存資源內容的目標檔案路徑。\n" +help.globalconf = "%1$s: 從 GuestStore 管理全域組態下載\n使用量: %2$s %3$s <子命令>\n\n僅 ESX 客體的子命令:\n enable: 啟用全域組態模組。(工具服務已重新啟動)\n disable: 停用全域組態模組 (工具服務已重新啟動)\n refresh: 從 GuestStore 觸發全域組態的新下載\n status: 列印全域組態模組的狀態\n" + +help.gueststore = "%1$s: 從 GuestStore 取得資源內容\n使用量: %2$s %3$s <子命令>\n\n僅 ESX 客體的子命令:\n getcontent < 資源路徑 > < 輸出檔案 >: 從 GuestStore 取得資源內容並儲存至輸出檔案。\n\n<資源路徑> 開頭為 /,代表 GuestStore 中的唯一資源。如果結尾為 /,則預設為擷取基礎的「metadata json」資源。\n\n<輸出檔案> 是要儲存資源內容的目標檔案路徑。\n" + help.hint = "如需詳細資訊,請嘗試「%1$s%2$s%3$s%4$s」。\n" help.info = "%1$s: 更新主機上的客體資訊\n使用方式: %2$s %3$s update <資訊類別>\n\n子命令:\n update <資訊類別>: 更新依 <資訊類別> 識別之資訊\n<資訊類別> 可為「network」\n" @@@ -114,21 -114,21 +118,37 @@@ help.script = "%1$s: 控制指令碼執 help.stat = "%1$s: 列印實用的客體和主機資訊\n使用方式: %2$s %3$s <子命令>\n\n子命令:\n hosttime: 列印主機時間\n speed: 列印 CPU 速度 (MHz)\n僅 ESX 客體子命令:\n sessionid: 列印目前的工作階段識別碼\n balloon: 列印記憶體佔用資訊\n swap: 列印記憶體交換資訊\n memlimit: 列印記憶體限制資訊\n memres: 列印記憶體保留區資訊\n cpures: 列印 CPU 保留區資訊\n cpulimit: 列印 CPU 限制資訊\n raw [<代碼> <統計名称>]: 列印原始統計資訊\n <代碼> 可為「text」、「json」、「xml」、「yaml」其中之一。\n <統計名称> 包含「session」、「host」、「resources」、「vscsi」和\n vnet」(某些狀態如 vscsi 為兩個字,例如「vscsi scsi0:0」)。\n 如果並未指定引數 <代碼> 和 <統計名称>\n 則列印可用的統計資料。\n" - help.timesync = "%1$s: 用於控制客體作業系統時間同步的功能\n使用量: %2$s %3$s \n\n子命令:\n enable: 啟用時間同步\n disable: 停用時間同步\n status: 列印時間同步狀態\n" + help.timesync = "%1$s: 用於控制客體作業系統時間同步的功能\n用法: %2$s %3$s \n\n子命令:\n enable: 啟用時間同步\n disable: 停用時間同步\n status: 列印時間同步狀態\n" + + help.upgrade = "%1$s: 與升級 VMware Tools 相關的功能。\n用法: %2$s %3$s [args]\n子命令:\n status: 檢查 VMware Tools 升級狀態。\n start: 啟動 VMware Tools 自動升級。\n\n若要升級作業正常運作,需要執行 VMware Tools 服務。\n" + + globalconf.refresh.failed = "「%1$s」失敗,因為 globalconf 模組已停用。\n" + + globalconf.start_vmtools = "%1$s: 正在啟動 %2$s 服務。\n" + + globalconf.status = "globalconf 模組的狀態為「%1$s」\n" + + globalconf.stop_vmtools = "%1$s: 正在停止 %2$s 服務。\n" + + globalconf.update_config = "%1$s: 正在更新組態。\n" + + gueststore.content_size = "內容大小 (位元組): " ++ ++gueststore.error.client_lib = "「%1$s」失敗,GuestStore 用戶端程式庫錯誤: %2$s。\n" + - help.upgrade = "%1$s: 與升級 VMware Tools 相關的功能。\n使用量: %2$s %3$s [args]\n子命令:\n status: 檢查 VMware Tools 升級狀態。\n start: 啟動 VMware Tools 自動升級。\n\n若要升級作業正常運作,需要執行 VMware Tools 服務。\n" ++gueststore.progress = "\r進度: %1$d%%" + +globalconf.refresh.failed = "「%1$s」失敗,因為 globalconf 模組已停用。\n" + +globalconf.start_vmtools = "%1$s: 正在啟動 %2$s 服務。\n" + +globalconf.status = "globalconf 模組的狀態為「%1$s」\n" + +globalconf.stop_vmtools = "%1$s: 正在停止 %2$s 服務。\n" + +globalconf.update_config = "%1$s: 正在更新組態。\n" + +gueststore.content_size = "內容大小 (位元組): " gueststore.error.client_lib = "「%1$s」失敗,GuestStore 用戶端程式庫錯誤: %2$s。\n" diff --cc open-vm-tools/toolbox/toolbox-cmd.c index 89eaadbcc,6bde3747d..a32948e9b --- a/open-vm-tools/toolbox/toolbox-cmd.c +++ b/open-vm-tools/toolbox/toolbox-cmd.c @@@ -112,10 -112,13 +112,17 @@@ static CmdTable commands[] = #if defined(_WIN32) || \ (defined(__linux__) && !defined(OPEN_VM_TOOLS) && !defined(USERWORLD)) { "upgrade", Upgrade_Command, TRUE, TRUE, Upgrade_Help}, + { "gueststore", GuestStore_Command, TRUE, FALSE, GuestStore_Help}, +#endif +#if defined(_WIN32) + { "globalconf", GlobalConf_Command, TRUE, TRUE, GlobalConf_Help}, + #endif + #if defined(_WIN32) || \ + (defined(__linux__) && !defined(USERWORLD)) + { "gueststore", GuestStore_Command, TRUE, FALSE, GuestStore_Help}, + #endif + #if defined(GLOBALCONFIG_SUPPORTED) + { "globalconf", GlobalConf_Command, TRUE, TRUE, GlobalConf_Help}, #endif { "logging", Logging_Command, TRUE, TRUE, Logging_Help}, { "info", Info_Command, TRUE, TRUE, Info_Help}, diff --cc open-vm-tools/toolbox/toolboxCmdInt.h index d2a868328,9dc4dab2d..38407ea62 --- a/open-vm-tools/toolbox/toolboxCmdInt.h +++ b/open-vm-tools/toolbox/toolboxCmdInt.h @@@ -145,11 -153,31 +153,36 @@@ DECLARE_COMMAND(Config) #if defined(_WIN32) || \ (defined(__linux__) && !defined(OPEN_VM_TOOLS) && !defined(USERWORLD)) DECLARE_COMMAND(Upgrade); +DECLARE_COMMAND(GuestStore); +#endif + +#if defined(_WIN32) +DECLARE_COMMAND(GlobalConf) #endif + #if defined(_WIN32) || \ + (defined(__linux__) && !defined(USERWORLD)) + DECLARE_COMMAND(GuestStore); + #endif + + #if defined(GLOBALCONFIG_SUPPORTED) + + DECLARE_COMMAND(GlobalConf) + + #define TOOLBOXCMD_LOAD_GLOBALCONFIG(conf) \ + { \ + if (GlobalConfig_GetEnabled(conf)) { \ + GKeyFile *__globalConf = NULL; \ + if (GlobalConfig_LoadConfig(&__globalConf, NULL)) { \ + VMTools_AddConfig(__globalConf, conf); \ + g_key_file_free(__globalConf); \ + } \ + } \ + } + #else + + #define TOOLBOXCMD_LOAD_GLOBALCONFIG(conf) + + #endif + #endif /*_TOOLBOX_CMD_H_*/