mirror of
https://repo.dactyloidae.xyz/Dactyloidae/UXP.git
synced 2026-09-24 01:17:34 +09:00
Replace NSS with Pale Moon's
This commit is contained in:
parent
ff1e5e48bf
commit
8c2e376f94
2870 changed files with 1762232 additions and 1374220 deletions
|
|
@ -342,7 +342,7 @@ addToSeed(const SECItem *seed,
|
|||
CHECK_MPI_OK(mp_init(&modulus));
|
||||
SECITEM_TO_MPINT(*seed, &s); /* s = seed */
|
||||
/* seed += addend */
|
||||
if (addend < MP_DIGIT_MAX) {
|
||||
if (sizeof(addend) < sizeof(mp_digit) || addend < MP_DIGIT_MAX) {
|
||||
CHECK_MPI_OK(mp_add_d(&s, (mp_digit)addend, &s));
|
||||
} else {
|
||||
CHECK_MPI_OK(mp_init(&tmp));
|
||||
|
|
@ -711,7 +711,7 @@ cleanup:
|
|||
if (rv == SECFailure) {
|
||||
mp_zero(prime);
|
||||
if (prime_seed->data) {
|
||||
SECITEM_FreeItem(prime_seed, PR_FALSE);
|
||||
SECITEM_ZfreeItem(prime_seed, PR_FALSE);
|
||||
}
|
||||
*prime_gen_counter = 0;
|
||||
}
|
||||
|
|
@ -867,7 +867,7 @@ cleanup:
|
|||
if (rv == SECFailure) {
|
||||
mp_zero(prime);
|
||||
if (prime_seed->data) {
|
||||
SECITEM_FreeItem(prime_seed, PR_FALSE);
|
||||
SECITEM_ZfreeItem(prime_seed, PR_FALSE);
|
||||
}
|
||||
*prime_gen_counter = 0;
|
||||
}
|
||||
|
|
@ -905,6 +905,7 @@ findQfromSeed(
|
|||
*typePtr = FIPS186_1_TYPE;
|
||||
return SECSuccess;
|
||||
}
|
||||
mp_zero(Q_);
|
||||
return SECFailure;
|
||||
}
|
||||
/* 1024 could use FIPS186_1 or FIPS186_3 algorithms, we need to try
|
||||
|
|
@ -954,21 +955,23 @@ findQfromSeed(
|
|||
if ((offset < 0) ||
|
||||
(PORT_Memcmp(&seed->data[offset], qseed.data, qseed.len) != 0)) {
|
||||
/* we found q, but the seeds don't match. This isn't an
|
||||
* accident, someone has been tweeking with the seeds, just
|
||||
* fail a this point. */
|
||||
* accident, someone has been tweeking with the seeds, just
|
||||
* fail a this point. */
|
||||
SECITEM_FreeItem(&qseed, PR_FALSE);
|
||||
mp_zero(Q_);
|
||||
return SECFailure;
|
||||
}
|
||||
*qseed_len = qseed.len;
|
||||
*hashtypePtr = hashtype;
|
||||
*typePtr = FIPS186_3_ST_TYPE;
|
||||
*qgen_counter = count;
|
||||
SECITEM_FreeItem(&qseed, PR_FALSE);
|
||||
SECITEM_ZfreeItem(&qseed, PR_FALSE);
|
||||
return SECSuccess;
|
||||
}
|
||||
SECITEM_FreeItem(&qseed, PR_FALSE);
|
||||
SECITEM_ZfreeItem(&qseed, PR_FALSE);
|
||||
}
|
||||
/* no hash algorithms found which match seed to Q, fail */
|
||||
mp_zero(Q_);
|
||||
return SECFailure;
|
||||
}
|
||||
|
||||
|
|
@ -1069,6 +1072,7 @@ makePfromQandSeed(
|
|||
CHECK_MPI_OK(mp_sub_d(&c, 1, &c)); /* c -= 1 */
|
||||
CHECK_MPI_OK(mp_sub(&X, &c, P)); /* P = X - c */
|
||||
cleanup:
|
||||
PORT_Memset(V_j, 0, sizeof V_j);
|
||||
mp_clear(&W);
|
||||
mp_clear(&X);
|
||||
mp_clear(&c);
|
||||
|
|
@ -1077,8 +1081,12 @@ cleanup:
|
|||
mp_clear(&tmp);
|
||||
if (err) {
|
||||
MP_TO_SEC_ERROR(err);
|
||||
mp_zero(P);
|
||||
return SECFailure;
|
||||
}
|
||||
if (rv != SECSuccess) {
|
||||
mp_zero(P);
|
||||
}
|
||||
return rv;
|
||||
}
|
||||
|
||||
|
|
@ -1128,6 +1136,9 @@ cleanup:
|
|||
MP_TO_SEC_ERROR(err);
|
||||
rv = SECFailure;
|
||||
}
|
||||
if (rv != SECSuccess) {
|
||||
mp_zero(G);
|
||||
}
|
||||
return rv;
|
||||
}
|
||||
|
||||
|
|
@ -1421,7 +1432,7 @@ step_5:
|
|||
** "will give an acceptable probability of error."
|
||||
*/
|
||||
/*CHECK_SEC_OK( prm_RabinTest(&Q, &passed) );*/
|
||||
err = mpp_pprime(&Q, prime_testcount_q(L, N));
|
||||
err = mpp_pprime_secure(&Q, prime_testcount_q(L, N));
|
||||
passed = (err == MP_YES) ? SECSuccess : SECFailure;
|
||||
/* ******************************************************************
|
||||
** Step 9. (Step 5 in 186-1) "If q is not prime, goto step 5 (1 in 186-1)."
|
||||
|
|
@ -1474,7 +1485,7 @@ step_5:
|
|||
** "Perform a robust primality test on p."
|
||||
*/
|
||||
/*CHECK_SEC_OK( prm_RabinTest(&P, &passed) );*/
|
||||
err = mpp_pprime(&P, prime_testcount_p(L, N));
|
||||
err = mpp_pprime_secure(&P, prime_testcount_p(L, N));
|
||||
passed = (err == MP_YES) ? SECSuccess : SECFailure;
|
||||
/* ******************************************************************
|
||||
** Step 11.8. "If p is determined to be primed return VALID
|
||||
|
|
@ -1534,10 +1545,10 @@ generate_G:
|
|||
*pVfy = verify;
|
||||
cleanup:
|
||||
if (pseed.data) {
|
||||
PORT_Free(pseed.data);
|
||||
SECITEM_ZfreeItem(&pseed, PR_FALSE);
|
||||
}
|
||||
if (qseed.data) {
|
||||
PORT_Free(qseed.data);
|
||||
SECITEM_ZfreeItem(&qseed, PR_FALSE);
|
||||
}
|
||||
mp_clear(&P);
|
||||
mp_clear(&Q);
|
||||
|
|
@ -1558,7 +1569,7 @@ cleanup:
|
|||
}
|
||||
}
|
||||
if (hit.data) {
|
||||
SECITEM_FreeItem(&hit, PR_FALSE);
|
||||
SECITEM_ZfreeItem(&hit, PR_FALSE);
|
||||
}
|
||||
return rv;
|
||||
}
|
||||
|
|
@ -1702,9 +1713,9 @@ PQG_VerifyParams(const PQGParams *params,
|
|||
CHECK_MPI_OK(mp_mod(&P, &Q, &r));
|
||||
CHECKPARAM(mp_cmp_d(&r, 1) == 0);
|
||||
/* 5. Q is prime */
|
||||
CHECKPARAM(mpp_pprime(&Q, prime_testcount_q(L, N)) == MP_YES);
|
||||
CHECKPARAM(mpp_pprime_secure(&Q, prime_testcount_q(L, N)) == MP_YES);
|
||||
/* 6. P is prime */
|
||||
CHECKPARAM(mpp_pprime(&P, prime_testcount_p(L, N)) == MP_YES);
|
||||
CHECKPARAM(mpp_pprime_secure(&P, prime_testcount_p(L, N)) == MP_YES);
|
||||
/* Steps 7-12 are done only if the optional PQGVerify is supplied. */
|
||||
/* continue processing P */
|
||||
/* 7. counter < 4*L */
|
||||
|
|
@ -1869,7 +1880,7 @@ cleanup:
|
|||
mp_clear(&r);
|
||||
mp_clear(&h);
|
||||
if (pseed_.data) {
|
||||
SECITEM_FreeItem(&pseed_, PR_FALSE);
|
||||
SECITEM_ZfreeItem(&pseed_, PR_FALSE);
|
||||
}
|
||||
if (err) {
|
||||
MP_TO_SEC_ERROR(err);
|
||||
|
|
@ -1887,11 +1898,11 @@ PQG_DestroyParams(PQGParams *params)
|
|||
if (params == NULL)
|
||||
return;
|
||||
if (params->arena != NULL) {
|
||||
PORT_FreeArena(params->arena, PR_FALSE); /* don't zero it */
|
||||
PORT_FreeArena(params->arena, PR_TRUE);
|
||||
} else {
|
||||
SECITEM_FreeItem(¶ms->prime, PR_FALSE); /* don't free prime */
|
||||
SECITEM_FreeItem(¶ms->subPrime, PR_FALSE); /* don't free subPrime */
|
||||
SECITEM_FreeItem(¶ms->base, PR_FALSE); /* don't free base */
|
||||
SECITEM_ZfreeItem(¶ms->prime, PR_FALSE); /* don't free prime */
|
||||
SECITEM_ZfreeItem(¶ms->subPrime, PR_FALSE); /* don't free subPrime */
|
||||
SECITEM_ZfreeItem(¶ms->base, PR_FALSE); /* don't free base */
|
||||
PORT_Free(params);
|
||||
}
|
||||
}
|
||||
|
|
@ -1906,10 +1917,10 @@ PQG_DestroyVerify(PQGVerify *vfy)
|
|||
if (vfy == NULL)
|
||||
return;
|
||||
if (vfy->arena != NULL) {
|
||||
PORT_FreeArena(vfy->arena, PR_FALSE); /* don't zero it */
|
||||
PORT_FreeArena(vfy->arena, PR_TRUE);
|
||||
} else {
|
||||
SECITEM_FreeItem(&vfy->seed, PR_FALSE); /* don't free seed */
|
||||
SECITEM_FreeItem(&vfy->h, PR_FALSE); /* don't free h */
|
||||
SECITEM_ZfreeItem(&vfy->seed, PR_FALSE); /* don't free seed */
|
||||
SECITEM_ZfreeItem(&vfy->h, PR_FALSE); /* don't free h */
|
||||
PORT_Free(vfy);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue