diff options
author | Alex Graveley <alex@ximian.com> | 2001-07-10 00:20:02 +0000 |
---|---|---|
committer | Alex Graveley <orph@src.gnome.org> | 2001-07-10 00:20:02 +0000 |
commit | 9c6837374000fda1f7249d86c675a1e99ed75049 (patch) | |
tree | 40b432f087acff2ed42fd2c4cdf7ccf689fad2bd | |
parent | 81862a9fd0c013f93906c8e33ff80ac928fc9cca (diff) | |
download | libsoup-9c6837374000fda1f7249d86c675a1e99ed75049.tar.gz |
Initial run of windows build scripts.
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.
-rw-r--r-- | ChangeLog | 4176 |
1 files changed, 2093 insertions, 2083 deletions
@@ -1,2083 +1,2093 @@ -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]. - - * 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 - +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].
+
+ * 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
+
|