equal
deleted
inserted
replaced
178 _lm_ssl_begin (LmSSL *ssl, gint fd, const gchar *server, GError **error) |
178 _lm_ssl_begin (LmSSL *ssl, gint fd, const gchar *server, GError **error) |
179 { |
179 { |
180 BIO *sbio; |
180 BIO *sbio; |
181 GIOStatus status; |
181 GIOStatus status; |
182 |
182 |
|
183 if (!ssl->ctx) { |
|
184 g_set_error (error, |
|
185 LM_ERROR, LM_ERROR_CONNECTION_OPEN, |
|
186 "No SSL Context for OpenSSL"); |
|
187 return FALSE; |
|
188 } |
|
189 |
183 ssl->session = SSL_new (ssl->ctx); |
190 ssl->session = SSL_new (ssl->ctx); |
|
191 if (ssl->session == NULL) { |
|
192 g_set_error (error, |
|
193 LM_ERROR, LM_ERROR_CONNECTION_OPEN, |
|
194 "Failed to create an SSL session through OpenSSL"); |
|
195 return FALSE; |
|
196 } |
|
197 |
184 sbio = BIO_new_socket (fd, BIO_NOCLOSE); |
198 sbio = BIO_new_socket (fd, BIO_NOCLOSE); |
185 SSL_set_bio (ssl->session, sbio, sbio); |
199 SSL_set_bio (ssl->session, sbio, sbio); |
186 |
200 |
187 while (TRUE) { |
201 while (TRUE) { |
188 gint ret; |
202 gint ret; |