Why does ovftool appear to drop the query parameters for HTTP OVA sources? I have an OVA stored in an S3 like storage and am trying to use a presigned URL as the source to ovftool.
$ ovftool --X:logLevel=trivia --X:logToConsole 'http://192.168.39.196/ovas/dsl.ova?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=minioadmin%2F20190829%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20190829T013555Z&X-Amz-Expires=604800&X-Amz-SignedHeaders=host&X-Amz-Signature=xxx'
2019-08-28T18:52:12.098-07:00 verbose OVFTool[61924] [Originator@6876 sub=Default] [SSL_DB] Using /home/rwallace/.ovftool.ssldb as SSL DB
2019-08-28T18:52:12.102-07:00 verbose OVFTool[61924] [Originator@6876 sub=Default] Subscribing to signal: 2 (SIGINT)
2019-08-28T18:52:12.102-07:00 verbose OVFTool[61924] [Originator@6876 sub=Default] Subscribing to signal: 4 (SIGILL)
2019-08-28T18:52:12.103-07:00 verbose OVFTool[61924] [Originator@6876 sub=Default] Subscribing to signal: 6 (SIGABRT)
2019-08-28T18:52:12.103-07:00 verbose OVFTool[61924] [Originator@6876 sub=Default] Subscribing to signal: 8 (SIGFPE)
2019-08-28T18:52:12.103-07:00 verbose OVFTool[61924] [Originator@6876 sub=Default] Subscribing to signal: 15 (SIGTERM)
2019-08-28T18:52:12.103-07:00 verbose OVFTool[61924] [Originator@6876 sub=Default] Subscribing to signal: 1 (SIGHUP)
2019-08-28T18:52:12.103-07:00 verbose OVFTool[61924] [Originator@6876 sub=Default] Subscribing to signal: 3 (SIGQUIT)
2019-08-28T18:52:12.103-07:00 verbose OVFTool[61924] [Originator@6876 sub=Default] Subscribing to signal: 5 (SIGTRAP)
2019-08-28T18:52:12.103-07:00 verbose OVFTool[61924] [Originator@6876 sub=Default] Subscribing to signal: 9 (SIGKILL)
2019-08-28T18:52:12.103-07:00 verbose OVFTool[61924] [Originator@6876 sub=Default] Subscribing to signal: 13 (SIGPIPE)
2019-08-28T18:52:12.103-07:00 verbose OVFTool[61924] [Originator@6876 sub=Default] Initializing progress
2019-08-28T18:52:12.103-07:00 verbose OVFTool[61924] [Originator@6876 sub=Default] OvfTool Version: VMware ovftool 4.3.0 (build-7948156)
2019-08-28T18:52:12.103-07:00 verbose OVFTool[61924] [Originator@6876 sub=Default] Using home directory: ./.ovftool
2019-08-28T18:52:12.104-07:00 verbose OVFTool[61924] [Originator@6876 sub=Default] Curl Version: 7.58.0
2019-08-28T18:52:12.104-07:00 verbose OVFTool[61924] [Originator@6876 sub=Default] Done initializing libs
2019-08-28T18:52:12.104-07:00 verbose OVFTool[61924] [Originator@6876 sub=Default] Determining source
2019-08-28T18:52:12.104-07:00 verbose OVFTool[61924] [Originator@6876 sub=Default] Constructing URL...
2019-08-28T18:52:12.105-07:00 verbose OVFTool[61924] [Originator@6876 sub=Default] Determining target
2019-08-28T18:52:12.105-07:00 verbose OVFTool[61924] [Originator@6876 sub=Default] Getting source
2019-08-28T18:52:12.105-07:00 verbose OVFTool[61924] [Originator@6876 sub=Default] Parsing URL...
2019-08-28T18:52:12.105-07:00 verbose OVFTool[61924] [Originator@6876 sub=Default] Constructing URL...
2019-08-28T18:52:12.105-07:00 verbose OVFTool[61924] [Originator@6876 sub=Default] Constructing URL...
2019-08-28T18:52:12.105-07:00 info OVFTool[61924] [Originator@6876 sub=Default] ReaderFactory web request: http://192.168.39.196/ovas/dsl.ova?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=minioadmin%2F20190829%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20190829T013555Z&X-Amz-Expires=604800&X-Amz-SignedHeaders=host&X-Amz-Signature=xxx, noBody=true
2019-08-28T18:52:12.105-07:00 verbose OVFTool[61924] [Originator@6876 sub=Default] Initializing new curl session
2019-08-28T18:52:12.105-07:00 trivia OVFTool[61924] [Originator@6876 sub=Default] Using HIGH OpenSSL ciphers suite.
2019-08-28T18:52:12.106-07:00 trivia OVFTool[61930] [Originator@6876 sub=Default] CURL: Trying 192.168.39.196...
-->
2019-08-28T18:52:12.106-07:00 trivia OVFTool[61930] [Originator@6876 sub=Default] CURL: TCP_NODELAY set
-->
2019-08-28T18:52:12.106-07:00 trivia OVFTool[61930] [Originator@6876 sub=Default] CURL: Connected to 192.168.39.196 (192.168.39.196) port 9001 (#0)
-->
2019-08-28T18:52:12.106-07:00 trivia OVFTool[61930] [Originator@6876 sub=Default] CURL: header data hidden
2019-08-28T18:52:12.107-07:00 trivia OVFTool[61930] [Originator@6876 sub=Default] CURL: header data hidden
2019-08-28T18:52:12.107-07:00 trivia OVFTool[61930] [Originator@6876 sub=Default] CURL: header data hidden
2019-08-28T18:52:12.107-07:00 trivia OVFTool[61930] [Originator@6876 sub=Default] CURL: header data hidden
2019-08-28T18:52:12.107-07:00 trivia OVFTool[61930] [Originator@6876 sub=Default] CURL: header data hidden
2019-08-28T18:52:12.107-07:00 trivia OVFTool[61930] [Originator@6876 sub=Default] CURL: header data hidden
2019-08-28T18:52:12.107-07:00 trivia OVFTool[61930] [Originator@6876 sub=Default] CURL: header data hidden
2019-08-28T18:52:12.107-07:00 trivia OVFTool[61930] [Originator@6876 sub=Default] CURL: header data hidden
2019-08-28T18:52:12.107-07:00 trivia OVFTool[61930] [Originator@6876 sub=Default] CURL: header data hidden
2019-08-28T18:52:12.107-07:00 trivia OVFTool[61930] [Originator@6876 sub=Default] CURL: header data hidden
2019-08-28T18:52:12.107-07:00 trivia OVFTool[61930] [Originator@6876 sub=Default] CURL: header data hidden
2019-08-28T18:52:12.107-07:00 trivia OVFTool[61930] [Originator@6876 sub=Default] CURL: Connection #0 to host 192.168.39.196 left intact
-->
2019-08-28T18:52:12.107-07:00 verbose OVFTool[61924] [Originator@6876 sub=Default] Constructing URL...
2019-08-28T18:52:12.108-07:00 verbose OVFTool[61924] [Originator@6876 sub=Default] Curl session torn down
Error: Could not open URL http://192.168.39.196:9001/ovas/dsl.ova (response code: 403)
2019-08-28T18:52:12.108-07:00 verbose OVFTool[61924] [Originator@6876 sub=Default] Backtrace:
--> [backtrace begin] product: VMware Workstation, version: e.x.p, build: build-7948156, tag: OVFTool, cpu: x86_64, os: linux, buildType: release
--> backtrace[00] libvmacore.so[0x00356204]: Vmacore::System::Stacktrace::CaptureWork(unsigned int)
--> backtrace[01] libvmacore.so[0x001C35B4]: Vmacore::System::SystemFactory::CreateQuickBacktrace(Vmacore::Ref<Vmacore::System::Backtrace>&)
--> backtrace[02] libvmacore.so[0x0018426B]: Vmacore::Throwable::Throwable(std::string&&)
--> backtrace[03] ovftool.bin[0x001FFD76]
--> backtrace[04] ovftool.bin[0x001FCD8A]
--> backtrace[05] ovftool.bin[0x001FDDF8]
--> backtrace[06] ovftool.bin[0x001FEB54]
--> backtrace[07] ovftool.bin[0x001FF234]
--> backtrace[08] ovftool.bin[0x002003C5]
--> backtrace[09] ovftool.bin[0x00200DA5]
--> backtrace[10] ovftool.bin[0x0026B4C1]
--> backtrace[11] ovftool.bin[0x00174CCA]
--> backtrace[12] ovftool.bin[0x001EFEC5]
--> backtrace[13] ovftool.bin[0x001467E7]
--> backtrace[14] libc.so.6[0x00022B8E]
--> backtrace[15] ovftool.bin[0x0014E6B9]
--> [backtrace end]
The request fails because ovftool tries to get the file as just "http://192.168.39.196:9001/ovas/dsl.ova ", without any signatures or anything, which results in the 403 Forbidden response.
Why does ovftool do that? Is there a way to prevent it from doing that? If there isn't now, can it be fixed in the future?
Thanks,
Rich