curl/docs/libcurl/opts/CURLOPT_FTP_ALTERNATIVE_TO_USER.md
Daniel Stenberg e694c8284a
docs/libcurl/opts: clarify the return values
Expand a little.

- mention the type name of the return code
- avoid stating which exact return codes that might be returned, as that
  varies over time, builds and conditions
- avoid stating some always return OK
- refer to the manpage documenting all the return codes

Closes #15900
2025-01-02 17:13:33 +01:00

1.5 KiB

c SPDX-License-Identifier Title Section Source Protocol See-also Added-in
Copyright (C) Daniel Stenberg, <daniel@haxx.se>, et al. curl CURLOPT_FTP_ALTERNATIVE_TO_USER 3 libcurl
FTP
CURLOPT_FTP_ACCOUNT (3)
CURLOPT_FTP_SKIP_PASV_IP (3)
CURLOPT_SERVER_RESPONSE_TIMEOUT (3)
CURLOPT_USERNAME (3)
7.15.5

NAME

CURLOPT_FTP_ALTERNATIVE_TO_USER - command to use instead of USER with FTP

SYNOPSIS

#include <curl/curl.h>

CURLcode curl_easy_setopt(CURL *handle, CURLOPT_FTP_ALTERNATIVE_TO_USER,
                          char *cmd);

DESCRIPTION

Pass a char pointer as parameter, pointing to a string which is used to authenticate if the usual FTP "USER user" and "PASS password" negotiation fails. This is currently only known to be required when connecting to Tumbleweed's Secure Transport FTPS server using client certificates for authentication.

The application does not have to keep the string around after setting this option.

DEFAULT

NULL

%PROTOCOLS%

EXAMPLE

int main(void)
{
  CURL *curl = curl_easy_init();
  if(curl) {
    CURLcode res;
    curl_easy_setopt(curl, CURLOPT_URL, "ftp://example.com/foo.bin");
    curl_easy_setopt(curl, CURLOPT_FTP_ALTERNATIVE_TO_USER, "two users");
    res = curl_easy_perform(curl);

    curl_easy_cleanup(curl);
  }
}

%AVAILABILITY%

RETURN VALUE

curl_easy_setopt(3) returns a CURLcode indicating success or error.

CURLE_OK (0) means everything was OK, non-zero means an error occurred, see libcurl-errors(3).