-$Id: TODO,v 1.48 2011/07/17 13:30:43 fabiankeil Exp $
+$Id: TODO,v 1.63 2012/04/22 12:15:33 fabiankeil Exp $
-Some Privoxy related tasks, sorted by the time they
+Some Privoxy-related tasks, sorted by the time they
have been added, not by priority.
+The latest version should be available at:
+http://ijbswa.cvs.sourceforge.net/viewvc/ijbswa/current/TODO
+
1) Add some regression tests. Filters should be tested automatically
(variables too). Could probably reuse large parts of Privoxy-Filter-Test.
11) CGI templates should use semantically-correct HTML
and scale properly.
-12) Add pipelining support.
+12) Improve pipelining support.
14) Allow to filter POST parameters.
41) Change documentation framework to one that works cross-platform.
Evaluate WML.
-42) Add DTrace hooks. Now that FreeBSD has userland DTrace
+42) Add a DTrace USDT provider. Now that FreeBSD has userland DTrace
support there's no longer any reason not to.
- DTrace bible preorderd.
43) Write a tool to check URL patterns against URLs in the log file.
This could be included in Privoxy-Regression-Test.
82) Detect if the system time goes back in time let the user
know if it caused any connections to get closed.
-83) Make the FAQ available through the CGI interface like the
- user manual is.
-
84) Flesh out the user-manual delivery to serve pages from
other directories, too.
addresses, instead of trusting the libc to return them in an order
that makes sense. Like #93, this could be useful as a workaround
for misconfigured setups.
+
+95) Support a non-standard client header in CONNECT requests that
+ contains the URL of the requested ressource, which is then treated
+ like the request URL.
+
+ This way the client could opt-in for path-based blocking of https
+ requests. Given that the headers from the CONNECT request aren't
+ forwarded to the destination server, an unencrypted URL should be
+ acceptable if the client and Privoxy are running on the same system
+ or in a trusted environment.
+
+96) Enabled filters should be easier to look up. Currently most functions
+ that work with filters spent more (duplicated) code on finding
+ filters than on actually doing something useful with them. Dividing
+ filters by type instead of filter file would reduce the lookup-code
+ quite a bit.
+
+97) Add support for Tor's 'optimistic data' socks extension.
+ Mostly done, not yet pushed to CVS.
+
+98) When showing action section on the CGI pages, properly escape
+ line breaks so they can be copy&pasted into action files without
+ adjustments.
+
+99) Figure out a mechanism through which a user can easily enable
+ site-specific action sections that are too aggressive to be
+ enalbled by default. This could be similiar to the presettings
+ in default.action, but could also be just another action file
+ that isn't used by default.
+
+100) Create a cross-platform Privoxy control program and retire
+ the win32 GUI. Integrate support for Privoxy-Regression-Test,
+ Privoxy-Log-Parser, Privoxy-Filter-Test, uagen and similar tools.
+
+101) Forward known client headers in a predefined order that can
+ be changed in the config file. Optionally use a random order.
+ Tools like p0f v3 use the header order for User-Agent detection
+ and thus changing the User-Agent doesn't fool them.
+
+102) Add an include directive to split the config file into several parts.
+
+103) Potential performance improvement for large action files:
+ when figuring out which actions apply, check the action bitmask
+ before pattern matching and skip section that wouldn't modify the
+ actions already set. To increase the impact the sections would have
+ to be applied in reverse.
+
+104) The code to modify global_toggle_state should be factored out into
+ a separate function. Currently we mess with it in three different
+ files, but only in w32log.c the tray icon is explicitly set.
+ The logging is inconsistent as well. For details see #3525694.