2003-12-22 Dan Winship <danw@ximian.com>
+ * README, TODO: Update these
+
+2003-12-22 Dan Winship <danw@ximian.com>
+
* libsoup/soup-socket.c: Lots of thread-safety stuff, primarly so
you can disconnect a socket from one thread while doing I/O in
another.
-Libsoup is an HTTP library implementation in C. It was originally part
-of a SOAP (Simple Object Access Protocol) implementation called Soup, but
-the SOAP and non-SOAP parts have now been split into separate packages.
+Soup is an HTTP library implementation in C. It was originally part of
+a SOAP (Simple Object Access Protocol) implementation, but most of the
+SOAP code has since been removed.
-libsoup uses the Glib main loop and is designed to work well with GTK
+Soup uses the Glib main loop and is designed to work well with GTK
applications. This enables GNOME applications to access HTTP servers
on the network in a completely asynchronous fashion, very similar to
the Gtk+ programming model (a synchronous operation mode is also
supported for those who want it).
+Soup also contains code to implement an HTTP/1.1 server.
+
Features:
- * Completely Asynchronous
- * Connection cache
- * HTTP chunked transfer support
- * HTTP, SOCKS4, and SOCKS5 authenticated proxy support
- * SSL Support using OpenSSL or GnuTLS
+ * (Optionally) completely asynchronous
+ * Automatically caches connections
+ * SSL Support using GnuTLS
+ * Proxy support, including authentication and SSL tunneling
* Client support for Digest, NTLM, and Basic authentication
- * HTTP server
* Server support for Digest and Basic authentication
To subscribe to the Soup discussion list, send mail with the word
TODO:
====
-* Thread safety
+* Thread safety (started)
-* Support M-POST
+* Documentation (API, tutorial)
-* Documentation
+* Use gconf for config data (especially proxy info)
-* Tutorial Documentation
+* Bring back WSDL compiler from old soup module?
-* Simple Soap Example clients and servers (time, updates, terraserver, ...)
+* Bring back SOCKS support?
-* Auto-detect SOCKS version
+* Bring back CGI server support? (Split SoupServer into SoupServerTCP
+ and SoupServerCGI)
-* Use gconf for config data
+* Handle gzip Content-Encoding
-* Handle gzip transfer encoding
+* Add a SoupMessageFilter implementation to handle cookies (RFC 2965)
-* UDDI support
+* Add a SoupMessageFilter implementation to handle caching (rcd has
+ some of the logic for this already).
-* Disco support
+* More regression tests
-* DIME support
+* Add apache config files to tests/ so that apache can be run locally
+ to run regression tests against
-* SOAP Routing Protocol serializer wrappers
+* Merge soup-server-auth.c with the client auth implementation.
+ Likewise, make soup-server-message.c less of a hack.
-* Simple POP and SMTP engine.
+* User-Agent handling: caller should specify a User-Agent string to
+ SoupSession, and soup should automatically append libsoup/#.## to
+ that. (Likewise for Server/Via headers.)
-* libcamel integration for POP or IMAP
+* Explicit range support (?)
-* Handle SOAP Attachments in HTTP and SMTP (use gmime)
+* NTLM Proxy-Authentication support, GSS-Negotiate support
-* C++ wrapper
+* Pipelining
-* GTK or Bonobo object generation
+
+Known bugs:
+==========
+
+* Digest auth does not support qop="auth-int" (both client and server)
+
+* Trailers in chunked responses are not handled
+
+* simple-proxy is not very RFC compliant