X-Git-Url: http://www.privoxy.org/gitweb/gpl.html?a=blobdiff_plain;f=TODO;h=829e83a379458e0bb6c40c2d636eb25d407bb0b8;hb=9c13c9949b9d2d1db31fcb5b1037154498b7dd38;hp=95a1be86511db2dd30368d99c590a52f1873c257;hpb=c32ef8dccd73237468f55f0301db83a4d8b539a7;p=privoxy.git
diff --git a/TODO b/TODO
index 95a1be86..829e83a3 100644
--- a/TODO
+++ b/TODO
@@ -1,16 +1,18 @@
-$Id: TODO,v 1.40 2011/04/16 17:30:23 fabiankeil Exp $
+$Id: TODO,v 1.78 2013/02/26 15:10:18 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,18 +42,7 @@ have been added, not by priority.
11) CGI templates should use semantically-correct HTML
and scale properly.
-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.
+12) Support pipelining for outgoing connections.
14) Allow to filter POST parameters.
@@ -107,7 +98,7 @@ 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.
43) Write a tool to check URL patterns against URLs in the log file.
@@ -116,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.
@@ -163,13 +152,13 @@ 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.
+ 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 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.
@@ -179,9 +168,6 @@ have been added, not by priority.
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.
@@ -222,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.
@@ -240,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
@@ -254,3 +238,79 @@ have been added, not by priority.
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.
+
+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.
+
+109) Let log_error() support the format specifier %S which should
+ work like %s but escape new lines like %N. This would be useful
+ to log the result of header filters which may inject new lines.
+
+110) Add a global-buffer-limit directive that roughly limits how
+ much malloc'ed memory Privoxy will use and can potentionally
+ be smaller than (buffer-limit * max-client-connections).