#ifndef PROJECT_H_INCLUDED
#define PROJECT_H_INCLUDED
/** Version string. */
-#define PROJECT_H_VERSION "$Id: project.h,v 1.158 2010/07/21 14:35:09 fabiankeil Exp $"
+#define PROJECT_H_VERSION "$Id: project.h,v 1.167 2011/07/03 17:55:23 fabiankeil Exp $"
/*********************************************************************
*
* File : $Source: /cvsroot/ijbswa/current/project.h,v $
/* Needed for pcre choice */
#include "config.h"
-#ifdef HAVE_RFC2553
/* Need for struct sockaddr_storage */
-#include <sys/socket.h>
+#ifdef HAVE_RFC2553
+# ifndef _WIN32
+# include <netdb.h>
+# include <sys/socket.h>
+# else
+# include <stdint.h>
+# include <winsock2.h>
+# include <ws2tcpip.h>
+ typedef unsigned short in_port_t;
+# endif
#endif
* Buffer size for capturing struct hostent data in the
* gethostby(name|addr)_r library calls. Since we don't
* loop over gethostbyname_r, the buffer must be sufficient
- * to accomodate multiple IN A RRs, as used in DNS round robin
+ * to accommodate multiple IN A RRs, as used in DNS round robin
* load balancing. W3C's wwwlib uses 1K, so that should be
* good enough for us, too.
*/
#define ACTION_FORCE_TEXT_MODE 0x00400000UL
/** Action bitmap: Enable text mode by force */
#define ACTION_CRUNCH_IF_NONE_MATCH 0x00800000UL
-/** Action bitmap: Enable content-dispostion crunching */
+/** Action bitmap: Enable content-disposition crunching */
#define ACTION_HIDE_CONTENT_DISPOSITION 0x01000000UL
/** Action bitmap: Replace or block Last-Modified header */
#define ACTION_OVERWRITE_LAST_MODIFIED 0x02000000UL
#define ACTION_STRING_LANGUAGE 8
/** Action string index: Replacement for the "Content-Type:" header*/
#define ACTION_STRING_CONTENT_TYPE 9
-/** Action string index: Replacement for the "content-dispostion:" header*/
+/** Action string index: Replacement for the "content-disposition:" header*/
#define ACTION_STRING_CONTENT_DISPOSITION 10
/** Action string index: Replacement for the "If-Modified-Since:" header*/
#define ACTION_STRING_IF_MODIFIED_SINCE 11
#define CSP_FLAG_SERVER_CONTENT_LENGTH_SET 0x00002000U
/**
- * Flag for csp->flags: Set if we know the content lenght,
+ * Flag for csp->flags: Set if we know the content length,
* either because the server set it, or we figured it out
* on our own.
*/
*/
#define CSP_FLAG_REUSED_CLIENT_CONNECTION 0x00100000U
+/**
+ * Flag for csp->flags: Set if the supports deflate compression.
+ */
+#define CSP_FLAG_CLIENT_SUPPORTS_DEFLATE 0x00200000U
+
+/**
+ * Flag for csp->flags: Set if the content has been deflated by Privoxy
+ */
+#define CSP_FLAG_BUFFERED_CONTENT_DEFLATED 0x00400000U
+
+
/*
* Flags for use in return codes of child processes
*/
#endif /* def FEATURE_TRUST */
-
-#define SOCKS_NONE 0 /**< Don't use a SOCKS server */
-#define SOCKS_4 40 /**< original SOCKS 4 protocol */
-#define SOCKS_4A 41 /**< as modified for hosts w/o external DNS */
-#define SOCKS_5 50 /**< as modified for hosts w/o external DNS */
-
+enum forwarder_type {
+ /**< Don't use a SOCKS server */
+ SOCKS_NONE = 0,
+ /**< original SOCKS 4 protocol */
+ SOCKS_4 = 40,
+ /**< SOCKS 4A, DNS resolution is done by the SOCKS server */
+ SOCKS_4A = 41,
+ /**< SOCKS 5 with hostnames, DNS resolution is done by the SOCKS server */
+ SOCKS_5 = 50,
+};
/**
* How to forward a connection to a parent proxy.
struct url_spec url[1];
/** Connection type. Must be SOCKS_NONE, SOCKS_4, SOCKS_4A or SOCKS_5. */
- int type;
+ enum forwarder_type type;
/** SOCKS server hostname. Only valid if "type" is SOCKS_4 or SOCKS_4A. */
char *gateway_host;
unsigned int default_server_timeout;
#endif
+#ifdef FEATURE_COMPRESSION
+ int compression_level;
+#endif
+
/** All options from the config file, HTML-formatted. */
char *proxy_args;