# include <gssapi/gssapi_generic.h>
# endif
+#ifndef HEIMDAL
+#include <gssapi/gssapi_ext.h>
+#endif
+
/* MIT Kerberos doesn't seem to define GSS_NT_HOSTBASED_SERVICE */
#ifndef GSS_C_NT_HOSTBASED_SERVICE
gss_buffer_desc exportedname;
gss_cred_id_t creds;
gss_name_t name;
- struct ssh_gssapi_mech_struct *mech;
ssh_gssapi_ccache store;
int used;
int updated;
} ssh_gssapi_client;
-typedef struct ssh_gssapi_mech_struct {
- char *enc_name;
- char *name;
- gss_OID_desc oid;
- int (*dochild) (ssh_gssapi_client *);
- int (*userok) (ssh_gssapi_client *, char *);
- int (*localname) (ssh_gssapi_client *, char **);
- void (*storecreds) (ssh_gssapi_client *);
- int (*updatecreds) (ssh_gssapi_ccache *, ssh_gssapi_client *);
-} ssh_gssapi_mech;
-
typedef struct {
OM_uint32 major; /* both */
OM_uint32 minor; /* both */
gss_cred_id_t client_creds; /* both */
} Gssctxt;
-extern ssh_gssapi_mech *supported_mechs[];
extern Gssctxt *gss_kex_context;
int ssh_gssapi_check_oid(Gssctxt *, void *, size_t);
void ssh_gssapi_set_oid_data(Gssctxt *, void *, size_t);
void ssh_gssapi_set_oid(Gssctxt *, gss_OID);
void ssh_gssapi_supported_oids(gss_OID_set *);
-ssh_gssapi_mech *ssh_gssapi_get_ctype(Gssctxt *);
OM_uint32 ssh_gssapi_import_name(Gssctxt *, const char *);
OM_uint32 ssh_gssapi_init_ctx(Gssctxt *, int,