don't commit automatically generated files or binariess
[privoxy.git] / loadcfg.h
1 #ifndef _LOADCFG_H
2 #define _LOADCFG_H
3 #define LOADCFG_H_VERSION "$Id: loadcfg.h,v 1.4 2001/05/22 18:46:04 oes Exp $"
4 /*********************************************************************
5  *
6  * File        :  $Source: /cvsroot/ijbswa/current/loadcfg.h,v $
7  *
8  * Purpose     :  Loads settings from the configuration file into
9  *                global variables.  This file contains both the 
10  *                routine to load the configuration and the global
11  *                variables it writes to.
12  *
13  * Copyright   :  Written by and Copyright (C) 2001 the SourceForge
14  *                IJBSWA team.  http://ijbswa.sourceforge.net
15  *
16  *                Based on the Internet Junkbuster originally written
17  *                by and Copyright (C) 1997 Anonymous Coders and 
18  *                Junkbusters Corporation.  http://www.junkbusters.com
19  *
20  *                This program is free software; you can redistribute it 
21  *                and/or modify it under the terms of the GNU General
22  *                Public License as published by the Free Software
23  *                Foundation; either version 2 of the License, or (at
24  *                your option) any later version.
25  *
26  *                This program is distributed in the hope that it will
27  *                be useful, but WITHOUT ANY WARRANTY; without even the
28  *                implied warranty of MERCHANTABILITY or FITNESS FOR A
29  *                PARTICULAR PURPOSE.  See the GNU General Public
30  *                License for more details.
31  *
32  *                The GNU General Public License should be included with
33  *                this file.  If not, you can view it at
34  *                http://www.gnu.org/copyleft/gpl.html
35  *                or write to the Free Software Foundation, Inc., 59
36  *                Temple Place - Suite 330, Boston, MA  02111-1307, USA.
37  *
38  * Revisions   :
39  *    $Log: loadcfg.h,v $
40  *    Revision 1.4  2001/05/22 18:46:04  oes
41  *
42  *    - Enabled filtering banners by size rather than URL
43  *      by adding patterns that replace all standard banner
44  *      sizes with the "Junkbuster" gif to the re_filterfile
45  *
46  *    - Enabled filtering WebBugs by providing a pattern
47  *      which kills all 1x1 images
48  *
49  *    - Added support for PCRE_UNGREEDY behaviour to pcrs,
50  *      which is selected by the (nonstandard and therefore
51  *      capital) letter 'U' in the option string.
52  *      It causes the quantifiers to be ungreedy by default.
53  *      Appending a ? turns back to greedy (!).
54  *
55  *    - Added a new interceptor ijb-send-banner, which
56  *      sends back the "Junkbuster" gif. Without imagelist or
57  *      MSIE detection support, or if tinygif = 1, or the
58  *      URL isn't recognized as an imageurl, a lame HTML
59  *      explanation is sent instead.
60  *
61  *    - Added new feature, which permits blocking remote
62  *      script redirects and firing back a local redirect
63  *      to the browser.
64  *      The feature is conditionally compiled, i.e. it
65  *      can be disabled with --disable-fast-redirects,
66  *      plus it must be activated by a "fast-redirects"
67  *      line in the config file, has its own log level
68  *      and of course wants to be displayed by show-proxy-args
69  *      Note: Boy, all the #ifdefs in 1001 locations and
70  *      all the fumbling with configure.in and acconfig.h
71  *      were *way* more work than the feature itself :-(
72  *
73  *    - Because a generic redirect template was needed for
74  *      this, tinygif = 3 now uses the same.
75  *
76  *    - Moved GIFs, and other static HTTP response templates
77  *      to project.h
78  *
79  *    - Some minor fixes
80  *
81  *    - Removed some >400 CRs again (Jon, you really worked
82  *      a lot! ;-)
83  *
84  *    Revision 1.3  2001/05/20 01:21:20  jongfoster
85  *    Version 2.9.4 checkin.
86  *    - Merged popupfile and cookiefile, and added control over PCRS
87  *      filtering, in new "permissionsfile".
88  *    - Implemented LOG_LEVEL_FATAL, so that if there is a configuration
89  *      file error you now get a message box (in the Win32 GUI) rather
90  *      than the program exiting with no explanation.
91  *    - Made killpopup use the PCRS MIME-type checking and HTTP-header
92  *      skipping.
93  *    - Removed tabs from "config"
94  *    - Moved duplicated url parsing code in "loaders.c" to a new funcition.
95  *    - Bumped up version number.
96  *
97  *    Revision 1.2  2001/05/17 23:01:01  oes
98  *     - Cleaned CRLF's from the sources and related files
99  *
100  *    Revision 1.1.1.1  2001/05/15 13:58:58  oes
101  *    Initial import of version 2.9.3 source tree
102  *
103  *
104  *********************************************************************/
105 \f
106
107 /* Declare struct FILE for vars and funcs. */
108 #include <stdio.h>
109
110 /* All of our project's data types. */
111 #include "project.h"
112
113 #ifdef __cplusplus
114 extern "C" {
115 #endif
116
117 /* Global variables */
118
119 #ifdef TOGGLE
120 /* indicates if ijb is enabled */
121 extern int g_bToggleIJB;
122 #endif
123
124 extern const char *configfile;
125
126
127 /* The load_config function is now going to call:
128  * init_proxy_args, so it will need argc and argv.
129  * Since load_config will also be a signal handler,
130  * we need to have these globally available.
131  */
132 extern int Argc;
133 extern const char **Argv;
134
135
136 extern struct configuration_spec * load_config(void);
137
138
139 /* Revision control strings from this header and associated .c file */
140 extern const char loadcfg_rcs[];
141 extern const char loadcfg_h_rcs[];
142
143 #ifdef __cplusplus
144 } /* extern "C" */
145 #endif
146
147 #endif /* ndef _JCC_H */
148
149 /*
150   Local Variables:
151   tab-width: 3
152   end:
153 */