#ifndef PROJECT_H_INCLUDED
#define PROJECT_H_INCLUDED
/** Version string. */
-#define PROJECT_H_VERSION "$Id: project.h,v 1.72 2002/05/14 21:35:49 oes Exp $"
+#define PROJECT_H_VERSION "$Id: project.h,v 2.2 2002/07/12 04:26:17 agotneja Exp $"
/*********************************************************************
*
- * File : $Source: /cvsroot/ijbswa/current/project.h,v $
+ * File : $Source: /cvsroot/ijbswa//current/src/project.h,v $
*
* Purpose : Defines data structures which are widely used in the
* project. Does not define any variables or functions
*
* Revisions :
* $Log: project.h,v $
+ * Revision 2.2 2002/07/12 04:26:17 agotneja
+ * Re-factored 'chat()' to become understandable and maintainable as
+ * a first step in adding Transparent Proxy functionality.
+ *
+ * Added several new static functions in jcc.c, and moved some data
+ * parameters up into project.h to allow them to be passed between
+ * the new functions.
+ *
+ * Revision 2.1 2002/06/04 16:35:56 jongfoster
+ * Moving three variable declarations to jcc.c from project.h
+ *
+ * Revision 2.0 2002/06/04 14:34:21 jongfoster
+ * Moving source files to src/
+ *
* Revision 1.72 2002/05/14 21:35:49 oes
* Split HELP_LINK_PREFIX into ACTIONS_HELP_PREFIX and CONFIG_HELP_PREFIX
* because of split in user-manual
/* Need time_t for file_list */
#include <time.h>
+/* Needed for pcre choice */
+#include "config.h"
/*
* Include appropriate regular expression libraries.
#ifdef STATIC_PCRE
# include "pcre.h"
#else
-# include <pcre.h>
+# ifdef PCRE_H_IN_SUBDIR
+# include <pcre/pcre.h>
+# else
+# include <pcre.h>
+# endif
#endif
#ifdef STATIC_PCRS
#ifdef STATIC_PCRE
# include "pcreposix.h"
#else
-# include <pcreposix.h>
+# ifdef PCRE_H_IN_SUBDIR
+# include <pcre/pcreposix.h>
+# else
+# include <pcreposix.h>
+# endif
#endif
#ifdef AMIGA
*/
typedef int jb_err;
+#define JB_ERR_GENERIC -1 /* General error return value */
#define JB_ERR_OK 0 /**< Success, no error */
#define JB_ERR_MEMORY 1 /**< Out of memory */
#define JB_ERR_CGI_PARAMS 2 /**< Missing or corrupt CGI parameters */
#define JB_ERR_PARSE 4 /**< Error parsing file */
#define JB_ERR_MODIFIED 5 /**< File has been modified outside of the
CGI actions editor. */
-
+#define JB_ERR_INTERCEPT 6 /* This page should be intercepted */
/**
* This macro is used to free a pointer that may be NULL.
char *dbuffer; /**< Buffer with '\0'-delimited domain name. */
char **dvec; /**< List of pointers to the strings in dbuffer. */
int dcount; /**< How many parts to this domain? (length of dvec) */
+
+ const struct forward_spec *fwd ;
+
};
/** Next thread in linked list. Only read or modify from the main thread! */
struct client_state *next;
+
+ char *(*content_filter)() ;
+ int all_headers_read ;
+
};
#define CGI_PREFIX "http://" CGI_SITE_2_HOST CGI_SITE_2_PATH "/"
-/* HTTP snipplets.
- *
- * FIXME: This is very inefficient. There could be one copy of these strings
- * for each .c file!! They should be "extern", not "static".
- */
-static const char CSUCCEED[] =
- "HTTP/1.0 200 Connection established\n"
- "Proxy-Agent: Privoxy/" VERSION "\r\n\r\n";
-
-static const char CHEADER[] =
- "HTTP/1.0 400 Invalid header received from browser\r\n\r\n";
-
-static const char CFORBIDDEN[] =
- "HTTP/1.0 403 Connection not allowable\r\nX-Hint: If you read this message interactively, then you know why this happens ,-)\r\n\r\n";
-
#ifdef __cplusplus
} /* extern "C" */
#endif