mirror of
https://github.com/curl/curl.git
synced 2026-04-20 16:21:19 +03:00
Used by test 2056 and 2057, in a way that's Linux- & autotools-specific.
This patch builds it for all Unix, syncing cmake with autotools.
Adapt the two tests to find the library in CMake builds as well.
Tested OK on Linux. (CI does not test this. The corresponding jobs build
in debug mode, while the `LD_PRELOAD` feature is locked to non-debug.)
On macOS it didn't load without building everything for aarch64e arch:
"../bld/tests/libtest/libstubgss.dylib' (mach-o file, but is
an incompatible architecture (have 'arm64', need 'arm64e'))"
With that fixed it still did not load correctly and/or the tests did not
pass. So, for macOS these tests remain disabled.
Also:
- GHA/macos: build for aarch64e. (recognized by Apple clang as of this
patch. llvm and gcc fall back to aarch64.)
Follow-up to 56d949d31a #1687
Closes #17653
66 lines
1.4 KiB
Text
66 lines
1.4 KiB
Text
<testcase>
|
|
<info>
|
|
<keywords>
|
|
HTTP
|
|
HTTP GET
|
|
HTTP Negotiate auth (stub krb5)
|
|
</keywords>
|
|
</info>
|
|
# Server-side
|
|
<reply>
|
|
<!-- First request, expect success in one shot -->
|
|
<data1>
|
|
HTTP/1.1 200 Things are fine in server land
|
|
Server: Microsoft-IIS/7.0
|
|
Content-Type: text/html; charset=iso-8859-1
|
|
WWW-Authenticate: Negotiate RA==
|
|
Content-Length: 15
|
|
|
|
Nice auth sir!
|
|
</data1>
|
|
<datacheck>
|
|
HTTP/1.1 200 Things are fine in server land
|
|
Server: Microsoft-IIS/7.0
|
|
Content-Type: text/html; charset=iso-8859-1
|
|
WWW-Authenticate: Negotiate RA==
|
|
Content-Length: 15
|
|
|
|
Nice auth sir!
|
|
</datacheck>
|
|
</reply>
|
|
|
|
# Client-side
|
|
<client>
|
|
<server>
|
|
http
|
|
</server>
|
|
<name>
|
|
HTTP Negotiate authentication (stub krb5)
|
|
</name>
|
|
<features>
|
|
GSS-API
|
|
ld_preload
|
|
!Debug
|
|
</features>
|
|
<setenv>
|
|
LD_PRELOAD=libstubgss.so
|
|
LD_LIBRARY_PATH=%PWD/libtest/.libs:%PWD/libtest
|
|
CURL_STUB_GSS_CREDS="KRB5_Alice"
|
|
</setenv>
|
|
<command>
|
|
--negotiate http://%HOSTIP:%HTTPPORT/%TESTNUMBER
|
|
</command>
|
|
</client>
|
|
|
|
# Verify data after the test has been "shot"
|
|
<verify>
|
|
<protocol>
|
|
GET /%TESTNUMBER HTTP/1.1
|
|
Host: %HOSTIP:%HTTPPORT
|
|
Authorization: Negotiate IktSQjVfQWxpY2UiOkhUVFBAMTI3LjAuMC4xOjE6QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQ==
|
|
User-Agent: curl/%VERSION
|
|
Accept: */*
|
|
|
|
</protocol>
|
|
</verify>
|
|
</testcase>
|