X-Git-Url: http://www.privoxy.org/gitweb/?p=privoxy.git;a=blobdiff_plain;f=acconfig.h;h=9ec87fdc1300537328d22df4d7ad6956c62e6c24;hp=7d89427aa4d2ed5f0b9e2dd7377f9dc3034423a9;hb=e52674334610f4c2a1eb22b095c126527705f314;hpb=41ad7b46e5a3ac9cbd560fd38fcfb0eb3ad68f12 diff --git a/acconfig.h b/acconfig.h index 7d89427a..9ec87fdc 100644 --- a/acconfig.h +++ b/acconfig.h @@ -1,23 +1,23 @@ -#ifndef _CONFIG_H -#define _CONFIG_H +#ifndef CONFIG_H_INCLUDED +#define CONFIG_H_INCLUDED /********************************************************************* * * File : $Source: /cvsroot/ijbswa/current/acconfig.h,v $ * * Purpose : This file should be the first thing included in every - * .c file. (Before even system headers). It contains + * .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 - * IJBSWA team. http://ijbswa.sourceforge.net + * Copyright : Written by and Copyright (C) 2001-2014 the + * Privoxy team. https://www.privoxy.org/ * * Based on the Internet Junkbuster originally written - * by and Copyright (C) 1997 Anonymous Coders and + * by and Copyright (C) 1997 Anonymous Coders and * Junkbusters Corporation. http://www.junkbusters.com * - * This program is free software; you can redistribute it + * 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 @@ -35,14 +35,8 @@ * or write to the Free Software Foundation, Inc., 59 * Temple Place - Suite 330, Boston, MA 02111-1307, USA. * - * Revisions : - * $Log: acconfig.h,v $ - * Revision 1.1.1.1 2001/05/15 13:58:45 oes - * Initial import of version 2.9.3 source tree - * - * *********************************************************************/ - + @TOP@ /* @@ -66,121 +60,214 @@ #undef VERSION /* - * Regular expression matching for URLs. (Highly recommended). If this is - * not defined then you can ony use prefix matching. + * Status of the code: "alpha", "beta" or "stable". */ -#undef REGEX +#undef CODE_STATUS /* - * 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 - * and send a SIGHUP (UN*X), or use the handy "Disable" menu option (Windows - * GUI). + * 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). + * Don't bother to change this here! Use configure instead. */ -#undef TOGGLE +#undef FEATURE_DYNAMIC_PCRE /* - * Enables arbitrary content modification regexps + * 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. */ -#undef PCRS +#undef STATIC_PCRS /* - * If a stream is compressed via gzip (Netscape specific I think), then - * it cannot be modified with Perl regexps. This forces it to be - * uncompressed. + * Allows the use of an ACL to control access to the proxy by IP address. */ -#undef DENY_GZIP +#undef FEATURE_ACL /* - * Enables statistics function. + * Allow Privoxy to use accf_http(9) if supported. */ -#undef STATISTICS +#undef FEATURE_ACCEPT_FILTER /* - * Bypass filtering for 1 page only + * Enables the web-based configuration (actionsfile) editor. If you + * have a shared proxy, you might want to turn this off. */ -#undef FORCE_LOAD +#undef FEATURE_CGI_EDIT_ACTIONS /* * Locally redirect remote script-redirect URLs */ -#undef FAST_REDIRECTS +#undef FEATURE_FAST_REDIRECTS /* - * Split the show-proxy-args page into a page for each config file. + * Bypass filtering for 1 page only */ -#undef SPLIT_PROXY_ARGS +#undef FEATURE_FORCE_LOAD /* - * Kills JavaScript popups - window.open, onunload, etc. + * Allow blocking using images as well as HTML. + * If you do not define this then everything is blocked as HTML. */ -#undef KILLPOPUPS +#undef FEATURE_IMAGE_BLOCKING /* - * Support for webDAV - e.g. so Microsoft Outlook can access HotMail e-mail + * Use PNG instead of GIF for built-in images */ -#undef WEBDAV +#undef FEATURE_NO_GIFS /* - * Detect image requests automatically for MSIE. Will fall back to - * other image-detection methods (i.e. USE_IMAGE_LIST) for other - * browsers. - * - * 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. + * Allow to shutdown Privoxy through the webinterface. */ -#undef DETECT_MSIE_IMAGES +#undef FEATURE_GRACEFUL_TERMINATION /* - * Use image list to detect images. - * If you do not define this then everything is treated as HTML. - * - * Whatever the setting of this value, DETECT_MSIE_IMAGES will - * override it for people using Internet Explorer. + * Allow PCRE syntax in host patterns. + */ +#undef FEATURE_PCRE_HOST_PATTERNS + +/* + * Gather extended statistics. */ -#undef USE_IMAGE_LIST +#undef FEATURE_EXTENDED_STATISTICS /* - * Allows the use of ACL files to control access to the proxy by IP address. + * Allow filtering with scripts and programs. */ -#undef ACL_FILES +#undef FEATURE_EXTERNAL_FILTERS + +/* + * Keep connections alive if possible. + */ +#undef FEATURE_CONNECTION_KEEP_ALIVE + +/* + * Allow to share outgoing connections between incoming connections. + */ +#undef FEATURE_CONNECTION_SHARING + +/* + * Use POSIX threads instead of native threads. + */ +#undef FEATURE_PTHREAD + +/* + * Enables statistics function. + */ +#undef FEATURE_STATISTICS + +/* + * Enable strptime() sanity checks. + */ +#undef FEATURE_STRPTIME_SANITY_CHECKS + +/* + * Allow Privoxy 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. + */ +#undef FEATURE_TOGGLE /* * Allows the use of trust files. */ -#undef TRUST_FILES +#undef FEATURE_TRUST /* - * Allows the use of jar files to capture cookies. + * Defined on Solaris only. Makes the system libraries thread safe. */ -#undef JAR_FILES +#undef _REENTRANT /* - * Use PCRE rather than GNU Regex + * Defined on Solaris only. Without this, many important functions are not + * defined in the system headers. + */ +#undef __EXTENSIONS__ + +/* + * Defined always. + * FIXME: Don't know what it does or why we need it. + * (presumably something to do with MultiThreading?) + */ +#undef __MT__ + +/* If the (nonstandard and thread-safe) function gethostbyname_r + * is available, select which signature to use + */ +#undef HAVE_GETHOSTBYNAME_R_6_ARGS +#undef HAVE_GETHOSTBYNAME_R_5_ARGS +#undef HAVE_GETHOSTBYNAME_R_3_ARGS + +/* If the (nonstandard and thread-safe) function gethostbyaddr_r + * is available, select which signature to use + */ +#undef HAVE_GETHOSTBYADDR_R_8_ARGS +#undef HAVE_GETHOSTBYADDR_R_7_ARGS +#undef HAVE_GETHOSTBYADDR_R_5_ARGS + +/* Defined if you have gmtime_r and localtime_r with a signature + * of (struct time *, struct tm *) + */ +#undef HAVE_GMTIME_R +#undef HAVE_LOCALTIME_R + +/* Define to 'int' if doesn't have it. + */ +#undef socklen_t + +/* Define if pcre.h must be included as + */ +#undef PCRE_H_IN_SUBDIR + +/* Define if pcreposix.h must be included as */ -#undef PCRE +#undef PCREPOSIX_H_IN_SUBDIR @BOTTOM@ -#endif /* _CONFIG_H */ +/* + * Defined always. + * FIXME: Don't know what it does or why we need it. + * (presumably something to do with ANSI Standard C?) + */ +#ifndef __STDC__ +#define __STDC__ 1 +#endif /* ndef __STDC__ */ + +/* + * 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__) */ + +/* + * On OpenBSD and maybe also FreeBSD, gcc doesn't define the cpp + * symbol unix; it defines __unix__ and sometimes not even that: + */ +#if ( defined(__unix__) || defined(__NetBSD__) ) && !defined(unix) +#define unix 1 +#endif + +/* + * It's too easy to accidentally use a Cygwin or MinGW32 version of config.h + * under VC++, and it usually gives many weird error messages. Let's make + * the error messages understandable, by bailing out now. + */ +#ifdef _MSC_VER +#error For MS VC++, please use vc_config_winthreads.h or vc_config_pthreads.h. You can usually do this by selecting the "Build", "Clean" menu option. +#endif /* def _MSC_VER */ + +#endif /* CONFIG_H_INCLUDED */