X-Git-Url: http://www.privoxy.org/gitweb/gpl.html?a=blobdiff_plain;f=TODO;h=834425222299e6bbc24302917af7b7b0064588d5;hb=ee5abceae9f104f674abd44984eefb99375ef9f5;hp=9760f1cddd27bef39a009c6eb90c4ebdb103fe80;hpb=031394b41966391e99bd65349d2ac42876417a0c;p=privoxy.git
diff --git a/TODO b/TODO
index 9760f1cd..83442522 100644
--- a/TODO
+++ b/TODO
@@ -1,14 +1,12 @@
-$Id: TODO,v 1.142 2016/02/02 13:12:33 fabiankeil Exp $
-
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
+https://www.privoxy.org/gitweb/?p=privoxy.git;a=blob_plain;f=TODO;hb=HEAD
There's work in progress to fund development on these items using
donations. If you want to donate, please have a look at:
-http://www.privoxy.org/faq/general.html#DONATE
+https://www.privoxy.org/faq/general.html#DONATE
1) Add more regression tests. Filters should be tested automatically
(variables too). Could probably reuse large parts of Privoxy-Filter-Test.
@@ -53,20 +51,6 @@ http://www.privoxy.org/faq/general.html#DONATE
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.
-
-16) Filter SSL encrypted content as well.
-
- At the beginning we could use a unencrypted connection between
- client and Privoxy, and use an encrypted connection between
- Privoxy and the server.
-
- This should be good enough for most of the content the
- user would want to filter.
-
- Interested donors: 2.
-
19) enable-forward-fallback. Syntax? Suggested by K.R.
21) User Manual delivery doesn't accept multiple slashes. Should it?
@@ -105,7 +89,7 @@ http://www.privoxy.org/faq/general.html#DONATE
Figure out a way to solve this. Introduce a cwd config option?
41) Change documentation framework to one that works cross-platform.
- Evaluate WML.
+ Evaluate WML and txt2tags.
42) Add a DTrace USDT provider. Now that FreeBSD has userland DTrace
support there's no longer any reason not to.
@@ -129,16 +113,18 @@ http://www.privoxy.org/faq/general.html#DONATE
It would probably also make sense to look into what other
projects did when migrating away from SF.
- 2014-05-13: Work in progress. Hosting wish list at the end
- of this file.
+ 2014-05: Work in progress. Hosting wish list at the end
+ of this file. Looks like most of the other projects
+ that left SF had lower standards and moved to hosters
+ that don't come close to sattisfying the requirements.
+ 2016-03: The website has been moved away from SF infrastructure
+ and is also available through https:// now.
+ 2016-04: Server rent for a year has been sponsored by ChameleonJohn.
+ 2016-04: The SF mailing lists have been deprecated, the new ones
+ are available at: https://lists.privoxy.org/
Interested donors: 1.
-54) Move away from CVS to a more modern revision control system.
- Find out if there are any objection against going with Git.
- Using Git would also have the advantage that SF now pretends
- to support it, so we could do it independently from 53).
-
58) Move more template strings from the code into the actual templates.
59) Import the German template translation.
@@ -156,17 +142,19 @@ http://www.privoxy.org/faq/general.html#DONATE
is no legal entity.
65) Polish Website. Probably involves ditching the Docbook
- mess in favour of wml. There are already several threads
- in the mailinglist archives about this. See also #41.
+ mess. There are already several threads in the mailinglist
+ archives about this. See also #41.
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.
+67) Clean up source code directory layout.
68) Use standard make syntax so we don't depend on GNU make.
69) Update autoconf setup (or move away from it).
+ Unfortunately the autoconf files can't be simply updated
+ due to license issues:
+ https://lists.privoxy.org/pipermail/privoxy-devel/2016-April/000008.html
70) If the server connection is reset but the headers are
received, consider passing the mess to the client instead
@@ -190,29 +178,10 @@ http://www.privoxy.org/faq/general.html#DONATE
79) Evaluate pcre alternatives.
-80) Change FEATURE_EXTENDED_HOST_PATTERNS to support both
- extended and vanilla host patterns at the same time.
-
- Note that the requirement is to allow the user to decide
- if the domain pattern should be interpreted as regex or
- traditional host pattern and if it's not obvious that the
- user made any decision, default to the latter.
-
- Possible solutions would be:
-
- 1. An always-use-regex-domain-patterns config option
- 2. An enable-regex-domain-patterns-for-this-action-file option
- 3. An enable-regex-domain-patterns-for-this-action-file-until-the-user-says-otherwise option
- 4. A treat-the-domain-pattern-in-this-line-as-regex(-or-not) option
- 5. Combinations of the options above
-
- With 2+4, 3+4 or 2+3+4 being the preferences until
- further discussion.
-
82) Detect if the system time goes back in time let the user
know if it caused any connections to get closed.
-85) Once #84 is done, write a script that populates a directory with
+85) Once #51 is done, write a script that populates a directory with
various common third-party icons (stumbleupon.png, facebook.png ...)
and redirect requests for them to Privoxy.
@@ -251,21 +220,11 @@ http://www.privoxy.org/faq/general.html#DONATE
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 resource, 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) Filters should be easier to look up. Currently get_filter() has to
go through all filters and skip the filter types the caller isn't
interested in.
-98) When showing action section on the CGI pages, properly escape
+98) When showing action sections on the CGI pages, properly escape
line breaks so they can be copy&pasted into action files without
adjustments.
@@ -293,8 +252,6 @@ http://www.privoxy.org/faq/general.html#DONATE
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.
@@ -342,16 +299,13 @@ http://www.privoxy.org/faq/general.html#DONATE
running out of stack space, causing the kernel to kill Privoxy
ungracefully.
-121) Add HTTP/2 support. As a first step, incomming HTTP/1.x requests
+121) Add HTTP/2 support. As a first step, incoming HTTP/1.x requests
should be translated to outgoing HTTP/2 requests where possible
(and if desired by the user).
Interested donors: 1.
122) Allow customized log messages.
-123) Evaluate if the voluntarily-disclose-session-keys option in Firefox
- (and other browsers) can be leveraged. Probably depends on #16.
-
124) Add support for the "lightweight OS capability and sandbox framework"
Capsicum. http://www.cl.cam.ac.uk/research/security/capsicum/
Interested donors: 1.
@@ -408,34 +362,15 @@ http://www.privoxy.org/faq/general.html#DONATE
forward-override). Investigate and fix or document.
141) Port Privoxy to CloudABI, which, despite the name, is actually
- rather neet. https://github.com/NuxiNL/cloudlibc
+ rather neat. https://github.com/NuxiNL/cloudlibc
142) Remove or update the "internal" pcre version.
143) Add support for OpenBSD's pledge feature once it's stablelized.
This should be a lot less work then #124.
-144) Allow Privoxy admins to pre-define tags that are be set for
- clients that previously opted-in through the CGI interface.
-
- This would be useful in multi-user setups where admins may
- want to allow users to disable certain actions and filters
- for themselves without affecting others.
-
- Even in single-user setups this could be useful to allow
- more fine-grained toggling. For example to disable request
- blocking while still crunching cookies, or to disable
- experimental filters only.
-
- Interested donors: 1.
-
-145) Once #144 is implemented, allow clients to opt-in to the
- tagging for a limited amount of time (or number of requests).
-
- Interested donors: 1.
-
-146) Once #144 is implemented, optionally allow to save the opt-in
- status to disk.
+146) Allow to save the internal client tag state to disk and
+ load it after restarts.
147) Improve "Building from Source" section in the user manual.
A common problem seems to be that it's not obvious to non-technical
@@ -444,6 +379,50 @@ http://www.privoxy.org/faq/general.html#DONATE
technical users (like Privoxy developers) who want to install or test
Privoxy on platforms they are not familiar with.
+148) Add a config directive to change the CGI_SITE_2_HOST
+ (default: config.privoxy.org).
+
+ If Privoxy is used as reverse proxy or intercepting proxy without
+ getting intercepted requests, error pages created from default templates
+ currently can result in client requests to config.privoxy.org on the
+ Internet which may not be desirable.
+
+150) Add blacklistd support.
+
+151) Let the dok-tidy target work cross-platform without introducing
+ a ton of white-space changes that hide the content changes.
+
+152) Fix CSS references in the website documentation.
+ For many pages p_doc.css is specified twice using different paths.
+ Usually at least one works, but not all of them do and the
+ duplicated requests are pointless even if they don't end up with
+ a 404.
+
+153) Catch SIGINT and use it to close the listen socket, serve
+ remaining connections and shut down. This would allow higher
+ uptime and make testing more convenient.
+
+154) Underline links in docs and cgi pages. More precisely,
+ don't mess with the browser defaults for link underlining.
+
+155) The sig_handler() shouldn't call log_error().
+ While it isn't known to cause actual problems in normal operation,
+ it's technically incorrect and causes crashes when running in
+ valgrind.
+
+156) Reject socks requests with an explicit error message similar
+ to the one used for ftp. Motivation:
+ https://lists.privoxy.org/pipermail/privoxy-users/2017-March/000195.html
+
+158) Use a single thread to wait for new requests on reused client connections.
+ Currently the thread that handles the first request on a connection
+ stays responsible for the client connect until it gets closed.
+ In case of lots of idle connections lots of waiting threads are used.
+ While it's conceivable that this ineffiency is irrelevant from a
+ performance point of view, using a single thread should reduce Privoxy's
+ memory footprint a bit which may be noticeable in case of multi-user setups
+ with hundreds of idle connections.
+
##########################################################################
Hosting wish list (relevant for #53)
@@ -454,8 +433,7 @@ What we need:
- Mailinglists (Mailman with public archives preferred)
- Webspace (on a Unix-like OS that works with the webserver targets
in GNUMakefile)
-- Source code repositories (currently CVS, but migrating away
- from it is TODO #54 anyway and shouldn't be too much trouble)
+- Git repositories
- Commit mails (preferably with unified diffs)
(Unsorted) details to look at when evaluating hosters: