1- GskBuffer profiling... currently we use 16 32k buffers...
2  is there any way to optimize this?
3- searchpath in dns is not obeyed (gsk-dns-client's client-task needs
4  a "searchpath_index" member that tries the global domain only
5  after all search paths.)
6- deal with raise() bug on RH9.0  (!= kill (getpid(), sig))
7- error handling (mostly marked by XXX/TODO flags)
8  - hunt down g_warnings and g_messages that should be GError returns
9- fix XXX marks in dns code
10- fix XXX marks in http code
11- add sufficient test code to GskMimeMultipartDecoder to remove
12  debugging prints
13- FTP support
14- mailto: URIs
15- basic tutorials need serious work. [simple-http-server is very misleading, should use gskhttpcontent]
16- BUILD: should check for zlib
17- TODO: contention on POST data:  right now, we buffer as much
18   data as the user feels like giving us... need to block the hook.
19- TODO: GskStreamConnection::handle_error() needs to NOT just warn,
20  it needs to be adjustable (ie a signal or trap)
21  (or a bunch of bits to suppress certain errors, EPIPE, ECONNREFUSED etc)
22- optimization: use read_buffer() and write_buffer() in gskstreamconnection
23- http: Chunked-Body doesn't support a Trailer.
24- HTTP authentication.
25  - DONE: most of the structures and parsing are in place.
26    Still some TODOs in the parsing code that may require structural changes.
27    GskHttp{Request,Response} have the necessary members.
28  - Need methods to compute and check "authorization".
29    Hence digest does not even come close to working.
30  - Need to add support to gskhttpheader-output.c
31  - Need support in url-transfer-http (for client-side)
32  - Need support in GskHttpContent (for server-side)
33- missing HTTP headers:
34   Vary: *
35   Cache-Expires: Thu, 24 Mar 2005 13:11:58 GMT
36   Vary: Accept-Encoding, User-Agent
37   Via: 1.1 siterl10 (Redline Networks Web I/O Processor - T|X 3.2.18 0)
38   Expires: now
39   Expires: -1
40   Expires: 0
41   Content-Location: http://foo.com
42   Compression-Control: whitespace
43   Keep-Alive:
44   Proxy-Connection:
45- need list of commmon extensions that we don't want to be warned
46  about:  P3P, MicrosoftOfficeWebServer, Page-Completion-Status,
47  IISExport, test, MS-Author-Via
48
49
50- split gskrbtreemacros subparts into gsktreemacros.
51  the trick is that gsk_tree_insert() needs hooks to
52  implement gsk_rbtree_insert(); likewise
53  for "remove".  otherwise, all other methods don't use the redness,
54  hence gsk_tree_XXX and gsk_rbtree_XXX are equivalent.
55- gsk_tree_replace_node() [and rbtree variant]
56
57- url_check_is_valid() needs conformance review
58- url_check_is_valid() must be called in all the constructor-pathways:
59  gsk_url_new(), gsk_url_new_relative(), gsk_url_new_from_pieces();
60  probably need a gsk_url_new_from_pieces_check() that
61  does this, since the non-_check version doesn't return an error.
62- caused a warning: (but aren't probably worth fixing)
63   From: NEWSWEB08
64   P3P: policyref="http://www.lycos.com/w3c/p3p.xml", CP="IDC DSP COR CURa ADMa DEVa CUSa PSAa IVAa CONo OUR IND UNI STA"
65   PICS-Label: (PICS-1.0 "http://www.rsac.org/ratingsv01.html" l on "2003.09.02T11:37-0700" exp "2004.09.02T12:00-0700" r (v 0 s 0 n 0 l 0))
66   P3P: CP="BUS CUR CONo FIN IVDo ONL OUR PHY SAMo TELo"
67- the malformed HTTP header flag:
68    Content-Type: text/html; charset!UTF-8
69  causes the parser to hang.
70- apparently, http headers can be continued on the next line,
71  if the next line starts with whitespace!
72  this needs fixing in gskhttpserver.c, gskhttpclient.c
73  and gskhttpheader-input.c.
74
75Someday:
76- GskHttpClientCache, to take advantage of Keep-Alive transparently.
77  XXX: instead integrate into GskUrlTransferHttp
78- MAIL support [IMAP and POP3/4 etc] [client first, then server]
79- RFC compliance sections in the docs would be awesome.
80
81need full test code:
82- GskHook basics [test all macros and basic interactions]
83- GskMemory tests [test hooking memory sources together]
84- GskHttpHeader tests: [test TEXT->PARSED->TEXT->PARSED->TEXT expectations]
85  [see test-http-header for beginnings]
86- GskHook recursion tests [test various reentrance conditions]
87- see the 'coverage' file output by utils/get-coverage.
88- test code for gskxmlrpcstream
89