Properly detect section titles with two-digit minor numbers
[privoxy.git] / TODO
diff --git a/TODO b/TODO
index bcb021f..b22a73a 100644 (file)
--- a/TODO
+++ b/TODO
@@ -1,16 +1,18 @@
-$Id: TODO,v 1.48 2011/07/17 13:30:43 fabiankeil Exp $
+$Id: TODO,v 1.76 2013/01/05 18:39:19 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.
+    Note that there is currently work in progress to leverage curl's
+    test suite which could be used for this as well.
 
 3)  Fix some more XXX: comments.
 
-4)  Fix some more compiler warnings. (Especially on amd64)
-    Partly done.
-
 6)  Remove actions that aren't needed anymore:
 
     content-type-overwrite should probably stay as it's also
@@ -40,7 +42,7 @@ have been added, not by priority.
 11) CGI templates should use semantically-correct HTML
     and scale properly.
 
-12) Add pipelining support.
+12) Support pipelining for outgoing connections.
 
 14) Allow to filter POST parameters.
 
@@ -96,9 +98,8 @@ have been added, not by priority.
 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.
@@ -106,8 +107,6 @@ have been added, not by priority.
 44) Privoxy-Log-Parser: Consider highlighting "Connection" in:
     23:13:03.506 283b6100 Header: Replaced: 'Connection: Keep-Alive' with 'Connection: close'
 
-49) Add FAQ for NTLM proxies. Still necessary?
-
 50) Investigate possible PCRS template speedup when searching
     macros with strstr() before compiling pcrs commands.
     Investigated, needs some restructuring but is probably worth it.
@@ -153,10 +152,10 @@ have been added, not by priority.
     is no legal entity.
 
 65) Polish Website. Probably involves ditching the Docbook
-    mess in favour of wml. There should be already some threads
-    in the mailinglists archives about this. See also #41.
+    mess in favour of wml. There are already several threads
+    in the mailinglist archives about this. See also #41.
 
-66) Increase maximum number of action and filter files.
+66) Stop hard-coding the number of action and filter files.
 
 67) Clean up source code directory layout. Depends on 54 so
     we don't lose the revision history.
@@ -209,9 +208,6 @@ have been added, not by priority.
 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.
 
@@ -227,7 +223,8 @@ have been added, not by priority.
     trivial, though.
 
 88) Investigate if there's a Perl module that Privoxy-Regression-Test
-    could optionally use to keep connections alive.
+    could optionally use to keep connections alive, preferably while
+    requiring less forks at the same time.
 
 89) When multiple block actions apply, consider showing all the block
     reasons on the blocked page that haven't been overruled, not just
@@ -256,3 +253,56 @@ have been added, not by priority.
     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.
+
+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.
+
+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.
+
+105) Add support for socks authentication.
+
+106) actionlist.h should be embedded in a way that causes less text
+     segment bloat.
+
+107) Support more pcrs variables, for example $destination-ip-address
+     and $source-ip-address.
+
+108) Allow to use a somewhat random string intead of PRIVOXY-FORCE.