curl/tests/server/disabled.c
Daniel Stenberg d5c738c608
strparse: string parsing helper functions
Designed to aid converting off from sscanf parsers. sscanf is hard to
use right, easy to mess up and often makes for sloppy error checking.

The new parsers allow more exact and pedandic parsing.

This new set of functions should be possible to use (and extend) and
switch over other libcurl parser code to use going forward.

Adapts the following to use the new functions:

- altsvc.c
- hsts.c
- http_aws_sigv4.c

Bonus: fewer memory copies, fewer stack buffers.

Test: Unit test1664

Docs: docs/internals/STRPARSE.md

Closes #15692
2024-12-12 16:00:52 +01:00

134 lines
3.0 KiB
C

/***************************************************************************
* _ _ ____ _
* Project ___| | | | _ \| |
* / __| | | | |_) | |
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
* Copyright (C) Daniel Stenberg, <daniel@haxx.se>, et al.
*
* This software is licensed as described in the file COPYING, which
* you should have received as part of this distribution. The terms
* are also available at https://curl.se/docs/copyright.html.
*
* You may opt to use, copy, modify, merge, publish, distribute and/or sell
* copies of the Software, and permit persons to whom the Software is
* furnished to do so, under the terms of the COPYING file.
*
* This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
* KIND, either express or implied.
*
* SPDX-License-Identifier: curl
*
***************************************************************************/
/*
* The purpose of this tool is to figure out which, if any, features that are
* disabled which should otherwise exist and work. These aren't visible in
* regular curl -V output.
*
* Disabled protocols are visible in curl_version_info() and are not included
* in this table.
*/
#include "curl_setup.h"
#include "multihandle.h" /* for ENABLE_WAKEUP */
#include "tool_xattr.h" /* for USE_XATTR */
#include "curl_sha512_256.h" /* for CURL_HAVE_SHA512_256 */
#include <stdio.h>
static const char *disabled[]={
#ifdef CURL_DISABLE_BINDLOCAL
"bindlocal",
#endif
#ifdef CURL_DISABLE_COOKIES
"cookies",
#endif
#ifdef CURL_DISABLE_BASIC_AUTH
"basic-auth",
#endif
#ifdef CURL_DISABLE_BEARER_AUTH
"bearer-auth",
#endif
#ifdef CURL_DISABLE_DIGEST_AUTH
"digest-auth",
#endif
#ifdef CURL_DISABLE_NEGOTIATE_AUTH
"negotiate-auth",
#endif
#ifdef CURL_DISABLE_AWS
"aws",
#endif
#ifdef CURL_DISABLE_DOH
"DoH",
#endif
#ifdef CURL_DISABLE_HTTP_AUTH
"HTTP-auth",
#endif
#ifdef CURL_DISABLE_MIME
"Mime",
#endif
#ifdef CURL_DISABLE_NETRC
"netrc",
#endif
#ifdef CURL_DISABLE_PARSEDATE
"parsedate",
#endif
#ifdef CURL_DISABLE_PROXY
"proxy",
#endif
#ifdef CURL_DISABLE_SHUFFLE_DNS
"shuffle-dns",
#endif
#ifdef CURL_DISABLE_TYPECHECK
"typecheck",
#endif
#ifdef CURL_DISABLE_VERBOSE_STRINGS
"verbose-strings",
#endif
#ifndef ENABLE_WAKEUP
"wakeup",
#endif
#ifdef CURL_DISABLE_HEADERS_API
"headers-api",
#endif
#ifndef USE_XATTR
"xattr",
#endif
#ifdef CURL_DISABLE_FORM_API
"form-api",
#endif
#if (SIZEOF_TIME_T < 5)
"large-time",
#endif
#if (SIZEOF_SIZE_T < 5)
"large-size",
#endif
#ifndef CURL_HAVE_SHA512_256
"sha512-256",
#endif
#ifdef _WIN32
#if defined(CURL_WINDOWS_UWP) || \
defined(CURL_DISABLE_CA_SEARCH) || defined(CURL_CA_SEARCH_SAFE)
"win32-ca-searchpath",
#endif
#ifndef CURL_CA_SEARCH_SAFE
"win32-ca-search-safe",
#endif
#endif
NULL
};
int main(int argc, char **argv)
{
int i;
(void) argc;
(void) argv;
for(i = 0; disabled[i]; i++)
printf("%s\n", disabled[i]);
return 0;
}