mirror of
https://github.com/moparisthebest/curl
synced 2024-11-18 07:25:14 -05:00
7ea2e1d0c5
This is primarily interesting for cases where CURLOPT_NOBODY is set as previously curl would not return an error for this case. MDTM getting 550 now also returns this error (it returned CURLE_FTP_COULDNT_RETR_FILE before) in order to unify return codes for missing files across protocols and specific FTP commands. libcurl already returns error on a 550 as a MDTM response (when CURLOPT_FILETIME is set). If CURLOPT_NOBODY is not set, an error would happen subsequently anyway since the RETR command would fail. Add test 1913 and 1914 to verify. Updated several tests accordingly due to the updated SIZE behavior. Reported-by: Tomas Berger Fixes #5953 Closes #5957
49 lines
1.5 KiB
C
49 lines
1.5 KiB
C
/***************************************************************************
|
|
* _ _ ____ _
|
|
* Project ___| | | | _ \| |
|
|
* / __| | | | |_) | |
|
|
* | (__| |_| | _ <| |___
|
|
* \___|\___/|_| \_\_____|
|
|
*
|
|
* Copyright (C) 2020, Daniel Stenberg, <daniel@haxx.se>, et al.
|
|
*
|
|
* This software is licensed as described in the file COPYING, which
|
|
* you should have received as part of this distribution. The terms
|
|
* are also available at https://curl.haxx.se/docs/copyright.html.
|
|
*
|
|
* You may opt to use, copy, modify, merge, publish, distribute and/or sell
|
|
* copies of the Software, and permit persons to whom the Software is
|
|
* furnished to do so, under the terms of the COPYING file.
|
|
*
|
|
* This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
|
|
* KIND, either express or implied.
|
|
*
|
|
***************************************************************************/
|
|
#include "test.h"
|
|
|
|
#include "testutil.h"
|
|
#include "warnless.h"
|
|
#include "memdebug.h"
|
|
|
|
int test(char *URL)
|
|
{
|
|
CURLcode ret = CURLE_OK;
|
|
CURL *hnd;
|
|
start_test_timing();
|
|
|
|
curl_global_init(CURL_GLOBAL_ALL);
|
|
|
|
hnd = curl_easy_init();
|
|
if(hnd) {
|
|
curl_easy_setopt(hnd, CURLOPT_URL, URL);
|
|
curl_easy_setopt(hnd, CURLOPT_NOBODY, 1L);
|
|
if(libtest_arg2)
|
|
/* test1914 sets this extra arg */
|
|
curl_easy_setopt(hnd, CURLOPT_FILETIME, 1L);
|
|
ret = curl_easy_perform(hnd);
|
|
curl_easy_cleanup(hnd);
|
|
}
|
|
curl_global_cleanup();
|
|
return (int)ret;
|
|
}
|