mirror of
https://github.com/mozilla/gecko-dev.git
synced 2025-03-04 07:40:42 +00:00
Fix for bug 141882 - convert email query keys to lowercase when searching . r=wtc
This commit is contained in:
parent
347ed6b99f
commit
60c78ee111
@ -482,13 +482,22 @@ CERT_FindCertByNicknameOrEmailAddr(CERTCertDBHandle *handle, char *name)
|
||||
NSSCertificate *c, *ct;
|
||||
CERTCertificate *cert;
|
||||
NSSUsage usage;
|
||||
|
||||
if (NULL == name) {
|
||||
PORT_SetError(SEC_ERROR_INVALID_ARGS);
|
||||
return NULL;
|
||||
}
|
||||
usage.anyUsage = PR_TRUE;
|
||||
cc = STAN_GetDefaultCryptoContext();
|
||||
ct = NSSCryptoContext_FindBestCertificateByNickname(cc, name,
|
||||
NULL, &usage, NULL);
|
||||
if (!ct) {
|
||||
ct = NSSCryptoContext_FindBestCertificateByEmail(cc, name,
|
||||
NULL, &usage, NULL);
|
||||
if (!ct && PORT_Strchr(name, '@') != NULL) {
|
||||
char* lowercaseName = CERT_FixupEmailAddr(name);
|
||||
if (lowercaseName) {
|
||||
ct = NSSCryptoContext_FindBestCertificateByEmail(cc, lowercaseName,
|
||||
NULL, &usage, NULL);
|
||||
PORT_Free(lowercaseName);
|
||||
}
|
||||
}
|
||||
cert = PK11_FindCertFromNickname(name, NULL);
|
||||
if (cert) {
|
||||
|
@ -1320,18 +1320,22 @@ PK11_FindCertFromNickname(char *nickname, void *wincx)
|
||||
if (nssPKIObjectCollection_Count(collection) == 0 &&
|
||||
PORT_Strchr(nickname, '@') != NULL)
|
||||
{
|
||||
(void)nssTrustDomain_GetCertsForEmailAddressFromCache(defaultTD,
|
||||
nickname,
|
||||
certList);
|
||||
transfer_token_certs_to_collection(certList, token, collection);
|
||||
instances = nssToken_FindCertificatesByEmail(token,
|
||||
NULL,
|
||||
nickname,
|
||||
tokenOnly,
|
||||
0,
|
||||
&status);
|
||||
nssPKIObjectCollection_AddInstances(collection, instances, 0);
|
||||
nss_ZFreeIf(instances);
|
||||
char* lowercaseName = CERT_FixupEmailAddr(nickname);
|
||||
if (lowercaseName) {
|
||||
(void)nssTrustDomain_GetCertsForEmailAddressFromCache(defaultTD,
|
||||
lowercaseName,
|
||||
certList);
|
||||
transfer_token_certs_to_collection(certList, token, collection);
|
||||
instances = nssToken_FindCertificatesByEmail(token,
|
||||
NULL,
|
||||
lowercaseName,
|
||||
tokenOnly,
|
||||
0,
|
||||
&status);
|
||||
nssPKIObjectCollection_AddInstances(collection, instances, 0);
|
||||
nss_ZFreeIf(instances);
|
||||
PORT_Free(lowercaseName);
|
||||
}
|
||||
}
|
||||
certs = nssPKIObjectCollection_GetCertificates(collection,
|
||||
NULL, 0, NULL);
|
||||
|
Loading…
x
Reference in New Issue
Block a user