mirror of
https://github.com/curl/curl.git
synced 2025-04-12 16:20:35 +08:00
configure, cmake, lib: more form api deprecation
Introduce a --enable-form-api configure option to control its inclusion in builds. The condition name defined for it is CURL_DISABLE_FORM_API. Form api code is dependent of MIME: configure and CMake handle this dependency automatically: CMake by making it a dependent option explicitly, configure by inheriting the MIME value by default and rejecting explicit incompatible values. "form-api" is now a new hidden test feature. Update libcurl modules to respect this option and adjust tests accordingly. Closes #9621
This commit is contained in:
parent
50e563253d
commit
038c46f61f
@ -199,6 +199,9 @@ option(CURL_DISABLE_DOH "disables DNS-over-HTTPS" OFF)
|
||||
mark_as_advanced(CURL_DISABLE_DOH)
|
||||
option(CURL_DISABLE_FILE "disables FILE" OFF)
|
||||
mark_as_advanced(CURL_DISABLE_FILE)
|
||||
cmake_dependent_option(CURL_DISABLE_FORM_API "disables form api" OFF
|
||||
"NOT CURL_DISABLE_MIME" ON)
|
||||
mark_as_advanced(CURL_DISABLE_FORM_API)
|
||||
option(CURL_DISABLE_FTP "disables FTP" OFF)
|
||||
mark_as_advanced(CURL_DISABLE_FTP)
|
||||
option(CURL_DISABLE_GETOPTIONS "disables curl_easy_options API for existing options to curl_easy_setopt" OFF)
|
||||
|
26
configure.ac
26
configure.ac
@ -4126,6 +4126,32 @@ AS_HELP_STRING([--disable-mime],[Disable mime API support]),
|
||||
AC_MSG_RESULT(yes)
|
||||
)
|
||||
|
||||
dnl ************************************************************
|
||||
dnl disable form API support
|
||||
dnl
|
||||
AC_MSG_CHECKING([whether to support the form API])
|
||||
AC_ARG_ENABLE(form-api,
|
||||
AS_HELP_STRING([--enable-form-api],[Enable form API support])
|
||||
AS_HELP_STRING([--disable-form-api],[Disable form API support]),
|
||||
[ case "$enableval" in
|
||||
no) AC_MSG_RESULT(no)
|
||||
AC_DEFINE(CURL_DISABLE_FORM_API, 1, [disable form API])
|
||||
;;
|
||||
*) AC_MSG_RESULT(yes)
|
||||
test "$enable_mime" = no &&
|
||||
AC_MSG_ERROR(MIME support needs to be enabled in order to enable form API support)
|
||||
;;
|
||||
esac ],
|
||||
[
|
||||
if test "$enable_mime" = no; then
|
||||
enable_form_api=no
|
||||
AC_MSG_RESULT(no)
|
||||
AC_DEFINE(CURL_DISABLE_FORM_API, 1, [disable form API])
|
||||
else
|
||||
AC_MSG_RESULT(yes)
|
||||
fi ]
|
||||
)
|
||||
|
||||
dnl ************************************************************
|
||||
dnl disable date parsing
|
||||
dnl
|
||||
|
@ -24,6 +24,10 @@ Disable DNS-over-HTTPS
|
||||
|
||||
Disable the FILE protocol
|
||||
|
||||
## `CURL_DISABLE_FORM_API`
|
||||
|
||||
Disable the form API
|
||||
|
||||
## `CURL_DISABLE_FTP`
|
||||
|
||||
Disable the FTP (and FTPS) protocol
|
||||
|
@ -50,6 +50,9 @@
|
||||
/* disables FILE */
|
||||
#cmakedefine CURL_DISABLE_FILE 1
|
||||
|
||||
/* disables form api */
|
||||
#cmakedefine CURL_DISABLE_FORM_API 1
|
||||
|
||||
/* disables FTP */
|
||||
#cmakedefine CURL_DISABLE_FTP 1
|
||||
|
||||
|
@ -27,7 +27,7 @@
|
||||
#include <curl/curl.h>
|
||||
|
||||
#include "formdata.h"
|
||||
#if !defined(CURL_DISABLE_HTTP) && !defined(CURL_DISABLE_MIME)
|
||||
#if !defined(CURL_DISABLE_HTTP) && !defined(CURL_DISABLE_FORM_API)
|
||||
|
||||
#if defined(HAVE_LIBGEN_H) && defined(HAVE_BASENAME)
|
||||
#include <libgen.h>
|
||||
@ -941,7 +941,7 @@ int curl_formget(struct curl_httppost *form, void *arg,
|
||||
void curl_formfree(struct curl_httppost *form)
|
||||
{
|
||||
(void)form;
|
||||
/* does nothing HTTP is disabled */
|
||||
/* Nothing to do. */
|
||||
}
|
||||
|
||||
#endif /* if disabled */
|
||||
|
@ -26,7 +26,7 @@
|
||||
|
||||
#include "curl_setup.h"
|
||||
|
||||
#ifndef CURL_DISABLE_MIME
|
||||
#ifndef CURL_DISABLE_FORM_API
|
||||
|
||||
/* used by FormAdd for temporary storage */
|
||||
struct FormInfo {
|
||||
@ -53,10 +53,7 @@ CURLcode Curl_getformdata(struct Curl_easy *data,
|
||||
curl_mimepart *,
|
||||
struct curl_httppost *post,
|
||||
curl_read_callback fread_func);
|
||||
#else
|
||||
/* disabled */
|
||||
#define Curl_getformdata(a,b,c,d) CURLE_NOT_BUILT_IN
|
||||
#endif
|
||||
#endif /* CURL_DISABLE_FORM_API */
|
||||
|
||||
|
||||
#endif /* HEADER_CURL_FORMDATA_H */
|
||||
|
@ -2372,6 +2372,7 @@ CURLcode Curl_http_body(struct Curl_easy *data, struct connectdata *conn,
|
||||
case HTTPREQ_POST_MIME:
|
||||
http->sendit = &data->set.mimepost;
|
||||
break;
|
||||
#ifndef CURL_DISABLE_FORM_API
|
||||
case HTTPREQ_POST_FORM:
|
||||
/* Convert the form structure into a mime structure. */
|
||||
Curl_mime_cleanpart(&http->form);
|
||||
@ -2381,6 +2382,7 @@ CURLcode Curl_http_body(struct Curl_easy *data, struct connectdata *conn,
|
||||
return result;
|
||||
http->sendit = &http->form;
|
||||
break;
|
||||
#endif
|
||||
default:
|
||||
http->sendit = NULL;
|
||||
}
|
||||
|
@ -666,7 +666,7 @@ CURLcode Curl_vsetopt(struct Curl_easy *data, CURLoption option, va_list param)
|
||||
data->set.method = HTTPREQ_GET;
|
||||
break;
|
||||
|
||||
#ifndef CURL_DISABLE_MIME
|
||||
#ifndef CURL_DISABLE_FORM_API
|
||||
case CURLOPT_HTTPPOST:
|
||||
/*
|
||||
* Set to make us do HTTP POST
|
||||
|
@ -4,20 +4,21 @@
|
||||
unittest
|
||||
curl_formadd
|
||||
curl_formget
|
||||
FORM
|
||||
</keywords>
|
||||
</info>
|
||||
|
||||
#
|
||||
# Client-side
|
||||
<client>
|
||||
<server>
|
||||
none
|
||||
</server>
|
||||
<features>
|
||||
unittest
|
||||
http
|
||||
Mime
|
||||
form-api
|
||||
</features>
|
||||
<server>
|
||||
none
|
||||
</server>
|
||||
<name>
|
||||
formpost unit tests
|
||||
</name>
|
||||
|
@ -3,6 +3,7 @@
|
||||
<keywords>
|
||||
HTTP
|
||||
HTTP POST
|
||||
FORM
|
||||
</keywords>
|
||||
</info>
|
||||
|
||||
@ -22,7 +23,7 @@ OK
|
||||
# Client-side
|
||||
<client>
|
||||
<features>
|
||||
Mime
|
||||
form-api
|
||||
</features>
|
||||
<server>
|
||||
http
|
||||
|
@ -3,6 +3,7 @@
|
||||
<keywords>
|
||||
HTTP
|
||||
HTTP POST
|
||||
FORM
|
||||
</keywords>
|
||||
</info>
|
||||
|
||||
@ -39,7 +40,7 @@ hello
|
||||
# Client-side
|
||||
<client>
|
||||
<features>
|
||||
Mime
|
||||
form-api
|
||||
</features>
|
||||
<server>
|
||||
http
|
||||
|
@ -3,6 +3,7 @@
|
||||
<keywords>
|
||||
HTTP
|
||||
HTTP POST
|
||||
FORM
|
||||
flaky
|
||||
</keywords>
|
||||
</info>
|
||||
@ -17,7 +18,7 @@ flaky
|
||||
# Client-side
|
||||
<client>
|
||||
<features>
|
||||
Mime
|
||||
form-api
|
||||
</features>
|
||||
<server>
|
||||
http
|
||||
|
@ -24,7 +24,7 @@ hello
|
||||
# Client-side
|
||||
<client>
|
||||
<features>
|
||||
Mime
|
||||
form-api
|
||||
</features>
|
||||
<server>
|
||||
http
|
||||
|
@ -24,7 +24,7 @@ hello
|
||||
# Client-side
|
||||
<client>
|
||||
<features>
|
||||
Mime
|
||||
form-api
|
||||
</features>
|
||||
<server>
|
||||
http
|
||||
|
@ -33,7 +33,7 @@ hello
|
||||
# Client-side
|
||||
<client>
|
||||
<features>
|
||||
Mime
|
||||
form-api
|
||||
</features>
|
||||
<server>
|
||||
http
|
||||
|
@ -33,7 +33,7 @@ hello
|
||||
# Client-side
|
||||
<client>
|
||||
<features>
|
||||
Mime
|
||||
form-api
|
||||
</features>
|
||||
<server>
|
||||
http
|
||||
|
@ -783,6 +783,7 @@ sub checksystemfeatures {
|
||||
$feature{"DoH"} = 1;
|
||||
$feature{"HTTP-auth"} = 1;
|
||||
$feature{"Mime"} = 1;
|
||||
$feature{"form-api"} = 1;
|
||||
$feature{"netrc"} = 1;
|
||||
$feature{"parsedate"} = 1;
|
||||
$feature{"proxy"} = 1;
|
||||
|
@ -78,6 +78,9 @@ static const char *disabled[]={
|
||||
#endif
|
||||
#ifndef USE_XATTR
|
||||
"xattr",
|
||||
#endif
|
||||
#ifdef CURL_DISABLE_FORM_API
|
||||
"form-api",
|
||||
#endif
|
||||
NULL
|
||||
};
|
||||
|
Loading…
x
Reference in New Issue
Block a user