1*6236dae4SAndroid Build Coastguard Worker /***************************************************************************
2*6236dae4SAndroid Build Coastguard Worker * _ _ ____ _
3*6236dae4SAndroid Build Coastguard Worker * Project ___| | | | _ \| |
4*6236dae4SAndroid Build Coastguard Worker * / __| | | | |_) | |
5*6236dae4SAndroid Build Coastguard Worker * | (__| |_| | _ <| |___
6*6236dae4SAndroid Build Coastguard Worker * \___|\___/|_| \_\_____|
7*6236dae4SAndroid Build Coastguard Worker *
8*6236dae4SAndroid Build Coastguard Worker * Copyright (C) Daniel Stenberg, <[email protected]>, et al.
9*6236dae4SAndroid Build Coastguard Worker *
10*6236dae4SAndroid Build Coastguard Worker * This software is licensed as described in the file COPYING, which
11*6236dae4SAndroid Build Coastguard Worker * you should have received as part of this distribution. The terms
12*6236dae4SAndroid Build Coastguard Worker * are also available at https://curl.se/docs/copyright.html.
13*6236dae4SAndroid Build Coastguard Worker *
14*6236dae4SAndroid Build Coastguard Worker * You may opt to use, copy, modify, merge, publish, distribute and/or sell
15*6236dae4SAndroid Build Coastguard Worker * copies of the Software, and permit persons to whom the Software is
16*6236dae4SAndroid Build Coastguard Worker * furnished to do so, under the terms of the COPYING file.
17*6236dae4SAndroid Build Coastguard Worker *
18*6236dae4SAndroid Build Coastguard Worker * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
19*6236dae4SAndroid Build Coastguard Worker * KIND, either express or implied.
20*6236dae4SAndroid Build Coastguard Worker *
21*6236dae4SAndroid Build Coastguard Worker * SPDX-License-Identifier: curl
22*6236dae4SAndroid Build Coastguard Worker *
23*6236dae4SAndroid Build Coastguard Worker ***************************************************************************/
24*6236dae4SAndroid Build Coastguard Worker
25*6236dae4SAndroid Build Coastguard Worker /*
26*6236dae4SAndroid Build Coastguard Worker * The purpose of this tool is to figure out which, if any, features that are
27*6236dae4SAndroid Build Coastguard Worker * disabled which should otherwise exist and work. These aren't visible in
28*6236dae4SAndroid Build Coastguard Worker * regular curl -V output.
29*6236dae4SAndroid Build Coastguard Worker *
30*6236dae4SAndroid Build Coastguard Worker * Disabled protocols are visible in curl_version_info() and are not included
31*6236dae4SAndroid Build Coastguard Worker * in this table.
32*6236dae4SAndroid Build Coastguard Worker */
33*6236dae4SAndroid Build Coastguard Worker
34*6236dae4SAndroid Build Coastguard Worker #include "curl_setup.h"
35*6236dae4SAndroid Build Coastguard Worker #include "multihandle.h" /* for ENABLE_WAKEUP */
36*6236dae4SAndroid Build Coastguard Worker #include "tool_xattr.h" /* for USE_XATTR */
37*6236dae4SAndroid Build Coastguard Worker #include "curl_sha512_256.h" /* for CURL_HAVE_SHA512_256 */
38*6236dae4SAndroid Build Coastguard Worker #include <stdio.h>
39*6236dae4SAndroid Build Coastguard Worker
40*6236dae4SAndroid Build Coastguard Worker static const char *disabled[]={
41*6236dae4SAndroid Build Coastguard Worker #ifdef CURL_DISABLE_BINDLOCAL
42*6236dae4SAndroid Build Coastguard Worker "bindlocal",
43*6236dae4SAndroid Build Coastguard Worker #endif
44*6236dae4SAndroid Build Coastguard Worker #ifdef CURL_DISABLE_COOKIES
45*6236dae4SAndroid Build Coastguard Worker "cookies",
46*6236dae4SAndroid Build Coastguard Worker #endif
47*6236dae4SAndroid Build Coastguard Worker #ifdef CURL_DISABLE_BASIC_AUTH
48*6236dae4SAndroid Build Coastguard Worker "basic-auth",
49*6236dae4SAndroid Build Coastguard Worker #endif
50*6236dae4SAndroid Build Coastguard Worker #ifdef CURL_DISABLE_BEARER_AUTH
51*6236dae4SAndroid Build Coastguard Worker "bearer-auth",
52*6236dae4SAndroid Build Coastguard Worker #endif
53*6236dae4SAndroid Build Coastguard Worker #ifdef CURL_DISABLE_DIGEST_AUTH
54*6236dae4SAndroid Build Coastguard Worker "digest-auth",
55*6236dae4SAndroid Build Coastguard Worker #endif
56*6236dae4SAndroid Build Coastguard Worker #ifdef CURL_DISABLE_NEGOTIATE_AUTH
57*6236dae4SAndroid Build Coastguard Worker "negotiate-auth",
58*6236dae4SAndroid Build Coastguard Worker #endif
59*6236dae4SAndroid Build Coastguard Worker #ifdef CURL_DISABLE_AWS
60*6236dae4SAndroid Build Coastguard Worker "aws",
61*6236dae4SAndroid Build Coastguard Worker #endif
62*6236dae4SAndroid Build Coastguard Worker #ifdef CURL_DISABLE_DOH
63*6236dae4SAndroid Build Coastguard Worker "DoH",
64*6236dae4SAndroid Build Coastguard Worker #endif
65*6236dae4SAndroid Build Coastguard Worker #ifdef CURL_DISABLE_HTTP_AUTH
66*6236dae4SAndroid Build Coastguard Worker "HTTP-auth",
67*6236dae4SAndroid Build Coastguard Worker #endif
68*6236dae4SAndroid Build Coastguard Worker #ifdef CURL_DISABLE_MIME
69*6236dae4SAndroid Build Coastguard Worker "Mime",
70*6236dae4SAndroid Build Coastguard Worker #endif
71*6236dae4SAndroid Build Coastguard Worker #ifdef CURL_DISABLE_NETRC
72*6236dae4SAndroid Build Coastguard Worker "netrc",
73*6236dae4SAndroid Build Coastguard Worker #endif
74*6236dae4SAndroid Build Coastguard Worker #ifdef CURL_DISABLE_PARSEDATE
75*6236dae4SAndroid Build Coastguard Worker "parsedate",
76*6236dae4SAndroid Build Coastguard Worker #endif
77*6236dae4SAndroid Build Coastguard Worker #ifdef CURL_DISABLE_PROXY
78*6236dae4SAndroid Build Coastguard Worker "proxy",
79*6236dae4SAndroid Build Coastguard Worker #endif
80*6236dae4SAndroid Build Coastguard Worker #ifdef CURL_DISABLE_SHUFFLE_DNS
81*6236dae4SAndroid Build Coastguard Worker "shuffle-dns",
82*6236dae4SAndroid Build Coastguard Worker #endif
83*6236dae4SAndroid Build Coastguard Worker #ifdef CURL_DISABLE_TYPECHECK
84*6236dae4SAndroid Build Coastguard Worker "typecheck",
85*6236dae4SAndroid Build Coastguard Worker #endif
86*6236dae4SAndroid Build Coastguard Worker #ifdef CURL_DISABLE_VERBOSE_STRINGS
87*6236dae4SAndroid Build Coastguard Worker "verbose-strings",
88*6236dae4SAndroid Build Coastguard Worker #endif
89*6236dae4SAndroid Build Coastguard Worker #ifndef ENABLE_WAKEUP
90*6236dae4SAndroid Build Coastguard Worker "wakeup",
91*6236dae4SAndroid Build Coastguard Worker #endif
92*6236dae4SAndroid Build Coastguard Worker #ifdef CURL_DISABLE_HEADERS_API
93*6236dae4SAndroid Build Coastguard Worker "headers-api",
94*6236dae4SAndroid Build Coastguard Worker #endif
95*6236dae4SAndroid Build Coastguard Worker #ifndef USE_XATTR
96*6236dae4SAndroid Build Coastguard Worker "xattr",
97*6236dae4SAndroid Build Coastguard Worker #endif
98*6236dae4SAndroid Build Coastguard Worker #ifdef CURL_DISABLE_FORM_API
99*6236dae4SAndroid Build Coastguard Worker "form-api",
100*6236dae4SAndroid Build Coastguard Worker #endif
101*6236dae4SAndroid Build Coastguard Worker #if (SIZEOF_TIME_T < 5)
102*6236dae4SAndroid Build Coastguard Worker "large-time",
103*6236dae4SAndroid Build Coastguard Worker #endif
104*6236dae4SAndroid Build Coastguard Worker #ifndef CURL_HAVE_SHA512_256
105*6236dae4SAndroid Build Coastguard Worker "sha512-256",
106*6236dae4SAndroid Build Coastguard Worker #endif
107*6236dae4SAndroid Build Coastguard Worker #ifdef _WIN32
108*6236dae4SAndroid Build Coastguard Worker #if defined(CURL_WINDOWS_UWP) || \
109*6236dae4SAndroid Build Coastguard Worker defined(CURL_DISABLE_CA_SEARCH) || defined(CURL_CA_SEARCH_SAFE)
110*6236dae4SAndroid Build Coastguard Worker "win32-ca-searchpath",
111*6236dae4SAndroid Build Coastguard Worker #endif
112*6236dae4SAndroid Build Coastguard Worker #ifndef CURL_CA_SEARCH_SAFE
113*6236dae4SAndroid Build Coastguard Worker "win32-ca-search-safe",
114*6236dae4SAndroid Build Coastguard Worker #endif
115*6236dae4SAndroid Build Coastguard Worker #endif
116*6236dae4SAndroid Build Coastguard Worker NULL
117*6236dae4SAndroid Build Coastguard Worker };
118*6236dae4SAndroid Build Coastguard Worker
main(int argc,char ** argv)119*6236dae4SAndroid Build Coastguard Worker int main(int argc, char **argv)
120*6236dae4SAndroid Build Coastguard Worker {
121*6236dae4SAndroid Build Coastguard Worker int i;
122*6236dae4SAndroid Build Coastguard Worker
123*6236dae4SAndroid Build Coastguard Worker (void) argc;
124*6236dae4SAndroid Build Coastguard Worker (void) argv;
125*6236dae4SAndroid Build Coastguard Worker
126*6236dae4SAndroid Build Coastguard Worker for(i = 0; disabled[i]; i++)
127*6236dae4SAndroid Build Coastguard Worker printf("%s\n", disabled[i]);
128*6236dae4SAndroid Build Coastguard Worker
129*6236dae4SAndroid Build Coastguard Worker return 0;
130*6236dae4SAndroid Build Coastguard Worker }
131