#ifndef PROJECT_H_INCLUDED
#define PROJECT_H_INCLUDED
/** Version string. */
-#define PROJECT_H_VERSION "$Id: project.h,v 1.98 2007/07/14 07:31:26 fabiankeil Exp $"
+#define PROJECT_H_VERSION "$Id: project.h,v 1.102 2008/02/03 13:46:14 fabiankeil Exp $"
/*********************************************************************
*
* File : $Source: /cvsroot/ijbswa/current/project.h,v $
* project. Does not define any variables or functions
* (though it does declare some macros).
*
- * Copyright : Written by and Copyright (C) 2001 - 2007 the SourceForge
+ * Copyright : Written by and Copyright (C) 2001-2008 the SourceForge
* Privoxy team. http://www.privoxy.org/
*
* Based on the Internet Junkbuster originally written
*
* Revisions :
* $Log: project.h,v $
+ * Revision 1.102 2008/02/03 13:46:14 fabiankeil
+ * Add SOCKS5 support. Patch #1862863 by Eric M. Hopper with minor changes.
+ *
+ * Revision 1.101 2007/12/07 18:29:23 fabiankeil
+ * Remove now-obsolete csp member x_forwarded.
+ *
+ * Revision 1.100 2007/09/02 13:42:11 fabiankeil
+ * - Allow port lists in url patterns.
+ * - Ditch unused url_spec member pathlen.
+ *
+ * Revision 1.99 2007/07/21 11:51:36 fabiankeil
+ * As Hal noticed, checking dispatch_cgi() as the last cruncher
+ * looks like a bug if CGI requests are blocked unintentionally,
+ * so don't do it unless the user enabled the new config option
+ * "allow-cgi-request-crunching".
+ *
* Revision 1.98 2007/07/14 07:31:26 fabiankeil
* Add new csp->content_type flag (CT_DECLARED).
*
int dcount; /**< How many parts to this domain? (length of dvec) */
int unanchored; /**< Bitmap - flags are ANCHOR_LEFT and ANCHOR_RIGHT. */
- int port; /**< The port number, or 0 to match all ports. */
+ char *port_list; /**< List of acceptable ports, or NULL to match all ports */
- char *path; /**< The source for the regex. */
- size_t pathlen; /**< ==strlen(path). Needed for prefix matching. FIXME: Now obsolete? */
+ char *path; /**< The source for the regex. */
regex_t *preg; /**< Regex for matching path part */
regex_t *tag_regex; /**< Regex for matching tags */
};
/**
* If you declare a static url_spec, this is the value to initialize it to zero.
*/
-#define URL_SPEC_INITIALIZER { NULL, NULL, NULL, 0, 0, 0, NULL, 0, NULL, NULL }
+#define URL_SPEC_INITIALIZER { NULL, NULL, NULL, 0, 0, NULL, NULL, NULL, NULL }
/**
* Constant for host part matching in URLs. If set, indicates that the start of
#define ACTION_STRING_FAST_REDIRECTS 14
/** Action string index: Overriding forward rule. */
#define ACTION_STRING_FORWARD_OVERRIDE 15
+/** Action string index: Reason for the block. */
+#define ACTION_STRING_BLOCK 16
/** Number of string actions. */
-#define ACTION_STRING_COUNT 16
+#define ACTION_STRING_COUNT 17
/* To make the ugly hack in sed easier to understand */
/** MIME-Type key, see CT_* above */
unsigned int content_type;
- /** The "X-Forwarded-For:" header sent by the client */
- char *x_forwarded;
-
/** Actions files associated with this client */
struct file_list *actions_list[MAX_AF_FILES];
#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 */
/**
/** URL pattern that this forward_spec is for. */
struct url_spec url[1];
- /** Connection type. Must be SOCKS_NONE, SOCKS_4, or SOCKS_4A. */
+ /** Connection type. Must be SOCKS_NONE, SOCKS_4, SOCKS_4A or SOCKS_5. */
int type;
/** SOCKS server hostname. Only valid if "type" is SOCKS_4 or SOCKS_4A. */