X-Git-Url: http://www.privoxy.org/gitweb/?a=blobdiff_plain;f=project.h;h=3f9b5f18ab8e906897d854ab089f43b24b26f84e;hb=8a9bdbd7851dadf7a0732f848b5db24b40005cb6;hp=a0f5dc8d2724c2aee88c929bb9afda9d615ef6da;hpb=78fe2e2cb7ab8aa610492a1b975198e8748f9dbb;p=privoxy.git diff --git a/project.h b/project.h index a0f5dc8d..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.201 2013/11/24 14:26:16 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 @@ -566,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 /** @@ -603,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. */ @@ -724,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. @@ -846,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 @@ -1115,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 @@ -1234,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. */ @@ -1260,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;