summary |
shortlog | log |
commit |
commitdiff |
tree
first ⋅ prev ⋅ next
alex [Sun, 21 Jan 2001 00:49:04 +0000 (00:49 +0000)]
Update Makefile.ams and configure.in to work with new layout.
alex [Wed, 17 Jan 2001 10:49:01 +0000 (10:49 +0000)]
warn the user if a config file entry is not allowed by system config.
* src/soup-misc.c (soup_load_config_internal): warn the user if a config file entry is not allowed by system config.
* src/soup-serializer.[ch]: initial commit of simple serializer API. Uses libxml to handle tree creation.
* configure.in: check for libxml.
alex [Mon, 15 Jan 2001 23:39:51 +0000 (23:39 +0000)]
Fix a typo
alex [Mon, 15 Jan 2001 10:56:04 +0000 (10:56 +0000)]
hacked to support permissions in the global config file on which options
* src/soup-misc.c: hacked to support permissions in the global config file on which options can be set from user config files. Global config file is now always loaded first, before either a program specified file or the user's dot-file. Also supports "allow all" and "deny all" which have the expected results.
* src/soup-ssl.[ch]: move unneeded #include's to the source file.
alex [Mon, 15 Jan 2001 02:03:08 +0000 (02:03 +0000)]
Umm, ya. So I was like umm, sleepy last night and stuff. So this umm makes
* soup-socks.c: Umm, ya. So I was like umm, sleepy last night and stuff. So this umm makes last night's commit a little less embarrassing.
alex [Sun, 14 Jan 2001 10:53:00 +0000 (10:53 +0000)]
oops, forgot to mention that user local config file (~/.souprc) is now
* src/soup-misc.c: oops, forgot to mention that user local config file (~/.souprc) is now loaded after the system config file. This needs to be thought out more as administrators may not want variables overwritten.
alex [Sun, 14 Jan 2001 10:49:59 +0000 (10:49 +0000)]
SOCKS version 4 and version 5 support. This code is not very simple
* src/soup-socks.[ch]: SOCKS version 4 and version 5 support. This code is not very simple because we are attempting to make a multi-step conversation completely asyncronous. Also this includes a hack to get at GNET's GInetAddr private memebers (the sockaddr_in) for SOCKS4, as the client has to lookup the destination host address and send it to the socks proxy, and we want to use gnet to do this asyncronously.
* src/soup-context.[ch]:
* Added soup_context_get_protocol(), soup_connection_get_context(), and soup_connection_is_new() so that we can keep the abstractions between the contexts/connections and messages clean.
* soup_context_get_uri() changed to return a SoupUri instead of a string, as this is more useful.
* Made SoupProtocol a public enum so it can be returned by soup_context_get_protocol().
* src/soup-queue.c: updated to use context/connection accessors, instead of looking at private members. AB-STRAC-SHUN!
alex [Fri, 12 Jan 2001 05:59:50 +0000 (05:59 +0000)]
simple config file loading. Passing NULL as the config file name will load
* soup-misc.c (soup_load_config): simple config file loading. Passing NULL as the config file name will load from the system config file, which is $(sysconfdir)/souprc. Only options supported now are proxy-url and connection-limit.
* */.cvsignore: a little maintainer love.
alex [Thu, 11 Jan 2001 21:32:25 +0000 (21:32 +0000)]
append a '?' between path and query string in request header. NULL
* soup-queue.c (soup_get_request_header): append a '?' between path and query string in request header. NULL terminate the call to g_strconcat.
* soup-context.c (soup_context_get): bomb if url passed in does not have a protocol. do not default to HTTP.
alex [Tue, 9 Jan 2001 02:38:44 +0000 (02:38 +0000)]
Commited alpha authentication interface. Don't expect this to do anything, as I am being forced to commit it in an unready state ;-)
alex [Mon, 8 Jan 2001 06:46:34 +0000 (06:46 +0000)]
Oops. Forget to add new files and remove old ones when I renamed
* Oops. Forget to add new files and remove old ones when I renamed SoupRequest to SoupMessage.
alex [Mon, 8 Jan 2001 06:06:06 +0000 (06:06 +0000)]
make ssl work. pass the ssl iochannel to the underlying iochannel's
* soup-ssl.c (soup_ssl_add_watch): make ssl work. pass the ssl iochannel to the underlying iochannel's funcs->io_add_watch, so that our ssl functions get called. this is a hack. this will need to be fixed in order to get windows portability, as the SoupSSLChannel struct is mimicing GIOUnixChannel so the add_watch will work correctly.
* soup-queue.c (soup_queue_read_async): fix bug when searching for end of http headers where req->priv->header_len was being set whether the end was found or not.
alex [Mon, 8 Jan 2001 03:22:13 +0000 (03:22 +0000)]
Renamed SoupRequest to SoupMessage, as it contains both the request and
* Renamed SoupRequest to SoupMessage, as it contains both the request and the response, changed all API names accordingly. This had to be done, so what better time than now?
alex [Mon, 8 Jan 2001 02:58:20 +0000 (02:58 +0000)]
chunked encoding support finalized, fixed a few small buffer over
* soup-queue.c: chunked encoding support finalized, fixed a few small buffer over allocations, use strcasecmp instead of strcmp when comparing custom request headers, better error handling in soup_queue_error_async which fixes a bug found in certain IIS servers.
* soup-context.c: (soup_connection_get_iochannel) return iochannel from soup-ssl.c:soup_get_ssl_iochannel() if protocol for connection is SOUP_PROTOCOL_SHTTP.
* soup-ssl.c: simple GIOChannel wrapper around the OpenSSL library.
alex [Wed, 27 Dec 2000 22:05:34 +0000 (22:05 +0000)]
Content length is now a guint.
* soup-private.h: Content length is now a guint.
* soup-queue.c (soup_parse_headers): Added minimum status-line length check.
* soup-queue.c (soup_queue_request): Removed g_error() call for user-iwned response buffers. We now just issue a SOUP_ERROR_CANCELLED callback and print a warning.
alex [Tue, 26 Dec 2000 05:33:58 +0000 (05:33 +0000)]
Made SoupConnection wrap Gnet's TcpSocket. This means there are no gnet
* Made SoupConnection wrap Gnet's TcpSocket. This means there are no gnet references in the public interface.
* Lots of code cleanup/reorg/bugfixes.
alex [Wed, 20 Dec 2000 07:23:25 +0000 (07:23 +0000)]
Header parsing works according to spec, including multi-line headers.
* Header parsing works according to spec, including multi-line headers.
* Content-length driven responses work correctly.
* Chunked encoding almost working :)
* Updated simple-test to take a url from the command line.
alex [Wed, 13 Dec 2000 08:07:53 +0000 (08:07 +0000)]
Forgot to set the path for cases where we don't have a querystring (which
* soup-uri.c (soup_uri_new): Forgot to set the path for cases where we don't have a querystring (which is most of the time). Doh.
* soup-uri.c (soup_uri_get_default_port): No such thing as an smtp://foo@bar uri, only mailto:foo@bar.
alex [Wed, 13 Dec 2000 07:28:42 +0000 (07:28 +0000)]
Beginnings of test-suite added.
* Beginnings of test-suite added.
* Made SoupContext opaque. Removed SoupContextPrivate. Added soup_context_get_uri() to get the uri string for a given context.
* Added a response_headers hashtable to SoupRequest so the callback can do whatever it wants with passed headers. All entries in this hashtable are just parsed strings from req->priv->recv_buf, so no new strings are allocated.
* Renamed custom_headers to request_headers
* Fixed context creation logic
* Made soup_servers hashtable use case insensitive hostname matching.
* Removed SOUP_ERROR_URI_NOT_FOUND, SOUP_ERROR_URI_NOT_PERMITTED, and SOUP_ERROR_URI_OBJECT_MOVED from SoupCallbackResult enum. Its up to the application to figure out all the different HTTP states. This may change however.
* Added querystring to SoupUri, so that contexts can be cached based only on path.
* Added default port logic to SoupUri. Known protocols are https (port 443), http (80), smtp/mailto (25), and ftp (20).
alex [Tue, 12 Dec 2000 03:30:19 +0000 (03:30 +0000)]
Also changed the passing of a gchar** to a gchar* in
* Also changed the passing of a gchar** to a gchar* in soup_process_headers()'s sscanf().
alex [Tue, 12 Dec 2000 03:27:47 +0000 (03:27 +0000)]
Internal rehash of handling cases where the connection limit is reached,
* Internal rehash of handling cases where the connection limit is reached, involves setting a timeout event source to check for the ability to create a connection, and allowing either the timeout or the gnet connect routine to be canceled depending on the current connect state. Clients should now use soup_context_cancel_connect() to cancel a connection in progress.
alex [Tue, 12 Dec 2000 00:06:31 +0000 (00:06 +0000)]
Don't use glibc sscanf extensions.
* Don't use glibc sscanf extensions.
alex [Mon, 11 Dec 2000 23:46:00 +0000 (23:46 +0000)]
Better error checking on HTTP response line.
* Better error checking on HTTP response line.
* Avoid doing a lookup for every used header by iterating the hash table and doing a strcmp for all known headers. This is not necessarily faster for several cases, but it allows us to gather custom headers at the same time and avoid a second iteration.
alex [Mon, 11 Dec 2000 08:18:59 +0000 (08:18 +0000)]
Rewrote the connection pool logic, and cleaned up the request queueing
* Rewrote the connection pool logic, and cleaned up the request queueing loop.
* Added ref/unref to SoupContext.
* Made getting a connection for a SoupContext generic which cleans up the code and makes it useable for purposes other than soup.
* Connection limits handling moved to the connection pooling to avoid races, and allows for better handling when we have hit the connection limit.
* Added soup-misc.[ch] which provide global functions for getting and setting the proxy context and the connection limit.
* Changed proxy to be a SoupContext.
* Support for http headers near completion.
* Added support for custom request headers which can override the standard headers without duplication.
* Lots of code reorg and cleaning up.
alex [Thu, 7 Dec 2000 03:43:34 +0000 (03:43 +0000)]
Replaced CVS gnet feature for setting TCP_NODELAY
alex [Wed, 6 Dec 2000 22:28:48 +0000 (22:28 +0000)]
Initial version