]> git.ipfire.org Git - thirdparty/open-vm-tools.git/commitdiff
Merge branch 'stable-11.3.x'
authorJohn Wolfe <jwolfe@vmware.com>
Sat, 19 Jun 2021 04:41:00 +0000 (21:41 -0700)
committerJohn Wolfe <jwolfe@vmware.com>
Sat, 19 Jun 2021 04:41:00 +0000 (21:41 -0700)
1  2 
open-vm-tools/lib/include/vm_tools_version.h
open-vm-tools/services/vmtoolsd/mainLoop.c
open-vm-tools/toolbox/l10n/zh_TW.vmsg
open-vm-tools/toolbox/toolbox-cmd.c
open-vm-tools/toolbox/toolboxCmdInt.h
open-vm-tools/toolbox/toolboxcmd-config.c
open-vm-tools/toolbox/toolboxcmd-logging.c
open-vm-tools/toolbox/toolboxcmd-scripts.c

index aeed97946a2e24a9a48518d9f12cfff691956b35,25ba15dee01e5f559e5d5923d4001443bc5a9438..efdbd61e8bde8611f77e77e779884957de727716
@@@ -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
  
 -#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_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
 +#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
index 7189caa38d61cb43643e87dfe683018fb8376169,119f974d6f7fb64d744a22ce293c5e87d808004c..fd515ac63c94f2d97fc03dc1bc31828f5fb5c044
@@@ -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);
index 30223ca3fdda9fa29bad5fd2adb6531c50b93b39,8bf78f6da2d251f20c96520939e2932c89906c76..acf78c2c3e2f95f57a5784be393cb808b4ccb558
@@@ -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 <subcommand> [args]\ndev 是裝置名稱。\n\n子命令:\n   enable <dev>: 啟用裝置 dev\n   disable <dev>: 停用裝置 dev\n   list: 列出所有可用裝置\n   status <dev>: 列印裝置狀態\n"
+ help.device = "%1$s: 與虛擬機器之硬體裝置相關的功能\n用法: %2$s %3$s <subcommand> [args]\ndev 是裝置名稱。\n\n子命令:\n   enable <dev>: 啟用裝置 dev\n   disable <dev>: 停用裝置 dev\n   list: 列出所有可用裝置\n   status <dev>: 列印裝置狀態\n"
  
- help.disk = "%1$s: 執行磁碟壓縮作業\n使用量: %2$s %3$s <subcommand> [args]\n\n子命令:\n   list: 列出可用位置\n   shrink <location>: 抹除和壓縮指定位置的檔案系統\n   shrinkonly: 壓縮所有磁碟\n   wipe <location>: 抹除指定位置的檔案系統\n"
+ help.disk = "%1$s: 執行磁碟壓縮作業\n用法: %2$s %3$s <subcommand> [args]\n\n子命令:\n   list: 列出可用位置\n   shrink <location>: 抹除和壓縮指定位置的檔案系統\n   shrinkonly: 壓縮所有磁碟\n   wipe <location>: 抹除指定位置的檔案系統\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 <subcommand>\n\n子命令:\n   enable: 啟用時間同步\n   disable: 停用時間同步\n   status: 列印時間同步狀態\n"
+ help.timesync = "%1$s: 用於控制客體作業系統時間同步的功能\n用法: %2$s %3$s <subcommand>\n\n子命令:\n   enable: 啟用時間同步\n   disable: 停用時間同步\n   status: 列印時間同步狀態\n"
+ help.upgrade = "%1$s: 與升級 VMware Tools 相關的功能。\n用法: %2$s %3$s <subcommand> [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 <subcommand> [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"
  
index 89eaadbcc89a68eed2aaccd58206042502e54549,6bde3747df16d116ec3090b408e14808ee4324b0..a32948e9b6e9b4d35791735fa7626c02c6de71ff
@@@ -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},
index d2a868328f02e7a823ba5918bdab50532c3cc8e1,9dc4dab2d4668441495d339032879d4238f246eb..38407ea6244ced704f79bacdfe88ee07d4400049
@@@ -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_*/