Privoxy
From the Privoxy home page:
Privoxy is a non-caching web proxy with advanced filtering capabilities for enhancing privacy, modifying web page data, managing HTTP cookies, controlling access, and removing ads, banners, pop-ups and other obnoxious Internet junk. Privoxy has a flexible configuration and can be customized to suit individual needs and tastes. Privoxy has application for both stand-alone systems and multi-user networks.
Privoxy is based on Internet Junkbuster (tm).
IPv6 support in version 3.0.16
- In version 3.0.16 IPv6 support has been adapted, thanks to the original patch by Petr Písař
IPv6 support in CVS
- A patch by Petr Písař is committed in the Privoxy CVS as of 2009-04-17.
There is a discussion on IPv6 support on the SF TODO item #1533125 and SF feature request #649507. One of the issues is that the IPv6 compatible privoxy version should revert to IPv4-only behaviour on systems that do not have getaddrinfo()
support.
Petr work is based on an earlier effort, a patch against 20030523 CVS version by Lionel Elie Mamane <lionel@mamane.lu>.
Files modified
This is based on a Petr Písař patch Petr Písař patch for 3.06 (April 2007), adapted by roro@sf as a Debian branch patch (October 2007).
- addrlist.[ch]
- New files to introduce
addrlist
, list ofstruct addrinfo
. - cgi.c
- No need to format port number in
define_exports()
, since we already have a string. - filters.[ch]
- Overhauled ACL API:
-
int acl_addr(char *aspec, struct access_control_addr *aca)
is replaced by
void fill_acl_addr_mask(struct access_control_addr *aca, int masklength)
- Uses
addrlist
functionality - Introduces API
<source lang="c"> struct access_control_list *add_to_acl_list(struct access_control_list *l,
short action, char *src_spec, char *dst_spec, char **proxy_args)
</source>
- gateway.c
- GNUmakefile.in
- Introduce addrlist.[ch] jb_socket_set.[ch] and define
INET6
- jbsockets.c
- (patch contains rejected jbsockets.c.rej)
- jb_socket_set.[ch]
- New files
- jbsockets.h
- jcc.c
- loadcfg.c
- loaders.c
- miscutil.h
- parsers.[ch]
- project.h
- urlmatch.[ch]
Changes unrelated to IPv6:
- errlog.c
- Comment change unrelated to IPv6
References
- Implementing AF-independent application by itojun, 2003/05/16
- Protocol Independent Programming by Kazu Yamamoto, 2004/01/14
- Porting applications to IPv6 HowTo by Eva M. Castro, 2006/05/17 (HTTP Last-Modified:)
- RFC2553 - Basic Socket Interface Extensions for IPv6
- RFC2292 - Advanced Sockets API for IPv6 RFC2292