-const char parsers_rcs[] = "$Id: parsers.c,v 1.101 2007/05/14 10:16:41 fabiankeil Exp $";
+const char parsers_rcs[] = "$Id: parsers.c,v 1.102 2007/05/27 12:39:32 fabiankeil Exp $";
/*********************************************************************
*
* File : $Source: /cvsroot/ijbswa/current/parsers.c,v $
*
* Revisions :
* $Log: parsers.c,v $
+ * Revision 1.102 2007/05/27 12:39:32 fabiankeil
+ * Adjust "X-Filter: No" to disable dedicated header filters.
+ *
* Revision 1.101 2007/05/14 10:16:41 fabiankeil
* Streamline client_cookie_adder().
*
* headers (client or server)
* 3 : csp = Current client state (buffers, headers, etc...)
*
- * Returns : Single pointer to a fully formed header, or NULL
- * on out-of-memory error.
+ * Returns : JB_ERR_OK in case off success, or
+ * JB_ERR_MEMORY on out-of-memory error.
*
*********************************************************************/
-char *sed(const struct parsers pats[],
- const add_header_func_ptr more_headers[],
- struct client_state *csp)
+jb_err sed(const struct parsers pats[],
+ const add_header_func_ptr more_headers[],
+ struct client_state *csp)
{
struct list_entry *p;
const struct parsers *v;
}
}
- if (err != JB_ERR_OK)
- {
- return NULL;
- }
-
- return list_to_text(csp->headers);
+ return err;
}
#ifndef PARSERS_H_INCLUDED
#define PARSERS_H_INCLUDED
-#define PARSERS_H_VERSION "$Id: parsers.h,v 1.37 2007/03/20 15:22:17 fabiankeil Exp $"
+#define PARSERS_H_VERSION "$Id: parsers.h,v 1.38 2007/03/25 14:27:11 fabiankeil Exp $"
/*********************************************************************
*
* File : $Source: /cvsroot/ijbswa/current/parsers.h,v $
*
* Revisions :
* $Log: parsers.h,v $
+ * Revision 1.38 2007/03/25 14:27:11 fabiankeil
+ * Let parse_header_time() return a jb_err code
+ * instead of a pointer that can only be used to
+ * check for NULL anyway.
+ *
* Revision 1.37 2007/03/20 15:22:17 fabiankeil
* - Remove filter_client_header() and filter_client_header(),
* filter_header() now checks the shiny new
extern jb_err decompress_iob(struct client_state *csp);
extern char *get_header(struct client_state *csp);
extern char *get_header_value(const struct list *header_list, const char *header_name);
-extern char *sed(const struct parsers pats[], const add_header_func_ptr more_headers[], struct client_state *csp);
+extern jb_err sed(const struct parsers pats[], const add_header_func_ptr more_headers[], struct client_state *csp);
extern void get_http_time(int time_offset, char *buf);
extern jb_err parse_header_time(const char *header_time, time_t *result);
extern jb_err get_destination_from_headers(const struct list *headers, struct http_request *http);
/* XXX: Why do we export these anyway? */
extern jb_err crumble (struct client_state *csp, char **header);
extern jb_err connection (struct client_state *csp, char **header);
-extern jb_err filter_header (struct client_state *csp, char **header);
+extern jb_err filter_header (struct client_state *csp, char **header);
extern jb_err client_referrer (struct client_state *csp, char **header);
extern jb_err client_uagent (struct client_state *csp, char **header);