projects
/
oweals
/
openssl.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Cover all DSA setups when running tests
[oweals/openssl.git]
/
crypto
/
ocsp
/
ocsp_ht.c
diff --git
a/crypto/ocsp/ocsp_ht.c
b/crypto/ocsp/ocsp_ht.c
index 3194fd90d09252e4226638bc6d2b8fb717ee71e9..9213e58ae49c126f01c587c46d0c105b041c0e54 100644
(file)
--- a/
crypto/ocsp/ocsp_ht.c
+++ b/
crypto/ocsp/ocsp_ht.c
@@
-64,6
+64,9
@@
#include <openssl/ocsp.h>
#include <openssl/err.h>
#include <openssl/buffer.h>
#include <openssl/ocsp.h>
#include <openssl/err.h>
#include <openssl/buffer.h>
+#ifdef OPENSSL_SYS_SUNOS
+#define strtoul (unsigned long)strtol
+#endif /* OPENSSL_SYS_SUNOS */
/* Quick and dirty HTTP OCSP request handler.
* Could make this a bit cleverer by adding
/* Quick and dirty HTTP OCSP request handler.
* Could make this a bit cleverer by adding
@@
-107,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
}
/* 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) */
*/
/* Skip to first white space (passed protocol info) */
@@
-135,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(*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 */
/* 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);
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 */
goto err;
}
/* Find blank line marking beginning of content */