Changeset a72dc2b for lib/http_client.c


Ignore:
Timestamp:
2011-12-19T17:57:20Z (12 years ago)
Author:
Wilmer van der Gaast <wilmer@…>
Branches:
master
Children:
9f958f7
Parents:
25b05b7
Message:

Add verify argument to ssl_connect() so HTTPS-based stuff is also secure.
(Think of Twitter, but also MSN/Yahoo! authentication.)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • lib/http_client.c

    r25b05b7 ra72dc2b  
    4747        if( ssl )
    4848        {
    49                 req->ssl = ssl_connect( host, port, http_ssl_connected, req );
     49                req->ssl = ssl_connect( host, port, TRUE, http_ssl_connected, req );
    5050                if( req->ssl == NULL )
    5151                        error = 1;
     
    163163       
    164164error:
    165         req->status_string = g_strdup( "Error while writing HTTP request" );
     165        if( req->status_string == NULL )
     166                req->status_string = g_strdup( "Error while writing HTTP request" );
    166167       
    167168        req->func( req );
     
    176177       
    177178        if( source == NULL )
     179        {
     180                if( returncode != 0 )
     181                {
     182                        char *err = ssl_verify_strerror( returncode );
     183                        req->status_string = g_strdup_printf(
     184                                "Certificate verification problem 0x%x: %s",
     185                                returncode, err ? err : "Unknown" );
     186                        g_free( err );
     187                }
    178188                return http_connected( data, -1, cond );
     189        }
    179190       
    180191        req->fd = ssl_getfd( source );
     
    440451                if( new_proto == PROTO_HTTPS )
    441452                {
    442                         req->ssl = ssl_connect( new_host, new_port, http_ssl_connected, req );
     453                        req->ssl = ssl_connect( new_host, new_port, TRUE, http_ssl_connected, req );
    443454                        if( req->ssl == NULL )
    444455                                error = 1;
Note: See TracChangeset for help on using the changeset viewer.