forked from wolfSSL/wolfssl
Accept newline and null teminator at end of X509 certificate
This commit is contained in:
17
src/ssl.c
17
src/ssl.c
@@ -35453,7 +35453,8 @@ err:
|
|||||||
#define PEM_END_SZ 9
|
#define PEM_END_SZ 9
|
||||||
#define PEM_HDR_FIN "-----"
|
#define PEM_HDR_FIN "-----"
|
||||||
#define PEM_HDR_FIN_SZ 5
|
#define PEM_HDR_FIN_SZ 5
|
||||||
#define PEM_HDR_FIN_EOL "-----\n"
|
#define PEM_HDR_FIN_EOL_NEWLINE "-----\n"
|
||||||
|
#define PEM_HDR_FIN_EOL_NULL_TERM "-----\0"
|
||||||
#define PEM_HDR_FIN_EOL_SZ 6
|
#define PEM_HDR_FIN_EOL_SZ 6
|
||||||
|
|
||||||
int wolfSSL_PEM_read_bio(WOLFSSL_BIO* bio, char **name, char **header,
|
int wolfSSL_PEM_read_bio(WOLFSSL_BIO* bio, char **name, char **header,
|
||||||
@@ -35589,7 +35590,11 @@ err:
|
|||||||
ret = WOLFSSL_FAILURE;
|
ret = WOLFSSL_FAILURE;
|
||||||
}
|
}
|
||||||
if (ret == WOLFSSL_SUCCESS) {
|
if (ret == WOLFSSL_SUCCESS) {
|
||||||
if (XSTRNCMP(pem + PEM_END_SZ + nameLen, PEM_HDR_FIN_EOL,
|
if (XSTRNCMP(pem + PEM_END_SZ + nameLen,
|
||||||
|
PEM_HDR_FIN_EOL_NEWLINE,
|
||||||
|
PEM_HDR_FIN_EOL_SZ) != 0 &&
|
||||||
|
XSTRNCMP(pem + PEM_END_SZ + nameLen,
|
||||||
|
PEM_HDR_FIN_EOL_NULL_TERM,
|
||||||
PEM_HDR_FIN_EOL_SZ) != 0) {
|
PEM_HDR_FIN_EOL_SZ) != 0) {
|
||||||
ret = WOLFSSL_FAILURE;
|
ret = WOLFSSL_FAILURE;
|
||||||
}
|
}
|
||||||
@@ -35654,8 +35659,8 @@ err:
|
|||||||
if (!err)
|
if (!err)
|
||||||
err = wolfSSL_BIO_write(bio, name, nameLen) != nameLen;
|
err = wolfSSL_BIO_write(bio, name, nameLen) != nameLen;
|
||||||
if (!err) {
|
if (!err) {
|
||||||
err = wolfSSL_BIO_write(bio, PEM_HDR_FIN_EOL, PEM_HDR_FIN_EOL_SZ) !=
|
err = wolfSSL_BIO_write(bio, PEM_HDR_FIN_EOL_NEWLINE,
|
||||||
(int)PEM_HDR_FIN_EOL_SZ;
|
PEM_HDR_FIN_EOL_SZ) != (int)PEM_HDR_FIN_EOL_SZ;
|
||||||
}
|
}
|
||||||
if (!err && headerLen > 0) {
|
if (!err && headerLen > 0) {
|
||||||
err = wolfSSL_BIO_write(bio, header, headerLen) != headerLen;
|
err = wolfSSL_BIO_write(bio, header, headerLen) != headerLen;
|
||||||
@@ -35672,8 +35677,8 @@ err:
|
|||||||
if (!err)
|
if (!err)
|
||||||
err = wolfSSL_BIO_write(bio, name, nameLen) != nameLen;
|
err = wolfSSL_BIO_write(bio, name, nameLen) != nameLen;
|
||||||
if (!err) {
|
if (!err) {
|
||||||
err = wolfSSL_BIO_write(bio, PEM_HDR_FIN_EOL, PEM_HDR_FIN_EOL_SZ) !=
|
err = wolfSSL_BIO_write(bio, PEM_HDR_FIN_EOL_NEWLINE,
|
||||||
(int)PEM_HDR_FIN_EOL_SZ;
|
PEM_HDR_FIN_EOL_SZ) != (int)PEM_HDR_FIN_EOL_SZ;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!err) {
|
if (!err) {
|
||||||
|
Reference in New Issue
Block a user