X-Git-Url: http://www.privoxy.org/gitweb/?p=privoxy.git;a=blobdiff_plain;f=TODO;h=834425222299e6bbc24302917af7b7b0064588d5;hp=1ad3d6d52f5f07b9a2636428b1e11afdcf5c181b;hb=8b25a6cd8e01dda57e692397e41d99c2f2c642bd;hpb=0dc6d9e4e6ee4a45d7a30da7941b06d685b8af84 diff --git a/TODO b/TODO index 1ad3d6d5..83442522 100644 --- a/TODO +++ b/TODO @@ -1,14 +1,12 @@ -$Id: TODO,v 1.132 2015/08/12 10:38:16 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. @@ -47,22 +45,12 @@ http://www.privoxy.org/faq/general.html#DONATE 11) CGI templates should use semantically-correct HTML and scale properly. + Work in progress. + 12) Support pipelining for outgoing connections. 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. - 19) enable-forward-fallback. Syntax? Suggested by K.R. 21) User Manual delivery doesn't accept multiple slashes. Should it? @@ -101,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. @@ -125,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. @@ -152,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 @@ -186,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. @@ -247,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. @@ -274,6 +237,7 @@ http://www.privoxy.org/faq/general.html#DONATE 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. + Interested donors: 1. 102) Add an include directive to split the config file into several parts. @@ -288,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. @@ -337,15 +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. @@ -377,14 +337,8 @@ http://www.privoxy.org/faq/general.html#DONATE an action so the behaviour can be enabled on a per-request basis. Interested donors: 1. -132) Provide a Tor hidden service to reach the Privoxy website. - Work in progress: http://jvauzb4sb3bwlsnc.onion/ - This hidden service serves a copy of the www.privoxy.org content - (filtered through Privoxy to replace some absolute URLs). - Interested donors: 1. - 133) Consider allowing bitcoin donations. - Interested donors: 1. + Interested donors: 2. 134) Track the total number of bytes written to and received from a socket. @@ -403,11 +357,72 @@ http://www.privoxy.org/faq/general.html#DONATE but making the reporting mechanism available again would be a good idea. +140) Toggling Privoxy off currently also disables stuff that + probably shouldn't be affected (such as actions like + 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. + +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 + users how the listed dependencies can be installed on the commonly + used platforms. Adding a couple of examples should also be useful for + 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) @@ -418,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: