]> granicus.if.org Git - curl/commitdiff
url: remove arg value check from CURLOPT_SSH_AUTH_TYPES
authorJay Satiro <raysatiro@yahoo.com>
Sat, 4 Nov 2017 22:36:07 +0000 (18:36 -0400)
committerJay Satiro <raysatiro@yahoo.com>
Sat, 4 Nov 2017 22:36:07 +0000 (18:36 -0400)
Since CURLSSH_AUTH_ANY (aka CURLSSH_AUTH_DEFAULT) is ~0 an arg value
check on this option is incorrect; we have to accept any value.

Prior to this change since f121575 (7.56.1+) CURLOPT_SSH_AUTH_TYPES
erroneously rejected CURLSSH_AUTH_ANY with CURLE_BAD_FUNCTION_ARGUMENT.

Bug: https://github.com/curl/curl/commit/f121575#commitcomment-25347120

lib/url.c

index c3fb297d22fb0864f9098bd76539025a67d10fe9..374ac6cfa9cbc52e43ab928d4cc91dd02037f5a4 100644 (file)
--- a/lib/url.c
+++ b/lib/url.c
@@ -2710,10 +2710,7 @@ CURLcode Curl_setopt(struct Curl_easy *data, CURLoption option,
 #ifdef USE_LIBSSH2
     /* we only include SSH options if explicitly built to support SSH */
   case CURLOPT_SSH_AUTH_TYPES:
-    arg = va_arg(param, long);
-    if(arg < CURLSSH_AUTH_NONE)
-      return CURLE_BAD_FUNCTION_ARGUMENT;
-    data->set.ssh_auth_types = arg;
+    data->set.ssh_auth_types = va_arg(param, long);
     break;
 
   case CURLOPT_SSH_PUBLIC_KEYFILE: