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 <stdio.h>
38
39 static const char *disabled[]={
40 #ifdef CURL_DISABLE_BINDLOCAL
41 "bindlocal",
42 #endif
43 #ifdef CURL_DISABLE_COOKIES
44 "cookies",
45 #endif
46 #ifdef CURL_DISABLE_BASIC_AUTH
47 "basic-auth",
48 #endif
49 #ifdef CURL_DISABLE_BEARER_AUTH
50 "bearer-auth",
51 #endif
52 #ifdef CURL_DISABLE_DIGEST_AUTH
53 "digest-auth",
54 #endif
55 #ifdef CURL_DISABLE_NEGOTIATE_AUTH
56 "negotiate-auth",
57 #endif
58 #ifdef CURL_DISABLE_AWS
59 "aws",
60 #endif
61 #ifdef CURL_DISABLE_DOH
62 "DoH",
63 #endif
64 #ifdef CURL_DISABLE_HTTP_AUTH
65 "HTTP-auth",
66 #endif
67 #ifdef CURL_DISABLE_MIME
68 "Mime",
69 #endif
70 #ifdef CURL_DISABLE_NETRC
71 "netrc",
72 #endif
73 #ifdef CURL_DISABLE_PARSEDATE
74 "parsedate",
75 #endif
76 #ifdef CURL_DISABLE_PROXY
77 "proxy",
78 #endif
79 #ifdef CURL_DISABLE_SHUFFLE_DNS
80 "shuffle-dns",
81 #endif
82 #ifdef CURL_DISABLE_TYPECHECK
83 "typecheck",
84 #endif
85 #ifdef CURL_DISABLE_VERBOSE_STRINGS
86 "verbose-strings",
87 #endif
88 #ifndef ENABLE_WAKEUP
89 "wakeup",
90 #endif
91 #ifdef CURL_DISABLE_HEADERS_API
92 "headers-api",
93 #endif
94 #ifndef USE_XATTR
95 "xattr",
96 #endif
97 #ifdef CURL_DISABLE_FORM_API
98 "form-api",
99 #endif
100 #if (SIZEOF_TIME_T < 5)
101 "large-time",
102 #endif
103 NULL
104 };
105
main(int argc,char ** argv)106 int main(int argc, char **argv)
107 {
108 int i;
109
110 (void) argc;
111 (void) argv;
112
113 for(i = 0; disabled[i]; i++)
114 printf("%s\n", disabled[i]);
115
116 return 0;
117 }
118