-2002-05-31 Jacob Berkman <jacob@ximian.com>
+2002-11-05 Dan Winship <danw@ximian.com>
- * src/libsoup/soup-message.h (SoupHandlerFilterType): add
- 'typedef'
+ * Split libsoup out of soup. ChangeLog.old contains the original
+ soup ChangeLog.
-2002-04-08 Alex Graveley <alex@ximian.com>
+ * Makefile.am, etc: Fix things up to work with the new directory
+ layout. Disable docs until we fix them.
- * src/libsoup/soup-server.c (auth_context_copy): Return copied
- auth context. doh.
+ * autogen.sh: Use gnome-autogen.sh
-2002-03-21 Alex Graveley <alex@ximian.com>
+ * configure.in: Require autoconf 2.53. Remove stuff that was only
+ needed for httpd or wsdl code. Remove glib1 support. Bump version
+ to 2.0.
- * src/libsoup/soup-queue.c (soup_queue_read_headers_cb): Handle
- forced no-content response codes 204, 205, and 304. Check
- transfer-encoding before content-length to handle broken
- Traffic-Server proxies.
-
-2002-03-20 Alex Graveley <alex@ximian.com>
-
- * src/libsoup/soup-server.c (soup_server_get_handler): Return
- default handler if none exist. Unregister default handler before
- resetting.
- (soup_server_register): Break out auth copying.
- (auth_context_copy): To here.
-
-2002-03-20 Alex Graveley <alex@ximian.com>
-
- * src/libsoup/soup-queue.c (start_request): Issue callback
- directly as we might not be in the request processing loop.
- (proxy_connect): Ditto.
- (soup_queue_connect_cb): Ditto.
- (request_in_progress): Impl. Check request is in queue.
- (soup_idle_handle_new_requests): Use request_in_progress before
- assigning connect_tag.
-
-2002-03-13 Alex Graveley <alex@ximian.com>
-
- * src/soup-httpd/soup-httpd.c (ap_ctx_get): Add stub so
- soup-apache modules an be run by soup-httpd.
- (ap_get_server_port): Ditto.
-
- * src/soup-wsdl/wsdl-soap-skels.c (wsdl_emit_soap_skels_service):
- Generate the _get_server function, which returns a SoupServer
- representing the protocol/port defined in the WSDL file.
-
- * tests/stockquote2-mod-server.sh: Added. Runs soup-httpd using
- the libstockquote2.so module generated from
- tests/stockquote2-mod-server.c
-
- * tests/stockquote2-mod-server.c: Update for new API generated by
- soup-wsdl.
-
- * tests/mod-server-test.c (soup_server_init): Update for new
- soup_server_register API.
-
-2002-03-13 Alex Graveley <alex@ximian.com>
-
- * tests/stockquote2-client.c (callback): Check for transport
- error.
-
- * src/libsoup/soup-env.c (soup_env_get_header): Handle fully
- qualified header names in URL form.
-
-2002-03-13 Alex Graveley <alex@ximian.com>
-
- * src/soup-wsdl/wsdl-soap-stubs.c (emit_sync_stub): #if 0 out
- generated code to use overridden URL in requests.
-
- * src/libsoup/soup-env.c (copy_header): Make static.
-
- * src/libsoup/soup-env.h: Fix macros.
-
- * tests/stockquote2-client.c: Update for new client API.
-
-2002-03-13 Alex Graveley <alex@ximian.com>
-
- * tests/stockquote2-server.c: Update for new server API.
-
- * tests/server-test.c (soup_server_init): Use auth_callback to
- validate requests to /hello.
-
-2002-03-13 Alex Graveley <alex@ximian.com>
-
- * src/libwsdl/wsdl-soap-parse.c (wsdl_soap_headers): Use
- soup_env_add_recv_header to add the new header to the incoming
- headers.
-
-2002-03-12 Alex Graveley <alex@ximian.com>
-
- * src/soup-ssl-proxy/soup-openssl.c (soup_openssl_get_iochannel):
- Loop on SSL_connect for some buggy versions of OpenSSL that still
- return SSL_ERROR_WANT_READ/WRITE even for syncronous sockets.
- Thanks to Chris Toshok for finding this.
-
-2002-03-11 Alex Graveley <alex@ximian.com>
-
- * configure.in, src/libsoup/soup-private.h: Bump development
- version to 0.7.99.
-
- * Merge all changes from soup-0-6 branch.
-
-2002-03-07 Alex Graveley <alex@ximian.com>
-
- * configure.in: SOUP_AGE goes to 1, SOUP_CURRENT goes to 4.
- Update version to 0.6.99.
-
- * src/libsoup/soup-private.h (VERSION): Update win version to
- Win/0.6.99.
-
-2002-03-07 Alex Graveley <alex@ximian.com>
-
- * src/libsoup/soup-context.c (soup_context_connect_cb): Remove
- debugging g_print.
-
-2002-03-07 Alex Graveley <alex@ximian.com>
-
- * src/libsoup/soup-socket.h: Add soup_address_lookup_in_cache.
-
- * src/libsoup/soup-socket.c (soup_socket_connect): Handle host
- address already being resolved by checking in address cache.
- Allows us to return a non-null state pointer if soup_address_new
- calls its callback inline, but soup_socket_new does not.
-
- * src/libsoup/soup-socket-unix.c (lookup_in_cache_internal): Impl,
- checks the address cache for an existing resolved address or
- in progress lookup.
- (soup_address_lookup_in_cache): Impl, return existing resolved
- address if it exists.
- (soup_address_new): use lookup_in_cache_internal.
-
- * src/libsoup/soup-socket-win.c (soup_address_get_cached): Impl,
- return NULL as windows has no address hash.
-
-2002-02-26 JP Rosevear <jpr@ximian.com>
-
- * src/libsoup/soup-socket-unix.c (soup_address_new): inaddr is a
- different type for inet_addr, calculate sizeof directly
-
-2002-02-25 JP Rosevear <jpr@ximian.com>
-
- * src/libsoup/soup-socket-unix.c: apparently some platforms don't
- define INADDR_NONE either
-
-2002-02-25 JP Rosevear <jpr@ximian.com>
-
- * src/soup-httpd/Makefile.am: add popt cflags to includes
-
- * src/libsoup/soup-socket.c: apparently INET_ADDRSTRLEN is not
- defined on some unix platforms
-
- * src/libsoup/soup-socket-unix.c (soup_address_new): handle not
- have inet_pton and inet_aton with inet_addr
-
- * configure.in: check for inet_aton as well and allow config
- options to specify popt location
-
-2002-02-23 Alex Graveley <alex@ximian.com>
-
- * src/libsoup/soup-queue.c (proxy_connect): Pull proxy connection
- code out of soup_queue_connect_cb to here.
- (start_request): Delay calling soup_message_issue_callback here.
- (soup_queue_connect_cb): Ditto.
- (soup_idle_handle_new_requests): Call soup_message_issue_callback
- if req->errorcode is set. This avoids an FMW when setting the
- connect tag on a request which has a connect error and has been
- freed.
-
- * src/libsoup/soup-message.c (requeue_connect_cb): Call
- soup_message_issue_callback if req->errorcode is set.
-
- * src/libsoup/soup-context.c (soup_context_connect_cb): Add
- timeout handler to retry connect if new connection failed and
- there are existing connections to this host.
- (soup_context_get_connection): Drop timeout interval to 150 from 500.
-
- * src/libsoup/soup-misc.c: Set default connection limit to 10.
-
-2002-02-17 Alex Graveley <alex@ximian.com>
-
- * src/libsoup/soup-socket.c (soup_socket_connect_inetaddr_cb):
- Check result from soup_socket_new.
-
- * src/libsoup/soup-queue.c (soup_idle_handle_new_requests): Check
- result from soup_context_get_connection.
-
- * src/libsoup/soup-context.c (soup_context_connect_cb): Don't
- access 'data' after free.
- (soup_context_get_connection): Check return from
- soup_socket_connect, as a null result means our callback has been
- issued and our state freed.
-
-2002-02-15 Dan Winship <danw@ximian.com>
-
- * src/libsoup/soup-queue.c (soup_queue_shutdown): Only
- g_source_remove the idle handler if it's been set, to avoid a glib
- warning.
-
-2002-02-14 Alex Graveley <alex@ximian.com>
-
- * src/libsoup/soup-message.c (soup_message_send): Check if
- soup_initialized is FALSE signifying that soup_shutdown has been
- called while processing.
-
- * src/libsoup/soup-queue.c (soup_queue_shutdown): Set
- soup_initialized to FALSE so any currently running synch sends
- will quit.
-
-2002-02-13 Ettore Perazzoli <ettore@ximian.com>
-
- * src/libsoup/soup-ntlm.c (soup_ntlm_response): Set `decodelen' to
- be 5 bytes less than the challenge's length to avoid overflowing
- the input buffer.
-
-2002-02-13 Dan Winship <danw@ximian.com>
-
- * src/libsoup/soup-queue.c (soup_queue_add_request,
- soup_queue_remove_request, soup_queue_first_request,
- soup_queue_next_request): Routines to all simulataneous iteration
- and modification of the active request list. Fixes Ximian 14030.
- (soup_idle_handle_new_requests): Use the above functions.
- (soup_queue_message): Likewise.
- (soup_queue_shutdown): Likewise.
-
- * src/libsoup/soup-message.c (soup_message_cleanup): Use
- soup_queue_remove_request.
-
-2002-02-10 Alex Graveley <alex@ximian.com>
-
- * src/libsoup/soup-transfer.c (soup_transfer_read_cb): Temporary
- fix for 100% cpu usage as HUPs are not being caught in some cases.
-
-2002-02-08 Dan Winship <danw@ximian.com>
-
- * src/soup-ssl-proxy/soup-openssl.c (soup_openssl_write): Handle
- SSL_ERROR_WANT_READ here too. Fixes at least Ximian 19792 and
- maybe others.
-
-2002-01-17 Joe Shaw <joe@ximian.com>
-
- * src/libsoup/soup-message.c: Add soup_message_get_http_version()
- function.
-
-2002-01-08 Alex Graveley <alex@ximian.com>
-
- * src/libsoup/soup-error.h: Add SOUP_ERROR_MOVED_TEMPORARILY
- (which was in early HTTP1.1 and HTTP1.0 specs) defined to
- SOUP_ERROR_FOUND (its replacement).
-
- * configure.in: Use /usr/lib as the default location for nss and
- nspr libs. Also, NSS static libs are named differently from their
- dynamic version.
-
-2002-01-08 Dan Winship <danw@ximian.com>
-
- * src/libsoup/soup-transfer.c (issue_final_callback): Remove the
- gio sources from the reader before invoking the read_done
- callback, since the connection will be marked free before the
- user's callback is called, so if that callback posts another
- request synchronously, the callback will end up getting called
- back again when the new request finishes, which is wrong.
-
-2002-01-08 Alex Graveley <alex@ximian.com>
-
- * TODO: Update
-
- * acconfig.h: undef SSL_PROXY_NAME
-
- * src/libsoup/soup-ssl.c (soup_ssl_get_iochannel): Execute
- customly chosen SSL proxy name.
-
- * src/soup-ssl-proxy/Makefile.am (install-exec-hook): Add
- install-time hook for customly named SSL proxy.
-
- * configure.in: Don't let -lpopt sneak into $LIBS. Add option to
- allow custom name for the openssl proxy. Add option to allow
- static linking of the SSL library.
-
-2002-01-02 Rodrigo Moya <rodrigo@ximian.com>
-
- * src/libsoup-apache/soup-apache.c (soup_apache_handler): updated
- for the new field names in SoupServerAuthBasic
-
-2001-12-21 Alex Graveley <alex@ximian.com>
-
- * src/libsoup/Makefile.am (libsoup_la_SOURCES): Add
- soup-server-auth.c.
-
- * src/libsoup/soup-server-auth.c: Implement server-side
- basic/digest authentication.
- (soup_server_auth_get_user): Impl. Allows server auth/path handler
- to get the username.
- (soup_server_auth_check_passwd): Impl. Allows server auth/path
- handler to check a password against the one used in the request.
-
- * src/libsoup/soup-server.c (call_handler): Create SoupServerAuth
- and call auth context's callback before calling path handler.
- (message_new): Don't create temporary context, just pass NULL.
- (soup_server_register): Copy auth context correctly.
- (soup_server_message_new): If a server message already exists,
- return that.
- (soup_server_message_finish): Start server message as well as
- finish, in case message_start is never called.
-
- * src/libsoup/soup-private.h: Include sys/types.h so sockaddr
- works for FreeBSD.
-
- * src/libsoup/soup-misc.c: Move base64 encoding/decoding here from
- soup-ntlm.c. Remove copyright notice as soup_base64_encode is now
- taken from evolution.
- (soup_base64_encode): Use soup_base64_encode_close.
- (soup_base64_decode): Impl. Use soup_base64_decode_step.
-
- * src/libsoup/soup-misc.h: Make base64 code public.
-
- * src/libsoup/soup-ntlm.c: Use base64 code from soup-misc.c.
-
- * src/libsoup/soup-headers.c: Move header parameter parsing to
- here from soup-auth.c.
-
- * src/libsoup/soup-auth.c: Use header parsing from soup-headers.c.
- (digest_init_func): Handle empty digest
- realm or user passwd.
- (decode_data_type): Return 0 on empty value.
-
- * src/libsoup/soup-uri.c (soup_uri_equal): Impl.
-
-2001-12-19 Alex Graveley <alex@ximian.com>
-
- * src/soup-ssl-proxy/soup-openssl.c (soup_openssl_seed): #define
- RAND_status to constants for older versions of OpenSSL (before
- 0.9.5).
-
- * src/soup-ssl-proxy/soup-ssl-proxy.c (main): Check that ssh
- channel is created before adding watches.
-
-2001-12-17 Alex Graveley <alex@ximian.com>
-
- * src/soup-ssl-proxy/soup-openssl.c (soup_openssl_seed): Use
- RAND_status less often.
-
-2001-12-17 Alex Graveley <alex@ximian.com>
-
- * src/soup-ssl-proxy/soup-openssl.c (soup_openssl_init): Implement
- a simple PRNG seed if needed.
-
-2001-12-15 Alex Graveley <alex@ximian.com>
-
- * src/libsoup/soup-server.c (message_new): Don't use temporary
- context to create message, just pass a NULL one.
-
-2001-12-14 Alex Graveley <alex@ximian.com>
-
- * tests/server-test.c (push_callback): Add test for server push,
- which creates a SoupServerMessage and sends the headers, body, and
- ends the transfer at 4 second intervals.
- (soup_server_init): Update for new server api.
-
- * tests/cgi-test.c (soup_server_init): Update for new server api.
-
- * src/libsoup/soup-transfer.c (soup_transfer_write_simple):
- Impl. Just write the headers and data buffer passed.
- (soup_transfer_write): Use callback to get header data, remove
- header done callback.
- (soup_transfer_write_pause): Pause the write by removing the
- writable io watch.
- (soup_transfer_write_unpause): Unpause by adding it back again.
- (write_chunk_sep): Handle (rare) case where 0 length chunk is
- first chunk. Final chunks end in \r\n\r\n not just \r\n.
-
- * src/libsoup/soup-server.c (get_header_cgi_cb): Create header for
- delayed writes if soup_server_message_start() has been called,
- otherwise pause write.
- (get_header_cb): Ditto, use chunked encoding if client supports
- it.
- (get_chunk_cb): Free the current chunk, not the last one. Pause
- write if no new data.
- (soup_server_message_start): Impl. Asyncronously send the headers
- of the request. Unpause write.
- (soup_server_message_add_data): Unpause write.
- (soup_server_message_finish): Unpause write.
-
- * src/libsoup/soup-queue.c (start_request): Use
- soup_transfer_write_simple.
-
- * src/libsoup/soup-socket.c: Comment formatting.
-
-2001-12-13 Alex Graveley <alex@ximian.com>
-
- * src/libsoup/soup-queue.c (start_request): Use
- soup_transfer_write_simple.
-
-2001-12-13 Alex Graveley <alex@ximian.com>
-
- * src/libsoup-apache/soup-apache.c (soup_apache_get_server):
- Impl. Returns the SoupServer which handles this request's port and
- protocol, creating and initializing the server if this is its
- first use.
- (soup_apache_handler): Check auth_type not auth.type. Update for
- new SoupServerContext members.
-
-2001-12-09 Alex Graveley <alex@ximian.com>
-
- * src/libsoup/soup-uri.c (normalize_path): Add path normalization
- code from libxml.
-
-2001-12-06 Alex Graveley <alex@ximian.com>
-
- * src/libsoup/soup-socket.c (soup_socket_connect_tcp_cb): Free
- state before callback.
- (soup_socket_connect_inetaddr_cb): Don't shadow param.
-
-2001-12-06 Alex Graveley <alex@ximian.com>
-
- * src/libsoup/soup-method.[ch]: Create.
-
- * src/libsoup/soup-dav-server.c: Rehash to be controlled by
- caller through soup_dav_server_process, instead of registering
- paths with the server internally. This adds the restricition of
- only being able to service dav move/copy requests to paths under
- the caller's registered path.
-
- * src/libsoup/soup-server.c (call_handler): Add message, request
- path, and method id to SoupServerContext.
-
- * src/libsoup/soup-message.h: Remove method defines.
-
-2001-12-05 Alex Graveley <alex@ximian.com>
-
- * src/libsoup/soup-server.c (soup_server_run): Allow recursive
- calls and/or blocking on a running async server.
-
-2001-12-05 Alex Graveley <alex@ximian.com>
-
- * src/libsoup/soup-fault.c: Formatting nitpicks.
-
- * src/libsoup/soup-server.c (free_handler): Call unregister handler.
-
- * src/libsoup/soup-server.h: Add unregister callback to
- SoupServerHandler so handlers can free temporary resources on
- server shutdown.
-
- * src/libsoup/soup-transfer.c (soup_transfer_write_cb): Call
- headers_done_cb if wrote >= header_len.
-
- * src/libsoup/soup-dav-server.c (soup_dav_server_register): Pass
- dav_unregister_handler to soup_server_register, to cleanup state
- on server free.
-
- * src/libsoup/soup-env.c: Rehash.
-
- * src/libsoup/soup-message.c (soup_message_new): Allow NULL
- contexts.
- (soup_message_copy): Impl. Copy request/response buffers.
-
- * src/libsoup/soup-queue.c (soup_queue_message): Handle NULL
- message contexts by issuing a cancelled callback. Break out queue
- initialization to soup_queue_initialize().
-
-2001-12-04 Dan Winship <danw@ximian.com>
-
- * src/libsoup/soup-message.c (soup_message_requeue): Don't try to
- wait for the rest of the data if the read_tag is 0 (eg, if the
- write attempt got an EPIPE). Fixes a crash if the server
- idle-timeouts a keepalived connection.
-
-2001-12-02 Alex Graveley <alex@ximian.com>
-
- * src/libsoup/soup-private.h: Remove req_header from
- SoupMessagePrivate.
-
- * src/libsoup/soup-message.c (finalize_message): No more
- req_header.
-
- * src/libsoup/soup-queue.c (start_request): Ditto.
-
- * src/libsoup/soup-server.c (read_done_cgi_cb): Ditto.
- (read_done_cb): Ditto.
-
-2001-12-01 Alex Graveley <alex@ximian.com>
-
- * src/libsoup/soup-server-auth.h: Pull the SoupServerAuth from
- soup-server.h to here.
-
- * tests/cgi-test.c:
- * tests/mod-server-test.c:
- * tests/server-test.c: Update for new server api. Add a handler
- that sets the errorphrase, add some response headers, and prints
- the request body, uri, and headers in the response.
-
- * src/soup-httpd/soup-httpd.c: Update for new server api, remove
- module reloading, which trivializes the server code.
-
- * src/libsoup-apache/soup-apache.c: Update for new server api.
-
- * src/libsoup/soup-uri.c (soup_uri_copy): Copy element by element,
- don't stringify/unstringify.
-
- * src/libsoup/soup-uri.h: Remove query_elems from SoupUri.
-
- * src/libsoup/soup-transfer.c (soup_transfer_write): Take an
- encoding argument to allow chunked writes, and a write_chunk_cb to
- allow new data to be written. Use a secondary buffer to make
- writes (and especially chunked writes) larger, and also simplify
- the code.
- (write_chunk_sep): Impl.
- (write_chunk): Impl.
-
- * src/libsoup/soup-socket.c (soup_socket_connect_inetaddr_cb):
- Free state before issuing failure callback. Add FIXME, as this
- shouldn't be needed but avoids a segfault.
-
- * src/libsoup/soup-socket-unix.c: Formatting.
-
- * src/libsoup/soup-server.c: Reimplement to support server push
- through SoupServerMessage, CGI support, and persistent
- connections. Modules are now passed a SoupServer during init,
- instead of having well-known global server objects -- these have
- been removed.
-
- * src/libsoup/soup-queue.c (start_request): Update for new
- transfer_write interface, passing content length as the encoding
- and a NULL write_chunk_cb.
-
- * src/libsoup/soup-private.h: Add server, server_sock, and
- server_msg to _SoupMessagePrivate. Gut _SoupServer.
-
- * src/libsoup/soup-message.c (soup_message_requeue): Cleanup
- boolean eval.
-
- * src/libsoup/soup-headers.c (soup_headers_parse_response): Wrap
- at 80.
-
- * src/libsoup/soup-dav-server.[ch]: Update for new server handler
- interface.
-
- * configure.in: Check for sys/ioctl.h and sys/filio.h
-
-2001-11-30 Dan Winship <danw@ximian.com>
-
- * src/libsoup/soup-headers.c (soup_headers_parse_status_line):
- Split this functionality out of soup_headers_parse_response.
-
- * src/libsoup/Makefile.am (libsoupinclude_HEADERS): Add
- soup-message.h to the public headers.
-
-2001-11-21 Alex Graveley <alex@ximian.com>
-
- * src/libsoup/soup-socket.c (soup_address_set_sockaddr): Remove.
- (soup_address_get_sockaddr): Impl. Return the address's internal
- sockaddr, and its length.
-
-2001-11-20 Dan Winship <danw@ximian.com>
-
- * src/libsoup/soup-ntlm.c (soup_ntlm_request): Simplify. Don't
- specify a host and domain, and tweak the flags to a new magic
- value that makes the server return some info such as a default
- domain to pick.
- (soup_ntlm_response): Allow "host" and "domain" to be NULL. If
- domain is NULL, use the default from the server response.
-
- * src/libsoup/soup-auth.c (ntlm_init): soup_ntlm_request no longer
- takes host/domain. soup_ntlm_response can take NULL host/domain.
-
-2001-11-19 Alex Graveley <alex@ximian.com>
-
- * src/libsoup/soup-private.h: Add auth member to SoupConnection.
-
- * src/libsoup/soup-queue.h: Export soup_queue_connect_cb.
-
- * src/libsoup/soup-queue.c (soup_encode_http_auth): Get auth token
- from connection's auth.
-
- * src/libsoup/soup-message.c (soup_message_run_handlers): Break if
- status after running a handler is also SOUP_STATUS_CONNECTING.
- (soup_message_requeue): If the connection uses NTLM, reset
- error/finished callbacks.
- (requeue_read_finished): Impl. Requeue the message using the
- current connection on success.
- (requeue_read_error): Impl. Queue the message again and get a new
- connection.
- (requeue_connect_cb): Impl. Use the old connection's auth data
- before passing off to soup_queue_connect_cb.
- (soup_message_cleanup): Only reset callbacks if the reader and
- connection exist.
- (authorize_handler): Set/get the connection's auth data if it
- exists and the new auth created uses NTLM.
-
- * src/libsoup/soup-transfer.c (soup_transfer_read_cb): Dump read
- data to stderr if DUMP is defined.
- (soup_transfer_write_cb): ditto for writes.
-
- * src/libsoup/soup-context.c (soup_context_connect_cb): Don't ref
- context here, but rather
- (soup_context_get_connection): Here, in case the context goes away
- while connecting.
-
-2001-11-14 Alex Graveley <alex@ximian.com>
-
- * src/libsoup/soup-socket-win.c (soup_address_get_name_cb): Don't
- leak state on failure, pass address's name, not a copy.
- (soup_address_new_cb): Don't access things after we realloc to a
- smaller size.
-
-2001-11-13 Alex Graveley <alex@ximian.com>
-
- * src/libsoup/soup-queue.c (soup_queue_error_cb): Use
- soup_message_requeue.
- (soup_queue_read_headers_cb): Don't end the transfer if a handler
- requeues the message. Close the connection on malformed headers.
- (soup_queue_read_chunk_cb): Ditto for the former.
-
- * src/libsoup/soup-message.c (soup_message_requeue): Impl. Requeue
- the message using existing callback/user_data.
- (authorize_handler): Use soup_message_requeue.
- (redirect_handler): Ditto.
-
- * src/libsoup/soup-transfer.c (soup_transfer_read_set_callbacks):
- Impl. Allows changing of the reader's callbacks to ignore certain
- events (like chunk data) and change the user_data.
-
- * src/libsoup/soup-message.c (soup_message_cleanup): If still
- reading response, reset the SoupReader's callbacks to only release
- (on finish) or release and close (on error) the connection,
- instead of terminating the read which could leave data in the
- socket to to hork future messages which use this connection. Also
- NULL the message's references to the connection and SoupReader so
- that they are not disposed of on message free.
-
-2001-11-12 Alex Graveley <alex@ximian.com>
-
- * src/libsoup/soup-queue.c (start_request): Impl. Move request
- sending code here from soup_queue_connect_cb.
- (proxy_https_connect): Impl. Send intermediate CONNECT request to
- proxy for SSL connections. If successful, convert connection to
- SSL.
- (soup_queue_connect_cb): Call proxy_https_connect if we are using
- a proxy and the destination is SSL. Call start_request.
- (soup_idle_handle_new_requests): If request already has a
- connection, just call start_request.
- (soup_get_request_header): Special case URI is hostname:port for
- CONNECT requests.
- (soup_queue_read_headers_cb): Special case connection persistence
- for CONNECT requests: if message is successful, assume valid
- connection. Special case body handling for CONNECT requests:
- assume zero length body.
-
-2001-11-08 Alex Graveley <alex@ximian.com>
-
- * src/libsoup/soup-queue.c (soup_queue_read_headers_cb):
- (soup_queue_read_chunk_cb):
- (soup_queue_read_done_cb): Update to call renamed SoupHandlerEvents.
-
- * src/libsoup/soup-message.[ch]: Remove
- soup_message_get_request_header, soup_message_set_request_header,
- soup_message_get_response_header,
- soup_message_set_response_header,
- soup_message_add_error_code_handler,
- soup_message_add_error_class_handler,
- soup_message_add_header_handler.
- (redirect_handler): Update for new handler interface.
- (authorize_handler): Ditto.
- (timeout_handler): Impl.
- (soup_message_remove_handler): Impl.
- (soup_message_remove_handler_by_func): Impl.
- (soup_message_remove_handler_by_func_and_data): Impl.
- (soup_message_list_handlers): Impl.
-
-2001-11-08 Alex Graveley <alex@ximian.com>
-
- * configure.in: Version 0.6.0.
- * src/libsoup/soup-private.h (VERSION): Ditto.
-
-2001-11-08 Alex Graveley <alex@ximian.com>
-
- * configure.in (debug_default): Set debug default to "minimum",
- which turns off G_ENABLE_DEBUG (and the ptrace magic) by default.
- To turn back on for a debugging environment, use --enable-debug.
-
- * src/libsoup/soup-socket-unix.c (SOUP_PTRACE_DETACH): Wrap
- SOUP_PTRACE defines in check for G_ENABLE_DEBUG.
-
-2001-11-08 Alex Graveley <alex@ximian.com>
-
- * src/libsoup/soup-socks.c (socks_data_free): Add cleanup function
- to avoid leaving context/address references around.
- (WSHORT): Use memcpy.
- (soup_socks_read): Pass len as sizeof (buf).
- (soup_socks_error): Add error handler just in case.
- (soup_connect_socks_proxy): Unref the io channel.
- (soup_lookup_dest_addr_cb): Ditto.
-
-2001-11-07 Dan Winship <danw@ximian.com>
-
- * src/libsoup/soup-auth.c (ntlm_init): Mark the auth completed
- after sending the response string.
- (ntlm_compare_func): A new NTLM auth doesn't invalidate an
- already-completed one. (Makes it not loop forever on a wrong
- password.)
-
-2001-11-02 Alex Graveley <alex@ximian.com>
-
- * src/libsoup/soup-private.h: Add death_tag to _SoupConnection.
-
- * src/libsoup/soup-socks.c (soup_connect_socks_proxy): Unref proxy
- context.
- (soup_socks_write): Ditto.
-
- * src/libsoup/soup-context.c (connection_free): Impl.
- (soup_prune_least_used_connection): Use connection_free().
- (soup_connection_release): Ditto.
- (soup_prune_foreach): Simplify to not use custom data struct. Just
- use a SoupConnection ** to hold state.
- (connection_death): Impl. Free the connection if its not
- currently in use.
- (soup_context_connect_cb): Install a death handler for valid
- connections, so connection death can be caught and handled when no
- SoupMessage exists to handle it. Ref the context.
- (soup_context_get_connection): For reused connections, ref the
- connection's new context, unref the old one, and assign the
- connection's context to the new one.
- (soup_context_unref): Don't free connections, as there must be
- none left for all the contexts to have been removed.
- (soup_connection_get_context): Add a reference before returning
- context.
-
- * src/libsoup/soup-message.c (soup_message_set_context): Add
- precondition checks.
- (soup_message_get_context): Ditto.
-
-2001-11-02 Alex Graveley <alex@ximian.com>
-
- * src/soup-ssl-proxy/soup-ssl-proxy.c: Remove NSS-related code, as
- this is now moved to libsoup.
-
-2001-11-02 Alex Graveley <alex@ximian.com>
-
- * src/libsoup/soup-private.h: Rename killme to cached in _SoupAddress.
-
- * src/libsoup/soup-socket-unix.c (soup_address_get_name_cb): Use
- g_strndup instead of g_new/strncpy.
- (soup_address_new_cb): Set cache status to CACHE_OK on success.
- (prune_zeroref_addresses_foreach): Use ia->cached.
- (soup_address_unref): Free addresses which are NOT_CACHED.
-
-2001-11-02 Alex Graveley <alex@ximian.com>
-
- * src/libsoup/soup-context.c (soup_try_existing_connections):
- Remove old fixed FIXME.
-
- * src/libsoup/soup-socket-unix.c
- (prune_zeroref_addresses_timeout): Remove timeout if
- active_address_hash is null.
- (soup_address_unref): Only install timeout handler if the address
- has a name, otherwise just free.
-
-2001-11-01 Alex Graveley <alex@ximian.com>
-
- * src/libsoup/soup-transfer.c (issue_final_callback): Null
- terminate recv_buf before copying the data pointer.
-
-2001-10-31 Alex Graveley <alex@ximian.com>
-
- * src/libsoup/soup-context.c (soup_context_connect_cb): Drop
- connection count of connect failed.
- (soup_context_get_connection): Increment connection count before
- calling soup_socket_connect() to avoid connection limit being
- passed by many messages queued at the same time.
-
- * src/libsoup/soup-server.c (read_done_cb): Assign request's data
- buffer to message request buffer, not response. Caught by Tim
- Moloney.
-
- * src/libsoup/soup-transfer.c (soup_transfer_read_cb): Zero
- terminate alloca'd header string passed to headers_done_cb.
-
-2001-10-31 Dan Winship <danw@ximian.com>
-
- * configure.in: Fix the popt check so you can pass CPPFLAGS and
- LDFLAGS in in the environment.
-
-2001-10-30 Alex Graveley <alex@ximian.com>
-
- * src/libsoup/soup-auth.c (soup_auth_set_context): Remove the
- existing SoupAuth from the from the server's valid_auths hash.
- (soup_auth_new_from_header_list): Fix bug where auth header
- evaluation stopped after finding the first matching scheme.
-
-2001-10-30 Alex Graveley <alex@ximian.com>
-
- * src/libsoup/soup-socket-unix.c (soup_address_new): Consider
- existing addresses with a zero refcount valid to return (with an
- added refcount).
- (prune_zeroref_addresses_foreach): Impl.
- (prune_zeroref_addresses_timeout): Impl.
- (soup_address_unref): Don't free zero ref addresses, instead make
- sure zeroref timeout handler is installed and install if not. Also
- move to here from soup-socket.c.
-
- * src/libsoup/soup-private.h: Add killme flag to soup_address.
-
- * src/libsoup/soup-socket-win.c (soup_address_unref): Move here
- from soup-socket.c.
-
-2001-10-29 Alex Graveley <alex@ximian.com>
-
- * src/libsoup/soup-message.c (authorize_handler): Call
- soup_auth_fn if we don't have auth data in the URI, then call
- soup_auth_initialize if the callback set authenticate data on the
- passed uri.
-
- * src/libsoup/soup-auth.h: Make type be SoupAuthType.
-
- * src/libsoup/soup-auth.c (soup_auth_initialize): Impl. To be
- called after SoupAuth creation to apply auth data to the
- SoupAuth. This allows us to parse the Authenticate headers to
- figure out which auth scheme and realm is being used, and pass
- this to the auth callback.
-
- * src/libsoup/soup-misc.c (soup_set_authorize_callback): Impl.
-
- * src/libsoup/soup-misc.h: Add SoupAuthType enum here.
-
- * src/libsoup/soup-server.h: Use SoupAuthType. Remove
- SoupServerAuthType.
-
-2001-10-27 Alex Graveley <alex@ximian.com>
-
- * src/libsoup/soup-dav.c: Include soup-error.h
-
- * src/libsoup/soup-queue.c (soup_debug_print_headers): Use
- soup_message_foreach_header.
-
- * src/libsoup/soup-message.c (soup_message_new): Default to GET if
- method not supplied.
- (soup_message_add_header): Remove code to delete header if no
- value is supplied.
- (soup_message_foreach_remove_header): Impl.
- (soup_message_remove_header): Impl.
-
-2001-10-26 Alex Graveley <alex@ximian.com>
-
- * src/libsoup/soup-socket-unix.c (soup_address_new): Use WUNTRACED,
- which should fix possible hang situation.
-
- * src/libsoup/soup-transfer.c (issue_chunk_callback): Address bug
- where data buffer passed to chunk callback could be invalid due to
- appending a null. Just don't addend NULL for chunk callbacks.
-
-2001-10-26 Alex Graveley <alex@ximian.com>
-
- * src/libsoup/soup-message.c (redirect_handler): Use
- soup_uri_set_auth().
-
- * src/libsoup/soup-uri.c (soup_uri_free): Don't use g_assert.
- (soup_uri_set_auth): Impl.
-
- * src/libsoup/soup-server.c (read_headers_cb): Use
- soup_message_set_context().
-
- * src/libsoup/soup-message.c (soup_message_set_context): Impl.
- (soup_message_get_context): Impl.
- (redirect_handler): Use soup_message_set_context().
-
-2001-10-25 Alex Graveley <alex@ximian.com>
-
- * src/libsoup/soup-message.c (redirect_handler): Handle redirects
- when source uri has auth data by copying auth to new url.
-
-2001-10-25 Alex Graveley <alex@ximian.com>
-
- * src/libsoup/soup-queue.c (soup_queue_read_headers_cb): Fixe bug
- where informational responses were treated as an unknown encoding,
- causing the actual response to be considered part of the
- informational response body.
-
-2001-10-25 Dan Winship <danw@ximian.com>
-
- * configure.in: Fix up the networking library checks to work on
- Solaris. Check for inet_pton. (Solaris doesn't have inet_aton.)
-
- * src/libsoup/soup-socket-unix.c (soup_address_new): Use inet_pton
- instead of inet_aton if available.
-
-2001-10-22 Joe Shaw <joe@ximian.com>
-
- * src/soup-ssl-proxy/soup-ssl-proxy.c (soup_ssl_proxy_readwrite):
- Make sure we handle G_IO_IN before we handle G_IO_HUP so we don't
- lose data on the pipe, as you can receive both at the same time.
- Ian Peters actually found this, but I am his commit monkey.
-
-2001-10-22 JP Rosevear <jpr@ximian.com>
-
- * src/libsoup/soup-dav.c (soup_dav_response_new): use new error
- api
-
- * src/libsoup/soup-queue.c (soup_parse_headers): ditto
-
- * src/libsoup/soup-message.c (soup_message_set_error_full): ditto
- (soup_message_set_error): ditto
-
-2001-10-21 Alex Graveley <alex@ximian.com>
-
- * src/libsoup/soup-message.h: Reorganize.
-
- * src/libsoup/Makefile.am (libsoupinclude_HEADERS): Add soup-error.h.
- (libsoup_la_SOURCES): Add soup-error.c.
-
- * src/libsoup/soup-error.[ch]: Move SoupKnownErrorCode and
- SoupErrorClass defines to here. Move soup_get_error_phrase and
- soup_get_error_class here, and rename to soup_error_get_phrase and
- soup_error_get_class.
-
-2001-10-19 Alex Graveley <alex@ximian.com>
-
- This is the first attempt at authentication inheritence, it
- still needs some work. Auth headers are always sent no matter
- what, auth realms are not respected, auth data in the uri is
- ignored unless an existing auth attempt fails, and auth data
- should be registered at context creation time.
-
- * src/libsoup/soup-auth.c (digest_parse_func): Compute a1 hash
- "user:realm:passwd:nonce:cnonce" here, to cut down on per-request
- overhead. Accept a SoupUri from which to get auth info.
- (basic_parse_func): Base64 encode user:passwd here for same
- reason. Accept a SoupUri for getting auth info.
- (compute_response): Get uri path from message instead of SoupAuth.
- (digest_auth_func): Ditto.
- (soup_auth_lookup): Impl. Given a context, lookup the SoupAuth of
- the nearest parent directory.
- (soup_auth_set_context): Impl. Register a SoupAuth to be used for
- requests to the context's path and subdirectories.
-
- * src/libsoup/soup-auth.h: Move define of SoupAuth here, in
- preparation for making public eventually.
-
- * src/libsoup/soup-queue.c (soup_encode_http_auth): Use
- soup_auth_lookup ().
- (soup_get_request_header): Don't check the request's uri for auth
- info, as a parent context may have a valid registered SoupAuth.
-
- * src/libsoup/soup-message.c (authorize_handler): Use
- soup_auth_lookup() to find last (failing) SoupAuth. Use
- soup_auth_set_context() to register the created SoupAuth for this
- context.
-
- * src/libsoup/soup-message.h: Explicitly define values for soup
- transport-level errorcodes, just because.
-
- * src/libsoup/soup-context.c (soup_context_unref): When freeing
- the SoupHost parent of this context, free all associated
- SoupAuths.
-
- * src/libsoup/soup-private.h: Remove auth pointer from context,
- add hashtable of valid auths to SoupAuth.
-
-2001-10-18 Alex Graveley <alex@ximian.com>
-
- * src/libsoup/soup-queue.c (soup_queue_read_headers_cb): Set
- encoding out param appropriately.
- * src/libsoup/soup-server.c (soup_httpd_read_headers_cb): Ditto.
-
- * src/libsoup/soup-transfer.h: Add SoupTransferEncoding enum.
-
- * src/libsoup/soup-transfer.c (soup_transfer_read_error_cb):
- Handle unknown encoding by issuing the read_done callback when the
- connection is closed.
- (issue_chunk_callback): Pass in a cancelled arg to simplify code.
- (read_unknown): Impl. Same as read_content_length () except never
- return TRUE.
- (soup_transfer_read_cb): Make headers_done_cb take an encoding out
- parameter to avoid magic values in content_length. Switch on
- encoding to see if read completed. Use issue_final_callback ().
-
-2001-10-18 JP Rosevear <jpr@ximian.com>
-
- * src/libsoup/soup-transfer.c (remove_block_at_index): the array
- length assertion should be >= rather than less than.
-
-2001-10-17 Alex Graveley <alex@ximian.com>
-
- * src/libsoup/soup-transfer.c (read_content_length): Don't call
- chunk callback if there is no new data.
-
-2001-10-17 Alex Graveley <alex@ximian.com>
-
- * src/libsoup/soup-transfer.c (remove_block_at_index): Add some
- bounds checking.
-
- * src/libsoup/soup-queue.c (soup_queue_connect_cb): Handle
- iochannel creation failure which can happen when using SSL.
-
-2001-10-16 Alex Graveley <alex@ximian.com>
-
- * src/libsoup/soup-transfer.c (decode_hex): Impl.
- (remove_block_at_index): Impl.
- (decode_chunk): Simplify using utility functions.
- (soup_transfer_read_cb): Use remove_block_at_index.
- (read_chunk): Ditto.
-
-2001-10-16 Joe Shaw <joe@ximian.com>
-
- * src/libsoup/soup-auth.c (compute_response): A NULL passwd is
- perfectly valid, so we want to avoid crashing if that is the case.
-
-2001-10-16 Alex Graveley <alex@ximian.com>
-
- * src/libsoup/soup-transfer.c (decode_chunk): Fix nasty chunked
- encoding bug when the message is set to truncate chunks. Code
- reorg to be a lot cleaner.
-
- * src/libsoup/soup-ntlm.c: Move alloca #define-foo to:
- * src/libsoup/soup-private.h: Here.
-
- * src/libsoup/soup-uri.c (soup_uri_to_string): Handle the case
- where path does not begin with a '/'.
-
- * src/libsoup/soup-server.c (soup_server_free): Use foreach_remove.
-
-2001-10-09 Alex Graveley <alex@ximian.com>
-
- * src/libsoup/soup-socks.c (soup_connect_socks_proxy): Assign
- source connection correctly.
-
-2001-10-09 Alex Graveley <alex@ximian.com>
-
- * src/libsoup/soup-dav-server.c (parent_exists): don't call
- __uri_exists as __is_collection should check this.
-
-2001-10-06 Alex Graveley <alex@ximian.com>
-
- * configure.in (enable_nss): Explicitly add libplc4 and libplds4
- which are dependencies of libnspr4.
-
- * src/libsoup/Makefile.am (libsoup_la_LIBADD): Link with NSS libs.
- (libsoup_la_SOURCES): Add soup-nss.[ch].
-
- * src/libsoup/soup-nss.c: Added. GIOChannel wrapper for Mozills NSS.
-
- * src/libsoup/soup-ssl.c: Use NSS if available to avoid out of
- process SSL proxy.
-
- * src/soup-ssl-proxy/Makefile.am (soup_ssl_proxy_SOURCES): Remove
- soup-nss.[ch].
- (soup_ssl_proxy_LDADD): Do not link NSS libs, as these are now
- linked directly into libsoup.
-
-2001-10-05 Alex Graveley <alex@ximian.com>
-
- * src/libsoup/soup-message.c (soup_message_clear_headers):
- Impl. Use instead of custom header free funcs throughout.
- (soup_message_foreach_header): Impl.
- (global_handlers): Handle redirects before authenticating.
- (redirect_handler): Use soup_message_get_header.
- (run_handler): Ditto.
-
-2001-10-04 Alex Graveley <alex@ximian.com>
-
- * src/libsoup/soup-socket-unix.c (soup_address_new_cb): Ugg. Don't
- call waitpid with NOHANG. Avoid zombies. Gain friends.
-
-2001-10-04 Alex Graveley <alex@ximian.com>
-
- * src/libsoup/soup-message.c (authorize_handler): Call
- soup_message_get_header_list.
-
- * src/libsoup/soup-auth.c (soup_auth_new_from_header_list): Set
- crypto strength for authentication types, and try to choose the
- strongest when authenticating.
-
- * src/libsoup/soup-queue.c (soup_check_used_headers): Kill warnings.
-
- * tests/simple-test.c (list_headers): Handle multiple values for
- header.
-
- * tests/handler-test.c (list_headers): Ditto.
-
-2001-10-04 Alex Graveley <alex@ximian.com>
-
- * src/libsoup/soup-server.c (read_headers_cb): Fix const warnings.
-
-2001-10-04 Alex Graveley <alex@ximian.com>
-
- * src/libsoup/soup-server.c (read_headers_cb): Don't create
- response_headers. This is done in soup_message_new. Use
- soup_message_get_header throughout.
-
- * src/libsoup/soup-queue.c (soup_check_used_headers): Write list
- of headers.
- (soup_parse_headers): Don't create response_headers. This is done
- in soup_message_new.
- (soup_debug_print_a_header): Handle multiple header vals.
- (soup_check_used_headers): Ditto.
- (soup_queue_remove_header): Ditto.
- (soup_queue_message): Don't destroy hashtable, just clear it.
- Use soup_message_get_header throughout.
-
-2001-10-04 Alex Graveley <alex@ximian.com>
-
- * src/libsoup/soup-message.c (soup_message_add_header): Handle
- multiple values in header hash tables.
- (free_header): Free the list of values.
- (soup_message_new): Create request_headers and response_headers
- here instead of on header insertion.
- (soup_message_set_request_header): Deprecate.
- (soup_message_get_request_header): Deprecate.
- (soup_message_set_response_header): Deprecate.
- (soup_message_get_response_header): Deprecate.
-
- * src/libsoup/soup-dav-server.c: Update to use new header get/add
- funcs.
-
- * src/libsoup/soup-headers.c (soup_headers_parse): Store headers
- as a GSList of values.
-
-2001-10-03 Dan Winship <danw@ximian.com>
-
- * src/libsoup/soup-uri.c (soup_uri_new): The @ in
- http://foo/bar@baz is part of the path, not the username/hostname
- split.
-
-2001-10-01 Alex Graveley <alex@ximian.com>
-
- * configure.in: Fix HAVE_OPENSSL and HAVE_NSS checks as these were
- always being defined.
-
-2001-10-01 Alex Graveley <alex@ximian.com>
-
- * src/libsoup/soup-socket-unix.c (soup_address_new): Add defines
- for SOUP_PTRACE_ATTACH and SOUP_PTRACE_DETACH to remove
- architecture incompatibilities for ptrace() arguments.
-
- * configure.in: Add libdl to OpenSSL LDFLAGS. Fix NSS header
- paths. Define HAVE_OPENSSL and HAVE_NSS if the libraries are
- found successfully.
-
- * src/libsoup/soup-socket.h: Remove soup_gethostbyname and
- soup_gethostbyaddr, and move to:
- * src/libsoup/soup-private.h: here.
-
-2001-09-28 Alex Graveley <alex@ximian.com>\r
-\r
- * src/libsoup/soup-ntlm.c: Remove redundant alloca define.\r
-\r
- * src/libsoup/soup-socket.c (soup_socket_server_new): Use \r
- SOUP_SOCKET_CLOSE.\r
-\r
- * src/libsoup/soup-socket.h: Include winsock.h if windows.\r
-\r
-2001-09-28 Alex Graveley <alex@ximian.com>
-
- * src/libsoup/soup-socket-win.c: Fix copyright notice.
- * src/libsoup/soup-socket-unix.c: Ditto.
- * src/libsoup/soup-socket.c: Ditto.
-
-2001-09-28 Alex Graveley <alex@ximian.com>
-
- * build/libsoup.dsp (SOURCE): Add soup-socket-win.c.
-
- * tests/simple-test.c (main): Take HTTP method and body parameters
- to use in the request.
-
- * src/libsoup/soup-socket.h: Make soup_gethostbyname and
- soup_gethostbyaddr public.
-
- * src/libsoup/soup-socket-unix.c: Added, split of networking code
- into unix-specific sections.
-
- * src/libsoup/soup-socket-win.c: Added, Windows networking code.
-
- * src/libsoup/soup-socket.c: Holds common socket functions.
-
-2001-09-27 Alex Graveley <alex@ximian.com>
-
- * src/libsoup/soup-socket.c: Remove Glib workarounds for Windows
- socket io.
-
-2001-09-27 Alex Graveley <alex@ximian.com>
-
- * src/libsoup/soup-socket.c (soup_address_new): #ifdef protect the
- ptrace attach/detach code until I have a chance to look at why it
- fails on some platforms.
-
-2001-09-27 Alex Graveley <alex@ximian.com>
-
- * build/libsoup.def: Update for new exports.
-
-2001-09-27 Alex Graveley <alex@ximian.com>
-
- * src/libsoup/soup-dav-server.h: Fix constness for get_dav_prop
- and get_custom_prop.
-
-2001-09-19 Dan Winship <danw@ximian.com>
-
- * src/libsoup/soup-message.c (soup_message_send): Fix this to not
- return immediately after parsing the first line of the response.
- (Needed an update for the 09-07 api changes.)
-
-2001-09-17 Vladimir Vukicevic <vladimir@ximian.com>
-
- * src/libsoup/soup-socket.c, src/libsoup/soup-socket.h:
- Added soup_address_copy(). Changed soup_address_new to check
- whether the ports are the same before using a cached
- address.
-
-2001-09-14 Alex Graveley <alex@ximian.com>
-
- * src/libsoup/soup-serializer.c
- (soup_serializer_get_namespace_prefix): Return const string.
-
- * Makefile.am (EXTRA_DIST): Install soup.m4.
-
- * src/libwsdl/wsdl-soap-marshal.c:
- * src/libwsdl/wsdl-typecodes.c:
- * src/soup-wsdl/wsdl-parse.c: Formatting.
-
-2001-09-13 Alex Graveley <alex@ximian.com>
-
- * src/libsoup/soup-serializer.c
- (soup_serializer_get_namespace_prefix): Impl.
-
-2001-09-12 Alex Graveley <alex@ximian.com>
-
- * tests/filesys-server.c (main): Pass protocol to soup_server_new.
- * tests/server-test.c (main): Ditto.
-
- * src/soup-wsdl/Makefile.am (soup_wsdl_LDADD): Remove libwsdl.so
- link.
-
- * src/libwsdl/Makefile.am (libwsdl_build_a_SOURCES): Include
- libwsdl.so sources in libwsdl-build.a so libtool 1.3.5 doesn't
- ill. Remove libwsdl_build_a_LIBADD.
-
- * src/libsoup/soup-server.c (soup_server_new): Take a SoupProtocol
- argument.
-
- * src/libsoup/soup-dav-server.c (move_copy): Serialize multi-status.
- (i_copy): Fix bug where directory contents were sometimes created
- before parent. Add multi-status error reporting.
-
- * src/libsoup/soup-dav.c (soup_dav_response_new): Remove
- response_phrase param.
-
-2001-09-11 Alex Graveley <alex@ximian.com>
-
- * src/libsoup/soup-dav-server.c (dav_proppatch): Rewrite to
- correctly handle rollback and propstat result. Fill in missing
- response errors throughout.
-
-2001-09-11 Alex Graveley <alex@ximian.com>
-
- * tests/filesys-server.c: Initial commit of DAV test server which
- allows manipulation of the filesystem through Web-DAV.
-
- * tests/Makefile.am (noinst_PROGRAMS): Add filesys-server.
-
-2001-09-10 Alex Graveley <alex@ximian.com>
-
- * tests/mod-server-test.sh: Rename from mod-server-test to be
- obvious that its a script which simply executes soup-httpd.
-
-2001-09-10 Alex Graveley <alex@ximian.com>
-
- * build/soup_httpd.dsp (SOURCE): Fix typo.
-
- * build/libsoup.dsp: Add src/libsoup/soup-ntlm.[ch]
- (SOURCE): Remove soup-apache.c
-
-2001-09-10 Alex Graveley <alex@ximian.com>
-
- * src/libsoup/soup-dav-server.c (dav_mkcol): Report errors. Check
- that parent path exists.
- (dav_put): Ditto.
- (dav_options): set 404 if path not found.
- (dav_options): Handle server-level OPTIONS requests.
- (parent_exists): impl.
-
-2001-09-10 Alex Graveley <alex@ximian.com>
-
- * src/libsoup/soup-dav-server.h: Replace opt_search with
- opt_other. Remove SOUP_DAV_SEARCH.
-
- * src/libsoup/soup-dav-server.c: Replace dav_search with
- dav_other.
-
-2001-09-10 Alex Graveley <alex@ximian.com>
-
- * tests/cgi-test.c (main): Pass authtypes param to
- soup_server_register.
- * tests/server-test.c (main): Ditto.
- * tests/mod-server-test.c (soup_server_init): Ditto.
-
- * tests/stockquote2.wsdl: Format fixes.
-
-2001-09-07 Alex Graveley <alex@ximian.com>
-
- * tests/stress-test.c: Rewritten for the new apis, and to be more
- clean, and to have many settings for varying simultaneous
- messages, message counts, iterations, posting of data, etc.
-
- * tests/simple-test.c: Rewritten for the new apis, and to be more
- clean.
-
- * tests/server-test.c (main): Added. Simple test for standalone
- dynamic servers.
-
- * tests/mod-server-test.c (callback): Added. Simple test for
- soup-httpd/apache server modules.
-
- * tests/handler-test.c: Added. Stress test for SoupMessage
- handlers.
-
- * tests/cgi-test.c: Added. Simple test for CGI serving.
-
- * src/soup-httpd/soup-httpd.c: Use libsoup's SoupServer code for
- all request processing. soup-httpd becomes a wrapper for module
- loading and logging.
-
- * src/libwsdl/Makefile.am (INCLUDES): Remove WSDL_CFLAGS.
-
- * src/libsoup/soup-socket.c (soup_socket_server_accept): Set
- O_NONBLOCK on the returned SoupSocket.
- (soup_socket_server_try_accept): Ditto.
-
- * src/libsoup/soup-server.c: Reimplement for independent
- SoupServer support. Remove separate authorization handler
- concept. Process based on request paths. Import code from
- soup-httpd to allow standalone dynamic servers, and cgi support.
-
- * src/libsoup/soup-queue.c (soup_check_used_headers): Remove
- special handling of SOAPAction.
- (soup_queue_connect_cb): Start listening for reads immediately so
- that we cna process HTTP 1xx intermediate responses.
- (soup_queue_message): Rename from soup_message_queue.
- soup_message_queue is now in soup-message.c and simply calls this.
-
- * src/libsoup/soup-private.h (RESPONSE_BLOCK_SIZE): Rename
- existing SoupServer to SoupHost. Create new SoupServer struct.
- Add server and server_sock elements to SoupMessagePrivate. Move
- SoupServerHandler definition to soup-server.h. Move define for
- soup_queue_shutdown to new soup-queue.h.
-
- * src/libsoup/soup-ntlm.c: Add mojo for getting a portable alloca.
-
- * src/libsoup/soup-message.h: Remove SoupErrorCode. Add
- SoupKnownErrorCode and SoupErrorClass enums. Add
- SOUP_ERROR_CANT_CONNECT_PROXY and
- SOUP_ERROR_CANT_AUTHENTICATE_PROXY for errors related directly to
- proxy communications.
-
- * src/libsoup/soup-message.c (soup_message_new): Take the HTTP
- method name as the second argument. Remove per-message handlers
- for authentication and redirection.
- (soup_message_issue_callback): Uses finalize_message to avoid
- double cleanup. Remove error argument, as they should be set
- using soup_message_set_error.
- (soup_message_run_handlers): Run per-message handlers followed by
- global handlers, if a handler requeues a message we stop
- processing. If the invoke_type is POST_BODY, we issue the final
- callback.
- (soup_message_remove_handler): Make public.
- (soup_message_set_error): Impl
- (soup_message_set_error_full): Impl
- (soup_message_set_handler_error): Impl
- (soup_get_error_phrase): Impl
- (soup_get_error_class): Impl
-
- * src/libsoup/soup-dav-server.c: Add a reference to the SoupServer
- we are registered with. Use soup_message_set_error throughout.
- (i_copy): Fix assignment causing this loop to never run.
- (soup_dav_server_register): Add SoupServer and required authtypes
- parameters.
-
- * src/libsoup/soup-context.c: Replace references to SoupServer
- with SoupHost, so we don't clash with the SoupServer from
- soup-server.h. Rename soup_servers to soup_hosts.
-
- * src/libsoup/Makefile.am (libsoup_la_SOURCES): Add soup-queue.h.
-
- * configure.in (SOUP_CURRENT): Add some helpful comments and bump
- to '3'. Bump version to 0.5.99 (0.6 development). Use
- AC_FUNC_ALLOCA instead of just checking for alloca.h. Remove
- WSDL_CFLAGS.
-
-2001-08-30 Alex Graveley <alex@ximian.com>
-
- * src/soup-wsdl/Makefile.am (soup_wsdl_LDADD): Link with
- libwsdl.so and libwsdl-build.a.
-
- * src/libwsdl/Makefile.am (libwsdlinclude_HEADERS): Dont install
- wsdl-typecodes-c.h. Make libwsdl-build a static lib.
- (libwsdl_build_a_SOURCES): Remove everthing but wsdl-typecodes-c.[ch].
- (libwsdl_build_a_LIBADD): Depend on libwsdl.
-
-2001-08-29 Alex Graveley <alex@ximian.com>
-
- * build/soup_ssl_proxy.dsp:
- * build/soup_httpd.dsp:
- * build/libsoupwsdl.dsp:
- * build/libsoupapache.dsp:
- * build/libsoup.dsp: Update for new layout.
-
-2001-08-29 Alex Graveley <alex@ximian.com>
-
- * src/*/*.h: Fix headers for new layout.
- * tests/*.c: Ditto.
-
- * tests/Makefile.am (LDFLAGS): Use libtool to link with built
- libsoup and libwsdl.
- (libstockquote2_la_LIBADD): Ditto for libsoup-apache.
-
- * tests/stockquote2.wsdl: Indent prettily.
-
- * src/Makefile.am (SUBDIRS): Update for new source layout.
-
- * configure.in (SOUP_INCLUDEDIR): Use @includedir@/soup.
- (SOUP_WSDL_LIBS): include $SOUP_LIBS.
- (CFLAGS): Add Makefiles for new layout.
-
- * soup-config.in: Use @includedir@/soup.
-
- * soup.pc.in (Cflags): Use @includedir@/soup.
-
-2001-08-28 Alex Graveley <alex@ximian.com>
-
- * src/soup-core/soup-socket.c (soup_address_new): Perform deep
- unix magic in order to identify if we are running in a
- debugger. This is needed because gdb causes segfaults in child
- processes that load shlibs due to breakpoints being left over in
- the new unwatched process. Now, gethostbyname() loads shared libs
- to do name resolution on many unixes, which would cause soup to be
- hard to use and otherwise suck when run inside a debugger. So now
- everything works perfectly both inside and outside of gdb.
- (soup_address_new_cb): Resolve the hostname syncronously if we are
- inside a debugger.
-
-2001-08-28 Alex Graveley <alex@ximian.com>
-
- * src/soup-core/soup-context.c (soup_try_existing_connections):
- Remove mega FIXME.
-
- * src/soup-core/soup-queue.c (soup_queue_read_headers_cb): If the
- response server is HTTP 1.0, default to non-persistent connections.
-
- * src/soup-core/soup-httpd.c (soup_httpd_read_headers_cb): Store
- http version for incoming message.
-
- * src/soup-core/soup-headers.c (soup_headers_parse_response):
- Support returning the http version.
- (soup_headers_parse_request): Ditto.
-
-2001-08-28 Alex Graveley <alex@ximian.com>
-
- * src/soup-core/soup-transfer.c (soup_transfer_read_chunk):
- Rewrite HEX decoding to hopefully be easier to understand and maintain.
-
- * src/soup-core/soup-message.c (redirect_handler): Don't unref the
- old context until after we requeue the message using the new
- context, as we may still have a connection from the old one.
-
-2001-08-27 Alex Graveley <alex@ximian.com>
-
- * src/soup-core/soup-auth.c (soup_auth_new_digest): Set the
- compare func on the returned object.
-
-2001-08-27 Joe Shaw <joe@ximian.com>
-
- * src/soup-core/soup-context.c (soup_try_existing_connections):
- Just return NULL from this function for now. There are some bugs
- in it. Added a big, triple FIXME.
-
-2001-08-26 Alex Graveley <alex@ximian.com>
-
- * src/soup-wsdl/*: Format fixes.
- * src/soup-wsdl-runtime/*: Format fixes.
-
-2001-08-26 Alex Graveley <alex@ximian.com>
-
- * src/soup-core/soup-misc.c (soup_config_ssl_ca_file): impl.
- (soup_config_ssl_ca_directory): impl.
- (soup_config_ssl_certificate): impl.
- Add config file support for client certificates.
-
-2001-08-26 Alex Graveley <alex@ximian.com>
-
- * src/soup-core/soup-misc.c (soup_set_ssl_ca_file): impl.
- (soup_set_ssl_ca_dir): impl.
- (soup_set_ssl_cert_files): impl.
-
- * src/soup-core/soup-openssl.c (soup_openssl_init): Load cert
- authority files found in HTTPS_CA_DIR and HTTPS_CA_FILE.
- (soup_openssl_get_iochannel): Load certificate found in
- HTTPS_CERT_FILE and private key from file in
- HTTPS_KEY_FILE. Client certificates thanks to Scott Hutton
- (shutton@pobox.com).
-
-2001-08-24 Alex Graveley <alex@ximian.com>
-
- * src/soup-core/soup-queue.c (soup_queue_connect_cb): Always
- regenerate req->priv->req_header.
-
- * src/soup-core/soup-ntlm.c (soup_ntlm_lanmanager_hash): pass 15
- byte buffer to work around array bounds read by setup_schedule.
-
- * src/soup-core/soup-message.c (authorize_handler): No need to
- free msg->priv->req_header as it is generated on each request now.
- (soup_message_set_request_header): Ditto.
-
- * src/soup-core/soup-auth.c (ntlm_auth): Only return
- auth->response one time. Subsequent calls return NULL.
-
- * src/soup-core/soup-queue.c (soup_encode_http_auth): Check for
- NULL auth response.
-
-2001-08-23 Alex Graveley <alex@ximian.com>
-
- * src/soup-core/soup-auth.c (ntlm_new): Fix under-allocation.
- (ntlm_parse): Comment out the NTLM host/domain parsing code, as it
- segfaults for some reason. Not that this matters as IIS seems to
- competely ignore these parts of the NTLM message :) There is also
- some memory corruption in soup-ntlm.c causing segfaults after the
- message-finished callback returns.
-
-2001-08-23 Alex Graveley <alex@ximian.com>
-
- * src/soup-core/soup-auth.c (soup_auth_invalidates_prior): Add
- SoupAuth.compare_func and call this from here, to remove hardcoded
- auth scheme knowledge.
- (soup_auth_new_from_header): Iterate known_auth_schemes looking
- for a match with auth scheme supplied, instead of hardcoding known
- auth schemes.
-
-2001-08-23 Alex Graveley <alex@ximian.com>
-
- * src/soup-core/soup-auth.c (soup_auth_invalidates_prior): Take an
- old_auth argument, if auth_types do not match always return
- TRUE. This allows for a server requested re-auth with a different
- auth mechanism.
-
-2001-08-23 Alex Graveley <alex@ximian.com>
-
- * src/soup-core/soup-ntlm.[ch]: Microsoft NTLM authentication
- support compliments of Dan Winship (danw@ximian.com).
-
- * src/soup-core/Makefile.am (libsoup_la_SOURCES): Add soup-ntlm.[ch]
-
- * src/soup-core/soup-auth.c (soup_auth_new_from_header): Set auth
- context before header parsing. Add NTLM case. Call
- auth->parse_func instead of hardcoding.
- (soup_auth_invalidates_prior): add NTLM, which should always
- invalidate.
- (ntlm_new): impl.
- (ntlm_free): impl.
- (ntlm_parse): impl. Hack to get domain from the uri's authmech
- field.
- (ntlm_auth): impl.
-
- * src/soup-core/soup-dav-server.c (get_depth): return 0 for
- unknown value.
-
- * src/soup-core/soup-server.h: Remove SoupServerAnonymousToken and
- add SoupServerNTLMToken.
-
-2001-08-20 Joe Shaw <joe@ximian.com>
-
- * configure.in: Bump up version to 0.4.4
- * src/soup-core/soup-private.h: Ditto.
-
- * src/soup-core/soup-auth.c (compute_response, digest_auth_func):
- Instead of just passing uri->path, pass
- uri->path + '?' + uri->querystring if present.
-
-2001-08-17 Alex Graveley <alex@ximian.com>
-
- * build/libsoup.def: Update for DAV methods.
-
-2001-08-17 Alex Graveley <alex@ximian.com>
-
- * src/soup-core/soup-dav-server.[ch]: Initial WebDAV server
- support.
-
- * src/soup-core/soup-dav.[ch]: Beginnings of WebDAV client
- support.
-
- * configure.in: Add warning about updating
- src/soup-core/soup-private.h when version changes.
-
- * src/soup-core/soup-private.h: Declare SoupAuth here, so
- including is possible.
-
-2001-08-12 Alex Graveley <alex@ximian.com>
-
- * src/soup-core/soup-ssl.c (soup_ssl_get_iochannel): Connect to
- HUP signal to avoid indefinate hangs. Remove idle waitpid
- handler. Thanks to Chris Toshok for finding this one.
-
-2001-08-11 Alex Graveley <alex@ximian.com>
-
- * src/soup-core/soup-ssl-proxy.c (main): Fix typo causing
- O_NONBLOCK not to be set.
-
- * src/soup-core/soup-ssl.c (soup_ssl_get_iochannel): Ditto.
-
-2001-08-10 Alex Graveley <alex@ximian.com>
-
- * src/soup-core/soup-private.h: Include sys/socket.h for sa in
- SoupAddress.
-
-2001-08-08 Alex Graveley <alex@ximian.com>
-
- * configure.in: Bump version to 0.4.3.
-
-2001-08-08 Alex Graveley <alex@ximian.com>
-
- * src/soup-core/soup-transfer.c (soup_transfer_read_chunk):
- Handle entity headers after chunk body, closes bug #6846.
-
- * src/soup-core/soup-queue.c (soup_queue_read_done_cb): Fixup comments.
-
-2001-08-06 Alex Graveley <alex@ximian.com>
-
- * src/soup-core/soup-private.h: Define VERSION to "Win/0.4.2" for
- Windows clients.
-
-2001-08-06 Alex Graveley <alex@ximian.com>
-
- * src/soup-core/soup-transfer.c (soup_transfer_read_cb): Remove
- warning used for testing.
- (soup_transfer_write_cb): Ditto.
-
-2001-08-06 Alex Graveley <alex@ximian.com>
-
- * src/soup-core/soup-transfer.c (soup_transfer_read_cb): Read
- speedup to read all available data before processing and returning
- to the mainloop.
-
- * src/soup-core/soup-message.h: Add defines for standard DAV methods.
-
-2001-07-31 Alex Graveley <alex@ximian.com>
-
- * src/soup-core/soup-queue.c (soup_get_request_header): Remove
- special case for GET and HEAD when adding content-length header.
-
-2001-07-30 Alex Graveley <alex@ximian.com>
-
- * configure.in: Bump version to 0.4.2.
-
-2001-07-30 Alex Graveley <alex@ximian.com>
-
- * src/soup-core/soup-queue.c (soup_queue_read_headers_cb):
- Content-length should be avoided for HEAD requests.
-
-2001-07-30 Alex Graveley <alex@ximian.com>
-
- * src/soup-core/soup-misc.c (soup_load_config_internal): Fix bug
- where only the first valid config token is loaded from the config file.
-
-2001-07-30 Alex Graveley <alex@ximian.com>
-
- * src/soup-core/soup-socket.c (soup_address_new_cb): Fix dangling
- pointer error where a resolved SoupAddress is passed to the callback,
- and then realloc'd.
-
- * src/soup-core/soup-headers.c (soup_headers_parse_response):
- Don't require gchar const **status_phrase.
-
-2001-07-29 Alex Graveley <alex@ximian.com>
-
- * src/soup-core/soup-apache.c (soup_apache_message_create): strdup
- response_phrase.
-
- * src/soup-core/soup-httpd.c (soup_httpd_read_done_cb): Ditto.
-
- * src/soup-core/soup-message.c (soup_message_free): Free
- response_phrase.
-
- * src/soup-core/soup-context.c (soup_try_existing_connections):
- Revert accidental commit.
-
- * src/soup-core/soup-queue.c (soup_get_request_header): Only
- inhibit Content-Length for GET and HEAD if request.length is 0;
- (soup_message_queue): Free response_phrase on requeue.
-
- * src/soup-core/soup-socket.c (soup_address_new): Fix
- formatting.
-
-2001-07-26 Joe Shaw <joe@ximian.com>
-
- * src/soup-core/soup-queue.c (soup_get_request_header): Don't display
- the SOAPAction header if it's either provided by the user or it is
- NULL.
-
-2001-07-26 Joe Shaw <joe@ximian.com>
-
- * configure.in: Bump the version up to 0.4.1.
-
- * src/soup-core/soup-queue.c (soup_get_request_header): Fix a logic
- error. Send the actual version of Soup with the User-Agent header
- instead of always 0.1.
-
-2001-07-25 Joe Shaw <joe@ximian.com>
-
- * src/soup-core/soup-socket.c (soup_address_new,
- soup_address_get_name): Close a bunch of leaked file descriptors from
- piping.
-
-2001-07-19 Alex Graveley <alex@ximian.com>
-
- * src/soup-core/soup-queue.c (soup_get_request_header): Allow
- override of http version. Only include Content-Length if method is
- not GET or HEAD.
-
- * src/soup-core/soup-message.c (soup_message_new): Set default
- http_version to SOUP_HTTP_1_1;
- (soup_message_set_http_version): Impl.
- (soup_message_get_flags): Check for NULL.
-
- * src/soup-core/soup-private.h: Add http_version to _SoupMessagePrivate.
-
-2001-07-19 Alex Graveley <alex@ximian.com>
-
- * configure.in: Bump version to 0.4.0.
-
-2001-07-19 Alex Graveley <alex@ximian.com>
-
- * configure.in: Remove -Werror from WSDL_CFLAGS as this ills on so
- many redhat distros. Remove unused ISO C99 IEEE754 section. Set
- the default to hide more warnings.
-
- * src/soup-wsdl-runtime/wsdl-typecodes.c: Remove \r from end of
- lines.
-
- * src/soup-wsdl/Makefile.am: Formatting.
- * src/soup-wsdl-runtime/Makefile.am: Formatting.
-
-2001-07-17 Alex Graveley <alex@ximian.com>
-
- * src/soup-core/soup-context.c (soup_context_uri_hash): Add
- querysting to hash.
- (soup_context_uri_equal): Compare querystring for equality.
-
- * src/soup-core/soup-transfer.c (soup_transfer_read_error_cb): Add
- gross hack to avoid double frees by only freeing the SoupReader
- or SoupWriter if we are not currently processing a callback.
- (soup_transfer_read_cb): Ditto
- (soup_transfer_write_error_cb): Ditto.
- (soup_transfer_write_cb): Ditto.
- (soup_transfer_read_cancel): Return if currently processing a callback.
- (soup_transfer_write_cancel): Ditto.
-
- * src/soup-core/soup-message.c (soup_message_new): Add
- redirect_handler by default.
- (soup_message_set_flags): Remove redirect handler when
- SOUP_MESSAGE_NO_REDIRECT is set, and add it when it is unset.
-
- * src/soup-core/soup-message.h: Change SOUP_MESSAGE_FOLLOW_REDIRECT to
- SOUP_MESSAGE_NO_REDIRECT, as redirect is on by default now.
-
-2001-07-16 Alex Graveley <alex@ximian.com>
-
- * src/soup-core/soup-transfer.c (soup_transfer_read_cb): Set len
- to 0 before calling callback to handle cases where no content
- length is specified. Special thanks goes out to Joe Shaw
- (joe@ximian.com) for finding this one.
-
-2001-07-16 Alex Graveley <alex@ximian.com>
-
- * src/soup-core/soup-private.h: Remove the unused digest_data from
- _SoupMessagePrivate.
-
- * src/soup-core/soup-auth.c: Reorganize into basic-auth,
- digest-auth, public interface, and parse routines hopefullly to
- make this more readable.
-
-2001-07-13 Alex Graveley <alex@ximian.com>
-
- * src/soup-wsdl-runtime/wsdl-typecodes.c: Add windows x86 type
- alignment defines.
-
-2001-07-10 Alex Graveley <alex@ximian.com>
-
- * src/soup-core/soup-uri.h: Replace SOUP_PROTOCOL_SHTTP with
- SOUP_PROTOCOL_HTTPS.
- * src/soup-core/soup-context.c (soup_connection_get_iochannel): Ditto.
- * src/soup-core/soup-httpd.c (soup_httpd_conn_accept): Ditto.
-
-2001-07-09 Alex Graveley <alex@ximian.com>
-
- * src/soup-core/soup-socket.c (soup_socket_server_new): Typo to go
- to SETUP_ERROR on error.
-
-2001-07-09 Alex Graveley <alex@ximian.com>
-
- * src/soup-core/soup-uri.c (soup_uri_get_protocol): Use
- g_strncasecmp.
-
- * src/soup-core/soup-transfer.c (soup_transfer_write_cb): ifdef
- wrap all references to SIGPIPE.
-
- * src/soup-core/soup-ssl.c: ifdef wrap sys/wait.h and sys/socket.h.
- (soup_ssl_get_iochannel): Do nothing if on windows.
-
- * src/soup-core/soup-socket.c: Various never-before compiled
- windows cleanups.
-
- * src/soup-core/soup-misc.c (soup_load_config): ifdef wrap
- SYSCONFDIR souprc loading.
-
- * src/soup-core/soup-context.c: ifdef wrap sys/socket.h
- (soup_connection_setup_socket): Do nothing if on windows.
-
- * src/soup-core/soup-auth.c: If on windows include <process.h> for
- getpid().
-
- * configure.in: Add checks for sys/sockio.h and sys/wait.h
-
-2001-07-09 Alex Graveley <alex@ximian.com>
-
- * build/Soup_core.dsp
- build/Soup_wsdl_runtime.dsp
- build/Soup_wsdl.dsp: Use unique Debug output directory.
-
-2001-07-09 Alex Graveley <alex@ximian.com>
-
- * build/Soup.dsw
- build/Soup_apache.dsp
- build/Soup_core.dsp
- build/Soup_httpd.dsp
- build/Soup_ssl_proxy.dsp
- build/Soup_wsdl.dsp
- build/Soup_wsdl_runtime.dsp: Initial run of windows build scripts.
-
-2001-07-09 Alex Graveley <alex@ximian.com>
-
- * src/soup-core/soup-auth.[ch]: New client authentication (basic/digest)
- code from Joe Shaw (joe@ximian.com).
-
- * src/soup-core/soup-queue.c (soup_encode_http_auth): Updated to
- use soup-auth.
- (soup_get_request_header): Pass the SoupMessage to
- soup_encode_http_auth instead of just the URI. Check for
- req->action in header creation.
- (soup_queue_error_cb): Reset read_tag and write_tag to avoid
- double free.
- (soup_encode_http_auth): Use soup_auth_authorize().
-
- * src/soup-core/soup-private.h: Add SoupAuth to SoupContext.
-
- * src/soup-core/soup-context.c (soup_context_unref): Free auth.
-
- * src/soup-core/soup-cgi.c: Flog.
-
- * src/soup-core/soup-message.c (soup_message_new): Create handlers
- for 401 (Authorization Required) and 407 (Proxy-Authorization
- Required) response codes.
- (soup_message_redirect): Rename to redirect_handler.
- (redirect_handler): Don't unref existing context if new context
- creation fails.
- (soup_message_set_header): Check for value before insertion.
-
- * src/soup-core/soup-transfer.c (soup_transfer_read_cancel): Free
- recv_buf contents if no callback has been issued.
- (soup_transfer_read_cb): Set callback_issued.
-
-2001-07-05 Alex Graveley <alex@ximian.com>
-
- * src/soup-core/soup-socks.c (soup_connect_socks_proxy): Use const uris.
-
- * src/soup-core/soup-queue.c (soup_encode_http_auth): Make uri const.
-
- * src/soup-core/soup-context.[ch] (soup_context_get_uri): Return a
- const SoupUri.
-
- * src/soup-core/soup-digest.c (soup_digest_md5_finalize): Make
- compile.
-
-2001-07-02 Alex Graveley <alex@ximian.com>
-
- * src/soup-core/soup-digest.c: Formatting fixes.
- (digest_md5_challenge): Use string auth_header instead of
- GByteArray for token.
- (soup_digest_challenge): Free response GByteArray after adding
- Authorization header.
-
-2001-07-02 Alex Graveley <alex@ximian.com>
-
- * src/soup-core/soup-private.h: Remove _SoupMessagePrivate bits
- covered by soup-transfer.
-
- * src/soup-core/soup-queue.c: Use soup-transfer.
- (soup_queue_error_cb): Remove handling of buggy MS IIS server
- tranferring partial content then closing connection. Report this
- as SOUP_ERROR_IO instead.
-
- * src/soup-core/soup-httpd.c: Use soup-transfer.
-
- * src/soup-core/soup-transfer.[ch]: Added. HTTP Transport
- abstraction used to clean up client and standalone/cgi server code
- duplication.
-
- * configure.in: Bump version to 0.3.
-
- * src/soup-core/soup-queue.c (soup_check_used_headers): Use
- toupper in switch instead of upper/lower cases for each.
-
- * src/soup-core/soup-httpd.c: Declare apache dummy method
- implementations to avoid warnings.
-
-2001-06-27 Joe Shaw <joe@ximian.com>
-
- * src/soup-core/soup-digest.c: Largely gutted. Made RFC 2617
- compliant. Removed RFC 2831 compliance.
- (soup_digest_challenge): Implemented.
-
-2001-06-21 Joe Shaw <joe@ximian.com>
-
- * src/soup-core/soup-message.c (soup_message_new): Do a
- g_return_val_if_fail() on the SoupContext being passed in so we don't
- generate a bad SoupMessage.
-
-2001-06-19 Alex Graveley <alex@ximian.com>
-
- * src/soup-core/soup-context.c (soup_context_from_uri): Use
- soup_context_uri_hash and soup_context_uri_equal for matching
- existing server contexts instead of just matching on path.
- (soup_context_uri_hash): Added. Returns a hash of the user, authmech,
- password, and path of a given SoupUri.
- (soup_context_uri_equal): Added. Returns TRUE if the user, authmech,
- password, and path of a two SoupUris match.
-
-2001-06-15 Alex Graveley <alex@ximian.com>
-
- * configure.in: add check for unistd.h
-
- * src/soup-core/soup-apache.c,
- src/soup-core/soup-cgi.c,
- src/soup-core/soup-context.c,
- src/soup-core/soup-digest.c,
- src/soup-core/soup-nss.c,
- src/soup-core/soup-openssl.c,
- src/soup-core/soup-private.h,
- src/soup-core/soup-queue.c,
- src/soup-core/soup-server.c,
- src/soup-core/soup-ssl-proxy.c,
- src/soup-core/soup-ssl.c.
- src/soup-wsdl-runtime/wsdl-typecodes.c: #ifdef protect config.h
- and unistd.h inclusion.
-
-2001-06-15 Dick Porter <dick@ximian.com>
-
- * src/soup-wsdl-runtime/wsdl-schema.h:
- * src/soup-wsdl-runtime/wsdl-schema.c:
- * src/soup-wsdl-runtime/wsdl-schema-glib.h:
- * src/soup-wsdl-runtime/wsdl-schema-glib.c:
- * src/soup-wsdl/wsdl-parse.c:
- * src/soup-core/soup-serializer.c:
- * src/soup-core/soup-parser.c: replace 'childs' with
- 'xmlChildrenNode', 'root' with 'xmlRootNode' and 'CHAR' with
- 'xmlChar' for compatibility with both libxml1 and libxml2
-
- * configure.in: Check for either libxml1 or libxml2, favouring
- libxml1 but selectable with --with-libxml=[1,2]
-
-2001-06-14 Joe Shaw <joe@ximian.com>
-
- * src/soup-core/soup-misc.c (soup_set_proxy): If we're passing in
- NULL (to reset the proxy), don't try to soup_context_ref() it.
-
-2001-06-14 Alex Graveley <alex@ximian.com>
-
- * src/soup-core/soup-queue.c (soup_read_chunk): Don't start from
- header_len offset.
- (soup_finish_read): Don't copy the recv_buf, just reference
- it. Don't free recv_buf.
- (soup_queue_read_cb): Handle truncating chunks, also truncate
- recv_buf after finishing headers. Make recv_buf contents public
- for chunk handlers.
-
- * src/soup-core/soup-message.c (soup_message_cleanup): Don't free
- the recv_buf->data, as we no longer copy it.
-
- * src/soup-core/soup-httpd.c: Update to missing header_len field.
-
- * src/soup-core/soup-private.h: change SoupMessage.header_len to a
- boolean headers_done. As we now truncate the buffer after
- downloading headers.
-
-2001-06-14 Alex Graveley <alex@ximian.com>
-
- * src/soup-core/soup-message.c (soup_message_set_flags): Remove
- redirect handler if option is removed.
- (soup_message_remove_handler): Added. Remove handler given
- function and user_data. Should this be made public?
- (soup_message_run_handlers): Remove g_warning. No checks are run
- against body handlers.
- (soup_message_cleanup): Zero cur_chunk_len and cur_chunk_idx.
-
-2001-06-13 Joe Shaw <joe@ximian.com>
-
- * src/soup-core/soup-socket.c (soup_address_new): If SOUP_SYNC_DNS is
- in the user's environment, use an old fashioned synchronous DNS lookup
- on UNIX.
-
-2001-06-07 Joe Shaw <joe@ximian.com>
-
- * src/soup-core/soup-message.c (soup_message_redirect): Change
- msg->priv->flags to msg->priv->msg_flags so it'll build again.
- (soup_message_run_handlers): Add a default case to the switch
- statement (for RESPONSE_BODY_HANDLER) to squash a warning.
-
-2001-06-07 Alex Graveley <alex@ximian.com>
-
- * src/soup-core/soup-message.c (soup_message_run_handlers): Stop
- processing if a handler requeues the message.
-
- * src/soup-core/soup-queue.c (soup_process_headers): Allow a
- handler to requeue the message without having any more handlers or
- callbacks called.
- (soup_finish_read): ditto.
- (soup_queue_read_cb): ditto.
-
- * src/soup-core/soup-message.c (soup_message_redirect): Requeue
- message based on Location header, if response status code is 300,
- 301, 302, 303, or 305.
- (soup_message_set_flags): If SOUP_MESSAGE_FOLLOW_REDIRECT is set,
- add a header handler (on Location) which calls
- soup_message_redirect ().
-
-2001-06-06 Alex Graveley <alex@ximian.com>
-
- * src/soup-core/soup-message.c (soup_message_add_header_handler):
- implement.
- (soup_message_add_response_code_handler): ditto.
- (soup_message_add_body_handler): ditto.
- (soup_message_run_handlers): uh-huh.
- (soup_message_free): Free allocated handler info.
-
- * src/soup-core/soup-message.h: Change SOUP_MESSAGE_PROCESS_CHUNKS
- to SOUP_MESSAGE_OVERWRITE_CHUNKS. This will allow large files to
- be processed using a BODY_CHUNK handler, instead of keeping
- everything in memory.
-
- * src/soup-core/soup-queue.c (soup_process_headers): Run PRE_BODY
- handlers.
- (soup_finish_read): Run POST_BODY handlers.
- (soup_queue_read_cb): Run BODY_CHUNK handlers.
-
-2001-06-06 Joe Shaw <joe@ximian.com>
-
- * src/soup-core/soup-message.c (soup_message_set_method,
- soup_message_get_method): Implement. Sets the HTTP method for a given
- message.
- (soup_message_new): Set the default method to SOUP_METHOD_POST.
-
- * src/soup-core/soup-misc.c (soup_substring_index): Make sure we
- check the very last possible character (<= instead of <) for substrings.
-
- * src/soup-core/soup-queue.c (soup_get_request_header): Send an HTTP
- request for the method set in the message instead of always POST.
-
- * src/soup-core/soup-parser.c: Change the #include to <parser.h> from
- <gnome-xml/parser.h>.
-
- * src/soup-core/soup-serializer.h: Change the #include to <tree.h> from
- <gnome-xml/tree.h>.
-
-2001-06-04 Alex Graveley <alex@ximian.com>
-
- * src/soup-core/soup-httpd.c: (ap_*) Add these empty Apache method
- implementations so soup modules built using soup-apache can be
- loaded into soup-http.
- (main): Pass a SoupHttpdServerSock object representing a listening
- server to soup_httpd_conn_accept.
- (soup_httpd_finish_read): Return useful error explanations to
- client when no SOAPAction header is specified, or no server handler for
- the specified SOAPAction is found.
- (soup_httpd_message_construct): Lookup content-length
- correctly. Free req_method and req_path.
-
- * src/soup-core/soup-message.c (soup_message_set_header): if
- overwriting an existing header, be sure
- to free the old key and value.
-
- * src/soup-core/soup-queue.c (soup_queue_read_async): rename to
- (soup_queue_read_cb): this.
- (soup_queue_error_async): rename to
- (soup_queue_error_cb): this.
- (soup_queue_write_async): rename to
- (soup_queue_write_cb): this.
- (soup_queue_connect): rename to
- (soup_queue_connect_cb): this.
-
-2001-06-04 Dick Porter <dick@ximian.com>
-
- * src/soup-wsdl-runtime/wsdl-schema.c: A new error message
- mechanism for reporting schema parse errors to the calling code
-
- * src/soup-wsdl-runtime/wsdl-schema-glib.c
- (wsdl_schema_glib_parse_struct, wsdl_schema_glib_start_element,
- wsdl_schema_glib_end_element): Use new error message mechanism
-
- * src/soup-wsdl/wsdl-parse.c (wsdl_parse_warning,
- wsdl_parse_error, wsdl_parse_fatal): Log messages via wsdl_debug,
- so the module selection works
-
-2001-06-01 Alex Graveley <alex@ximian.com>
-
- * src/soup-core/soup-misc.c: Correctly note copyright for
- soup_base64_encode() to the FSF, and credit Chris Blizzard as the
- actual author.
-
-2001-06-01 Alex Graveley <alex@ximian.com>
-
- * src/soup-core/Makefile.am (libsoup_la_SOURCES): Take soup-cgi.c
- out of rotation until server/client codepaths merge.
-
- * src/soup-core/soup-httpd.c (soup_httpd_finish_read): Don't span
- mulptiple lines for content-type header.
-
-2001-06-01 Alex Graveley <alex@ximian.com>
-
- * src/soup-core/soup-queue.c (soup_check_used_headers): Only mark
- which custom headers are used, and directly g_string_sprintfa()
- the custom header.
- (soup_get_request_header): Soptimize header writing.
-
-2001-06-01 Alex Graveley <alex@ximian.com>
-
- * src/soup-core/soup-message.c (soup_message_set_method):
- (soup_message_add_header_handler):
- (soup_message_add_response_code_handler):
- (soup_message_add_body_handler): Added.
-
- * src/soup-core/soup-socket.c (soup_address_get_name_sync): Allow
- syncronous reverse name lookups.
-
- * TODO (TODO): Updated.
-
- * src/soup-core/Makefile.am (bin_PROGRAMS): Added soup-httpd.
-
- * src/soup-core/soup-httpd.c: Added. Simple httpd server
- implementation. This shares a *lot* of code with soup-queue.c, so
- some hardc0re refactoring action is planned.
-
- * configure.in (GMODULE_LIBS): Added.
-
-2001-05-29 Dick Porter <dick@ximian.com>
-
- * tests/Makefile.am: Put the generated code into the build
- directory. Run soup-config through /bin/sh to work around a
- permissions problem.
-
-2001-05-25 Dick Porter <dick@ximian.com>
-
- * Documentation
-
-2001-05-25 Alex Graveley <alex@ximian.com>
-
- * src/soup-core/soup-queue.c (soup_message_queue): No need to free
- priv->recv_buf as it is now done in soup_message_cleanup().
- (soup_message_queue): Free response_header keys and values before
- destroying the hash table.
-
- * src/soup-core/soup-message.c (soup_message_free): Don't free
- priv->recv_buf here.
- (soup_message_cleanup): Free priv->recv_buf here instead.
-
- * src/soup-core/soup-queue.c (soup_finish_read): Since we now
- g_strdup() all headers, and we already g_memdup the actual body
- buffer, free the temporary recv_buf.
-
- * src/soup-core/soup-headers.c (soup_headers_parse_response):
- g_strdup() the response reason phrase.
-
-2001-05-24 Alex Graveley <alex@ximian.com>
-
- * README: Update Licensing section for soup-ssl-proxy.
-
-2001-05-24 Larry Ewing <lewing@ximian.com>
-
- * src/soup-wsdl-runtime/wsdl-soap-parse.c: include string.h for
- strlen and strcmp prototypes.
- * src/soup-wsdl-runtime/wsdl-soap-memory.c: include string.h for
- memset prototype.
-
-2001-05-23 Dick Porter <dick@ximian.com>
-
- * src/soup-wsdl-runtime/wsdl-typecodes-c.c
- (wsdl_typecode_write_c_mm_list):
- * src/soup-wsdl-runtime/wsdl-soap-parse.c
- (wsdl_soap_set_list_param):
- * src/soup-wsdl-runtime/wsdl-soap-marshal.c
- (wsdl_soap_marshal_list_param): Eliminate the extra layer of
- indirection for list items that are naturally pointers.
-
- * tests/test-wsdl-runtime.c: Update list tests
-
- * src/soup-wsdl-runtime/wsdl-typecodes.c:
- * src/soup-wsdl-runtime/wsdl-schema.c:
- * src/soup-wsdl/wsdl-trace.c:
- * src/soup-wsdl/wsdl-soap-emit.c:
- * src/soup-wsdl/wsdl-parse.c:
- * src/soup-wsdl/wsdl-describe.c:
- * docs/reference/soup-sections.txt: Started documenting the code
-
-2001-05-22 Alex Graveley <alex@ximian.com>
-
- * RELEASE (ANNOUNCE): Added. All release announcements should be
- prepended here.
-
-2001-05-22 JP Rosevear <jpr@ximian.com>
-
- * src/soup-core/soup-apache.c (soup_apache_read_request): null
- terminate the buffer
-
-2001-05-22 Rodrigo Moya <rodrigo@ximian.com>
-
- * src/soup-wsdl/wsdl-soap-parse.c: don't emit code to add the
- transport headers to the SoupEnv, which is only used for SOAP
- request/response headers
- * src/soup-core/soup-env.c (soup_env_set_response_header):
- g_strdup the hash table key also
- (soup_env_set_request_header): ditto
-
-2001-05-21 Alex Graveley <alex@ximian.com>
-
- * src/soup-core/soup-queue.c (soup_message_queue): gtk-doc fixups.
-
- * src/soup-core/soup-socket.c (soup_socket_server_new): New.
- (soup_socket_server_accept): New.
- (soup_socket_server_try_accept): New.
-
-2001-05-18 Rodrigo Moya <rodrigo@ximian.com>
-
- * src/soup-wsdl-runtime/wsdl-soap-parse.c (wsdl_soap_headers):
- use the correct XML node to get the headers
-
-2001-05-18 Alex Graveley <alex@ximian.com>
-
- * README: "Subscribe" not "Subject" in
- soup-list-request@ximian.com message body. :)
-
-2001-05-18 Alex Graveley <alex@ximian.com>
-
- * docs/reference/soup-docs.sgml: Prune soup-core internal files.
-
- * configure.in: Add pretty section headers, move gtk-doc section
-
-2001-05-17 JP Rosevear <jpr@ximian.com>
-
- * src/soup-wsdl/wsdl-soap-skels.c
- (wsdl_emit_soap_skels_binding_operation): do not free the callback
- data, or the second time the method gets called, *KABOOM*
-
-2001-05-17 JP Rosevear <jpr@ximian.com>
-
- * src/soup-wsdl-runtime/wsdl-soap-parse.c (wsdl_soap_operation):
- prevent leak and check for fault straight away (instead of
- operation name)
-
- * src/soup-core/soup-env.c (soup_env_free): only free the fault if
- there is one
- (soup_env_clear_fault): ditto
-
- * src/soup-wsdl-runtime/wsdl-soap-marshal.c (wsdl_soap_marshal):
- use the serializer functions to write out the fault and only write
- the message return if there is no fault
-
-2001-05-17 JP Rosevear <jpr@ximian.com>
-
- * src/soup-core/soup-headers.c (soup_headers_parse): find the end
- of the value and g_strndup only that as the value, rather than the
- remainder of the string
-
- * src/soup-core/soup-message.c (soup_message_issue_callback): free
- the message only if the callback exists, otherwise send_message is
- borked. New a little more design to fix properly
-
-2001-05-17 Dick Porter <dick@ximian.com>
-
- * Fixed all gtk-doc moans in soup-core documentation
-
- * docs/reference: Extract gtk-doc documentation from the code
-
- * tests/test-wsdl-runtime.c:
- * tests/stockquote2-server.c:
- * tests/stockquote2-client.c: Updated for new API
-
- * tests/stress-test.c:
- * tests/simple-test.c: Include installed soup headers
-
- * configure.in: Check for gtk-doc
-
- * tests/Makefile.am: Made example code just plain
- "noinst_PROGRAMS", check_PROGRAMS are built as part of "make
- dist". Wrestled with automake, automake won :-( I wanted to delete
- the built sources from the dist target, and not have automake try
- and recreate them with a non-existant soup-wsdl when I type "make
- distcheck".
-
- * Makefile.am: Took tests out of SUBDIRS, added a "make examples"
- target instead.
-
-2001-05-16 Alex Graveley <alex@ximian.com>
-
- * src/soup-core/soup-serializer.c: Document. Needs more details
- and descriptions from the SOAP spec.
-
- * src/soup-core/soup-queue.c: Document.
-
- * src/soup-core/soup-misc.c: Document.
- (soup_load_config): Reset security policy to
- SOUP_SECURITY_DOMESTIC when reloading config.
-
- * src/soup-core/soup-message.c: Document.
-
-2001-05-16 JP Rosevear <jpr@ximian.com>
-
- * src/soup-core/soup-headers.c (soup_headers_parse): g_strdup the
- response headers when adding them to the hash
-
- * src/soup-core/soup-context.c (soup_context_get): ditto
-
- * src/soup-core/soup-context.h: constify uri passed to
- soup_context_get
-
- * src/soup-core/soup-env.h (soup_env_free): new protos
-
- * src/soup-core/soup-env.c (soup_env_set_address): new accessor to
- set url to access for service
- (soup_env_get_address): ditto
-
-2001-05-16 Alex Graveley <alex@ximian.com>
-
- * src/soup-core/soup-apache.c (soup_apache_add_header_from_table):
- g_strdup headers from the apache headers table.
-
-2001-05-16 JP Rosevear <jpr@ximian.com>
-
- * tests/simple-test.c (main): change this to something sensible
-
-2001-05-16 Rodrigo Moya <rodrigo@ximian.com>
-
- * src/soup-wsdl/wsdl-soap-stubs.c: fully adapted to the new
- SoupEnv stuff
-
-2001-05-16 Dick Porter <dick@ximian.com>
-
- * tests/test-wsdl-runtime.c: Bring up-to-date with new API, and
- test typecode freeing too.
-
- * tests/stockquote2-server.c:
- * tests/stockquote2-client.c: Bring up-to-date with new API
-
- * src/soup-wsdl-runtime/wsdl-soap-memory.c: New file of functions
- to zero or free a set of types.
-
- * src/soup-wsdl-runtime/wsdl-typecodes.c
- (wsdl_typecode_param_type): Handle adding '*' to certain types
- when written as parameters.
-
- * src/soup-wsdl-runtime/wsdl-typecodes-c.c: Add pointers to memory
- free functions to typecode structs.
- New functions to write those memory free functions.
-
- * src/soup-wsdl-runtime/wsdl-soap-parse.c
- (wsdl_soap_set_struct_param): Allocate memory for structs
- (wsdl_soap_parse): Use the new function in wsdl-soap-memory.c to
- zero the parameters.
-
- * src/soup-wsdl-runtime/wsdl-soap-marshal.c
- (wsdl_soap_marshal_struct_param): Structs are now passed as
- pointers, so need to add extra indirection here.
- (wsdl_soap_marshal_param): Make sure we dont try to marshal NULL
- pointers
-
- * src/soup-wsdl/wsdl-soap-skels.c
- (wsdl_emit_soap_skels_binding_operation): Zero output args before
- calling the callback, and free any memory used by them after
- sending the response.
-
- * src/soup-wsdl/wsdl-soap-headers.c
- (wsdl_emit_soap_headers_binding_operation): Server callback now
- returns 'void'
- (wsdl_emit_soap_header_mm): Write memory-management function
- prototypes
-
- * src/soup-wsdl/wsdl-soap-emit.c (wsdl_emit_part): Use new
- parameter-passing API
-
- * src/soup-wsdl/wsdl-soap-common.c (wsdl_emit_soap_common_mm):
- Cause memory-management routines to be written for all
- user-defined types
-
-2001-05-15 JP Rosevear <jpr@ximian.com>
-
- * src/soup-wsdl/wsdl-soap-skels.c
- (wsdl_emit_soap_skels_binding_operation): soup_env_new needed "()"
- to be a function call
-
- * src/soup-core/soup.h: explicitly include soup-fault.h and soup-env.h
-
- * src/soup-wsdl-runtime/wsdl-soap-marshal.h: kludge soup-env.h as
- well. We really should rename the dirs properly
-
- * src/soup-wsdl-runtime/wsdl-soap-parse.h: kludge around include
- problem
-
-2001-05-15 Rodrigo Moya <rodrigo@ximian.com>
-
- * src/soup-wsdl/wsdl-soap-stubs.c: replace all SoupFault
- parameter with SoupEnv, and remove "GHashTable request_headers"
- from list of parameters in server callbacks, because before
- calling those callbacks, the stubs take care of adding the
- SoupMessage's request headers to the SoupEnv being passed
- * src/soup-wsdl-runtime/wsdl-soap-parse.c
- (wsdl_soap_parse): replace SoupFault with the new
- SoupEnv parameter
- (wsdl_soap_headers): new internal function to parse all
- the headers in the SOAP message and add them to the SoupEnv
- * src/soup-wsdl-runtime/wsdl-soap-marshal.c
- (wsdl_soap_marshal): don't access directly SoupFault
- struct members.
- Replace SoupFault parameter with the new SoupEnv
- * src/soup-core/soup-env.c
- (soup_env_get_request_header_list): new function
- (soup_env_get_response_header_list): new function
- (soup_env_set_fault): new function to associate a SoupFault
- with a SoupEnv
-
-2001-05-13 Rodrigo Moya <rodrigo@ximian.com>
-
- * src/soup-core/soup-fault.[ch]: made the SoupFault structure
- private, and add accessor functions for the struct members
- * src/soup-core/soup-env.[ch]: added SoupEnv stuff, to easily
- manage SOAP environments (request/response headers list, faults)
-
-2001-05-12 Alex Graveley <alex@ximian.com>
-
- * src/soup-core/soup-message.c (soup_message_set_request_header):
- g_strdup name and value.
- (soup_message_set_response_header): ditto.
- (soup_message_get_response_header): implement.
- (soup_message_get_request_header): implement.
-
-2001-05-12 Alex Graveley <alex@ximian.com>
-
- * src/soup-core/soup-fault.[ch]: Format cleanups.
-
- * src/soup-core/soup-parser.[ch]: Ditto.
-
-2001-05-12 Rodrigo Moya <rodrigo@ximian.com>
-
- * src/soup-core/soup-fault.[ch]: moved the SoupFault to its
- own header file, since it will be also used by the upcoming
- SoupEnv
-
-2001-05-11 Alex Graveley <alex@ximian.com>
-
- * tests/stress-test.c (current_temp_cb): handle
- SOUP_ERROR_CANT_AUTHENTICATE.
-
- * tests/simple-test.c (current_temp_cb): handle
- SOUP_ERROR_CANT_AUTHENTICATE.
-
-2001-05-11 Alex Graveley <alex@ximian.com>
-
- * src/soup-core/soup-nss.c (soup_nss_init): Use NSS_InitReadWrite().
- (soup_nss_get_iochannel): set SSL_BadCertHook().
-
-2001-05-10 Alex Graveley <alex@ximian.com>
-
- * src/soup-core/soup-queue.c (soup_finish_read): set
- response.owner to SOUP_BUFFER_SYSTEM_OWNED.
-
- * src/soup-core/soup-uri.c (soup_uri_copy): added.
-
- * src/soup-core/soup-context.c (soup_context_get): Free the
- temporary URI.
- (soup_context_from_uri): dup the passed uri if creating a new context.
-
-2001-05-09 JP Rosevear <jpr@ximian.com>
-
- * src/soup-wsdl/wsdl-soap-skels.c
- (wsdl_emit_soap_skels_binding_operation): indent the SoupFault
- parameter when written to the skels
-
-2001-05-09 Dick Porter <dick@ximian.com>
-
- * src/soup-wsdl-runtime/wsdl-typecodes.c: Put the glib namespace
- prefix back into the typecode struct names
- (wsdl_typecode_type): Return a namespace-prefixed type name for
- struct and element types
- (wsdl_typecode_lookup): Look up typecodes by namespace
-
- * src/soup-wsdl-runtime/wsdl-typecodes-c.c: Typecode struct names
- include namespace prefixes
-
- * src/soup-wsdl-runtime/wsdl-schema-glib.c
- (wsdl_schema_glib_parse_struct): Typecodes now have namespaces
- associated with them.
-
- * src/soup-wsdl/wsdl-soap-headers.c: Deleted all the list
- callbacks that printed variations on a parameter theme, call
- wsdl_emit_part_list instead.
- (wsdl_emit_soap_headers_binding_operation): Don't add a namespace
- part for every level of WSDL indirection.
- * src/soup-wsdl/wsdl-soap-stubs.c: ditto
- * src/soup-wsdl/wsdl-soap-skels.c: ditto
-
- * src/soup-wsdl/wsdl-soap-emit.c: New file of C code emitting helper
- functions.
-
- * src/soup-wsdl/wsdl-parse.c (wsdl_parse_message_part_attrs): Look
- up typecodes by namespace
- (wsdl_start_element): Pass more XML info to the schema parser
-
- * src/soup-core/soup-parser.h: include file wasn't on the search
- path at compile time
-
-2001-05-09 Rodrigo Moya <rodrigo@ximian.com>
-
- * src/soup-core/soup-parser.c: retrieve info about faults
- when parsing the SOAP messages
- * src/soup-wsdl/wsdl-soap-stubs.c: use 'fault' and not
- '&fault' in call to wsdl_soap_parse
- * src/soup-wsdl/: some small fixes for compilation
- * src/soup-core/soup-parser.[ch]: added a basic SOAP messages
- parser, which easily lets access to the message parameters
- and faults
-
-2001-05-05 Rodrigo Moya <rodrigo@ximian.com>
-
- * src/soup-wsdl-runtime/wsdl-soap-fault.[ch]: added to manage/retrieve
- info from SOAP faults
- * src/soup-wsdl-runtime/wsdl-soap-parse.c (wsdl_soap_parse): retrieve
- SOAP faults from the message being parsed. Added a wsdl_soap_fault
- parameter, which will be returned if there was actually a SOAP fault
- in the message
- * src/soup-wsdl-runtime/wsdl-soap-marshal.c (wsdl_soap_marhal): add
- a wsdl_soap_fault parameter, to be serialized along with the rest
- of the SOAP message
- * src/soup-wsdl/wsdl-soap-skels.c: use wsdl_soap_fault where appropriate
- * src/soup-wsdl/wsdl-soap-stubs.c: ditto
- * src/soup-wsdl/wsdl-soap-headers.c: ditto
-
-2001-05-04 Dick Porter <dick@ximian.com>
-
- * src/soup-wsdl-runtime/wsdl-schema.c: Decide which schema parser to
- call for a WSDL <types> section. This supercedes the old glib schema
- parser in wsdl-parse.c. The WSDL parser is now effectively decoupled
- from the schema, which should make it much easier to add new schemas
- in the future without having to change the parser.
-
- * src/soup-wsdl-runtime/wsdl-schema-glib.c: Build typecodes from
- the simple glib schema
-
- * src/soup-wsdl-runtime/wsdl-typecodes-c.c: Write C code
- describing a typecode.
-
- * src/soup-wsdl-runtime/wsdl-soap-parse.c:
- * src/soup-wsdl-runtime/wsdl-soap-marshal.c:
- * src/soup-wsdl-runtime/wsdl-param.h: Take all instances of 'glib' out
- of typecode definitions and function names.
-
- * src/soup-wsdl-runtime/Makefile.am: Build a version of the
- runtime library more useful for writing C code (ideally i'd make
- this dynamically link the runtime library, but libtool wont let
- me)
-
- * src/soup-wsdl/wsdl-thread.c (wsdl_thread_soap_parts): No need to
- look up glib types, the message part already holds a pointer to
- the typecode.
-
- * src/soup-wsdl/wsdl-soap-stubs.c:
- * src/soup-wsdl/wsdl-soap-skels.c: Type names are looked up by
- typecode. All checks for custom glib types have been deleted.
-
- * src/soup-wsdl/wsdl-soap-headers.c: All typecode declarations are
- now printed using the runtime library. Type names are looked up
- by typecode. All checks for custom glib types have been deleted.
-
- * src/soup-wsdl/wsdl-soap-common.c: All typecode printing is now
- done using the runtime library.
-
- * src/soup-wsdl/wsdl-parse.c: Moved wsdl_qnamecmp() and
- wsdl_attrnscmp to wsdl-schema.c (in the runtime library)
- (wsdl_parse_message_part_attrs): Look up typecodes, not glib types.
- (wsdl_parse_types): Call through the runtime schema parser, instead
- of the custom glib type parser.
-
- * src/soup-wsdl/wsdl-memory.c (wsdl_free_types): Delete typecodes
- rather than glib types.
-
- * src/soup-wsdl/wsdl-describe.c: Replace the type printing
- routines with calls to wsdl_typecode_print
-
- * src/soup-wsdl/main.c (main): No need to initialise the glib
- types any more.
-
- * src/soup-wsdl/Makefile.am (soup_wsdl_SOURCES): Don't bother to
- compile wsdl-types-glib.c, it's been superceded by the typecode
- builder
-
-2001-05-02 Dick Porter <dick@ximian.com>
-
- * src/soup-wsdl/wsdl-soap-stubs.c
- (wsdl_emit_soap_stubs_binding_operation): Write synchronous client
- stubs
-
- * src/soup-wsdl/wsdl-soap-headers.c
- (wsdl_emit_soap_headers_binding_operation): Emit prototypes for
- synchronous stubs
-
- * src/soup-wsdl/wsdl-soap-skels.c
- (wsdl_emit_soap_skels_binding_operation): Write server skels
-
- * src/soup-wsdl/wsdl-soap-headers.c
- (wsdl_emit_soap_headers_binding_operation): Emit prototypes for
- skels
- (wsdl_emit_soap_headers): Include the right soup headers
-
- * src/soup-wsdl/wsdl-soap-stubs.c (wsdl_emit_soap_stubs): Include
- the right soup headers
-
- * src/soup-wsdl-runtime/Makefile.am (INCLUDES):
- * src/soup-wsdl-runtime/wsdl-soap-marshal.h: A kludge to work
- around include path searching whether compiling or at runtime
-
-2001-04-30 Dick Porter <dick@ximian.com>
-
- * src/soup-wsdl/wsdl-soap-stubs.c: Use the new marshaller instead
- of a large printf. Drastically reduced the complexity of both the
- wsdl compiler code and the generated stubs. Deleted huge tracts of
- now-unused code too.
-
- * src/soup-wsdl/wsdl-types-glib.c: Deleted unused code
-
-2001-04-29 Dick Porter <dick@ximian.com>
-
- * src/soup-wsdl-runtime/wsdl-soap-parse.c
- (wsdl_soap_set_simple_param): Some more error checking. Read
- booleans as "true", "false", "yes", "no" as well as an integer.
- (wsdl_soap_set_param): Give the XML child node to
- wsdl_soap_set_list_param().
-
- * src/soup-wsdl-runtime/wsdl-soap-marshal.c: A typecode based soap
- marshaller
-
- * src/soup-wsdl-runtime/wsdl-param.h: Moved definition of wsdl_param
- into a common header
-
- * tests/test-wsdl-runtime.c: Added marshal test
-
- * src/soup-core/soup-serializer.c (soup_serializer_write_time):
- Changed name of "time" parameter to not conflict with time(2)
-
-2001-04-25 JP Rosevear <jpr@ximian.com>
-
- * soup-config.in (lib_soup): get this script working again and add
- wsdl
-
- * Makefile.am: create and install new script
-
- * configure.in: create variables for script substitution
-
- * soup_wsdlConf.sh.in: gnome-config script for wsdl compilation
- info
-
-2001-04-23 Rodrigo Moya <rodrigo@ximian.com>
-
- * src/soup-wsdl/wsdl-soap-headers.c
- (wsdl_emit_soap_headers_binding_operation): added
- "gpointer user_data" parameter to generated functions
- * src/soup-wsdl/wsdl-soap-stubs.c
- (wsdl_emit_soap_stubs_binding_operation): ditto &
- make use of a private structure to be able to pass both
- the user callback and a custom parameter to SOUP-generated
- callback
-
-2001-04-23 Dick Porter <dick@ximian.com>
-
- * src/soup-wsdl-runtime/wsdl-typecodes-glib.c: Typecode support
- for the simple glib schema, similar in style to CORBA typecodes.
- The alignment and size routines are based on the ones in ORBit.
-
- * src/soup-wsdl-runtime/wsdl-soap-parse.c: A parser that walks an
- XML document, and writes values into memory locations provided
-
- * tests/test-wsdl-runtime.c: Test the typecode support and parser
-
- * src/soup-wsdl/wsdl-soap-stubs.c (wsdl_emit_soap_stubs_params):
- Write a list of parameter to typecode bindings for the soap
- document parser
-
- * src/soup-wsdl/wsdl-soap-headers.c: Write extern prototypes for
- typecode definitions
-
- * src/soup-wsdl/wsdl-soap-common.c: Write typecode definitions
- into a common code file
-
- * src/Makefile.am: Build new soup-wsdl-runtime directory before
- soup-wsdl
-
- * configure.in: Added test to discover alignments
-
- * acconfig.h: Added defines for alignments
-
-2001-04-23 Alex Graveley <alex@ximian.com>
-
- * src/soup-core/soup-socket.h: SoupSocketConnectFn no longer takes
- a SoupAddress argument, as it can be fetched from the SoupSocket
- correctly now.
-
- * src/soup-core/soup-socket.c: lots of rewrites. Cache existing
- SoupAddresses to avoid duplicate lookups. Handles multiple
- simultaneous requests for the same address. Add syncronous
- versions of calls which just run the main loop until completion or
- request. Make SoupContext use a SoupAddress instead of sockaddr.
-
- * src/soup-core/soup-uri.h: Add query_elems to SoupUri. Contains a
- list of query string elements, as delimited by a
- '&'. SoupUri.protocol is now a SoupProtocol.
-
- * src/soup-core/soup-uri.c (soup_uri_new): convert uri_string
- protocol to SoupProtocol equivalent.
-
- * src/soup-core/soup-private.h: remove protocol from
- SoupContext. Use a SoupAddress instead of a sockaddr in SoupSocket.
-
- * src/soup-core/soup-misc.c (soup_load_config_internal): kill
- tiny (8 byte) mem leak.
-
- * src/soup-core/soup-message.h: add SoupOwnership
- SOUP_BUFFER_STATIC.
- add SoupErrorCode SOUP_ERROR_CANT_AUTHENTICATE.
-
- * src/soup-core/soup-context.h: move SoupProtocol to soup-uri.h.
-
- * src/soup-core/soup-context.c (soup_context_new):
- removed. Protocol is now held only in uri.
- (soup_context_from_uri): added.
- (soup_context_get): just calls soup_context_from_uri() after
- creating uri.
- (soup_context_unref): don't evaluate a post-decremented refcount.
- (soup_context_connect_cb): no longer take a SoupAddress arg.
- (soup_context_get_protocol): removed, use uri.
-
- * src/soup-core/soup-apache.c (soup_apache_message_create): use
- SOUP_BUFFER_STATIC for request buffer.
-
- * src/soup-core/md5-utils.c: initial commit. MD5 encryption.
-
- * src/soup-core/soup-digest.c: initial commit. no worky.
-
- * src/soup-core/Makefile.am (libsoup_la_SOURCES): add md5-utils.h,
- md5-utils.c, soup-digest.h, soup-digest.c.
-
- * tests/stress-test.c (main): handle ugly refcount bug causing
- extra unrefs of the context.
-
-2001-04-18 Alex Graveley <alex@ximian.com>
-
- * src/soup-core/soup-server.h: Added SoupServerBasicToken,
- SoupServerDigestToken, SoupServerAnonymousToken structs, all with
- a SoupServerAuthType as the first element. Added
- SoupServerAuthToken which is a union of all three auth types.
-
- * src/soup-core/soup-server.c (soup_server_register_full):
- Added. Accept method authentication callback and allowed auth types.
-
- * src/soup-core/soup-apache.c (soup_apache_handler): Use a
- SoupServerAuthToken. Log to apache only in error conditions.
-
- * src/soup-core/soup-server.c (soup_server_authorize): Accept a
- SoupServerAuthToken instead of username/pass/realm.
-
-2001-04-04 Rodrigo Moya <rodrigo@ximian.com>
-
- * src/soup-wsdl/wsdl-soap-stubs.c (wsdl_emit_soap_stubs):
- #include <soup/soup-*> and not soup-*
- * src/soup-wsdl/wsdl-soap-headers.c (wsdl_emit_soap_headers):
- #include <soup/soup-message.h> and not soup-message.h, to match
- with the output given by `gnome-config --cflags soup`
-
-2001-03-30 Dick Porter <dick@ximian.com>
-
- * src/soup-wsdl/wsdl-types-glib.c,
- src/soup-wsdl/wsdl-soap-headers.c,
- src/soup-wsdl/wsdl-soap-stubs.c: Rewrote much of the glib schema
- code to handle structs with child structs, and lists.
-
- * src/soup-wsdl/wsdl-thread.c (wsdl_thread_soap_parts): treat
- message part "type" and "element" attributes as the same.
- (wsdl_thread_soap_binding_operation): insist that soap:body elements
- exist in operations.
-
- * src/soup-wsdl/wsdl-parse.c (wsdl_parse_types): Moved more glib
- schema logic to wsdl-types-glib.c
-
- * src/soup-wsdl/wsdl-locate.c: Removed the glib schema locate
- functions.
-
- * src/soup-wsdl/wsdl-describe.c: Removed most of the glib schema
- describe functions
-
- * src/soup-wsdl/main.c: const-ified option string pointers.
- (main): Call glib schema init helper functions. Moved "show doc"
- option handler out of wsdl-parse.c to here.
-
- * src/soup-core/soup-private.h, src/soup-core/soup-queue.c: fixed
- prototype for soup_queue_shutdown to avoid warning
-
- * configure.in: Went wild with gcc warning options, found
- surprisingly few problems.
-
-2001-03-29 Rodrigo Moya <rodrigo@ximian.com>
-
- * configure.in: add CFLAGS to apxs parameters, to output the
- correct compilation flags
-
-2001-03-21 Alex Graveley <alex@ximian.com>
-
- * src/soup-core/soup-socks.c: remove hack to look at internals of
- GNET by using the new forked GNET :)
-
- * tests/stress-test.c: use soup_message_queue ().
-
- * tests/simple-test.c: use soup_message_queue ().
-
- * src/soup-core/soup-private.h: Added SoupAddress and SoupSocket.
-
- * src/soup-core/soup-misc.c (soup_shutdown): Added, just calls
- soup_queue_shutdown.
-
- * src/soup-core/soup-queue.h: Removed. Added to soup-message.h.
-
- * src/soup-core/soup-queue.c (soup_queue_message): rename to
- (soup_message_queue): this.
-
- * src/soup-core/soup-message.h: move SoupErrorCode,
- SoupCallbackFn, and soup_message_queue() here.
-
- * src/soup-core/soup-message.c (soup_message_free): Free
- msg->response if buffer is system owned.
- (soup_message_issue_callback): set msg->priv->errorcode so
- syncronous soup_message_send can check for completion.
- (soup_message_send): Added: Synchronous message send. Queues the
- message as per usual, then call g_main_iteration() until them
- essage returns.
-
- * src/soup-core/soup-context.c: API Document. Switch gnet calls to
- their soup-socket replacement.
- (soup_context_get_connection): Remove environment check for
- syncronous connect method.
-
- * src/soup-core/Makefile.am (INCLUDES): replace GNET_CFLAGS with
- GLIB_CFLAGS.
- (libsoup_la_LIBADD): replace GNET_LIBS with GLIB_LIBS.
- (soupinclude_HEADERS): Remove soup-queue.h. Add soup-socket.h.
- (libsoup_la_SOURCES): Add soup-socket.c.
-
- * soup.spec.in (Requires): remove GNET. Add libxml.
-
- * soup.pc.in (Libs): remove GNET.
- (Cflags): ditto.
-
- * soup-config.in (depend_libs): remove GNET.
- (depend_cflags): ditto.
-
- * configure.in: remove gnet references, look for libnsl and
- libresolv, add checking to determine gethostbyname_r possibility.
-
- * acconfig.h: Add undefs for all the gethostbyname_r variants.
-
- * src/soup-core/soup-socket.[ch]: Fork of GNET, minus synchronous
- bits. Removes dependency on GNET; we now only rely on Glib and
- libXml.
-
-2001-03-20 Dick Porter <dick@ximian.com>
-
- * src/soup-wsdl/wsdl-types-glib.c: Parse a simple glib schema.
-
- Handle describe and free operations on the glib schema structures
- here too.
-
- * src/soup-wsdl/wsdl-thread.c (wsdl_thread_soap_parts): Locate
- references to types defined in the glib schema.
-
- * src/soup-wsdl/wsdl-soap-stubs.c: Handle references to types
- defined in the glib schema.
-
- Handle output operation parameters.
-
- * src/soup-wsdl/wsdl-soap-headers.c: Emit typedefs for glib schema
- elements and structs.
-
- Handle output operation parameters.
-
- * src/soup-wsdl/wsdl-parse.c: (wsdl_parse_types): Parse glib schemas
-
- (wsdl_parse_warning): (wsdl_parse_error): (wsdl_parse_fatal): Made
- non-static, so that glib schema parsing can be separated.
-
- All attributes called "xmlns" or "xmlns:..." are ignored by the
- WSDL part of the XML parser.
-
- All g_slist_prepend()s have been turned into g_slist_append()s, to
- keep operation arguments in the expected order.
-
- * src/soup-wsdl/wsdl-memory.c (wsdl_free_types): Free glib type
- schemas
-
- * src/soup-wsdl/wsdl-locate.c: New functions to look up glib
- schema element or struct definitions
-
- * src/soup-wsdl/wsdl-describe.c (indent): Made non-static, so that
- glib type describing can be separated.
- (wsdl_describe_types): Describe glib type schemas
-
-2001-03-17 Dick Porter <dick@ximian.com>
-
- * src/soup-wsdl/wsdl-thread.c: Thread WSDL structures together.
-
- * src/soup-wsdl/wsdl-soap-stubs.c:
- * src/soup-wsdl/wsdl-soap-headers.h: Most of the element matching
- has been moved in the new threading routings.
-
- * src/soup-wsdl/wsdl-parse.h: WSDL elements have extra pointers to
- thread structures together.
-
- * src/soup-wsdl/wsdl-memory.c: Free GSLists. WSDL elements have
- extra pointers to thread structures together, and some of these
- are GSLists that need freeing too.
-
- * src/soup-wsdl/wsdl-locate.c: Some more lookup functions.
-
- * src/soup-wsdl/main.c (main): Call the WSDL element threader, and
- only proceed to write files if it succeeds.
-
-2001-03-15 JP Rosevear <jpr@ximian.com>
-
- * src/soup-core/soup-apache.c (soup_apache_message_create): use
- the HTTP_OK macro for the response code rather than hard coding
- 200
- (soup_apache_handler): return should be OK or !OK rather than the
- http response code value (ie 200)
-
- * src/soup-core/soup-serializer.c (soup_serializer_reset): Make a
- blank doc when resetting
-
-2001-03-14 JP Rosevear <jpr@ximian.com>
-
- * src/soup-core/soup-apache.c (soup_apache_read_request): oops,
- deleted too much
-
-2001-03-14 Dick Porter <dick@ximian.com>
-
- * src/soup-wsdl/wsdl-parse.h: Support for simple glib types
-
- * src/soup-wsdl/wsdl-parse.c (wsdl_attrnscmp): Check the namespace
- prefix of a string.
- (wsdl_parse_types): Add a placeholder for parsing glib schemas
- (wsdl_parse_message): Add support for simple glib types in part
- elements
-
- * src/soup-wsdl/wsdl-describe.c (wsdl_describe_message_part): Show
- glib types, if appropriate
-
-2001-03-13 JP Rosevear <jpr@ximian.com>
-
- * src/soup-core/soup-queue.c (soup_get_request_header): don't
- escape the SoapAction header, this makes things work on the server
- side but need to check if this breaks the spec
-
- * src/soup-core/soup-message.c (soup_message_free): don't try to
- free the request body twice
-
- * src/soup-core/soup-apache.c (soup_apache_message_create): The
- buffer is user owned. Use ap_contruct_url since the uri function
- did not include happy things like hostname - will this get the
- password properly though?
- (soup_apache_read_request): don't adjust read_left twice
- (soup_apache_handler): log some stuff to the apache log
-
-2001-03-13 JP Rosevear <jpr@ximian.com>
-
- * configure.in: don't chmod the files. soup-config become
- executable on install by bin_SCRIPTS and *Conf.sh never need to be
- executable, fix my apache cflags blunder
-
-2001-03-12 Alex Graveley <alex@ximian.com>
-
- * src/soup-core/soup-server.c (soup_server_get_handler): avoid
- leading and trailing quotes. If an exact match is not found,
- lookup based only on methodname not uri#methodnmae.
-
- * src/soup-core/soup-apache.c (soup_apache_handler): compile
- without warnings.
-
- * configure.in (AC_OUTPUT): chmod +x soup_apacheConf.sh
-
-2001-03-09 Alex Graveley <alex@ximian.com>
-
- * src/soup-wsdl/wsdl-parse.c (wsdl_parse): set definitions = NULL
- to pass -Werror.
-
-2001-03-09 Alex Graveley <alex@ximian.com>
-
- * tests/simple-test.c (main): demonstrate correct behavior here by
- unref'ing the context after message creation.
-
- * tests/stress-test.c (main): ditto.
-
- * src/soup-core/soup-queue.c (soup_queue_message): set
- req->priv->recv_buf = NULL here, as the media continues to barrate
- dangling pointers.
-
- * src/soup-core/soup-server.h: make SoupServerAuthorizeFn typedef
- const correct
-
- * src/soup-core/soup-server.c (soup_server_authorize): make const
- correct.
-
- * src/soup-core/soup-message.c (soup_message_cleanup): don't free
- response phrase. Don't set req->priv->recv_buf = NULL here, as
- leaking memory continues to be considered "bad".
-
- * src/soup-core/soup-headers.c (soup_headers_parse_response):
- don't alloc status_phrase, just point into buffer.
-
- * src/soup-core/soup-cgi.c (soup_cgi_read_cb): deal with response
- phrase now being const.
-
- * src/soup-core/soup-apache.c (soup_apache_message_create): action
- is already strdup'd in soup_message_new (). response_phrase
- is now a const string. Remove unneeded content-type header.
- (soup_apache_read_request): slight reorg, also use ap_palloc()
- instead of ap_calloc().
- (soup_apache_handler): initial authentication handling, only basic
- auth at this point.
-
-2001-03-09 Dick Porter <dick@ximian.com>
-
- * src/soup-wsdl/wsdl-parse.h: Each WSDL struct has a pointer into
- the XML tree document
-
- * src/soup-wsdl/wsdl-parse.c (wsdl_qnamecmp): A function for
- comparing element names and namespaces.
-
- Use wsdl_qnamecmp instead of strcmp to make parsing
- namespace-aware.
-
- (wsdl_end_element): Maintain a pointer into the XML tree for each
- WSDL node.
-
- * src/soup-wsdl/wsdl-memory.c (wsdl_free_definitions): Free the
- XML document
-
- * src/soup-wsdl/main.c (main): Move the xml doc dump to here, for
- better modularity
-
-2001-03-08 Alex Graveley <alex@ximian.com>
-
- * src/soup-core/soup-ssl.c (soup_ssl_get_iochannel): after failing
- an explicit path execution, use execlp (instead of execl) to
- search the path for soup-ssl-proxy.
-
- * configure.in: set the default openssl library prefix to /usr/lib
- to fix weird linking problems when compiling with both openssl and
- nss.
-
-2001-03-08 JP Rosevear <jpr@ximian.com>
-
- * configure.in: send the apache info to the config script
-
- * src/soup-core/soup-apache.c (soup_apache_handler): upon further
- reading, content_type is for the outgoing document
- (soup_apache_read_request): if ap_should_client_block != 0 we
- want to keep going
-
-2001-03-08 JP Rosevear <jpr@ximian.com>
-
- * soup_apacheConf.sh.in: script to provide soup-apache config info
- through gnome-config
-
- * Makefile.am: subst in the soup_apache config script
-
- * configure.in: create vars for soup-apache config foo
-
- * src/soup-core/soup-apache.c (soup_apache_handler): check for
- null because content type can be null
-
-2001-03-07 JP Rosevear <jpr@ximian.com>
-
- * src/soup-core/soup-server.h: soup_server_init should be an
- extern function
-
-2001-03-07 Alex Graveley <alex@ximian.com>
-
- * src/soup-core/soup-server.c (soup_server_set_global_auth): add
- allowable authentication types mask.
- (soup_server_set_method_auth): ditto. NOTE: This server auth stuff
- may be removed altogether, so don't rely on it.
-
- * src/soup-core/soup-server.h: added SoupServerAuthType, a mask of
- allowable authentication types. Make soup_server_init an extern
- declaration instead of a function pointer.
-
- * src/soup-core/soup-apache.c (soup_apache_read_request): move
- chunked data checking to here from soup_apache_handler.
-
-2001-03-07 JP Rosevear <jpr@ximian.com>
-
- * soupConf.sh.in: use configure.in vars for subst
-
- * configure.in: create variables for config script
-
- * Makefile.am: generate the soupConf.sh script in the makefile for
- proper substitution
-
-2001-03-07 Alex Graveley <alex@ximian.com>
-
- * src/soup-core/soup-cgi.c: created. moved cgi-related request
- processing here. do not use it. completely broken.
-
- * src/soup-core/soup-apache.c: initial commit of Apache module
- handling, server registration should be performed in a
- soup_server_init function. Authorization handling still needs to
- be written.
-
- * src/soup-core/soup-server.c: cleaned up to have only generic
- server functions. removed extraneous unregister functions.
- (soup_server_set_global_auth): set the global server authorize
- function, to be called in the absence of a method-specific
- authorize function.
- (soup_server_set_method_auth): set per-method authorize function.
-
- * src/soup-core/soup-queue.c (soup_parse_headers): remove unneeded
- variables.
-
- * src/soup-core/soup-private.h: add SoupServerHandler,
- soup_server_get_handler(), and soup_server_authorize().
-
- * src/soup-wsdl/Makefile.am (INCLUDES): add WSDL_CFLAGS, to get
- -Werror.
-
- * src/soup-core/Makefile.am: add new libsoup-apache.so target.
-
- * soup.spec.in: update and remove hardcoded library version.
-
- * soup-config.in: add module soup-apache.
-
- * configure.in: Fix library versioning. Switch version to
- 0.2.1. Add APACHE_CFLAGS and APACHE_LIBS, gotten from running
- `apxs`. Remove -Werror from CFLAGS, as apache_conf.h is missing a
- prototype. Add WSDL_CFLAGS="-Werror" back.
-
- * TODO (TODO): Updated.
-
-2001-03-06 JP Rosevear <jpr@ximian.com>
-
- * configure.in: properly version the project and give an option to
- disable more warnings
-
-2001-03-02 Alex Graveley <alex@ximian.com>
-
- * src/soup-wsdl/Makefile.am (INCLUDES): Remove WSDL_CFLAGS.
-
- * tests/simple-test.c (current_temp_cb): handle SOUP_ERROR_HANDLER
- so we pass -Werror.
-
- * tests/stress-test.c (current_temp_cb): handle SOUP_ERROR_HANDLER
- so we pass -Werror.
-
- * configure.in: remove some excess version-related cruft. Display
- a Configuration list on completion. Add -Werror. Remove WSDL_CFLAGS.
-
-2001-03-02 Alex Graveley <alex@ximian.com>
-
- * src/soup-core/gionspr.c: remove, as this is not used.
-
-2001-03-02 Alex Graveley <alex@ximian.com>
-
- * configure.in: remove gmodule dependency. Fix OPENSSL_LIBS and
- NSS_LIBS to include the library name and not only the path.
-
- * src/soup-core/soup-ssl-proxy.c (soup_ssl_proxy_init): remove
- call to g_module_supported().
-
- * src/soup-core/soup-nss.c: remove GModule NSS loading,
- link conventionally instead.
-
- * src/soup-core/soup-openssl.c: remove GModule OpenSSL loading,
- link conventionally instead.
-
-2001-03-02 Alex Graveley <alex@ximian.com>
-
- * src/soup-core/soup-ssl-proxy.c: oops. should have been added
- yesterday.
-
-2001-03-02 Alex Graveley <alex@ximian.com>
-
- * tests/stress-test.c (main): exit nicely if no test URL is supplied.
-
- * tests/simple-test.c (main): use http://www.ximian.com is no test
- URL is supplied.
-
- * tests/Makefile.am (INCLUDES): include glib headers.
-
- * src/soup-wsdl/Makefile.am (INCLUDES): include glib, popt, and
- libxml headers.
- (soup_wsdl_LDADD): explicitly add glib, popt, libxml deps.
-
- * src/soup-core/Makefile.am (INCLUDES): include gnet, libxml,
- openssl, and nss headers.
- (libsoup_la_LIBADD): explicitly add gnet, libxml deps.
- (soup_ssl_proxy_LDADD): explicitly add glib, nss and openssl deps.
-
- * soup.spec.in: remove OpenSSL advertising clause.
-
- * soupConf.sh.in: list out dependencies (gnet, libxml).
-
- * soup.pc.in: list out dependencies (gnet, libxml).
-
- * soup-config.in: list out dependencies (gnet, libxml).
-
- * configure.in: Cleanups to remove unnecessary dependencies.
-
-2001-02-28 Alex Graveley <alex@ximian.com>
-
- * src/soup-core/soup-ssl.c (soup_ssl_idle_waitpid): glib idle
- callback which calls waitpid (nonblockingously) on all the
- soup-ssl-proxy children to make sure their resources are freed.
- (soup_ssl_get_iochannel): execute soup-ssl-proxy, setting up STDIN
- and STDOUT to point to the fd we will return a GIOChannel for,
- also passing the security policy and the destination socket fd
- number in the environments SECURITY_POLICY and SOCKFD,
- respectively.
-
- * src/soup-core/soup-ssl-proxy.c: Created. This is a small SSL
- proxy executable, licensed GPL, which allows us to use OpenSSL and
- NSS without requiring applications which link with libsoup to have
- to comply with the licenses of those SSL libraries.
-
- * src/soup-core/soup-server.c (soup_server_register): add handler
- to list.
-
- * src/soup-core/soup-queue.c (soup_queue_write_async): ignore
- SIGPIPE and handle errno.
-
- * src/soup-core/soup-misc.c (soup_set_security_policy): move from
- soup-ssl.c.
- (soup_get_security_policy): add.
-
- * src/soup-core/soup-context.c (soup_connection_get_iochannel):
- setup TCP socket before getting an SSL wrapper channel.
-
- * src/soup-core/Makefile.am (INCLUDES): add -DBINDIR
- (libsoup_la_SOURCES): remove ssl backends
- (soup_ssl_proxy_SOURCES): create soup-ssl-proxy
-
- * src/soup-core/.cvsignore: add soup-ssl-proxy
-
-2001-02-28 Dick Porter <dick@ximian.com>
-
- * src/soup-wsdl/wsdl-trace.[ch]: New file of better debugging routines.
-
- * src/soup-wsdl/wsdl-soap-stubs.[ch]: New file that emits C code
- for client stubs.
-
- * src/soup-wsdl/wsdl-soap-skels.[ch]: New file that will emit C
- code for server skeleton functions.
-
- * src/soup-wsdl/wsdl-soap-headers.[ch]: New file that emits
- structure definitions and function prototypes for stubs and skels
-
- * src/soup-wsdl/wsdl-soap-common.[ch]: New file that will emit C
- code for functions common to stubs and skels.
-
- * src/soup-wsdl/wsdl-memory.[ch]: New file of routines to
- recursively free WSDL structures.
-
- * src/soup-wsdl/wsdl-locate.[ch]: New file of routines to look up
- WSDL structures given a name and a parent structure.
-
- * src/soup-wsdl/wsdl-describe.[ch]: New file of structure printing
- routines.
-
- * src/soup-wsdl/wsdl.h: Deleted the debug logging stuff, added a
- much better version in wsdl-trace.[ch]
-
- * src/soup-wsdl/wsdl-parse.h: Structures moved here from
- wsdl-parse.c. Added all of the SOAP extensions.
-
- * src/soup-wsdl/wsdl-parse.c: Added the rest of the SOAP
- extensions. Moved some of the parser internal struct definitions
- into wsdl-parse.h.
- Moved the structure printing routines into their own file.
- (wsdl_get_location): Made the error reporting slightly more useful
- (wsdl_parse_porttype_operation): Tell the difference between a
- request-response operation and a solicit-response operation.
- (wsdl_parse_xml): Combine tree and SAX parsing styles, so I can
- build an xmlDocPtr tree, yet still fill in the WSDL structures as
- the XML is being read.
- (wsdl_parse): Set up the SAX parser so it calls the internal
- libxml tree building routines, except for those elements that I
- use to build WSDL structures. These elements must call the
- corresponding xmlDefaultSAXHandler functions themselves.
-
- * src/soup-wsdl/main.c: Added options for code generation
- (main): Call code generation routines
-
- * src/soup-wsdl/Makefile.am: Added a lot of new files
-
- * configure.in: Add -Werror to the WSDL CFLAGS
-
-2001-02-20 Alex Graveley <alex@ximian.com>
-
- * src/soup-core/Makefile.am (libsoup_la_LDFLAGS): remove -release
- tag so libsoup is named libsoup.so.0.1.9 not libsoup-0.1.9.so.0.0.0
-
- * soupConf.sh.in (SOUP_INCLUDEDIR): use $CPPFLAGS instead of $CFLAGS.
-
- * soup-config.in (depend_cflags): use $CPPFLAGS instead of $CFLAGS.
-
- * configure.in: Clean up to use $CPPFLAGS instead of $CFLAGS for
- storing glib, gnet, libxml, openssl, nspr, and nss header
- locations.
-
-2001-02-20 Alex Graveley <alex@ximian.com>
-
- * configure.in: cleaned up to no longer link with an SSL
- library. Added options --with-nspr-includes, --with-nspr-libs,
- --with-nss-includes, --with-nss-libs, --with-openssl-includes, and
- --with-openssl-libs.
-
- * src/soup-core/Makefile.am (libsoup_la_SOURCES): Add
- soup-nss.[ch], and soup-openssl.[ch].
+ * libsoup/Makefile.am: Rename library to libsoup-2.0, put includes
+ in ${includedir}/soup-2.0
- * src/soup-core/soup-openssl.c: Added. Move existing OpenSSL code
- here. Convert to using GModule to load the shared library at runtime.
-
- * src/soup-core/soup-nss.c: Added. Initial implementation of NSS
- SSL support. Uses GModule to perform runtime loading. Needs
- serious testing.
-
- * src/soup-core/soup-ssl.c (soup_set_security_policy): Sets the
- underlying SSL library's policy wrt allowed ciphers. Valid options
- are DOMESTIC, EXPORT, and FRANCE, though these may change as
- domestic and export are confusing terms.
- (soup_ssl_init): Now simply chains SSL library initialization until
- one is loaded successfully. Attempts to start NSS then OpenSSL, then
- simply fails gracefully for future SSL connections.
- (soup_ssl_get_iochannel): dispatch to the underlying SSL library
- in use, or return NULL if none are available.
-
- * src/soup-core/soup-misc.c (soup_load_config_internal): Converted
- to use generic config file option table.
- (soup_config_connection_limit): Added. Set the connection limit
- given a "connection-limit" config file option.
- (soup_config_proxy_uri): Added. Set the proxy uri given a
- "proxy-uri" or "proxy-url" config file option.
- (soup_config_security_policy): Added. Allows setting the SSL security
- policy from the config file.
-
-2001-02-16 Alex Graveley <alex@ximian.com>
-
- * tests/Makefile.am: clear out some unneccassry cruft as currently
- all tests link against libsoup.
-
- * src/soup-wsdl/Makefile.am (soup_wsdl_SOURCES): add wsdl.h.
-
- * src/soup-core/Makefile.am (libsoup_la_SOURCES): add
- soup-headers.h, soup-private.h, soup-socks.h, and soup-ssl.h to
- pass distcheck.
-
-2001-02-15 Alex Graveley <alex@ximian.com>
-
- * tests/stress-test.c (current_temp_cb): update to return void
- from the callback.
- (main): do not requeue existing messages when they have finished,
- as they will be freed. instead create new SoupMessage objects.
-
- * tests/simple-test.c (current_temp_cb): update to return void
- from the callback.
-
- * src/soup-core/soup-serializer.c (soup_serializer_start_element):
- support creation of the request's SOAPAction header my taking the
- namespace uri and name of the first element after starting the
- body tag.
-
- * src/soup-core/soup-queue.h: add SOUP_ERROR_HANDLER which will be
- used by the upcoming handler/interceptor stuff to return an
- application-level error to the message callback. Make
- SoupCallbackFn return void.
-
- * src/soup-core/soup-queue.c (soup_debug_print_headers): make public.
- (soup_queue_write_async): attempt to write again if the first
- write was okay and didn't block.
-
- * src/soup-core/soup-uri.c (soup_debug_print_uri): make public.
-
- * src/soup-core/soup-message.c (soup_message_issue_callback):
- message callback now returns void, meaning that soup_queue_message()
- takes ownership of the message and always frees it after calling
- the callback (unless it was requeued from within the callback).
-
- * src/soup-core/soup-headers.c (soup_headers_parse_request):
- renamed from soup_parse_request_headers.
- (soup_headers_parse_response): renamed from soup_parse_response_headers.
- (soup_headers_parse): renamed from soup_parse_headers.
-
-2001-02-13 Alex Graveley <alex@ximian.com>
-
- * src/soup-core/soup-ssl.c (soup_get_ssl_iochannel): renamed to
- soup_ssl_get_iochannel.
-
-2001-02-13 Alex Graveley <alex@ximian.com>
-
- * src/soup-core/soup-ssl.c (soup_ssl_add_watch): work around fact
- that data available in the socket does not always mean unencrypted
- data is available for reading.
- (soup_ssl_read_cb): called on socket data available. Only call the
- real callback if SSL_pending() returns > 0 meaning there is actual
- data to read. there is a bug here as SSL_pending() always returns
- false, so its commented out.
-
- * src/soup-core/soup-queue.c (soup_queue_connect): add explicit
- check for SOCKS protocol, remove call to soup_setup_socket.
-
- * src/soup-core/soup-context.c (soup_connection_get_iochannel):
- add channel member to SoupConnection, and serve it up for future
- requests.
-
- * src/soup-core/soup-queue.c (soup_setup_socket): removed.
- (soup_get_request_header): change default Content-Type to
- "text/xml; charset=utf-8".
-
- * src/soup-core/soup-context.c (soup_connection_setup_socket):
- moved soup-queue.c:soup_setup_socket() to here.
-
-2001-02-12 alex <alex@ximian.com>
-
- * src/soup-core/soup-server.[ch]: Initial revision of server side
- request handling dispatcher.
-
-2001-02-11 alex <alex@ximian.com>
-
- * TODO: add items left before a release.
-
- * soup-queue.c: change default Content-Type to "text/xml" from
- "text/xml\r\n\tcharset=\"utf-8\"".
-
- * soup-serializer.[ch]: added soup_serializer_new_full which
- removes unnecessary args to soup_serializer_start_envelope.
- rearrange namespace args to soup_serializer_start_element to match
- other methods. added soup_serializer_set_type to set the xsi:type,
- and soup_serializer_set_null to set xsi:null="1".
-
-2001-02-06 alex <alex@ximian.com>
-
- * soup-config.in: remove some cruft.
-
- * soupConf.sh.in: remove some cruft.
-
- * src/soup-core/Makefile.am: build soup-headers.c
-
- * src/soup-core/soup-headers.[ch]: created. refactor of header parsing
- logic for use in requests and responses.
-
- * src/soup-core/soup-message.c: free req->response_phrase as it is now
- allocated.
-
- * src/soup-core/soup-queue.c (soup_parse_headers): use
- soup_parse_response_headers. (soup_queue_reqest): free
- req->response_phrase.
-
- * src/soup-core/soup-serializer.h: include <time.h>
-
-2001-01-31 Jeffrey Stedfast <fejj@ximian.com>
-
- * src/soup-core/gionspr.c: Implemented (probably somewhat broken).
-
-2001-01-25 Rodrigo Moya <rodrigo@ximian.com>
-
- * soup-config.in: replaced @glib_cflags@ and @glib_libs@ with
- @GLIB_CFLAGS@ and @GLIB_LIBS@. Added -I@includedir@/soup to
- $cflags
-
-2001-01-23 alex <alex@ximian.com>
-
- * ChangeLog: Created from rcs2log.
-
- * AUTHORS: Added Dick Porter.
-
- * soup.pc.in, soup-config.in, soupConf.sh, soup.m4:
- Created with a dash of Maintainer Love.
-
- * soup.spec.in: RPM spec file. Needs fixing wrt to displaying the
- OpenSSL license conditionally (if it was statically linked).
-
- * Makefile.am: Updated to install new config scripts and macros.
-
- * configure.in: add --enable-ssl, --with-ssl=[nss/openssl/none],
- and --with-nss-prefix=PFX to support choosing of an SSL library to
- use, even though openssl is the only one currently supported.
-
- * src/soup-core/Makefile.am: don't install soup-ssl.h or
- soup-socks.h, they're internal.
-
- * src/soup-core/soup-ssl.c: wrap openssl calls with a conditional
- to avoid building if --enable-ssl=no or NSS is chosen as the
- library. soup_get_ssl_iochannel() will print "SSL Not Supported."
- and return NULL if no library has been chosen.
-
- * tests/stress-test.c: make the callback handle errors by
- requeuing request and not just g_error'ing.
-
-2001-01-23 alex <alex@ximian.com>
-
- * soup-context.c (soup_context_get_connection): check environment
- for SOUP_NO_ASYNC_CONNECT, and if set use syncronous name lookup
- and connect. Use this when debugging.
-
- * soup-queue.c (soup_read_chunk): fix buffer overflow.
-
- * soup-queue.c (soup_queue_read_async): set header_len to include
- trailing \r\n\r\n as this makes more sense.
-
- * soup-serializer.[ch] (soup_serializer_get_xml_doc): allows
- getting at the serializer's internal xml tree.
-
- * soup.h: install soup-serializer.h.
-
-2001-01-21 alex <alex@ximian.com>
-
- * /cvs/helixcode/services/soup/src/soup-wsdl/Makefile.am,
- /cvs/helixcode/services/soup/tests/Makefile.am,
- /cvs/helixcode/services/soup/configure.in,
- /cvs/helixcode/services/soup/src/Makefile.am: Update Makefile.ams
- and configure.in to work with new layout.
-
- * /cvs/helixcode/services/soup/src/soup.h,
- /cvs/helixcode/services/soup/src/soup-socks.h,
- /cvs/helixcode/services/soup/src/soup-ssl.c,
- /cvs/helixcode/services/soup/src/soup-ssl.h,
- /cvs/helixcode/services/soup/src/soup-uri.c,
- /cvs/helixcode/services/soup/src/soup-uri.h,
- /cvs/helixcode/services/soup/src/soup-context.c,
- /cvs/helixcode/services/soup/src/soup-context.h,
- /cvs/helixcode/services/soup/src/soup-message.c,
- /cvs/helixcode/services/soup/src/soup-message.h,
- /cvs/helixcode/services/soup/src/soup-misc.c,
- /cvs/helixcode/services/soup/src/soup-misc.h,
- /cvs/helixcode/services/soup/src/soup-private.h,
- /cvs/helixcode/services/soup/src/soup-queue.c,
- /cvs/helixcode/services/soup/src/soup-queue.h,
- /cvs/helixcode/services/soup/src/soup-serializer.c,
- /cvs/helixcode/services/soup/src/soup-serializer.h,
- /cvs/helixcode/services/soup/src/soup-socks.c: Adding Dick's wsdl
- compiler to the soup package, to src/soup-wsdl. Moving existing
- soup stuff to src/soup-core.
-
-2001-01-19 dick <dick@ximian.com>
-
- * /cvs/helixcode/services/soup/src/soup-wsdl/main.c,
- /cvs/helixcode/services/soup/src/soup-wsdl/Makefile.am,
- /cvs/helixcode/services/soup/src/soup-wsdl/wsdl.h,
- /cvs/helixcode/services/soup/src/soup-wsdl/wsdl-parse.c,
- /cvs/helixcode/services/soup/src/soup-wsdl/wsdl-parse.h,
- /cvs/helixcode/services/soup/tests/stockquote2.wsdl,
- /cvs/helixcode/services/soup/tests/stockquote.wsdl: First part of
- the WSDL compiler.
-
- The parser accepts an XML file in WSDL syntax. Some syntax
- checking is done, but there is no consistency checking yet.
-
- User-specified types are not yet supported.
-
-2001-01-17 alex <alex@ximian.com>
-
- * src/soup-serializer.c (soup_serializer_start_element): handle
- cases where users want to be lazy and supply a namespace prefix
- but not a uri (i.e. broken xml).
-
- * 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.
-
-2001-01-15 alex <alex@ximian.com>
-
- * src/soup-misc.c: Fix a typo
-
- * 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.
-
- * 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.
-
-2001-01-14 alex <alex@ximian.com>
-
- * 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.
-
- * 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!
-
-2001-01-12 alex <alex@ximian.com>
-
- * 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.
-
-2001-01-11 alex <alex@ximian.com>
-
- * 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.
-
-2001-01-08 alex <alex@ximian.com>
-
- * /cvs/helixcode/services/soup/src/soup-message.c,
- /cvs/helixcode/services/soup/src/soup-message.h,
- /cvs/helixcode/services/soup/src/soup-request.c,
- /cvs/helixcode/services/soup/src/soup-request.h: * Oops. Forget to
- add new files and remove old ones when I renamed SoupRequest to
- SoupMessage.
-
- * /cvs/helixcode/services/soup/src/soup-ssl.c,
- /cvs/helixcode/services/soup/src/soup-queue.c: * 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.
-
- * /cvs/helixcode/services/soup/src/Makefile.am,
- /cvs/helixcode/services/soup/src/soup.h,
- /cvs/helixcode/services/soup/src/soup-private.h,
- /cvs/helixcode/services/soup/src/soup-queue.c,
- /cvs/helixcode/services/soup/src/soup-queue.h,
- /cvs/helixcode/services/soup/tests/simple-test.c,
- /cvs/helixcode/services/soup/tests/stress-test.c: * 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?
-
- * /cvs/helixcode/services/soup/configure.in,
- /cvs/helixcode/services/soup/src/Makefile.am,
- /cvs/helixcode/services/soup/src/soup-context.c,
- /cvs/helixcode/services/soup/src/soup-context.h,
- /cvs/helixcode/services/soup/src/soup-private.h,
- /cvs/helixcode/services/soup/src/soup-queue.c,
- /cvs/helixcode/services/soup/src/soup-request.c,
- /cvs/helixcode/services/soup/src/soup-ssl.c,
- /cvs/helixcode/services/soup/src/soup-ssl.h: * 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.
-
-2000-12-27 alex <alex@ximian.com>
-
- * /cvs/helixcode/services/soup/src/soup-core/soup-private.h,
- /cvs/helixcode/services/soup/src/soup-core/soup-queue.c,
- /cvs/helixcode/services/soup/src/soup-private.h,
- /cvs/helixcode/services/soup/src/soup-queue.c: * 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.
-
- * /cvs/helixcode/services/soup/tests/Makefile.am,
- /cvs/helixcode/services/soup/tests/stress-test.c: * Added
- tests/stress-test.c which makes 3 simultaneous requests to a url,
- each repeating 110 times (enough to trigger Apache to kill
- keep-alive connections), goes to sleep for 20 seconds (long enough
- for Apache to kill keep-alive connections again) and repeats. It
- also sets the connection limit to 2.
-
- * /cvs/helixcode/services/soup/tests/simple-test.c: *
- SOUP_ERROR_UNKNOWN has been removed. Don't check for it.
-
-2000-12-26 alex <alex@ximian.com>
-
- * /cvs/helixcode/services/soup/src/soup-context.c,
- /cvs/helixcode/services/soup/src/soup-context.h,
- /cvs/helixcode/services/soup/src/soup-misc.c,
- /cvs/helixcode/services/soup/src/soup-private.h,
- /cvs/helixcode/services/soup/src/soup-queue.c,
- /cvs/helixcode/services/soup/src/soup-queue.h,
- /cvs/helixcode/services/soup/src/soup-request.c,
- /cvs/helixcode/services/soup/src/soup-request.h,
- /cvs/helixcode/services/soup/src/soup-uri.c: * Made SoupConnection
- wrap Gnet's TcpSocket. This means there are no gnet references in
- the public interface.
-
- * Lots of code cleanup/reorg/bugfixes.
-
-2000-12-20 alex <alex@ximian.com>
-
- * /cvs/helixcode/services/soup/src/soup-context.c,
- /cvs/helixcode/services/soup/src/soup-private.h,
- /cvs/helixcode/services/soup/src/soup-queue.c,
- /cvs/helixcode/services/soup/src/soup-request.c,
- /cvs/helixcode/services/soup/src/soup-uri.c,
- /cvs/helixcode/services/soup/tests/simple-test.c: * 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.
-
-2000-12-13 alex <alex@ximian.com>
-
- * /cvs/helixcode/services/soup/src/soup-core/soup-uri.c,
- /cvs/helixcode/services/soup/src/soup-uri.c: * 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.
-
- * /cvs/helixcode/services/soup/tests/Makefile.am,
- /cvs/helixcode/services/soup/tests/simple-test.c,
- /cvs/helixcode/services/soup/configure.in,
- /cvs/helixcode/services/soup/Makefile.am,
- /cvs/helixcode/services/soup/src/soup-context.c,
- /cvs/helixcode/services/soup/src/soup-context.h,
- /cvs/helixcode/services/soup/src/soup-misc.c,
- /cvs/helixcode/services/soup/src/soup-private.h,
- /cvs/helixcode/services/soup/src/soup-queue.c,
- /cvs/helixcode/services/soup/src/soup-queue.h,
- /cvs/helixcode/services/soup/src/soup-request.c,
- /cvs/helixcode/services/soup/src/soup-request.h,
- /cvs/helixcode/services/soup/src/soup-uri.c,
- /cvs/helixcode/services/soup/src/soup-uri.h: * 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).
-
-2000-12-12 alex <alex@ximian.com>
-
- * /cvs/helixcode/services/soup/src/soup-context.c,
- /cvs/helixcode/services/soup/src/soup-queue.c: * Also changed the
- passing of a gchar** to a gchar* in soup_process_headers()'s
- sscanf().
-
- * /cvs/helixcode/services/soup/src/soup-context.c,
- /cvs/helixcode/services/soup/src/soup-context.h,
- /cvs/helixcode/services/soup/src/soup-queue.c,
- /cvs/helixcode/services/soup/src/soup-request.c: * 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.
-
- * /cvs/helixcode/services/soup/src/soup-queue.c: * Don't use glibc
- sscanf extensions.
-
-2000-12-11 alex <alex@ximian.com>
-
- * /cvs/helixcode/services/soup/src/soup-queue.c: 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.
-
- * /cvs/helixcode/services/soup/configure.in,
- /cvs/helixcode/services/soup/src/Makefile.am,
- /cvs/helixcode/services/soup/src/soup-context.c,
- /cvs/helixcode/services/soup/src/soup-context.h,
- /cvs/helixcode/services/soup/src/soup.h,
- /cvs/helixcode/services/soup/src/soup-misc.c,
- /cvs/helixcode/services/soup/src/soup-misc.h,
- /cvs/helixcode/services/soup/src/soup-private.h,
- /cvs/helixcode/services/soup/src/soup-queue.c,
- /cvs/helixcode/services/soup/src/soup-queue.h,
- /cvs/helixcode/services/soup/src/soup-request.c,
- /cvs/helixcode/services/soup/src/soup-request.h,
- /cvs/helixcode/services/soup/src/soup-uri.h: * 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.
-
-2000-12-07 alex <alex@ximian.com>
-
- * /cvs/helixcode/services/soup/configure.in,
- /cvs/helixcode/services/soup/src/soup-queue.c: Replaced CVS gnet
- feature for setting TCP_NODELAY
-
-2000-12-06 alex <alex@ximian.com>
-
- * /cvs/helixcode/services/soup/acconfig.h,
- /cvs/helixcode/services/soup/AUTHORS,
- /cvs/helixcode/services/soup/autogen.sh,
- /cvs/helixcode/services/soup/ChangeLog,
- /cvs/helixcode/services/soup/configure.in,
- /cvs/helixcode/services/soup/docs/soap-encoding.txt,
- /cvs/helixcode/services/soup/docs/soap-envelope.txt,
- /cvs/helixcode/services/soup/Makefile.am,
- /cvs/helixcode/services/soup/NEWS,
- /cvs/helixcode/services/soup/README,
- /cvs/helixcode/services/soup/src/Makefile.am,
- /cvs/helixcode/services/soup/src/soup-context.c,
- /cvs/helixcode/services/soup/src/soup-context.h,
- /cvs/helixcode/services/soup/src/soup.h,
- /cvs/helixcode/services/soup/src/soup-private.h,
- /cvs/helixcode/services/soup/src/soup-queue.c,
- /cvs/helixcode/services/soup/src/soup-queue.h,
- /cvs/helixcode/services/soup/src/soup-request.c,
- /cvs/helixcode/services/soup/src/soup-request.h,
- /cvs/helixcode/services/soup/src/soup-uri.c,
- /cvs/helixcode/services/soup/src/soup-uri.h: Initial version
+ * libsoup/*: Merge soup-0-7 back onto the trunk. Remove
+ SOAP-specific stuff, Windows support, and other things that
+ weren't being maintained.
+ * soup-config.in, soupConf.sh: Kill these. We only support
+ pkg-config now.
"\x00\x00\x00\x00\x00"
void
-soup_ntlm_lanmanager_hash (const char *password, char hash[21])
+soup_ntlm_lanmanager_hash (const char *password, guchar hash[21])
{
guchar lm_password [15];
DES_KS ks;
}
void
-soup_ntlm_nt_hash (const char *password, char hash[21])
+soup_ntlm_nt_hash (const char *password, guchar hash[21])
{
unsigned char *buf, *p;
guchar zero_pad[2];
} NTLMString;
-#define NTLM_CHALLENGE_NONCE_OFFSET 24
-#define NTLM_CHALLENGE_NONCE_LENGTH 8
-#define NTLM_CHALLENGE_DOMAIN_OFFSET 48
-#define NTLM_CHALLENGE_DOMAIN_LEN_OFFSET 44
+#define NTLM_CHALLENGE_NONCE_OFFSET 24
+#define NTLM_CHALLENGE_NONCE_LENGTH 8
+#define NTLM_CHALLENGE_DOMAIN_STRING_OFFSET 12
#define NTLM_RESPONSE_HEADER "NTLMSSP\x00\x03\x00\x00\x00"
-#define NTLM_RESPONSE_FLAGS "\x82\x01"
+#define NTLM_RESPONSE_FLAGS 0x8202
typedef struct {
guchar header[12];
NTLMString domain;
NTLMString user;
NTLMString host;
+ NTLMString session_key;
- guint16 msg_len;
- guchar zero_pad[2];
-
- guchar flags[2];
- guchar zero_pad2[2];
+ guint32 flags;
} NTLMResponse;
-#if G_BYTE_ORDER == G_BIG_ENDIAN
-#define LE16(x) (((x & 0xFF) << 8) | ((x >> 8) & 0xFF))
-#else
-#define LE16(x) x
-#endif
-
static void
ntlm_set_string (NTLMString *string, int *offset, int len)
{
- string->offset = LE16 (*offset);
- string->length = string->length2 = LE16 (len);
+ string->offset = GUINT16_TO_LE (*offset);
+ string->length = string->length2 = GUINT16_TO_LE (len);
*offset += len;
}
return g_strdup ("NTLM TlRMTVNTUAABAAAABoIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAwAAAA");
}
-char *
-soup_ntlm_response (const char *challenge,
- const char *user,
- const char *lm_hash,
- const char *nt_hash,
- const char *host,
- const char *domain)
+gboolean
+soup_ntlm_parse_challenge (const char *challenge,
+ char **nonce,
+ char **default_domain)
{
- int hlen, dlen, ulen, offset, decodelen;
- guchar lm_resp[24], nt_resp[24], *nonce;
- NTLMResponse resp;
+ int clen, decodelen;
+ NTLMString domain;
char *chall;
- unsigned char *out, *p;
int state, save;
if (strncmp (challenge, "NTLM ", 5) != 0)
- return NULL;
+ return FALSE;
decodelen = strlen (challenge) - 5;
chall = g_malloc (decodelen);
state = save = 0;
- soup_base64_decode_step ((guchar *) challenge + 5,
- decodelen,
- chall,
- &state,
- &save);
+ clen = soup_base64_decode_step ((guchar *) challenge + 5,
+ decodelen,
+ chall,
+ &state,
+ &save);
+
+ if (clen < NTLM_CHALLENGE_DOMAIN_STRING_OFFSET ||
+ clen < NTLM_CHALLENGE_NONCE_OFFSET + NTLM_CHALLENGE_NONCE_LENGTH) {
+ g_free (chall);
+ return FALSE;
+ }
+
+ if (default_domain) {
+ memcpy (&domain, chall + NTLM_CHALLENGE_DOMAIN_STRING_OFFSET, sizeof (domain));
+ domain.length = GUINT16_FROM_LE (domain.length);
+ domain.offset = GUINT16_FROM_LE (domain.offset);
+
+ if (clen < domain.length + domain.offset) {
+ g_free (chall);
+ return FALSE;
+ }
+
+ *default_domain = g_strndup (chall + domain.offset, domain.length);
+ }
+
+ if (nonce) {
+ *nonce = g_memdup (chall + NTLM_CHALLENGE_NONCE_OFFSET,
+ NTLM_CHALLENGE_NONCE_LENGTH);
+ }
- nonce = chall + NTLM_CHALLENGE_NONCE_OFFSET;
- nonce [NTLM_CHALLENGE_NONCE_LENGTH] = '\0';
+ g_free (chall);
+ return TRUE;
+}
- calc_response (lm_hash, nonce, lm_resp);
- calc_response (nt_hash, nonce, nt_resp);
+char *
+soup_ntlm_response (const char *nonce,
+ const char *user,
+ const char *password,
+ const char *host,
+ const char *domain)
+{
+ int hlen, dlen, ulen, offset;
+ guchar hash[21], lm_resp[24], nt_resp[24];
+ NTLMResponse resp;
+ unsigned char *out, *p;
+ int state, save;
+
+ soup_ntlm_lanmanager_hash (password, hash);
+ calc_response (hash, nonce, lm_resp);
+ soup_ntlm_nt_hash (password, hash);
+ calc_response (hash, nonce, nt_resp);
memset (&resp, 0, sizeof (resp));
memcpy (resp.header, NTLM_RESPONSE_HEADER, sizeof (resp.header));
- memcpy (resp.flags, NTLM_RESPONSE_FLAGS, sizeof (resp.flags));
+ resp.flags = GUINT32_TO_LE (NTLM_RESPONSE_FLAGS);
offset = sizeof (resp);
- if (domain)
- dlen = strlen (domain);
- else {
- /* Grab the default domain from the challenge */
- domain = chall + NTLM_CHALLENGE_DOMAIN_OFFSET;
- dlen = atoi (chall + NTLM_CHALLENGE_DOMAIN_LEN_OFFSET);
- }
+ dlen = strlen (domain);
ntlm_set_string (&resp.domain, &offset, dlen);
ulen = strlen (user);
ntlm_set_string (&resp.user, &offset, ulen);
&state,
&save);
*p = '\0';
- g_free (chall);
return out;
}
-#define KEYBITS(k,s) \
- (((k[(s)/8] << ((s)%8)) & 0xFF) | (k[(s)/8+1] >> (8-(s)%8)))
-
/* DES utils */
/* Set up a key schedule based on a 56bit key */
static void
guchar key[8];
int i, c, bit;
- for (i = 0; i < 8; i++) {
- key [i] = KEYBITS (key_56, i * 7);
+ key[0] = (key_56[0]) ;
+ key[1] = (key_56[1] >> 1) | ((key_56[0] << 7) & 0xFF);
+ key[2] = (key_56[2] >> 2) | ((key_56[1] << 6) & 0xFF);
+ key[3] = (key_56[3] >> 3) | ((key_56[2] << 5) & 0xFF);
+ key[4] = (key_56[4] >> 4) | ((key_56[3] << 4) & 0xFF);
+ key[5] = (key_56[5] >> 5) | ((key_56[4] << 3) & 0xFF);
+ key[6] = (key_56[6] >> 6) | ((key_56[5] << 2) & 0xFF);
+ key[7] = ((key_56[6] << 1) & 0xFF);
- /* Fix parity */
+ /* Fix parity */
+ for (i = 0; i < 8; i++) {
for (c = bit = 0; bit < 8; bit++)
- if (key [i] & (1 << bit))
+ if (key[i] & (1 << bit))
c++;
if (!(c & 1))
- key [i] ^= 0x01;
+ key[i] ^= 0x01;
}
deskey (ks, key, 0);
/* Public domain DES implementation from Phil Karn */
static unsigned long Spbox[8][64] = {
- 0x01010400,0x00000000,0x00010000,0x01010404,
- 0x01010004,0x00010404,0x00000004,0x00010000,
- 0x00000400,0x01010400,0x01010404,0x00000400,
- 0x01000404,0x01010004,0x01000000,0x00000004,
- 0x00000404,0x01000400,0x01000400,0x00010400,
- 0x00010400,0x01010000,0x01010000,0x01000404,
- 0x00010004,0x01000004,0x01000004,0x00010004,
- 0x00000000,0x00000404,0x00010404,0x01000000,
- 0x00010000,0x01010404,0x00000004,0x01010000,
- 0x01010400,0x01000000,0x01000000,0x00000400,
- 0x01010004,0x00010000,0x00010400,0x01000004,
- 0x00000400,0x00000004,0x01000404,0x00010404,
- 0x01010404,0x00010004,0x01010000,0x01000404,
- 0x01000004,0x00000404,0x00010404,0x01010400,
- 0x00000404,0x01000400,0x01000400,0x00000000,
- 0x00010004,0x00010400,0x00000000,0x01010004,
- 0x80108020,0x80008000,0x00008000,0x00108020,
- 0x00100000,0x00000020,0x80100020,0x80008020,
- 0x80000020,0x80108020,0x80108000,0x80000000,
- 0x80008000,0x00100000,0x00000020,0x80100020,
- 0x00108000,0x00100020,0x80008020,0x00000000,
- 0x80000000,0x00008000,0x00108020,0x80100000,
- 0x00100020,0x80000020,0x00000000,0x00108000,
- 0x00008020,0x80108000,0x80100000,0x00008020,
- 0x00000000,0x00108020,0x80100020,0x00100000,
- 0x80008020,0x80100000,0x80108000,0x00008000,
- 0x80100000,0x80008000,0x00000020,0x80108020,
- 0x00108020,0x00000020,0x00008000,0x80000000,
- 0x00008020,0x80108000,0x00100000,0x80000020,
- 0x00100020,0x80008020,0x80000020,0x00100020,
- 0x00108000,0x00000000,0x80008000,0x00008020,
- 0x80000000,0x80100020,0x80108020,0x00108000,
- 0x00000208,0x08020200,0x00000000,0x08020008,
- 0x08000200,0x00000000,0x00020208,0x08000200,
- 0x00020008,0x08000008,0x08000008,0x00020000,
- 0x08020208,0x00020008,0x08020000,0x00000208,
- 0x08000000,0x00000008,0x08020200,0x00000200,
- 0x00020200,0x08020000,0x08020008,0x00020208,
- 0x08000208,0x00020200,0x00020000,0x08000208,
- 0x00000008,0x08020208,0x00000200,0x08000000,
- 0x08020200,0x08000000,0x00020008,0x00000208,
- 0x00020000,0x08020200,0x08000200,0x00000000,
- 0x00000200,0x00020008,0x08020208,0x08000200,
- 0x08000008,0x00000200,0x00000000,0x08020008,
- 0x08000208,0x00020000,0x08000000,0x08020208,
- 0x00000008,0x00020208,0x00020200,0x08000008,
- 0x08020000,0x08000208,0x00000208,0x08020000,
- 0x00020208,0x00000008,0x08020008,0x00020200,
- 0x00802001,0x00002081,0x00002081,0x00000080,
- 0x00802080,0x00800081,0x00800001,0x00002001,
- 0x00000000,0x00802000,0x00802000,0x00802081,
- 0x00000081,0x00000000,0x00800080,0x00800001,
- 0x00000001,0x00002000,0x00800000,0x00802001,
- 0x00000080,0x00800000,0x00002001,0x00002080,
- 0x00800081,0x00000001,0x00002080,0x00800080,
- 0x00002000,0x00802080,0x00802081,0x00000081,
- 0x00800080,0x00800001,0x00802000,0x00802081,
- 0x00000081,0x00000000,0x00000000,0x00802000,
- 0x00002080,0x00800080,0x00800081,0x00000001,
- 0x00802001,0x00002081,0x00002081,0x00000080,
- 0x00802081,0x00000081,0x00000001,0x00002000,
- 0x00800001,0x00002001,0x00802080,0x00800081,
- 0x00002001,0x00002080,0x00800000,0x00802001,
- 0x00000080,0x00800000,0x00002000,0x00802080,
- 0x00000100,0x02080100,0x02080000,0x42000100,
- 0x00080000,0x00000100,0x40000000,0x02080000,
- 0x40080100,0x00080000,0x02000100,0x40080100,
- 0x42000100,0x42080000,0x00080100,0x40000000,
- 0x02000000,0x40080000,0x40080000,0x00000000,
- 0x40000100,0x42080100,0x42080100,0x02000100,
- 0x42080000,0x40000100,0x00000000,0x42000000,
- 0x02080100,0x02000000,0x42000000,0x00080100,
- 0x00080000,0x42000100,0x00000100,0x02000000,
- 0x40000000,0x02080000,0x42000100,0x40080100,
- 0x02000100,0x40000000,0x42080000,0x02080100,
- 0x40080100,0x00000100,0x02000000,0x42080000,
- 0x42080100,0x00080100,0x42000000,0x42080100,
- 0x02080000,0x00000000,0x40080000,0x42000000,
- 0x00080100,0x02000100,0x40000100,0x00080000,
- 0x00000000,0x40080000,0x02080100,0x40000100,
- 0x20000010,0x20400000,0x00004000,0x20404010,
- 0x20400000,0x00000010,0x20404010,0x00400000,
- 0x20004000,0x00404010,0x00400000,0x20000010,
- 0x00400010,0x20004000,0x20000000,0x00004010,
- 0x00000000,0x00400010,0x20004010,0x00004000,
- 0x00404000,0x20004010,0x00000010,0x20400010,
- 0x20400010,0x00000000,0x00404010,0x20404000,
- 0x00004010,0x00404000,0x20404000,0x20000000,
- 0x20004000,0x00000010,0x20400010,0x00404000,
- 0x20404010,0x00400000,0x00004010,0x20000010,
- 0x00400000,0x20004000,0x20000000,0x00004010,
- 0x20000010,0x20404010,0x00404000,0x20400000,
- 0x00404010,0x20404000,0x00000000,0x20400010,
- 0x00000010,0x00004000,0x20400000,0x00404010,
- 0x00004000,0x00400010,0x20004010,0x00000000,
- 0x20404000,0x20000000,0x00400010,0x20004010,
- 0x00200000,0x04200002,0x04000802,0x00000000,
- 0x00000800,0x04000802,0x00200802,0x04200800,
- 0x04200802,0x00200000,0x00000000,0x04000002,
- 0x00000002,0x04000000,0x04200002,0x00000802,
- 0x04000800,0x00200802,0x00200002,0x04000800,
- 0x04000002,0x04200000,0x04200800,0x00200002,
- 0x04200000,0x00000800,0x00000802,0x04200802,
- 0x00200800,0x00000002,0x04000000,0x00200800,
- 0x04000000,0x00200800,0x00200000,0x04000802,
- 0x04000802,0x04200002,0x04200002,0x00000002,
- 0x00200002,0x04000000,0x04000800,0x00200000,
- 0x04200800,0x00000802,0x00200802,0x04200800,
- 0x00000802,0x04000002,0x04200802,0x04200000,
- 0x00200800,0x00000000,0x00000002,0x04200802,
- 0x00000000,0x00200802,0x04200000,0x00000800,
- 0x04000002,0x04000800,0x00000800,0x00200002,
- 0x10001040,0x00001000,0x00040000,0x10041040,
- 0x10000000,0x10001040,0x00000040,0x10000000,
- 0x00040040,0x10040000,0x10041040,0x00041000,
- 0x10041000,0x00041040,0x00001000,0x00000040,
- 0x10040000,0x10000040,0x10001000,0x00001040,
- 0x00041000,0x00040040,0x10040040,0x10041000,
- 0x00001040,0x00000000,0x00000000,0x10040040,
- 0x10000040,0x10001000,0x00041040,0x00040000,
- 0x00041040,0x00040000,0x10041000,0x00001000,
- 0x00000040,0x10040040,0x00001000,0x00041040,
- 0x10001000,0x00000040,0x10000040,0x10040000,
- 0x10040040,0x10000000,0x00040000,0x10001040,
- 0x00000000,0x10041040,0x00040040,0x10000040,
- 0x10040000,0x10001000,0x10001040,0x00000000,
- 0x10041040,0x00041000,0x00041000,0x00001040,
- 0x00001040,0x00040040,0x10000000,0x10041000,
+ { 0x01010400,0x00000000,0x00010000,0x01010404,
+ 0x01010004,0x00010404,0x00000004,0x00010000,
+ 0x00000400,0x01010400,0x01010404,0x00000400,
+ 0x01000404,0x01010004,0x01000000,0x00000004,
+ 0x00000404,0x01000400,0x01000400,0x00010400,
+ 0x00010400,0x01010000,0x01010000,0x01000404,
+ 0x00010004,0x01000004,0x01000004,0x00010004,
+ 0x00000000,0x00000404,0x00010404,0x01000000,
+ 0x00010000,0x01010404,0x00000004,0x01010000,
+ 0x01010400,0x01000000,0x01000000,0x00000400,
+ 0x01010004,0x00010000,0x00010400,0x01000004,
+ 0x00000400,0x00000004,0x01000404,0x00010404,
+ 0x01010404,0x00010004,0x01010000,0x01000404,
+ 0x01000004,0x00000404,0x00010404,0x01010400,
+ 0x00000404,0x01000400,0x01000400,0x00000000,
+ 0x00010004,0x00010400,0x00000000,0x01010004 },
+ { 0x80108020,0x80008000,0x00008000,0x00108020,
+ 0x00100000,0x00000020,0x80100020,0x80008020,
+ 0x80000020,0x80108020,0x80108000,0x80000000,
+ 0x80008000,0x00100000,0x00000020,0x80100020,
+ 0x00108000,0x00100020,0x80008020,0x00000000,
+ 0x80000000,0x00008000,0x00108020,0x80100000,
+ 0x00100020,0x80000020,0x00000000,0x00108000,
+ 0x00008020,0x80108000,0x80100000,0x00008020,
+ 0x00000000,0x00108020,0x80100020,0x00100000,
+ 0x80008020,0x80100000,0x80108000,0x00008000,
+ 0x80100000,0x80008000,0x00000020,0x80108020,
+ 0x00108020,0x00000020,0x00008000,0x80000000,
+ 0x00008020,0x80108000,0x00100000,0x80000020,
+ 0x00100020,0x80008020,0x80000020,0x00100020,
+ 0x00108000,0x00000000,0x80008000,0x00008020,
+ 0x80000000,0x80100020,0x80108020,0x00108000 },
+ { 0x00000208,0x08020200,0x00000000,0x08020008,
+ 0x08000200,0x00000000,0x00020208,0x08000200,
+ 0x00020008,0x08000008,0x08000008,0x00020000,
+ 0x08020208,0x00020008,0x08020000,0x00000208,
+ 0x08000000,0x00000008,0x08020200,0x00000200,
+ 0x00020200,0x08020000,0x08020008,0x00020208,
+ 0x08000208,0x00020200,0x00020000,0x08000208,
+ 0x00000008,0x08020208,0x00000200,0x08000000,
+ 0x08020200,0x08000000,0x00020008,0x00000208,
+ 0x00020000,0x08020200,0x08000200,0x00000000,
+ 0x00000200,0x00020008,0x08020208,0x08000200,
+ 0x08000008,0x00000200,0x00000000,0x08020008,
+ 0x08000208,0x00020000,0x08000000,0x08020208,
+ 0x00000008,0x00020208,0x00020200,0x08000008,
+ 0x08020000,0x08000208,0x00000208,0x08020000,
+ 0x00020208,0x00000008,0x08020008,0x00020200 },
+ { 0x00802001,0x00002081,0x00002081,0x00000080,
+ 0x00802080,0x00800081,0x00800001,0x00002001,
+ 0x00000000,0x00802000,0x00802000,0x00802081,
+ 0x00000081,0x00000000,0x00800080,0x00800001,
+ 0x00000001,0x00002000,0x00800000,0x00802001,
+ 0x00000080,0x00800000,0x00002001,0x00002080,
+ 0x00800081,0x00000001,0x00002080,0x00800080,
+ 0x00002000,0x00802080,0x00802081,0x00000081,
+ 0x00800080,0x00800001,0x00802000,0x00802081,
+ 0x00000081,0x00000000,0x00000000,0x00802000,
+ 0x00002080,0x00800080,0x00800081,0x00000001,
+ 0x00802001,0x00002081,0x00002081,0x00000080,
+ 0x00802081,0x00000081,0x00000001,0x00002000,
+ 0x00800001,0x00002001,0x00802080,0x00800081,
+ 0x00002001,0x00002080,0x00800000,0x00802001,
+ 0x00000080,0x00800000,0x00002000,0x00802080 },
+ { 0x00000100,0x02080100,0x02080000,0x42000100,
+ 0x00080000,0x00000100,0x40000000,0x02080000,
+ 0x40080100,0x00080000,0x02000100,0x40080100,
+ 0x42000100,0x42080000,0x00080100,0x40000000,
+ 0x02000000,0x40080000,0x40080000,0x00000000,
+ 0x40000100,0x42080100,0x42080100,0x02000100,
+ 0x42080000,0x40000100,0x00000000,0x42000000,
+ 0x02080100,0x02000000,0x42000000,0x00080100,
+ 0x00080000,0x42000100,0x00000100,0x02000000,
+ 0x40000000,0x02080000,0x42000100,0x40080100,
+ 0x02000100,0x40000000,0x42080000,0x02080100,
+ 0x40080100,0x00000100,0x02000000,0x42080000,
+ 0x42080100,0x00080100,0x42000000,0x42080100,
+ 0x02080000,0x00000000,0x40080000,0x42000000,
+ 0x00080100,0x02000100,0x40000100,0x00080000,
+ 0x00000000,0x40080000,0x02080100,0x40000100 },
+ { 0x20000010,0x20400000,0x00004000,0x20404010,
+ 0x20400000,0x00000010,0x20404010,0x00400000,
+ 0x20004000,0x00404010,0x00400000,0x20000010,
+ 0x00400010,0x20004000,0x20000000,0x00004010,
+ 0x00000000,0x00400010,0x20004010,0x00004000,
+ 0x00404000,0x20004010,0x00000010,0x20400010,
+ 0x20400010,0x00000000,0x00404010,0x20404000,
+ 0x00004010,0x00404000,0x20404000,0x20000000,
+ 0x20004000,0x00000010,0x20400010,0x00404000,
+ 0x20404010,0x00400000,0x00004010,0x20000010,
+ 0x00400000,0x20004000,0x20000000,0x00004010,
+ 0x20000010,0x20404010,0x00404000,0x20400000,
+ 0x00404010,0x20404000,0x00000000,0x20400010,
+ 0x00000010,0x00004000,0x20400000,0x00404010,
+ 0x00004000,0x00400010,0x20004010,0x00000000,
+ 0x20404000,0x20000000,0x00400010,0x20004010 },
+ { 0x00200000,0x04200002,0x04000802,0x00000000,
+ 0x00000800,0x04000802,0x00200802,0x04200800,
+ 0x04200802,0x00200000,0x00000000,0x04000002,
+ 0x00000002,0x04000000,0x04200002,0x00000802,
+ 0x04000800,0x00200802,0x00200002,0x04000800,
+ 0x04000002,0x04200000,0x04200800,0x00200002,
+ 0x04200000,0x00000800,0x00000802,0x04200802,
+ 0x00200800,0x00000002,0x04000000,0x00200800,
+ 0x04000000,0x00200800,0x00200000,0x04000802,
+ 0x04000802,0x04200002,0x04200002,0x00000002,
+ 0x00200002,0x04000000,0x04000800,0x00200000,
+ 0x04200800,0x00000802,0x00200802,0x04200800,
+ 0x00000802,0x04000002,0x04200802,0x04200000,
+ 0x00200800,0x00000000,0x00000002,0x04200802,
+ 0x00000000,0x00200802,0x04200000,0x00000800,
+ 0x04000002,0x04000800,0x00000800,0x00200002 },
+ { 0x10001040,0x00001000,0x00040000,0x10041040,
+ 0x10000000,0x10001040,0x00000040,0x10000000,
+ 0x00040040,0x10040000,0x10041040,0x00041000,
+ 0x10041000,0x00041040,0x00001000,0x00000040,
+ 0x10040000,0x10000040,0x10001000,0x00001040,
+ 0x00041000,0x00040040,0x10040040,0x10041000,
+ 0x00001040,0x00000000,0x00000000,0x10040040,
+ 0x10000040,0x10001000,0x00041040,0x00040000,
+ 0x00041040,0x00040000,0x10041000,0x00001000,
+ 0x00000040,0x10040040,0x00001000,0x00041040,
+ 0x10001000,0x00000040,0x10000040,0x10040000,
+ 0x10040040,0x10000000,0x00040000,0x10001040,
+ 0x00000000,0x10041040,0x00040040,0x10000040,
+ 0x10040000,0x10001000,0x10001040,0x00000000,
+ 0x10041040,0x00041000,0x00041000,0x00001040,
+ 0x00001040,0x00040040,0x10000000,0x10041000 }
};
#undef F