Fix the error handling path so that it won't hand back an output
[mod_auth_kerb.git] / gss.h
diff --git a/gss.h b/gss.h
index cc055f8..4c01355 100644 (file)
--- a/gss.h
+++ b/gss.h
@@ -53,26 +53,43 @@ typedef struct {
 
 typedef struct gss_conn_ctx_t {
   gss_ctx_id_t context;
+  gss_cred_id_t server_creds;
   enum {
     GSS_CTX_EMPTY,
     GSS_CTX_IN_PROGRESS,
     GSS_CTX_FAILED,
     GSS_CTX_ESTABLISHED,
   } state;
+  enum {
+    GSS_FILT_NEW,
+    GSS_FILT_INPROGRESS,
+    GSS_FILT_ERROR,
+  } filter_stat;
+
   char *user;
-  gss_buffer_desc *output_token;
+  gss_buffer_desc output_token;
   unsigned int nonce;
 } *gss_conn_ctx;
 
 void
-gss_log(const char *file, int line, int level, int status,
-        const request_rec *r, const char *fmt, ...);
+gss_log(const char *file, 
+        int line,
+#if AP_SERVER_MAJORVERSION_NUMBER == 2 && AP_SERVER_MINORVERSION_NUMBER == 4
+        int module_index,
+#endif
+        int level,
+        int status,
+        const request_rec *r,
+        const char *fmt, ...);
 
 apr_status_t
-cleanup_conn_ctx(void *data);
+gss_cleanup_conn_ctx(void *data);
+
+gss_conn_ctx
+gss_retrieve_conn_ctx(request_rec *r);
 
 gss_conn_ctx
-gss_get_conn_ctx(request_rec *r);
+gss_create_conn_ctx(request_rec *r, gss_auth_config *conf);
 
 void *
 gss_config_dir_create(apr_pool_t *p, char *d);