end:
if (err) {
- update_error(g_cc,"cannot create canl_io_handler"
- "canl_create_io_handler");
+ update_error(g_cc,"cannot create canl_io_handler");
if ((err = canl_io_destroy(cc, (canl_io_handler)new_io_h)))
- update_error(g_cc, "cannot destroy canl_ctx"
- "canl_create_io_handler");
+ update_error(g_cc, "cannot destroy canl_ctx");
new_io_h = NULL;
}
return new_io_h;
end:
if (err)
- update_error(cc, "failed to initialize io_handler"
- "(init_io_content)");
+ update_error(cc, "failed to initialize io_handler");
return err;
}
if (!io) {
err = EINVAL;
- set_error(glb_cc, err, posix_error, "invalid io handler"
- " canl_io_close)");
+ set_error(glb_cc, err, posix_error, "invalid io handler");
return err;
}
io_handler *io_cc = (io_handler*) io;
glb_ctx *glb_cc = (glb_ctx*) cc;
int err = 0;
-
// delete io_handler content
if (io_cc->ar) {
if (io_cc->ar->ent)
/* TODO check it?
if (!err) {
ssl_err = ERR_peek_error();
- set_error(io_cc, err, ssl_error, "cannot free BIO"
- " (io_destroy)");
+ set_error(io_cc, err, ssl_error, "cannot free BIO");
err = 1;
} */
io_cc->s_ctx->bio_conn = NULL;
if (!io_cc) {
err = EINVAL;
- set_error(glb_cc, err, posix_error, "invalid io handler"
- " canl_io_destroy)");
+ set_error(glb_cc, err, posix_error, "invalid io handler");
return err;
}
}
if (!buffer || !size) {
- set_error(cc, EINVAL, posix_error, "No memory to write into");
+ set_error(cc, EINVAL, posix_error, "No memory to read from");
return -1;
}
if (!cc)
return EINVAL;
if(!cert) {
- set_error(glb_cc, EINVAL, posix_error, "invalid parameter value"
- " (canl_set_ctx_own_cert)");
+ set_error(glb_cc, EINVAL, posix_error, "invalid parameter value");
return err;
}
err = do_set_ctx_own_cert(glb_cc, cert, chain, key);
if(err) {
- update_error(glb_cc, "can't set cert or key to context"
- " (canl_set_ctx_own_cert)");
+ update_error(glb_cc, "can't set cert or key to context");
}
return err;
}
if (!cc)
return EINVAL;
if(!cert ) {
- set_error(glb_cc, EINVAL, posix_error, "invalid parameter value"
- " (canl_set_ctx_own_cert_file)");
+ set_error(glb_cc, EINVAL, posix_error, "invalid parameter value");
return EINVAL;
}
err = do_set_ctx_own_cert_file(glb_cc, cert, key);
if(err) {
- update_error(glb_cc, "can't set cert or key to context"
- " (canl_set_ctx_own_cert_file)");
+ update_error(glb_cc, "can't set cert or key to context");
}
return err;
}
end:
if (err)
- set_error(cc, err, err_orig, "cannot get certificate (set_cert)");
+ set_error(cc, err, err_orig, "cannot get certificate");
return err;
}
if (!cc->cert_key) {
err = ENOMEM;
set_error(cc, err, posix_error, "not enought memory for the"
- " certificate storage (set_key_file)");
+ " certificate storage");
return ENOMEM;
}
}
key_file = fopen(key, "rb");
if (!key_file) {
err = errno;
- set_error(cc, err, posix_error, "cannot open file with key"
- " (set_key_file)");
+ set_error(cc, err, posix_error, "cannot open file with key");
return err;
}
cc->cert_key->key = PEM_read_PrivateKey(key_file, NULL, NULL, NULL);
if (!cc->cert_key->key) {
ssl_err = ERR_peek_error();
- set_error(cc, ssl_err, ssl_error, "error while writing key to context"
- " (set_key_file)");
+ set_error(cc, ssl_err, ssl_error, "error while writing key to context");
goto end;
}
if (fclose(key_file)){
err = errno;
- set_error(cc, err, posix_error, "cannot close file with key"
- " (set_key_file)");
+ set_error(cc, err, posix_error, "cannot close file with key");
return errno;
}
return 0;
end:
if (fclose(key_file)){
err = errno;
- update_error(cc, "cannot close file with key"
- " (set_key_file)");
+ update_error(cc, "cannot close file with key");
}
return 1;
}
if (!cc->cert_key) {
err = ENOMEM;
set_error(cc, err, posix_error, "not enought memory for the"
- " certificate storage (set_cert_file)");
+ " certificate storage");
return ENOMEM;
}
}
cert_file = fopen(cert, "rb");
if (!cert_file) {
err = errno;
- set_error(cc, err, posix_error, "cannot open file with cert"
- " (set_cert_file)");
+ set_error(cc, err, posix_error, "cannot open file with cert");
return err;
}
if (!cc->cert_key->cert) {
ssl_err = ERR_get_error();
set_error(cc, ssl_err, ssl_error, "error while writing certificate"
- " to context (set_cert_file)");
+ " to context");
goto end;
}
if (fclose(cert_file)){
err = errno;
- set_error(cc, err, posix_error, "cannot close file with certificate"
- " (set_cert_file)");
+ set_error(cc, err, posix_error, "cannot close file with certificate");
return errno;
}
return 0;
end:
if (fclose(cert_file)){
err = errno;
- update_error(cc, "cannot close file with certificate"
- " (set_cert_file)");
+ update_error(cc, "cannot close file with certificate");
}
return 1;
}
err = SSL_CTX_set_cipher_list(cc->ssl_ctx, "ALL");
if (!err) {
ssl_err = ERR_get_error();
- set_error(cc, ssl_err, e_orig, "no cipher to use"
- " (ssl_server_init)");
+ set_error(cc, ssl_err, e_orig, "no cipher to use");
return err;
}
err = 0;
}
}
else {
- set_error(cc, err, unknown_error, "server key or certificate missing"
- " (ssl_server_init)");
+ set_error(cc, err, unknown_error, "server key or certificate missing");
return 1;
}
/*Make sure the key and certificate file match*/
ssl_err = ERR_get_error();
e_orig = ssl_error;
set_error(cc, ssl_err, e_orig, "Private key does not match"
- " the certificate public key (ssl_server_init)");
+ " the certificate public key");
return 1;
}
else
end:
if (ssl_err) {
- set_error(cc, ssl_err, e_orig, "cannot initialize SSL context"
- " (ssl_server_init)");
+ set_error(cc, ssl_err, e_orig, "cannot initialize SSL context");
return 1;
}
else if (err) {
- set_error(cc, ssl_err, e_orig, "cannot initialize SSL context"
- " (ssl_server_init)");
+ set_error(cc, ssl_err, e_orig, "cannot initialize SSL context");
return 1;
}
return 0;
err = SSL_CTX_set_cipher_list(cc->ssl_ctx, "ALL");
if (!err) {
ssl_err = ERR_get_error();
- set_error(cc, ssl_err, e_orig, "no cipher to use"
- " (ssl_server_init)");
+ set_error(cc, ssl_err, e_orig, "no cipher to use");
return err;
}
err = 0;
end:
if (ssl_err) {
- set_error(cc, ssl_err, e_orig, "cannot initialize SSL context"
- " (ssl_client_init)");
+ set_error(cc, ssl_err, e_orig, "cannot initialize SSL context");
return 1;
}
else if (err) {
- set_error(cc, err, e_orig, "cannot initialize SSL context"
- " (ssl_client_init)");
+ set_error(cc, err, e_orig, "cannot initialize SSL context");
return 1;
}
return 0;
timeout->tv_sec=0;
timeout->tv_usec=0;
err = ETIMEDOUT;
- set_error (cc, err, posix_error, "Connection stuck during handshake: timeout reached (do_ssl_connect)");
+ set_error (cc, err, posix_error, "Connection stuck during"
+ " handshake: timeout reached");
}
else if (ret2 < 0)
- set_error (cc, ssl_err, e_orig, "Error during SSL handshake"
- " (do_ssl_connect)");
+ set_error (cc, ssl_err, e_orig, "Error during SSL handshake");
else if (ret2 == 0)
set_error (cc, 0, unknown_error, "Connection closed"
- " by the other side (do_ssl_connect)");
+ " by the other side");
else
- set_error (cc, err, unknown_error, "Error during SSL handshake"
- " (do_ssl_connect)");
+ set_error (cc, err, unknown_error, "Error during SSL handshake");
return 1;
}
return 0;
timeout->tv_usec=0;
err = ETIMEDOUT;
set_error (cc, err, posix_error, "Connection stuck"
- " during handshake: timeout reached (do_ssl_accept)");
+ " during handshake: timeout reached");
}
else if (ret2 < 0)
- set_error (cc, ssl_err, e_orig, "Error during SSL handshake"
- " (do_ssl_accept)");
- else if (ret2 == 0)
set_error (cc, 0, unknown_error, "connection closed by"
- " the other side (do_ssl_accept)");
+ " the other side");
else
- set_error (cc, 0, unknown_error, "Error during SSL handshake"
- " (do_ssl_accept)");
+ set_error (cc, 0, unknown_error, "Error during SSL handshake");
return 1;
}
return 0;
end:
if (err) {
errno = err;
- set_error (cc, err, posix_error, "Error during SSL write (ssl_write)");
+ set_error (cc, err, posix_error, "Error during SSL write");
return -1;
}
if (touted){
err = ETIMEDOUT;
set_error(cc, err, posix_error, "Connection stuck during"
- " write: timeout reached (ssl_write)");
+ " write: timeout reached");
return -1;
}
if (ret <=0){
err = -1;//TODO what to assign??????
- set_error (cc, err, unknown_error, "Error during SSL write"
- " (ssl_write)");
+ set_error (cc, err, unknown_error, "Error during SSL write");
}
return ret;
}
if (!io->s_ctx || !io->s_ctx->ssl_io) {
err = EINVAL;
- set_error(cc, err, posix_error, "wrong ssl handler (ssl_read)");
+ set_error(cc, err, posix_error, "wrong ssl handler");
return -1;
}
err = -1; //TODO what to assign
if (timeout != -1 && (curtime - starttime >= timeout)){
set_error(cc, ETIMEDOUT, posix_error, "Connection stuck"
- " during read: timeout reached. (ssl_read)");
+ " during read: timeout reached");
}
else
- set_error(cc, err, unknown_error, "Error during SSL"
- " read: (ssl_read)");
+ set_error(cc, err, unknown_error, "Error during SSL read");
}
else
err = ret2;
if (timeout != -1 && (curtime - starttime >= timeout)){
set_error(cc, ETIMEDOUT, posix_error, "Connection stuck"
- " during ssl shutdown : timeout reached. (ssl_close)");
+ " during ssl shutdown : timeout reached");
return -1;
}
/* TODO set_error*/
if (ret < 0) {
set_error(cc, 0, unknown_error, "Error during SSL"
- " shutdown: (ssl_close)");
+ " shutdown");
return -1;
}
/* successful shutdown (uni/bi directional)*/
return ret2;
else {
set_error(cc, ssl_err, ssl_error, "Error during SSL"
- " shutdown: (ssl_close)");
+ " shutdown");
return -1;
}
}