Open AndyKozlovskyi opened 3 years ago
OCSP request detection fails for encoded URLs. Example: https://uk.wikipedia.org/wiki/%D0%93%D0%BE%D0%BB%D0%BE%D0%B2%D0%BD%D0%B0_%D1%81%D1%82%D0%BE%D1%80%D1%96%D0%BD%D0%BA%D0%B0 Such web-pages are unreachable.
Possible fix:
diff --git a/src/base64.c b/src/base64.c index 970b037..f8f7691 100644 --- a/src/base64.c +++ b/src/base64.c @@ -96,7 +96,7 @@ base64_dec(const char *in, size_t insz, size_t *outsz) else *outsz = (insz / 4) * 3; if (!(out = malloc((*outsz) + 1))) { - *outsz = 0; + *outsz = -1; return NULL; } diff --git a/src/protohttp.c b/src/protohttp.c index d6d0454..43adc9e 100644 --- a/src/protohttp.c +++ b/src/protohttp.c @@ -204,7 +204,9 @@ protohttp_ocsp_is_valid_uri(const char *uri, pxy_conn_ctx_t *ctx) } buf_asn1 = base64_dec(buf_b64, sz_b64, &sz_asn1); if (!buf_asn1) { - ctx->enomem = 1; + if (sz_asn1 == -1) { + ctx->enomem = 1; + } free(buf_b64); return 0; }
I cannot reproduce this, sslproxy 0.8.3 works fine with the url you have provided above. It goes to a Russian wiki page, right? (I have tried on UTMFW 6.8.1.) Btw, sorry for the late response.
OCSP request detection fails for encoded URLs. Example: https://uk.wikipedia.org/wiki/%D0%93%D0%BE%D0%BB%D0%BE%D0%B2%D0%BD%D0%B0_%D1%81%D1%82%D0%BE%D1%80%D1%96%D0%BD%D0%BA%D0%B0 Such web-pages are unreachable.
Possible fix: