* libsoup/soup-message-io.c (io_cleanup): Call
soup_message_io_stop so we don't get a callback on the io after
it's been cleaned up.
* libsoup/soup-session.c (add_auth): Only remove the Authorization
header if we have another one to add. (Otherwise it messes up
SoupConnectionNTLM.)
2004-02-03 Dan Winship <danw@ximian.com>
+ * libsoup/soup-message-io.c (io_cleanup): Call
+ soup_message_io_stop so we don't get a callback on the io after
+ it's been cleaned up.
+
+ * libsoup/soup-session.c (add_auth): Only remove the Authorization
+ header if we have another one to add. (Otherwise it messes up
+ SoupConnectionNTLM.)
+
* libsoup/soup-socket.c (read_from_buf): Use memmove rather than
memcpy here, since the source and destination will overlap if
*nread is small and read_buf->len is large. (Noticed by valgrind,
if (!io)
return;
+ soup_message_io_stop (msg);
+
if (io->sock)
g_object_unref (io->sock);
soup_message_io_finished (SoupMessage *msg)
{
g_object_ref (msg);
- soup_message_io_stop (msg);
io_cleanup (msg);
if (SOUP_MESSAGE_IS_STARTING (msg))
soup_message_restarted (msg);
SoupAuth *auth;
char *token;
- soup_message_remove_header (msg->request_headers, header);
-
auth = lookup_auth (session, msg, proxy);
if (!auth)
return;
token = soup_auth_get_authorization (auth, msg);
if (token) {
+ soup_message_remove_header (msg->request_headers, header);
soup_message_add_header (msg->request_headers, header, token);
g_free (token);
}