Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(11)

Side by Side Diff: nss/lib/pki/tdcache.c

Issue 1504923011: Update NSS to 3.21 RTM and NSPR to 4.11 RTM (Closed) Base URL: http://src.chromium.org/svn/trunk/deps/third_party/nss
Patch Set: Created 5 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 /* This Source Code Form is subject to the terms of the Mozilla Public 1 /* This Source Code Form is subject to the terms of the Mozilla Public
2 * License, v. 2.0. If a copy of the MPL was not distributed with this 2 * License, v. 2.0. If a copy of the MPL was not distributed with this
3 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ 3 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
4 4
5 #ifndef PKIM_H 5 #ifndef PKIM_H
6 #include "pkim.h" 6 #include "pkim.h"
7 #endif /* PKIM_H */ 7 #endif /* PKIM_H */
8 8
9 #ifndef PKIT_H 9 #ifndef PKIT_H
10 #include "pkit.h" 10 #include "pkit.h"
(...skipping 311 matching lines...) Expand 10 before | Expand all | Expand 10 after
322 322
323 NSS_IMPLEMENT void 323 NSS_IMPLEMENT void
324 nssTrustDomain_RemoveCertFromCacheLOCKED ( 324 nssTrustDomain_RemoveCertFromCacheLOCKED (
325 NSSTrustDomain *td, 325 NSSTrustDomain *td,
326 NSSCertificate *cert 326 NSSCertificate *cert
327 ) 327 )
328 { 328 {
329 nssList *subjectList; 329 nssList *subjectList;
330 cache_entry *ce; 330 cache_entry *ce;
331 NSSArena *arena; 331 NSSArena *arena;
332 NSSUTF8 *nickname; 332 NSSUTF8 *nickname = NULL;
333 333
334 #ifdef DEBUG_CACHE 334 #ifdef DEBUG_CACHE
335 log_cert_ref("attempt to remove cert", cert); 335 log_cert_ref("attempt to remove cert", cert);
336 #endif 336 #endif
337 ce = (cache_entry *)nssHash_Lookup(td->cache->issuerAndSN, cert); 337 ce = (cache_entry *)nssHash_Lookup(td->cache->issuerAndSN, cert);
338 if (!ce || ce->entry.cert != cert) { 338 if (!ce || ce->entry.cert != cert) {
339 /* If it's not in the cache, or a different cert is (this is really 339 /* If it's not in the cache, or a different cert is (this is really
340 * for safety reasons, though it shouldn't happen), do nothing 340 * for safety reasons, though it shouldn't happen), do nothing
341 */ 341 */
342 #ifdef DEBUG_CACHE 342 #ifdef DEBUG_CACHE
(...skipping 426 matching lines...) Expand 10 before | Expand all | Expand 10 after
769 } 769 }
770 /* create a new subject list for this cert, or add to existing */ 770 /* create a new subject list for this cert, or add to existing */
771 nssrv = add_subject_entry(arena, td->cache, cert, 771 nssrv = add_subject_entry(arena, td->cache, cert,
772 certNickname, &subjectList); 772 certNickname, &subjectList);
773 if (nssrv != PR_SUCCESS) { 773 if (nssrv != PR_SUCCESS) {
774 goto loser; 774 goto loser;
775 } 775 }
776 added++; 776 added++;
777 /* If a new subject entry was created, also need nickname and/or email */ 777 /* If a new subject entry was created, also need nickname and/or email */
778 if (subjectList != NULL) { 778 if (subjectList != NULL) {
779 #ifdef nodef
779 PRBool handle = PR_FALSE; 780 PRBool handle = PR_FALSE;
781 #endif
780 if (certNickname) { 782 if (certNickname) {
781 nssrv = add_nickname_entry(arena, td->cache, 783 nssrv = add_nickname_entry(arena, td->cache,
782 certNickname, subjectList); 784 certNickname, subjectList);
783 if (nssrv != PR_SUCCESS) { 785 if (nssrv != PR_SUCCESS) {
784 goto loser; 786 goto loser;
785 } 787 }
788 #ifdef nodef
786 handle = PR_TRUE; 789 handle = PR_TRUE;
790 #endif
787 added++; 791 added++;
788 } 792 }
789 if (cert->email) { 793 if (cert->email) {
790 nssrv = add_email_entry(td->cache, cert, subjectList); 794 nssrv = add_email_entry(td->cache, cert, subjectList);
791 if (nssrv != PR_SUCCESS) { 795 if (nssrv != PR_SUCCESS) {
792 goto loser; 796 goto loser;
793 } 797 }
798 #ifdef nodef
794 handle = PR_TRUE; 799 handle = PR_TRUE;
800 #endif
795 added += 2; 801 added += 2;
796 } 802 }
797 #ifdef nodef 803 #ifdef nodef
798 /* I think either a nickname or email address must be associated 804 /* I think either a nickname or email address must be associated
799 * with the cert. However, certs are passed to NewTemp without 805 * with the cert. However, certs are passed to NewTemp without
800 * either. This worked in the old code, so it must work now. 806 * either. This worked in the old code, so it must work now.
801 */ 807 */
802 if (!handle) { 808 if (!handle) {
803 /* Require either nickname or email handle */ 809 /* Require either nickname or email handle */
804 nssrv = PR_FAILURE; 810 nssrv = PR_FAILURE;
(...skipping 313 matching lines...) Expand 10 before | Expand all | Expand 10 after
1118 nssTrustDomain_DumpCacheInfo ( 1124 nssTrustDomain_DumpCacheInfo (
1119 NSSTrustDomain *td, 1125 NSSTrustDomain *td,
1120 void (* cert_dump_iter)(const void *, void *, void *), 1126 void (* cert_dump_iter)(const void *, void *, void *),
1121 void *arg 1127 void *arg
1122 ) 1128 )
1123 { 1129 {
1124 PZ_Lock(td->cache->lock); 1130 PZ_Lock(td->cache->lock);
1125 nssHash_Iterate(td->cache->issuerAndSN, cert_dump_iter, arg); 1131 nssHash_Iterate(td->cache->issuerAndSN, cert_dump_iter, arg);
1126 PZ_Unlock(td->cache->lock); 1132 PZ_Unlock(td->cache->lock);
1127 } 1133 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698