• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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