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