- * Revisions :
- * $Log: project.h,v $
- * Revision 1.50 2002/03/04 19:32:07 oes
- * Changed default port to 8118
- *
- * Revision 1.49 2002/03/04 18:28:55 oes
- * Deleted PID_FILE_NAME
- *
- * Revision 1.48 2002/03/03 14:50:40 oes
- * Fixed CLF logging: Added ocmd member for client's request to struct http_request
- *
- * Revision 1.47 2002/02/20 23:15:13 jongfoster
- * Parsing functions now handle out-of-memory gracefully by returning
- * an error code.
- *
- * Revision 1.46 2002/01/17 21:06:09 jongfoster
- * Now #defining the URLs of the config interface
- *
- * Minor changes to struct http_request and struct url_spec due to
- * standardizing that struct http_request is used to represent a URL, and
- * struct url_spec is used to represent a URL pattern. (Before, URLs were
- * represented as seperate variables and a partially-filled-in url_spec).
- *
- * Revision 1.45 2002/01/09 14:33:27 oes
- * Added HOSTENT_BUFFER_SIZE
- *
- * Revision 1.44 2001/12/30 14:07:32 steudten
- * - Add signal handling (unix)
- * - Add SIGHUP handler (unix)
- * - Add creation of pidfile (unix)
- * - Add action 'top' in rc file (RH)
- * - Add entry 'SIGNALS' to manpage
- * - Add exit message to logfile (unix)
- *
- * Revision 1.43 2001/11/22 21:57:51 jongfoster
- * Making action_spec->flags into an unsigned long rather than just an
- * unsigned int.
- * Adding ACTION_NO_COOKIE_KEEP
- *
- * Revision 1.42 2001/11/05 21:42:41 steudten
- * Include DBG() macro.
- *
- * Revision 1.41 2001/10/28 19:12:06 jongfoster
- * Adding ijb_toupper()
- *
- * Revision 1.40 2001/10/26 17:40:47 oes
- * Moved ijb_isspace and ijb_tolower to project.h
- * Removed http->user_agent, csp->referrer and csp->accept_types
- *
- * Revision 1.39 2001/10/25 03:45:02 david__schmidt
- * Adding a (void*) cast to freez() because Visual Age C++ won't expand the
- * macro when called with a cast; so moving the cast to the macro def'n
- * seems to both eliminate compiler warnings (on darwin and OS/2, anyway) and
- * doesn't make macro expansion complain. Hope this works for everyone else
- * too...
- *
- * Revision 1.38 2001/10/23 21:19:04 jongfoster
- * New error-handling support: jb_err type and JB_ERR_xxx constants
- * CGI functions now return a jb_err, and their parameters map is const.
- * Support for RUNTIME_FEATUREs to enable/disable config editor
- * Adding a few comments
- *
- * Revision 1.37 2001/10/14 22:14:01 jongfoster
- * Removing name_length field from struct cgi_dispatcher, as this is
- * now calculated at runtime from the "name" field.
- *
- * Revision 1.36 2001/10/10 16:45:15 oes
- * Added LIMIT_CONNECT action and string
- * Fixed HTTP message line termination
- * Added CFORBIDDEN HTTP message
- *
- * Revision 1.35 2001/10/07 18:06:43 oes
- * Added status member to struct http_request
- *
- * Revision 1.34 2001/10/07 15:45:25 oes
- * Added url member to struct http_request and commented all
- * members
- *
- * Added CT_TABOO
- *
- * Added ACTION_DOWNGRADE and ACTION_NO_COMPRESSION
- *
- * Replaced struct client_state members rejected,
- * force, active and toggled_on with "flags" bitmap.
- *
- * Added CSP_FLAG_MODIFIED and CSP_FLAG_CHUNKED
- *
- * Added buffer_limit to struct configuration_spec
- *
- * Revision 1.33 2001/09/20 13:30:08 steudten
- *
- * Make freez() more secure in case of: if (exp) { free(z) ; a=*z }
- * Last case will set z to NULL in free(z) and thats bad..
- *
- * Revision 1.32 2001/09/16 23:02:51 jongfoster
- * Fixing warning
- *
- * Revision 1.31 2001/09/16 13:20:29 jongfoster
- * Rewrite of list library. Now has seperate header and list_entry
- * structures. Also added a large sprinking of assert()s to the list
- * code.
- *
- * Revision 1.30 2001/09/13 23:52:00 jongfoster
- * Support for both static and dynamically generated CGI pages
- *
- * Revision 1.29 2001/09/13 23:29:43 jongfoster
- * Defining FORWARD_SPEC_INITIALIZER
- *
- * Revision 1.28 2001/09/13 23:05:50 jongfoster
- * Changing the string paramater to the header parsers a "const".
- *
- * Revision 1.27 2001/08/05 16:06:20 jongfoster
- * Modifiying "struct map" so that there are now separate header and
- * "map_entry" structures. This means that functions which modify a
- * map no longer need to return a pointer to the modified map.
- * Also, it no longer reverses the order of the entries (which may be
- * important with some advanced template substitutions).
- *
- * Revision 1.26 2001/07/30 22:08:36 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.25 2001/07/29 18:43:08 jongfoster
- * Changing #ifdef _FILENAME_H to FILENAME_H_INCLUDED, to conform to
- * ANSI C rules.
- *
- * Revision 1.24 2001/07/25 17:20:27 oes
- * Introduced http->user_agent
- *
- * Revision 1.23 2001/07/18 12:32:23 oes
- * - Added ACTION_STRING_DEANIMATE
- * - moved #define freez from jcc.h to project.h
- *
- * Revision 1.22 2001/07/15 17:51:41 jongfoster
- * Renaming #define STATIC to STATIC_PCRE
- *
- * Revision 1.21 2001/07/13 14:03:19 oes
- * - Reorganized regex header inclusion and #defines to
- * comply to the scheme in configure.in
- * - Added csp->content_type and its CT_* keys
- * - Added ACTION_DEANIMATE
- * - Removed all #ifdef PCRS
- *
- * Revision 1.20 2001/06/29 21:45:41 oes
- * Indentation, CRLF->LF, Tab-> Space
- *
- * Revision 1.19 2001/06/29 13:33:36 oes
- * - Improved comments
- * - Introduced http_request.host_ip_addr_str
- * - Introduced http_response.head_length
- * - Introduced config.my_ip_addr_str, config.my_hostname,
- * config.admin_address and config.proxy_info_url
- * - Removed config.proxy_args_header and config.proxy_args_trailer,
- * renamed config.proxy_args_invocation to config.proxy_args
- * - Removed HTML snipplets and GIFs
- * - Removed logentry from cancelled commit
- *
- * Revision 1.18 2001/06/09 10:57:39 jongfoster
- * Adding definition of BUFFER_SIZE.
- * Changing struct cgi_dispatcher to use "const" strings.
- *
- * Revision 1.17 2001/06/07 23:15:09 jongfoster
- * Merging ACL and forward files into config file.
- * Moving struct gateway members into struct forward_spec
- * Removing config->proxy_args_gateways
- * Cosmetic: Adding a few comments
- *
- * Revision 1.16 2001/06/04 18:31:58 swa
- * files are now prefixed with either `confdir' or `logdir'.
- * `make redhat-dist' replaces both entries confdir and logdir
- * with redhat values
- *
- * Revision 1.15 2001/06/04 11:28:53 swa
- * redirect did not work due to missing /
- *
- * Revision 1.14 2001/06/03 11:03:48 oes
- * Added struct map,
- * added struct http_response,
- * changed struct interceptors to struct cgi_dispatcher,
- * moved HTML stuff to cgi.h
- *
- * Revision 1.13 2001/06/01 20:05:36 jongfoster
- * Support for +image-blocker{}: added ACTION_IMAGE_BLOCKER
- * constant, and removed csp->tinygif.
- *
- * Revision 1.12 2001/06/01 18:49:17 jongfoster
- * Replaced "list_share" with "list" - the tiny memory gain was not
- * worth the extra complexity.
- *
- * Revision 1.11 2001/06/01 10:32:47 oes
- * Added constants for anchoring selection bitmap
- *
- * Revision 1.10 2001/05/31 21:33:53 jongfoster
- * Changes for new actions file, replacing permissionsfile
- * and parts of the config file. Also added support for
- * list_shared.
- *
- * Revision 1.9 2001/05/31 17:32:31 oes
- *
- * - Enhanced domain part globbing with infix and prefix asterisk
- * matching and optional unanchored operation
- *
- * Revision 1.8 2001/05/29 20:09:15 joergs
- * HTTP_REDIRECT_TEMPLATE fixed.
- *
- * Revision 1.7 2001/05/29 09:50:24 jongfoster
- * Unified blocklist/imagelist/actionslist.
- * 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.6 2001/05/27 22:17:04 oes
- *
- * - re_process_buffer no longer writes the modified buffer
- * to the client, which was very ugly. It now returns the
- * buffer, which it is then written by chat.
- *
- * - content_length now adjusts the Content-Length: header
- * for modified documents rather than crunch()ing it.
- * (Length info in csp->content_length, which is 0 for
- * unmodified documents)
- *
- * - For this to work, sed() is called twice when filtering.
- *
- * Revision 1.5 2001/05/26 00:28:36 jongfoster
- * Automatic reloading of config file.
- * Removed obsolete SIGHUP support (Unix) and Reload menu option (Win32).
- * Most of the global variables have been moved to a new
- * struct configuration_spec, accessed through csp->config->globalname
- * Most of the globals remaining are used by the Win32 GUI.
- *
- * Revision 1.4 2001/05/22 18:46:04 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
- *
- * - Some minor fixes
- *
- * - Removed some >400 CRs again (Jon, you really worked
- * a lot! ;-)
- *
- * Revision 1.3 2001/05/20 01:21:20 jongfoster
- * Version 2.9.4 checkin.
- * - Merged popupfile and cookiefile, and added control over PCRS
- * filtering, in new "actionsfile".
- * - Implemented LOG_LEVEL_FATAL, so that if there is a configuration
- * file error you now get a message box (in the Win32 GUI) rather
- * than the program exiting with no explanation.
- * - Made killpopup use the PCRS MIME-type checking and HTTP-header
- * skipping.
- * - Removed tabs from "config"
- * - Moved duplicated url parsing code in "loaders.c" to a new funcition.
- * - Bumped up version number.
- *
- * Revision 1.2 2001/05/17 23:01:01 oes
- * - Cleaned CRLF's from the sources and related files
- *
- * Revision 1.1.1.1 2001/05/15 13:59:03 oes
- * Initial import of version 2.9.3 source tree
- *
- *