static void create(ne_request *req, void *session, const char *method, const char *uri) { struct redirect *red = session; NE_FREE(red->location); NE_FREE(red->requri); red->requri = ne_strdup(uri); ne_add_response_header_handler(req, "Location", ne_duplicate_header, &red->location); }
static void clean_session(auth_session *sess) { sess->can_handle = 0; NE_FREE(sess->basic); NE_FREE(sess->nonce); NE_FREE(sess->cnonce); NE_FREE(sess->opaque); NE_FREE(sess->realm); #ifdef HAVE_GSSAPI { unsigned int major; if (sess->gssctx != GSS_C_NO_CONTEXT) gss_delete_sec_context(&major, &sess->gssctx, GSS_C_NO_BUFFER); } NE_FREE(sess->gssapi_token); #endif #ifdef HAVE_SSPI NE_FREE(sess->sspi_token); ne_sspi_destroy_context(sess->sspi_context); sess->sspi_context = NULL; #endif }