X-Git-Url: http://andersk.mit.edu/gitweb/gssapi-openssh.git/blobdiff_plain/f97edba64d1fb2b28ac269fe588396643d271b7b..033af9549c8e22d8cfd355c4fd869ca63936ab66:/openssh/ssh-gss.h diff --git a/openssh/ssh-gss.h b/openssh/ssh-gss.h index 31d5a08..f0009c8 100644 --- a/openssh/ssh-gss.h +++ b/openssh/ssh-gss.h @@ -34,6 +34,7 @@ #include #endif +#ifndef MECHGLUE #ifdef KRB5 # ifndef HEIMDAL # ifdef HAVE_GSSAPI_GENERIC_H @@ -49,6 +50,7 @@ #endif /* GSS_C_NT_... */ #endif /* !HEIMDAL */ #endif /* KRB5 */ +#endif /* !MECHGLUE */ /* draft-ietf-secsh-gsskeyex-06 */ #define SSH2_MSG_USERAUTH_GSSAPI_RESPONSE 60 @@ -86,6 +88,7 @@ typedef struct { gss_name_t name; struct ssh_gssapi_mech_struct *mech; ssh_gssapi_ccache store; + gss_ctx_id_t context; int used; int updated; } ssh_gssapi_client; @@ -106,7 +109,7 @@ typedef struct { OM_uint32 minor; /* both */ gss_ctx_id_t context; /* both */ gss_name_t name; /* both */ - gss_OID oid; /* client */ + gss_OID oid; /* both */ gss_cred_id_t creds; /* server */ gss_name_t client; /* server */ gss_cred_id_t client_creds; /* both */ @@ -137,6 +140,9 @@ int ssh_gssapi_check_mechanism(Gssctxt **, gss_OID, const char *, const char *); OM_uint32 ssh_gssapi_client_identity(Gssctxt *, const char *); int ssh_gssapi_credentials_updated(Gssctxt *); +int ssh_gssapi_localname(char **name); +void ssh_gssapi_rekey_creds(); + /* In the server */ typedef int ssh_gssapi_check_fn(Gssctxt **, gss_OID, const char *, const char *); @@ -153,6 +159,13 @@ void ssh_gssapi_do_child(char ***, u_int *); void ssh_gssapi_cleanup_creds(void); void ssh_gssapi_storecreds(void); +#ifdef MECHGLUE +gss_cred_id_t __gss_get_mechanism_cred + (gss_cred_id_t, /* union_cred */ + gss_OID /* mech_type */ + ); +#endif + char *ssh_gssapi_server_mechanisms(void); int ssh_gssapi_oid_table_ok();