aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Stenberg <daniel@haxx.se>2019-05-14 10:03:54 +0200
committerDaniel Stenberg <daniel@haxx.se>2019-05-18 16:14:10 +0200
commit697b1f911b6fee51ff2b271a292488fd7f9cdcda (patch)
tree92c60566de44f5cf4275e941b538ac5917b0d4cd
parente91e48161235272ff485ff32bd048c53af731f43 (diff)
curl: make code work with protocol-disabled libcurl
Closes #3844
-rw-r--r--src/tool_operate.c17
-rw-r--r--tests/data/test14003
-rw-r--r--tests/data/test14012
-rw-r--r--tests/data/test14022
-rw-r--r--tests/data/test14032
-rw-r--r--tests/data/test14042
-rw-r--r--tests/data/test14053
-rw-r--r--tests/data/test14073
8 files changed, 22 insertions, 12 deletions
diff --git a/src/tool_operate.c b/src/tool_operate.c
index 835303c53..462119a1c 100644
--- a/src/tool_operate.c
+++ b/src/tool_operate.c
@@ -825,7 +825,9 @@ static CURLcode operate_do(struct GlobalConfig *global,
/* where to store */
my_setopt(curl, CURLOPT_WRITEDATA, &outs);
+#ifndef CURL_DISABLE_RTSP
my_setopt(curl, CURLOPT_INTERLEAVEDATA, &outs);
+#endif
if(metalink || !config->use_metalink)
/* what call to write */
my_setopt(curl, CURLOPT_WRITEFUNCTION, tool_write_cb);
@@ -1032,8 +1034,9 @@ static CURLcode operate_do(struct GlobalConfig *global,
my_setopt(curl, CURLOPT_RESUME_FROM_LARGE, CURL_OFF_T_C(0));
my_setopt_str(curl, CURLOPT_KEYPASSWD, config->key_passwd);
+#ifndef CURL_DISABLE_PROXY
my_setopt_str(curl, CURLOPT_PROXY_KEYPASSWD, config->proxy_key_passwd);
-
+#endif
if(built_in_protos & (CURLPROTO_SCP|CURLPROTO_SFTP)) {
/* SSH and SSL private key uses same command-line option */
@@ -1239,8 +1242,9 @@ static CURLcode operate_do(struct GlobalConfig *global,
/* three new ones in libcurl 7.3: */
my_setopt_str(curl, CURLOPT_INTERFACE, config->iface);
+#ifndef CURL_DISABLE_FTP
my_setopt_str(curl, CURLOPT_KRBLEVEL, config->krblevel);
-
+#endif
progressbarinit(&progressbar, config);
if((global->progressmode == CURL_PROGRESS_BAR) &&
!global->noprogress && !global->mute) {
@@ -1262,9 +1266,10 @@ static CURLcode operate_do(struct GlobalConfig *global,
if(config->dns_ipv6_addr)
my_setopt_str(curl, CURLOPT_DNS_LOCAL_IP6, config->dns_ipv6_addr);
+#ifndef CURL_DISABLE_TELNET
/* new in libcurl 7.6.2: */
my_setopt_slist(curl, CURLOPT_TELNETOPTIONS, config->telnet_options);
-
+#endif
/* new in libcurl 7.7: */
my_setopt_str(curl, CURLOPT_RANDOM_FILE, config->random_file);
my_setopt_str(curl, CURLOPT_EGDSOCKET, config->egd_file);
@@ -1367,9 +1372,10 @@ static CURLcode operate_do(struct GlobalConfig *global,
my_setopt_str(curl, CURLOPT_SERVICE_NAME,
config->service_name);
+#ifndef CURL_DISABLE_FTP
/* curl 7.13.0 */
my_setopt_str(curl, CURLOPT_FTP_ACCOUNT, config->ftp_account);
-
+#endif
my_setopt(curl, CURLOPT_IGNORE_CONTENT_LENGTH, config->ignorecl?1L:0L);
#ifndef CURL_DISABLE_FTP
@@ -1385,10 +1391,11 @@ static CURLcode operate_do(struct GlobalConfig *global,
my_setopt_str(curl, CURLOPT_LOCALPORTRANGE, config->localportrange);
}
+#ifndef CURL_DISABLE_FTP
/* curl 7.15.5 */
my_setopt_str(curl, CURLOPT_FTP_ALTERNATIVE_TO_USER,
config->ftp_alternative_to_user);
-
+#endif
/* curl 7.16.0 */
if(config->disable_sessionid)
/* disable it */
diff --git a/tests/data/test1400 b/tests/data/test1400
index 36ddd0e91..c0d409bac 100644
--- a/tests/data/test1400
+++ b/tests/data/test1400
@@ -50,11 +50,13 @@ Accept: */*
<stripfile>
s/(USERAGENT, \")[^\"]+/${1}stripped/
# CURLOPT_SSL_VERIFYPEER, SSH_KNOWNHOSTS and HTTP_VERSION vary with
+# CURLOPT_INTERLEAVEDATA requires RTSP protocol
# configurations - just ignore them
$_ = '' if /CURLOPT_SSL_VERIFYPEER/
$_ = '' if /CURLOPT_SSH_KNOWNHOSTS/
$_ = '' if /CURLOPT_HTTP_VERSION/
$_ = '' if /CURLOPT_HTTP09_ALLOWED/
+$_ = '' if /CURLOPT_INTERLEAVEDATA/
</stripfile>
<file name="log/test1400.c" mode="text">
/********* Sample code generated by the curl command line tool **********
@@ -81,7 +83,6 @@ int main(int argc, char *argv[])
them yourself.
CURLOPT_WRITEDATA set to a objectpointer
- CURLOPT_INTERLEAVEDATA set to a objectpointer
CURLOPT_WRITEFUNCTION set to a functionpointer
CURLOPT_READDATA set to a objectpointer
CURLOPT_READFUNCTION set to a functionpointer
diff --git a/tests/data/test1401 b/tests/data/test1401
index d7033e0b5..647f036f4 100644
--- a/tests/data/test1401
+++ b/tests/data/test1401
@@ -61,6 +61,7 @@ X-Men: cyclops, iceman
$_ = '' if /CURLOPT_SSL_VERIFYPEER/
$_ = '' if /CURLOPT_SSH_KNOWNHOSTS/
$_ = '' if /CURLOPT_HTTP_VERSION/
+$_ = '' if /CURLOPT_INTERLEAVEDATA/
</stripfile>
<file name="log/test1401.c" mode="text">
/********* Sample code generated by the curl command line tool **********
@@ -100,7 +101,6 @@ int main(int argc, char *argv[])
them yourself.
CURLOPT_WRITEDATA set to a objectpointer
- CURLOPT_INTERLEAVEDATA set to a objectpointer
CURLOPT_WRITEFUNCTION set to a functionpointer
CURLOPT_READDATA set to a objectpointer
CURLOPT_READFUNCTION set to a functionpointer
diff --git a/tests/data/test1402 b/tests/data/test1402
index 978b26162..b9f52f2e8 100644
--- a/tests/data/test1402
+++ b/tests/data/test1402
@@ -59,6 +59,7 @@ s/(USERAGENT, \")[^\"]+/${1}stripped/
$_ = '' if /CURLOPT_SSL_VERIFYPEER/
$_ = '' if /CURLOPT_SSH_KNOWNHOSTS/
$_ = '' if /CURLOPT_HTTP_VERSION/
+$_ = '' if /CURLOPT_INTERLEAVEDATA/
</stripfile>
<file name="log/test1402.c" mode="text">
/********* Sample code generated by the curl command line tool **********
@@ -88,7 +89,6 @@ int main(int argc, char *argv[])
them yourself.
CURLOPT_WRITEDATA set to a objectpointer
- CURLOPT_INTERLEAVEDATA set to a objectpointer
CURLOPT_WRITEFUNCTION set to a functionpointer
CURLOPT_READDATA set to a objectpointer
CURLOPT_READFUNCTION set to a functionpointer
diff --git a/tests/data/test1403 b/tests/data/test1403
index 9c838d0ed..db13081b0 100644
--- a/tests/data/test1403
+++ b/tests/data/test1403
@@ -56,6 +56,7 @@ s/(USERAGENT, \")[^\"]+/${1}stripped/
$_ = '' if /CURLOPT_SSL_VERIFYPEER/
$_ = '' if /CURLOPT_SSH_KNOWNHOSTS/
$_ = '' if /CURLOPT_HTTP_VERSION/
+$_ = '' if /CURLOPT_INTERLEAVEDATA/
</stripfile>
<file name="log/test1403.c" mode="text">
/********* Sample code generated by the curl command line tool **********
@@ -83,7 +84,6 @@ int main(int argc, char *argv[])
them yourself.
CURLOPT_WRITEDATA set to a objectpointer
- CURLOPT_INTERLEAVEDATA set to a objectpointer
CURLOPT_WRITEFUNCTION set to a functionpointer
CURLOPT_READDATA set to a objectpointer
CURLOPT_READFUNCTION set to a functionpointer
diff --git a/tests/data/test1404 b/tests/data/test1404
index a7b8cc823..e976f0b38 100644
--- a/tests/data/test1404
+++ b/tests/data/test1404
@@ -94,6 +94,7 @@ s/(USERAGENT, \")[^\"]+/${1}stripped/
$_ = '' if /CURLOPT_SSL_VERIFYPEER/
$_ = '' if /CURLOPT_SSH_KNOWNHOSTS/
$_ = '' if /CURLOPT_HTTP_VERSION/
+$_ = '' if /CURLOPT_INTERLEAVEDATA/
# CURL_DOES_CONVERSION generates an extra comment.
$_ = '' if /\/\* "value" \*\//
</stripfile>
@@ -154,7 +155,6 @@ int main(int argc, char *argv[])
them yourself.
CURLOPT_WRITEDATA set to a objectpointer
- CURLOPT_INTERLEAVEDATA set to a objectpointer
CURLOPT_WRITEFUNCTION set to a functionpointer
CURLOPT_READDATA set to a objectpointer
CURLOPT_READFUNCTION set to a functionpointer
diff --git a/tests/data/test1405 b/tests/data/test1405
index 4f477c7d9..dcc8f80b0 100644
--- a/tests/data/test1405
+++ b/tests/data/test1405
@@ -96,7 +96,6 @@ int main(int argc, char *argv[])
them yourself.
CURLOPT_WRITEDATA set to a objectpointer
- CURLOPT_INTERLEAVEDATA set to a objectpointer
CURLOPT_WRITEFUNCTION set to a functionpointer
CURLOPT_READDATA set to a objectpointer
CURLOPT_READFUNCTION set to a functionpointer
@@ -128,6 +127,7 @@ int main(int argc, char *argv[])
</file>
<stripfile>
# CURLOPT_USERAGENT and CURLOPT_MAXREDIRS requires HTTP protocol
+# CURLOPT_INTERLEAVEDATA requires RTSP (HTTP) protocol
# support, IOW depends on configuration - just ignore these.
$_ = '' if /CURLOPT_USERAGENT/
$_ = '' if /CURLOPT_MAXREDIRS/
@@ -137,6 +137,7 @@ $_ = '' if /CURLOPT_SSL_VERIFYPEER/
$_ = '' if /CURLOPT_SSH_KNOWNHOSTS/
$_ = '' if /CURLOPT_HTTP_VERSION/
$_ = '' if /CURLOPT_HTTP09_ALLOWED/
+$_ = '' if /CURLOPT_INTERLEAVEDATA/
</stripfile>
</verify>
</testcase>
diff --git a/tests/data/test1407 b/tests/data/test1407
index 883cf4064..917a5deb7 100644
--- a/tests/data/test1407
+++ b/tests/data/test1407
@@ -69,7 +69,6 @@ int main(int argc, char *argv[])
them yourself.
CURLOPT_WRITEDATA set to a objectpointer
- CURLOPT_INTERLEAVEDATA set to a objectpointer
CURLOPT_WRITEFUNCTION set to a functionpointer
CURLOPT_READDATA set to a objectpointer
CURLOPT_READFUNCTION set to a functionpointer
@@ -95,12 +94,14 @@ int main(int argc, char *argv[])
</file>
<stripfile>
# These options vary with configurations - just ignore them
+# CURLOPT_INTERLEAVEDATA requires RTSP (HTTP) protocol
$_ = '' if /CURLOPT_USERAGENT/
$_ = '' if /CURLOPT_MAXREDIRS/
$_ = '' if /CURLOPT_SSL_VERIFYPEER/
$_ = '' if /CURLOPT_SSH_KNOWNHOSTS/
$_ = '' if /CURLOPT_HTTP_VERSION/
$_ = '' if /CURLOPT_HTTP09_ALLOWED/
+$_ = '' if /CURLOPT_INTERLEAVEDATA/
</stripfile>
</verify>
</testcase>