summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--AUTHORS11
-rw-r--r--ChangeLog8
-rw-r--r--MAINTAINERS4
-rw-r--r--NEWS71
-rw-r--r--README19
-rw-r--r--TODO61
6 files changed, 143 insertions, 31 deletions
diff --git a/AUTHORS b/AUTHORS
index 7fc04d53..81cf6826 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -1,6 +1,11 @@
SOUP Authors
============
-Alex Graveley <alex@ximian.com>
-Dick Porter <dick@ximian.com>
-Miguel De Icaza <miguel@ximian.com>
+Original SOUP 0.0 - 0.7:
+ Alex Graveley
+ Dick Porter
+ Miguel De Icaza
+
+libsoup 1.99.x - 2.2:
+ Joe Shaw
+ Dan Winship
diff --git a/ChangeLog b/ChangeLog
index 28f19786..bca14f68 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,13 @@
2004-08-26 Dan Winship <danw@novell.com>
+ * AUTHORS: Update this to reflect the last 2 years.
+
+ * NEWS: Brief summary of 1.99.x -> 2.2 changes
+
+ * README, TODO: Updates
+
+2004-08-26 Dan Winship <danw@novell.com>
+
* libsoup/*: add/fix lots of gtk-doc comments
* libsoup/soup-misc.c (soup_str_case_hash, soup_str_case_equal):
diff --git a/MAINTAINERS b/MAINTAINERS
index 94b373eb..b6b03323 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -1,2 +1,2 @@
-Joe Shaw <joe@ximian.com>
-Dan Winship <danw@ximian.com>
+Joe Shaw <joeshaw@novell.com>
+Dan Winship <danw@novell.com>
diff --git a/NEWS b/NEWS
index e69de29b..10e71f5a 100644
--- a/NEWS
+++ b/NEWS
@@ -0,0 +1,71 @@
+Changes in libsoup from the 2.0 series (1.99.x versions) to 2.2:
+
+ * Most of the libsoup datatypes are now GObjects. (SoupUri
+ is currently an exception to this.)
+
+ * SoupMessage now emits signals at various stages of
+ processing. (Eg, "wrote_body", "got_headers".) (You
+ can also still use soup_message_add_*handler().)
+
+ * SoupContexts are gone; soup_message_new() now takes a URI
+ string.
+
+ * All formerly global state is now maintained by the
+ SoupSession object. (This includes the connection pool,
+ proxy server, cached authentication information, SSL
+ certificates, etc.)
+
+ * You can create a SoupSessionAsync (for 2.0-like
+ behavior) or SoupSessionSync (for blocking,
+ synchronous usage).
+
+ * You can add SoupMessageFilter objects to a session
+ to have certain processing automatically performed
+ on every message sent via that session. (Eg, setting
+ up handlers.)
+
+ * NTLM authentication is no longer supported by
+ default. You must enable it by setting the
+ SOUP_SESSION_USE_NTLM flag on the session.
+
+ * The preferred method of handling authentication is
+ now via the "authenticate" and "reauthenticate"
+ signals on SoupSession. (The old style, of encoding
+ the user and password information into the url is
+ also still supported.)
+
+ * The SOUP_ERROR_* values are now SOUP_STATUS_* (so that we
+ don't have "SOUP_ERROR_OK" and the like).
+
+ * SOUP_MESSAGE_IS_ERROR() is gone, since some cases
+ want to include 3xx responses and some don't.
+
+ * SOUP_ERROR_CANT_AUTHENTICATE and
+ SOUP_ERROR_CANT_AUTHENTICATE_PROXY are now gone,
+ since they didn't carry any information that
+ SOUP_STATUS_UNAUTHORIZED and
+ SOUP_STATUS_PROXY_UNAUTHORIZED don't.
+
+ * DNS errors now show up as the new status code
+ SOUP_STATUS_CANT_RESOLVE rather than being mixed in
+ with SOUP_ERROR_CANT_CONNECT.
+
+ * Minimal SOAP support has been added back, via
+ SoupSoapMessage/SoupSoapResponse
+
+ * The HTTP I/O state machine was completely rewritten, fixing
+ numerous crashes, leaks, and protocol errors.
+
+ * SoupUri now conforms to RFC 2396. Mostly.
+
+ * Various test programs have been added under tests/
+
+ * Removed:
+
+ * Support for OpenSSL (which was horribly buggy) and
+ Mozilla NSS (which was never finished). We only
+ support GNUTLS for SSL now.
+
+ * SOCKS support
+
+ * CGI support in SoupServer
diff --git a/README b/README
index 63b108ff..947611d3 100644
--- a/README
+++ b/README
@@ -1,12 +1,12 @@
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.
+a SOAP (Simple Object Access Protocol) implementation, but the SOAP
+code was later removed (and then later partially reimplemented...)
-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 uses GObjects and the glib main loop, and is designed to work
+well with Gtk/GNOME 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.
@@ -18,6 +18,11 @@ Features:
* Client support for Digest, NTLM, and Basic authentication
* Server support for Digest and Basic authentication
+See the test programs in tests/ for simple examples of how to use the
+code, or evolution-data-server and evolution-exchange for more
+complicated examples.
+
+
To subscribe to the Soup discussion list, send mail with the word
"Subscribe" in the message body to soup-list-request@ximian.com.
diff --git a/TODO b/TODO
index f293b1d6..5476af6a 100644
--- a/TODO
+++ b/TODO
@@ -1,3 +1,12 @@
+Known bugs/warts to fix
+-----------------------
+* Needs to be possible to register new auth types with soup-auth.c
+
+* SoupAuthDigest/SoupServerAuthDigest don't support qop="auth-int"
+
+* We don't handle trailers in chunked responses
+
+
HTTP Features
-------------
@@ -14,9 +23,18 @@ HTTP Features
* Pipelining
-* Add qop="auth-int" support to digest auth (both client and server)
-* Handle trailers in chunked responses
+SOAP/XML-RPC Features
+---------------------
+
+* Add XML-RPC support (bug-buddy wants this)
+
+* Bring back WSDL compiler from old soup module?
+
+* The current SoupSoapMessage/Response API doesn't really make life a
+ whole lot easier for the user... You have to marshall the data in
+ exactly the right order anyway, so you might as well just be
+ g_string_appending...
Misc Features
@@ -27,9 +45,8 @@ Misc Features
* Bring back CGI server support? (Split SoupServer into SoupServerTCP
and SoupServerCGI)
-* Bring back WSDL compiler from old soup module?
-
-* Use gconf for config data (especially proxy info)
+* Use gconf for config data
+ * automatically pick up GNOME-wide proxy settings
* rcd doesn't want more dependencies, so make this optional
@@ -37,11 +54,14 @@ General/API stuff
-----------------
* Thread safety
- * This is at least minimally done, but need to figure out
- what other things need to be thread-safe, and document
- which ones aren't.
+ * This is at mostly done, but need to figure out what other
+ things need to be thread-safe, and document which ones
+ aren't.
* Documentation (API, tutorial)
+ * gtk-doc is not currently picking up all of the objects.
+ This probably has something to do with the fact that
+ some of the typdefs are in soup-types.h.
* User-Agent handling: caller should specify a User-Agent string to
SoupSession, and soup should automatically append libsoup/#.## to
@@ -52,7 +72,8 @@ General/API stuff
write more than you can, the EAGAIN is returned all they way to the
caller, who must call the relevant soup function again later to
continue reading or writing).
- * needed if we wanted to do a soup-based gnome-vfs http backend
+ * needed if we wanted to do a soup-based gnome-vfs http
+ backend
* Explicit support for Range header
@@ -61,27 +82,26 @@ General/API stuff
* Merge SoupMessage and SoupServerMessage (allow chunked requests)
* Improve SoupServer handlers to allow for expect-continue handling,
- reading chunked requests a chunk at a time, etc. (Use
- SoupMessageFilter for consistency.)
+ reading chunked requests a chunk at a time, etc.
+ * Use SoupMessageFilter
+ * Improving SoupServer's API will probably result in
+ completely breaking it.
* SoupProxy (based on simple-proxy, but better), which connects a
SoupServer to a SoupSession with SoupMessageFilters in between.
+ * Make it possible to implement CONNECT on the server side (by
+ having a way to steal the socket from the SoupServer).
-* Add date-parsing/generating routines (all formats)
-
-* Special handling on server side for HEAD (ignore response.body).
+* Add date-parsing/generating routines (all HTTP-specified formats)
-* Make it possible to send/receive "OPTIONS * HTTP/1.1" (SoupURL won't
- accept "*")
-
-* Make it possible to implement CONNECT on the server side (by having
- a way to steal the socket from the SoupServer).
+* Special handling on server side for HEAD (don't send response.body).
* Simple higher-level API (a la E2kContext)
* the Connector stuff has a lot of Exchange-specific
assumptions and exceptions. Might not be possible to
migrate Connector to a generic API
+
Testing
-------
@@ -115,5 +135,8 @@ Conformance
* MUST observe DNS TTL information
+* Make it possible to send/receive "OPTIONS * HTTP/1.1" (SoupURI won't
+ currently accept "*")
+
* [get SHOULDs and SHOULD NOTs in]