#ifndef PROJECT_H_INCLUDED
#define PROJECT_H_INCLUDED
/** Version string. */
-#define PROJECT_H_VERSION "$Id: project.h,v 1.88 2007/01/25 13:36:59 fabiankeil Exp $"
+#define PROJECT_H_VERSION "$Id: project.h,v 1.90 2007/02/07 10:36:16 fabiankeil Exp $"
/*********************************************************************
*
* File : $Source: /cvsroot/ijbswa/current/project.h,v $
*
* Revisions :
* $Log: project.h,v $
+ * Revision 1.90 2007/02/07 10:36:16 fabiankeil
+ * Add new http_response member to save
+ * the reason why the response was generated.
+ *
+ * Revision 1.89 2007/01/27 13:09:16 fabiankeil
+ * Add new config option "templdir" to
+ * change the templates directory.
+ *
* Revision 1.88 2007/01/25 13:36:59 fabiankeil
* Add csp->error_message for failure reasons
* that should be embedded into the CGI pages.
int dcount; /**< How many parts to this domain? (length of dvec) */
};
+/**
+ * Reasons for generating a http_response instead of delivering
+ * the requested resource. Mostly ordered the way they are checked
+ * for in chat().
+ */
+#define RSP_REASON_UNSUPPORTED 1
+#define RSP_REASON_BLOCKED 2
+#define RSP_REASON_UNTRUSTED 3
+#define RSP_REASON_REDIRECTED 4
+#define RSP_REASON_CGI_CALL 5
+#define RSP_REASON_NO_SUCH_DOMAIN 6
+#define RSP_REASON_FORWARDING_FAILED 7
+#define RSP_REASON_CONNECT_FAILED 8
+#define RSP_REASON_OUT_OF_MEMORY 9
+#define RSP_REASON_INTERNAL_ERROR 10
/**
* Response generated by CGI, blocker, or error handler
size_t content_length; /**< Length of body, REQUIRED if binary body. */
int is_static; /**< Nonzero if the content will never change and
should be cached by the browser (e.g. images). */
+ int reason; /**< Why the response was generated in the first place. */
};
/**
*/
#define CSP_FLAG_TOGGLED_ON 0x20
+/**
+ * Flag for csp->flags: Set if adding the 'Connection: close' header
+ * for the client isn't necessary.
+ */
+#define CSP_FLAG_CLIENT_CONNECTION_CLOSE_SET 0x00000040UL
+
+/**
+ * Flag for csp->flags: Set if adding the 'Connection: close' header
+ * for the server isn't necessary.
+ */
+#define CSP_FLAG_SERVER_CONNECTION_CLOSE_SET 0x00000080UL
+
+/**
+ * Flag for csp->flags: Signals header parsers whether they
+ * are parsing server or client headers.
+ */
+#define CSP_FLAG_CLIENT_HEADER_PARSING_DONE 0x00000100UL
+
+/**
+ * Flag for csp->flags: Set if adding the Host: header
+ * isn't necessary.
+ */
+#define CSP_FLAG_HOST_HEADER_IS_SET 0x00000200UL
+
/*
* Flags for use in return codes of child processes