]> git.ipfire.org Git - thirdparty/open-vm-tools.git/commitdiff
Internal branch sync. Included in this change:
authorVMware, Inc <>
Tue, 26 Apr 2011 20:53:42 +0000 (13:53 -0700)
committerMarcelo Vanzin <mvanzin@vmware.com>
Tue, 26 Apr 2011 20:53:42 +0000 (13:53 -0700)
. Remove memcmp call from eth_public.h, to work around an issue found with
  newer GCC versions not including string.h.

. changes in shared code that don't affect open-vm-tools functionality.

Signed-off-by: Marcelo Vanzin <mvanzin@vmware.com>
open-vm-tools/lib/foundryMsg/foundryMsg.c
open-vm-tools/lib/hgfsServer/hgfsServer.c
open-vm-tools/lib/include/vix.h
open-vm-tools/lib/include/vixCommands.h
open-vm-tools/modules/shared/vmxnet/eth_public.h
open-vm-tools/services/plugins/vix/vixTools.c

index cc96bff7bfde25dc6a6179a5e5b3a9ab86ddc5dc..5ff2a6609710acc99a2b68dd22417a3d08208a48 100644 (file)
@@ -160,8 +160,7 @@ static const VixCommandInfo vixCommandInfoTable[] = {
    VIX_DEFINE_COMMAND_INFO(VIX_COMMAND_OPEN_VM,
                            VIX_COMMAND_CATEGORY_PRIVILEGED),
    VIX_DEFINE_UNUSED_COMMAND,
-   VIX_DEFINE_COMMAND_INFO(VIX_COMMAND_OPEN_URL,
-                           VIX_COMMAND_CATEGORY_ALWAYS_ALLOWED),
+   VIX_DEFINE_UNUSED_COMMAND,
    /* GET_HANDLE_STATE is needed for the initial handshake */
    VIX_DEFINE_COMMAND_INFO(VIX_COMMAND_GET_HANDLE_STATE,
                            VIX_COMMAND_CATEGORY_ALWAYS_ALLOWED),
index ddc2e56ad253a77690343e5ec8f89367515d2eb0..989204a5e7772cf304db3d4ead8dd00d29821463 100644 (file)
@@ -4163,7 +4163,7 @@ HgfsServerStatFs(const char *pathName, // IN: Path we're interested in
     * delimiter on copy. Allow 0 length drives so that hidden feature "" can
     * work.
     */
-   if (pathLength < 0 || pathLength >= sizeof p.mountPoint) {
+   if (pathLength >= sizeof p.mountPoint) {
       LOG(4, ("%s: could not get the volume name\n", __FUNCTION__));
 
       return FALSE;
@@ -5358,8 +5358,8 @@ HgfsQueryVolume(HgfsSessionInfo *session,   // IN: session info
                 uint64 *totalBytes)         // OUT: capacity in bytes
 {
    HgfsInternalStatus status = HGFS_ERROR_SUCCESS;
-   uint64 outFreeBytes;
-   uint64 outTotalBytes;
+   uint64 outFreeBytes = 0;
+   uint64 outTotalBytes = 0;
    char *utf8Name = NULL;
    size_t utf8NameLen;
    HgfsNameStatus nameStatus;
@@ -6802,6 +6802,8 @@ HgfsServerGetattr(HgfsInputParam *input)  // IN: Input params
       status = HGFS_ERROR_PROTOCOL;
    }
 
+   free(targetName);
+
    HgfsServerCompleteRequest(status, replyPayloadSize, input);
 }
 
index abca1dfc5c6eb5c5e8efa56621f4f1c08466c5eb..d4eee0fbe30be4beaf6107937a16ba8fea853c14 100644 (file)
@@ -562,7 +562,10 @@ void Vix_FreeBuffer(void *p);
 
 typedef int VixHostOptions;
 enum {
-   VIX_HOSTOPTION_USE_EVENT_PUMP        = 0x0008,
+   /*
+    * The following option was removed in version 1.11.
+      VIX_HOSTOPTION_USE_EVENT_PUMP        = 0x0008,
+    */
    VIX_HOSTOPTION_VERIFY_SSL_CERT       = 0x4000,
 };
 
@@ -651,17 +654,22 @@ VixHandle VixHost_OpenVM(VixHandle hostHandle,
 
 
 /*
- * Event pump
+ * Following functions were removed in version 1.11.
+ *
+   typedef int VixPumpEventsOptions;
+   enum {
+    VIX_PUMPEVENTOPTION_NONE = 0,
+   };
+   void Vix_PumpEvents(VixHandle hostHandle, VixPumpEventsOptions options);
+
+   VixHandle VixVM_OpenUrlInGuest(VixHandle vmHandle,
+                                  const char *url,
+                                  int windowState,
+                                  VixHandle propertyListHandle,
+                                  VixEventProc *callbackProc,
+                                  void *clientData);
  */
 
-typedef int VixPumpEventsOptions;
-enum {
-   VIX_PUMPEVENTOPTION_NONE = 0,
-};
-
-void Vix_PumpEvents(VixHandle hostHandle, VixPumpEventsOptions options);
-
-
 /*
  *-----------------------------------------------------------------------------
  *
@@ -897,14 +905,6 @@ VixHandle VixVM_RunScriptInGuest(VixHandle vmHandle,
                                  VixEventProc *callbackProc,
                                  void *clientData);
 
-VixHandle VixVM_OpenUrlInGuest(VixHandle vmHandle,
-                               const char *url,
-                               int windowState,
-                               VixHandle propertyListHandle,
-                               VixEventProc *callbackProc,
-                               void *clientData);
-
-
 /* 
  * Guest File functions 
  */
index cc7b29954764fb47bce07eba414d817bfd630474..8ad120c2a75e6e78c811dc00823305033d815f2b 100644 (file)
@@ -1321,22 +1321,6 @@ struct VixMsgSetSharedFolderRequest {
 VixMsgSetSharedFolderRequest;
 
 
-/*
- * **********************************************************
- * Open a URL in the guest.
- */
-typedef
-#include "vmware_pack_begin.h"
-struct VixMsgOpenUrlRequest {
-   VixCommandRequestHeader  header;
-
-   int32                    windowState;
-   uint64                   urlLength;
-}
-#include "vmware_pack_end.h"
-VixMsgOpenUrlRequest;
-
-
 /*
  * **********************************************************
  * Capture the screen of a VM
@@ -2150,7 +2134,7 @@ enum {
    VIX_COMMAND_RUN_SCRIPT_IN_GUEST              = 46,
    VIX_COMMAND_OPEN_VM                          = 47,
    /* DEPRECATED VIX_COMMAND_GET_DISK_PROPERTIES              = 48, */
-   VIX_COMMAND_OPEN_URL                         = 49,
+   /* DEPRECATED VIX_COMMAND_OPEN_URL                         = 49, */
    VIX_COMMAND_GET_HANDLE_STATE                 = 50,
    /* DEPRECATED VIX_COMMAND_SET_HANDLE_STATE                 = 51, */
    VIX_COMMAND_CREATE_WORKING_COPY              = 55, // DELETE this when we switch remote foundry to VIM
@@ -2370,7 +2354,7 @@ enum {
  */
 enum VixToolsFeatures {
    VIX_TOOLSFEATURE_SUPPORT_GET_HANDLE_STATE   = 0x0001,
-   VIX_TOOLSFEATURE_SUPPORT_OPEN_URL           = 0x0002,
+   /* VIX_TOOLSFEATURE_SUPPORT_OPEN_URL           = 0x0002, Removed in version 1.11*/
 };
 
 
index a02ef9843f7d73cd86f37cd25ab2efc13338ba72..0619375cb81595012588e5e3b057932687c40bfe 100644 (file)
@@ -307,9 +307,14 @@ extern Eth_Address netEthBroadcastAddr;
  */
 
 static INLINE Bool
-Eth_IsAddrMatch(const Eth_Address addr1, const Eth_Address addr2) 
+Eth_IsAddrMatch(const Eth_Address addr1, const Eth_Address addr2)
 {
+#ifdef __GNUC__
+   /* string.h may not exist for kernel modules, so cannot use memcmp() */
+   return !__builtin_memcmp(addr1, addr2, ETH_ADDR_LENGTH);
+#else
    return !memcmp(addr1, addr2, ETH_ADDR_LENGTH);
+#endif
 }
 
 
index 6614845badb1e2cecf690c7a5bfc6213c9247590..b3b9c76103544be7a5d26b546718bf49d883acb7 100644 (file)
@@ -440,8 +440,6 @@ static VixError VixToolsRunScript(VixCommandRequestHeader *requestMsg,
                                   void *eventQueue,
                                   char **result);
 
-static VixError VixToolsOpenUrl(VixCommandRequestHeader *requestMsg);
-
 static VixError VixToolsCheckUserAccount(VixCommandRequestHeader *requestMsg);
 
 static VixError VixToolsProcessHgfsPacket(VixCommandHgfsSendPacket *requestMsg,
@@ -2089,8 +2087,7 @@ VixTools_GetToolsPropertiesImpl(GKeyFile *confDictRef,            // IN
    }
    err = VixPropertyList_SetInteger(&propList,
                                     VIX_PROPERTY_GUEST_TOOLS_API_OPTIONS,
-                                    VIX_TOOLSFEATURE_SUPPORT_GET_HANDLE_STATE
-                                    | VIX_TOOLSFEATURE_SUPPORT_OPEN_URL);
+                                    VIX_TOOLSFEATURE_SUPPORT_GET_HANDLE_STATE);
    if (VIX_OK != err) {
       goto abort;
    }
@@ -3136,71 +3133,6 @@ abort:
 } // VixToolsObjectExists
 
 
-/*
- *-----------------------------------------------------------------------------
- *
- * VixToolsOpenUrl --
- *
- *    Open a URL on the guest.
- *
- * Return value:
- *    VixError
- *
- * Side effects:
- *    None
- *
- *-----------------------------------------------------------------------------
- */
-
-VixError
-VixToolsOpenUrl(VixCommandRequestHeader *requestMsg) // IN
-{
-   VixError err = VIX_OK;
-   const char *url = NULL;
-   char *windowState = "default";
-   Bool impersonatingVMWareUser = FALSE;
-   void *userToken = NULL;
-   VixMsgOpenUrlRequest *openUrlRequest;
-   VMAutomationRequestParser parser;
-
-   err = VMAutomationRequestParserInit(&parser,
-                                       requestMsg, sizeof *openUrlRequest);
-   if (VIX_OK != err) {
-      goto abort;
-   }
-
-   openUrlRequest = (VixMsgOpenUrlRequest *) requestMsg;
-
-   err = VMAutomationRequestParserGetString(&parser,
-                                            openUrlRequest->urlLength,
-                                            &url);
-   if (VIX_OK != err) {
-      goto abort;
-   }
-
-   err = VixToolsImpersonateUser(requestMsg, &userToken);
-   if (VIX_OK != err) {
-      goto abort;
-   }
-   impersonatingVMWareUser = TRUE;
-
-   /* Actually open the URL. */
-   if (!GuestApp_OpenUrl(url, strcmp(windowState, "maximize") == 0)) {
-      err = VIX_E_FAIL;
-      Debug("Failed to open the url \"%s\"\n", url);
-      goto abort;
-   }
-
-abort:
-   if (impersonatingVMWareUser) {
-      VixToolsUnimpersonateUser(userToken);
-   }
-   VixToolsLogoutUser(userToken);
-
-   return err;
-} // VixToolsOpenUrl
-
-
 /*
  *-----------------------------------------------------------------------------
  *
@@ -8575,7 +8507,6 @@ VixToolsCheckIfVixCommandEnabled(int opcode,                          // IN
       case VIX_COMMAND_DIRECTORY_EXISTS:
       case VIX_COMMAND_GET_FILE_INFO:
       case VIX_COMMAND_LIST_FILESYSTEMS:
-      case VIX_COMMAND_OPEN_URL:
       case VIX_COMMAND_READ_VARIABLE:
       case VIX_COMMAND_WRITE_VARIABLE:
       case VIX_COMMAND_GET_GUEST_NETWORKING_CONFIG:
@@ -8787,11 +8718,6 @@ VixTools_ProcessVixCommand(VixCommandRequestHeader *requestMsg,   // IN
          // resultValue is static. Do not free it.
          break;
 
-      ////////////////////////////////////
-      case VIX_COMMAND_OPEN_URL:
-         err = VixToolsOpenUrl(requestMsg);
-         break;
-
       ////////////////////////////////////
       case VIX_COMMAND_CREATE_TEMPORARY_FILE:
       case VIX_COMMAND_CREATE_TEMPORARY_FILE_EX:
@@ -9019,7 +8945,6 @@ VixToolsRewriteError(uint32 opCode,          // IN
    case VIX_COMMAND_MOVE_GUEST_FILE:
    case VIX_COMMAND_RUN_SCRIPT_IN_GUEST:
    case VIX_COMMAND_RUN_PROGRAM:
-   case VIX_COMMAND_OPEN_URL:
    case VIX_COMMAND_CREATE_TEMPORARY_FILE:
    case VIX_COMMAND_READ_VARIABLE:
    case VIX_COMMAND_WRITE_VARIABLE: