X-Git-Url: http://www.project-moonshot.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=mod_auth_gssapi.h;fp=mod_auth_gssapi.h;h=a8f8a8dc85f9cf6d2d9c4cb9f6a7960d985c712e;hb=5e863ddff6ef99a59acfb3c41f0b86ebc1468be7;hp=0000000000000000000000000000000000000000;hpb=7c92ff8cae4ec80da12dec0304b4fcef3fc30e14;p=mod_auth_kerb.git diff --git a/mod_auth_gssapi.h b/mod_auth_gssapi.h new file mode 100644 index 0000000..a8f8a8d --- /dev/null +++ b/mod_auth_gssapi.h @@ -0,0 +1,46 @@ +#ifndef __MOD_AUTH_GSSAPI_H__ +#define __MOD_AUTH_GSSAPI_H__ + +#include +#include +#include +#include +#include +#include + +#include +#include + +#include +/* XXX */ +#define GSS_KRB5_NT_PRINCIPAL_NAME 0xdeaddead + +#ifndef GSSAPI_SUPPORTS_SPNEGO +#include "spnegokrb5.h" +#endif + +#define SERVICE_NAME "HTTP" + +typedef struct { + const char *service_name; + const char *krb5_keytab; +} gss_auth_config; + +typedef struct gss_conn_ctx_t { + gss_ctx_id_t context; + enum { + GSS_CTX_EMPTY, + GSS_CTX_IN_PROGRESS, + GSS_CTX_ESTABLISHED, + } state; + char *user; +} *gss_conn_ctx; + +void +gss_log(const char *file, int line, int level, int status, + const request_rec *r, const char *fmt, ...); + +int +gss_authenticate(request_rec *r, gss_auth_config *conf, gss_conn_ctx ctx, + const char *auth_line, char **negotiate_ret_value); +#endif