diff options
author | Nalin Dahyabhai <nalin@dahyabhai.net> | 2014-04-24 16:30:56 -0400 |
---|---|---|
committer | Greg Hudson <ghudson@mit.edu> | 2014-06-02 17:59:14 -0400 |
commit | d950809ff49e3e7603594186d77135a09ab6b1b2 (patch) | |
tree | aabcc959fcc9120277439b4911456960aac060df /src/lib/krb5/os/os-proto.h | |
parent | 606e2ccc0a2546a23761f910482a55c5bf0f98ac (diff) | |
download | krb5-d950809ff49e3e7603594186d77135a09ab6b1b2.tar.gz krb5-d950809ff49e3e7603594186d77135a09ab6b1b2.tar.xz krb5-d950809ff49e3e7603594186d77135a09ab6b1b2.zip |
HTTPS transport (Microsoft KKDCPP implementation)
Add an 'HTTPS' transport type which connects to an [MS-KKDCP] proxy
server using HTTPS to communicate with a KDC. The KDC's name should
take the form of an HTTPS URL (e.g. "https://proxybox/KdcProxy").
An HTTPS connection's encryption layer can be reading and writing when
the application layer is expecting to write and read, so the HTTPS
callbacks have to handle being called multiple times.
[nalin@redhat.com: use cleanup labels, make sure we always send the
realm name, keep a copy of the URI on-hand, move most of the
conditionally-compiled sections into their own conditionally-built
functions, break out HTTPS request formatting into a helper function,
handle the MS-KKDCP length bytes, update comments to mention specific
versions of the MS-KKDCP spec, differentiate TCP and HTTP trace
messages, trace unparseable responses]
ticket: 7929
Diffstat (limited to 'src/lib/krb5/os/os-proto.h')
-rw-r--r-- | src/lib/krb5/os/os-proto.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/lib/krb5/os/os-proto.h b/src/lib/krb5/os/os-proto.h index e60ccd04a..34bf02891 100644 --- a/src/lib/krb5/os/os-proto.h +++ b/src/lib/krb5/os/os-proto.h @@ -42,6 +42,7 @@ typedef enum { TCP_OR_UDP = 0, TCP, UDP, + HTTPS, } k5_transport; typedef enum { @@ -55,6 +56,7 @@ struct server_entry { char *hostname; /* NULL -> use addrlen/addr instead */ int port; /* Used only if hostname set */ k5_transport transport; /* May be 0 for UDP/TCP if hostname set */ + char *uri_path; /* Used only if transport is HTTPS */ int family; /* May be 0 (aka AF_UNSPEC) if hostname set */ size_t addrlen; struct sockaddr_storage addr; |