GNOME Bugzilla – Bug 653130
[Libsoup] Tunneled message's response header doesn't cleaned up.
Last modified: 2011-08-08 21:54:26 UTC
[Precondition] when device use proxy mode for network connection 1) connection to http://mobile.twitter.com 2) sign in 3) cann't sign in, because white or wrong page was display. Soup message was changed to tunneled message, when device use proxy mode and https connection. before soupmessage was sent, soupmessage's response header must be cleaned up. but not cleaned up tunneled message's response header.
in this case:: tunnel_addr = soup_connection_get_tunnel_addr (conn); if (tunnel_addr) { SoupMessageQueueItem *tunnel_item; item->state = SOUP_MESSAGE_TUNNELING; tunnel_item = soup_session_make_connect_message (session, conn); tunnel_item->related = item; soup_session_send_queue_item (session, tunnel_item, tunnel_message_completed); static void tunnel_message_completed (SoupMessage *msg, gpointer user_data) { ... item->related->state = SOUP_MESSAGE_READY; done: soup_message_finished (msg); if (item->related->msg->status_code) item->related->state = SOUP_MESSAGE_FINISHING; ... } always item->related->msg-->status_code has 304 or 302, so item->related->state = SOUP_MESSAGE_FINISHING. because of this, whit page or wrong page was displayed, not process tunneled message. add below code :: void soup_message_send_request (SoupMessageQueueItem *item, SoupMessageCompletionFn completion_cb, gpointer user_data) { soup_message_cleanup_response (item->msg); if (item->related) soup_message_cleanup_response(item->related->msg); soup_message_io_client (item, get_request_headers, parse_response_headers, item, completion_cb, user_data); }
Created attachment 190403 [details] [review] patch about tunneled message's response header clean up before send
I add patch.
hm... I don't quite understand what's going on here. Can you provide a test case for this (eg, add something to tests/proxy-test.c) ? or at least, can you attach a tcpdump or SoupLogger output showing the exact HTTP conversation that happens without the patch?
*** This bug has been marked as a duplicate of bug 631368 ***