ret = client_recv_buffer(ct, buf, sizeof(buf));
if (ret < 0)
goto err;
- PARA_INFO_LOG("<-- [challenge] (%zu bytes)\n", ret);
+ PARA_INFO_LOG("<-- [challenge] (%d bytes)\n", ret);
ret = para_decrypt_buffer(ct->key_file, crypt_buf,
(unsigned char *)buf, ret);
if (ret < 0)
int ret;
ct->rc4c.fd = -1;
- ret = makesock(AF_UNSPEC, IPPROTO_TCP, 0, ct->conf.hostname_arg,
- ct->conf.server_port_arg);
+ ret = para_connect_simple(IPPROTO_TCP, ct->conf.hostname_arg,
+ ct->conf.server_port_arg);
if (ret < 0)
return ret;
ct->rc4c.fd = ret;
* \param ct_ptr Points to dynamically allocated and initialized client task
* struct upon successful return.
* \param loglevel If not \p NULL, the number of the loglevel is stored here.
+ * \param parent Add the new buffer tree node as a child of this node.
+ * \param child Add the new buffer tree node as a parent of this node.
*
* Check the command line options given by \a argc and argv, set default values
* for user name and rsa key file, read further option from the config file.
free(home);
if (ret < 0) {
PARA_ERROR_LOG("%s\n", para_strerror(-ret));
+ btr_remove_node(ct->btrn);
btr_free_node(ct->btrn);
client_close(ct);
*ct_ptr = NULL;