]> git.ipfire.org Git - thirdparty/open-vm-tools.git/commitdiff
Internal branch sync. Included in this change:
authorVMware, Inc <>
Mon, 15 Oct 2012 04:56:50 +0000 (21:56 -0700)
committerDmitry Torokhov <dtor@vmware.com>
Fri, 19 Oct 2012 18:32:42 +0000 (11:32 -0700)
. VMCI cleanups

. tools daemon(s) will emit a log message with version upon startup

. reduce verbosity of get_capab log in vmxnet3 Solaris driver

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

Signed-off-by: Dmitry Torokhov <dtor@vmware.com>
14 files changed:
open-vm-tools/lib/auth/authPosix.c
open-vm-tools/lib/include/file_extensions.h
open-vm-tools/lib/include/loglevel_user.h
open-vm-tools/lib/include/msgList.h
open-vm-tools/lib/include/mutexRankLib.h
open-vm-tools/lib/include/strutil.h
open-vm-tools/lib/include/vm_version.h
open-vm-tools/lib/misc/msgList.c
open-vm-tools/modules/linux/vmci/common/vmciHashtable.c
open-vm-tools/modules/linux/vmci/common/vmciQPair.c
open-vm-tools/modules/linux/vsock/linux/vsockAddr.c
open-vm-tools/modules/shared/vmxnet/eth_public.h
open-vm-tools/modules/solaris/vmxnet3/vmxnet3_main.c
open-vm-tools/services/vmtoolsd/mainLoop.c

index 744b72ced66fd490c51fe9ebd8e17050869adc29..755dbe11d3d03a221595d826a69bab92eeb1a8a5 100644 (file)
 #include "log.h"
 
 #ifdef USE_PAM
-#  include "file.h"
-#  include "config.h"
-#  include "localconfig.h"
-#if defined(__APPLE__) && (MAC_OS_X_VERSION_MAX_ALLOWED <= MAC_OS_X_VERSION_10_5)
-#include <pam/pam_appl.h>
-#else
-#include <security/pam_appl.h>
-#endif
-#  include <dlfcn.h>
+#   include "file.h"
+#   include "config.h"
+#   include "localconfig.h"
+#   if defined __APPLE__
+#      include <AvailabilityMacros.h>
+#      if MAC_OS_X_VERSION_MAX_ALLOWED <= MAC_OS_X_VERSION_10_5
+#         include <pam/pam_appl.h>
+#      else
+#         include <security/pam_appl.h>
+#      endif
+#   else
+#      include <security/pam_appl.h>
+#   endif
+#   include <dlfcn.h>
 #endif
 
 #if defined(HAVE_CONFIG_H) || defined(sun)
@@ -158,7 +163,7 @@ AuthLoadPAM(void)
       if (!symbol) {
          Log("PAM library does not contain required function: %s\n",
              dlerror());
-
+         dlclose(pam_library);
          return FALSE;
       }
 
index c6684afb9c2e570ee89864c19961a187b1194a60..bc6014285793b35050aa314e4062cb584a01ea93 100644 (file)
@@ -84,6 +84,7 @@
 #define ACRONIS_EXTENSION "tib"
 #define OPEN_VM_FORMAT_EXTENSION "ovf"
 #define ARCHIVED_OPEN_VM_FORMAT_EXTENSION "ova"
+#define NAMESPACEDB_EXTENSION "db"
 // "xvm" // VMware console configuration file
 
 /*
index e4c851cc4a814d955259e8a1bfe3acbff62183a4..27db7860cb39bcfde42f778cc640168f8db89e3e 100644 (file)
    LOGLEVEL_VAR(vflash), \
    LOGLEVEL_VAR(vva),  /* apps/rde/vva */ \
    LOGLEVEL_VAR(ftConfig), /*lib/ftConfig */ \
+   LOGLEVEL_VAR(vmname),  /* lib/vmname */ \
    /* end of list */
 
 LOGLEVEL_EXTENSION_DECLARE(LOGLEVEL_USER);
