summaryrefslogtreecommitdiff
path: root/src/lib/libssl/src/ssl/kssl.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/libssl/src/ssl/kssl.h')
-rw-r--r--src/lib/libssl/src/ssl/kssl.h41
1 files changed, 20 insertions, 21 deletions
diff --git a/src/lib/libssl/src/ssl/kssl.h b/src/lib/libssl/src/ssl/kssl.h
index ca0ebac147..b61e3240c8 100644
--- a/src/lib/libssl/src/ssl/kssl.h
+++ b/src/lib/libssl/src/ssl/kssl.h
@@ -117,19 +117,18 @@ typedef unsigned char krb5_octet;
117#endif 117#endif
118 118
119#define KSSL_ERR_MAX 256 119#define KSSL_ERR_MAX 256
120typedef struct kssl_err_st { 120typedef struct kssl_err_st {
121 int reason; 121 int reason;
122 char text[KSSL_ERR_MAX]; 122 char text[KSSL_ERR_MAX];
123 } KSSL_ERR; 123} KSSL_ERR;
124 124
125 125
126/* Context for passing 126/* Context for passing
127** (1) Kerberos session key to SSL, and 127** (1) Kerberos session key to SSL, and
128** (2) Config data between application and SSL lib 128** (2) Config data between application and SSL lib
129*/ 129*/
130typedef struct kssl_ctx_st 130typedef struct kssl_ctx_st {
131 { 131 /* used by: disposition: */
132 /* used by: disposition: */
133 char *service_name; /* C,S default ok (kssl) */ 132 char *service_name; /* C,S default ok (kssl) */
134 char *service_host; /* C input, REQUIRED */ 133 char *service_host; /* C input, REQUIRED */
135 char *client_princ; /* S output from krb5 ticket */ 134 char *client_princ; /* S output from krb5 ticket */
@@ -138,7 +137,7 @@ typedef struct kssl_ctx_st
138 krb5_enctype enctype; 137 krb5_enctype enctype;
139 int length; 138 int length;
140 krb5_octet FAR *key; 139 krb5_octet FAR *key;
141 } KSSL_CTX; 140} KSSL_CTX;
142 141
143#define KSSL_CLIENT 1 142#define KSSL_CLIENT 1
144#define KSSL_SERVER 2 143#define KSSL_SERVER 2
@@ -155,25 +154,25 @@ KSSL_CTX *kssl_ctx_new(void);
155KSSL_CTX *kssl_ctx_free(KSSL_CTX *kssl_ctx); 154KSSL_CTX *kssl_ctx_free(KSSL_CTX *kssl_ctx);
156void kssl_ctx_show(KSSL_CTX *kssl_ctx); 155void kssl_ctx_show(KSSL_CTX *kssl_ctx);
157krb5_error_code kssl_ctx_setprinc(KSSL_CTX *kssl_ctx, int which, 156krb5_error_code kssl_ctx_setprinc(KSSL_CTX *kssl_ctx, int which,
158 krb5_data *realm, krb5_data *entity, int nentities); 157 krb5_data *realm, krb5_data *entity, int nentities);
159krb5_error_code kssl_cget_tkt(KSSL_CTX *kssl_ctx, krb5_data **enc_tktp, 158krb5_error_code kssl_cget_tkt(KSSL_CTX *kssl_ctx, krb5_data **enc_tktp,
160 krb5_data *authenp, KSSL_ERR *kssl_err); 159 krb5_data *authenp, KSSL_ERR *kssl_err);
161krb5_error_code kssl_sget_tkt(KSSL_CTX *kssl_ctx, krb5_data *indata, 160krb5_error_code kssl_sget_tkt(KSSL_CTX *kssl_ctx, krb5_data *indata,
162 krb5_ticket_times *ttimes, KSSL_ERR *kssl_err); 161 krb5_ticket_times *ttimes, KSSL_ERR *kssl_err);
163krb5_error_code kssl_ctx_setkey(KSSL_CTX *kssl_ctx, krb5_keyblock *session); 162krb5_error_code kssl_ctx_setkey(KSSL_CTX *kssl_ctx, krb5_keyblock *session);
164void kssl_err_set(KSSL_ERR *kssl_err, int reason, char *text); 163void kssl_err_set(KSSL_ERR *kssl_err, int reason, char *text);
165void kssl_krb5_free_data_contents(krb5_context context, krb5_data *data); 164void kssl_krb5_free_data_contents(krb5_context context, krb5_data *data);
166krb5_error_code kssl_build_principal_2(krb5_context context, 165krb5_error_code kssl_build_principal_2(krb5_context context,
167 krb5_principal *princ, int rlen, const char *realm, 166 krb5_principal *princ, int rlen, const char *realm, int slen,
168 int slen, const char *svc, int hlen, const char *host); 167 const char *svc, int hlen, const char *host);
169krb5_error_code kssl_validate_times(krb5_timestamp atime, 168krb5_error_code kssl_validate_times(krb5_timestamp atime,
170 krb5_ticket_times *ttimes); 169 krb5_ticket_times *ttimes);
171krb5_error_code kssl_check_authent(KSSL_CTX *kssl_ctx, krb5_data *authentp, 170krb5_error_code kssl_check_authent(KSSL_CTX *kssl_ctx, krb5_data *authentp,
172 krb5_timestamp *atimep, KSSL_ERR *kssl_err); 171 krb5_timestamp *atimep, KSSL_ERR *kssl_err);
173unsigned char *kssl_skip_confound(krb5_enctype enctype, unsigned char *authn); 172unsigned char *kssl_skip_confound(krb5_enctype enctype, unsigned char *authn);
174 173
175void SSL_set0_kssl_ctx(SSL *s, KSSL_CTX *kctx); 174void SSL_set0_kssl_ctx(SSL *s, KSSL_CTX *kctx);
176KSSL_CTX * SSL_get0_kssl_ctx(SSL *s); 175KSSL_CTX *SSL_get0_kssl_ctx(SSL *s);
177char *kssl_ctx_get0_client_princ(KSSL_CTX *kctx); 176char *kssl_ctx_get0_client_princ(KSSL_CTX *kctx);
178 177
179#ifdef __cplusplus 178#ifdef __cplusplus