- Added Convenience function enlist_unique_header(),
[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.win,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.win,v $
41  *    Revision 1.1  2001/06/01 17:56:07  jongfoster
42  *    Removing generated files config.h and pcre/chartables.c
43  *    Now use a custom build step to copy config.h.win to config.h
44  *    New VC++ project pcre/vc_dftables.dsp will generate pcre/chartables.c
45  *    Also adding the new files list.[ch], actions.[ch] to the console build.
46  *
47  *    Revision 1.6  2001/05/29 09:50:24  jongfoster
48  *    Unified blocklist/imagelist/permissionslist.
49  *    File format is still under discussion, but the internal changes
50  *    are (mostly) done.
51  *
52  *    Also modified interceptor behaviour:
53  *    - We now intercept all URLs beginning with one of the following
54  *      prefixes (and *only* these prefixes):
55  *        * http://i.j.b/
56  *        * http://ijbswa.sf.net/config/
57  *        * http://ijbswa.sourceforge.net/config/
58  *    - New interceptors "home page" - go to http://i.j.b/ to see it.
59  *    - Internal changes so that intercepted and fast redirect pages
60  *      are not replaced with an image.
61  *    - Interceptors now have the option to send a binary page direct
62  *      to the client. (i.e. ijb-send-banner uses this)
63  *    - Implemented show-url-info interceptor.  (Which is why I needed
64  *      the above interceptors changes - a typical URL is
65  *      "http://i.j.b/show-url-info?url=www.somesite.com/banner.gif".
66  *      The previous mechanism would not have intercepted that, and
67  *      if it had been intercepted then it then it would have replaced
68  *      it with an image.)
69  *
70  *    Revision 1.5  2001/05/26 00:28:36  jongfoster
71  *    Automatic reloading of config file.
72  *    Removed obsolete SIGHUP support (Unix) and Reload menu option (Win32).
73  *    Most of the global variables have been moved to a new
74  *    struct configuration_spec, accessed through csp->config->globalname
75  *    Most of the globals remaining are used by the Win32 GUI.
76  *
77  *    Revision 1.4  2001/05/25 22:17:28  jongfoster
78  *    Resurrecting these files which are required for the MS Visual C++
79  *    build only.
80  *
81  *    Revision 1.2  2001/05/20 01:21:20  jongfoster
82  *    Version 2.9.4 checkin.
83  *    - Merged popupfile and cookiefile, and added control over PCRS
84  *      filtering, in new "permissionsfile".
85  *    - Implemented LOG_LEVEL_FATAL, so that if there is a configuration
86  *      file error you now get a message box (in the Win32 GUI) rather
87  *      than the program exiting with no explanation.
88  *    - Made killpopup use the PCRS MIME-type checking and HTTP-header
89  *      skipping.
90  *    - Removed tabs from "config"
91  *    - Moved duplicated url parsing code in "loaders.c" to a new funcition.
92  *    - Bumped up version number.
93  *
94  *    Revision 1.1.1.1  2001/05/15 13:58:49  oes
95  *    Initial import of version 2.9.3 source tree
96  *
97  *
98  *********************************************************************/
99 \f
100
101 /* Define to empty if the keyword does not work.  */
102 /* #undef const */
103
104 /* Define to `unsigned' if <sys/types.h> doesn't define.  */
105 /* #undef size_t */
106
107 /* Define if you have the ANSI C header files.  */
108 #define STDC_HEADERS 1
109
110 /*
111  * Version number - Major (X._._)
112  */
113 #define VERSION_MAJOR 2
114
115 /*
116  * Version number - Minor (_.X._)
117  */
118 #define VERSION_MINOR 9
119
120 /*
121  * Version number - Point (_._.X)
122  */
123 #define VERSION_POINT 4
124
125 /*
126  * Version number, as a string
127  */
128 #define VERSION "2.9.4"
129
130 /*
131  * Status of the code: alpha, beta or stable
132  */
133 #define CODE_STATUS "alpha"
134
135 /*
136  * Regular expression matching for URLs.  (Highly recommended).  If this is 
137  * not defined then you can ony use prefix matching.
138  */
139 #define REGEX 1
140
141 /*
142  * Allow JunkBuster to be "disabled" so it is just a normal non-blocking
143  * non-anonymizing proxy.  This is useful if you're trying to access a
144  * blocked or broken site - just change the setting in the config file
145  * and send a SIGHUP (UN*X), or use the handy "Disable" menu option (Windows
146  * GUI).
147  */
148 #define TOGGLE 1
149
150 /*
151  * Enables arbitrary content modification regexps
152  */
153 #define PCRS 1
154
155 /*
156  * If a stream is compressed via gzip (Netscape specific I think), then
157  * it cannot be modified with Perl regexps.  This forces it to be 
158  * uncompressed.
159  */
160 #define DENY_GZIP 1
161
162 /*
163  * Enables statistics function.
164  */
165 #define STATISTICS 1
166
167 /*
168  * Bypass filtering for 1 page only
169  */
170 #define FORCE_LOAD 1
171
172 /*
173  * Locally redirect remote script-redirect URLs
174  */
175 #define FAST_REDIRECTS 1
176
177 /*
178  * Split the show-proxy-args page into a page for each config file.
179  */
180 #define SPLIT_PROXY_ARGS 1
181
182 /*
183  * Kills JavaScript popups - window.open, onunload, etc.
184  */
185 #define KILLPOPUPS 1
186
187 /*
188  * Support for webDAV - e.g. so Microsoft Outlook can access HotMail e-mail
189  */
190 #define WEBDAV 1
191
192 /*
193  * Detect image requests automatically for MSIE.  Will fall back to
194  * other image-detection methods (i.e. "+image" permission) for other
195  * browsers.
196  *
197  * You must also define IMAGE_BLOCKING to use this feature.
198  *
199  * It detects the following header pair as an image request:
200  *
201  * User-Agent: Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0)
202  * Accept: * / *
203  *
204  * And the following as a HTML request:
205  *
206  * User-Agent: Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0)
207  * Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, * / *
208  *
209  * And no, I haven't got that backwards - IE is being wierd.
210  *
211  * Known limitations: 
212  * 1) If you press shift-reload on a blocked HTML page, you get
213  *    the image "blocked" page, not the HTML "blocked" page.
214  * 2) Once an image "blocked" page has been sent, viewing it 
215  *    in it's own browser window *should* bring up the HTML
216  *    "blocked" page, but it doesn't.  You need to clear the 
217  *    browser cache to get the HTML version again.
218  *
219  * These limitations are due to IE making inconsistent choices
220  * about which "Accept:" header to send.
221  */
222 #define DETECT_MSIE_IMAGES 1
223
224 /*
225  * Allow blocking using images as well as HTML.
226  * If you do not define this then everything is blocked as HTML.
227  *
228  * Note that this is required if you want to use DETECT_MSIE_IMAGES.
229  */
230 #define IMAGE_BLOCKING 1
231
232 /*
233  * Allows the use of ACL files to control access to the proxy by IP address.
234  */
235 #define ACL_FILES 1
236
237 /*
238  * Allows the use of trust files.
239  */
240 #define TRUST_FILES 1
241
242 /*
243  * Allows the use of jar files to capture cookies.
244  */
245 #define JAR_FILES 1
246
247 /*
248  * Use PCRE rather than GNU Regex
249  */
250 #define PCRE 1
251
252 /* Define if you have the bcopy function.  */
253 #define HAVE_BCOPY 1
254
255 /* Define if you have the memmove function.  */
256 #define HAVE_MEMMOVE 1
257
258 /* Define if you have the strerror function.  */
259 #define HAVE_STRERROR 1
260
261 #endif /* _CONFIG_H */