curl/lib
Max Faxälv 0a5ea09a91
spnego_gssapi: implement TLS channel bindings for openssl
Channel Bindings are used to tie the session context to a specific TLS
channel. This is to provide additional proof of valid identity,
mitigating authentication relay attacks.

Major web servers have the ability to require (None/Accept/Require)
GSSAPI channel binding, rendering Curl unable to connect to such
websites unless support for channel bindings is implemented.

IIS calls this feature Extended Protection (EPA), which is used in
Enterprise environments using Kerberos for authentication.

This change require krb5 >= 1.19, otherwise channel bindings won't be
forwarded through SPNEGO.

Co-Authored-By: Steffen Kieß <947515+steffen-kiess@users.noreply.github.com>
Closes #13098
2024-08-12 19:16:54 +02:00
..
vauth spnego_gssapi: implement TLS channel bindings for openssl 2024-08-12 19:16:54 +02:00
vquic llist: remove direct struct accesses, use only functions 2024-08-12 13:18:10 +02:00
vssh tidy-up: OS names 2024-08-04 19:17:45 +02:00
vtls spnego_gssapi: implement TLS channel bindings for openssl 2024-08-12 19:16:54 +02:00
.checksrc
.gitattributes
.gitignore
CMakeLists.txt cmake: more syntax tidy-up 2024-08-07 23:41:27 +02:00
Makefile.am build: tidy up internal macro names for `libcurl.pc` 2024-08-12 14:56:41 +02:00
Makefile.inc
Makefile.mk Makefile.mk: fixup enabling libidn2 2024-08-06 22:33:05 +02:00
Makefile.soname
altsvc.c llist: remove direct struct accesses, use only functions 2024-08-12 13:18:10 +02:00
altsvc.h llist: remove direct struct accesses, use only functions 2024-08-12 13:18:10 +02:00
amigaos.c code: language cleanup in comments 2024-07-01 22:58:55 +02:00
amigaos.h
arpa_telnet.h code: language cleanup in comments 2024-07-01 22:58:55 +02:00
asyn-ares.c code: language cleanup in comments 2024-07-01 22:58:55 +02:00
asyn-thread.c code: language cleanup in comments 2024-07-01 22:58:55 +02:00
asyn.h code: language cleanup in comments 2024-07-01 22:58:55 +02:00
base64.c
bufq.c
bufq.h bufq: remove duplicate word in comment 2024-05-08 19:12:03 +02:00
bufref.c code: language cleanup in comments 2024-07-01 22:58:55 +02:00
bufref.h
c-hyper.c lib: add eos flag to send methods 2024-08-03 19:53:54 +02:00
c-hyper.h
cf-h1-proxy.c lib: add eos flag to send methods 2024-08-03 19:53:54 +02:00
cf-h1-proxy.h
cf-h2-proxy.c http2: improved upload eos handling 2024-08-05 08:53:55 +02:00
cf-h2-proxy.h
cf-haproxy.c lib: add eos flag to send methods 2024-08-03 19:53:54 +02:00
cf-haproxy.h
cf-https-connect.c http2: improved upload eos handling 2024-08-05 08:53:55 +02:00
cf-https-connect.h
cf-socket.c tidy-up: OS names 2024-08-04 19:17:45 +02:00
cf-socket.h socket: support binding to interface *AND* IP 2024-06-04 23:47:54 +02:00
cfilters.c http2: improved upload eos handling 2024-08-05 08:53:55 +02:00
cfilters.h http2: improved upload eos handling 2024-08-05 08:53:55 +02:00
config-amigaos.h
config-dos.h
config-mac.h tidy-up: OS names 2024-08-04 19:17:45 +02:00
config-os400.h cmake: delete unused `HAVE_LIBSSH2`, `HAVE_LIBSOCKET` macros 2024-07-16 11:46:26 +02:00
config-plan9.h
config-riscos.h cmake: more small tidy-ups and fixes 2024-08-08 13:48:28 +02:00
config-win32.h
config-win32ce.h tidy-up: OS names 2024-08-04 19:17:45 +02:00
conncache.c llist: remove direct struct accesses, use only functions 2024-08-12 13:18:10 +02:00
conncache.h code: language cleanup in comments 2024-07-01 22:58:55 +02:00
connect.c connect: fix connection shutdown for event based processing 2024-07-29 14:53:43 +02:00
connect.h connect: fix connection shutdown for event based processing 2024-07-29 14:53:43 +02:00
content_encoding.c code: language cleanup in comments 2024-07-01 22:58:55 +02:00
content_encoding.h
cookie.c code: language cleanup in comments 2024-07-01 22:58:55 +02:00
cookie.h code: language cleanup in comments 2024-07-01 22:58:55 +02:00
curl_addrinfo.c tidy-up: OS names 2024-08-04 19:17:45 +02:00
curl_addrinfo.h code: language cleanup in comments 2024-07-01 22:58:55 +02:00
curl_base64.h
curl_config.h.cmake cmake: more small tidy-ups and fixes 2024-08-08 13:48:28 +02:00
curl_ctype.h
curl_des.c code: language cleanup in comments 2024-07-01 22:58:55 +02:00
curl_des.h
curl_endian.c code: language cleanup in comments 2024-07-01 22:58:55 +02:00
curl_endian.h
curl_fnmatch.c lib: tidy up types and casts 2024-06-05 14:02:39 +02:00
curl_fnmatch.h tidy-up: OS names 2024-08-04 19:17:45 +02:00
curl_get_line.c
curl_get_line.h
curl_gethostname.c code: language cleanup in comments 2024-07-01 22:58:55 +02:00
curl_gethostname.h
curl_gssapi.c
curl_gssapi.h
curl_hmac.h
curl_krb5.h
curl_ldap.h
curl_md4.h
curl_md5.h
curl_memory.h
curl_memrchr.c
curl_memrchr.h
curl_multibyte.c curl_multibyte: remove access() function wrapper for Windows 2024-05-07 02:28:10 -04:00
curl_multibyte.h tidy-up: OS names 2024-08-04 19:17:45 +02:00
curl_ntlm_core.c tidy-up: OS names 2024-08-04 19:17:45 +02:00
curl_ntlm_core.h cmake: fix building `unit1600` due to missing `ssl/openssl.h` 2024-07-13 12:00:14 +02:00
curl_path.c curl_path: make Curl_get_pathname use dynbuf 2024-05-08 10:10:12 +02:00
curl_path.h curl_path: make Curl_get_pathname use dynbuf 2024-05-08 10:10:12 +02:00
curl_printf.h
curl_range.c
curl_range.h
curl_rtmp.c lib: add eos flag to send methods 2024-08-03 19:53:54 +02:00
curl_rtmp.h
curl_sasl.c code: language cleanup in comments 2024-07-01 22:58:55 +02:00
curl_sasl.h
curl_setup.h tidy-up: OS names 2024-08-04 19:17:45 +02:00
curl_setup_once.h code: language cleanup in comments 2024-07-01 22:58:55 +02:00
curl_sha256.h
curl_sha512_256.c code: language cleanup in comments 2024-07-01 22:58:55 +02:00
curl_sha512_256.h
curl_sspi.c code: language cleanup in comments 2024-07-01 22:58:55 +02:00
curl_sspi.h
curl_threads.c windows: fix UWP builds, add GHA job 2024-06-05 00:52:24 +02:00
curl_threads.h windows: fix UWP builds, add GHA job 2024-06-05 00:52:24 +02:00
curl_trc.c tracing: allow CURL_DEBUG override 2024-08-07 20:35:16 +02:00
curl_trc.h ftp: add tracing support 2024-05-10 23:39:48 +02:00
curlx.h
cw-out.c code: language cleanup in comments 2024-07-01 22:58:55 +02:00
cw-out.h
dict.c lib: add eos flag to send methods 2024-08-03 19:53:54 +02:00
dict.h
dllmain.c
doh.c url: dns_entry related improvements 2024-08-03 19:51:02 +02:00
doh.h tidy-up: OS names 2024-08-04 19:17:45 +02:00
dynbuf.c code: language cleanup in comments 2024-07-01 22:58:55 +02:00
dynbuf.h
dynhds.c build: untangle `UNITTESTS` and `DEBUGBUILD` macros 2024-05-27 21:15:50 +02:00
dynhds.h code: language cleanup in comments 2024-07-01 22:58:55 +02:00
easy.c llist: remove direct struct accesses, use only functions 2024-08-12 13:18:10 +02:00
easy_lock.h
easygetopt.c code: language cleanup in comments 2024-07-01 22:58:55 +02:00
easyif.h build: untangle `CURLDEBUG` and `DEBUGBUILD` macros 2024-05-28 08:12:00 +02:00
easyoptions.c tcpkeepalive: add CURLOPT_TCP_KEEPCNT and --keepalive-cnt 2024-06-12 09:31:17 +02:00
easyoptions.h
escape.c escape: allow curl_easy_escape to generate 3*input length output 2024-08-01 23:03:21 +02:00
escape.h
file.c tidy-up: OS names 2024-08-04 19:17:45 +02:00
file.h
fileinfo.c
fileinfo.h llist: remove direct struct accesses, use only functions 2024-08-12 13:18:10 +02:00
fopen.c code: language cleanup in comments 2024-07-01 22:58:55 +02:00
fopen.h
formdata.c code: language cleanup in comments 2024-07-01 22:58:55 +02:00
formdata.h code: language cleanup in comments 2024-07-01 22:58:55 +02:00
ftp.c llist: remove direct struct accesses, use only functions 2024-08-12 13:18:10 +02:00
ftp.h code: language cleanup in comments 2024-07-01 22:58:55 +02:00
ftplistparser.c
ftplistparser.h
functypes.h
getenv.c code: language cleanup in comments 2024-07-01 22:58:55 +02:00
getinfo.c progress: ratelimit/progress tweaks 2024-08-02 11:17:44 +02:00
getinfo.h
gopher.c lib: add eos flag to send methods 2024-08-03 19:53:54 +02:00
gopher.h
hash.c llist: remove direct struct accesses, use only functions 2024-08-12 13:18:10 +02:00
hash.h llist: remove direct struct accesses, use only functions 2024-08-12 13:18:10 +02:00
headers.c llist: remove direct struct accesses, use only functions 2024-08-12 13:18:10 +02:00
headers.h llist: remove direct struct accesses, use only functions 2024-08-12 13:18:10 +02:00
hmac.c code: language cleanup in comments 2024-07-01 22:58:55 +02:00
hostasyn.c url: dns_entry related improvements 2024-08-03 19:51:02 +02:00
hostip.c tidy-up: OS names 2024-08-04 19:17:45 +02:00
hostip.h tidy-up: OS names 2024-08-04 19:17:45 +02:00
hostip4.c tidy-up: OS names 2024-08-04 19:17:45 +02:00
hostip6.c tidy-up: OS names 2024-08-04 19:17:45 +02:00
hostsyn.c
hsts.c llist: remove direct struct accesses, use only functions 2024-08-12 13:18:10 +02:00
hsts.h llist: remove direct struct accesses, use only functions 2024-08-12 13:18:10 +02:00
http.c llist: remove direct struct accesses, use only functions 2024-08-12 13:18:10 +02:00
http.h code: language cleanup in comments 2024-07-01 22:58:55 +02:00
http1.c lib: tidy up types and casts 2024-06-05 14:02:39 +02:00
http1.h
http2.c http/2: simplify eos/blocked handling 2024-08-07 18:28:49 +02:00
http2.h
http_aws_sigv4.c aws_sigv4: fix canon order for headers with same prefix 2024-08-05 23:32:10 +02:00
http_aws_sigv4.h
http_chunks.c code: language cleanup in comments 2024-07-01 22:58:55 +02:00
http_chunks.h code: language cleanup in comments 2024-07-01 22:58:55 +02:00
http_digest.c
http_digest.h
http_negotiate.c spnego_gssapi: implement TLS channel bindings for openssl 2024-08-12 19:16:54 +02:00
http_negotiate.h
http_ntlm.c tidy-up: OS names 2024-08-04 19:17:45 +02:00
http_ntlm.h tidy-up: OS names 2024-08-04 19:17:45 +02:00
http_proxy.c connection: shutdown TLS (for FTP) better 2024-06-10 13:08:12 +02:00
http_proxy.h
idn.c idn: more strictly check AppleIDN errors 2024-08-07 14:59:07 +02:00
idn.h
if2ip.c lib: fix AIX build issues 2024-08-09 10:45:40 +02:00
if2ip.h
imap.c code: language cleanup in comments 2024-07-01 22:58:55 +02:00
imap.h
inet_ntop.c tidy-up: OS names 2024-08-04 19:17:45 +02:00
inet_ntop.h lib: tidy up types and casts 2024-06-05 14:02:39 +02:00
inet_pton.c tidy-up: OS names 2024-08-04 19:17:45 +02:00
inet_pton.h
krb5.c krb5: fix `-Wcast-align` 2024-08-07 15:13:07 +02:00
ldap.c tidy-up: OS names 2024-08-04 19:17:45 +02:00
libcurl.rc (lib)curl.rc: set debug flag also for `CURLDEBUG` and `UNITTESTS` 2024-05-22 08:38:12 +02:00
libcurl.vers.in
llist.c llist: remove direct struct accesses, use only functions 2024-08-12 13:18:10 +02:00
llist.h llist: remove direct struct accesses, use only functions 2024-08-12 13:18:10 +02:00
macos.c macos: undo `availability` macro enabled by Homebrew gcc 2024-07-12 00:32:39 +02:00
macos.h
md4.c md4: fix compilation with OpenSSL 1.x with md4 disabled 2024-07-19 18:27:30 +02:00
md5.c code: language cleanup in comments 2024-07-01 22:58:55 +02:00
memdebug.c code: language cleanup in comments 2024-07-01 22:58:55 +02:00
memdebug.h lib: fix AIX build issues 2024-08-09 10:45:40 +02:00
mime.c code: language cleanup in comments 2024-07-01 22:58:55 +02:00
mime.h code: language cleanup in comments 2024-07-01 22:58:55 +02:00
mprintf.c code: language cleanup in comments 2024-07-01 22:58:55 +02:00
mqtt.c lib: add eos flag to send methods 2024-08-03 19:53:54 +02:00
mqtt.h
multi.c llist: remove direct struct accesses, use only functions 2024-08-12 13:18:10 +02:00
multihandle.h llist: remove direct struct accesses, use only functions 2024-08-12 13:18:10 +02:00
multiif.h conncache: connection shutdown, multi_socket handling 2024-07-23 10:29:07 +02:00
netrc.c code: language cleanup in comments 2024-07-01 22:58:55 +02:00
netrc.h code: language cleanup in comments 2024-07-01 22:58:55 +02:00
nonblock.c tidy-up: OS names 2024-08-04 19:17:45 +02:00
nonblock.h
noproxy.c code: language cleanup in comments 2024-07-01 22:58:55 +02:00
noproxy.h noproxy: patterns need to be comma separated 2024-06-01 12:25:13 +02:00
openldap.c lib: add eos flag to send methods 2024-08-03 19:53:54 +02:00
optiontable.pl
parsedate.c code: language cleanup in comments 2024-07-01 22:58:55 +02:00
parsedate.h
pingpong.c ftp: flush pingpong before response 2024-08-08 17:52:25 +02:00
pingpong.h ftp: flush pingpong before response 2024-08-08 17:52:25 +02:00
pop3.c code: language cleanup in comments 2024-07-01 22:58:55 +02:00
pop3.h
progress.c progress: ratelimit/progress tweaks 2024-08-02 11:17:44 +02:00
progress.h progress: ratelimit/progress tweaks 2024-08-02 11:17:44 +02:00
psl.c
psl.h
rand.c Curl_rand_bytes to control env override 2024-08-03 19:49:15 +02:00
rand.h Curl_rand_bytes to control env override 2024-08-03 19:49:15 +02:00
rename.c code: language cleanup in comments 2024-07-01 22:58:55 +02:00
rename.h
request.c http/2: simplify eos/blocked handling 2024-08-07 18:28:49 +02:00
request.h cfilters: send flush 2024-08-03 19:55:45 +02:00
rtsp.c code: language cleanup in comments 2024-07-01 22:58:55 +02:00
rtsp.h http: remove "struct HTTP" 2024-06-12 16:04:53 +02:00
select.c tidy-up: OS names 2024-08-04 19:17:45 +02:00
select.h multi: prepare multi_wait() for future shutdown usage 2024-06-10 13:11:05 +02:00
sendf.c sendf: fix CRLF conversion of input 2024-07-15 23:47:33 +02:00
sendf.h transfer: do not use EXPIRE_NOW while blocked 2024-06-13 15:13:43 +02:00
setopt.c vtls: add SSLSUPP_CIPHER_LIST 2024-08-07 08:50:42 +02:00
setopt.h setopt: warn on Curl_set*opt() uses not using the return value 2024-05-12 17:27:51 +02:00
setup-os400.h os400: workaround an IBM ASCII run-time library bug 2024-07-27 00:17:13 +02:00
setup-vms.h docs: misc language polish 2024-07-01 16:45:17 +02:00
setup-win32.h tidy-up: OS names 2024-08-04 19:17:45 +02:00
sha256.c tidy-up: adjust casing of project names 2024-07-12 13:56:16 +02:00
share.c code: language cleanup in comments 2024-07-01 22:58:55 +02:00
share.h code: language cleanup in comments 2024-07-01 22:58:55 +02:00
sigpipe.h sigpipe: init the struct so that first apply ignores 2024-08-05 08:18:43 +02:00
slist.c
slist.h
smb.c tidy-up: OS names 2024-08-04 19:17:45 +02:00
smb.h
smtp.c smtp: for starttls, do full upgrade 2024-07-15 23:11:21 +02:00
smtp.h
sockaddr.h
socketpair.c code: language cleanup in comments 2024-07-01 22:58:55 +02:00
socketpair.h tidy-up: OS names 2024-08-04 19:17:45 +02:00
socks.c lib: add eos flag to send methods 2024-08-03 19:53:54 +02:00
socks.h
socks_gssapi.c lib: add eos flag to send methods 2024-08-03 19:53:54 +02:00
socks_sspi.c lib: add eos flag to send methods 2024-08-03 19:53:54 +02:00
speedcheck.c
speedcheck.h
splay.c code: language cleanup in comments 2024-07-01 22:58:55 +02:00
splay.h code: language cleanup in comments 2024-07-01 22:58:55 +02:00
strcase.c code: language cleanup in comments 2024-07-01 22:58:55 +02:00
strcase.h
strdup.c
strdup.h
strerror.c code: language cleanup in comments 2024-07-01 22:58:55 +02:00
strerror.h
strtok.c code: language cleanup in comments 2024-07-01 22:58:55 +02:00
strtok.h
strtoofft.c code: language cleanup in comments 2024-07-01 22:58:55 +02:00
strtoofft.h docs: misc language polish 2024-07-01 16:45:17 +02:00
system_win32.c tidy-up: OS names 2024-08-04 19:17:45 +02:00
system_win32.h system_win32: add missing curl.h include 2024-06-26 10:05:32 +02:00
telnet.c tidy-up: OS names 2024-08-04 19:17:45 +02:00
telnet.h
tftp.c code: language cleanup in comments 2024-07-01 22:58:55 +02:00
tftp.h
timediff.c
timediff.h docs: misc language polish 2024-07-01 16:45:17 +02:00
timeval.c tidy-up: OS names 2024-08-04 19:17:45 +02:00
timeval.h
transfer.c http2: improved upload eos handling 2024-08-05 08:53:55 +02:00
transfer.h cfilters: send flush 2024-08-03 19:55:45 +02:00
url.c llist: remove direct struct accesses, use only functions 2024-08-12 13:18:10 +02:00
url.h lib: graceful connection shutdown 2024-06-26 08:33:17 +02:00
urlapi-int.h build: untangle `UNITTESTS` and `DEBUGBUILD` macros 2024-05-27 21:15:50 +02:00
urlapi.c tidy-up: OS names 2024-08-04 19:17:45 +02:00
urldata.h spnego_gssapi: implement TLS channel bindings for openssl 2024-08-12 19:16:54 +02:00
version.c code: language cleanup in comments 2024-07-01 22:58:55 +02:00
version_win32.c tidy-up: OS names 2024-08-04 19:17:45 +02:00
version_win32.h tidy-up: OS names 2024-08-04 19:17:45 +02:00
warnless.c
warnless.h warnless: delete orphan declarations 2024-05-14 16:37:11 +02:00
ws.c ws: flags to opcodes should ignore CURLWS_CONT flag 2024-08-07 09:06:30 +02:00
ws.h docs: misc language polish 2024-07-01 16:45:17 +02:00