Ignore:
Timestamp:
2011-07-18T16:18:31+02:00 (5 years ago)
Author:
jow
Message:

[package] uhttpd: support building against openssl instead of cyassl, minor cleanups (#7827)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/package/uhttpd/src/uhttpd-tls.c

    r22692 r27686  
    2424SSL_CTX * uh_tls_ctx_init() 
    2525{ 
    26         SSL_CTX *c = NULL; 
     26        SSL_CTX *c; 
     27 
    2728        SSL_load_error_strings(); 
    2829        SSL_library_init(); 
     
    6061 
    6162 
    62 void uh_tls_client_accept(struct client *c) 
     63int uh_tls_client_accept(struct client *c) 
    6364{ 
     65        int rv; 
     66 
    6467        if( c->server && c->server->tls ) 
    6568        { 
    6669                c->tls = SSL_new(c->server->tls); 
    67                 SSL_set_fd(c->tls, c->socket); 
     70                if( c->tls ) 
     71                { 
     72                        if( (rv = SSL_set_fd(c->tls, c->socket)) < 1 ) 
     73                                goto cleanup; 
     74                        if( (rv = SSL_accept(c->tls)) < 1 ) 
     75                                goto cleanup; 
     76                } 
     77                else 
     78                        rv = 0; 
    6879        } 
     80        else 
     81        { 
     82                c->tls = NULL; 
     83                rv = 1; 
     84        } 
     85 
     86done: 
     87        return rv; 
     88 
     89cleanup: 
     90        SSL_free(c->tls); 
     91        c->tls = NULL; 
     92        goto done; 
    6993} 
    7094 
     
    91115        } 
    92116} 
    93  
    94  
Note: See TracChangeset for help on using the changeset viewer.