Add #95: Support a non-standard client header in CONNECT requests that contains the...
[privoxy.git] / TODO
diff --git a/TODO b/TODO
index b446c63..1950d9d 100644 (file)
--- a/TODO
+++ b/TODO
@@ -1,6 +1,7 @@
-$Id: TODO,v 1.32 2011/01/24 18:12:44 fabiankeil Exp $
+$Id: TODO,v 1.49 2011/07/19 11:00:38 fabiankeil Exp $
 
-Some Privoxy related tasks, not ordered in any way.
+Some Privoxy related tasks, sorted by the time they
+have been added, not by priority.
 
 1)  Add some regression tests. Filters should be tested automatically
     (variables too). Could probably reuse large parts of Privoxy-Filter-Test.
@@ -41,19 +42,7 @@ Some Privoxy related tasks, not ordered in any way.
 
 12) Add pipelining support.
 
-13) Use zlib to deflate content before sending it to
-    the client. Measure if it makes a difference.
-
-    Update:
-    Note that this is already being worked on and mostly done
-    for buffered content and internal CGI responses.
-
-    The difference it does make, seems to be that it slows things
-    down if the client and Privoxy are running on the same system,
-    so for most users enabling it will make no sense.
-
-14) Log and filter POST parameters. They can now be logged with
-    the noisy debug 32768, but are still not filtered.
+14) Allow to filter POST parameters.
 
 15) If trusted CGI pages are requested without trusted referrer,
     set the status code to 403 instead of 200.
@@ -94,25 +83,22 @@ Some Privoxy related tasks, not ordered in any way.
 32) In case of forwarding failures with socks port == 9050,
     show extra info about Tor (the whole FAQ entry?).
 
-35) Do less work in the accept_connection() thread.
-    Partly done. Good enough?
-
 36) Unload unused action files directly, even if they are
     disabled without replacement.
 
 38) In the final results, explicitly list disabled multi actions
     with their parameters. Not as trivial as it sounds.
 
-39) Verify loadcfg.c jarfile reloading and friends.
-    /* XXX: Does disabling this actually work? */
-
-40) Fix core dumping in daemon mode. Introduce a cwd config option?
+40) When running in daemon mode, Privoxy's working directory is '/'
+    which means it may not have permissions to dump core when necessary.
+    Figure out a way to solve this. Introduce a cwd config option?
 
 41) Change documentation framework to one that works cross-platform.
     Evaluate WML.
 
 42) Add DTrace hooks. 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.
@@ -168,12 +154,12 @@ Some Privoxy related tasks, not ordered in any way.
 
 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.
+    in the mailinglists archives about this. See also #41.
 
 66) Increase maximum number of action and filter files.
 
-67) Clean up directory layout. Depends on 54 so we don't
-    lose the revision history.
+67) Clean up source code directory layout. Depends on 54 so
+    we don't lose the revision history.
 
 68) Use standard make syntax so we don't depend on GNU make.
 
@@ -183,9 +169,6 @@ Some Privoxy related tasks, not ordered in any way.
     received, consider passing the mess to the client instead
     of showing the connect-failed template. Relates to #2698674.
 
-71) Allow to listen on multiple addresses without having to
-    bind to all.
-
 74) Let Privoxy-Regression-Test optionally check that action
     sections which disable actions actually are preceded by
     sections that enable said actions.
@@ -223,8 +206,6 @@ Some Privoxy related tasks, not ordered in any way.
     With 2+4, 3+4 or 2+3+4 being the preferences until
     further discussion.
 
-81) Merge Fabian's unlimited-config-lines branch.
-
 82) Detect if the system time goes back in time let the user
     know if it caused any connections to get closed.
 
@@ -251,3 +232,37 @@ Some Privoxy related tasks, not ordered in any way.
 89) When multiple block actions apply, consider showing all the block
     reasons on the blocked page that haven't been overruled, not just
     the last one.
+
+90) Implement NO-TAG: patterns that enable a section if the
+    provided pattern doesn't match any TAG. This would make
+    some things cleaner.
+
+91) Add an optional limit for internal redirects. It would probably
+    be reasonable to default to a limit of one and showing an error
+    message if the request for the redirect URL would be redirected
+    again.
+
+92) The statistics currently aren't calculated correctly by Privoxy
+    as each thread is only counted as one request which is no longer
+    correct. This should be fixed, or the statistic code removed.
+    Privoxy-Log-Parser's provides more detailed statistics, anyway.
+
+93) Add a config directive to let Privoxy explicitly request either
+    IPv4 (or IPv6) addresses, even if the system supports both.
+    Could be useful as a workaround for misconfigured setups where the
+    libc returns IPv6 addresses even if there's no IPv6 connectivity.
+
+94) Add a config directive to let Privoxy prefer either IPv4 (or IPv6)
+    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.