TODO

version 2.20 and above

- add functional tests

- Traceback (most recent call last):
  File "/home/calvin/projects/webcleaner/webcleaner", line 170, in ?
    main(sys.argv[1:])
  File "/home/calvin/projects/webcleaner/webcleaner", line 166, in main
    return main_posix(configdir)
  File "/home/calvin/projects/webcleaner/webcleaner", line 142, in main_posix
    wc.wstartfunc(confdir=configdir)
  File "/home/calvin/projects/webcleaner/wc/__init__.py", line 153, in wstartfunc
    wc.proxy.mainloop(handle=handle, abort=abort)
  File "/home/calvin/projects/webcleaner/wc/proxy/__init__.py", line 178, in mainloop
    proxy_poll(timeout=max(0, run_timers()))
  File "/home/calvin/projects/webcleaner/wc/proxy/__init__.py", line 137, in proxy_poll
    x.handle_read_event()
  File "/home/calvin/projects/webcleaner/wc/proxy/Dispatcher.py", line 249, in handle_read_event
    self.handle_read()
  File "/home/calvin/projects/webcleaner/wc/proxy/Connection.py", line 82, in handle_read
    self.process_read()
  File "/home/calvin/projects/webcleaner/wc/proxy/HttpServer.py", line 199, in process_read
    if self.delegate_read():
  File "/home/calvin/projects/webcleaner/wc/proxy/StatefulConnection.py", line 35, in delegate_read
    getattr(self, 'process_'+self.state)()
  File "/home/calvin/projects/webcleaner/wc/proxy/HttpServer.py", line 418, in process_content
    self.client.server_content(data)
  File "/home/calvin/projects/webcleaner/wc/proxy/HttpClient.py", line 443, in server_content
    assert self.server, "%s server_content had no server"%self
AssertionError: <client:request  being read> server_content had no server

invalid js url:
http://www.burstnet.com/cgi-bin/ads/ad8328a.cgi/v=2.0S/sz=468x60A|728x90A/65740/RETURN-CODE/JS/
http://adstome.com/phpads/adjs.php?n=864959011&what=zone:5&exclude=,

- http://www.sane.com/demo/NetTracker/intranet/index.html
  JS navi not there

- ssl certificate verification

- memory leaks while operating the proxy

- allow filtering/blocking by MIME type

- bfilter has Flash parse and generation library, I want that too .)

- test NTLM authentication
  Mozilla >= 1.6b can test NTLM server auth, squid can test client auth

- NTLM: restore old method type when method was not GET

- NTLM: reconnect to parent proxy after first 407 error (squid closes
  the connection)

- unicode parsing for flex
  the HTML parser (written with flex) does not support unicode, so
  sometimes you'll see '?' chars in the HTML output.

- IPv6 support (there are some stubs already, but untested, and DNS
  library is missing IPv6 support)
  Big problem: how do we decide when to send out IPv6 DNS queries?

- integrate with http://mute-net.sourceforge.net/ somehow?

