tool: change some fopen failures from warnings to errors

- Error on missing input file for --data, --data-binary,
  --data-urlencode, --header, --variable, --write-out.

Prior to this change if a user of the curl tool specified an input file
for one of the above options and that file could not be opened then it
would be treated as zero length data instead of an error. For example, a
POST using `--data @filenametypo` would cause a zero length POST which
is probably not what the user intended.

Closes https://github.com/curl/curl/pull/11677
This commit is contained in:
Jay Satiro 2023-08-20 03:08:15 -04:00
parent 2fe26a7c6a
commit aacbeae7bb
4 changed files with 28 additions and 71 deletions

View file

@ -1,55 +0,0 @@
<testcase>
<info>
<keywords>
HTTP
HTTP POST
</keywords>
</info>
#
# Server-side
<reply>
<data>
HTTP/1.0 200 OK
Server: test-server/fake
Content-Type: text/html
Content-Length: 0
this is data even though Content-Length is set to zero
</data>
<datacheck>
HTTP/1.0 200 OK
Server: test-server/fake
Content-Type: text/html
Content-Length: 0
</datacheck>
</reply>
#
# Client-side
<client>
<server>
http
</server>
<name>
HTTP POST a non-existing file
</name>
<command>
-d @nonesuchfile http://%HOSTIP:%HTTPPORT/%TESTNUMBER
</command>
</client>
#
# Verify data after the test has been "shot"
<verify>
<protocol>
POST /%TESTNUMBER HTTP/1.1
Host: %HOSTIP:%HTTPPORT
User-Agent: curl/%VERSION
Accept: */*
Content-Length: 0
Content-Type: application/x-www-form-urlencoded
</protocol>
</verify>
</testcase>