{
if (pcd)
return;
- if (pcd->fd >= 0)
+ if (pcd->fd >= 0) {
+ disable_crypt(pcd->fd);
close(pcd->fd);
+ }
free(pcd->user);
free(pcd->config_file);
free(pcd->key_file);
case CL_SENDING: /* FIXME: might block */
PARA_INFO_LOG("loaded: %zd\n", *pcd->in_loaded);
t->ret = send_bin_buffer(pcd->fd, pcd->inbuf, *pcd->in_loaded);
- if (t->ret <= 0) {
- if (!t->ret)
- t->ret = 1;
+ if (t->ret < 0)
return;
- }
*pcd->in_loaded = 0; /* FIXME: short writes */
return;
case CL_RECEIVING: