Changeset 5405

Show
Ignore:
Timestamp:
03/15/08 09:30:40 (7 months ago)
Author:
morris
Message:

Init with type instead of setting it

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • libwired/trunk/libwired/net/wi-socket.c

    r5393 r5405  
    228228 
    229229 
    230 wi_socket_tls_t * wi_socket_tls_init(wi_socket_tls_t *tls) { 
    231         return tls; 
    232 
    233  
    234  
    235  
    236 static void _wi_socket_tls_dealloc(wi_runtime_instance_t *instance) { 
    237 #ifdef WI_SSL 
    238         wi_socket_tls_t         *tls = instance; 
    239          
    240         if(tls->ssl_ctx) 
    241                 SSL_CTX_free(tls->ssl_ctx); 
    242          
    243         if(tls->dh) 
    244                 DH_free(tls->dh); 
    245 #endif 
    246 
    247  
    248  
    249  
    250 #pragma mark - 
    251  
    252 wi_boolean_t wi_socket_tls_set_type(wi_socket_tls_t *tls, wi_socket_tls_type_t type) { 
    253 #ifdef WI_SSL 
    254         SSL_METHOD              *method = NULL; 
     230wi_socket_tls_t * wi_socket_tls_init_with_type(wi_socket_tls_t *tls, wi_socket_tls_type_t type) { 
     231#ifdef WI_SSL 
     232        SSL_METHOD              *method; 
    255233         
    256234        switch(type) { 
     235                default: 
    257236                case WI_SOCKET_TLS_CLIENT: 
    258237                        method = TLSv1_client_method(); 
     
    269248                wi_error_set_openssl_error(); 
    270249                 
    271                 return false; 
     250                wi_release(NULL); 
     251                 
     252                return NULL; 
    272253        } 
    273254         
     
    275256        SSL_CTX_set_quiet_shutdown(tls->ssl_ctx, 1); 
    276257         
    277         return true
     258        return tls
    278259#else 
    279260        wi_error_set_libwired_error(WI_ERROR_SOCKET_NOSSL); 
    280261         
    281         return false; 
    282 #endif 
    283 
    284  
    285  
     262        return NULL; 
     263#endif 
     264
     265 
     266 
     267 
     268static void _wi_socket_tls_dealloc(wi_runtime_instance_t *instance) { 
     269#ifdef WI_SSL 
     270        wi_socket_tls_t         *tls = instance; 
     271         
     272        if(tls->ssl_ctx) 
     273                SSL_CTX_free(tls->ssl_ctx); 
     274         
     275        if(tls->dh) 
     276                DH_free(tls->dh); 
     277#endif 
     278
     279 
     280 
     281 
     282#pragma mark - 
    286283 
    287284wi_boolean_t wi_socket_tls_set_certificate(wi_socket_tls_t *tls, wi_x509_t *x509) { 
  • libwired/trunk/libwired/net/wi-socket.h

    r5401 r5405  
    7676 
    7777WI_EXPORT wi_socket_tls_t *                             wi_socket_tls_alloc(void); 
    78 WI_EXPORT wi_socket_tls_t *                             wi_socket_tls_init(wi_socket_tls_t *); 
     78WI_EXPORT wi_socket_tls_t *                             wi_socket_tls_init_with_type(wi_socket_tls_t *, wi_socket_tls_type_t); 
    7979 
    80 WI_EXPORT wi_boolean_t                                  wi_socket_tls_set_type(wi_socket_tls_t *, wi_socket_tls_type_t); 
    8180WI_EXPORT wi_boolean_t                                  wi_socket_tls_set_certificate(wi_socket_tls_t *, wi_x509_t *); 
    8281WI_EXPORT wi_boolean_t                                  wi_socket_tls_set_private_key(wi_socket_tls_t *, wi_rsa_t *);