X-Git-Url: http://www.privoxy.org/gitweb/?p=privoxy.git;a=blobdiff_plain;f=project.h;h=3f9b5f18ab8e906897d854ab089f43b24b26f84e;hp=8e0e9372dc81f2f06fb0c2a895b00e7bc6b58c66;hb=9b7080b29309193317a29c74d19e24069e43910f;hpb=74c6330838b7b06fb29fc7ead87f49e3f13f1bf2 diff --git a/project.h b/project.h index 8e0e9372..3f9b5f18 100644 --- a/project.h +++ b/project.h @@ -1,7 +1,7 @@ #ifndef PROJECT_H_INCLUDED #define PROJECT_H_INCLUDED /** Version string. */ -#define PROJECT_H_VERSION "$Id: project.h,v 1.199 2013/11/24 14:23:28 fabiankeil Exp $" +#define PROJECT_H_VERSION "$Id: project.h,v 1.207 2014/07/25 11:55:11 fabiankeil Exp $" /********************************************************************* * * File : $Source: /cvsroot/ijbswa/current/project.h,v $ @@ -10,7 +10,7 @@ * project. Does not define any variables or functions * (though it does declare some macros). * - * Copyright : Written by and Copyright (C) 2001-2012 the + * Copyright : Written by and Copyright (C) 2001-2014 the * Privoxy team. http://www.privoxy.org/ * * Based on the Internet Junkbuster originally written @@ -137,16 +137,19 @@ typedef int jb_socket; * A standard error code. This should be JB_ERR_OK or one of the JB_ERR_xxx * series of errors. */ -typedef int jb_err; +enum privoxy_err +{ + JB_ERR_OK = 0, /**< Success, no error */ + JB_ERR_MEMORY = 1, /**< Out of memory */ + JB_ERR_CGI_PARAMS = 2, /**< Missing or corrupt CGI parameters */ + JB_ERR_FILE = 3, /**< Error opening, reading or writing a file */ + JB_ERR_PARSE = 4, /**< Error parsing file */ + JB_ERR_MODIFIED = 5, /**< File has been modified outside of the + CGI actions editor. */ + JB_ERR_COMPRESS = 6 /**< Error on decompression */ +}; -#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_FILE 3 /**< Error opening, reading or writing a file */ -#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_COMPRESS 6 /**< Error on decompression */ +typedef enum privoxy_err jb_err; /** * This macro is used to free a pointer that may be NULL. @@ -196,14 +199,6 @@ typedef int jb_err; */ #define HOSTENT_BUFFER_SIZE 2048 -/** - * Do not use. Originally this was so that you can - * say "while (FOREVER) { ...do something... }". - * However, this gives a warning with some compilers (e.g. VC++). - * Instead, use "for (;;) { ...do something... }". - */ -#define FOREVER 1 - /** * Default TCP/IP address to listen on, as a string. * Set to "127.0.0.1:8118". @@ -571,7 +566,9 @@ struct iob /** Index into current_action_spec::multi[] for server-header tags to apply. */ #define ACTION_MULTI_SERVER_HEADER_TAGGER 5 /** Number of multi-string actions. */ -#define ACTION_MULTI_COUNT 6 +#define ACTION_MULTI_EXTERNAL_FILTER 6 +/** Number of multi-string actions. */ +#define ACTION_MULTI_COUNT 7 /** @@ -608,7 +605,7 @@ struct action_spec unsigned long add; /**< Actions to add. A bit set to "1" means add action. */ /** - * Paramaters for those actions that require them. + * Parameters for those actions that require them. * Each entry is valid if & only if the corresponding entry in "flags" is * set. */ @@ -729,11 +726,6 @@ struct reusable_connection */ #define CSP_FLAG_TOGGLED_ON 0x20U -/** - * Flag for csp->flags: Set if we answered the request ourselve. - */ -#define CSP_FLAG_CRUNCHED 0x40U - /** * Flag for csp->flags: Set if an acceptable Connection header * has already been set by the client. @@ -851,6 +843,16 @@ struct reusable_connection */ #define CSP_FLAG_CHUNKED_CLIENT_BODY 0x01000000U +/** + * Flag for csp->flags: Set if the client set the Expect header + */ +#define CSP_FLAG_UNSUPPORTED_CLIENT_EXPECTATION 0x02000000U + +/** + * Flag for csp->flags: Set if we answered the request ourselve. + */ +#define CSP_FLAG_CRUNCHED 0x04000000U + /* * Flags for use in return codes of child processes @@ -1120,9 +1122,17 @@ enum filter_type FT_SERVER_HEADER_FILTER = 2, FT_CLIENT_HEADER_TAGGER = 3, FT_SERVER_HEADER_TAGGER = 4, +#ifdef FEATURE_EXTERNAL_FILTERS + FT_EXTERNAL_CONTENT_FILTER = 5, +#endif FT_INVALID_FILTER = 42, }; + +#ifdef FEATURE_EXTERNAL_FILTERS +#define MAX_FILTER_TYPES 6 +#else #define MAX_FILTER_TYPES 5 +#endif /** * This struct represents one filter (one block) from @@ -1239,21 +1249,7 @@ struct configuration_spec /** Nonzero to enable multithreading. */ int multi_threaded; - /** - * Bitmask of features that can be enabled/disabled through the config - * file. Currently defined bits: - * - * - RUNTIME_FEATURE_CGI_EDIT_ACTIONS - * - RUNTIME_FEATURE_CGI_TOGGLE - * - RUNTIME_FEATURE_HTTP_TOGGLE - * - RUNTIME_FEATURE_SPLIT_LARGE_FORMS - * - RUNTIME_FEATURE_ACCEPT_INTERCEPTED_REQUESTS - * - RUNTIME_FEATURE_ENFORCE_BLOCKS - * - RUNTIME_FEATURE_CGI_CRUNCHING - * - RUNTIME_FEATURE_CONNECTION_KEEP_ALIVE - * - RUNTIME_FEATURE_CONNECTION_SHARING - * - RUNTIME_FEATURE_EMPTY_DOC_RETURNS_OK - */ + /** Bitmask of features that can be controlled through the config file. */ unsigned feature_flags; /** The log file name. */ @@ -1265,6 +1261,11 @@ struct configuration_spec /** The directory for customized CGI templates. */ const char *templdir; +#ifdef FEATURE_EXTERNAL_FILTERS + /** The template used to create temporary files. */ + const char *temporary_directory; +#endif + /** The log file directory. */ const char *logdir;