diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/http_client.c | 1 | ||||
-rw-r--r-- | lib/misc.c | 8 | ||||
-rw-r--r-- | lib/oauth.c | 1 | ||||
-rw-r--r-- | lib/proxy.c | 1 | ||||
-rw-r--r-- | lib/ssl_gnutls.c | 1 |
5 files changed, 8 insertions, 4 deletions
diff --git a/lib/http_client.c b/lib/http_client.c index 69f06ec5..8b045414 100644 --- a/lib/http_client.c +++ b/lib/http_client.c @@ -92,6 +92,7 @@ struct http_request *http_dorequest_url( char *url_string, http_input_function f request = g_strdup_printf( "GET %s HTTP/1.0\r\n" "Host: %s\r\n" + "Connection: close\r\n" "User-Agent: BitlBee " BITLBEE_VERSION " " ARCH "/" CPU "\r\n" "\r\n", url->file, url->host ); @@ -399,7 +399,7 @@ signed int do_iconv( char *from_cs, char *to_cs, char *src, char *dst, size_t si cd = g_iconv_open( to_cs, from_cs ); if( cd == (GIConv) -1 ) - return( -1 ); + return -1; inbytesleft = size ? size : strlen( src ); outbytesleft = maxbuf - 1; @@ -407,10 +407,10 @@ signed int do_iconv( char *from_cs, char *to_cs, char *src, char *dst, size_t si *outbuf = '\0'; g_iconv_close( cd ); - if( res == (size_t) -1 ) - return( -1 ); + if( res != 0 ) + return -1; else - return( outbuf - dst ); + return outbuf - dst; } /* A pretty reliable random number generator. Tries to use the /dev/random diff --git a/lib/oauth.c b/lib/oauth.c index 9c67363a..372a62d3 100644 --- a/lib/oauth.c +++ b/lib/oauth.c @@ -285,6 +285,7 @@ static void *oauth_post_request( const char *url, GSList **params_, http_input_f "Host: %s\r\n" "Content-Type: application/x-www-form-urlencoded\r\n" "Content-Length: %zd\r\n" + "Connection: close\r\n" "\r\n" "%s", url_p.file, url_p.host, strlen( post ), post ); g_free( post ); diff --git a/lib/proxy.c b/lib/proxy.c index b79afea4..3e5c9d49 100644 --- a/lib/proxy.c +++ b/lib/proxy.c @@ -84,6 +84,7 @@ static gboolean gaim_io_connected(gpointer data, gint source, b_input_condition b_event_remove(phb->inpa); closesocket(source); dup2(new_fd, source); + closesocket(new_fd); phb->inpa = b_input_add(source, B_EV_IO_WRITE, gaim_io_connected, phb); return FALSE; } diff --git a/lib/ssl_gnutls.c b/lib/ssl_gnutls.c index cdc7c498..72517e72 100644 --- a/lib/ssl_gnutls.c +++ b/lib/ssl_gnutls.c @@ -134,6 +134,7 @@ static gboolean ssl_connected( gpointer data, gint source, b_input_condition con gnutls_certificate_allocate_credentials( &conn->xcred ); gnutls_init( &conn->session, GNUTLS_CLIENT ); + gnutls_transport_set_lowat( conn->session, 1 ); gnutls_set_default_priority( conn->session ); gnutls_credentials_set( conn->session, GNUTLS_CRD_CERTIFICATE, conn->xcred ); |