mpeylo / cmpossl

An OpenSSL-based implementation of the Certificate Management Protocol (CMP), defined in IETF RFCs 4210, 4211, and 6712. It is being extended according to the emerging RFCs 'CMP Updates' (CMPv3), 'CMP Algorithms', and 'Lightweight CMP Profile'.
https://github.com/mpeylo/cmpossl/wiki
Other
35 stars 13 forks source link

Retry HTTP connnection on status 500 after a few seconds #149

Open DDvO opened 6 years ago

DDvO commented 6 years ago

CAs (or RAs) occasionally just respond with HTTP error code 500 but work fine when the client waits for a few seconds before sending the next request. This appears to be due to temporary server overload.

For this reason our conformance tests currently wait for 1 or 2 seconds between test cases as a workaround for the above issue.

By introducing an automatic retry at HTTP level (just once, not multiple times) of any given request after getting a status 500 reply would make the CMP client much more robust on intermittent server errors and significantly speed up our conformance tests (which have hundreds of test cases). This is pretty simple to implement.