Author: senaka Date: Thu Mar 6 06:37:02 2008 New Revision: 634279 URL: http://svn.apache.org/viewvc?rev=634279&view=rev Log: Fixing source to incorporate bug fixes to url.c. These are some instances where we've been living with bugs. :D... Glad to have them fixed.
Regards, Senaka Modified: webservices/axis2/trunk/c/src/core/transport/http/sender/http_client.c webservices/axis2/trunk/c/src/core/transport/http/sender/http_sender.c webservices/axis2/trunk/c/src/core/transport/tcp/sender/tcp_transport_sender.c webservices/axis2/trunk/c/test/core/transport/http/test_http_transport.c webservices/axis2/trunk/c/util/src/url.c Modified: webservices/axis2/trunk/c/src/core/transport/http/sender/http_client.c URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/src/core/transport/http/sender/http_client.c?rev=634279&r1=634278&r2=634279&view=diff ============================================================================== --- webservices/axis2/trunk/c/src/core/transport/http/sender/http_client.c (original) +++ webservices/axis2/trunk/c/src/core/transport/http/sender/http_client.c Thu Mar 6 06:37:02 2008 @@ -183,7 +183,7 @@ { client->sockfd = (int)axutil_network_handler_open_socket(env, - axutil_url_get_server + axutil_url_get_host (client->url, env), axutil_url_get_port (client->url, env)); @@ -216,7 +216,7 @@ { if (AXIS2_SUCCESS != axis2_http_client_connect_ssl_host(client, env, - axutil_url_get_server + axutil_url_get_host (client->url, env), axutil_url_get_port (client-> @@ -296,13 +296,13 @@ * POST http://host:port/path HTTP/1.x if we have enabled proxies */ axis2_char_t *host_port_str = NULL; - axis2_char_t *server = axutil_url_get_server(client->url, env); + axis2_char_t *host = axutil_url_get_host(client->url, env); axis2_http_request_line_t *request_line = axis2_http_simple_request_get_request_line(request, env); axis2_char_t *path = axis2_http_request_line_get_uri(request_line, env); - /* length = len(server) + len(:port) + len("http://") + len(path) + 1 */ - host_port_str = AXIS2_MALLOC(env->allocator, axutil_strlen(server) + + /* length = len(host) + len(:port) + len("http://") + len(path) + 1 */ + host_port_str = AXIS2_MALLOC(env->allocator, axutil_strlen(host) + +axutil_strlen(path) + 20 * sizeof(axis2_char_t)); if (!host_port_str) @@ -310,7 +310,7 @@ AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return AXIS2_FAILURE; } - sprintf(host_port_str, "http://%s:%d%s", server, + sprintf(host_port_str, "http://%s:%d%s", host, axutil_url_get_port(client->url, env), path); str_request_line = AXIS2_MALLOC(env->allocator, Modified: webservices/axis2/trunk/c/src/core/transport/http/sender/http_sender.c URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/src/core/transport/http/sender/http_sender.c?rev=634279&r1=634278&r2=634279&view=diff ============================================================================== --- webservices/axis2/trunk/c/src/core/transport/http/sender/http_sender.c (original) +++ webservices/axis2/trunk/c/src/core/transport/http/sender/http_sender.c Thu Mar 6 06:37:02 2008 @@ -701,12 +701,12 @@ axutil_strcmp (sender->http_version, AXIS2_HTTP_HEADER_PROTOCOL_11)) { axis2_char_t *header = NULL; - int server_len = 0; - server_len = axutil_strlen (axutil_url_get_server (url, env)); + int host_len = 0; + host_len = axutil_strlen (axutil_url_get_host (url, env)); header = AXIS2_MALLOC (env->allocator, - server_len + 10 * sizeof (axis2_char_t)); + host_len + 10 * sizeof (axis2_char_t)); sprintf (header, "%s:%d", - axutil_url_get_server (url, env), axutil_url_get_port (url, + axutil_url_get_host (url, env), axutil_url_get_port (url, env)); axis2_http_sender_util_add_header (env, request, AXIS2_HTTP_HEADER_HOST, header); Modified: webservices/axis2/trunk/c/src/core/transport/tcp/sender/tcp_transport_sender.c URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/src/core/transport/tcp/sender/tcp_transport_sender.c?rev=634279&r1=634278&r2=634279&view=diff ============================================================================== --- webservices/axis2/trunk/c/src/core/transport/tcp/sender/tcp_transport_sender.c (original) +++ webservices/axis2/trunk/c/src/core/transport/tcp/sender/tcp_transport_sender.c Thu Mar 6 06:37:02 2008 @@ -281,7 +281,7 @@ return AXIS2_FAILURE; } - host = axutil_url_get_server(to_url, env); + host = axutil_url_get_host(to_url, env); if (!host) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "retrieving host failed"); Modified: webservices/axis2/trunk/c/test/core/transport/http/test_http_transport.c URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/test/core/transport/http/test_http_transport.c?rev=634279&r1=634278&r2=634279&view=diff ============================================================================== --- webservices/axis2/trunk/c/test/core/transport/http/test_http_transport.c (original) +++ webservices/axis2/trunk/c/test/core/transport/http/test_http_transport.c Thu Mar 6 06:37:02 2008 @@ -115,8 +115,8 @@ } printf("Starting URL Test ....\n"); printf - ("Parsed URL : \n Protocol :%s|\n Server :%s|\n Port :%d|\n Path : %s|\n", - axutil_url_get_protocol(url, env), axutil_url_get_server(url, env), + ("Parsed URL : \n Protocol :%s|\n Host :%s|\n Port :%d|\n Path : %s|\n", + axutil_url_get_protocol(url, env), axutil_url_get_host(url, env), axutil_url_get_port(url, env), axutil_url_get_path(url, env)); printf("End of URL Test ... \n"); axutil_url_free(url, env); @@ -146,7 +146,7 @@ NULL, 0, NULL); url = axutil_url_create(env, "http", "localhost", 80, NULL); header = - axis2_http_header_create(env, "Host", axutil_url_get_server(url, env)); + axis2_http_header_create(env, "Host", axutil_url_get_host(url, env)); axis2_http_simple_request_add_header(request, env, header); client = axis2_http_client_create(env, url); @@ -211,7 +211,7 @@ url = axutil_url_create(env, "https", "localhost", 9090, NULL); header = - axis2_http_header_create(env, "Host", axutil_url_get_server(url, env)); + axis2_http_header_create(env, "Host", axutil_url_get_host(url, env)); axis2_http_simple_request_add_header(request, env, header); client = axis2_http_client_create(env, url); Modified: webservices/axis2/trunk/c/util/src/url.c URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/c/util/src/url.c?rev=634279&r1=634278&r2=634279&view=diff ============================================================================== --- webservices/axis2/trunk/c/util/src/url.c (original) +++ webservices/axis2/trunk/c/util/src/url.c Thu Mar 6 06:37:02 2008 @@ -29,6 +29,7 @@ axis2_char_t *host; int port; axis2_char_t *path; + axis2_char_t *query; axis2_char_t *server; }; @@ -62,6 +63,7 @@ url->host = NULL; url->path = NULL; url->server = NULL; + url->query = NULL; if (host) { @@ -94,6 +96,7 @@ } if (params) { + url->query = (axis2_char_t *) axutil_strdup(env, params); *params = '\0'; } url->path = (axis2_char_t *) axutil_strdup(env, temp); @@ -121,7 +124,6 @@ axis2_char_t *path = NULL; axis2_char_t *port_str = NULL; axis2_char_t *host = NULL; - axis2_char_t *params = NULL; int port = 0; AXIS2_ENV_CHECK(env, NULL); @@ -163,15 +165,6 @@ AXIS2_FREE(env->allocator, tmp_url_str); return ret; } - params = strchr(host, '?'); - if (!params) - { - params = strchr(host, '#'); - } - if (params) - { - *params = '\0'; - } port_str = strchr(host, ':'); if (!port_str) @@ -254,7 +247,11 @@ AXIS2_FREE(env->allocator, url->path); url->path = NULL; } - + if (url->query) + { + AXIS2_FREE(env->allocator, url->query); + url->query = NULL; + } AXIS2_FREE(env->allocator, url); return; } @@ -292,16 +289,21 @@ { len += axutil_strlen(url->path); } + if (url->query) + { + len += axutil_strlen(url->query); + } if (print_port) { len += axutil_strlen(port_str) + 1; } external_form = (axis2_char_t *) AXIS2_MALLOC(env->allocator, len); - sprintf(external_form, "%s://%s%s%s%s", url->protocol, + sprintf(external_form, "%s://%s%s%s%s%s", url->protocol, (url->host) ? url->host : "", (print_port) ? ":" : "", (print_port) ? port_str : "", - (url->path) ? url->path : ""); + (url->path) ? url->path : "", + (url->query) ? url->query : ""); return external_form; } --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]