index 631da4b7db4aee75a73b52159079c12abf6bb86a..2e43fda1a1395e3ac1c8cf11bdecd230a2ea3e65 100644 (file)
@@ -61,6 +61,7 @@ MsgList *MsgList_CreateStr(const char *id);
 void MsgList_Append(MsgList **tail, const char *idFmt, ...) PRINTF_DECL(2, 3);
 void MsgList_VAppend(MsgList **tail, const char *idFmt, va_list args);
 void MsgList_AppendStr(MsgList **tail, const char *id);
+void MsgList_AppendMsgList(MsgList **tail, MsgList *messages);
 
 void MsgList_Log(const MsgList *messages);
 char *MsgList_ToString(const MsgList *messages);
index 04b455f1d2be8df6dd0a74c8239b844c2b07cd39..490b79832b7187f4bb1a593a10be6d98b52c0126 100644 (file)
 #define RANK_scsiStateLock           (RANK_libLockBase + 0x5060)
 #define RANK_parInitLock             (RANK_libLockBase + 0x5070)
 #define RANK_namespaceLock           (RANK_libLockBase + 0x5080)
+#define RANK_vvolLibLock             (RANK_libLockBase + 0x5090)
 
 /*
  * VMDB range:
index 7ef7ca22e1572cd1430e8fd7c013700006abff8a..3bdb3a1ba96c1e0cd01023f6e00beb44b4e99758 100644 (file)
@@ -60,8 +60,8 @@ Bool StrUtil_EndsWith(const char *s, const char *suffix);
 Bool StrUtil_IsASCII(const char *s);
 
 Bool StrUtil_VDynBufPrintf(struct DynBuf *b, const char *fmt, va_list args);
-Bool StrUtil_DynBufPrintf(struct DynBuf *b, const char *fmt, ...);
-void StrUtil_SafeDynBufPrintf(struct DynBuf *b, const char *fmt, ...);
+Bool StrUtil_DynBufPrintf(struct DynBuf *b, const char *fmt, ...) PRINTF_DECL(2, 3);
+void StrUtil_SafeDynBufPrintf(struct DynBuf *b, const char *fmt, ...) PRINTF_DECL(2, 3);
 
 void StrUtil_SafeStrcat(char **prefix, const char *str);
 void StrUtil_SafeStrcatFV(char **prefix, const char *fmt, va_list args);
index f5a59f33a060bf8d536bfbe09f2e2232d44ed943..e1bc25ec8257f1adb37297309ab277aeba7c99b6 100644 (file)
 #    endif
 #  elif defined(VMX86_VPX)
 #    define PRODUCT_LICENSE_VERSION "5.0"
+#    define PRODUCT_LICENSE_FILE_VERSION "5.1.0.6"
 #  elif defined(VMX86_WBC)
 #    define PRODUCT_LICENSE_VERSION "1.0"
 #  elif defined(VMX86_SDK)
 #define PRODUCT_VERSION_MAC_DESKTOP_3 PRODUCT_MAC_DESKTOP_BRIEF_NAME " 3.x"
 #define PRODUCT_VERSION_MAC_DESKTOP_40 PRODUCT_MAC_DESKTOP_BRIEF_NAME " 4.0"
 #define PRODUCT_VERSION_MAC_DESKTOP_50 PRODUCT_MAC_DESKTOP_BRIEF_NAME " 5.0"
+#define PRODUCT_VERSION_MAC_DESKTOP_2013 PRODUCT_MAC_DESKTOP_BRIEF_NAME " Boo Berry"
 
 
 /*
index 6df8e40a6475359faeef887a78c8318adf71c137..548b352805b2dfc2e6b02c50e728dd29b5d760ec 100644 (file)
@@ -263,6 +263,40 @@ MsgList_Append(MsgList **list,     // IN reference to existing list
 }
 
 
+/*
+ *-----------------------------------------------------------------------------
+ *
+ * MsgList_AppendMsgList --
+ *
+ *      Append the 'messages' to an existing MsgList, 'list'. Memory
+ *      owner ship is transfered to 'list'.
+ *
+ * Results:
+ *      None.
+ *
+ * Side effects:
+ *      Callers are responsible to free the returned MsgList.
+ *
+ *-----------------------------------------------------------------------------
+ */
+
+void
+MsgList_AppendMsgList(MsgList **list,     // IN/OUT
+                      MsgList *messages)  // IN
+{
+   if (list != NULL && messages != NULL) {
+      MsgList *head = messages;
+      while (messages->next != NULL) {
+         messages = messages->next;
+      }
+      messages->next = *list;
+      *list = head;
+   } else {
+      MsgList_Free(messages);
+   }
+}
+
+
 /*
  *-----------------------------------------------------------------------------
  *
index e1b4400fa90d5a52233604a087dcdb15cbc00d1a..b7b577d986b2823b71660caf37d3c2e4bf2ee5d3 100644 (file)
@@ -1,5 +1,5 @@
 /*********************************************************
- * Copyright (C) 2006 VMware, Inc. All rights reserved.
+ * Copyright (C) 2006-2012 VMware, Inc. All rights reserved.
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the
@@ -271,7 +271,7 @@ VMCIHashTable_RemoveEntry(VMCIHashTable *table, // IN
  *------------------------------------------------------------------------------
  */
 
