curl-curl/tests/data/test440
Viktor Szakats 4e051ff550
curlx: limit use of system allocators to the minimum possible
Clone a multibye conversion function into curlx/fopen, and use that
local copy from curlx/fopen functions. Adjust allocators in curlx/fopen
to use curl's in normal builds, and system allocators in TrackMemory
builds to avoid recursion.

This allows to switch curlx/multibyte functions to curl allocators in
all configurations, as they are no longer called by curlx/fopen, and
a recursive call can no longer happen.

After this patch the system allocator is only used in TrackMemory
Windows builds, within curlx `fopen`, `freopen`, `stat` and `open`
functions.

Also:
- test 1, 440, 767: raise allocation limitsto fit the extra allocations
  in Windows Unicode builds.
- replace all uses of `curlx_unicodefree()` macro with `curlx_free()`
  across the codebase.
- curlx/multibyte: delete `curlx_unicodefree()`.
- ldap: join Windows and non-Windows codepaths that became
  identical after moving from `curlx_unicodefree()` to `curlx_free()`.
- vauth: drop a strdup from standard to curl allocator since
  the original allocation is now already done by curl's.
- tool_doswin: drop now superfluous strdup from `FindWin32CACert()`.
- memanalyzer.pm: sync weirdo `calloc` log message with `malloc`'s.

Fixes #19748
Closes #19845
2025-12-05 15:32:59 +01:00

81 lines
1.4 KiB
Plaintext

<testcase>
<info>
<keywords>
HTTP
HTTP proxy
HSTS
trailing-dot
</keywords>
</info>
<reply>
# we use this as response to a CONNECT
<connect crlf="headers" nocheck="yes">
HTTP/1.1 403 not OK at all
Date: Tue, 09 Nov 2010 14:49:00 GMT
Server: test-server/fake
Content-Length: 6
Connection: close
Funny-head: yesyes
-foo-
</connect>
</reply>
<client>
<server>
http
</server>
<features>
HSTS
proxy
https
</features>
# no trailing dot in the file only in the URL
<file name="%LOGDIR/input%TESTNUMBER">
this.hsts.example "99991001 04:47:41"
</file>
<name>
HSTS with trailing-dot hostname in URL but none in hsts file
</name>
<command>
-x http://%HOSTIP:%HTTPPORT http://this.hsts.example./%TESTNUMBER --hsts %LOGDIR/input%TESTNUMBER -w '%{url_effective}\n'
</command>
<disable>
test-duphandle
</disable>
</client>
<verify>
# we let it CONNECT to the server to confirm HSTS but deny from there
<protocol crlf="headers">
CONNECT this.hsts.example.:443 HTTP/1.1
Host: this.hsts.example.:443
User-Agent: curl/%VERSION
Proxy-Connection: Keep-Alive
</protocol>
<stdout crlf="headers">
HTTP/1.1 403 not OK at all
Date: Tue, 09 Nov 2010 14:49:00 GMT
Server: test-server/fake
Content-Length: 6
Connection: close
Funny-head: yesyes
https://this.hsts.example./%TESTNUMBER
</stdout>
# Proxy CONNECT aborted
<errorcode>
56
</errorcode>
<limits>
Allocations: 160
</limits>
</verify>
</testcase>