diff --git a/vadp_dumper/bareos_vadp_dumper.cpp b/vadp_dumper/bareos_vadp_dumper.cpp index 6f0d619..aaab145 100644 --- a/vadp_dumper/bareos_vadp_dumper.cpp +++ b/vadp_dumper/bareos_vadp_dumper.cpp @@ -23,6 +23,7 @@ * VADP Dumper - vStorage APIs for Data Protection Dumper program. * * Marco van Wieringen, July 2014 + * Renout Gerrits, Oct 2017, added thumbprint */ #include #include @@ -52,7 +53,7 @@ #define VIXDISKLIB_VERSION_MAJOR 5 #define VIXDISKLIB_VERSION_MINOR 5 -#define VSPHERE_DEFAULT_ADMIN_PORT 902 +#define VSPHERE_DEFAULT_ADMIN_PORT 0 /* * VixDiskLib does all processing in sectors of 512 bytes. @@ -71,6 +72,7 @@ #define CON_PARAMS_KEY "ConnParams" #define CON_PARAMS_VM_MOREF_KEY "VmMoRef" #define CON_PARAMS_HOST_KEY "VsphereHostName" +#define CON_PARAMS_THUMBPRINT_KEY "VsphereThumbPrint" #define CON_PARAMS_USERNAME_KEY "VsphereUsername" #define CON_PARAMS_PASSWORD_KEY "VspherePassword" #define CON_PARAMS_SNAPSHOT_MOREF_KEY "VsphereSnapshotMoRef" @@ -525,6 +527,16 @@ static inline void do_vixdisklib_connect(const char *key, json_t *connect_params goto bail_out; } + object = json_object_get(connect_params, CON_PARAMS_THUMBPRINT_KEY); + if (object) { + + cnxParams.thumbPrint = strdup(json_string_value(object)); + if (!cnxParams.thumbPrint) { + fprintf(stderr, "Failed to allocate memory for holding %s\n", CON_PARAMS_USERNAME_KEY); + goto bail_out; + } + } + object = json_object_get(connect_params, CON_PARAMS_USERNAME_KEY); if (!object) { fprintf(stderr, "Failed to find %s in JSON definition of object %s\n", CON_PARAMS_USERNAME_KEY, key); @@ -537,6 +549,7 @@ static inline void do_vixdisklib_connect(const char *key, json_t *connect_params goto bail_out; } + object = json_object_get(connect_params, CON_PARAMS_PASSWORD_KEY); if (!object) { fprintf(stderr, "Failed to find %s in JSON definition of object %s\n", CON_PARAMS_PASSWORD_KEY, key); diff --git a/vmware_plugin/BareosFdPluginVMware.py b/vmware_plugin/BareosFdPluginVMware.py index 91e8c11..1238883 100644 --- a/vmware_plugin/BareosFdPluginVMware.py +++ b/vmware_plugin/BareosFdPluginVMware.py @@ -20,6 +20,7 @@ # 02110-1301, USA. # # Author: Stephan Duehr +# Renout Gerrits, Oct 2017, added thumbprint # # Bareos python class for VMware related backup and restore # @@ -76,7 +77,7 @@ def __init__(self, context, plugindef): self.events.append(bEventType['bEventStartBackupJob']) self.events.append(bEventType['bEventStartRestoreJob']) bareosfd.RegisterEvents(context, self.events) - self.mandatory_options_default = ['vcserver', 'vcuser', 'vcpass'] + self.mandatory_options_default = ['vcserver', 'vcuser', 'vcpass', 'vcthumbprint'] self.mandatory_options_vmname = ['dc', 'folder', 'vmname'] self.vadp = BareosVADPWrapper() @@ -1035,6 +1036,7 @@ def cbt2json(self, context): cbt_data['ConnParams']['VsphereHostName'] = self.options['vcserver'] cbt_data['ConnParams']['VsphereUsername'] = self.options['vcuser'] cbt_data['ConnParams']['VspherePassword'] = self.options['vcpass'] + cbt_data['ConnParams']['VsphereThumbPrint'] = self.options['vcthumbprint'].replace(" ", ":") cbt_data['ConnParams'][ 'VsphereSnapshotMoRef'] = self.create_snap_result._moId