#ifndef PROJECT_H_INCLUDED
#define PROJECT_H_INCLUDED
/** Version string. */
-#define PROJECT_H_VERSION "$Id: project.h,v 1.117 2008/08/30 12:03:07 fabiankeil Exp $"
+#define PROJECT_H_VERSION "$Id: project.h,v 1.119 2008/09/20 10:04:33 fabiankeil Exp $"
/*********************************************************************
*
* File : $Source: /cvsroot/ijbswa/current/project.h,v $
*
* Revisions :
* $Log: project.h,v $
+ * Revision 1.119 2008/09/20 10:04:33 fabiankeil
+ * Remove hide-forwarded-for-headers action which has
+ * been obsoleted by change-x-forwarded-for{block}.
+ *
+ * Revision 1.118 2008/09/19 15:26:29 fabiankeil
+ * Add change-x-forwarded-for{} action to block or add
+ * X-Forwarded-For headers. Mostly based on code removed
+ * before 3.0.7.
+ *
* Revision 1.117 2008/08/30 12:03:07 fabiankeil
* Remove FEATURE_COOKIE_JAR.
*
#define ACTION_DOWNGRADE 0x00000004UL
/** Action bitmap: Fast redirects. */
#define ACTION_FAST_REDIRECTS 0x00000008UL
-/** Action bitmap: Remove existing "Forwarded" header, and do not add another. */
-#define ACTION_HIDE_FORWARDED 0x00000010UL
+/** Action bitmap: Remove or add "X-Forwarded-For" header. */
+#define ACTION_CHANGE_X_FORWARDED_FOR 0x00000010UL
/** Action bitmap: Hide "From" header. */
#define ACTION_HIDE_FROM 0x00000020UL
/** Action bitmap: Hide "Referer" header. (sic - follow HTTP, not English). */
#define ACTION_OVERWRITE_LAST_MODIFIED 0x02000000UL
/** Action bitmap: Replace or block Accept-Language header */
#define ACTION_HIDE_ACCEPT_LANGUAGE 0x04000000UL
-/** Action bitmap: Remove or add "X-Forwarded-For" header. */
-#define ACTION_CHANGE_X_FORWARDED_FOR 0x08000000UL
/** Action string index: How to deanimate GIFs */
*/
#define CSP_FLAG_NO_FILTERING 0x00000400UL
+/**
+ * Flag for csp->flags: Set the client IP has appended to
+ * an already existing X-Forwarded-For header in which case
+ * no new header has to be generated.
+ */
+#define CSP_FLAG_X_FORWARDED_FOR_APPENDED 0x00000800UL
/*
* Flags for use in return codes of child processes
/** MIME-Type key, see CT_* above */
unsigned int content_type;
- /** The "X-Forwarded-For:" header sent by the client */
- /*
- * XXX: this is a hack that causes problems if
- * there's more than one X-Forwarded-For header.
- */
- char *x_forwarded_for;
-
/** Actions files associated with this client */
struct file_list *actions_list[MAX_AF_FILES];