line |
true |
false |
branch |
88
|
0 |
11156 |
if (!ssl) |
92
|
0 |
11156 |
if (cipherSpecLen > 0 && (cipherSpec == NULL || cipherSpec[0] == 0)) |
|
0 |
0 |
if (cipherSpecLen > 0 && (cipherSpec == NULL || cipherSpec[0] == 0)) |
|
0 |
0 |
if (cipherSpecLen > 0 && (cipherSpec == NULL || cipherSpec[0] == 0)) |
96
|
0 |
11156 |
if (options == NULL) |
117
|
11156 |
0 |
if (cipherSpec != NULL && cipherSpec[0] != 0 && sid != NULL && |
|
11139 |
17 |
if (cipherSpec != NULL && cipherSpec[0] != 0 && sid != NULL && |
|
10520 |
619 |
if (cipherSpec != NULL && cipherSpec[0] != 0 && sid != NULL && |
|
509 |
10011 |
if (cipherSpec != NULL && cipherSpec[0] != 0 && sid != NULL && |
121
|
0 |
509 |
for (i = 0; i < cipherSpecLen; i++) |
123
|
0 |
0 |
if (cipherSpec[i] == sid->cipherId) |
128
|
509 |
0 |
if (rc) |
137
|
0 |
11156 |
if ((rc = matrixSslNewSession(&lssl, keys, sid, options)) < 0) |
143
|
0 |
11156 |
if (options->clientRejectVersionDowngrade) |
149
|
0 |
11156 |
if (expectedName) |
151
|
0 |
0 |
if (psX509ValidateGeneralName((char *) expectedName) < 0) |
163
|
10127 |
1029 |
if (certCb) |
168
|
0 |
11156 |
if (extCb) |
185
|
0 |
11156 |
if ((rc = matrixSslEncodeClientHello(lssl, &tmp, cipherSpec, cipherSpecLen, |
188
|
0 |
0 |
if (rc == SSL_FULL) |
190
|
0 |
0 |
if ((tmp.buf = psRealloc(lssl->outbuf, len, lssl->bufferPool)) |
206
|
0 |
11156 |
psAssert(tmp.start == tmp.buf); |
242
|
0 |
110023 |
if ((ses = psMalloc(pool, sizeof(sslSessionId_t))) == NULL) |
264
|
0 |
110023 |
if (sess == NULL) |
269
|
0 |
110023 |
if (sess->sessionTicket) |
511
|
0 |
0 |
if ((rc = matrixSslNewServerSession(ssl, NULL, certCb, options)) < 0) |
529
|
0 |
11158 |
if (!ssl) |
533
|
0 |
11158 |
if (options == NULL) |
544
|
0 |
11158 |
if (certCb) |
547
|
0 |
0 |
if (matrixSslNewSession(&lssl, keys, NULL, options) < 0) |
553
|
0 |
11158 |
else if (matrixSslNewSession(&lssl, keys, NULL, options) < 0) |
574
|
0 |
11158 |
if (options->maxFragLen < 0) |
581
|
0 |
11158 |
if (options->truncHmac < 0) |
588
|
0 |
11158 |
if (options->extendedMasterSecret > 0) |
597
|
0 |
0 |
if (lssl) |
635
|
9678 |
0 |
if (!ssl || !buf) |
|
0 |
9678 |
if (!ssl || !buf) |
639
|
9678 |
0 |
psAssert(ssl && ssl->insize > 0 && ssl->inbuf != NULL); |
|
9678 |
0 |
psAssert(ssl && ssl->insize > 0 && ssl->inbuf != NULL); |
|
9678 |
0 |
psAssert(ssl && ssl->insize > 0 && ssl->inbuf != NULL); |
655
|
0 |
0 |
if (!ssl || !buf) |
|
0 |
0 |
if (!ssl || !buf) |
659
|
0 |
0 |
psAssert(ssl && ssl->insize > 0 && ssl->inbuf != NULL); |
|
0 |
0 |
psAssert(ssl && ssl->insize > 0 && ssl->inbuf != NULL); |
|
0 |
0 |
psAssert(ssl && ssl->insize > 0 && ssl->inbuf != NULL); |
661
|
0 |
0 |
if ((ssl->insize - ssl->inlen) >= size) |
668
|
0 |
0 |
if (ssl->inlen == 0) |
674
|
0 |
0 |
if ((ssl->inbuf = psMalloc(ssl->bufferPool, size)) == NULL) |
686
|
0 |
0 |
if ((p = psRealloc(ssl->inbuf, ssl->inlen + size, ssl->bufferPool)) |
713
|
0 |
11841 |
if (!ssl) |
717
|
11841 |
0 |
psAssert(ssl->outsize > 0 && ssl->outbuf != NULL); |
|
11841 |
0 |
psAssert(ssl->outsize > 0 && ssl->outbuf != NULL); |
718
|
11841 |
0 |
if (buf) |
752
|
4125 |
0 |
if (!ssl || !buf) |
|
0 |
4125 |
if (!ssl || !buf) |
756
|
4125 |
0 |
psAssert(ssl->outsize > 0 && ssl->outbuf != NULL); |
|
4125 |
0 |
psAssert(ssl->outsize > 0 && ssl->outbuf != NULL); |
760
|
4123 |
2 |
if (!(ssl->flags & SSL_FLAGS_SERVER)) |
764
|
4123 |
0 |
if ((ssl->majVer == SSL3_MAJ_VER) && (ssl->minVer <= TLS_MIN_VER) |
|
0 |
4123 |
if ((ssl->majVer == SSL3_MAJ_VER) && (ssl->minVer <= TLS_MIN_VER) |
765
|
0 |
0 |
&& (ssl->enBlockSize > 1) && (requestedLen > 1) && |
|
0 |
0 |
&& (ssl->enBlockSize > 1) && (requestedLen > 1) && |
|
0 |
0 |
&& (ssl->enBlockSize > 1) && (requestedLen > 1) && |
779
|
0 |
4125 |
if (requestedLen > (uint32) ssl->maxPtFrag) |
796
|
0 |
4125 |
psAssert(requiredLen >= requestedLen); |
814
|
0 |
4125 |
if (ssl->outsize < ssl->outlen) |
823
|
2063 |
2062 |
if (sz < requiredLen) |
825
|
0 |
2063 |
if ((p = psRealloc(ssl->outbuf, ssl->outsize + |
835
|
0 |
2063 |
if (ssl->outsize < ssl->outlen) |
846
|
4125 |
0 |
if (requestedLen <= (uint32) ssl->maxPtFrag) |
849
|
0 |
4125 |
if (requestedLen > (uint32) ssl->maxPtFrag) |
865
|
4125 |
0 |
if ((ssl->flags & SSL_FLAGS_WRITE_SECURE) && |
|
4125 |
0 |
if ((ssl->flags & SSL_FLAGS_WRITE_SECURE) && |
866
|
1 |
4124 |
(ssl->flags & SSL_FLAGS_TLS_1_1) && (ssl->enBlockSize > 1)) |
872
|
4124 |
0 |
if (ssl->flags & SSL_FLAGS_AEAD_W) |
874
|
4124 |
0 |
*buf = ssl->outbuf + ssl->outlen + ssl->recordHeadLen + |
881
|
0 |
0 |
if (ssl->bFlags & BFLAG_STOP_BEAST) |
886
|
0 |
0 |
overhead = ((ssl->enMacSize + 1) % ssl->enBlockSize) ? |
916
|
0 |
0 |
if (rc > 0) |
940
|
0 |
0 |
if (!ssl || ((int32) len < 0)) |
|
0 |
0 |
if (!ssl || ((int32) len < 0)) |
944
|
0 |
0 |
if (ssl->bFlags & BFLAG_CLOSE_AFTER_SENT) |
948
|
0 |
0 |
psAssert(ssl->outsize > 0 && ssl->outbuf != NULL); |
|
0 |
0 |
psAssert(ssl->outsize > 0 && ssl->outbuf != NULL); |
951
|
0 |
0 |
if (ssl->outbuf == NULL || (ssl->outsize - ssl->outlen) < (int32) len) |
|
0 |
0 |
if (ssl->outbuf == NULL || (ssl->outsize - ssl->outlen) < (int32) len) |
958
|
0 |
0 |
if (ssl->bFlags & BFLAG_STOP_BEAST) |
960
|
0 |
0 |
rc = ((ssl->enMacSize + 1) % ssl->enBlockSize) ? ssl->enBlockSize : 0; |
973
|
0 |
0 |
if ((ssl->flags & SSL_FLAGS_WRITE_SECURE) && |
|
0 |
0 |
if ((ssl->flags & SSL_FLAGS_WRITE_SECURE) && |
974
|
0 |
0 |
(ssl->flags & SSL_FLAGS_TLS_1_1) && (ssl->enBlockSize > 1)) |
978
|
0 |
0 |
if (ssl->flags & SSL_FLAGS_AEAD_W) |
980
|
0 |
0 |
reserved += AEAD_NONCE_LEN(ssl); |
986
|
0 |
0 |
if (rc < 0) |
988
|
0 |
0 |
psAssert(rc != SSL_FULL); /* should not happen */ |
1016
|
4126 |
0 |
if (!ssl || !ptBuf) |
|
0 |
4126 |
if (!ssl || !ptBuf) |
1020
|
1 |
4125 |
if (ssl->bFlags & BFLAG_CLOSE_AFTER_SENT) |
1038
|
4125 |
4124 |
while (len > 0) |
1041
|
0 |
4125 |
if ((rc = matrixSslGetWritebuf(ssl, &internalBuf, len)) < 0) |
1048
|
4125 |
0 |
psAssert(ssl->outsize > 0 && ssl->outbuf != NULL); |
|
4125 |
0 |
psAssert(ssl->outsize > 0 && ssl->outbuf != NULL); |
1050
|
4125 |
0 |
if (ssl->outbuf == NULL || |
|
0 |
4125 |
if (ssl->outbuf == NULL || |
1059
|
1 |
4124 |
if (rc < 0) |
1061
|
0 |
1 |
psAssert(rc != SSL_FULL); /* should not happen */ |
1087
|
8540 |
6477 |
if (inOrOut == SSL_INBUF) |
1101
|
2064 |
6476 |
if (ssl->insize > defaultSize && ssl->inlen < defaultSize) |
|
2064 |
0 |
if (ssl->insize > defaultSize && ssl->inlen < defaultSize) |
1104
|
2064 |
0 |
if ((p = psRealloc(ssl->inbuf, defaultSize, ssl->bufferPool)) |
1126
|
1025 |
5452 |
if (ssl->outsize > defaultSize && ssl->outlen < defaultSize) |
|
1025 |
0 |
if (ssl->outsize > defaultSize && ssl->outlen < defaultSize) |
1129
|
1025 |
0 |
if ((p = psRealloc(ssl->outbuf, defaultSize, ssl->bufferPool)) |
1153
|
10699 |
0 |
if (!ssl || !ptbuf || !ptlen) |
|
10699 |
0 |
if (!ssl || !ptbuf || !ptlen) |
|
0 |
10699 |
if (!ssl || !ptbuf || !ptlen) |
1158
|
10699 |
0 |
psAssert(ssl->outsize > 0 && ssl->outbuf != NULL); |
|
10699 |
0 |
psAssert(ssl->outsize > 0 && ssl->outbuf != NULL); |
1159
|
10699 |
0 |
psAssert(ssl->insize > 0 && ssl->inbuf != NULL); |
|
10699 |
0 |
psAssert(ssl->insize > 0 && ssl->inbuf != NULL); |
1163
|
0 |
10699 |
if (ssl->inlen == 0) |
1171
|
6194 |
10949 |
if (matrixSslHandshakeIsComplete(ssl)) |
1181
|
0 |
17143 |
if (sanity-- < 0) |
1203
|
6440 |
1061 |
if (ssl->inlen > 0) |
1205
|
0 |
6440 |
psAssert(buf > ssl->inbuf); |
1219
|
1061 |
0 |
if (!(ssl->bFlags & BFLAG_HS_COMPLETE)) |
1221
|
1060 |
1 |
if (matrixSslHandshakeIsComplete(ssl)) |
1278
|
0 |
3356 |
if ((ssl->flags & SSL_FLAGS_FALSE_START) && buf != prevBuf) |
|
0 |
0 |
if ((ssl->flags & SSL_FLAGS_FALSE_START) && buf != prevBuf) |
1281
|
0 |
0 |
psAssert(ssl->inlen > 0); |
1282
|
0 |
0 |
psAssert((uint32) ssl->inlen == start); |
1283
|
0 |
0 |
psAssert(buf > ssl->inbuf); |
1298
|
90 |
3266 |
if (alertDesc != SSL_ALERT_NONE) |
1302
|
0 |
3356 |
psAssert(prevBuf == buf); |
1303
|
0 |
3356 |
psAssert(ssl->insize >= (int32) len); |
1304
|
0 |
3356 |
psAssert(start == 0); |
1305
|
0 |
3356 |
psAssert(buf == ssl->inbuf); |
1306
|
0 |
3356 |
if (ssl->outlen > 0) |
1313
|
0 |
0 |
if (ssl->outlen + (int32) len > ssl->outsize) |
1315
|
0 |
0 |
if ((p = psRealloc(ssl->outbuf, ssl->outlen + len, |
1345
|
1 |
90 |
if (alertLevel == SSL_ALERT_LEVEL_FATAL) |
1364
|
1 |
90 |
if ((ssl->flags & SSL_FLAGS_READ_SECURE) && |
|
1 |
0 |
if ((ssl->flags & SSL_FLAGS_READ_SECURE) && |
1365
|
0 |
1 |
(ssl->flags & SSL_FLAGS_TLS_1_1) && (ssl->enBlockSize > 1)) |
1370
|
0 |
91 |
psAssert(len == 2); |
1377
|
0 |
2068 |
if (reqLen > SSL_MAX_BUF_SIZE) |
1381
|
2064 |
4 |
if (reqLen > (uint32) ssl->insize) |
1383
|
0 |
2064 |
if ((p = psRealloc(ssl->inbuf, reqLen, ssl->bufferPool)) == NULL) |
1398
|
0 |
4 |
if (reqLen > SSL_MAX_BUF_SIZE) |
1406
|
0 |
0 |
if (reqLen > SSL_MAX_PLAINTEXT_LEN) |
1418
|
4 |
0 |
if (reqLen > (uint32) ssl->insize) |
1421
|
0 |
4 |
if ((p = psRealloc(ssl->inbuf, reqLen, ssl->bufferPool)) == NULL) |
1459
|
0 |
4123 |
psAssert((uint32) ssl->inlen == start); |
1467
|
0 |
4123 |
psAssert(ssl->enBlockSize == ssl->deBlockSize); |
1468
|
4123 |
0 |
if ((ssl->flags & SSL_FLAGS_READ_SECURE) && |
|
4123 |
0 |
if ((ssl->flags & SSL_FLAGS_READ_SECURE) && |
1469
|
1 |
4122 |
(ssl->flags & SSL_FLAGS_TLS_1_1) && (ssl->deBlockSize > 1)) |
1500
|
2068 |
4417 |
if (ssl->inlen > 0 && (buf != ssl->inbuf)) |
|
0 |
2068 |
if (ssl->inlen > 0 && (buf != ssl->inbuf)) |
1509
|
4417 |
2068 |
if (decodeRet != SSL_PARTIAL) |
1535
|
4123 |
0 |
if (!ssl || !ptbuf || !ptlen) |
|
4123 |
0 |
if (!ssl || !ptbuf || !ptlen) |
|
0 |
4123 |
if (!ssl || !ptbuf || !ptlen) |
1542
|
4123 |
0 |
psAssert(ssl->insize > 0 && ssl->inbuf != NULL); |
|
4123 |
0 |
psAssert(ssl->insize > 0 && ssl->inbuf != NULL); |
1544
|
1021 |
3102 |
if (ssl->inlen > 0) |
1547
|
1021 |
0 |
if (ssl->flags & SSL_FLAGS_AEAD_R) |
1551
|
0 |
1021 |
ctlen += AEAD_TAG_LEN(ssl) + AEAD_NONCE_LEN(ssl); |
|
1021 |
0 |
ctlen += AEAD_TAG_LEN(ssl) + AEAD_NONCE_LEN(ssl); |
1559
|
1021 |
3102 |
if (ssl->inlen > 0) |
1580
|
0 |
1 |
if (!ssl) |
1584
|
1 |
0 |
psAssert(ssl->outsize > 0 && ssl->outbuf != NULL); |
|
1 |
0 |
psAssert(ssl->outsize > 0 && ssl->outbuf != NULL); |
1590
|
1 |
0 |
if (!(ssl->bFlags & BFLAG_CLOSE_AFTER_SENT)) |
1597
|
0 |
1 |
if (rc == SSL_FULL && newLen == 0) |
|
0 |
0 |
if (rc == SSL_FULL && newLen == 0) |
1600
|
0 |
0 |
if ((p = psRealloc(ssl->outbuf, newLen, ssl->bufferPool)) == NULL) |
1608
|
0 |
1 |
else if (rc != PS_SUCCESS) |
1646
|
0 |
8 |
if (!ssl) |
1650
|
2 |
6 |
if (cipherSpecLen > 0 && (cipherSpec == NULL || cipherSpec[0] == 0)) |
|
2 |
0 |
if (cipherSpecLen > 0 && (cipherSpec == NULL || cipherSpec[0] == 0)) |
|
0 |
2 |
if (cipherSpecLen > 0 && (cipherSpec == NULL || cipherSpec[0] == 0)) |
1654
|
0 |
8 |
if (ssl->bFlags & BFLAG_CLOSE_AFTER_SENT) |
1658
|
8 |
0 |
psAssert(ssl->outsize > 0 && ssl->outbuf != NULL); |
|
8 |
0 |
psAssert(ssl->outsize > 0 && ssl->outbuf != NULL); |
1675
|
3 |
5 |
if (sessionOption == SSL_OPTION_FULL_HANDSHAKE) |
1684
|
2 |
6 |
if (keys != NULL) |
1691
|
2 |
6 |
if (certCb != NULL) |
1702
|
0 |
2 |
if (ssl->flags & SSL_FLAGS_SERVER) |
1713
|
8 |
0 |
if (!(ssl->flags & SSL_FLAGS_SERVER)) |
1716
|
2 |
6 |
if (cipherSpecLen > 0) |
1719
|
2 |
2 |
for (i = 0; i < cipherSpecLen; i++) |
1721
|
0 |
2 |
if (cipherSpec[i] == ssl->cipher->ident) |
1727
|
2 |
6 |
if (rc) |
1747
|
0 |
8 |
if (ssl->flags & SSL_FLAGS_SERVER) |
1751
|
0 |
0 |
if ((rc = matrixSslEncodeHelloRequest(ssl, &sbuf, &reqLen)) < 0) |
1753
|
0 |
0 |
if (rc == SSL_FULL && newLen == 0) |
|
0 |
0 |
if (rc == SSL_FULL && newLen == 0) |
1756
|
0 |
0 |
if (newLen < SSL_MAX_BUF_SIZE) |
1758
|
0 |
0 |
if ((p = psRealloc(ssl->outbuf, newLen, ssl->bufferPool)) |
1780
|
8 |
0 |
if (ssl->extFlags.extended_master_secret == 1) |
1790
|
1 |
7 |
if ((rc = matrixSslEncodeClientHello(ssl, &sbuf, cipherSpec, |
1793
|
0 |
1 |
if (rc == SSL_FULL && newLen == 0) |
|
0 |
0 |
if (rc == SSL_FULL && newLen == 0) |
1796
|
0 |
0 |
if (newLen < SSL_MAX_BUF_SIZE) |
1798
|
0 |
0 |
if ((p = psRealloc(ssl->outbuf, newLen, ssl->bufferPool)) |
1820
|
0 |
0 |
if (ssl == NULL) |
1830
|
0 |
0 |
if (ssl == NULL) |
1841
|
0 |
0 |
if (ssl) |
1850
|
0 |
0 |
if (ssl) |
1853
|
0 |
0 |
if (ssl->rehandshakeCount >= 0) |
1855
|
0 |
0 |
if ((ssl->rehandshakeCount + credits) < 0x8000) |
1893
|
0 |
6568 |
if (!ssl) |
1897
|
0 |
6568 |
if (bytes == 0) |
1899
|
0 |
0 |
if (ssl->outlen > 0) |
1908
|
6568 |
0 |
psAssert(ssl->outsize > 0 && ssl->outbuf != NULL); |
|
6568 |
0 |
psAssert(ssl->outsize > 0 && ssl->outbuf != NULL); |
1912
|
0 |
6568 |
if (ssl->outlen > 0) |
1941
|
6568 |
0 |
if ((ssl->outlen == 0) && (ssl->bFlags & BFLAG_CLOSE_AFTER_SENT)) |
|
91 |
6477 |
if ((ssl->outlen == 0) && (ssl->bFlags & BFLAG_CLOSE_AFTER_SENT)) |