Merging ACL and forward files into config file.
[privoxy.git] / config.h.win
1 /* config.h.win - Microsoft Visual C++ version of config.h  */
2 #ifndef _CONFIG_H
3 #define _CONFIG_H
4 /*********************************************************************
5  *
6  * File        :  $Source: /cvsroot/ijbswa/current/config.h,v $
7  *
8  * Purpose     :  This file should be the first thing included in every
9  *                .c file.  (Before even system headers).  It contains 
10  *                #define statements for various features.  It was
11  *                introduced because the compile command line started
12  *                getting ludicrously long with feature defines.
13  *
14  * Copyright   :  Written by and Copyright (C) 2001 the SourceForge
15  *                IJBSWA team.  http://ijbswa.sourceforge.net
16  *
17  *                Based on the Internet Junkbuster originally written
18  *                by and Copyright (C) 1997 Anonymous Coders and 
19  *                Junkbusters Corporation.  http://www.junkbusters.com
20  *
21  *                This program is free software; you can redistribute it 
22  *                and/or modify it under the terms of the GNU General
23  *                Public License as published by the Free Software
24  *                Foundation; either version 2 of the License, or (at
25  *                your option) any later version.
26  *
27  *                This program is distributed in the hope that it will
28  *                be useful, but WITHOUT ANY WARRANTY; without even the
29  *                implied warranty of MERCHANTABILITY or FITNESS FOR A
30  *                PARTICULAR PURPOSE.  See the GNU General Public
31  *                License for more details.
32  *
33  *                The GNU General Public License should be included with
34  *                this file.  If not, you can view it at
35  *                http://www.gnu.org/copyleft/gpl.html
36  *                or write to the Free Software Foundation, Inc., 59
37  *                Temple Place - Suite 330, Boston, MA  02111-1307, USA.
38  *
39  * Revisions   :
40  *    $Log: config.h,v $
41  *    Revision 1.6  2001/05/29 09:50:24  jongfoster
42  *    Unified blocklist/imagelist/permissionslist.
43  *    File format is still under discussion, but the internal changes
44  *    are (mostly) done.
45  *
46  *    Also modified interceptor behaviour:
47  *    - We now intercept all URLs beginning with one of the following
48  *      prefixes (and *only* these prefixes):
49  *        * http://i.j.b/
50  *        * http://ijbswa.sf.net/config/
51  *        * http://ijbswa.sourceforge.net/config/
52  *    - New interceptors "home page" - go to http://i.j.b/ to see it.
53  *    - Internal changes so that intercepted and fast redirect pages
54  *      are not replaced with an image.
55  *    - Interceptors now have the option to send a binary page direct
56  *      to the client. (i.e. ijb-send-banner uses this)
57  *    - Implemented show-url-info interceptor.  (Which is why I needed
58  *      the above interceptors changes - a typical URL is
59  *      "http://i.j.b/show-url-info?url=www.somesite.com/banner.gif".
60  *      The previous mechanism would not have intercepted that, and
61  *      if it had been intercepted then it then it would have replaced
62  *      it with an image.)
63  *
64  *    Revision 1.5  2001/05/26 00:28:36  jongfoster
65  *    Automatic reloading of config file.
66  *    Removed obsolete SIGHUP support (Unix) and Reload menu option (Win32).
67  *    Most of the global variables have been moved to a new
68  *    struct configuration_spec, accessed through csp->config->globalname
69  *    Most of the globals remaining are used by the Win32 GUI.
70  *
71  *    Revision 1.4  2001/05/25 22:17:28  jongfoster
72  *    Resurrecting these files which are required for the MS Visual C++
73  *    build only.
74  *
75  *    Revision 1.2  2001/05/20 01:21:20  jongfoster
76  *    Version 2.9.4 checkin.
77  *    - Merged popupfile and cookiefile, and added control over PCRS
78  *      filtering, in new "permissionsfile".
79  *    - Implemented LOG_LEVEL_FATAL, so that if there is a configuration
80  *      file error you now get a message box (in the Win32 GUI) rather
81  *      than the program exiting with no explanation.
82  *    - Made killpopup use the PCRS MIME-type checking and HTTP-header
83  *      skipping.
84  *    - Removed tabs from "config"
85  *    - Moved duplicated url parsing code in "loaders.c" to a new funcition.
86  *    - Bumped up version number.
87  *
88  *    Revision 1.1.1.1  2001/05/15 13:58:49  oes
89  *    Initial import of version 2.9.3 source tree
90  *
91  *
92  *********************************************************************/
93 \f
94
95 /* Define to empty if the keyword does not work.  */
96 /* #undef const */
97
98 /* Define to `unsigned' if <sys/types.h> doesn't define.  */
99 /* #undef size_t */
100
101 /* Define if you have the ANSI C header files.  */
102 #define STDC_HEADERS 1
103
104 /*
105  * Version number - Major (X._._)
106  */
107 #define VERSION_MAJOR 2
108
109 /*
110  * Version number - Minor (_.X._)
111  */
112 #define VERSION_MINOR 9
113
114 /*
115  * Version number - Point (_._.X)
116  */
117 #define VERSION_POINT 4
118
119 /*
120  * Version number, as a string
121  */
122 #define VERSION "2.9.4"
123
124 /*
125  * Regular expression matching for URLs.  (Highly recommended).  If this is 
126  * not defined then you can ony use prefix matching.
127  */
128 #define REGEX 1
129
130 /*
131  * Allow JunkBuster to be "disabled" so it is just a normal non-blocking
132  * non-anonymizing proxy.  This is useful if you're trying to access a
133  * blocked or broken site - just change the setting in the config file
134  * and send a SIGHUP (UN*X), or use the handy "Disable" menu option (Windows
135  * GUI).
136  */
137 #define TOGGLE 1
138
139 /*
140  * Enables arbitrary content modification regexps
141  */
142 #define PCRS 1
143
144 /*
145  * If a stream is compressed via gzip (Netscape specific I think), then
146  * it cannot be modified with Perl regexps.  This forces it to be 
147  * uncompressed.
148  */
149 #define DENY_GZIP 1
150
151 /*
152  * Enables statistics function.
153  */
154 #define STATISTICS 1
155
156 /*
157  * Bypass filtering for 1 page only
158  */
159 #define FORCE_LOAD 1
160
161 /*
162  * Locally redirect remote script-redirect URLs
163  */
164 #define FAST_REDIRECTS 1
165
166 /*
167  * Split the show-proxy-args page into a page for each config file.
168  */
169 #define SPLIT_PROXY_ARGS 1
170
171 /*
172  * Kills JavaScript popups - window.open, onunload, etc.
173  */
174 #define KILLPOPUPS 1
175
176 /*
177  * Support for webDAV - e.g. so Microsoft Outlook can access HotMail e-mail
178  */
179 #define WEBDAV 1
180
181 /*
182  * Detect image requests automatically for MSIE.  Will fall back to
183  * other image-detection methods (i.e. "+image" permission) for other
184  * browsers.
185  *
186  * You must also define IMAGE_BLOCKING to use this feature.
187  *
188  * It detects the following header pair as an image request:
189  *
190  * User-Agent: Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0)
191  * Accept: * / *
192  *
193  * And the following as a HTML request:
194  *
195  * User-Agent: Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0)
196  * Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, * / *
197  *
198  * And no, I haven't got that backwards - IE is being wierd.
199  *
200  * Known limitations: 
201  * 1) If you press shift-reload on a blocked HTML page, you get
202  *    the image "blocked" page, not the HTML "blocked" page.
203  * 2) Once an image "blocked" page has been sent, viewing it 
204  *    in it's own browser window *should* bring up the HTML
205  *    "blocked" page, but it doesn't.  You need to clear the 
206  *    browser cache to get the HTML version again.
207  *
208  * These limitations are due to IE making inconsistent choices
209  * about which "Accept:" header to send.
210  */
211 #define DETECT_MSIE_IMAGES 1
212
213 /*
214  * Allow blocking using images as well as HTML.
215  * If you do not define this then everything is blocked as HTML.
216  *
217  * Note that this is required if you want to use DETECT_MSIE_IMAGES.
218  */
219 #define IMAGE_BLOCKING 1
220
221 /*
222  * Allows the use of ACL files to control access to the proxy by IP address.
223  */
224 #define ACL_FILES 1
225
226 /*
227  * Allows the use of trust files.
228  */
229 #define TRUST_FILES 1
230
231 /*
232  * Allows the use of jar files to capture cookies.
233  */
234 #define JAR_FILES 1
235
236 /*
237  * Use PCRE rather than GNU Regex
238  */
239 #define PCRE 1
240
241 /* Define if you have the bcopy function.  */
242 #define HAVE_BCOPY 1
243
244 /* Define if you have the memmove function.  */
245 #define HAVE_MEMMOVE 1
246
247 /* Define if you have the strerror function.  */
248 #define HAVE_STRERROR 1
249
250 #endif /* _CONFIG_H */