summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Stenberg <daniel@haxx.se>2020-08-26 08:30:38 +0200
committerDaniel Stenberg <daniel@haxx.se>2020-08-27 14:17:42 +0200
commitad691b191afd91bb747b6bbaa04c54303c6d581a (patch)
tree9bc9d1cc2fb5730b7d53d1d1c2ede3def277a513
parent6ebe63fac23f38df911edc348e8ccc72280f9434 (diff)
downloadcurl-ad691b191afd91bb747b6bbaa04c54303c6d581a.tar.gz
configure: added --disable-get-easy-options
To allow disabling of the curl_easy_option APIs in a build. Closes #5365
-rwxr-xr-xconfigure.ac18
-rw-r--r--docs/CURL-DISABLE.md5
-rw-r--r--lib/easygetopt.c22
3 files changed, 45 insertions, 0 deletions
diff --git a/configure.ac b/configure.ac
index 0d3e4e103..78e0c4f4f 100755
--- a/configure.ac
+++ b/configure.ac
@@ -4831,6 +4831,24 @@ AC_HELP_STRING([--disable-dnsshuffle],[Disable DNS shuffling]),
)
dnl ************************************************************
+dnl disable the curl_easy_options API
+dnl
+AC_MSG_CHECKING([whether to support curl_easy_option*])
+AC_ARG_ENABLE(get-easy-option,
+AC_HELP_STRING([--enable-get-easy-options],[Enable curl_easy_options])
+AC_HELP_STRING([--disable-get-easy-options],[Disable curl_easy_options]),
+[ case "$enableval" in
+ no)
+ AC_MSG_RESULT(no)
+ AC_DEFINE(CURL_DISABLE_GETOPTIONS, 1, [to disable curl_easy_options])
+ ;;
+ *) AC_MSG_RESULT(yes)
+ ;;
+ esac ],
+ AC_MSG_RESULT(yes)
+)
+
+dnl ************************************************************
dnl switch on/off alt-svc
dnl
curl_altsvc_msg="no (--enable-alt-svc)";
diff --git a/docs/CURL-DISABLE.md b/docs/CURL-DISABLE.md
index 2dd250c7f..f90acda2c 100644
--- a/docs/CURL-DISABLE.md
+++ b/docs/CURL-DISABLE.md
@@ -24,6 +24,11 @@ Disable the FILE protocol
Disable the FTP (and FTPS) protocol
+## CURL_DISABLE_GETOPTIONS
+
+Disable the `curl_easy_options` API calls that lets users get information
+about existing options to `curl_easy_setopt`.
+
## CURL_DISABLE_GOPHER
Disable the GOPHER protocol.
diff --git a/lib/easygetopt.c b/lib/easygetopt.c
index 8cfd49977..c4c6f631c 100644
--- a/lib/easygetopt.c
+++ b/lib/easygetopt.c
@@ -24,6 +24,8 @@
#include "strcase.h"
#include "easyoptions.h"
+#ifndef CURL_DISABLE_GETOPTIONS
+
/* Lookups easy options at runtime */
static struct curl_easyoption *lookup(const char *name, CURLoption id)
{
@@ -71,3 +73,23 @@ curl_easy_option_next(const struct curl_easyoption *prev)
return NULL;
}
+#else
+const struct curl_easyoption *curl_easy_option_by_name(const char *name)
+{
+ (void)name;
+ return NULL;
+}
+
+const struct curl_easyoption *curl_easy_option_by_id (CURLoption id)
+{
+ (void)id;
+ return NULL;
+}
+
+const struct curl_easyoption *
+curl_easy_option_next(const struct curl_easyoption *prev)
+{
+ (void)prev;
+ return NULL;
+}
+#endif