Privoxy

From SixXS Wiki
Jump to: navigation, search

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

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 of struct 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