From 9dc3eaee2901875d87690de62b427fa7cf96fead Mon Sep 17 00:00:00 2001 From: Michael Koenig Date: Mon, 17 Aug 2015 17:54:47 +0200 Subject: TFTP: add option to suppress TFTP option requests (Part 1) Some TFTP server implementations ignore the "TFTP Option extension" (RFC 1782-1784, 2347-2349), or implement it in a flawed way, causing problems with libcurl. Another switch for curl_easy_setopt "CURLOPT_TFTP_NO_OPTIONS" is introduced which prevents libcurl from sending TFTP option requests to a server, avoiding many problems caused by faulty implementations. Bug: https://github.com/curl/curl/issues/481 --- docs/libcurl/curl_easy_setopt.3 | 2 ++ docs/libcurl/opts/CURLOPT_TFTP_NO_OPTIONS.3 | 44 +++++++++++++++++++++++++++++ docs/libcurl/symbols-in-versions | 1 + 3 files changed, 47 insertions(+) create mode 100644 docs/libcurl/opts/CURLOPT_TFTP_NO_OPTIONS.3 (limited to 'docs') diff --git a/docs/libcurl/curl_easy_setopt.3 b/docs/libcurl/curl_easy_setopt.3 index eea407b8c..3a82024a3 100644 --- a/docs/libcurl/curl_easy_setopt.3 +++ b/docs/libcurl/curl_easy_setopt.3 @@ -314,6 +314,8 @@ Authentication address. See \fICURLOPT_MAIL_AUTH(3)\fP .SH TFTP OPTIONS .IP CURLOPT_TFTP_BLKSIZE TFTP block size. See \fICURLOPT_TFTP_BLKSIZE(3)\fP +.IP CURLOPT_TFTP_NO_OPTIONS +Prevents TFTP options to be send with RRQs/WRQs. See \fICURLOPT_TFTP_NO_OPTIONS(3)\fP .SH FTP OPTIONS .IP CURLOPT_FTPPORT Use active FTP. See \fICURLOPT_FTPPORT(3)\fP diff --git a/docs/libcurl/opts/CURLOPT_TFTP_NO_OPTIONS.3 b/docs/libcurl/opts/CURLOPT_TFTP_NO_OPTIONS.3 new file mode 100644 index 000000000..0e31a2937 --- /dev/null +++ b/docs/libcurl/opts/CURLOPT_TFTP_NO_OPTIONS.3 @@ -0,0 +1,44 @@ +.\" ************************************************************************** +.\" * _ _ ____ _ +.\" * Project ___| | | | _ \| | +.\" * / __| | | | |_) | | +.\" * | (__| |_| | _ <| |___ +.\" * \___|\___/|_| \_\_____| +.\" * +.\" * Copyright (C) 1998 - 2014, Daniel Stenberg, , 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 http://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. +.\" * +.\" ************************************************************************** +.\" +.TH CURLOPT_TFTP_NO_OPTIONS 3 "19 Jun 2014" "libcurl 7.37.0" "curl_easy_setopt options" +.SH NAME +CURLOPT_TFTP_NO_OPTIONS \- Prevents TFTP options to be send with RRQs/WRQs +.SH SYNOPSIS +#include + +CURLcode curl_easy_setopt(CURL *handle, CURLOPT_TFTP_NO_OPTIONS, long sendoptions); +.SH DESCRIPTION +Set \fIsendoptions\fP to 1 to exclude all TFTP options defined in RFC2347, +RFC2348, RFC2349 from read and write requests. +libcurl will behave like a client implementing only RFC1350, ignoring any +protocol extensions. +.SH DEFAULT +0 +.SH PROTOCOLS +TFTP +.SH EXAMPLE +TODO +.SH AVAILABILITY +Added in 7.48.0 +.SH RETURN VALUE +Returns CURLE_OK if the option is supported, and CURLE_UNKNOWN_OPTION if not. diff --git a/docs/libcurl/symbols-in-versions b/docs/libcurl/symbols-in-versions index 629d2241c..8cfb76521 100644 --- a/docs/libcurl/symbols-in-versions +++ b/docs/libcurl/symbols-in-versions @@ -537,6 +537,7 @@ CURLOPT_TCP_KEEPINTVL 7.25.0 CURLOPT_TCP_NODELAY 7.11.2 CURLOPT_TELNETOPTIONS 7.7 CURLOPT_TFTP_BLKSIZE 7.19.4 +CURLOPT_TFTP_NO_OPTIONS 7.48.0 CURLOPT_TIMECONDITION 7.1 CURLOPT_TIMEOUT 7.1 CURLOPT_TIMEOUT_MS 7.16.2 -- cgit v1.2.3