-static INLINE VMCIHashEntry *
+static VMCIHashEntry *
 VMCIHashTableGetEntryLocked(VMCIHashTable *table,  // IN
                             VMCIHandle handle)     // IN
 {
@@ -391,7 +391,7 @@ VMCIHashTable_HoldEntry(VMCIHashTable *table, // IN
  *------------------------------------------------------------------------------
  */
 
-static INLINE int
+static int
 VMCIHashTableReleaseEntryLocked(VMCIHashTable *table,  // IN
                                 VMCIHashEntry *entry)  // IN
 {
index 82d66ba8a05a058495569adb5301fc7a90a3e661..9f99aaded036b2cc6cddde9e2d275cd212bdf479 100644 (file)
@@ -1,5 +1,5 @@
 /*********************************************************
- * Copyright (C) 2010 VMware, Inc. All rights reserved.
+ * Copyright (C) 2010-2012 VMware, Inc. All rights reserved.
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of the GNU General Public License as published by the
@@ -516,7 +516,6 @@ VMCIQPair_Alloc(VMCIQPair **qpair,            // OUT
    if (!myQPair) {
       return VMCI_ERROR_NO_MEM;
    }
-   memset(myQPair, 0, sizeof *myQPair);
 
    myQPair->produceQSize = produceQSize;
    myQPair->consumeQSize = consumeQSize;
@@ -926,7 +925,7 @@ VMCIQPair_ConsumeBufReady(const VMCIQPair *qpair) // IN
  *-----------------------------------------------------------------------------
  */
 
-static INLINE ssize_t
+static ssize_t
 EnqueueLocked(VMCIQueue *produceQ,                   // IN
               VMCIQueue *consumeQ,                   // IN
               const uint64 produceQSize,             // IN
@@ -1012,7 +1011,7 @@ EnqueueLocked(VMCIQueue *produceQ,                   // IN
  *-----------------------------------------------------------------------------
  */
 
-static INLINE ssize_t
+static ssize_t
 DequeueLocked(VMCIQueue *produceQ,                        // IN
               VMCIQueue *consumeQ,                        // IN
               const uint64 consumeQSize,                  // IN
index 6d7e090217f67d46bcebfb8dd3ff10e01eb96b72..96315c7f2206bc5a6d319f1065eb41193fd38072 100644 (file)
@@ -69,7 +69,6 @@ VSockAddr_Init(struct sockaddr_vm *addr, // OUT
                uint32 port)              // IN
 {
    ASSERT(addr);
-   memset(addr, 0, sizeof *addr);
    VSockAddr_InitNoFamily(addr, cid, port);
    addr->svm_family = VMCISockGetAFValueInt();
    VSOCK_ADDR_ASSERT(addr);
@@ -102,12 +101,11 @@ VSockAddr_InitNoFamily(struct sockaddr_vm *addr, // OUT
                        uint32 port)              // IN
 {
    ASSERT(addr);
-   memset(addr, 0, sizeof *addr);
 
+   memset(addr, 0, sizeof *addr);
 #if defined(__APPLE__)
    addr->svm_len = sizeof *addr;
 #endif
-
    addr->svm_cid = cid;
    addr->svm_port = port;
    VSOCK_ADDR_NOFAMILY_ASSERT(addr);
index 56620fb2379e6adeee3f29b50f9c6bf5cc5c93ef..db57294c490878e3b89fddd1b4794e88db813896 100644 (file)
@@ -89,22 +89,24 @@ typedef enum {
 
 // DIX type fields we care about
 typedef enum {
-   ETH_TYPE_IPV4        = 0x0800,  
-   ETH_TYPE_IPV6        = 0x86DD,  
-   ETH_TYPE_ARP         = 0x0806,  
+   ETH_TYPE_IPV4        = 0x0800,
+   ETH_TYPE_IPV6        = 0x86DD,
+   ETH_TYPE_ARP         = 0x0806,
    ETH_TYPE_RARP        = 0x8035,
    ETH_TYPE_LLDP        = 0x88CC,
+   ETH_TYPE_CDP         = 0x2000,
    ETH_TYPE_AKIMBI      = 0x88DE,
    ETH_TYPE_VMWARE      = 0x8922,
    ETH_TYPE_802_1PQ     = 0x8100,  // not really a DIX type, but used as such
    ETH_TYPE_LLC         = 0xFFFF,  // 0xFFFF is IANA reserved, used to mark LLC
 } Eth_DixType;
 typedef enum {
-   ETH_TYPE_IPV4_NBO    = 0x0008,  
-   ETH_TYPE_IPV6_NBO    = 0xDD86,  
-   ETH_TYPE_ARP_NBO     = 0x0608,  
+   ETH_TYPE_IPV4_NBO    = 0x0008,
+   ETH_TYPE_IPV6_NBO    = 0xDD86,
+   ETH_TYPE_ARP_NBO     = 0x0608,
    ETH_TYPE_RARP_NBO    = 0x3580,
    ETH_TYPE_LLDP_NBO    = 0xCC88,
+   ETH_TYPE_CDP_NBO     = 0x0020,
    ETH_TYPE_AKIMBI_NBO  = 0xDE88,
    ETH_TYPE_VMWARE_NBO  = 0x2289,
    ETH_TYPE_802_1PQ_NBO = 0x0081,  // not really a DIX type, but used as such
index 0a95ce0b32cd6533d110b9a6c998e22b2a6a6cad..8b9a07f2ca8a69319c420abc1a8c4f0afbf689a2 100644 (file)
@@ -1154,7 +1154,7 @@ vmxnet3_getcapab(void *data, mac_capab_t capab, void *arg)
          ret = B_FALSE;
    }
 
-   VMXNET3_DEBUG(dp, 2, "getcapab(0x%x) -> %s\n", capab, ret ? "yes" : "no");
+   VMXNET3_DEBUG(dp, 3, "getcapab(0x%x) -> %s\n", capab, ret ? "yes" : "no");
 
    return ret;
 }
index a5738c76769777b77304d97d5e89bee831e1e576..67a23d6afa5239fdae82549821a1e9a0dd488d26 100644 (file)
@@ -36,6 +36,7 @@
 #include "system.h"
 #include "util.h"
 #include "vmcheck.h"
+#include "vm_tools_version.h"
 #include "vmware/guestrpc/tclodefs.h"
 #include "vmware/tools/log.h"
 #include "vmware/tools/utils.h"
@@ -382,6 +383,11 @@ ToolsCore_Setup(ToolsServiceState *state)
 
    ToolsCore_ReloadConfig(state, FALSE);
 
+   /*
+    * Useful for debugging purposes. Log the vesion and build information.
+    */
+   g_message("Tools Version: %s (%s)\n", TOOLS_VERSION_EXT_CURRENT_STR, BUILD_NUMBER);
+
    /* Initializes the app context. */
    gctx = g_main_context_default();
    state->ctx.version = TOOLS_CORE_API_V1;