mirror of
https://github.com/curl/curl.git
synced 2025-04-24 16:40:32 +08:00
tidy-up: mostly whitespace nits
- delete completed TODO from `./CMakeLists.txt`. - convert a C++ comment to C89 in `./CMake/CurlTests.c`. - delete duplicate EOLs from EOF. - add missing EOL at EOF. - delete whitespace at EOL (except from expected test results). - convert tabs to spaces. - convert CRLF EOLs to LF in GHA yaml. - text casing fixes in `./CMakeLists.txt`. - fix a codespell typo in `packages/OS400/initscript.sh`. Closes #11772
This commit is contained in:
parent
63f23fafc9
commit
ce3dce9015
.github
.gitignoreCMake
CMakeLists.txtREADME.mddocs
lib
m4
packages/OS400
projects/Windows
src
tests
README.mdcheck-deprecated.plcheck-translatable-options.plconftest.pyconvsrctest.pl
data
test1015test1016test1017test1018test1019test1020test1026test1063test1100test1129test1130test1131test1289test1412test1447test191test272test549test710test712test713test714test715test719test720
ftpserver.plhttp
.gitignore
clients
conftest.pyrequirements.txttest_03_goaway.pytest_05_errors.pytest_06_eyeballs.pytest_07_upload.pytest_08_caddy.pytest_09_push.pytest_10_proxy.pytest_13_proxy_auth.pytest_15_tracing.pytestenv
libtest
server
winbuild
4
.github/ISSUE_TEMPLATE/bug_report.yml
vendored
4
.github/ISSUE_TEMPLATE/bug_report.yml
vendored
@ -31,9 +31,9 @@ body:
|
||||
id: expected-behaviour
|
||||
attributes:
|
||||
label: I expected the following
|
||||
validations:
|
||||
validations:
|
||||
required: false
|
||||
|
||||
|
||||
- type: textarea
|
||||
id: version
|
||||
attributes:
|
||||
|
1
.github/scripts/cleanspell.pl
vendored
1
.github/scripts/cleanspell.pl
vendored
@ -77,4 +77,3 @@ while(<F>) {
|
||||
}
|
||||
close(F);
|
||||
close(O);
|
||||
|
||||
|
82
.github/workflows/appveyor-status.yml
vendored
82
.github/workflows/appveyor-status.yml
vendored
@ -1,41 +1,41 @@
|
||||
# Copyright (C) Daniel Stenberg, <daniel@haxx.se>, et al.
|
||||
#
|
||||
# SPDX-License-Identifier: curl
|
||||
|
||||
name: AppVeyor Status Report
|
||||
|
||||
on:
|
||||
status
|
||||
|
||||
concurrency:
|
||||
group: ${{ github.workflow }}-${{ github.event.sha }}-${{ github.event.target_url }}
|
||||
cancel-in-progress: true
|
||||
|
||||
permissions: {}
|
||||
|
||||
jobs:
|
||||
split:
|
||||
runs-on: ubuntu-latest
|
||||
if: ${{ github.event.sender.login == 'appveyor[bot]' }}
|
||||
permissions:
|
||||
statuses: write
|
||||
steps:
|
||||
- name: Create individual AppVeyor build statuses
|
||||
if: ${{ github.event.sha && github.event.target_url }}
|
||||
env:
|
||||
APPVEYOR_COMMIT_SHA: ${{ github.event.sha }}
|
||||
APPVEYOR_TARGET_URL: ${{ github.event.target_url }}
|
||||
APPVEYOR_REPOSITORY: ${{ github.event.repository.full_name }}
|
||||
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
run: |
|
||||
echo ${APPVEYOR_TARGET_URL} | sed 's/\/project\//\/api\/projects\//' | xargs -t -n1 curl -s | \
|
||||
jq -c '.build.jobs[] | {target_url: ($target_url + "/job/" + .jobId),
|
||||
context: (.name | sub("^(Environment: )?"; "AppVeyor / ")),
|
||||
state: (.status | sub("queued"; "pending")
|
||||
| sub("starting"; "pending")
|
||||
| sub("running"; "pending")
|
||||
| sub("failed"; "failure")
|
||||
| sub("cancelled"; "error")),
|
||||
description: .status}' \
|
||||
--arg target_url ${APPVEYOR_TARGET_URL} | tee /dev/stderr | parallel --pipe -j 1 -N 1 \
|
||||
gh api --silent --input - repos/${APPVEYOR_REPOSITORY}/statuses/${APPVEYOR_COMMIT_SHA}
|
||||
# Copyright (C) Daniel Stenberg, <daniel@haxx.se>, et al.
|
||||
#
|
||||
# SPDX-License-Identifier: curl
|
||||
|
||||
name: AppVeyor Status Report
|
||||
|
||||
on:
|
||||
status
|
||||
|
||||
concurrency:
|
||||
group: ${{ github.workflow }}-${{ github.event.sha }}-${{ github.event.target_url }}
|
||||
cancel-in-progress: true
|
||||
|
||||
permissions: {}
|
||||
|
||||
jobs:
|
||||
split:
|
||||
runs-on: ubuntu-latest
|
||||
if: ${{ github.event.sender.login == 'appveyor[bot]' }}
|
||||
permissions:
|
||||
statuses: write
|
||||
steps:
|
||||
- name: Create individual AppVeyor build statuses
|
||||
if: ${{ github.event.sha && github.event.target_url }}
|
||||
env:
|
||||
APPVEYOR_COMMIT_SHA: ${{ github.event.sha }}
|
||||
APPVEYOR_TARGET_URL: ${{ github.event.target_url }}
|
||||
APPVEYOR_REPOSITORY: ${{ github.event.repository.full_name }}
|
||||
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
run: |
|
||||
echo ${APPVEYOR_TARGET_URL} | sed 's/\/project\//\/api\/projects\//' | xargs -t -n1 curl -s | \
|
||||
jq -c '.build.jobs[] | {target_url: ($target_url + "/job/" + .jobId),
|
||||
context: (.name | sub("^(Environment: )?"; "AppVeyor / ")),
|
||||
state: (.status | sub("queued"; "pending")
|
||||
| sub("starting"; "pending")
|
||||
| sub("running"; "pending")
|
||||
| sub("failed"; "failure")
|
||||
| sub("cancelled"; "error")),
|
||||
description: .status}' \
|
||||
--arg target_url ${APPVEYOR_TARGET_URL} | tee /dev/stderr | parallel --pipe -j 1 -N 1 \
|
||||
gh api --silent --input - repos/${APPVEYOR_REPOSITORY}/statuses/${APPVEYOR_COMMIT_SHA}
|
||||
|
1
.gitignore
vendored
1
.gitignore
vendored
@ -65,4 +65,3 @@ curl_fuzzer_seed_corpus.zip
|
||||
libstandaloneengine.a
|
||||
tests/string
|
||||
tests/config
|
||||
|
||||
|
@ -510,7 +510,7 @@ main() {
|
||||
int
|
||||
main() {
|
||||
_Atomic int i = 1;
|
||||
i = 0; // Force an atomic-write operation.
|
||||
i = 0; /* Force an atomic-write operation. */
|
||||
return i;
|
||||
}
|
||||
#endif
|
||||
|
@ -391,21 +391,20 @@ if(WIN32)
|
||||
endif()
|
||||
|
||||
# check SSL libraries
|
||||
# TODO support GnuTLS
|
||||
option(CURL_ENABLE_SSL "Enable SSL support" ON)
|
||||
|
||||
if(APPLE)
|
||||
cmake_dependent_option(CURL_USE_SECTRANSP "enable Apple OS native SSL/TLS" OFF CURL_ENABLE_SSL OFF)
|
||||
cmake_dependent_option(CURL_USE_SECTRANSP "Enable Apple OS native SSL/TLS" OFF CURL_ENABLE_SSL OFF)
|
||||
endif()
|
||||
if(WIN32)
|
||||
cmake_dependent_option(CURL_USE_SCHANNEL "enable Windows native SSL/TLS" OFF CURL_ENABLE_SSL OFF)
|
||||
cmake_dependent_option(CURL_USE_SCHANNEL "Enable Windows native SSL/TLS" OFF CURL_ENABLE_SSL OFF)
|
||||
cmake_dependent_option(CURL_WINDOWS_SSPI "Use windows libraries to allow NTLM authentication without OpenSSL" ON
|
||||
CURL_USE_SCHANNEL OFF)
|
||||
endif()
|
||||
cmake_dependent_option(CURL_USE_MBEDTLS "Enable mbedTLS for SSL/TLS" OFF CURL_ENABLE_SSL OFF)
|
||||
cmake_dependent_option(CURL_USE_BEARSSL "Enable BearSSL for SSL/TLS" OFF CURL_ENABLE_SSL OFF)
|
||||
cmake_dependent_option(CURL_USE_WOLFSSL "enable wolfSSL for SSL/TLS" OFF CURL_ENABLE_SSL OFF)
|
||||
cmake_dependent_option(CURL_USE_GNUTLS "Enable GNUTLS for SSL/TLS" OFF CURL_ENABLE_SSL OFF)
|
||||
cmake_dependent_option(CURL_USE_WOLFSSL "Enable wolfSSL for SSL/TLS" OFF CURL_ENABLE_SSL OFF)
|
||||
cmake_dependent_option(CURL_USE_GNUTLS "Enable GNUTLS for SSL/TLS" OFF CURL_ENABLE_SSL OFF)
|
||||
|
||||
set(openssl_default ON)
|
||||
if(WIN32 OR CURL_USE_SECTRANSP OR CURL_USE_SCHANNEL OR CURL_USE_MBEDTLS OR CURL_USE_WOLFSSL)
|
||||
@ -607,7 +606,7 @@ if(USE_OPENSSL OR USE_WOLFSSL)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
option(USE_NGHTTP2 "Use Nghttp2 library" OFF)
|
||||
option(USE_NGHTTP2 "Use nghttp2 library" OFF)
|
||||
if(USE_NGHTTP2)
|
||||
find_package(NGHTTP2 REQUIRED)
|
||||
include_directories(${NGHTTP2_INCLUDE_DIRS})
|
||||
|
@ -66,4 +66,3 @@ Thank you to all our backers! 🙏 [Become a backer](https://opencollective.com/
|
||||
## Sponsors
|
||||
|
||||
Support this project by becoming a [sponsor](https://curl.se/sponsors.html).
|
||||
|
||||
|
11
docs/BUFQ.md
11
docs/BUFQ.md
@ -28,9 +28,8 @@ To pass data into a `bufq` without an extra copy, read callbacks can be used.
|
||||
typedef ssize_t Curl_bufq_reader(void *reader_ctx, unsigned char *buf, size_t len,
|
||||
CURLcode *err);
|
||||
|
||||
ssize_t Curl_bufq_slurp(struct bufq *q, Curl_bufq_reader *reader, void *reader_ctx,
|
||||
ssize_t Curl_bufq_slurp(struct bufq *q, Curl_bufq_reader *reader, void *reader_ctx,
|
||||
CURLcode *err);
|
||||
|
||||
```
|
||||
|
||||
`Curl_bufq_slurp()` will invoke the given `reader` callback, passing it its own internal
|
||||
@ -44,7 +43,7 @@ The analog mechanism for write out buffer data is:
|
||||
typedef ssize_t Curl_bufq_writer(void *writer_ctx, const unsigned char *buf, size_t len,
|
||||
CURLcode *err);
|
||||
|
||||
ssize_t Curl_bufq_pass(struct bufq *q, Curl_bufq_writer *writer, void *writer_ctx,
|
||||
ssize_t Curl_bufq_pass(struct bufq *q, Curl_bufq_writer *writer, void *writer_ctx,
|
||||
CURLcode *err);
|
||||
```
|
||||
|
||||
@ -106,10 +105,10 @@ If a `bufq` is created with a `bufc_pool`, the no longer used chunks are returne
|
||||
|
||||
## empty, full and overflow
|
||||
|
||||
One can ask about the state of a `bufq` with methods such as `Curl_bufq_is_empty(q)`,
|
||||
One can ask about the state of a `bufq` with methods such as `Curl_bufq_is_empty(q)`,
|
||||
`Curl_bufq_is_full(q)`, etc. The amount of data held by a `bufq` is the sum of the data in all its chunks. This is what is reported by `Curl_bufq_len(q)`.
|
||||
|
||||
Note that a `bufq` length and it being "full" are only loosely related. A simple example:
|
||||
Note that a `bufq` length and it being "full" are only loosely related. A simple example:
|
||||
|
||||
* create a `bufq` with chunk_size=1000 and max_chunks=4.
|
||||
* write 4000 bytes to it, it will report "full"
|
||||
@ -140,5 +139,3 @@ A pool can be shared between many `bufq`s, as long as all of them operate in the
|
||||
|
||||
* when all `bufq`s are empty, only memory for `max_spare` chunks in the pool is used. Empty `bufq`s will hold no memory.
|
||||
* the latest spare chunk is the first to be handed out again, no matter which `bufq` needs it. This keeps the footprint of "recently used" memory smaller.
|
||||
|
||||
|
||||
|
@ -199,7 +199,7 @@
|
||||
|
||||
## Not reproducible
|
||||
|
||||
We may require further work from you who actually see or experience the
|
||||
We may require further work from you who actually see or experience the
|
||||
problem if we cannot reproduce it and cannot understand it even after having
|
||||
gotten all the info we need and having studied the source code over again.
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
# curl connection filters
|
||||
|
||||
Connection filters is a design in the internals of curl, not visible in its public API. They were added
|
||||
Connection filters is a design in the internals of curl, not visible in its public API. They were added
|
||||
in curl v7.xx.x. This document describes the concepts, its high level implementation and the motivations.
|
||||
|
||||
## Filters
|
||||
@ -34,13 +34,13 @@ Direct:
|
||||
http://localhost/ conn -> cf-socket
|
||||
https://curl.se/ conn -> cf-ssl -> cf-socket
|
||||
Via http proxy tunnel:
|
||||
http://localhost/ conn -> cf-http-proxy -> cf-socket
|
||||
http://localhost/ conn -> cf-http-proxy -> cf-socket
|
||||
https://curl.se/ conn -> cf-ssl -> cf-http-proxy -> cf-socket
|
||||
Via https proxy tunnel:
|
||||
http://localhost/ conn -> cf-http-proxy -> cf-ssl -> cf-socket
|
||||
http://localhost/ conn -> cf-http-proxy -> cf-ssl -> cf-socket
|
||||
https://curl.se/ conn -> cf-ssl -> cf-http-proxy -> cf-ssl -> cf-socket
|
||||
Via http proxy tunnel via SOCKS proxy:
|
||||
http://localhost/ conn -> cf-http-proxy -> cf-socks -> cf-socket
|
||||
http://localhost/ conn -> cf-http-proxy -> cf-socks -> cf-socket
|
||||
```
|
||||
|
||||
### Connecting/Closing
|
||||
@ -50,7 +50,7 @@ Before `Curl_easy` can send the request, the connection needs to be established.
|
||||
Each filter does in principle the following:
|
||||
|
||||
```
|
||||
static CURLcode
|
||||
static CURLcode
|
||||
myfilter_cf_connect(struct Curl_cfilter *cf,
|
||||
struct Curl_easy *data,
|
||||
bool *done)
|
||||
@ -63,7 +63,7 @@ myfilter_cf_connect(struct Curl_cfilter *cf,
|
||||
}
|
||||
/* Let the filters below connect */
|
||||
result = cf->next->cft->connect(cf->next, data, blocking, done);
|
||||
if(result || !*done)
|
||||
if(result || !*done)
|
||||
return result; /* below errored/not finished yet */
|
||||
|
||||
/* MYFILTER CONNECT THINGS */ /* below connected, do out thing */
|
||||
|
@ -46,4 +46,3 @@ curl will remove the support for space-separated names in July 2024.
|
||||
- Support for systems without 64 bit data types
|
||||
- NSS
|
||||
- gskit
|
||||
|
||||
|
@ -340,7 +340,7 @@ should be either in your PATH or your current directory.
|
||||
Create a `Caddyfile` with the following content:
|
||||
~~~
|
||||
localhost:7443 {
|
||||
respond "Hello, world! you are using {http.request.proto}"
|
||||
respond "Hello, world! you are using {http.request.proto}"
|
||||
}
|
||||
~~~
|
||||
|
||||
|
@ -67,4 +67,3 @@ still need attention and verification include:
|
||||
- h2 Upgrade:
|
||||
- receiving HTTP/1 trailers
|
||||
- sending HTTP/1 trailers
|
||||
|
||||
|
@ -20,4 +20,4 @@ gigabytes. Examples: 200K, 3m and 1G. (Added in 7.58.0)
|
||||
|
||||
**NOTE**: The file size is not always known prior to download, and for such
|
||||
files this option has no effect even if the file transfer ends up being larger
|
||||
than this given limit.
|
||||
than this given limit.
|
||||
|
@ -54,4 +54,3 @@ shows the content URL (percent) encoded.
|
||||
expands the variable base64 encoded
|
||||
.RE
|
||||
.IP
|
||||
|
||||
|
@ -60,4 +60,3 @@ int main(void)
|
||||
#endif
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -112,4 +112,3 @@ change API, ABI and behavior before this "goes live".
|
||||
.BR curl_ws_meta "(3), " curl_ws_recv "(3), " curl_ws_send "(3), "
|
||||
.BR curl_easy_init "(3), " CURLOPT_CONNECT_ONLY "(3), "
|
||||
.BR CURLOPT_WRITEFUNCTION "(3)" CURLOPT_WS_OPTIONS "(3), "
|
||||
|
||||
|
@ -86,4 +86,3 @@ This returns CURLE_OK.
|
||||
.SH "SEE ALSO"
|
||||
.BR CURLOPT_HSTSREADDATA "(3), " CURLOPT_HSTSWRITEFUNCTION "(3), "
|
||||
.BR CURLOPT_HSTS "(3), " CURLOPT_HSTS_CTRL "(3), "
|
||||
|
||||
|
@ -80,4 +80,3 @@ Added in 7.62.0
|
||||
Returns CURLE_OK
|
||||
.SH SEE ALSO
|
||||
.BR CURLOPT_TCP_KEEPALIVE "(3), "
|
||||
|
||||
|
@ -348,7 +348,7 @@ man_MANS = \
|
||||
CURLOPT_SSL_CIPHER_LIST.3 \
|
||||
CURLOPT_SSL_CTX_DATA.3 \
|
||||
CURLOPT_SSL_CTX_FUNCTION.3 \
|
||||
CURLOPT_SSL_EC_CURVES.3 \
|
||||
CURLOPT_SSL_EC_CURVES.3 \
|
||||
CURLOPT_SSL_ENABLE_ALPN.3 \
|
||||
CURLOPT_SSL_ENABLE_NPN.3 \
|
||||
CURLOPT_SSL_FALSESTART.3 \
|
||||
|
@ -39,4 +39,3 @@ void Curl_amiga_cleanup(void);
|
||||
#endif
|
||||
|
||||
#endif /* HEADER_CURL_AMIGAOS_H */
|
||||
|
||||
|
@ -646,4 +646,3 @@ size_t Curl_conn_get_max_concurrent(struct Curl_easy *data,
|
||||
&n, NULL) : CURLE_UNKNOWN_OPTION;
|
||||
return (result || n <= 0)? 1 : (size_t)n;
|
||||
}
|
||||
|
||||
|
@ -1446,4 +1446,3 @@ CURLcode Curl_conn_setup(struct Curl_easy *data,
|
||||
out:
|
||||
return result;
|
||||
}
|
||||
|
||||
|
@ -421,4 +421,3 @@ CURLcode Curl_read(struct Curl_easy *data, /* transfer */
|
||||
out:
|
||||
return result;
|
||||
}
|
||||
|
||||
|
@ -49,7 +49,7 @@ if test "x$OPT_BEARSSL" != xno; then
|
||||
BEARSSL_ENABLED=1
|
||||
USE_BEARSSL="yes"
|
||||
ssl_msg="BearSSL"
|
||||
test bearssl != "$DEFAULT_SSL_BACKEND" || VALID_DEFAULT_SSL_BACKEND=yes
|
||||
test bearssl != "$DEFAULT_SSL_BACKEND" || VALID_DEFAULT_SSL_BACKEND=yes
|
||||
], [], -lbearssl)
|
||||
fi
|
||||
|
||||
|
@ -49,7 +49,7 @@ if test "x$OPT_MBEDTLS" != xno; then
|
||||
MBEDTLS_ENABLED=1
|
||||
USE_MBEDTLS="yes"
|
||||
ssl_msg="mbedTLS"
|
||||
test mbedtls != "$DEFAULT_SSL_BACKEND" || VALID_DEFAULT_SSL_BACKEND=yes
|
||||
test mbedtls != "$DEFAULT_SSL_BACKEND" || VALID_DEFAULT_SSL_BACKEND=yes
|
||||
], [], -lmbedx509 -lmbedcrypto)
|
||||
fi
|
||||
|
||||
|
@ -226,7 +226,7 @@ if test "x$OPT_OPENSSL" != xno; then
|
||||
AC_CHECK_HEADERS(openssl/x509.h openssl/rsa.h openssl/crypto.h \
|
||||
openssl/pem.h openssl/ssl.h openssl/err.h,
|
||||
ssl_msg="OpenSSL"
|
||||
test openssl != "$DEFAULT_SSL_BACKEND" || VALID_DEFAULT_SSL_BACKEND=yes
|
||||
test openssl != "$DEFAULT_SSL_BACKEND" || VALID_DEFAULT_SSL_BACKEND=yes
|
||||
OPENSSL_ENABLED=1
|
||||
AC_DEFINE(USE_OPENSSL, 1, [if OpenSSL is in use]))
|
||||
|
||||
|
@ -57,7 +57,7 @@ if test "x$OPT_RUSTLS" != xno; then
|
||||
RUSTLS_ENABLED=1
|
||||
USE_RUSTLS="yes"
|
||||
ssl_msg="rustls"
|
||||
test rustls != "$DEFAULT_SSL_BACKEND" || VALID_DEFAULT_SSL_BACKEND=yes
|
||||
test rustls != "$DEFAULT_SSL_BACKEND" || VALID_DEFAULT_SSL_BACKEND=yes
|
||||
], [], -lpthread -ldl -lm)
|
||||
fi
|
||||
|
||||
|
@ -90,16 +90,16 @@ if test "x$OPT_WOLFSSL" != xno; then
|
||||
|
||||
AC_MSG_CHECKING([for wolfSSL_Init in -lwolfssl])
|
||||
AC_LINK_IFELSE([
|
||||
AC_LANG_PROGRAM([[
|
||||
AC_LANG_PROGRAM([[
|
||||
/* These aren't needed for detection and confuse WolfSSL.
|
||||
They are set up properly later if it is detected. */
|
||||
#undef SIZEOF_LONG
|
||||
#undef SIZEOF_LONG_LONG
|
||||
#include <wolfssl/options.h>
|
||||
#include <wolfssl/ssl.h>
|
||||
]],[[
|
||||
return wolfSSL_Init();
|
||||
]])
|
||||
]],[[
|
||||
return wolfSSL_Init();
|
||||
]])
|
||||
],[
|
||||
AC_MSG_RESULT(yes)
|
||||
AC_DEFINE(USE_WOLFSSL, 1, [if wolfSSL is enabled])
|
||||
@ -107,7 +107,7 @@ if test "x$OPT_WOLFSSL" != xno; then
|
||||
WOLFSSL_ENABLED=1
|
||||
USE_WOLFSSL="yes"
|
||||
ssl_msg="WolfSSL"
|
||||
test wolfssl != "$DEFAULT_SSL_BACKEND" || VALID_DEFAULT_SSL_BACKEND=yes
|
||||
test wolfssl != "$DEFAULT_SSL_BACKEND" || VALID_DEFAULT_SSL_BACKEND=yes
|
||||
],
|
||||
[
|
||||
AC_MSG_RESULT(no)
|
||||
|
@ -266,7 +266,7 @@ versioned_copy()
|
||||
# The `sed' statement works as follows:
|
||||
# - Join \nl-separated lines.
|
||||
# - Retain only lines that begins with "identifier =".
|
||||
# - Replace @...@ sustitutions by shell variable references.
|
||||
# - Replace @...@ substitutions by shell variable references.
|
||||
# - Turn these lines into shell variable assignments.
|
||||
|
||||
get_make_vars()
|
||||
|
1
projects/Windows/.gitignore
vendored
1
projects/Windows/.gitignore
vendored
@ -6,4 +6,3 @@ VC*/src/*curl.vcproj.dist
|
||||
VC*/lib/*curl.vcproj.dist
|
||||
VC*/src/*curl.vcxproj.dist
|
||||
VC*/lib/*curl.vcxproj.dist
|
||||
|
||||
|
@ -45,4 +45,3 @@ ParameterError varexpand(struct GlobalConfig *global,
|
||||
void varcleanup(struct GlobalConfig *global);
|
||||
|
||||
#endif /* HEADER_CURL_VAR_H */
|
||||
|
||||
|
@ -69,7 +69,7 @@ SPDX-License-Identifier: curl
|
||||
|
||||
The HTTP server supports listening on a Unix domain socket, the default
|
||||
location is 'http.sock'.
|
||||
|
||||
|
||||
For HTTP/2 and HTTP/3 testing an installed `nghttpx` is used. HTTP/3
|
||||
tests check if nghttpx supports the protocol. To override the nghttpx
|
||||
used, set the environment variable `NGHTTPX`. The default can also be
|
||||
@ -158,7 +158,7 @@ SPDX-License-Identifier: curl
|
||||
|
||||
All logs are generated in the log/ subdirectory (it is emptied first in the
|
||||
runtests.pl script). They remain in there after a test run.
|
||||
|
||||
|
||||
### Log Verbosity
|
||||
|
||||
A curl build with `--enable-debug` offers more verbose output in the logs.
|
||||
@ -166,28 +166,28 @@ SPDX-License-Identifier: curl
|
||||
with `curl -v`. While a curl debug built is
|
||||
***not suitable for production***, it is often helpful in tracking down
|
||||
problems.
|
||||
|
||||
|
||||
Sometimes, one needs detailed logging of operations, but does not want
|
||||
to drown in output. The newly introduced *connection filters* allows one to
|
||||
dynamically increase log verbosity for a particular *filter type*. Example:
|
||||
|
||||
|
||||
CURL_DEBUG=ssl curl -v https://curl.se
|
||||
|
||||
will make the `ssl` connection filter log more details. One may do that for
|
||||
every filter type and also use a combination of names, separated by `,` or
|
||||
every filter type and also use a combination of names, separated by `,` or
|
||||
space.
|
||||
|
||||
|
||||
CURL_DEBUG=ssl,http/2 curl -v https://curl.se
|
||||
|
||||
The order of filter type names is not relevant. Names used here are
|
||||
case insensitive. Note that these names are implementation internals and
|
||||
subject to change.
|
||||
|
||||
|
||||
Some, likely stable names are `tcp`, `ssl`, `http/2`. For a current list,
|
||||
one may search the sources for `struct Curl_cftype` definitions and find
|
||||
the names there. Also, some filters are only available with certain build
|
||||
options, of course.
|
||||
|
||||
|
||||
### Test input files
|
||||
|
||||
All test cases are put in the `data/` subdirectory. Each test is stored in
|
||||
|
@ -15,10 +15,10 @@
|
||||
# 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
|
||||
#
|
||||
#
|
||||
|
@ -15,10 +15,10 @@
|
||||
# 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
|
||||
#
|
||||
#
|
||||
|
@ -58,5 +58,3 @@ def pytest_generate_tests(metafunc):
|
||||
count = int(metafunc.config.getoption("repeat"))
|
||||
metafunc.fixturenames.append('tmp_ct')
|
||||
metafunc.parametrize('repeat', range(count))
|
||||
|
||||
|
||||
|
@ -154,20 +154,20 @@ sub generate_c {
|
||||
elsif(! $seen_return) {
|
||||
if(/CURLOPT_URL/) {
|
||||
# URL is passed in as argument or by global
|
||||
my $var = shift @urlvars;
|
||||
my $var = shift @urlvars;
|
||||
s/\"[^\"]*\"/$var/;
|
||||
}
|
||||
s/\bhnd\b/curl/;
|
||||
s/\bhnd\b/curl/;
|
||||
# Convert to macro wrapper
|
||||
s/curl_easy_setopt/test_setopt/;
|
||||
if(/curl_easy_perform/) {
|
||||
s/\bret\b/res/;
|
||||
push @code, $_;
|
||||
push @code, "test_cleanup:\n";
|
||||
}
|
||||
else {
|
||||
push @code, $_;
|
||||
}
|
||||
if(/curl_easy_perform/) {
|
||||
s/\bret\b/res/;
|
||||
push @code, $_;
|
||||
push @code, "test_cleanup:\n";
|
||||
}
|
||||
else {
|
||||
push @code, $_;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -28,7 +28,7 @@ http
|
||||
--data-urlencode
|
||||
</name>
|
||||
<command>
|
||||
http://%HOSTIP:%HTTPPORT/%TESTNUMBER --data-urlencode "my name is moo[]" --data-urlencode "y e s=s_i_r" --data-urlencode "v_alue@%LOGDIR/%TESTNUMBER.txt" --data-urlencode @%LOGDIR/%TESTNUMBER.txt
|
||||
http://%HOSTIP:%HTTPPORT/%TESTNUMBER --data-urlencode "my name is moo[]" --data-urlencode "y e s=s_i_r" --data-urlencode "v_alue@%LOGDIR/%TESTNUMBER.txt" --data-urlencode @%LOGDIR/%TESTNUMBER.txt
|
||||
</command>
|
||||
<file name="%LOGDIR/%TESTNUMBER.txt">
|
||||
content to _?!#$'|<>
|
||||
|
@ -23,7 +23,7 @@ file
|
||||
X-Y range on a file:// URL to stdout
|
||||
</name>
|
||||
<command option="no-include">
|
||||
-r 1-4 file://localhost%FILE_PWD/%LOGDIR/test%TESTNUMBER.txt
|
||||
-r 1-4 file://localhost%FILE_PWD/%LOGDIR/test%TESTNUMBER.txt
|
||||
</command>
|
||||
<file name="%LOGDIR/test%TESTNUMBER.txt">
|
||||
1234567890
|
||||
|
@ -24,7 +24,7 @@ file
|
||||
0-Y range on a file:// URL to stdout
|
||||
</name>
|
||||
<command option="no-include">
|
||||
-r 0-3 file://localhost%FILE_PWD/%LOGDIR/test%TESTNUMBER.txt
|
||||
-r 0-3 file://localhost%FILE_PWD/%LOGDIR/test%TESTNUMBER.txt
|
||||
</command>
|
||||
<file name="%LOGDIR/test%TESTNUMBER.txt">
|
||||
1234567890
|
||||
|
@ -23,7 +23,7 @@ file
|
||||
X-X range on a file:// URL to stdout
|
||||
</name>
|
||||
<command option="no-include">
|
||||
-r 4-4 file://localhost%FILE_PWD/%LOGDIR/test%TESTNUMBER.txt
|
||||
-r 4-4 file://localhost%FILE_PWD/%LOGDIR/test%TESTNUMBER.txt
|
||||
</command>
|
||||
<file name="%LOGDIR/test%TESTNUMBER.txt">
|
||||
1234567890
|
||||
|
@ -24,7 +24,7 @@ file
|
||||
X- range on a file:// URL to stdout
|
||||
</name>
|
||||
<command option="no-include">
|
||||
-r 7- file://localhost%FILE_PWD/%LOGDIR/test%TESTNUMBER.txt
|
||||
-r 7- file://localhost%FILE_PWD/%LOGDIR/test%TESTNUMBER.txt
|
||||
</command>
|
||||
<file name="%LOGDIR/test%TESTNUMBER.txt">
|
||||
1234567890
|
||||
|
@ -24,7 +24,7 @@ file
|
||||
-Y range on a file:// URL to stdout
|
||||
</name>
|
||||
<command option="no-include">
|
||||
-r -9 file://localhost%FILE_PWD/%LOGDIR/test%TESTNUMBER.txt
|
||||
-r -9 file://localhost%FILE_PWD/%LOGDIR/test%TESTNUMBER.txt
|
||||
</command>
|
||||
<file name="%LOGDIR/test%TESTNUMBER.txt">
|
||||
1234567890
|
||||
|
@ -20,7 +20,7 @@ manual
|
||||
none
|
||||
</server>
|
||||
<name>
|
||||
curl --manual
|
||||
curl --manual
|
||||
</name>
|
||||
<command>
|
||||
--manual
|
||||
|
@ -28,7 +28,7 @@ Invalid large X- range on a file://
|
||||
# This range value is 2**32+7, which will be truncated to the valid value 7
|
||||
# if the large file support is not working correctly
|
||||
<command>
|
||||
-r 4294967303- file://localhost%FILE_PWD/%LOGDIR/test%TESTNUMBER.txt
|
||||
-r 4294967303- file://localhost%FILE_PWD/%LOGDIR/test%TESTNUMBER.txt
|
||||
</command>
|
||||
<file name="%LOGDIR/test%TESTNUMBER.txt">
|
||||
1234567890
|
||||
|
@ -80,7 +80,7 @@ CURL_GETHOSTNAME=curlhost
|
||||
LD_PRELOAD=%PWD/libtest/.libs/libhostname.so
|
||||
</setenv>
|
||||
<command>
|
||||
http://%HOSTIP:%HTTPPORT/%TESTNUMBER -u testuser:testpass --ntlm -L -d "stuff to send away"
|
||||
http://%HOSTIP:%HTTPPORT/%TESTNUMBER -u testuser:testpass --ntlm -L -d "stuff to send away"
|
||||
</command>
|
||||
<precheck>
|
||||
chkhostname curlhost
|
||||
|
@ -31,7 +31,7 @@ Content-Type: text/html
|
||||
</data1>
|
||||
|
||||
# we use skip to make the test server never read the full payload off
|
||||
# the socket and instead return the response at once
|
||||
# the socket and instead return the response at once
|
||||
<servercmd>
|
||||
skip: 1053700
|
||||
</servercmd>
|
||||
|
@ -31,7 +31,7 @@ Content-Type: text/html
|
||||
</data1>
|
||||
|
||||
# we use skip to make the test server never read the full payload off
|
||||
# the socket and instead return the response at once
|
||||
# the socket and instead return the response at once
|
||||
<servercmd>
|
||||
skip: 100
|
||||
</servercmd>
|
||||
|
@ -31,7 +31,7 @@ FAILURE2
|
||||
</data1>
|
||||
|
||||
# we use skip to make the test server never read the full payload off
|
||||
# the socket and instead return the response at once
|
||||
# the socket and instead return the response at once
|
||||
<servercmd>
|
||||
skip: 100
|
||||
</servercmd>
|
||||
|
@ -27,7 +27,7 @@ http://ur%20[0-60000000000000000000
|
||||
|
||||
# Verify data after the test has been "shot"
|
||||
<verify>
|
||||
# curl: (3) [globbing] bad range in column
|
||||
# curl: (3) [globbing] bad range in column
|
||||
<errorcode>
|
||||
3
|
||||
</errorcode>
|
||||
|
@ -91,7 +91,7 @@ http
|
||||
crypto
|
||||
</features>
|
||||
<name>
|
||||
HTTP GET with --anyauth with two URLs (picking Digest)
|
||||
HTTP GET with --anyauth with two URLs (picking Digest)
|
||||
</name>
|
||||
<command>
|
||||
http://%HOSTIP:%HTTPPORT/%TESTNUMBER -u testuser:testpass --anyauth http://%HOSTIP:%HTTPPORT/%TESTNUMBER0001
|
||||
|
@ -21,7 +21,7 @@ http
|
||||
proxy
|
||||
</features>
|
||||
<name>
|
||||
Provide illegal proxy name
|
||||
Provide illegal proxy name
|
||||
</name>
|
||||
<command>
|
||||
--proxy "http://a:b@/x" http://%HOSTIP:%NOLISTENPORT
|
||||
|
@ -18,7 +18,7 @@ data in file
|
||||
ftp
|
||||
</server>
|
||||
<name>
|
||||
FTP URL with ?-letters in username and password
|
||||
FTP URL with ?-letters in username and password
|
||||
</name>
|
||||
<command>
|
||||
"ftp://use%3fr:pass%3fword@%HOSTIP:%FTPPORT/%TESTNUMBER"
|
||||
|
@ -19,7 +19,7 @@ RETR
|
||||
ftp
|
||||
</server>
|
||||
<name>
|
||||
FTP timed conditioned get file with identical time stamp
|
||||
FTP timed conditioned get file with identical time stamp
|
||||
</name>
|
||||
<command>
|
||||
ftp://%HOSTIP:%FTPPORT/%TESTNUMBER -z "2004 jan 1 12:12:12 UTC"
|
||||
|
@ -42,7 +42,7 @@ FTP RETR over proxy with CURLOPT_PROXY_TRANSFER_MODE
|
||||
</name>
|
||||
# first URL then proxy
|
||||
<command>
|
||||
ftp://www.example.com/moo/%TESTNUMBER http://%HOSTIP:%HTTPPORT
|
||||
ftp://www.example.com/moo/%TESTNUMBER http://%HOSTIP:%HTTPPORT
|
||||
</command>
|
||||
</client>
|
||||
|
||||
|
@ -40,7 +40,7 @@ socks5
|
||||
HTTP GET via SOCKS5 set with --proxy
|
||||
</name>
|
||||
<command>
|
||||
http://%HOSTIP:%HTTPPORT/%TESTNUMBER --proxy socks5://%HOSTIP:%SOCKSPORT
|
||||
http://%HOSTIP:%HTTPPORT/%TESTNUMBER --proxy socks5://%HOSTIP:%SOCKSPORT
|
||||
</command>
|
||||
</client>
|
||||
|
||||
|
@ -30,7 +30,7 @@ socks5
|
||||
FTP fetch with --proxy set to socks5://
|
||||
</name>
|
||||
<command>
|
||||
ftp://%HOSTIP:%FTPPORT/%TESTNUMBER --proxy socks5://%HOSTIP:%SOCKSPORT
|
||||
ftp://%HOSTIP:%FTPPORT/%TESTNUMBER --proxy socks5://%HOSTIP:%SOCKSPORT
|
||||
</command>
|
||||
</client>
|
||||
|
||||
|
@ -31,7 +31,7 @@ socks5
|
||||
FTP fetch with --proxy set to socks5:// and with --connect-to
|
||||
</name>
|
||||
<command>
|
||||
ftp://ftp.example.com/%TESTNUMBER --connect-to ::%HOSTIP:%FTPPORT --proxy socks5://%HOSTIP:%SOCKSPORT
|
||||
ftp://ftp.example.com/%TESTNUMBER --connect-to ::%HOSTIP:%FTPPORT --proxy socks5://%HOSTIP:%SOCKSPORT
|
||||
</command>
|
||||
</client>
|
||||
|
||||
|
@ -50,7 +50,7 @@ proxy
|
||||
FTP fetch with --proxy set to http:// and with --connect-to
|
||||
</name>
|
||||
<command>
|
||||
ftp://ftp.example.com.%TESTNUMBER/%TESTNUMBER --connect-to ::connect.example.com.%TESTNUMBER:%FTPPORT --proxytunnel --proxy http://%HOSTIP:%PROXYPORT
|
||||
ftp://ftp.example.com.%TESTNUMBER/%TESTNUMBER --connect-to ::connect.example.com.%TESTNUMBER:%FTPPORT --proxytunnel --proxy http://%HOSTIP:%PROXYPORT
|
||||
</command>
|
||||
</client>
|
||||
|
||||
|
@ -52,7 +52,7 @@ proxy
|
||||
FTP fetch with --preproxy, --proxy and --connect-to
|
||||
</name>
|
||||
<command>
|
||||
ftp://ftp.example.com.%TESTNUMBER/%TESTNUMBER --connect-to ::connect.example.com.%TESTNUMBER:%FTPPORT --proxytunnel --proxy %HOSTIP:%PROXYPORT --preproxy socks5://%HOSTIP:%SOCKSPORT
|
||||
ftp://ftp.example.com.%TESTNUMBER/%TESTNUMBER --connect-to ::connect.example.com.%TESTNUMBER:%FTPPORT --proxytunnel --proxy %HOSTIP:%PROXYPORT --preproxy socks5://%HOSTIP:%SOCKSPORT
|
||||
</command>
|
||||
</client>
|
||||
|
||||
|
@ -42,7 +42,7 @@ socks5
|
||||
HTTP GET with IPv6 numerical via SOCKS5h
|
||||
</name>
|
||||
<command>
|
||||
http://[2200::33]:%HTTPPORT/%TESTNUMBER --proxy socks5h://%HOSTIP:%SOCKSPORT
|
||||
http://[2200::33]:%HTTPPORT/%TESTNUMBER --proxy socks5h://%HOSTIP:%SOCKSPORT
|
||||
</command>
|
||||
</client>
|
||||
|
||||
|
@ -41,7 +41,7 @@ socks5
|
||||
HTTP GET with IPv4 numerical via SOCKS5h
|
||||
</name>
|
||||
<command>
|
||||
http://12.34.56.78:%HTTPPORT/%TESTNUMBER --proxy socks5h://%HOSTIP:%SOCKSPORT
|
||||
http://12.34.56.78:%HTTPPORT/%TESTNUMBER --proxy socks5h://%HOSTIP:%SOCKSPORT
|
||||
</command>
|
||||
</client>
|
||||
|
||||
|
@ -873,7 +873,7 @@ sub RCPT_smtp {
|
||||
/^<([a-zA-Z0-9._%+-]+)\@(([a-zA-Z0-9-]+)\.)+([a-zA-Z]{2,4})>$/) ||
|
||||
($smtputf8 && $to =~
|
||||
/^<([a-zA-Z0-9\x{80}-\x{ff}._%+-]+)\@(([a-zA-Z0-9\x{80}-\x{ff}-]+)\.)+([a-zA-Z]{2,4})>$/)) {
|
||||
sendcontrol "250 Recipient OK\r\n";
|
||||
sendcontrol "250 Recipient OK\r\n";
|
||||
}
|
||||
else {
|
||||
sendcontrol "501 Invalid address\r\n";
|
||||
@ -1820,7 +1820,7 @@ sub LIST_pop3 {
|
||||
# This is a built-in fake-message list
|
||||
my @data = (
|
||||
"1 100\r\n",
|
||||
"2 4294967400\r\n", # > 4 GB
|
||||
"2 4294967400\r\n", # > 4 GB
|
||||
"3 200\r\n",
|
||||
);
|
||||
|
||||
|
2
tests/http/.gitignore
vendored
2
tests/http/.gitignore
vendored
@ -3,4 +3,4 @@
|
||||
# SPDX-License-Identifier: curl
|
||||
|
||||
config.ini
|
||||
gen
|
||||
gen
|
||||
|
2
tests/http/clients/.gitignore
vendored
2
tests/http/clients/.gitignore
vendored
@ -7,4 +7,4 @@ h2-download
|
||||
ws-data
|
||||
ws-pingpong
|
||||
h2-upgrade-extreme
|
||||
tls-session-reuse
|
||||
tls-session-reuse
|
||||
|
@ -84,4 +84,3 @@ def nghttpx_fwd(env, httpd) -> Optional[Nghttpx]:
|
||||
assert nghttpx.start()
|
||||
yield nghttpx
|
||||
nghttpx.stop()
|
||||
|
||||
|
@ -26,4 +26,4 @@
|
||||
pytest
|
||||
cryptography
|
||||
multipart
|
||||
websockets
|
||||
websockets
|
||||
|
@ -140,5 +140,3 @@ class TestGoAway:
|
||||
log.debug(f'request {idx} connected')
|
||||
# this should take `count` seconds to retrieve
|
||||
assert r.duration >= timedelta(seconds=count)
|
||||
|
||||
|
||||
|
@ -108,4 +108,3 @@ class TestErrors:
|
||||
r.check_response(http_status=200, count=1)
|
||||
# check that we did a downgrade
|
||||
assert r.stats[0]['http_version'] == '1.1', r.dump_logs()
|
||||
|
||||
|
@ -112,4 +112,3 @@ class TestEyeballs:
|
||||
r.check_response(count=1, http_status=None, exitcode=False)
|
||||
assert r.stats[0]['time_connect'] == 0 # no one should have listened
|
||||
assert r.stats[0]['time_appconnect'] == 0 # did not happen either
|
||||
|
||||
|
@ -298,7 +298,7 @@ class TestUpload:
|
||||
'--cacert', env.ca.cert_file,
|
||||
'--request', 'PUT',
|
||||
'--digest', '--user', 'test:test',
|
||||
'--data-binary', f'@{fdata}',
|
||||
'--data-binary', f'@{fdata}',
|
||||
'--url', url,
|
||||
])
|
||||
assert r.exit_code == 0, r.dump_logs()
|
||||
|
@ -157,4 +157,3 @@ class TestCaddy:
|
||||
assert r.total_connects > 1, r.dump_logs()
|
||||
else:
|
||||
assert r.total_connects == 1, r.dump_logs()
|
||||
|
||||
|
@ -66,7 +66,7 @@ class TestPush:
|
||||
url = f'https://{env.domain1}:{env.https_port}/push/data1'
|
||||
r = curl.http_download(urls=[url], alpn_proto='h2', with_stats=False,
|
||||
with_headers=True)
|
||||
r.check_exit_code(0)
|
||||
r.check_exit_code(0)
|
||||
assert len(r.responses) == 2, f'{r.responses}'
|
||||
assert r.responses[0]['status'] == 103, f'{r.responses}'
|
||||
assert 'link' in r.responses[0]['header'], f'{r.responses[0]}'
|
||||
|
@ -248,4 +248,3 @@ class TestProxy:
|
||||
assert r.total_connects == 2
|
||||
else:
|
||||
assert r.total_connects == 2
|
||||
|
||||
|
@ -157,4 +157,3 @@ class TestProxyAuth:
|
||||
protocol='HTTP/2' if proto == 'h2' else 'HTTP/1.1')
|
||||
assert self.get_tunnel_proto_used(r) == 'HTTP/2' \
|
||||
if tunnel == 'h2' else 'HTTP/1.1'
|
||||
|
||||
|
@ -109,4 +109,4 @@ class TestTracing:
|
||||
if m is not None:
|
||||
found_tcp = True
|
||||
if found_tcp:
|
||||
assert False, f'TCP filter appears in trace "all,-tcp": {r.stderr}'
|
||||
assert False, f'TCP filter appears in trace "all,-tcp": {r.stderr}'
|
||||
|
@ -469,4 +469,3 @@ class Env:
|
||||
pytest.exit(f"`make`in {client_dir} failed:\n{p.stderr}")
|
||||
return False
|
||||
return True
|
||||
|
||||
|
2
tests/http/testenv/mod_curltest/.gitignore
vendored
2
tests/http/testenv/mod_curltest/.gitignore
vendored
@ -2,4 +2,4 @@
|
||||
#
|
||||
# SPDX-License-Identifier: curl
|
||||
|
||||
*.slo
|
||||
*.slo
|
||||
|
@ -256,4 +256,3 @@ class NghttpxFwd(Nghttpx):
|
||||
time.sleep(.1)
|
||||
log.error(f"Server still not responding after {timeout}")
|
||||
return False
|
||||
|
||||
|
@ -45,5 +45,3 @@ def alloc_ports(port_specs: Dict[str, int]) -> Dict[str, int]:
|
||||
for s in socks:
|
||||
s.close()
|
||||
return ports
|
||||
|
||||
|
||||
|
@ -686,4 +686,3 @@ lib3100_LDADD = $(TESTUTIL_LIBS)
|
||||
|
||||
lib3101_SOURCES = lib3101.c $(SUPPORTFILES) $(TESTUTIL) $(WARNLESS)
|
||||
lib3101_LDADD = $(TESTUTIL_LIBS)
|
||||
|
||||
|
@ -88,4 +88,3 @@ int test(char *URL)
|
||||
curl_global_cleanup();
|
||||
return (int)res;
|
||||
}
|
||||
|
||||
|
@ -65,4 +65,3 @@ test_cleanup:
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
@ -119,4 +119,3 @@ fail:
|
||||
curl_global_cleanup();
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
2
tests/server/.gitignore
vendored
2
tests/server/.gitignore
vendored
@ -11,4 +11,4 @@ sws
|
||||
tftpd
|
||||
socksd
|
||||
disabled
|
||||
mqttd
|
||||
mqttd
|
||||
|
@ -18,7 +18,7 @@ rem * furnished to do so, under the terms of the COPYING file.
|
||||
rem *
|
||||
rem * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
|
||||
rem * KIND, either express or implied.
|
||||
rem *
|
||||
rem *
|
||||
rem * SPDX-License-Identifier: curl
|
||||
rem *
|
||||
rem ***************************************************************************
|
||||
@ -28,7 +28,7 @@ if exist %OUTFILE% (
|
||||
)
|
||||
|
||||
echo %MACRO_NAME% = \> %OUTFILE%
|
||||
for %%i in (%*) do echo %DIROBJ%/%%i \>> %OUTFILE%
|
||||
echo. >> %OUTFILE%
|
||||
for %%i in (%*) do echo %DIROBJ%/%%i \>> %OUTFILE%
|
||||
echo. >> %OUTFILE%
|
||||
|
||||
:END
|
||||
|
@ -18,7 +18,7 @@ rem * furnished to do so, under the terms of the COPYING file.
|
||||
rem *
|
||||
rem * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
|
||||
rem * KIND, either express or implied.
|
||||
rem *
|
||||
rem *
|
||||
rem * SPDX-License-Identifier: curl
|
||||
rem *
|
||||
rem ***************************************************************************
|
||||
@ -29,7 +29,7 @@ IF %ERRORLEVEL% == 1 (
|
||||
ECHO Error: Can't find `nmake.exe` - be sure to run this script from within a Developer Command-Prompt
|
||||
ECHO.
|
||||
) ELSE (
|
||||
nmake /f Makefile.vc mode=static DEBUG=yes GEN_PDB=yes
|
||||
nmake /f Makefile.vc mode=static DEBUG=yes GEN_PDB=yes
|
||||
IF %ERRORLEVEL% NEQ 0 (
|
||||
ECHO "Error: Build Failed"
|
||||
)
|
||||
|
Loading…
x
Reference in New Issue
Block a user