goto err;
}
- ctx = OCSP_sendreq_new(cbio, path, req, -1);
+ if (rv <= 0)
+ {
+ FD_ZERO(&confds);
+ openssl_fdset(fd, &confds);
+ tv.tv_usec = 0;
+ tv.tv_sec = req_timeout;
+ rv = select(fd + 1, NULL, (void *)&confds, NULL, &tv);
+ if (rv == 0)
+ {
+ BIO_puts(err, "Timeout on connect\n");
+ return NULL;
+ }
+ }
+
+ ctx = OCSP_sendreq_new(cbio, path, req, -1);
if (!ctx)
return NULL;
if (rv != -1)
break;
FD_ZERO(&confds);
- FD_SET(fd, &confds);
+ openssl_fdset(fd, &confds);
tv.tv_usec = 0;
tv.tv_sec = req_timeout;
- if (BIO_should_read(cbio) || BIO_should_io_special(cbio))
+ if (BIO_should_read(cbio))
rv = select(fd + 1, (void *)&confds, NULL, NULL, &tv);
else if (BIO_should_write(cbio))
rv = select(fd + 1, NULL, (void *)&confds, NULL, &tv);
}
}
-
err:
OCSP_REQ_CTX_free(ctx);
{
int i, n;
const unsigned char *p;
-
next_io:
if (!(rctx->state & OHS_NOREAD))
{
if (n <= 0)
{
if (BIO_should_retry(rctx->io))
- return -1;
+ return -1;
return 0;
}
case OHS_ASN1_CONTENT:
n = BIO_get_mem_data(rctx->mem, &p);
- if (n < rctx->asn1_len)
+ if (n < (int)rctx->asn1_len)
goto next_io;
EVP_CIPHER_do_all 4165 EXIST::FUNCTION:
EVP_CIPHER_do_all_sorted 4166 EXIST::FUNCTION:
EVP_MD_do_all 4167 EXIST::FUNCTION:
+OCSP_REQ_CTX_free 4168 EXIST::FUNCTION:
+OCSP_sendreq_nbio 4169 EXIST::FUNCTION:
+OCSP_sendreq_new 4170 EXIST::FUNCTION: