-
Notifications
You must be signed in to change notification settings - Fork 5
/
vc_config_winthreads.h
481 lines (422 loc) · 15.4 KB
/
vc_config_winthreads.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
#ifndef CONFIG_H_INCLUDED
#define CONFIG_H_INCLUDED
/*********************************************************************
*
* File : $Source: /cvsroot/ijbswa/current/Attic/vc_config_winthreads.h,v $
*
* Purpose : This file should be the first thing included in every
* .c file. (Before even system headers). It contains
* #define statements for various features. It was
* introduced because the compile command line started
* getting ludicrously long with feature defines.
*
* Copyright : Written by and Copyright (C) 2001 the SourceForge
* Privoxy team. http://www.privoxy.org/
*
* Based on the Internet Junkbuster originally written
* by and Copyright (C) 1997 Anonymous Coders and
* Junkbusters Corporation. http://www.junkbusters.com
*
* This program is free software; you can redistribute it
* and/or modify it under the terms of the GNU General
* Public License as published by the Free Software
* Foundation; either version 2 of the License, or (at
* your option) any later version.
*
* This program is distributed in the hope that it will
* be useful, but WITHOUT ANY WARRANTY; without even the
* implied warranty of MERCHANTABILITY or FITNESS FOR A
* PARTICULAR PURPOSE. See the GNU General Public
* License for more details.
*
* The GNU General Public License should be included with
* this file. If not, you can view it at
* http://www.gnu.org/copyleft/gpl.html
* or write to the Free Software Foundation, Inc., 59
* Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*
* Revisions :
* $Log: vc_config_winthreads.h,v $
* Revision 1.3 2002/05/03 22:54:24 jongfoster
* Version number bump to 2.9.15
*
* Revision 1.2 2002/04/26 18:26:09 jongfoster
* Bumping version numbers
*
* Revision 1.1 2002/04/06 20:38:01 jongfoster
* Renaming VC++ versions of config.h
*
* Revision 1.14 2002/03/26 22:29:54 swa
* we have a new homepage!
*
* Revision 1.13 2002/03/24 17:08:12 jongfoster
* Version number bump
*
* Revision 1.12 2002/03/24 13:25:43 swa
* name change related issues
*
* Revision 1.11 2002/03/16 14:27:22 jongfoster
* Ignoring a very common warning.
*
* Revision 1.10 2002/03/13 00:28:32 jongfoster
* Hiding all the warnings generated by #include<windows.h>
*
* Revision 1.9 2001/11/30 21:35:54 jongfoster
* Bumping version number to 2.9.10
*
* Revision 1.8 2001/10/23 21:24:09 jongfoster
* Support for FEATURE_CGI_EDIT_ACTIONS
*
* Revision 1.7 2001/10/07 15:33:14 oes
* Removed FEATURE_DENY_GZIP
* Bumped up version number
*
* Revision 1.6 2001/09/16 16:59:34 jongfoster
* Bugfix - couldn't build resources with previous version.
*
* Revision 1.5 2001/09/16 16:19:02 jongfoster
* New version based on latest configure.in and acconfig.h
*
* Revision 1.9 2001/07/30 22:16:07 jongfoster
* Tidying up #defines:
* - All feature #defines are now of the form FEATURE_xxx
* - Permanently turned off WIN_GUI_EDIT
* - Permanently turned on WEBDAV and SPLIT_PROXY_ARGS
*
* Revision 1.8 2001/07/25 19:16:27 oes
* Bumping version number to 2.9.8
*
* Revision 1.7 2001/07/21 18:00:07 jongfoster
* Bumping version number to 2.9.7
*
* Revision 1.6 2001/07/15 20:08:40 jongfoster
* New build files for VC++ which provide the option of POSIX
* or Win32 threads.
*
* Revision 1.5 2001/07/15 18:00:46 jongfoster
* Renaming STATIC to STATIC_PCRE.
* Replacing this file with one built by "configure" from
* "config.h.in", for consistency.
*
* Revision 1.6 2001/07/15 17:54:29 jongfoster
* Renaming #define STATIC to STATIC_PCRE
* Adding new #define FEATURE_PTHREAD that will be used to enable
* POSIX threads support.
*
* Revision 1.5 2001/07/13 13:48:37 oes
* - (Fix:) Copied CODE_STATUS #define from config.h.in
* - split REGEX #define into REGEX_GNU and REGEX_PCRE
* and removed PCRE.
* (REGEX = REGEX_GNU || REGEX_PCRE per project.h)
* - Moved STATIC (for pcre) here from Makefile.in
* - Introduced STATIC_PCRS #define to allow for dynaimc linking with
* libpcrs
* - Removed PCRS #define, since pcrs is now needed for CGI anyway
*
* Revision 1.4 2001/05/29 09:50:24 jongfoster
* Unified blocklist/imagelist/permissionslist.
* File format is still under discussion, but the internal changes
* are (mostly) done.
*
* Also modified interceptor behaviour:
* - We now intercept all URLs beginning with one of the following
* prefixes (and *only* these prefixes):
* * http://i.j.b/
* * http://ijbswa.sf.net/config/
* * http://ijbswa.sourceforge.net/config/
* - New interceptors "home page" - go to http://i.j.b/ to see it.
* - Internal changes so that intercepted and fast redirect pages
* are not replaced with an image.
* - Interceptors now have the option to send a binary page direct
* to the client. (i.e. ijb-send-banner uses this)
* - Implemented show-url-info interceptor. (Which is why I needed
* the above interceptors changes - a typical URL is
* "http://i.j.b/show-url-info?url=www.somesite.com/banner.gif".
* The previous mechanism would not have intercepted that, and
* if it had been intercepted then it then it would have replaced
* it with an image.)
*
* Revision 1.3 2001/05/26 01:26:34 jongfoster
* New #define, WIN_GUI_EDIT, enables the (embryonic) Win32 GUI editor.
* This #define cannot be set from ./configure - there's no point, it
* doesn't work yet. See feature request # 425722
*
* Revision 1.2 2001/05/22 17:43:35 oes
*
* - Enabled filtering banners by size rather than URL
* by adding patterns that replace all standard banner
* sizes with the "Junkbuster" gif to the re_filterfile
*
* - Enabled filtering WebBugs by providing a pattern
* which kills all 1x1 images
*
* - Added support for PCRE_UNGREEDY behaviour to pcrs,
* which is selected by the (nonstandard and therefore
* capital) letter 'U' in the option string.
* It causes the quantifiers to be ungreedy by default.
* Appending a ? turns back to greedy (!).
*
* - Added a new interceptor ijb-send-banner, which
* sends back the "Junkbuster" gif. Without imagelist or
* MSIE detection support, or if tinygif = 1, or the
* URL isn't recognized as an imageurl, a lame HTML
* explanation is sent instead.
*
* - Added new feature, which permits blocking remote
* script redirects and firing back a local redirect
* to the browser.
* The feature is conditionally compiled, i.e. it
* can be disabled with --disable-fast-redirects,
* plus it must be activated by a "fast-redirects"
* line in the config file, has its own log level
* and of course wants to be displayed by show-proxy-args
* Note: Boy, all the #ifdefs in 1001 locations and
* all the fumbling with configure.in and acconfig.h
* were *way* more work than the feature itself :-(
*
* - Because a generic redirect template was needed for
* this, tinygif = 3 now uses the same.
*
* - Moved GIFs, and other static HTTP response templates
* to project.h
*
* - Many minor fixes
*
* - Removed some >400 CRs again (Jon, you really worked
* a lot! ;-)
*
* Revision 1.1.1.1 2001/05/15 13:58:45 oes
* Initial import of version 2.9.3 source tree
*
*
*********************************************************************/
/*
* Version number - Major (X._._)
*/
#define VERSION_MAJOR 2
/*
* Version number - Minor (_.X._)
*/
#define VERSION_MINOR 9
/*
* Version number - Point (_._.X)
*/
#define VERSION_POINT 15
/*
* Version number, as a string
*/
#define VERSION "2.9.15"
/*
* Status of the code: alpha, beta or stable
*/
#define CODE_STATUS "beta"
/*
* Regular expression matching for URLs. (Highly recommended).
* If neither of these are defined then you can ony use prefix matching.
* Don't bother to change this here! Use configure instead.
*/
/* #define REGEX_GNU 1 */
#define REGEX_PCRE 1
/*
* Should pcre be statically built in instead of linkling with libpcre?
* (This is determined by configure depending on the availiability of
* libpcre and user preferences). The name is ugly, but pcre needs it.
* Don't bother to change this here! Use configure instead.
*/
#define STATIC_PCRE 1
/*
* Should pcrs be statically built in instead of linkling with libpcrs?
* (This is determined by configure depending on the availiability of
* libpcrs and user preferences).
* Don't bother to change this here! Use configure instead.
*/
#define STATIC_PCRS 1
/*
* Allows the use of an ACL to control access to the proxy by IP address.
*/
#define FEATURE_ACL 1
/*
* Enables the web-based configuration (actionsfile) editor. If you
* have a shared proxy, you might want to turn this off.
*/
#define FEATURE_CGI_EDIT_ACTIONS 1
/*
* Allows the use of jar files to capture cookies.
*/
#define FEATURE_COOKIE_JAR 1
/*
* Locally redirect remote script-redirect URLs
*/
#define FEATURE_FAST_REDIRECTS 1
/*
* Bypass filtering for 1 page only
*/
#define FEATURE_FORCE_LOAD 1
/*
* Allow blocking using images as well as HTML.
* If you do not define this then everything is blocked as HTML.
*
* Note that this is required if you want to use FEATURE_IMAGE_DETECT_MSIE.
*/
#define FEATURE_IMAGE_BLOCKING 1
/*
* Detect image requests automatically for MSIE. Will fall back to
* other image-detection methods (i.e. "+image" permission) for other
* browsers.
*
* You must also define FEATURE_IMAGE_BLOCKING to use this feature.
*
* It detects the following header pair as an image request:
*
* User-Agent: Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0)
* Accept: * / *
*
* And the following as a HTML request:
*
* User-Agent: Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0)
* Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, * / *
*
* And no, I haven't got that backwards - IE is being wierd.
*
* Known limitations:
* 1) If you press shift-reload on a blocked HTML page, you get
* the image "blocked" page, not the HTML "blocked" page.
* 2) Once an image "blocked" page has been sent, viewing it
* in it's own browser window *should* bring up the HTML
* "blocked" page, but it doesn't. You need to clear the
* browser cache to get the HTML version again.
*
* These limitations are due to IE making inconsistent choices
* about which "Accept:" header to send.
*/
#define FEATURE_IMAGE_DETECT_MSIE 1
/*
* Kills JavaScript popups - window.open, onunload, etc.
*/
#define FEATURE_KILL_POPUPS 1
/*
* Use POSIX threads instead of native threads.
*/
/* #define FEATURE_PTHREAD 1 */
/*
* Enables statistics function.
*/
#define FEATURE_STATISTICS 1
/*
* Allow JunkBuster to be "disabled" so it is just a normal non-blocking
* non-anonymizing proxy. This is useful if you're trying to access a
* blocked or broken site - just change the setting in the config file,
* or use the handy "Disable" menu option in the Windows GUI.
*/
#define FEATURE_TOGGLE 1
/*
* Allows the use of trust files.
*/
#define FEATURE_TRUST 1
/****************************************************************************
* The following values are correct for MS VC++97.
* You should normally not change them.
***************************************************************************/
/*
* Defined on Solaris only. Makes the system libraries thread safe.
*/
/* #define _REENTRANT 1 */
/*
* Defined on Solaris only. Without this, many important functions are not
* defined in the system headers.
*/
/* #define __EXTENSIONS__ 1 */
/*
* Defined always.
* FIXME: Don't know what it does or why we need it.
* (presumably something to do with MultiThreading?)
*/
#define __MT__ 1
/* Define if you have the `bcopy' function. */
/* #define HAVE_BCOPY 1 */
/* Define if you have the <inttypes.h> header file. */
/* #define HAVE_INTTYPES_H 1 */
/* Define if you have the `memmove' function. */
#define HAVE_MEMMOVE 1
/* Define if you have the <memory.h> header file. */
#define HAVE_MEMORY_H 1
/* Define if you have the <stdint.h> header file. */
/* #define HAVE_STDINT_H 1 */
/* Define if you have the <stdlib.h> header file. */
#define HAVE_STDLIB_H 1
/* Define if you have the `strerror' function. */
#define HAVE_STRERROR 1
/* Define if you have the <strings.h> header file. */
/* #define HAVE_STRINGS_H 1 */
/* Define if you have the <string.h> header file. */
#define HAVE_STRING_H 1
/* Define if you have the <sys/stat.h> header file. */
#define HAVE_SYS_STAT_H 1
/* Define if you have the <sys/types.h> header file. */
#define HAVE_SYS_TYPES_H 1
/* Define if you have the <unistd.h> header file. */
/* #define HAVE_UNISTD_H 1 */
/* The size of a `char *', as computed by sizeof. */
#define SIZEOF_CHAR_P 4
/* The size of a `int', as computed by sizeof. */
#define SIZEOF_INT 4
/* The size of a `long', as computed by sizeof. */
#define SIZEOF_LONG 4
/* The size of a `long long', as computed by sizeof. */
/* #define SIZEOF_LONG_LONG ---not supported--- */
/* The size of a `size_t', as computed by sizeof. */
#define SIZEOF_SIZE_T 4
/* Define if you have the ANSI C header files. */
#define STDC_HEADERS 1
/* Define to empty if `const' does not conform to ANSI C. */
/* #define const */
/* Define to `unsigned' if <sys/types.h> does not define. */
/* #define size_t unsigned */
/*
* Defined always.
* FIXME: Don't know what it does or why we need it.
* (presumably something to do with ANSI Standard C?)
*/
/* Don't define for MS VC++ or you don't get strdup() declared.
#ifndef __STDC__
#define __STDC__ 1
#endif
*/
/*
* Need to set up this define only for the Pthreads library for
* Win32, available from http://sources.redhat.com/pthreads-win32/
*/
#if defined(FEATURE_PTHREAD) && defined(_WIN32)
#define __CLEANUP_C
#endif /* defined(FEATURE_PTHREAD) && defined(_WIN32) */
/*
* BEOS does not currently support POSIX threads.
* This *should* be detected by ./configure, but let's be sure.
*/
#if defined(FEATURE_PTHREAD) && defined(__BEOS__)
#error BEOS does not support pthread - please run ./configure again with "--disable-pthread"
#endif /* defined(FEATURE_PTHREAD) && defined(__BEOS__) */
#if (!defined(_MSC_VER)) && (!defined(RC_INVOKED))
#error This file is only intended for MS VC++ on Win32. For other compilers, please run configure.
#endif /* (!defined(_MSC_VER)) && (!defined(RC_INVOKED)) */
#pragma warning ( disable: 4100 4115 4201 4214 4244 4514 )
/*
* C4100 : unreferenced formal parameter
* Very common, not a bug
*
* C4115 : named type definition in parentheses
* #include <windows.h> causes a warning about one of these.
*
* C4201 : nonstandard extension used : nameless struct/union
* Endemic in <windows.h>
*
* C4214 nonstandard extension used : bit field types other than int
* Endemic in <windows.h>
*
* C4244 conversion from 'int' to 'char', possible loss of data
* Should really fix this one. Throughout the JB code.
*
* C4514 unreferenced inline/local function has been removed
* Caused by #include <windows.h>
*/
#endif /* CONFIG_H_INCLUDED */