diff options
author | Dr. Stephen Henson <steve@openssl.org> | 2003-03-14 23:38:34 +0000 |
---|---|---|
committer | Dr. Stephen Henson <steve@openssl.org> | 2003-03-14 23:38:34 +0000 |
commit | bc441b739bbb0f473abff2568fb5e1abf62bb104 (patch) | |
tree | 068092e663e0639777dc4302a77a8e0279d1410e /crypto/ocsp/ocsp_ht.c | |
parent | e6539fe22db44154799c976558cda6d6cd71863b (diff) |
Don't give an error if response reason absent in OCSP HTTP.
Diffstat (limited to 'crypto/ocsp/ocsp_ht.c')
-rw-r--r-- | crypto/ocsp/ocsp_ht.c | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/crypto/ocsp/ocsp_ht.c b/crypto/ocsp/ocsp_ht.c index 357709a843..9213e58ae4 100644 --- a/crypto/ocsp/ocsp_ht.c +++ b/crypto/ocsp/ocsp_ht.c @@ -110,7 +110,7 @@ Content-Length: %d\r\n\r\n"; } /* Parse the HTTP response. This will look like this: * "HTTP/1.0 200 OK". We need to obtain the numeric code and - * informational message. + * (optional) informational message. */ /* Skip to first white space (passed protocol info) */ @@ -138,13 +138,19 @@ Content-Length: %d\r\n\r\n"; if(*r) goto err; /* Skip over any leading white space in message */ while(*q && isspace((unsigned char)*q)) q++; - if(!*q) goto err; + if(*q) { /* Finally zap any trailing white space in message (include CRLF) */ /* We know q has a non white space character so this is OK */ - for(r = q + strlen(q) - 1; isspace((unsigned char)*r); r--) *r = 0; + for(r = q + strlen(q) - 1; isspace((unsigned char)*r); r--) *r = 0; + } if(retcode != 200) { OCSPerr(OCSP_F_OCSP_SENDREQ_BIO,OCSP_R_SERVER_RESPONSE_ERROR); - ERR_add_error_data(4, "Code=", p, ",Reason=", q); + if(!*q) { + ERR_add_error_data(2, "Code=", p); + } + else { + ERR_add_error_data(4, "Code=", p, ",Reason=", q); + } goto err; } /* Find blank line marking beginning of content */ |