author | Kai Engert <kaie@kuix.de> |
Wed, 05 Apr 2017 22:47:53 +0200 (2017-04-05) | |
changeset 13286 | 1feb89a254de8d4ecd669b2c7bf80ff26784aadf |
parent 13264 | f52feaa506006947b546dde5b954b59aae1bad98 |
child 16545 | 023f640c52040ff02bdd3c44df2b5ae927fa9e4f |
permissions | -rw-r--r-- |
10313
008b1ff2736b6eb1af210a57c0bb84c2a58e8547
Bug 716563 - update license to MPL 2. r=rrelyea.
gerv%gerv.net
parents:
10193
diff
changeset
|
1 |
/* This Source Code Form is subject to the terms of the Mozilla Public |
008b1ff2736b6eb1af210a57c0bb84c2a58e8547
Bug 716563 - update license to MPL 2. r=rrelyea.
gerv%gerv.net
parents:
10193
diff
changeset
|
2 |
* License, v. 2.0. If a copy of the MPL was not distributed with this |
008b1ff2736b6eb1af210a57c0bb84c2a58e8547
Bug 716563 - update license to MPL 2. r=rrelyea.
gerv%gerv.net
parents:
10193
diff
changeset
|
3 |
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */ |
206
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
4 |
|
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
5 |
#include "plarena.h" |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
6 |
#include "seccomon.h" |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
7 |
#include "secitem.h" |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
8 |
#include "secoidt.h" |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
9 |
#include "secasn1.h" |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
10 |
#include "secder.h" |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
11 |
#include "certt.h" |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
12 |
#include "cert.h" |
9647
109429a93218ac5f06fa59d323ba415a09f55a67
Bug 394919 - dNSName constraints should constrain cert Common Names in EE
nelson%bolyard.com
parents:
8860
diff
changeset
|
13 |
#include "certi.h" |
206
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
14 |
#include "xconst.h" |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
15 |
#include "secerr.h" |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
16 |
#include "secoid.h" |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
17 |
#include "prprf.h" |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
18 |
#include "genname.h" |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
19 |
|
8391
fc0e7cab2c9e6e75a474a1b01144dc66be20ac8f
Fix for bug 291384 . Remove unnecessary semicolons in SEC_ASN1_MKSUB . r=nelson
julien.pierre.boogz%sun.com
parents:
8139
diff
changeset
|
20 |
SEC_ASN1_MKSUB(SEC_AnyTemplate) |
fc0e7cab2c9e6e75a474a1b01144dc66be20ac8f
Fix for bug 291384 . Remove unnecessary semicolons in SEC_ASN1_MKSUB . r=nelson
julien.pierre.boogz%sun.com
parents:
8139
diff
changeset
|
21 |
SEC_ASN1_MKSUB(SEC_IntegerTemplate) |
fc0e7cab2c9e6e75a474a1b01144dc66be20ac8f
Fix for bug 291384 . Remove unnecessary semicolons in SEC_ASN1_MKSUB . r=nelson
julien.pierre.boogz%sun.com
parents:
8139
diff
changeset
|
22 |
SEC_ASN1_MKSUB(SEC_IA5StringTemplate) |
fc0e7cab2c9e6e75a474a1b01144dc66be20ac8f
Fix for bug 291384 . Remove unnecessary semicolons in SEC_ASN1_MKSUB . r=nelson
julien.pierre.boogz%sun.com
parents:
8139
diff
changeset
|
23 |
SEC_ASN1_MKSUB(SEC_ObjectIDTemplate) |
fc0e7cab2c9e6e75a474a1b01144dc66be20ac8f
Fix for bug 291384 . Remove unnecessary semicolons in SEC_ASN1_MKSUB . r=nelson
julien.pierre.boogz%sun.com
parents:
8139
diff
changeset
|
24 |
SEC_ASN1_MKSUB(SEC_OctetStringTemplate) |
206
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
25 |
|
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
26 |
static const SEC_ASN1Template CERTNameConstraintTemplate[] = { |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
27 |
{ SEC_ASN1_SEQUENCE, 0, NULL, sizeof(CERTNameConstraint) }, |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
28 |
{ SEC_ASN1_ANY, offsetof(CERTNameConstraint, DERName) }, |
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
29 |
{ SEC_ASN1_OPTIONAL | SEC_ASN1_CONTEXT_SPECIFIC | SEC_ASN1_XTRN | 0, |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
30 |
offsetof(CERTNameConstraint, min), SEC_ASN1_SUB(SEC_IntegerTemplate) }, |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
31 |
{ SEC_ASN1_OPTIONAL | SEC_ASN1_CONTEXT_SPECIFIC | SEC_ASN1_XTRN | 1, |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
32 |
offsetof(CERTNameConstraint, max), SEC_ASN1_SUB(SEC_IntegerTemplate) }, |
11709
1f9d09f9034c08282c7ed1a4946fd13d46917fac
Bug 1118245. Apply uniform style across NSS [remove trailing commas in initializers]. r=ekr
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11521
diff
changeset
|
33 |
{ 0 } |
206
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
34 |
}; |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
35 |
|
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
36 |
const SEC_ASN1Template CERT_NameConstraintSubtreeSubTemplate[] = { |
8139
22b1c7d7ffda5d35dd17317aa5389e0c7446f508
Fix for bug 286642 . Move utility functions to new libnssutil shared library. r=nelson
julien.pierre.boogz%sun.com
parents:
8027
diff
changeset
|
37 |
{ SEC_ASN1_SEQUENCE_OF | SEC_ASN1_XTRN, 0, SEC_ASN1_SUB(SEC_AnyTemplate) } |
206
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
38 |
}; |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
39 |
|
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
40 |
static const SEC_ASN1Template CERTNameConstraintsTemplate[] = { |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
41 |
{ SEC_ASN1_SEQUENCE, 0, NULL, sizeof(CERTNameConstraints) }, |
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
42 |
{ SEC_ASN1_OPTIONAL | SEC_ASN1_CONSTRUCTED | SEC_ASN1_CONTEXT_SPECIFIC | 0, |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
43 |
offsetof(CERTNameConstraints, DERPermited), |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
44 |
CERT_NameConstraintSubtreeSubTemplate }, |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
45 |
{ SEC_ASN1_OPTIONAL | SEC_ASN1_CONSTRUCTED | SEC_ASN1_CONTEXT_SPECIFIC | 1, |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
46 |
offsetof(CERTNameConstraints, DERExcluded), |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
47 |
CERT_NameConstraintSubtreeSubTemplate }, |
11709
1f9d09f9034c08282c7ed1a4946fd13d46917fac
Bug 1118245. Apply uniform style across NSS [remove trailing commas in initializers]. r=ekr
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11521
diff
changeset
|
48 |
{ 0 } |
206
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
49 |
}; |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
50 |
|
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
51 |
static const SEC_ASN1Template CERTOthNameTemplate[] = { |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
52 |
{ SEC_ASN1_SEQUENCE, 0, NULL, sizeof(OtherName) }, |
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
53 |
{ SEC_ASN1_OBJECT_ID, offsetof(OtherName, oid) }, |
8139
22b1c7d7ffda5d35dd17317aa5389e0c7446f508
Fix for bug 286642 . Move utility functions to new libnssutil shared library. r=nelson
julien.pierre.boogz%sun.com
parents:
8027
diff
changeset
|
54 |
{ SEC_ASN1_CONTEXT_SPECIFIC | SEC_ASN1_CONSTRUCTED | SEC_ASN1_EXPLICIT | |
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
55 |
SEC_ASN1_XTRN | 0, |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
56 |
offsetof(OtherName, name), SEC_ASN1_SUB(SEC_AnyTemplate) }, |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
57 |
{ 0 } |
206
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
58 |
}; |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
59 |
|
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
60 |
static const SEC_ASN1Template CERTOtherNameTemplate[] = { |
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
61 |
{ SEC_ASN1_CONTEXT_SPECIFIC | SEC_ASN1_CONSTRUCTED | 0, |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
62 |
offsetof(CERTGeneralName, name.OthName), CERTOthNameTemplate, |
206
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
63 |
sizeof(CERTGeneralName) } |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
64 |
}; |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
65 |
|
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
66 |
static const SEC_ASN1Template CERT_RFC822NameTemplate[] = { |
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
67 |
{ SEC_ASN1_CONTEXT_SPECIFIC | SEC_ASN1_XTRN | 1, |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
68 |
offsetof(CERTGeneralName, name.other), |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
69 |
SEC_ASN1_SUB(SEC_IA5StringTemplate), sizeof(CERTGeneralName) } |
206
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
70 |
}; |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
71 |
|
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
72 |
static const SEC_ASN1Template CERT_DNSNameTemplate[] = { |
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
73 |
{ SEC_ASN1_CONTEXT_SPECIFIC | SEC_ASN1_XTRN | 2, |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
74 |
offsetof(CERTGeneralName, name.other), |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
75 |
SEC_ASN1_SUB(SEC_IA5StringTemplate), sizeof(CERTGeneralName) } |
206
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
76 |
}; |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
77 |
|
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
78 |
static const SEC_ASN1Template CERT_X400AddressTemplate[] = { |
8139
22b1c7d7ffda5d35dd17317aa5389e0c7446f508
Fix for bug 286642 . Move utility functions to new libnssutil shared library. r=nelson
julien.pierre.boogz%sun.com
parents:
8027
diff
changeset
|
79 |
{ SEC_ASN1_CONTEXT_SPECIFIC | SEC_ASN1_CONSTRUCTED | SEC_ASN1_XTRN | 3, |
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
80 |
offsetof(CERTGeneralName, name.other), SEC_ASN1_SUB(SEC_AnyTemplate), |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
81 |
sizeof(CERTGeneralName) } |
206
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
82 |
}; |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
83 |
|
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
84 |
static const SEC_ASN1Template CERT_DirectoryNameTemplate[] = { |
8139
22b1c7d7ffda5d35dd17317aa5389e0c7446f508
Fix for bug 286642 . Move utility functions to new libnssutil shared library. r=nelson
julien.pierre.boogz%sun.com
parents:
8027
diff
changeset
|
85 |
{ SEC_ASN1_CONTEXT_SPECIFIC | SEC_ASN1_CONSTRUCTED | SEC_ASN1_EXPLICIT | |
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
86 |
SEC_ASN1_XTRN | 4, |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
87 |
offsetof(CERTGeneralName, derDirectoryName), |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
88 |
SEC_ASN1_SUB(SEC_AnyTemplate), sizeof(CERTGeneralName) } |
206
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
89 |
}; |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
90 |
|
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
91 |
static const SEC_ASN1Template CERT_EDIPartyNameTemplate[] = { |
8139
22b1c7d7ffda5d35dd17317aa5389e0c7446f508
Fix for bug 286642 . Move utility functions to new libnssutil shared library. r=nelson
julien.pierre.boogz%sun.com
parents:
8027
diff
changeset
|
92 |
{ SEC_ASN1_CONTEXT_SPECIFIC | SEC_ASN1_CONSTRUCTED | SEC_ASN1_XTRN | 5, |
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
93 |
offsetof(CERTGeneralName, name.other), SEC_ASN1_SUB(SEC_AnyTemplate), |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
94 |
sizeof(CERTGeneralName) } |
206
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
95 |
}; |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
96 |
|
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
97 |
static const SEC_ASN1Template CERT_URITemplate[] = { |
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
98 |
{ SEC_ASN1_CONTEXT_SPECIFIC | SEC_ASN1_XTRN | 6, |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
99 |
offsetof(CERTGeneralName, name.other), |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
100 |
SEC_ASN1_SUB(SEC_IA5StringTemplate), sizeof(CERTGeneralName) } |
206
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
101 |
}; |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
102 |
|
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
103 |
static const SEC_ASN1Template CERT_IPAddressTemplate[] = { |
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
104 |
{ SEC_ASN1_CONTEXT_SPECIFIC | SEC_ASN1_XTRN | 7, |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
105 |
offsetof(CERTGeneralName, name.other), |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
106 |
SEC_ASN1_SUB(SEC_OctetStringTemplate), sizeof(CERTGeneralName) } |
206
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
107 |
}; |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
108 |
|
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
109 |
static const SEC_ASN1Template CERT_RegisteredIDTemplate[] = { |
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
110 |
{ SEC_ASN1_CONTEXT_SPECIFIC | SEC_ASN1_XTRN | 8, |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
111 |
offsetof(CERTGeneralName, name.other), SEC_ASN1_SUB(SEC_ObjectIDTemplate), |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
112 |
sizeof(CERTGeneralName) } |
206
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
113 |
}; |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
114 |
|
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
115 |
const SEC_ASN1Template CERT_GeneralNamesTemplate[] = { |
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
116 |
{ SEC_ASN1_SEQUENCE_OF | SEC_ASN1_XTRN, 0, SEC_ASN1_SUB(SEC_AnyTemplate) } |
206
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
117 |
}; |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
118 |
|
11161
04c846cc7a85936d10f7767c81c084034473331a
Bug 970539, NSS tool improvements/fixes: certutil/btoa/pp/httpserv, r=rrelyea
Kai Engert <kaie@kuix.de>
parents:
11107
diff
changeset
|
119 |
static struct { |
04c846cc7a85936d10f7767c81c084034473331a
Bug 970539, NSS tool improvements/fixes: certutil/btoa/pp/httpserv, r=rrelyea
Kai Engert <kaie@kuix.de>
parents:
11107
diff
changeset
|
120 |
CERTGeneralNameType type; |
04c846cc7a85936d10f7767c81c084034473331a
Bug 970539, NSS tool improvements/fixes: certutil/btoa/pp/httpserv, r=rrelyea
Kai Engert <kaie@kuix.de>
parents:
11107
diff
changeset
|
121 |
char *name; |
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
122 |
} typesArray[] = { { certOtherName, "other" }, |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
123 |
{ certRFC822Name, "email" }, |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
124 |
{ certRFC822Name, "rfc822" }, |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
125 |
{ certDNSName, "dns" }, |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
126 |
{ certX400Address, "x400" }, |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
127 |
{ certX400Address, "x400addr" }, |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
128 |
{ certDirectoryName, "directory" }, |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
129 |
{ certDirectoryName, "dn" }, |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
130 |
{ certEDIPartyName, "edi" }, |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
131 |
{ certEDIPartyName, "ediparty" }, |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
132 |
{ certURI, "uri" }, |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
133 |
{ certIPAddress, "ip" }, |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
134 |
{ certIPAddress, "ipaddr" }, |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
135 |
{ certRegisterID, "registerid" } }; |
11161
04c846cc7a85936d10f7767c81c084034473331a
Bug 970539, NSS tool improvements/fixes: certutil/btoa/pp/httpserv, r=rrelyea
Kai Engert <kaie@kuix.de>
parents:
11107
diff
changeset
|
136 |
|
04c846cc7a85936d10f7767c81c084034473331a
Bug 970539, NSS tool improvements/fixes: certutil/btoa/pp/httpserv, r=rrelyea
Kai Engert <kaie@kuix.de>
parents:
11107
diff
changeset
|
137 |
CERTGeneralNameType |
04c846cc7a85936d10f7767c81c084034473331a
Bug 970539, NSS tool improvements/fixes: certutil/btoa/pp/httpserv, r=rrelyea
Kai Engert <kaie@kuix.de>
parents:
11107
diff
changeset
|
138 |
CERT_GetGeneralNameTypeFromString(const char *string) |
04c846cc7a85936d10f7767c81c084034473331a
Bug 970539, NSS tool improvements/fixes: certutil/btoa/pp/httpserv, r=rrelyea
Kai Engert <kaie@kuix.de>
parents:
11107
diff
changeset
|
139 |
{ |
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
140 |
int types_count = sizeof(typesArray) / sizeof(typesArray[0]); |
11161
04c846cc7a85936d10f7767c81c084034473331a
Bug 970539, NSS tool improvements/fixes: certutil/btoa/pp/httpserv, r=rrelyea
Kai Engert <kaie@kuix.de>
parents:
11107
diff
changeset
|
141 |
int i; |
04c846cc7a85936d10f7767c81c084034473331a
Bug 970539, NSS tool improvements/fixes: certutil/btoa/pp/httpserv, r=rrelyea
Kai Engert <kaie@kuix.de>
parents:
11107
diff
changeset
|
142 |
|
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
143 |
for (i = 0; i < types_count; i++) { |
11161
04c846cc7a85936d10f7767c81c084034473331a
Bug 970539, NSS tool improvements/fixes: certutil/btoa/pp/httpserv, r=rrelyea
Kai Engert <kaie@kuix.de>
parents:
11107
diff
changeset
|
144 |
if (PORT_Strcasecmp(string, typesArray[i].name) == 0) { |
04c846cc7a85936d10f7767c81c084034473331a
Bug 970539, NSS tool improvements/fixes: certutil/btoa/pp/httpserv, r=rrelyea
Kai Engert <kaie@kuix.de>
parents:
11107
diff
changeset
|
145 |
return typesArray[i].type; |
04c846cc7a85936d10f7767c81c084034473331a
Bug 970539, NSS tool improvements/fixes: certutil/btoa/pp/httpserv, r=rrelyea
Kai Engert <kaie@kuix.de>
parents:
11107
diff
changeset
|
146 |
} |
04c846cc7a85936d10f7767c81c084034473331a
Bug 970539, NSS tool improvements/fixes: certutil/btoa/pp/httpserv, r=rrelyea
Kai Engert <kaie@kuix.de>
parents:
11107
diff
changeset
|
147 |
} |
04c846cc7a85936d10f7767c81c084034473331a
Bug 970539, NSS tool improvements/fixes: certutil/btoa/pp/httpserv, r=rrelyea
Kai Engert <kaie@kuix.de>
parents:
11107
diff
changeset
|
148 |
return 0; |
04c846cc7a85936d10f7767c81c084034473331a
Bug 970539, NSS tool improvements/fixes: certutil/btoa/pp/httpserv, r=rrelyea
Kai Engert <kaie@kuix.de>
parents:
11107
diff
changeset
|
149 |
} |
206
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
150 |
|
4572
33b930a46b752479d44edb4f9fbc4d8629b124c7
This patch extracts rfc822 names from a cert's distinguished name at the
nelsonb%netscape.com
parents:
4561
diff
changeset
|
151 |
CERTGeneralName * |
7829
03f4f61e700a94409cd538c76259557d4d58b0c2
Bug 358785: Merge NSS_LIBPKIX_BRANCH back to trunk. r=julien, r=alexei
alexei.volkov.bugs%sun.com
parents:
7288
diff
changeset
|
152 |
CERT_NewGeneralName(PLArenaPool *arena, CERTGeneralNameType type) |
4572
33b930a46b752479d44edb4f9fbc4d8629b124c7
This patch extracts rfc822 names from a cert's distinguished name at the
nelsonb%netscape.com
parents:
4561
diff
changeset
|
153 |
{ |
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
154 |
CERTGeneralName *name = arena ? PORT_ArenaZNew(arena, CERTGeneralName) |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
155 |
: PORT_ZNew(CERTGeneralName); |
4572
33b930a46b752479d44edb4f9fbc4d8629b124c7
This patch extracts rfc822 names from a cert's distinguished name at the
nelsonb%netscape.com
parents:
4561
diff
changeset
|
156 |
if (name) { |
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
157 |
name->type = type; |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
158 |
name->l.prev = name->l.next = &name->l; |
4572
33b930a46b752479d44edb4f9fbc4d8629b124c7
This patch extracts rfc822 names from a cert's distinguished name at the
nelsonb%netscape.com
parents:
4561
diff
changeset
|
159 |
} |
33b930a46b752479d44edb4f9fbc4d8629b124c7
This patch extracts rfc822 names from a cert's distinguished name at the
nelsonb%netscape.com
parents:
4561
diff
changeset
|
160 |
return name; |
33b930a46b752479d44edb4f9fbc4d8629b124c7
This patch extracts rfc822 names from a cert's distinguished name at the
nelsonb%netscape.com
parents:
4561
diff
changeset
|
161 |
} |
33b930a46b752479d44edb4f9fbc4d8629b124c7
This patch extracts rfc822 names from a cert's distinguished name at the
nelsonb%netscape.com
parents:
4561
diff
changeset
|
162 |
|
33b930a46b752479d44edb4f9fbc4d8629b124c7
This patch extracts rfc822 names from a cert's distinguished name at the
nelsonb%netscape.com
parents:
4561
diff
changeset
|
163 |
/* Copy content of one General Name to another. |
33b930a46b752479d44edb4f9fbc4d8629b124c7
This patch extracts rfc822 names from a cert's distinguished name at the
nelsonb%netscape.com
parents:
4561
diff
changeset
|
164 |
** Caller has allocated destination general name. |
33b930a46b752479d44edb4f9fbc4d8629b124c7
This patch extracts rfc822 names from a cert's distinguished name at the
nelsonb%netscape.com
parents:
4561
diff
changeset
|
165 |
** This function does not change the destinate's GeneralName's list linkage. |
33b930a46b752479d44edb4f9fbc4d8629b124c7
This patch extracts rfc822 names from a cert's distinguished name at the
nelsonb%netscape.com
parents:
4561
diff
changeset
|
166 |
*/ |
33b930a46b752479d44edb4f9fbc4d8629b124c7
This patch extracts rfc822 names from a cert's distinguished name at the
nelsonb%netscape.com
parents:
4561
diff
changeset
|
167 |
SECStatus |
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
168 |
cert_CopyOneGeneralName(PLArenaPool *arena, CERTGeneralName *dest, |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
169 |
CERTGeneralName *src) |
4572
33b930a46b752479d44edb4f9fbc4d8629b124c7
This patch extracts rfc822 names from a cert's distinguished name at the
nelsonb%netscape.com
parents:
4561
diff
changeset
|
170 |
{ |
33b930a46b752479d44edb4f9fbc4d8629b124c7
This patch extracts rfc822 names from a cert's distinguished name at the
nelsonb%netscape.com
parents:
4561
diff
changeset
|
171 |
SECStatus rv; |
7829
03f4f61e700a94409cd538c76259557d4d58b0c2
Bug 358785: Merge NSS_LIBPKIX_BRANCH back to trunk. r=julien, r=alexei
alexei.volkov.bugs%sun.com
parents:
7288
diff
changeset
|
172 |
void *mark = NULL; |
4572
33b930a46b752479d44edb4f9fbc4d8629b124c7
This patch extracts rfc822 names from a cert's distinguished name at the
nelsonb%netscape.com
parents:
4561
diff
changeset
|
173 |
|
33b930a46b752479d44edb4f9fbc4d8629b124c7
This patch extracts rfc822 names from a cert's distinguished name at the
nelsonb%netscape.com
parents:
4561
diff
changeset
|
174 |
PORT_Assert(dest != NULL); |
33b930a46b752479d44edb4f9fbc4d8629b124c7
This patch extracts rfc822 names from a cert's distinguished name at the
nelsonb%netscape.com
parents:
4561
diff
changeset
|
175 |
dest->type = src->type; |
33b930a46b752479d44edb4f9fbc4d8629b124c7
This patch extracts rfc822 names from a cert's distinguished name at the
nelsonb%netscape.com
parents:
4561
diff
changeset
|
176 |
|
7829
03f4f61e700a94409cd538c76259557d4d58b0c2
Bug 358785: Merge NSS_LIBPKIX_BRANCH back to trunk. r=julien, r=alexei
alexei.volkov.bugs%sun.com
parents:
7288
diff
changeset
|
177 |
mark = PORT_ArenaMark(arena); |
03f4f61e700a94409cd538c76259557d4d58b0c2
Bug 358785: Merge NSS_LIBPKIX_BRANCH back to trunk. r=julien, r=alexei
alexei.volkov.bugs%sun.com
parents:
7288
diff
changeset
|
178 |
|
4572
33b930a46b752479d44edb4f9fbc4d8629b124c7
This patch extracts rfc822 names from a cert's distinguished name at the
nelsonb%netscape.com
parents:
4561
diff
changeset
|
179 |
switch (src->type) { |
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
180 |
case certDirectoryName: |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
181 |
rv = SECITEM_CopyItem(arena, &dest->derDirectoryName, |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
182 |
&src->derDirectoryName); |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
183 |
if (rv == SECSuccess) |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
184 |
rv = CERT_CopyName(arena, &dest->name.directoryName, |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
185 |
&src->name.directoryName); |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
186 |
break; |
4572
33b930a46b752479d44edb4f9fbc4d8629b124c7
This patch extracts rfc822 names from a cert's distinguished name at the
nelsonb%netscape.com
parents:
4561
diff
changeset
|
187 |
|
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
188 |
case certOtherName: |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
189 |
rv = SECITEM_CopyItem(arena, &dest->name.OthName.name, |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
190 |
&src->name.OthName.name); |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
191 |
if (rv == SECSuccess) |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
192 |
rv = SECITEM_CopyItem(arena, &dest->name.OthName.oid, |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
193 |
&src->name.OthName.oid); |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
194 |
break; |
4572
33b930a46b752479d44edb4f9fbc4d8629b124c7
This patch extracts rfc822 names from a cert's distinguished name at the
nelsonb%netscape.com
parents:
4561
diff
changeset
|
195 |
|
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
196 |
default: |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
197 |
rv = SECITEM_CopyItem(arena, &dest->name.other, &src->name.other); |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
198 |
break; |
4572
33b930a46b752479d44edb4f9fbc4d8629b124c7
This patch extracts rfc822 names from a cert's distinguished name at the
nelsonb%netscape.com
parents:
4561
diff
changeset
|
199 |
} |
33b930a46b752479d44edb4f9fbc4d8629b124c7
This patch extracts rfc822 names from a cert's distinguished name at the
nelsonb%netscape.com
parents:
4561
diff
changeset
|
200 |
if (rv != SECSuccess) { |
7829
03f4f61e700a94409cd538c76259557d4d58b0c2
Bug 358785: Merge NSS_LIBPKIX_BRANCH back to trunk. r=julien, r=alexei
alexei.volkov.bugs%sun.com
parents:
7288
diff
changeset
|
201 |
PORT_ArenaRelease(arena, mark); |
11940
0e6e8153513e40154dc1907c2aff318b5342e73e
Bug 1251185, NSS clang-format: else line-break fixes, r=ttaubert
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11776
diff
changeset
|
202 |
} else { |
7829
03f4f61e700a94409cd538c76259557d4d58b0c2
Bug 358785: Merge NSS_LIBPKIX_BRANCH back to trunk. r=julien, r=alexei
alexei.volkov.bugs%sun.com
parents:
7288
diff
changeset
|
203 |
PORT_ArenaUnmark(arena, mark); |
4572
33b930a46b752479d44edb4f9fbc4d8629b124c7
This patch extracts rfc822 names from a cert's distinguished name at the
nelsonb%netscape.com
parents:
4561
diff
changeset
|
204 |
} |
33b930a46b752479d44edb4f9fbc4d8629b124c7
This patch extracts rfc822 names from a cert's distinguished name at the
nelsonb%netscape.com
parents:
4561
diff
changeset
|
205 |
return rv; |
33b930a46b752479d44edb4f9fbc4d8629b124c7
This patch extracts rfc822 names from a cert's distinguished name at the
nelsonb%netscape.com
parents:
4561
diff
changeset
|
206 |
} |
33b930a46b752479d44edb4f9fbc4d8629b124c7
This patch extracts rfc822 names from a cert's distinguished name at the
nelsonb%netscape.com
parents:
4561
diff
changeset
|
207 |
|
206
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
208 |
void |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
209 |
CERT_DestroyGeneralNameList(CERTGeneralNameList *list) |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
210 |
{ |
1031
d82fc414b80dd1c98a99f0f57fa4b98edd470945
Bugzilla: 64132. NSS lock instrumentation
larryh%netscape.com
parents:
713
diff
changeset
|
211 |
PZLock *lock; |
206
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
212 |
|
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
213 |
if (list != NULL) { |
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
214 |
lock = list->lock; |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
215 |
PZ_Lock(lock); |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
216 |
if (--list->refCount <= 0 && list->arena != NULL) { |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
217 |
PORT_FreeArena(list->arena, PR_FALSE); |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
218 |
PZ_Unlock(lock); |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
219 |
PZ_DestroyLock(lock); |
11940
0e6e8153513e40154dc1907c2aff318b5342e73e
Bug 1251185, NSS clang-format: else line-break fixes, r=ttaubert
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11776
diff
changeset
|
220 |
} else { |
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
221 |
PZ_Unlock(lock); |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
222 |
} |
206
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
223 |
} |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
224 |
return; |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
225 |
} |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
226 |
|
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
227 |
CERTGeneralNameList * |
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
228 |
CERT_CreateGeneralNameList(CERTGeneralName *name) |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
229 |
{ |
10759
0b69d6cc3acd5e723d4cafefd956e61466b80c53
Bug 802430: Allow NSS to be built with NO_NSPR_10_SUPPORT, r=wtc
Brian Smith <bsmith@mozilla.com>
parents:
10705
diff
changeset
|
230 |
PLArenaPool *arena; |
206
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
231 |
CERTGeneralNameList *list = NULL; |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
232 |
|
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
233 |
arena = PORT_NewArena(DER_DEFAULT_CHUNKSIZE); |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
234 |
if (arena == NULL) { |
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
235 |
goto done; |
206
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
236 |
} |
4557
f860395e272947a29b22099f8e5f515b710e1de8
a) Add more missing null pointer tests that I discovered. Bug 208649.
nelsonb%netscape.com
parents:
4544
diff
changeset
|
237 |
list = PORT_ArenaZNew(arena, CERTGeneralNameList); |
4544
760b5516878b3c470940fa663ed28c3cb1f41008
Fix numerous more potential NULL pointer deref crashes. Bug 208038
nelsonb%netscape.com
parents:
4536
diff
changeset
|
238 |
if (!list) |
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
239 |
goto loser; |
206
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
240 |
if (name != NULL) { |
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
241 |
SECStatus rv; |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
242 |
list->name = CERT_NewGeneralName(arena, (CERTGeneralNameType)0); |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
243 |
if (!list->name) |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
244 |
goto loser; |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
245 |
rv = CERT_CopyGeneralName(arena, list->name, name); |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
246 |
if (rv != SECSuccess) |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
247 |
goto loser; |
206
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
248 |
} |
1031
d82fc414b80dd1c98a99f0f57fa4b98edd470945
Bugzilla: 64132. NSS lock instrumentation
larryh%netscape.com
parents:
713
diff
changeset
|
249 |
list->lock = PZ_NewLock(nssILockList); |
4544
760b5516878b3c470940fa663ed28c3cb1f41008
Fix numerous more potential NULL pointer deref crashes. Bug 208038
nelsonb%netscape.com
parents:
4536
diff
changeset
|
250 |
if (!list->lock) |
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
251 |
goto loser; |
206
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
252 |
list->arena = arena; |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
253 |
list->refCount = 1; |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
254 |
done: |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
255 |
return list; |
4544
760b5516878b3c470940fa663ed28c3cb1f41008
Fix numerous more potential NULL pointer deref crashes. Bug 208038
nelsonb%netscape.com
parents:
4536
diff
changeset
|
256 |
|
760b5516878b3c470940fa663ed28c3cb1f41008
Fix numerous more potential NULL pointer deref crashes. Bug 208038
nelsonb%netscape.com
parents:
4536
diff
changeset
|
257 |
loser: |
760b5516878b3c470940fa663ed28c3cb1f41008
Fix numerous more potential NULL pointer deref crashes. Bug 208038
nelsonb%netscape.com
parents:
4536
diff
changeset
|
258 |
PORT_FreeArena(arena, PR_FALSE); |
760b5516878b3c470940fa663ed28c3cb1f41008
Fix numerous more potential NULL pointer deref crashes. Bug 208038
nelsonb%netscape.com
parents:
4536
diff
changeset
|
259 |
return NULL; |
206
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
260 |
} |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
261 |
|
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
262 |
CERTGeneralName * |
5047
07097a7fb9e0dd0733cdb210ba7943bc4f6e66fc
Export cert functions that decode extensions and traverse decoded
nelsonb%netscape.com
parents:
5021
diff
changeset
|
263 |
CERT_GetNextGeneralName(CERTGeneralName *current) |
206
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
264 |
{ |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
265 |
PRCList *next; |
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
266 |
|
206
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
267 |
next = current->l.next; |
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
268 |
return (CERTGeneralName *)(((char *)next) - offsetof(CERTGeneralName, l)); |
206
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
269 |
} |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
270 |
|
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
271 |
CERTGeneralName * |
5047
07097a7fb9e0dd0733cdb210ba7943bc4f6e66fc
Export cert functions that decode extensions and traverse decoded
nelsonb%netscape.com
parents:
5021
diff
changeset
|
272 |
CERT_GetPrevGeneralName(CERTGeneralName *current) |
206
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
273 |
{ |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
274 |
PRCList *prev; |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
275 |
prev = current->l.prev; |
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
276 |
return (CERTGeneralName *)(((char *)prev) - offsetof(CERTGeneralName, l)); |
206
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
277 |
} |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
278 |
|
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
279 |
CERTNameConstraint * |
5047
07097a7fb9e0dd0733cdb210ba7943bc4f6e66fc
Export cert functions that decode extensions and traverse decoded
nelsonb%netscape.com
parents:
5021
diff
changeset
|
280 |
CERT_GetNextNameConstraint(CERTNameConstraint *current) |
206
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
281 |
{ |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
282 |
PRCList *next; |
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
283 |
|
206
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
284 |
next = current->l.next; |
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
285 |
return (CERTNameConstraint *)(((char *)next) - |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
286 |
offsetof(CERTNameConstraint, l)); |
206
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
287 |
} |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
288 |
|
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
289 |
CERTNameConstraint * |
5047
07097a7fb9e0dd0733cdb210ba7943bc4f6e66fc
Export cert functions that decode extensions and traverse decoded
nelsonb%netscape.com
parents:
5021
diff
changeset
|
290 |
CERT_GetPrevNameConstraint(CERTNameConstraint *current) |
206
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
291 |
{ |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
292 |
PRCList *prev; |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
293 |
prev = current->l.prev; |
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
294 |
return (CERTNameConstraint *)(((char *)prev) - |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
295 |
offsetof(CERTNameConstraint, l)); |
206
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
296 |
} |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
297 |
|
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
298 |
SECItem * |
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
299 |
CERT_EncodeGeneralName(CERTGeneralName *genName, SECItem *dest, |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
300 |
PLArenaPool *arena) |
206
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
301 |
{ |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
302 |
|
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
303 |
const SEC_ASN1Template *template; |
4560
dafe56a1367d2ae12333b2aed23383a730ff9da6
CERT_EncodeGeneralName and CERT_DecodeGeneralName contain large switch
nelsonb%netscape.com
parents:
4559
diff
changeset
|
304 |
|
206
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
305 |
PORT_Assert(arena); |
12734
25bbb8bdd46086979558331d5030adeab4d4129e
Bug 1277228 - some scan-build fixes to enable it on base/certdb/certhigh, r=ttaubert
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
12490
diff
changeset
|
306 |
if (arena == NULL || !genName) { |
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
307 |
PORT_SetError(SEC_ERROR_INVALID_ARGS); |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
308 |
return NULL; |
206
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
309 |
} |
4558
002bb0533bfb8b5932b831b22866f10eb4e9a216
The general name code uses arenas, which is good, but it never marks
nelsonb%netscape.com
parents:
4557
diff
changeset
|
310 |
/* TODO: mark arena */ |
206
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
311 |
if (dest == NULL) { |
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
312 |
dest = PORT_ArenaZNew(arena, SECItem); |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
313 |
if (!dest) |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
314 |
goto loser; |
206
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
315 |
} |
4560
dafe56a1367d2ae12333b2aed23383a730ff9da6
CERT_EncodeGeneralName and CERT_DecodeGeneralName contain large switch
nelsonb%netscape.com
parents:
4559
diff
changeset
|
316 |
if (genName->type == certDirectoryName) { |
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
317 |
if (genName->derDirectoryName.data == NULL) { |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
318 |
/* The field hasn't been encoded yet. */ |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
319 |
SECItem *pre_dest = SEC_ASN1EncodeItem( |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
320 |
arena, &(genName->derDirectoryName), |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
321 |
&(genName->name.directoryName), CERT_NameTemplate); |
4560
dafe56a1367d2ae12333b2aed23383a730ff9da6
CERT_EncodeGeneralName and CERT_DecodeGeneralName contain large switch
nelsonb%netscape.com
parents:
4559
diff
changeset
|
322 |
if (!pre_dest) |
dafe56a1367d2ae12333b2aed23383a730ff9da6
CERT_EncodeGeneralName and CERT_DecodeGeneralName contain large switch
nelsonb%netscape.com
parents:
4559
diff
changeset
|
323 |
goto loser; |
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
324 |
} |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
325 |
if (genName->derDirectoryName.data == NULL) { |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
326 |
goto loser; |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
327 |
} |
4560
dafe56a1367d2ae12333b2aed23383a730ff9da6
CERT_EncodeGeneralName and CERT_DecodeGeneralName contain large switch
nelsonb%netscape.com
parents:
4559
diff
changeset
|
328 |
} |
206
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
329 |
switch (genName->type) { |
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
330 |
case certURI: |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
331 |
template = CERT_URITemplate; |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
332 |
break; |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
333 |
case certRFC822Name: |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
334 |
template = CERT_RFC822NameTemplate; |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
335 |
break; |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
336 |
case certDNSName: |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
337 |
template = CERT_DNSNameTemplate; |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
338 |
break; |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
339 |
case certIPAddress: |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
340 |
template = CERT_IPAddressTemplate; |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
341 |
break; |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
342 |
case certOtherName: |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
343 |
template = CERTOtherNameTemplate; |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
344 |
break; |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
345 |
case certRegisterID: |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
346 |
template = CERT_RegisteredIDTemplate; |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
347 |
break; |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
348 |
/* for this type, we expect the value is already encoded */ |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
349 |
case certEDIPartyName: |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
350 |
template = CERT_EDIPartyNameTemplate; |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
351 |
break; |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
352 |
/* for this type, we expect the value is already encoded */ |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
353 |
case certX400Address: |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
354 |
template = CERT_X400AddressTemplate; |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
355 |
break; |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
356 |
case certDirectoryName: |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
357 |
template = CERT_DirectoryNameTemplate; |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
358 |
break; |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
359 |
default: |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
360 |
PORT_Assert(0); |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
361 |
goto loser; |
206
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
362 |
} |
4560
dafe56a1367d2ae12333b2aed23383a730ff9da6
CERT_EncodeGeneralName and CERT_DecodeGeneralName contain large switch
nelsonb%netscape.com
parents:
4559
diff
changeset
|
363 |
dest = SEC_ASN1EncodeItem(arena, dest, genName, template); |
206
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
364 |
if (!dest) { |
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
365 |
goto loser; |
206
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
366 |
} |
4558
002bb0533bfb8b5932b831b22866f10eb4e9a216
The general name code uses arenas, which is good, but it never marks
nelsonb%netscape.com
parents:
4557
diff
changeset
|
367 |
/* TODO: unmark arena */ |
206
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
368 |
return dest; |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
369 |
loser: |
4558
002bb0533bfb8b5932b831b22866f10eb4e9a216
The general name code uses arenas, which is good, but it never marks
nelsonb%netscape.com
parents:
4557
diff
changeset
|
370 |
/* TODO: release arena back to mark */ |
206
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
371 |
return NULL; |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
372 |
} |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
373 |
|
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
374 |
SECItem ** |
10759
0b69d6cc3acd5e723d4cafefd956e61466b80c53
Bug 802430: Allow NSS to be built with NO_NSPR_10_SUPPORT, r=wtc
Brian Smith <bsmith@mozilla.com>
parents:
10705
diff
changeset
|
375 |
cert_EncodeGeneralNames(PLArenaPool *arena, CERTGeneralName *names) |
206
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
376 |
{ |
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
377 |
CERTGeneralName *current_name; |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
378 |
SECItem **items = NULL; |
12734
25bbb8bdd46086979558331d5030adeab4d4129e
Bug 1277228 - some scan-build fixes to enable it on base/certdb/certhigh, r=ttaubert
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
12490
diff
changeset
|
379 |
int count = 1; |
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
380 |
int i; |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
381 |
PRCList *head; |
206
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
382 |
|
12734
25bbb8bdd46086979558331d5030adeab4d4129e
Bug 1277228 - some scan-build fixes to enable it on base/certdb/certhigh, r=ttaubert
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
12490
diff
changeset
|
383 |
if (!names) { |
25bbb8bdd46086979558331d5030adeab4d4129e
Bug 1277228 - some scan-build fixes to enable it on base/certdb/certhigh, r=ttaubert
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
12490
diff
changeset
|
384 |
return NULL; |
25bbb8bdd46086979558331d5030adeab4d4129e
Bug 1277228 - some scan-build fixes to enable it on base/certdb/certhigh, r=ttaubert
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
12490
diff
changeset
|
385 |
} |
25bbb8bdd46086979558331d5030adeab4d4129e
Bug 1277228 - some scan-build fixes to enable it on base/certdb/certhigh, r=ttaubert
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
12490
diff
changeset
|
386 |
|
206
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
387 |
PORT_Assert(arena); |
4558
002bb0533bfb8b5932b831b22866f10eb4e9a216
The general name code uses arenas, which is good, but it never marks
nelsonb%netscape.com
parents:
4557
diff
changeset
|
388 |
/* TODO: mark arena */ |
206
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
389 |
current_name = names; |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
390 |
head = &(names->l); |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
391 |
while (current_name->l.next != head) { |
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
392 |
current_name = CERT_GetNextGeneralName(current_name); |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
393 |
++count; |
206
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
394 |
} |
5047
07097a7fb9e0dd0733cdb210ba7943bc4f6e66fc
Export cert functions that decode extensions and traverse decoded
nelsonb%netscape.com
parents:
5021
diff
changeset
|
395 |
current_name = CERT_GetNextGeneralName(current_name); |
4557
f860395e272947a29b22099f8e5f515b710e1de8
a) Add more missing null pointer tests that I discovered. Bug 208649.
nelsonb%netscape.com
parents:
4544
diff
changeset
|
396 |
items = PORT_ArenaNewArray(arena, SECItem *, count + 1); |
206
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
397 |
if (items == NULL) { |
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
398 |
goto loser; |
206
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
399 |
} |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
400 |
for (i = 0; i < count; i++) { |
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
401 |
items[i] = CERT_EncodeGeneralName(current_name, (SECItem *)NULL, arena); |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
402 |
if (items[i] == NULL) { |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
403 |
goto loser; |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
404 |
} |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
405 |
current_name = CERT_GetNextGeneralName(current_name); |
206
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
406 |
} |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
407 |
items[i] = NULL; |
4558
002bb0533bfb8b5932b831b22866f10eb4e9a216
The general name code uses arenas, which is good, but it never marks
nelsonb%netscape.com
parents:
4557
diff
changeset
|
408 |
/* TODO: unmark arena */ |
206
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
409 |
return items; |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
410 |
loser: |
4558
002bb0533bfb8b5932b831b22866f10eb4e9a216
The general name code uses arenas, which is good, but it never marks
nelsonb%netscape.com
parents:
4557
diff
changeset
|
411 |
/* TODO: release arena to mark */ |
206
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
412 |
return NULL; |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
413 |
} |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
414 |
|
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
415 |
CERTGeneralName * |
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
416 |
CERT_DecodeGeneralName(PLArenaPool *reqArena, SECItem *encodedName, |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
417 |
CERTGeneralName *genName) |
206
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
418 |
{ |
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
419 |
const SEC_ASN1Template *template; |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
420 |
CERTGeneralNameType genNameType; |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
421 |
SECStatus rv = SECSuccess; |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
422 |
SECItem *newEncodedName; |
206
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
423 |
|
7288
917245bee72ea2a599545c8105ca8a230446a693
Fix for bug 178894 . Quick decoder updates for lib/certdb and lib/certhigh . r=nelson .
julien.pierre.bugs%sun.com
parents:
6625
diff
changeset
|
424 |
if (!reqArena) { |
917245bee72ea2a599545c8105ca8a230446a693
Fix for bug 178894 . Quick decoder updates for lib/certdb and lib/certhigh . r=nelson .
julien.pierre.bugs%sun.com
parents:
6625
diff
changeset
|
425 |
PORT_SetError(SEC_ERROR_INVALID_ARGS); |
917245bee72ea2a599545c8105ca8a230446a693
Fix for bug 178894 . Quick decoder updates for lib/certdb and lib/certhigh . r=nelson .
julien.pierre.bugs%sun.com
parents:
6625
diff
changeset
|
426 |
return NULL; |
917245bee72ea2a599545c8105ca8a230446a693
Fix for bug 178894 . Quick decoder updates for lib/certdb and lib/certhigh . r=nelson .
julien.pierre.bugs%sun.com
parents:
6625
diff
changeset
|
427 |
} |
917245bee72ea2a599545c8105ca8a230446a693
Fix for bug 178894 . Quick decoder updates for lib/certdb and lib/certhigh . r=nelson .
julien.pierre.bugs%sun.com
parents:
6625
diff
changeset
|
428 |
/* make a copy for decoding so the data decoded with QuickDER doesn't |
917245bee72ea2a599545c8105ca8a230446a693
Fix for bug 178894 . Quick decoder updates for lib/certdb and lib/certhigh . r=nelson .
julien.pierre.bugs%sun.com
parents:
6625
diff
changeset
|
429 |
point to temporary memory */ |
917245bee72ea2a599545c8105ca8a230446a693
Fix for bug 178894 . Quick decoder updates for lib/certdb and lib/certhigh . r=nelson .
julien.pierre.bugs%sun.com
parents:
6625
diff
changeset
|
430 |
newEncodedName = SECITEM_ArenaDupItem(reqArena, encodedName); |
917245bee72ea2a599545c8105ca8a230446a693
Fix for bug 178894 . Quick decoder updates for lib/certdb and lib/certhigh . r=nelson .
julien.pierre.bugs%sun.com
parents:
6625
diff
changeset
|
431 |
if (!newEncodedName) { |
917245bee72ea2a599545c8105ca8a230446a693
Fix for bug 178894 . Quick decoder updates for lib/certdb and lib/certhigh . r=nelson .
julien.pierre.bugs%sun.com
parents:
6625
diff
changeset
|
432 |
return NULL; |
917245bee72ea2a599545c8105ca8a230446a693
Fix for bug 178894 . Quick decoder updates for lib/certdb and lib/certhigh . r=nelson .
julien.pierre.bugs%sun.com
parents:
6625
diff
changeset
|
433 |
} |
4558
002bb0533bfb8b5932b831b22866f10eb4e9a216
The general name code uses arenas, which is good, but it never marks
nelsonb%netscape.com
parents:
4557
diff
changeset
|
434 |
/* TODO: mark arena */ |
7288
917245bee72ea2a599545c8105ca8a230446a693
Fix for bug 178894 . Quick decoder updates for lib/certdb and lib/certhigh . r=nelson .
julien.pierre.bugs%sun.com
parents:
6625
diff
changeset
|
435 |
genNameType = (CERTGeneralNameType)((*(newEncodedName->data) & 0x0f) + 1); |
206
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
436 |
if (genName == NULL) { |
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
437 |
genName = CERT_NewGeneralName(reqArena, genNameType); |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
438 |
if (!genName) |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
439 |
goto loser; |
11940
0e6e8153513e40154dc1907c2aff318b5342e73e
Bug 1251185, NSS clang-format: else line-break fixes, r=ttaubert
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11776
diff
changeset
|
440 |
} else { |
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
441 |
genName->type = genNameType; |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
442 |
genName->l.prev = genName->l.next = &genName->l; |
206
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
443 |
} |
7288
917245bee72ea2a599545c8105ca8a230446a693
Fix for bug 178894 . Quick decoder updates for lib/certdb and lib/certhigh . r=nelson .
julien.pierre.bugs%sun.com
parents:
6625
diff
changeset
|
444 |
|
206
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
445 |
switch (genNameType) { |
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
446 |
case certURI: |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
447 |
template = CERT_URITemplate; |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
448 |
break; |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
449 |
case certRFC822Name: |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
450 |
template = CERT_RFC822NameTemplate; |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
451 |
break; |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
452 |
case certDNSName: |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
453 |
template = CERT_DNSNameTemplate; |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
454 |
break; |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
455 |
case certIPAddress: |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
456 |
template = CERT_IPAddressTemplate; |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
457 |
break; |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
458 |
case certOtherName: |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
459 |
template = CERTOtherNameTemplate; |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
460 |
break; |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
461 |
case certRegisterID: |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
462 |
template = CERT_RegisteredIDTemplate; |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
463 |
break; |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
464 |
case certEDIPartyName: |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
465 |
template = CERT_EDIPartyNameTemplate; |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
466 |
break; |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
467 |
case certX400Address: |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
468 |
template = CERT_X400AddressTemplate; |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
469 |
break; |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
470 |
case certDirectoryName: |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
471 |
template = CERT_DirectoryNameTemplate; |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
472 |
break; |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
473 |
default: |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
474 |
goto loser; |
4560
dafe56a1367d2ae12333b2aed23383a730ff9da6
CERT_EncodeGeneralName and CERT_DecodeGeneralName contain large switch
nelsonb%netscape.com
parents:
4559
diff
changeset
|
475 |
} |
7288
917245bee72ea2a599545c8105ca8a230446a693
Fix for bug 178894 . Quick decoder updates for lib/certdb and lib/certhigh . r=nelson .
julien.pierre.bugs%sun.com
parents:
6625
diff
changeset
|
476 |
rv = SEC_QuickDERDecodeItem(reqArena, genName, template, newEncodedName); |
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
477 |
if (rv != SECSuccess) |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
478 |
goto loser; |
4560
dafe56a1367d2ae12333b2aed23383a730ff9da6
CERT_EncodeGeneralName and CERT_DecodeGeneralName contain large switch
nelsonb%netscape.com
parents:
4559
diff
changeset
|
479 |
if (genNameType == certDirectoryName) { |
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
480 |
rv = SEC_QuickDERDecodeItem(reqArena, &(genName->name.directoryName), |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
481 |
CERT_NameTemplate, |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
482 |
&(genName->derDirectoryName)); |
4560
dafe56a1367d2ae12333b2aed23383a730ff9da6
CERT_EncodeGeneralName and CERT_DecodeGeneralName contain large switch
nelsonb%netscape.com
parents:
4559
diff
changeset
|
483 |
if (rv != SECSuccess) |
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
484 |
goto loser; |
206
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
485 |
} |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
486 |
|
4558
002bb0533bfb8b5932b831b22866f10eb4e9a216
The general name code uses arenas, which is good, but it never marks
nelsonb%netscape.com
parents:
4557
diff
changeset
|
487 |
/* TODO: unmark arena */ |
206
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
488 |
return genName; |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
489 |
loser: |
4558
002bb0533bfb8b5932b831b22866f10eb4e9a216
The general name code uses arenas, which is good, but it never marks
nelsonb%netscape.com
parents:
4557
diff
changeset
|
490 |
/* TODO: release arena to mark */ |
206
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
491 |
return NULL; |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
492 |
} |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
493 |
|
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
494 |
CERTGeneralName * |
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
495 |
cert_DecodeGeneralNames(PLArenaPool *arena, SECItem **encodedGenName) |
206
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
496 |
{ |
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
497 |
PRCList *head = NULL; |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
498 |
PRCList *tail = NULL; |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
499 |
CERTGeneralName *currentName = NULL; |
206
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
500 |
|
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
501 |
PORT_Assert(arena); |
4558
002bb0533bfb8b5932b831b22866f10eb4e9a216
The general name code uses arenas, which is good, but it never marks
nelsonb%netscape.com
parents:
4557
diff
changeset
|
502 |
if (!encodedGenName || !arena) { |
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
503 |
PORT_SetError(SEC_ERROR_INVALID_ARGS); |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
504 |
return NULL; |
206
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
505 |
} |
4558
002bb0533bfb8b5932b831b22866f10eb4e9a216
The general name code uses arenas, which is good, but it never marks
nelsonb%netscape.com
parents:
4557
diff
changeset
|
506 |
/* TODO: mark arena */ |
206
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
507 |
while (*encodedGenName != NULL) { |
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
508 |
currentName = CERT_DecodeGeneralName(arena, *encodedGenName, NULL); |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
509 |
if (currentName == NULL) |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
510 |
break; |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
511 |
if (head == NULL) { |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
512 |
head = &(currentName->l); |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
513 |
tail = head; |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
514 |
} |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
515 |
currentName->l.next = head; |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
516 |
currentName->l.prev = tail; |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
517 |
tail = head->prev = tail->next = &(currentName->l); |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
518 |
encodedGenName++; |
206
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
519 |
} |
4508
14a4f4ad3b2bb7a2d435dd3096e770637e1bb4a4
Eliminate more NULL pointer dereferences. Bug 207740.
nelsonb%netscape.com
parents:
4490
diff
changeset
|
520 |
if (currentName) { |
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
521 |
/* TODO: unmark arena */ |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
522 |
return CERT_GetNextGeneralName(currentName); |
4508
14a4f4ad3b2bb7a2d435dd3096e770637e1bb4a4
Eliminate more NULL pointer dereferences. Bug 207740.
nelsonb%netscape.com
parents:
4490
diff
changeset
|
523 |
} |
4558
002bb0533bfb8b5932b831b22866f10eb4e9a216
The general name code uses arenas, which is good, but it never marks
nelsonb%netscape.com
parents:
4557
diff
changeset
|
524 |
/* TODO: release arena to mark */ |
206
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
525 |
return NULL; |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
526 |
} |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
527 |
|
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
528 |
void |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
529 |
CERT_DestroyGeneralName(CERTGeneralName *name) |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
530 |
{ |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
531 |
cert_DestroyGeneralNames(name); |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
532 |
} |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
533 |
|
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
534 |
SECStatus |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
535 |
cert_DestroyGeneralNames(CERTGeneralName *name) |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
536 |
{ |
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
537 |
CERTGeneralName *first; |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
538 |
CERTGeneralName *next = NULL; |
206
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
539 |
|
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
540 |
first = name; |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
541 |
do { |
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
542 |
next = CERT_GetNextGeneralName(name); |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
543 |
PORT_Free(name); |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
544 |
name = next; |
206
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
545 |
} while (name != first); |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
546 |
return SECSuccess; |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
547 |
} |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
548 |
|
4558
002bb0533bfb8b5932b831b22866f10eb4e9a216
The general name code uses arenas, which is good, but it never marks
nelsonb%netscape.com
parents:
4557
diff
changeset
|
549 |
static SECItem * |
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
550 |
cert_EncodeNameConstraint(CERTNameConstraint *constraint, SECItem *dest, |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
551 |
PLArenaPool *arena) |
206
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
552 |
{ |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
553 |
PORT_Assert(arena); |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
554 |
if (dest == NULL) { |
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
555 |
dest = PORT_ArenaZNew(arena, SECItem); |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
556 |
if (dest == NULL) { |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
557 |
return NULL; |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
558 |
} |
206
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
559 |
} |
4561
2110d7c84862e0c25da2e3386dd91ae6ba788562
Whitespace cleanup. This patch causes numerous lines that were wider
nelsonb%netscape.com
parents:
4560
diff
changeset
|
560 |
CERT_EncodeGeneralName(&(constraint->name), &(constraint->DERName), arena); |
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
561 |
|
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
562 |
dest = |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
563 |
SEC_ASN1EncodeItem(arena, dest, constraint, CERTNameConstraintTemplate); |
206
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
564 |
return dest; |
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
565 |
} |
206
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
566 |
|
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
567 |
SECStatus |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
568 |
cert_EncodeNameConstraintSubTree(CERTNameConstraint *constraints, |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
569 |
PLArenaPool *arena, SECItem ***dest, |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
570 |
PRBool permited) |
206
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
571 |
{ |
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
572 |
CERTNameConstraint *current_constraint = constraints; |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
573 |
SECItem **items = NULL; |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
574 |
int count = 0; |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
575 |
int i; |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
576 |
PRCList *head; |
206
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
577 |
|
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
578 |
PORT_Assert(arena); |
4558
002bb0533bfb8b5932b831b22866f10eb4e9a216
The general name code uses arenas, which is good, but it never marks
nelsonb%netscape.com
parents:
4557
diff
changeset
|
579 |
/* TODO: mark arena */ |
206
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
580 |
if (constraints != NULL) { |
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
581 |
count = 1; |
206
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
582 |
} |
4572
33b930a46b752479d44edb4f9fbc4d8629b124c7
This patch extracts rfc822 names from a cert's distinguished name at the
nelsonb%netscape.com
parents:
4561
diff
changeset
|
583 |
head = &constraints->l; |
206
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
584 |
while (current_constraint->l.next != head) { |
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
585 |
current_constraint = CERT_GetNextNameConstraint(current_constraint); |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
586 |
++count; |
206
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
587 |
} |
5047
07097a7fb9e0dd0733cdb210ba7943bc4f6e66fc
Export cert functions that decode extensions and traverse decoded
nelsonb%netscape.com
parents:
5021
diff
changeset
|
588 |
current_constraint = CERT_GetNextNameConstraint(current_constraint); |
4557
f860395e272947a29b22099f8e5f515b710e1de8
a) Add more missing null pointer tests that I discovered. Bug 208649.
nelsonb%netscape.com
parents:
4544
diff
changeset
|
589 |
items = PORT_ArenaZNewArray(arena, SECItem *, count + 1); |
206
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
590 |
if (items == NULL) { |
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
591 |
goto loser; |
206
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
592 |
} |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
593 |
for (i = 0; i < count; i++) { |
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
594 |
items[i] = cert_EncodeNameConstraint(current_constraint, |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
595 |
(SECItem *)NULL, arena); |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
596 |
if (items[i] == NULL) { |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
597 |
goto loser; |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
598 |
} |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
599 |
current_constraint = CERT_GetNextNameConstraint(current_constraint); |
206
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
600 |
} |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
601 |
*dest = items; |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
602 |
if (*dest == NULL) { |
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
603 |
goto loser; |
206
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
604 |
} |
4558
002bb0533bfb8b5932b831b22866f10eb4e9a216
The general name code uses arenas, which is good, but it never marks
nelsonb%netscape.com
parents:
4557
diff
changeset
|
605 |
/* TODO: unmark arena */ |
206
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
606 |
return SECSuccess; |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
607 |
loser: |
4558
002bb0533bfb8b5932b831b22866f10eb4e9a216
The general name code uses arenas, which is good, but it never marks
nelsonb%netscape.com
parents:
4557
diff
changeset
|
608 |
/* TODO: release arena to mark */ |
206
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
609 |
return SECFailure; |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
610 |
} |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
611 |
|
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
612 |
SECStatus |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
613 |
cert_EncodeNameConstraints(CERTNameConstraints *constraints, PLArenaPool *arena, |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
614 |
SECItem *dest) |
206
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
615 |
{ |
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
616 |
SECStatus rv = SECSuccess; |
206
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
617 |
|
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
618 |
PORT_Assert(arena); |
4558
002bb0533bfb8b5932b831b22866f10eb4e9a216
The general name code uses arenas, which is good, but it never marks
nelsonb%netscape.com
parents:
4557
diff
changeset
|
619 |
/* TODO: mark arena */ |
206
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
620 |
if (constraints->permited != NULL) { |
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
621 |
rv = cert_EncodeNameConstraintSubTree( |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
622 |
constraints->permited, arena, &constraints->DERPermited, PR_TRUE); |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
623 |
if (rv == SECFailure) { |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
624 |
goto loser; |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
625 |
} |
206
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
626 |
} |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
627 |
if (constraints->excluded != NULL) { |
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
628 |
rv = cert_EncodeNameConstraintSubTree( |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
629 |
constraints->excluded, arena, &constraints->DERExcluded, PR_FALSE); |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
630 |
if (rv == SECFailure) { |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
631 |
goto loser; |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
632 |
} |
206
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
633 |
} |
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
634 |
dest = SEC_ASN1EncodeItem(arena, dest, constraints, |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
635 |
CERTNameConstraintsTemplate); |
206
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
636 |
if (dest == NULL) { |
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
637 |
goto loser; |
206
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
638 |
} |
4558
002bb0533bfb8b5932b831b22866f10eb4e9a216
The general name code uses arenas, which is good, but it never marks
nelsonb%netscape.com
parents:
4557
diff
changeset
|
639 |
/* TODO: unmark arena */ |
206
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
640 |
return SECSuccess; |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
641 |
loser: |
4558
002bb0533bfb8b5932b831b22866f10eb4e9a216
The general name code uses arenas, which is good, but it never marks
nelsonb%netscape.com
parents:
4557
diff
changeset
|
642 |
/* TODO: release arena to mark */ |
206
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
643 |
return SECFailure; |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
644 |
} |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
645 |
|
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
646 |
CERTNameConstraint * |
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
647 |
cert_DecodeNameConstraint(PLArenaPool *reqArena, SECItem *encodedConstraint) |
206
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
648 |
{ |
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
649 |
CERTNameConstraint *constraint; |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
650 |
SECStatus rv = SECSuccess; |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
651 |
CERTGeneralName *temp; |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
652 |
SECItem *newEncodedConstraint; |
206
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
653 |
|
7288
917245bee72ea2a599545c8105ca8a230446a693
Fix for bug 178894 . Quick decoder updates for lib/certdb and lib/certhigh . r=nelson .
julien.pierre.bugs%sun.com
parents:
6625
diff
changeset
|
654 |
if (!reqArena) { |
917245bee72ea2a599545c8105ca8a230446a693
Fix for bug 178894 . Quick decoder updates for lib/certdb and lib/certhigh . r=nelson .
julien.pierre.bugs%sun.com
parents:
6625
diff
changeset
|
655 |
PORT_SetError(SEC_ERROR_INVALID_ARGS); |
917245bee72ea2a599545c8105ca8a230446a693
Fix for bug 178894 . Quick decoder updates for lib/certdb and lib/certhigh . r=nelson .
julien.pierre.bugs%sun.com
parents:
6625
diff
changeset
|
656 |
return NULL; |
917245bee72ea2a599545c8105ca8a230446a693
Fix for bug 178894 . Quick decoder updates for lib/certdb and lib/certhigh . r=nelson .
julien.pierre.bugs%sun.com
parents:
6625
diff
changeset
|
657 |
} |
917245bee72ea2a599545c8105ca8a230446a693
Fix for bug 178894 . Quick decoder updates for lib/certdb and lib/certhigh . r=nelson .
julien.pierre.bugs%sun.com
parents:
6625
diff
changeset
|
658 |
newEncodedConstraint = SECITEM_ArenaDupItem(reqArena, encodedConstraint); |
917245bee72ea2a599545c8105ca8a230446a693
Fix for bug 178894 . Quick decoder updates for lib/certdb and lib/certhigh . r=nelson .
julien.pierre.bugs%sun.com
parents:
6625
diff
changeset
|
659 |
if (!newEncodedConstraint) { |
917245bee72ea2a599545c8105ca8a230446a693
Fix for bug 178894 . Quick decoder updates for lib/certdb and lib/certhigh . r=nelson .
julien.pierre.bugs%sun.com
parents:
6625
diff
changeset
|
660 |
return NULL; |
917245bee72ea2a599545c8105ca8a230446a693
Fix for bug 178894 . Quick decoder updates for lib/certdb and lib/certhigh . r=nelson .
julien.pierre.bugs%sun.com
parents:
6625
diff
changeset
|
661 |
} |
4558
002bb0533bfb8b5932b831b22866f10eb4e9a216
The general name code uses arenas, which is good, but it never marks
nelsonb%netscape.com
parents:
4557
diff
changeset
|
662 |
/* TODO: mark arena */ |
7288
917245bee72ea2a599545c8105ca8a230446a693
Fix for bug 178894 . Quick decoder updates for lib/certdb and lib/certhigh . r=nelson .
julien.pierre.bugs%sun.com
parents:
6625
diff
changeset
|
663 |
constraint = PORT_ArenaZNew(reqArena, CERTNameConstraint); |
4544
760b5516878b3c470940fa663ed28c3cb1f41008
Fix numerous more potential NULL pointer deref crashes. Bug 208038
nelsonb%netscape.com
parents:
4536
diff
changeset
|
664 |
if (!constraint) |
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
665 |
goto loser; |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
666 |
rv = SEC_QuickDERDecodeItem( |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
667 |
reqArena, constraint, CERTNameConstraintTemplate, newEncodedConstraint); |
206
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
668 |
if (rv != SECSuccess) { |
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
669 |
goto loser; |
206
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
670 |
} |
7288
917245bee72ea2a599545c8105ca8a230446a693
Fix for bug 178894 . Quick decoder updates for lib/certdb and lib/certhigh . r=nelson .
julien.pierre.bugs%sun.com
parents:
6625
diff
changeset
|
671 |
temp = CERT_DecodeGeneralName(reqArena, &(constraint->DERName), |
917245bee72ea2a599545c8105ca8a230446a693
Fix for bug 178894 . Quick decoder updates for lib/certdb and lib/certhigh . r=nelson .
julien.pierre.bugs%sun.com
parents:
6625
diff
changeset
|
672 |
&(constraint->name)); |
206
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
673 |
if (temp != &(constraint->name)) { |
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
674 |
goto loser; |
206
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
675 |
} |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
676 |
|
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
677 |
/* ### sjlee: since the name constraint contains only one |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
678 |
* CERTGeneralName, the list within CERTGeneralName shouldn't |
206
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
679 |
* point anywhere else. Otherwise, bad things will happen. |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
680 |
*/ |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
681 |
constraint->name.l.prev = constraint->name.l.next = &(constraint->name.l); |
4558
002bb0533bfb8b5932b831b22866f10eb4e9a216
The general name code uses arenas, which is good, but it never marks
nelsonb%netscape.com
parents:
4557
diff
changeset
|
682 |
/* TODO: unmark arena */ |
206
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
683 |
return constraint; |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
684 |
loser: |
4558
002bb0533bfb8b5932b831b22866f10eb4e9a216
The general name code uses arenas, which is good, but it never marks
nelsonb%netscape.com
parents:
4557
diff
changeset
|
685 |
/* TODO: release arena back to mark */ |
206
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
686 |
return NULL; |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
687 |
} |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
688 |
|
11486
29f85320542b003bb8432e8daf2ad165074ed792
Bug 557830: Make cert_DecodeNameConstraintSubTree() produce a
Wim Lewis <wiml@hhhh.org>
parents:
11420
diff
changeset
|
689 |
static CERTNameConstraint * |
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
690 |
cert_DecodeNameConstraintSubTree(PLArenaPool *arena, SECItem **subTree, |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
691 |
PRBool permited) |
206
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
692 |
{ |
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
693 |
CERTNameConstraint *current = NULL; |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
694 |
CERTNameConstraint *first = NULL; |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
695 |
CERTNameConstraint *last = NULL; |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
696 |
int i = 0; |
206
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
697 |
|
4458
deac523f4325256aadb6dc1fc32141de39e565c0
Fix bugs experienced with oddly constructed general names.
nelsonb%netscape.com
parents:
3534
diff
changeset
|
698 |
PORT_Assert(arena); |
4558
002bb0533bfb8b5932b831b22866f10eb4e9a216
The general name code uses arenas, which is good, but it never marks
nelsonb%netscape.com
parents:
4557
diff
changeset
|
699 |
/* TODO: mark arena */ |
206
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
700 |
while (subTree[i] != NULL) { |
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
701 |
current = cert_DecodeNameConstraint(arena, subTree[i]); |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
702 |
if (current == NULL) { |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
703 |
goto loser; |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
704 |
} |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
705 |
if (first == NULL) { |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
706 |
first = current; |
11940
0e6e8153513e40154dc1907c2aff318b5342e73e
Bug 1251185, NSS clang-format: else line-break fixes, r=ttaubert
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11776
diff
changeset
|
707 |
} else { |
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
708 |
current->l.prev = &(last->l); |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
709 |
last->l.next = &(current->l); |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
710 |
} |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
711 |
last = current; |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
712 |
i++; |
206
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
713 |
} |
12742
921b5dee8fdb0a153c494faa3f561f5d80db8b17
Bug 1208405 - coverity and infer fixes, r=ttaubert
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
12734
diff
changeset
|
714 |
if (first && last) { |
921b5dee8fdb0a153c494faa3f561f5d80db8b17
Bug 1208405 - coverity and infer fixes, r=ttaubert
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
12734
diff
changeset
|
715 |
first->l.prev = &(last->l); |
921b5dee8fdb0a153c494faa3f561f5d80db8b17
Bug 1208405 - coverity and infer fixes, r=ttaubert
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
12734
diff
changeset
|
716 |
last->l.next = &(first->l); |
921b5dee8fdb0a153c494faa3f561f5d80db8b17
Bug 1208405 - coverity and infer fixes, r=ttaubert
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
12734
diff
changeset
|
717 |
} |
4558
002bb0533bfb8b5932b831b22866f10eb4e9a216
The general name code uses arenas, which is good, but it never marks
nelsonb%netscape.com
parents:
4557
diff
changeset
|
718 |
/* TODO: unmark arena */ |
206
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
719 |
return first; |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
720 |
loser: |
4558
002bb0533bfb8b5932b831b22866f10eb4e9a216
The general name code uses arenas, which is good, but it never marks
nelsonb%netscape.com
parents:
4557
diff
changeset
|
721 |
/* TODO: release arena back to mark */ |
206
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
722 |
return NULL; |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
723 |
} |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
724 |
|
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
725 |
CERTNameConstraints * |
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
726 |
cert_DecodeNameConstraints(PLArenaPool *reqArena, |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
727 |
const SECItem *encodedConstraints) |
206
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
728 |
{ |
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
729 |
CERTNameConstraints *constraints; |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
730 |
SECStatus rv; |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
731 |
SECItem *newEncodedConstraints; |
206
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
732 |
|
7288
917245bee72ea2a599545c8105ca8a230446a693
Fix for bug 178894 . Quick decoder updates for lib/certdb and lib/certhigh . r=nelson .
julien.pierre.bugs%sun.com
parents:
6625
diff
changeset
|
733 |
if (!reqArena) { |
917245bee72ea2a599545c8105ca8a230446a693
Fix for bug 178894 . Quick decoder updates for lib/certdb and lib/certhigh . r=nelson .
julien.pierre.bugs%sun.com
parents:
6625
diff
changeset
|
734 |
PORT_SetError(SEC_ERROR_INVALID_ARGS); |
917245bee72ea2a599545c8105ca8a230446a693
Fix for bug 178894 . Quick decoder updates for lib/certdb and lib/certhigh . r=nelson .
julien.pierre.bugs%sun.com
parents:
6625
diff
changeset
|
735 |
return NULL; |
917245bee72ea2a599545c8105ca8a230446a693
Fix for bug 178894 . Quick decoder updates for lib/certdb and lib/certhigh . r=nelson .
julien.pierre.bugs%sun.com
parents:
6625
diff
changeset
|
736 |
} |
206
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
737 |
PORT_Assert(encodedConstraints); |
7288
917245bee72ea2a599545c8105ca8a230446a693
Fix for bug 178894 . Quick decoder updates for lib/certdb and lib/certhigh . r=nelson .
julien.pierre.bugs%sun.com
parents:
6625
diff
changeset
|
738 |
newEncodedConstraints = SECITEM_ArenaDupItem(reqArena, encodedConstraints); |
917245bee72ea2a599545c8105ca8a230446a693
Fix for bug 178894 . Quick decoder updates for lib/certdb and lib/certhigh . r=nelson .
julien.pierre.bugs%sun.com
parents:
6625
diff
changeset
|
739 |
|
4558
002bb0533bfb8b5932b831b22866f10eb4e9a216
The general name code uses arenas, which is good, but it never marks
nelsonb%netscape.com
parents:
4557
diff
changeset
|
740 |
/* TODO: mark arena */ |
7288
917245bee72ea2a599545c8105ca8a230446a693
Fix for bug 178894 . Quick decoder updates for lib/certdb and lib/certhigh . r=nelson .
julien.pierre.bugs%sun.com
parents:
6625
diff
changeset
|
741 |
constraints = PORT_ArenaZNew(reqArena, CERTNameConstraints); |
206
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
742 |
if (constraints == NULL) { |
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
743 |
goto loser; |
206
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
744 |
} |
7288
917245bee72ea2a599545c8105ca8a230446a693
Fix for bug 178894 . Quick decoder updates for lib/certdb and lib/certhigh . r=nelson .
julien.pierre.bugs%sun.com
parents:
6625
diff
changeset
|
745 |
rv = SEC_QuickDERDecodeItem(reqArena, constraints, |
917245bee72ea2a599545c8105ca8a230446a693
Fix for bug 178894 . Quick decoder updates for lib/certdb and lib/certhigh . r=nelson .
julien.pierre.bugs%sun.com
parents:
6625
diff
changeset
|
746 |
CERTNameConstraintsTemplate, |
917245bee72ea2a599545c8105ca8a230446a693
Fix for bug 178894 . Quick decoder updates for lib/certdb and lib/certhigh . r=nelson .
julien.pierre.bugs%sun.com
parents:
6625
diff
changeset
|
747 |
newEncodedConstraints); |
206
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
748 |
if (rv != SECSuccess) { |
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
749 |
goto loser; |
206
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
750 |
} |
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
751 |
if (constraints->DERPermited != NULL && |
4561
2110d7c84862e0c25da2e3386dd91ae6ba788562
Whitespace cleanup. This patch causes numerous lines that were wider
nelsonb%netscape.com
parents:
4560
diff
changeset
|
752 |
constraints->DERPermited[0] != NULL) { |
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
753 |
constraints->permited = cert_DecodeNameConstraintSubTree( |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
754 |
reqArena, constraints->DERPermited, PR_TRUE); |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
755 |
if (constraints->permited == NULL) { |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
756 |
goto loser; |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
757 |
} |
206
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
758 |
} |
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
759 |
if (constraints->DERExcluded != NULL && |
4561
2110d7c84862e0c25da2e3386dd91ae6ba788562
Whitespace cleanup. This patch causes numerous lines that were wider
nelsonb%netscape.com
parents:
4560
diff
changeset
|
760 |
constraints->DERExcluded[0] != NULL) { |
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
761 |
constraints->excluded = cert_DecodeNameConstraintSubTree( |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
762 |
reqArena, constraints->DERExcluded, PR_FALSE); |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
763 |
if (constraints->excluded == NULL) { |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
764 |
goto loser; |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
765 |
} |
206
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
766 |
} |
4558
002bb0533bfb8b5932b831b22866f10eb4e9a216
The general name code uses arenas, which is good, but it never marks
nelsonb%netscape.com
parents:
4557
diff
changeset
|
767 |
/* TODO: unmark arena */ |
206
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
768 |
return constraints; |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
769 |
loser: |
4558
002bb0533bfb8b5932b831b22866f10eb4e9a216
The general name code uses arenas, which is good, but it never marks
nelsonb%netscape.com
parents:
4557
diff
changeset
|
770 |
/* TODO: release arena back to mark */ |
206
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
771 |
return NULL; |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
772 |
} |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
773 |
|
4572
33b930a46b752479d44edb4f9fbc4d8629b124c7
This patch extracts rfc822 names from a cert's distinguished name at the
nelsonb%netscape.com
parents:
4561
diff
changeset
|
774 |
/* Copy a chain of one or more general names to a destination chain. |
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
775 |
** Caller has allocated at least the first destination GeneralName struct. |
4572
33b930a46b752479d44edb4f9fbc4d8629b124c7
This patch extracts rfc822 names from a cert's distinguished name at the
nelsonb%netscape.com
parents:
4561
diff
changeset
|
776 |
** Both source and destination chains are circular doubly-linked lists. |
33b930a46b752479d44edb4f9fbc4d8629b124c7
This patch extracts rfc822 names from a cert's distinguished name at the
nelsonb%netscape.com
parents:
4561
diff
changeset
|
777 |
** The first source struct is copied to the first destination struct. |
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
778 |
** If the source chain has more than one member, and the destination chain |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
779 |
** has only one member, then this function allocates new structs for all but |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
780 |
** the first copy from the arena and links them into the destination list. |
4572
33b930a46b752479d44edb4f9fbc4d8629b124c7
This patch extracts rfc822 names from a cert's distinguished name at the
nelsonb%netscape.com
parents:
4561
diff
changeset
|
781 |
** If the destination struct is part of a list with more than one member, |
33b930a46b752479d44edb4f9fbc4d8629b124c7
This patch extracts rfc822 names from a cert's distinguished name at the
nelsonb%netscape.com
parents:
4561
diff
changeset
|
782 |
** then this function traverses both the source and destination lists, |
33b930a46b752479d44edb4f9fbc4d8629b124c7
This patch extracts rfc822 names from a cert's distinguished name at the
nelsonb%netscape.com
parents:
4561
diff
changeset
|
783 |
** copying each source struct to the corresponding dest struct. |
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
784 |
** In that case, the destination list MUST contain at least as many |
4572
33b930a46b752479d44edb4f9fbc4d8629b124c7
This patch extracts rfc822 names from a cert's distinguished name at the
nelsonb%netscape.com
parents:
4561
diff
changeset
|
785 |
** structs as the source list or some dest entries will be overwritten. |
33b930a46b752479d44edb4f9fbc4d8629b124c7
This patch extracts rfc822 names from a cert's distinguished name at the
nelsonb%netscape.com
parents:
4561
diff
changeset
|
786 |
*/ |
206
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
787 |
SECStatus |
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
788 |
CERT_CopyGeneralName(PLArenaPool *arena, CERTGeneralName *dest, |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
789 |
CERTGeneralName *src) |
206
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
790 |
{ |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
791 |
SECStatus rv; |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
792 |
CERTGeneralName *destHead = dest; |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
793 |
CERTGeneralName *srcHead = src; |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
794 |
|
4572
33b930a46b752479d44edb4f9fbc4d8629b124c7
This patch extracts rfc822 names from a cert's distinguished name at the
nelsonb%netscape.com
parents:
4561
diff
changeset
|
795 |
PORT_Assert(dest != NULL); |
33b930a46b752479d44edb4f9fbc4d8629b124c7
This patch extracts rfc822 names from a cert's distinguished name at the
nelsonb%netscape.com
parents:
4561
diff
changeset
|
796 |
if (!dest) { |
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
797 |
PORT_SetError(SEC_ERROR_INVALID_ARGS); |
4572
33b930a46b752479d44edb4f9fbc4d8629b124c7
This patch extracts rfc822 names from a cert's distinguished name at the
nelsonb%netscape.com
parents:
4561
diff
changeset
|
798 |
return SECFailure; |
33b930a46b752479d44edb4f9fbc4d8629b124c7
This patch extracts rfc822 names from a cert's distinguished name at the
nelsonb%netscape.com
parents:
4561
diff
changeset
|
799 |
} |
4558
002bb0533bfb8b5932b831b22866f10eb4e9a216
The general name code uses arenas, which is good, but it never marks
nelsonb%netscape.com
parents:
4557
diff
changeset
|
800 |
/* TODO: mark arena */ |
206
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
801 |
do { |
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
802 |
rv = cert_CopyOneGeneralName(arena, dest, src); |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
803 |
if (rv != SECSuccess) |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
804 |
goto loser; |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
805 |
src = CERT_GetNextGeneralName(src); |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
806 |
/* if there is only one general name, we shouldn't do this */ |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
807 |
if (src != srcHead) { |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
808 |
if (dest->l.next == &destHead->l) { |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
809 |
CERTGeneralName *temp; |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
810 |
temp = CERT_NewGeneralName(arena, (CERTGeneralNameType)0); |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
811 |
if (!temp) |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
812 |
goto loser; |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
813 |
temp->l.next = &destHead->l; |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
814 |
temp->l.prev = &dest->l; |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
815 |
destHead->l.prev = &temp->l; |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
816 |
dest->l.next = &temp->l; |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
817 |
dest = temp; |
11940
0e6e8153513e40154dc1907c2aff318b5342e73e
Bug 1251185, NSS clang-format: else line-break fixes, r=ttaubert
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11776
diff
changeset
|
818 |
} else { |
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
819 |
dest = CERT_GetNextGeneralName(dest); |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
820 |
} |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
821 |
} |
206
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
822 |
} while (src != srcHead && rv == SECSuccess); |
4558
002bb0533bfb8b5932b831b22866f10eb4e9a216
The general name code uses arenas, which is good, but it never marks
nelsonb%netscape.com
parents:
4557
diff
changeset
|
823 |
/* TODO: unmark arena */ |
206
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
824 |
return rv; |
4558
002bb0533bfb8b5932b831b22866f10eb4e9a216
The general name code uses arenas, which is good, but it never marks
nelsonb%netscape.com
parents:
4557
diff
changeset
|
825 |
loser: |
002bb0533bfb8b5932b831b22866f10eb4e9a216
The general name code uses arenas, which is good, but it never marks
nelsonb%netscape.com
parents:
4557
diff
changeset
|
826 |
/* TODO: release back to mark */ |
002bb0533bfb8b5932b831b22866f10eb4e9a216
The general name code uses arenas, which is good, but it never marks
nelsonb%netscape.com
parents:
4557
diff
changeset
|
827 |
return SECFailure; |
206
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
828 |
} |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
829 |
|
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
830 |
CERTGeneralNameList * |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
831 |
CERT_DupGeneralNameList(CERTGeneralNameList *list) |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
832 |
{ |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
833 |
if (list != NULL) { |
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
834 |
PZ_Lock(list->lock); |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
835 |
list->refCount++; |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
836 |
PZ_Unlock(list->lock); |
206
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
837 |
} |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
838 |
return list; |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
839 |
} |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
840 |
|
7829
03f4f61e700a94409cd538c76259557d4d58b0c2
Bug 358785: Merge NSS_LIBPKIX_BRANCH back to trunk. r=julien, r=alexei
alexei.volkov.bugs%sun.com
parents:
7288
diff
changeset
|
841 |
/* Allocate space and copy CERTNameConstraint from src to dest */ |
206
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
842 |
CERTNameConstraint * |
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
843 |
CERT_CopyNameConstraint(PLArenaPool *arena, CERTNameConstraint *dest, |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
844 |
CERTNameConstraint *src) |
206
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
845 |
{ |
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
846 |
SECStatus rv; |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
847 |
|
4558
002bb0533bfb8b5932b831b22866f10eb4e9a216
The general name code uses arenas, which is good, but it never marks
nelsonb%netscape.com
parents:
4557
diff
changeset
|
848 |
/* TODO: mark arena */ |
206
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
849 |
if (dest == NULL) { |
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
850 |
dest = PORT_ArenaZNew(arena, CERTNameConstraint); |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
851 |
if (!dest) |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
852 |
goto loser; |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
853 |
/* mark that it is not linked */ |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
854 |
dest->name.l.prev = dest->name.l.next = &(dest->name.l); |
206
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
855 |
} |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
856 |
rv = CERT_CopyGeneralName(arena, &dest->name, &src->name); |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
857 |
if (rv != SECSuccess) { |
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
858 |
goto loser; |
206
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
859 |
} |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
860 |
rv = SECITEM_CopyItem(arena, &dest->DERName, &src->DERName); |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
861 |
if (rv != SECSuccess) { |
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
862 |
goto loser; |
206
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
863 |
} |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
864 |
rv = SECITEM_CopyItem(arena, &dest->min, &src->min); |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
865 |
if (rv != SECSuccess) { |
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
866 |
goto loser; |
206
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
867 |
} |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
868 |
rv = SECITEM_CopyItem(arena, &dest->max, &src->max); |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
869 |
if (rv != SECSuccess) { |
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
870 |
goto loser; |
206
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
871 |
} |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
872 |
dest->l.prev = dest->l.next = &dest->l; |
4558
002bb0533bfb8b5932b831b22866f10eb4e9a216
The general name code uses arenas, which is good, but it never marks
nelsonb%netscape.com
parents:
4557
diff
changeset
|
873 |
/* TODO: unmark arena */ |
206
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
874 |
return dest; |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
875 |
loser: |
4558
002bb0533bfb8b5932b831b22866f10eb4e9a216
The general name code uses arenas, which is good, but it never marks
nelsonb%netscape.com
parents:
4557
diff
changeset
|
876 |
/* TODO: release arena to mark */ |
206
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
877 |
return NULL; |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
878 |
} |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
879 |
|
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
880 |
CERTGeneralName * |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
881 |
cert_CombineNamesLists(CERTGeneralName *list1, CERTGeneralName *list2) |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
882 |
{ |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
883 |
PRCList *begin1; |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
884 |
PRCList *begin2; |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
885 |
PRCList *end1; |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
886 |
PRCList *end2; |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
887 |
|
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
888 |
if (list1 == NULL) { |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
889 |
return list2; |
11940
0e6e8153513e40154dc1907c2aff318b5342e73e
Bug 1251185, NSS clang-format: else line-break fixes, r=ttaubert
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11776
diff
changeset
|
890 |
} else if (list2 == NULL) { |
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
891 |
return list1; |
11940
0e6e8153513e40154dc1907c2aff318b5342e73e
Bug 1251185, NSS clang-format: else line-break fixes, r=ttaubert
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11776
diff
changeset
|
892 |
} else { |
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
893 |
begin1 = &list1->l; |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
894 |
begin2 = &list2->l; |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
895 |
end1 = list1->l.prev; |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
896 |
end2 = list2->l.prev; |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
897 |
end1->next = begin2; |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
898 |
end2->next = begin1; |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
899 |
begin1->prev = end2; |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
900 |
begin2->prev = end1; |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
901 |
return list1; |
206
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
902 |
} |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
903 |
} |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
904 |
|
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
905 |
CERTNameConstraint * |
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
906 |
cert_CombineConstraintsLists(CERTNameConstraint *list1, |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
907 |
CERTNameConstraint *list2) |
206
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
908 |
{ |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
909 |
PRCList *begin1; |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
910 |
PRCList *begin2; |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
911 |
PRCList *end1; |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
912 |
PRCList *end2; |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
913 |
|
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
914 |
if (list1 == NULL) { |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
915 |
return list2; |
11940
0e6e8153513e40154dc1907c2aff318b5342e73e
Bug 1251185, NSS clang-format: else line-break fixes, r=ttaubert
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11776
diff
changeset
|
916 |
} else if (list2 == NULL) { |
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
917 |
return list1; |
11940
0e6e8153513e40154dc1907c2aff318b5342e73e
Bug 1251185, NSS clang-format: else line-break fixes, r=ttaubert
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11776
diff
changeset
|
918 |
} else { |
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
919 |
begin1 = &list1->l; |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
920 |
begin2 = &list2->l; |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
921 |
end1 = list1->l.prev; |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
922 |
end2 = list2->l.prev; |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
923 |
end1->next = begin2; |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
924 |
end2->next = begin1; |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
925 |
begin1->prev = end2; |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
926 |
begin2->prev = end1; |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
927 |
return list1; |
206
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
928 |
} |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
929 |
} |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
930 |
|
7829
03f4f61e700a94409cd538c76259557d4d58b0c2
Bug 358785: Merge NSS_LIBPKIX_BRANCH back to trunk. r=julien, r=alexei
alexei.volkov.bugs%sun.com
parents:
7288
diff
changeset
|
931 |
/* Add a CERTNameConstraint to the CERTNameConstraint list */ |
206
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
932 |
CERTNameConstraint * |
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
933 |
CERT_AddNameConstraint(CERTNameConstraint *list, CERTNameConstraint *constraint) |
206
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
934 |
{ |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
935 |
PORT_Assert(constraint != NULL); |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
936 |
constraint->l.next = constraint->l.prev = &constraint->l; |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
937 |
list = cert_CombineConstraintsLists(list, constraint); |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
938 |
return list; |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
939 |
} |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
940 |
|
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
941 |
SECStatus |
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
942 |
CERT_GetNameConstraintByType(CERTNameConstraint *constraints, |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
943 |
CERTGeneralNameType type, |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
944 |
CERTNameConstraint **returnList, |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
945 |
PLArenaPool *arena) |
206
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
946 |
{ |
7829
03f4f61e700a94409cd538c76259557d4d58b0c2
Bug 358785: Merge NSS_LIBPKIX_BRANCH back to trunk. r=julien, r=alexei
alexei.volkov.bugs%sun.com
parents:
7288
diff
changeset
|
947 |
CERTNameConstraint *current = NULL; |
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
948 |
void *mark = NULL; |
7829
03f4f61e700a94409cd538c76259557d4d58b0c2
Bug 358785: Merge NSS_LIBPKIX_BRANCH back to trunk. r=julien, r=alexei
alexei.volkov.bugs%sun.com
parents:
7288
diff
changeset
|
949 |
|
206
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
950 |
*returnList = NULL; |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
951 |
if (!constraints) |
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
952 |
return SECSuccess; |
7829
03f4f61e700a94409cd538c76259557d4d58b0c2
Bug 358785: Merge NSS_LIBPKIX_BRANCH back to trunk. r=julien, r=alexei
alexei.volkov.bugs%sun.com
parents:
7288
diff
changeset
|
953 |
|
03f4f61e700a94409cd538c76259557d4d58b0c2
Bug 358785: Merge NSS_LIBPKIX_BRANCH back to trunk. r=julien, r=alexei
alexei.volkov.bugs%sun.com
parents:
7288
diff
changeset
|
954 |
mark = PORT_ArenaMark(arena); |
03f4f61e700a94409cd538c76259557d4d58b0c2
Bug 358785: Merge NSS_LIBPKIX_BRANCH back to trunk. r=julien, r=alexei
alexei.volkov.bugs%sun.com
parents:
7288
diff
changeset
|
955 |
|
206
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
956 |
current = constraints; |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
957 |
do { |
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
958 |
PORT_Assert(current->name.type); |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
959 |
if (current->name.type == type) { |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
960 |
CERTNameConstraint *temp; |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
961 |
temp = CERT_CopyNameConstraint(arena, NULL, current); |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
962 |
if (temp == NULL) |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
963 |
goto loser; |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
964 |
*returnList = CERT_AddNameConstraint(*returnList, temp); |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
965 |
} |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
966 |
current = CERT_GetNextNameConstraint(current); |
206
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
967 |
} while (current != constraints); |
7829
03f4f61e700a94409cd538c76259557d4d58b0c2
Bug 358785: Merge NSS_LIBPKIX_BRANCH back to trunk. r=julien, r=alexei
alexei.volkov.bugs%sun.com
parents:
7288
diff
changeset
|
968 |
PORT_ArenaUnmark(arena, mark); |
206
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
969 |
return SECSuccess; |
7829
03f4f61e700a94409cd538c76259557d4d58b0c2
Bug 358785: Merge NSS_LIBPKIX_BRANCH back to trunk. r=julien, r=alexei
alexei.volkov.bugs%sun.com
parents:
7288
diff
changeset
|
970 |
|
206
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
971 |
loser: |
7829
03f4f61e700a94409cd538c76259557d4d58b0c2
Bug 358785: Merge NSS_LIBPKIX_BRANCH back to trunk. r=julien, r=alexei
alexei.volkov.bugs%sun.com
parents:
7288
diff
changeset
|
972 |
PORT_ArenaRelease(arena, mark); |
206
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
973 |
return SECFailure; |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
974 |
} |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
975 |
|
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
976 |
void * |
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
977 |
CERT_GetGeneralNameByType(CERTGeneralName *genNames, CERTGeneralNameType type, |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
978 |
PRBool derFormat) |
206
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
979 |
{ |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
980 |
CERTGeneralName *current; |
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
981 |
|
206
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
982 |
if (!genNames) |
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
983 |
return NULL; |
206
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
984 |
current = genNames; |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
985 |
|
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
986 |
do { |
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
987 |
if (current->type == type) { |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
988 |
switch (type) { |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
989 |
case certDNSName: |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
990 |
case certEDIPartyName: |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
991 |
case certIPAddress: |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
992 |
case certRegisterID: |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
993 |
case certRFC822Name: |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
994 |
case certX400Address: |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
995 |
case certURI: |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
996 |
return (void *)¤t->name.other; /* SECItem * */ |
4559
54d4cb7b8d03e226e7629dc7fccd4ac8c2f97c8b
Cleanup CERT_GetGeneralNameByType so that it detects when it has
nelsonb%netscape.com
parents:
4558
diff
changeset
|
997 |
|
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
998 |
case certOtherName: |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
999 |
return (void *)¤t->name.OthName; /* OthName * */ |
4559
54d4cb7b8d03e226e7629dc7fccd4ac8c2f97c8b
Cleanup CERT_GetGeneralNameByType so that it detects when it has
nelsonb%netscape.com
parents:
4558
diff
changeset
|
1000 |
|
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1001 |
case certDirectoryName: |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1002 |
return derFormat |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1003 |
? (void *)¤t |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1004 |
->derDirectoryName /* SECItem * */ |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1005 |
: (void *)¤t->name |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1006 |
.directoryName; /* CERTName * */ |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1007 |
} |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1008 |
PORT_Assert(0); |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1009 |
return NULL; |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1010 |
} |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1011 |
current = CERT_GetNextGeneralName(current); |
206
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
1012 |
} while (current != genNames); |
4559
54d4cb7b8d03e226e7629dc7fccd4ac8c2f97c8b
Cleanup CERT_GetGeneralNameByType so that it detects when it has
nelsonb%netscape.com
parents:
4558
diff
changeset
|
1013 |
return NULL; |
206
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
1014 |
} |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
1015 |
|
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
1016 |
int |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
1017 |
CERT_GetNamesLength(CERTGeneralName *names) |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
1018 |
{ |
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1019 |
int length = 0; |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1020 |
CERTGeneralName *first; |
206
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
1021 |
|
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
1022 |
first = names; |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
1023 |
if (names != NULL) { |
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1024 |
do { |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1025 |
length++; |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1026 |
names = CERT_GetNextGeneralName(names); |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1027 |
} while (names != first); |
206
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
1028 |
} |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
1029 |
return length; |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
1030 |
} |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
1031 |
|
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1032 |
/* Creates new GeneralNames for any email addresses found in the |
4572
33b930a46b752479d44edb4f9fbc4d8629b124c7
This patch extracts rfc822 names from a cert's distinguished name at the
nelsonb%netscape.com
parents:
4561
diff
changeset
|
1033 |
** input DN, and links them onto the list for the DN. |
33b930a46b752479d44edb4f9fbc4d8629b124c7
This patch extracts rfc822 names from a cert's distinguished name at the
nelsonb%netscape.com
parents:
4561
diff
changeset
|
1034 |
*/ |
33b930a46b752479d44edb4f9fbc4d8629b124c7
This patch extracts rfc822 names from a cert's distinguished name at the
nelsonb%netscape.com
parents:
4561
diff
changeset
|
1035 |
SECStatus |
33b930a46b752479d44edb4f9fbc4d8629b124c7
This patch extracts rfc822 names from a cert's distinguished name at the
nelsonb%netscape.com
parents:
4561
diff
changeset
|
1036 |
cert_ExtractDNEmailAddrs(CERTGeneralName *name, PLArenaPool *arena) |
33b930a46b752479d44edb4f9fbc4d8629b124c7
This patch extracts rfc822 names from a cert's distinguished name at the
nelsonb%netscape.com
parents:
4561
diff
changeset
|
1037 |
{ |
6625
d16b29aac08af20657f70159a69520d59b6d6a9c
Bug 326315. Warning Reduction. On TRUNK only. r=Julien.Pierre
nelson%bolyard.com
parents:
5740
diff
changeset
|
1038 |
CERTGeneralName *nameList = NULL; |
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1039 |
const CERTRDN **nRDNs = (const CERTRDN **)(name->name.directoryName.rdns); |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1040 |
SECStatus rv = SECSuccess; |
4572
33b930a46b752479d44edb4f9fbc4d8629b124c7
This patch extracts rfc822 names from a cert's distinguished name at the
nelsonb%netscape.com
parents:
4561
diff
changeset
|
1041 |
|
33b930a46b752479d44edb4f9fbc4d8629b124c7
This patch extracts rfc822 names from a cert's distinguished name at the
nelsonb%netscape.com
parents:
4561
diff
changeset
|
1042 |
PORT_Assert(name->type == certDirectoryName); |
33b930a46b752479d44edb4f9fbc4d8629b124c7
This patch extracts rfc822 names from a cert's distinguished name at the
nelsonb%netscape.com
parents:
4561
diff
changeset
|
1043 |
if (name->type != certDirectoryName) { |
33b930a46b752479d44edb4f9fbc4d8629b124c7
This patch extracts rfc822 names from a cert's distinguished name at the
nelsonb%netscape.com
parents:
4561
diff
changeset
|
1044 |
PORT_SetError(SEC_ERROR_INVALID_ARGS); |
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1045 |
return SECFailure; |
4572
33b930a46b752479d44edb4f9fbc4d8629b124c7
This patch extracts rfc822 names from a cert's distinguished name at the
nelsonb%netscape.com
parents:
4561
diff
changeset
|
1046 |
} |
33b930a46b752479d44edb4f9fbc4d8629b124c7
This patch extracts rfc822 names from a cert's distinguished name at the
nelsonb%netscape.com
parents:
4561
diff
changeset
|
1047 |
/* TODO: mark arena */ |
33b930a46b752479d44edb4f9fbc4d8629b124c7
This patch extracts rfc822 names from a cert's distinguished name at the
nelsonb%netscape.com
parents:
4561
diff
changeset
|
1048 |
while (nRDNs && *nRDNs) { /* loop over RDNs */ |
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1049 |
const CERTRDN *nRDN = *nRDNs++; |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1050 |
CERTAVA **nAVAs = nRDN->avas; |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1051 |
while (nAVAs && *nAVAs) { /* loop over AVAs */ |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1052 |
int tag; |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1053 |
CERTAVA *nAVA = *nAVAs++; |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1054 |
tag = CERT_GetAVATag(nAVA); |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1055 |
if (tag == SEC_OID_PKCS9_EMAIL_ADDRESS || |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1056 |
tag == SEC_OID_RFC1274_MAIL) { /* email AVA */ |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1057 |
CERTGeneralName *newName = NULL; |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1058 |
SECItem *avaValue = CERT_DecodeAVAValue(&nAVA->value); |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1059 |
if (!avaValue) |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1060 |
goto loser; |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1061 |
rv = SECFailure; |
7829
03f4f61e700a94409cd538c76259557d4d58b0c2
Bug 358785: Merge NSS_LIBPKIX_BRANCH back to trunk. r=julien, r=alexei
alexei.volkov.bugs%sun.com
parents:
7288
diff
changeset
|
1062 |
newName = CERT_NewGeneralName(arena, certRFC822Name); |
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1063 |
if (newName) { |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1064 |
rv = |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1065 |
SECITEM_CopyItem(arena, &newName->name.other, avaValue); |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1066 |
} |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1067 |
SECITEM_FreeItem(avaValue, PR_TRUE); |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1068 |
if (rv != SECSuccess) |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1069 |
goto loser; |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1070 |
nameList = cert_CombineNamesLists(nameList, newName); |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1071 |
} /* handle one email AVA */ |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1072 |
} /* loop over AVAs */ |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1073 |
} /* loop over RDNs */ |
4572
33b930a46b752479d44edb4f9fbc4d8629b124c7
This patch extracts rfc822 names from a cert's distinguished name at the
nelsonb%netscape.com
parents:
4561
diff
changeset
|
1074 |
/* combine new names with old one. */ |
12734
25bbb8bdd46086979558331d5030adeab4d4129e
Bug 1277228 - some scan-build fixes to enable it on base/certdb/certhigh, r=ttaubert
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
12490
diff
changeset
|
1075 |
(void)cert_CombineNamesLists(name, nameList); |
4572
33b930a46b752479d44edb4f9fbc4d8629b124c7
This patch extracts rfc822 names from a cert's distinguished name at the
nelsonb%netscape.com
parents:
4561
diff
changeset
|
1076 |
/* TODO: unmark arena */ |
33b930a46b752479d44edb4f9fbc4d8629b124c7
This patch extracts rfc822 names from a cert's distinguished name at the
nelsonb%netscape.com
parents:
4561
diff
changeset
|
1077 |
return SECSuccess; |
33b930a46b752479d44edb4f9fbc4d8629b124c7
This patch extracts rfc822 names from a cert's distinguished name at the
nelsonb%netscape.com
parents:
4561
diff
changeset
|
1078 |
|
33b930a46b752479d44edb4f9fbc4d8629b124c7
This patch extracts rfc822 names from a cert's distinguished name at the
nelsonb%netscape.com
parents:
4561
diff
changeset
|
1079 |
loser: |
33b930a46b752479d44edb4f9fbc4d8629b124c7
This patch extracts rfc822 names from a cert's distinguished name at the
nelsonb%netscape.com
parents:
4561
diff
changeset
|
1080 |
/* TODO: release arena back to mark */ |
33b930a46b752479d44edb4f9fbc4d8629b124c7
This patch extracts rfc822 names from a cert's distinguished name at the
nelsonb%netscape.com
parents:
4561
diff
changeset
|
1081 |
return SECFailure; |
33b930a46b752479d44edb4f9fbc4d8629b124c7
This patch extracts rfc822 names from a cert's distinguished name at the
nelsonb%netscape.com
parents:
4561
diff
changeset
|
1082 |
} |
33b930a46b752479d44edb4f9fbc4d8629b124c7
This patch extracts rfc822 names from a cert's distinguished name at the
nelsonb%netscape.com
parents:
4561
diff
changeset
|
1083 |
|
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1084 |
/* Extract all names except Subject Common Name from a cert |
9647
109429a93218ac5f06fa59d323ba415a09f55a67
Bug 394919 - dNSName constraints should constrain cert Common Names in EE
nelson%bolyard.com
parents:
8860
diff
changeset
|
1085 |
** in preparation for a name constraints test. |
4572
33b930a46b752479d44edb4f9fbc4d8629b124c7
This patch extracts rfc822 names from a cert's distinguished name at the
nelsonb%netscape.com
parents:
4561
diff
changeset
|
1086 |
*/ |
206
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
1087 |
CERTGeneralName * |
10759
0b69d6cc3acd5e723d4cafefd956e61466b80c53
Bug 802430: Allow NSS to be built with NO_NSPR_10_SUPPORT, r=wtc
Brian Smith <bsmith@mozilla.com>
parents:
10705
diff
changeset
|
1088 |
CERT_GetCertificateNames(CERTCertificate *cert, PLArenaPool *arena) |
206
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
1089 |
{ |
9647
109429a93218ac5f06fa59d323ba415a09f55a67
Bug 394919 - dNSName constraints should constrain cert Common Names in EE
nelson%bolyard.com
parents:
8860
diff
changeset
|
1090 |
return CERT_GetConstrainedCertificateNames(cert, arena, PR_FALSE); |
109429a93218ac5f06fa59d323ba415a09f55a67
Bug 394919 - dNSName constraints should constrain cert Common Names in EE
nelson%bolyard.com
parents:
8860
diff
changeset
|
1091 |
} |
109429a93218ac5f06fa59d323ba415a09f55a67
Bug 394919 - dNSName constraints should constrain cert Common Names in EE
nelson%bolyard.com
parents:
8860
diff
changeset
|
1092 |
|
109429a93218ac5f06fa59d323ba415a09f55a67
Bug 394919 - dNSName constraints should constrain cert Common Names in EE
nelson%bolyard.com
parents:
8860
diff
changeset
|
1093 |
/* This function is called by CERT_VerifyCertChain to extract all |
109429a93218ac5f06fa59d323ba415a09f55a67
Bug 394919 - dNSName constraints should constrain cert Common Names in EE
nelson%bolyard.com
parents:
8860
diff
changeset
|
1094 |
** names from a cert in preparation for a name constraints test. |
109429a93218ac5f06fa59d323ba415a09f55a67
Bug 394919 - dNSName constraints should constrain cert Common Names in EE
nelson%bolyard.com
parents:
8860
diff
changeset
|
1095 |
*/ |
109429a93218ac5f06fa59d323ba415a09f55a67
Bug 394919 - dNSName constraints should constrain cert Common Names in EE
nelson%bolyard.com
parents:
8860
diff
changeset
|
1096 |
CERTGeneralName * |
10705
9639e5f328c90e850b46817011d31ee7adf35f27
Bug 854729: Add const to many certificate-related NSS functions, r=ryan.sleevi
Brian Smith <bsmith@mozilla.com>
parents:
10685
diff
changeset
|
1097 |
CERT_GetConstrainedCertificateNames(const CERTCertificate *cert, |
10759
0b69d6cc3acd5e723d4cafefd956e61466b80c53
Bug 802430: Allow NSS to be built with NO_NSPR_10_SUPPORT, r=wtc
Brian Smith <bsmith@mozilla.com>
parents:
10705
diff
changeset
|
1098 |
PLArenaPool *arena, |
9647
109429a93218ac5f06fa59d323ba415a09f55a67
Bug 394919 - dNSName constraints should constrain cert Common Names in EE
nelson%bolyard.com
parents:
8860
diff
changeset
|
1099 |
PRBool includeSubjectCommonName) |
109429a93218ac5f06fa59d323ba415a09f55a67
Bug 394919 - dNSName constraints should constrain cert Common Names in EE
nelson%bolyard.com
parents:
8860
diff
changeset
|
1100 |
{ |
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1101 |
CERTGeneralName *DN; |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1102 |
CERTGeneralName *SAN; |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1103 |
PRUint32 numDNSNames = 0; |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1104 |
SECStatus rv; |
206
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
1105 |
|
9647
109429a93218ac5f06fa59d323ba415a09f55a67
Bug 394919 - dNSName constraints should constrain cert Common Names in EE
nelson%bolyard.com
parents:
8860
diff
changeset
|
1106 |
if (!arena) { |
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1107 |
PORT_SetError(SEC_ERROR_INVALID_ARGS); |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1108 |
return NULL; |
9647
109429a93218ac5f06fa59d323ba415a09f55a67
Bug 394919 - dNSName constraints should constrain cert Common Names in EE
nelson%bolyard.com
parents:
8860
diff
changeset
|
1109 |
} |
4558
002bb0533bfb8b5932b831b22866f10eb4e9a216
The general name code uses arenas, which is good, but it never marks
nelsonb%netscape.com
parents:
4557
diff
changeset
|
1110 |
/* TODO: mark arena */ |
7829
03f4f61e700a94409cd538c76259557d4d58b0c2
Bug 358785: Merge NSS_LIBPKIX_BRANCH back to trunk. r=julien, r=alexei
alexei.volkov.bugs%sun.com
parents:
7288
diff
changeset
|
1111 |
DN = CERT_NewGeneralName(arena, certDirectoryName); |
206
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
1112 |
if (DN == NULL) { |
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1113 |
goto loser; |
206
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
1114 |
} |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
1115 |
rv = CERT_CopyName(arena, &DN->name.directoryName, &cert->subject); |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
1116 |
if (rv != SECSuccess) { |
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1117 |
goto loser; |
206
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
1118 |
} |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
1119 |
rv = SECITEM_CopyItem(arena, &DN->derDirectoryName, &cert->derSubject); |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
1120 |
if (rv != SECSuccess) { |
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1121 |
goto loser; |
206
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
1122 |
} |
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1123 |
/* Extract email addresses from DN, construct CERTGeneralName structs |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1124 |
** for them, add them to the name list |
4572
33b930a46b752479d44edb4f9fbc4d8629b124c7
This patch extracts rfc822 names from a cert's distinguished name at the
nelsonb%netscape.com
parents:
4561
diff
changeset
|
1125 |
*/ |
33b930a46b752479d44edb4f9fbc4d8629b124c7
This patch extracts rfc822 names from a cert's distinguished name at the
nelsonb%netscape.com
parents:
4561
diff
changeset
|
1126 |
rv = cert_ExtractDNEmailAddrs(DN, arena); |
33b930a46b752479d44edb4f9fbc4d8629b124c7
This patch extracts rfc822 names from a cert's distinguished name at the
nelsonb%netscape.com
parents:
4561
diff
changeset
|
1127 |
if (rv != SECSuccess) |
33b930a46b752479d44edb4f9fbc4d8629b124c7
This patch extracts rfc822 names from a cert's distinguished name at the
nelsonb%netscape.com
parents:
4561
diff
changeset
|
1128 |
goto loser; |
33b930a46b752479d44edb4f9fbc4d8629b124c7
This patch extracts rfc822 names from a cert's distinguished name at the
nelsonb%netscape.com
parents:
4561
diff
changeset
|
1129 |
|
33b930a46b752479d44edb4f9fbc4d8629b124c7
This patch extracts rfc822 names from a cert's distinguished name at the
nelsonb%netscape.com
parents:
4561
diff
changeset
|
1130 |
/* Now extract any GeneralNames from the subject name names extension. */ |
9647
109429a93218ac5f06fa59d323ba415a09f55a67
Bug 394919 - dNSName constraints should constrain cert Common Names in EE
nelson%bolyard.com
parents:
8860
diff
changeset
|
1131 |
SAN = cert_GetSubjectAltNameList(cert, arena); |
109429a93218ac5f06fa59d323ba415a09f55a67
Bug 394919 - dNSName constraints should constrain cert Common Names in EE
nelson%bolyard.com
parents:
8860
diff
changeset
|
1132 |
if (SAN) { |
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1133 |
numDNSNames = cert_CountDNSPatterns(SAN); |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1134 |
DN = cert_CombineNamesLists(DN, SAN); |
206
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
1135 |
} |
9647
109429a93218ac5f06fa59d323ba415a09f55a67
Bug 394919 - dNSName constraints should constrain cert Common Names in EE
nelson%bolyard.com
parents:
8860
diff
changeset
|
1136 |
if (!numDNSNames && includeSubjectCommonName) { |
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1137 |
char *cn = CERT_GetCommonName(&cert->subject); |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1138 |
if (cn) { |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1139 |
CERTGeneralName *CN = CERT_NewGeneralName(arena, certDNSName); |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1140 |
if (CN) { |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1141 |
SECItem cnItem = { siBuffer, NULL, 0 }; |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1142 |
cnItem.data = (unsigned char *)cn; |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1143 |
cnItem.len = strlen(cn); |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1144 |
rv = SECITEM_CopyItem(arena, &CN->name.other, &cnItem); |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1145 |
if (rv == SECSuccess) { |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1146 |
DN = cert_CombineNamesLists(DN, CN); |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1147 |
} |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1148 |
} |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1149 |
PORT_Free(cn); |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1150 |
} |
9647
109429a93218ac5f06fa59d323ba415a09f55a67
Bug 394919 - dNSName constraints should constrain cert Common Names in EE
nelson%bolyard.com
parents:
8860
diff
changeset
|
1151 |
} |
109429a93218ac5f06fa59d323ba415a09f55a67
Bug 394919 - dNSName constraints should constrain cert Common Names in EE
nelson%bolyard.com
parents:
8860
diff
changeset
|
1152 |
if (rv == SECSuccess) { |
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1153 |
/* TODO: unmark arena */ |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1154 |
return DN; |
9647
109429a93218ac5f06fa59d323ba415a09f55a67
Bug 394919 - dNSName constraints should constrain cert Common Names in EE
nelson%bolyard.com
parents:
8860
diff
changeset
|
1155 |
} |
206
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
1156 |
loser: |
4558
002bb0533bfb8b5932b831b22866f10eb4e9a216
The general name code uses arenas, which is good, but it never marks
nelsonb%netscape.com
parents:
4557
diff
changeset
|
1157 |
/* TODO: release arena to mark */ |
206
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
1158 |
return NULL; |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
1159 |
} |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
1160 |
|
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1161 |
/* Returns SECSuccess if name matches constraint per RFC 3280 rules for |
4853
c218109bea1ebce38224ac927138abd358124a11
Fix bugs in the new implementation of URI name constraints.
nelsonb%netscape.com
parents:
4638
diff
changeset
|
1162 |
** URI name constraints. SECFailure otherwise. |
c218109bea1ebce38224ac927138abd358124a11
Fix bugs in the new implementation of URI name constraints.
nelsonb%netscape.com
parents:
4638
diff
changeset
|
1163 |
** If the constraint begins with a dot, it is a domain name, otherwise |
c218109bea1ebce38224ac927138abd358124a11
Fix bugs in the new implementation of URI name constraints.
nelsonb%netscape.com
parents:
4638
diff
changeset
|
1164 |
** It is a host name. Examples: |
c218109bea1ebce38224ac927138abd358124a11
Fix bugs in the new implementation of URI name constraints.
nelsonb%netscape.com
parents:
4638
diff
changeset
|
1165 |
** Constraint Name Result |
c218109bea1ebce38224ac927138abd358124a11
Fix bugs in the new implementation of URI name constraints.
nelsonb%netscape.com
parents:
4638
diff
changeset
|
1166 |
** ------------ --------------- -------- |
c218109bea1ebce38224ac927138abd358124a11
Fix bugs in the new implementation of URI name constraints.
nelsonb%netscape.com
parents:
4638
diff
changeset
|
1167 |
** foo.bar.com foo.bar.com matches |
c218109bea1ebce38224ac927138abd358124a11
Fix bugs in the new implementation of URI name constraints.
nelsonb%netscape.com
parents:
4638
diff
changeset
|
1168 |
** foo.bar.com FoO.bAr.CoM matches |
c218109bea1ebce38224ac927138abd358124a11
Fix bugs in the new implementation of URI name constraints.
nelsonb%netscape.com
parents:
4638
diff
changeset
|
1169 |
** foo.bar.com www.foo.bar.com no match |
c218109bea1ebce38224ac927138abd358124a11
Fix bugs in the new implementation of URI name constraints.
nelsonb%netscape.com
parents:
4638
diff
changeset
|
1170 |
** foo.bar.com nofoo.bar.com no match |
c218109bea1ebce38224ac927138abd358124a11
Fix bugs in the new implementation of URI name constraints.
nelsonb%netscape.com
parents:
4638
diff
changeset
|
1171 |
** .foo.bar.com www.foo.bar.com matches |
c218109bea1ebce38224ac927138abd358124a11
Fix bugs in the new implementation of URI name constraints.
nelsonb%netscape.com
parents:
4638
diff
changeset
|
1172 |
** .foo.bar.com nofoo.bar.com no match |
c218109bea1ebce38224ac927138abd358124a11
Fix bugs in the new implementation of URI name constraints.
nelsonb%netscape.com
parents:
4638
diff
changeset
|
1173 |
** .foo.bar.com foo.bar.com no match |
c218109bea1ebce38224ac927138abd358124a11
Fix bugs in the new implementation of URI name constraints.
nelsonb%netscape.com
parents:
4638
diff
changeset
|
1174 |
** .foo.bar.com www..foo.bar.com no match |
c218109bea1ebce38224ac927138abd358124a11
Fix bugs in the new implementation of URI name constraints.
nelsonb%netscape.com
parents:
4638
diff
changeset
|
1175 |
*/ |
c218109bea1ebce38224ac927138abd358124a11
Fix bugs in the new implementation of URI name constraints.
nelsonb%netscape.com
parents:
4638
diff
changeset
|
1176 |
static SECStatus |
c218109bea1ebce38224ac927138abd358124a11
Fix bugs in the new implementation of URI name constraints.
nelsonb%netscape.com
parents:
4638
diff
changeset
|
1177 |
compareURIN2C(const SECItem *name, const SECItem *constraint) |
c218109bea1ebce38224ac927138abd358124a11
Fix bugs in the new implementation of URI name constraints.
nelsonb%netscape.com
parents:
4638
diff
changeset
|
1178 |
{ |
c218109bea1ebce38224ac927138abd358124a11
Fix bugs in the new implementation of URI name constraints.
nelsonb%netscape.com
parents:
4638
diff
changeset
|
1179 |
int offset; |
c218109bea1ebce38224ac927138abd358124a11
Fix bugs in the new implementation of URI name constraints.
nelsonb%netscape.com
parents:
4638
diff
changeset
|
1180 |
/* The spec is silent on intepreting zero-length constraints. |
c218109bea1ebce38224ac927138abd358124a11
Fix bugs in the new implementation of URI name constraints.
nelsonb%netscape.com
parents:
4638
diff
changeset
|
1181 |
** We interpret them as matching no URI names. |
c218109bea1ebce38224ac927138abd358124a11
Fix bugs in the new implementation of URI name constraints.
nelsonb%netscape.com
parents:
4638
diff
changeset
|
1182 |
*/ |
c218109bea1ebce38224ac927138abd358124a11
Fix bugs in the new implementation of URI name constraints.
nelsonb%netscape.com
parents:
4638
diff
changeset
|
1183 |
if (!constraint->len) |
c218109bea1ebce38224ac927138abd358124a11
Fix bugs in the new implementation of URI name constraints.
nelsonb%netscape.com
parents:
4638
diff
changeset
|
1184 |
return SECFailure; |
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1185 |
if (constraint->data[0] != '.') { |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1186 |
/* constraint is a host name. */ |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1187 |
if (name->len != constraint->len || |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1188 |
PL_strncasecmp((char *)name->data, (char *)constraint->data, |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1189 |
constraint->len)) |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1190 |
return SECFailure; |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1191 |
return SECSuccess; |
4853
c218109bea1ebce38224ac927138abd358124a11
Fix bugs in the new implementation of URI name constraints.
nelsonb%netscape.com
parents:
4638
diff
changeset
|
1192 |
} |
c218109bea1ebce38224ac927138abd358124a11
Fix bugs in the new implementation of URI name constraints.
nelsonb%netscape.com
parents:
4638
diff
changeset
|
1193 |
/* constraint is a domain name. */ |
c218109bea1ebce38224ac927138abd358124a11
Fix bugs in the new implementation of URI name constraints.
nelsonb%netscape.com
parents:
4638
diff
changeset
|
1194 |
if (name->len < constraint->len) |
c218109bea1ebce38224ac927138abd358124a11
Fix bugs in the new implementation of URI name constraints.
nelsonb%netscape.com
parents:
4638
diff
changeset
|
1195 |
return SECFailure; |
c218109bea1ebce38224ac927138abd358124a11
Fix bugs in the new implementation of URI name constraints.
nelsonb%netscape.com
parents:
4638
diff
changeset
|
1196 |
offset = name->len - constraint->len; |
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1197 |
if (PL_strncasecmp((char *)(name->data + offset), (char *)constraint->data, |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1198 |
constraint->len)) |
4853
c218109bea1ebce38224ac927138abd358124a11
Fix bugs in the new implementation of URI name constraints.
nelsonb%netscape.com
parents:
4638
diff
changeset
|
1199 |
return SECFailure; |
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1200 |
if (!offset || |
4853
c218109bea1ebce38224ac927138abd358124a11
Fix bugs in the new implementation of URI name constraints.
nelsonb%netscape.com
parents:
4638
diff
changeset
|
1201 |
(name->data[offset - 1] == '.') + (constraint->data[0] == '.') == 1) |
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1202 |
return SECSuccess; |
4853
c218109bea1ebce38224ac927138abd358124a11
Fix bugs in the new implementation of URI name constraints.
nelsonb%netscape.com
parents:
4638
diff
changeset
|
1203 |
return SECFailure; |
c218109bea1ebce38224ac927138abd358124a11
Fix bugs in the new implementation of URI name constraints.
nelsonb%netscape.com
parents:
4638
diff
changeset
|
1204 |
} |
c218109bea1ebce38224ac927138abd358124a11
Fix bugs in the new implementation of URI name constraints.
nelsonb%netscape.com
parents:
4638
diff
changeset
|
1205 |
|
5021
bcea2d382ca3f259b97adc3b5252eb3a6b33b31c
Fix name constraints code to pass NIST PKITS test 38. r=wtc. Bug 231223.
nelsonb%netscape.com
parents:
4883
diff
changeset
|
1206 |
/* for DNSname constraints, RFC 3280 says, (section 4.2.1.11, page 38) |
bcea2d382ca3f259b97adc3b5252eb3a6b33b31c
Fix name constraints code to pass NIST PKITS test 38. r=wtc. Bug 231223.
nelsonb%netscape.com
parents:
4883
diff
changeset
|
1207 |
** |
bcea2d382ca3f259b97adc3b5252eb3a6b33b31c
Fix name constraints code to pass NIST PKITS test 38. r=wtc. Bug 231223.
nelsonb%netscape.com
parents:
4883
diff
changeset
|
1208 |
** DNS name restrictions are expressed as foo.bar.com. Any DNS name |
bcea2d382ca3f259b97adc3b5252eb3a6b33b31c
Fix name constraints code to pass NIST PKITS test 38. r=wtc. Bug 231223.
nelsonb%netscape.com
parents:
4883
diff
changeset
|
1209 |
** that can be constructed by simply adding to the left hand side of the |
bcea2d382ca3f259b97adc3b5252eb3a6b33b31c
Fix name constraints code to pass NIST PKITS test 38. r=wtc. Bug 231223.
nelsonb%netscape.com
parents:
4883
diff
changeset
|
1210 |
** name satisfies the name constraint. For example, www.foo.bar.com |
bcea2d382ca3f259b97adc3b5252eb3a6b33b31c
Fix name constraints code to pass NIST PKITS test 38. r=wtc. Bug 231223.
nelsonb%netscape.com
parents:
4883
diff
changeset
|
1211 |
** would satisfy the constraint but foo1.bar.com would not. |
bcea2d382ca3f259b97adc3b5252eb3a6b33b31c
Fix name constraints code to pass NIST PKITS test 38. r=wtc. Bug 231223.
nelsonb%netscape.com
parents:
4883
diff
changeset
|
1212 |
** |
bcea2d382ca3f259b97adc3b5252eb3a6b33b31c
Fix name constraints code to pass NIST PKITS test 38. r=wtc. Bug 231223.
nelsonb%netscape.com
parents:
4883
diff
changeset
|
1213 |
** But NIST's PKITS test suite requires that the constraint be treated |
bcea2d382ca3f259b97adc3b5252eb3a6b33b31c
Fix name constraints code to pass NIST PKITS test 38. r=wtc. Bug 231223.
nelsonb%netscape.com
parents:
4883
diff
changeset
|
1214 |
** as a domain name, and requires that any name added to the left hand |
bcea2d382ca3f259b97adc3b5252eb3a6b33b31c
Fix name constraints code to pass NIST PKITS test 38. r=wtc. Bug 231223.
nelsonb%netscape.com
parents:
4883
diff
changeset
|
1215 |
** side end in a dot ".". Sensible, but not strictly following the RFC. |
bcea2d382ca3f259b97adc3b5252eb3a6b33b31c
Fix name constraints code to pass NIST PKITS test 38. r=wtc. Bug 231223.
nelsonb%netscape.com
parents:
4883
diff
changeset
|
1216 |
** |
bcea2d382ca3f259b97adc3b5252eb3a6b33b31c
Fix name constraints code to pass NIST PKITS test 38. r=wtc. Bug 231223.
nelsonb%netscape.com
parents:
4883
diff
changeset
|
1217 |
** Constraint Name RFC 3280 NIST PKITS |
bcea2d382ca3f259b97adc3b5252eb3a6b33b31c
Fix name constraints code to pass NIST PKITS test 38. r=wtc. Bug 231223.
nelsonb%netscape.com
parents:
4883
diff
changeset
|
1218 |
** ------------ --------------- -------- ---------- |
bcea2d382ca3f259b97adc3b5252eb3a6b33b31c
Fix name constraints code to pass NIST PKITS test 38. r=wtc. Bug 231223.
nelsonb%netscape.com
parents:
4883
diff
changeset
|
1219 |
** foo.bar.com foo.bar.com matches matches |
bcea2d382ca3f259b97adc3b5252eb3a6b33b31c
Fix name constraints code to pass NIST PKITS test 38. r=wtc. Bug 231223.
nelsonb%netscape.com
parents:
4883
diff
changeset
|
1220 |
** foo.bar.com FoO.bAr.CoM matches matches |
bcea2d382ca3f259b97adc3b5252eb3a6b33b31c
Fix name constraints code to pass NIST PKITS test 38. r=wtc. Bug 231223.
nelsonb%netscape.com
parents:
4883
diff
changeset
|
1221 |
** foo.bar.com www.foo.bar.com matches matches |
bcea2d382ca3f259b97adc3b5252eb3a6b33b31c
Fix name constraints code to pass NIST PKITS test 38. r=wtc. Bug 231223.
nelsonb%netscape.com
parents:
4883
diff
changeset
|
1222 |
** foo.bar.com nofoo.bar.com MATCHES NO MATCH |
bcea2d382ca3f259b97adc3b5252eb3a6b33b31c
Fix name constraints code to pass NIST PKITS test 38. r=wtc. Bug 231223.
nelsonb%netscape.com
parents:
4883
diff
changeset
|
1223 |
** .foo.bar.com www.foo.bar.com matches matches? disallowed? |
bcea2d382ca3f259b97adc3b5252eb3a6b33b31c
Fix name constraints code to pass NIST PKITS test 38. r=wtc. Bug 231223.
nelsonb%netscape.com
parents:
4883
diff
changeset
|
1224 |
** .foo.bar.com foo.bar.com no match no match |
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1225 |
** .foo.bar.com www..foo.bar.com matches probably not |
5021
bcea2d382ca3f259b97adc3b5252eb3a6b33b31c
Fix name constraints code to pass NIST PKITS test 38. r=wtc. Bug 231223.
nelsonb%netscape.com
parents:
4883
diff
changeset
|
1226 |
** |
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1227 |
** We will try to conform to NIST's PKITS tests, and the unstated |
5021
bcea2d382ca3f259b97adc3b5252eb3a6b33b31c
Fix name constraints code to pass NIST PKITS test 38. r=wtc. Bug 231223.
nelsonb%netscape.com
parents:
4883
diff
changeset
|
1228 |
** rules they imply. |
4520
ba501a6c027d6e9b139eeddb1cc13be74aaec237
Rewrite of cert_CompareNameWithConstraints and the static functions it
nelsonb%netscape.com
parents:
4508
diff
changeset
|
1229 |
*/ |
ba501a6c027d6e9b139eeddb1cc13be74aaec237
Rewrite of cert_CompareNameWithConstraints and the static functions it
nelsonb%netscape.com
parents:
4508
diff
changeset
|
1230 |
static SECStatus |
ba501a6c027d6e9b139eeddb1cc13be74aaec237
Rewrite of cert_CompareNameWithConstraints and the static functions it
nelsonb%netscape.com
parents:
4508
diff
changeset
|
1231 |
compareDNSN2C(const SECItem *name, const SECItem *constraint) |
ba501a6c027d6e9b139eeddb1cc13be74aaec237
Rewrite of cert_CompareNameWithConstraints and the static functions it
nelsonb%netscape.com
parents:
4508
diff
changeset
|
1232 |
{ |
ba501a6c027d6e9b139eeddb1cc13be74aaec237
Rewrite of cert_CompareNameWithConstraints and the static functions it
nelsonb%netscape.com
parents:
4508
diff
changeset
|
1233 |
int offset; |
ba501a6c027d6e9b139eeddb1cc13be74aaec237
Rewrite of cert_CompareNameWithConstraints and the static functions it
nelsonb%netscape.com
parents:
4508
diff
changeset
|
1234 |
/* The spec is silent on intepreting zero-length constraints. |
ba501a6c027d6e9b139eeddb1cc13be74aaec237
Rewrite of cert_CompareNameWithConstraints and the static functions it
nelsonb%netscape.com
parents:
4508
diff
changeset
|
1235 |
** We interpret them as matching all DNSnames. |
ba501a6c027d6e9b139eeddb1cc13be74aaec237
Rewrite of cert_CompareNameWithConstraints and the static functions it
nelsonb%netscape.com
parents:
4508
diff
changeset
|
1236 |
*/ |
ba501a6c027d6e9b139eeddb1cc13be74aaec237
Rewrite of cert_CompareNameWithConstraints and the static functions it
nelsonb%netscape.com
parents:
4508
diff
changeset
|
1237 |
if (!constraint->len) |
ba501a6c027d6e9b139eeddb1cc13be74aaec237
Rewrite of cert_CompareNameWithConstraints and the static functions it
nelsonb%netscape.com
parents:
4508
diff
changeset
|
1238 |
return SECSuccess; |
ba501a6c027d6e9b139eeddb1cc13be74aaec237
Rewrite of cert_CompareNameWithConstraints and the static functions it
nelsonb%netscape.com
parents:
4508
diff
changeset
|
1239 |
if (name->len < constraint->len) |
ba501a6c027d6e9b139eeddb1cc13be74aaec237
Rewrite of cert_CompareNameWithConstraints and the static functions it
nelsonb%netscape.com
parents:
4508
diff
changeset
|
1240 |
return SECFailure; |
ba501a6c027d6e9b139eeddb1cc13be74aaec237
Rewrite of cert_CompareNameWithConstraints and the static functions it
nelsonb%netscape.com
parents:
4508
diff
changeset
|
1241 |
offset = name->len - constraint->len; |
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1242 |
if (PL_strncasecmp((char *)(name->data + offset), (char *)constraint->data, |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1243 |
constraint->len)) |
4520
ba501a6c027d6e9b139eeddb1cc13be74aaec237
Rewrite of cert_CompareNameWithConstraints and the static functions it
nelsonb%netscape.com
parents:
4508
diff
changeset
|
1244 |
return SECFailure; |
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1245 |
if (!offset || |
5021
bcea2d382ca3f259b97adc3b5252eb3a6b33b31c
Fix name constraints code to pass NIST PKITS test 38. r=wtc. Bug 231223.
nelsonb%netscape.com
parents:
4883
diff
changeset
|
1246 |
(name->data[offset - 1] == '.') + (constraint->data[0] == '.') == 1) |
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1247 |
return SECSuccess; |
5021
bcea2d382ca3f259b97adc3b5252eb3a6b33b31c
Fix name constraints code to pass NIST PKITS test 38. r=wtc. Bug 231223.
nelsonb%netscape.com
parents:
4883
diff
changeset
|
1248 |
return SECFailure; |
4520
ba501a6c027d6e9b139eeddb1cc13be74aaec237
Rewrite of cert_CompareNameWithConstraints and the static functions it
nelsonb%netscape.com
parents:
4508
diff
changeset
|
1249 |
} |
ba501a6c027d6e9b139eeddb1cc13be74aaec237
Rewrite of cert_CompareNameWithConstraints and the static functions it
nelsonb%netscape.com
parents:
4508
diff
changeset
|
1250 |
|
ba501a6c027d6e9b139eeddb1cc13be74aaec237
Rewrite of cert_CompareNameWithConstraints and the static functions it
nelsonb%netscape.com
parents:
4508
diff
changeset
|
1251 |
/* Returns SECSuccess if name matches constraint per RFC 3280 rules for |
ba501a6c027d6e9b139eeddb1cc13be74aaec237
Rewrite of cert_CompareNameWithConstraints and the static functions it
nelsonb%netscape.com
parents:
4508
diff
changeset
|
1252 |
** internet email addresses. SECFailure otherwise. |
ba501a6c027d6e9b139eeddb1cc13be74aaec237
Rewrite of cert_CompareNameWithConstraints and the static functions it
nelsonb%netscape.com
parents:
4508
diff
changeset
|
1253 |
** If constraint contains a '@' then the two strings much match exactly. |
ba501a6c027d6e9b139eeddb1cc13be74aaec237
Rewrite of cert_CompareNameWithConstraints and the static functions it
nelsonb%netscape.com
parents:
4508
diff
changeset
|
1254 |
** Else if constraint starts with a '.'. then it must match the right-most |
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1255 |
** substring of the name, |
4520
ba501a6c027d6e9b139eeddb1cc13be74aaec237
Rewrite of cert_CompareNameWithConstraints and the static functions it
nelsonb%netscape.com
parents:
4508
diff
changeset
|
1256 |
** else constraint string must match entire name after the name's '@'. |
ba501a6c027d6e9b139eeddb1cc13be74aaec237
Rewrite of cert_CompareNameWithConstraints and the static functions it
nelsonb%netscape.com
parents:
4508
diff
changeset
|
1257 |
** Empty constraint string matches all names. All comparisons case insensitive. |
ba501a6c027d6e9b139eeddb1cc13be74aaec237
Rewrite of cert_CompareNameWithConstraints and the static functions it
nelsonb%netscape.com
parents:
4508
diff
changeset
|
1258 |
*/ |
ba501a6c027d6e9b139eeddb1cc13be74aaec237
Rewrite of cert_CompareNameWithConstraints and the static functions it
nelsonb%netscape.com
parents:
4508
diff
changeset
|
1259 |
static SECStatus |
ba501a6c027d6e9b139eeddb1cc13be74aaec237
Rewrite of cert_CompareNameWithConstraints and the static functions it
nelsonb%netscape.com
parents:
4508
diff
changeset
|
1260 |
compareRFC822N2C(const SECItem *name, const SECItem *constraint) |
ba501a6c027d6e9b139eeddb1cc13be74aaec237
Rewrite of cert_CompareNameWithConstraints and the static functions it
nelsonb%netscape.com
parents:
4508
diff
changeset
|
1261 |
{ |
ba501a6c027d6e9b139eeddb1cc13be74aaec237
Rewrite of cert_CompareNameWithConstraints and the static functions it
nelsonb%netscape.com
parents:
4508
diff
changeset
|
1262 |
int offset; |
ba501a6c027d6e9b139eeddb1cc13be74aaec237
Rewrite of cert_CompareNameWithConstraints and the static functions it
nelsonb%netscape.com
parents:
4508
diff
changeset
|
1263 |
if (!constraint->len) |
ba501a6c027d6e9b139eeddb1cc13be74aaec237
Rewrite of cert_CompareNameWithConstraints and the static functions it
nelsonb%netscape.com
parents:
4508
diff
changeset
|
1264 |
return SECSuccess; |
ba501a6c027d6e9b139eeddb1cc13be74aaec237
Rewrite of cert_CompareNameWithConstraints and the static functions it
nelsonb%netscape.com
parents:
4508
diff
changeset
|
1265 |
if (name->len < constraint->len) |
ba501a6c027d6e9b139eeddb1cc13be74aaec237
Rewrite of cert_CompareNameWithConstraints and the static functions it
nelsonb%netscape.com
parents:
4508
diff
changeset
|
1266 |
return SECFailure; |
4536
324efa4007330cd11669ed42d4ffa9bc5330b911
Further refinements to the Name Constraints checking logic, to make it
nelsonb%netscape.com
parents:
4520
diff
changeset
|
1267 |
if (constraint->len == 1 && constraint->data[0] == '.') |
324efa4007330cd11669ed42d4ffa9bc5330b911
Further refinements to the Name Constraints checking logic, to make it
nelsonb%netscape.com
parents:
4520
diff
changeset
|
1268 |
return SECSuccess; |
4520
ba501a6c027d6e9b139eeddb1cc13be74aaec237
Rewrite of cert_CompareNameWithConstraints and the static functions it
nelsonb%netscape.com
parents:
4508
diff
changeset
|
1269 |
for (offset = constraint->len - 1; offset >= 0; --offset) { |
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1270 |
if (constraint->data[offset] == '@') { |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1271 |
return (name->len == constraint->len && |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1272 |
!PL_strncasecmp((char *)name->data, |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1273 |
(char *)constraint->data, constraint->len)) |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1274 |
? SECSuccess |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1275 |
: SECFailure; |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1276 |
} |
4520
ba501a6c027d6e9b139eeddb1cc13be74aaec237
Rewrite of cert_CompareNameWithConstraints and the static functions it
nelsonb%netscape.com
parents:
4508
diff
changeset
|
1277 |
} |
ba501a6c027d6e9b139eeddb1cc13be74aaec237
Rewrite of cert_CompareNameWithConstraints and the static functions it
nelsonb%netscape.com
parents:
4508
diff
changeset
|
1278 |
offset = name->len - constraint->len; |
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1279 |
if (PL_strncasecmp((char *)(name->data + offset), (char *)constraint->data, |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1280 |
constraint->len)) |
4520
ba501a6c027d6e9b139eeddb1cc13be74aaec237
Rewrite of cert_CompareNameWithConstraints and the static functions it
nelsonb%netscape.com
parents:
4508
diff
changeset
|
1281 |
return SECFailure; |
ba501a6c027d6e9b139eeddb1cc13be74aaec237
Rewrite of cert_CompareNameWithConstraints and the static functions it
nelsonb%netscape.com
parents:
4508
diff
changeset
|
1282 |
if (constraint->data[0] == '.') |
ba501a6c027d6e9b139eeddb1cc13be74aaec237
Rewrite of cert_CompareNameWithConstraints and the static functions it
nelsonb%netscape.com
parents:
4508
diff
changeset
|
1283 |
return SECSuccess; |
ba501a6c027d6e9b139eeddb1cc13be74aaec237
Rewrite of cert_CompareNameWithConstraints and the static functions it
nelsonb%netscape.com
parents:
4508
diff
changeset
|
1284 |
if (offset > 0 && name->data[offset - 1] == '@') |
ba501a6c027d6e9b139eeddb1cc13be74aaec237
Rewrite of cert_CompareNameWithConstraints and the static functions it
nelsonb%netscape.com
parents:
4508
diff
changeset
|
1285 |
return SECSuccess; |
ba501a6c027d6e9b139eeddb1cc13be74aaec237
Rewrite of cert_CompareNameWithConstraints and the static functions it
nelsonb%netscape.com
parents:
4508
diff
changeset
|
1286 |
return SECFailure; |
ba501a6c027d6e9b139eeddb1cc13be74aaec237
Rewrite of cert_CompareNameWithConstraints and the static functions it
nelsonb%netscape.com
parents:
4508
diff
changeset
|
1287 |
} |
ba501a6c027d6e9b139eeddb1cc13be74aaec237
Rewrite of cert_CompareNameWithConstraints and the static functions it
nelsonb%netscape.com
parents:
4508
diff
changeset
|
1288 |
|
ba501a6c027d6e9b139eeddb1cc13be74aaec237
Rewrite of cert_CompareNameWithConstraints and the static functions it
nelsonb%netscape.com
parents:
4508
diff
changeset
|
1289 |
/* name contains either a 4 byte IPv4 address or a 16 byte IPv6 address. |
ba501a6c027d6e9b139eeddb1cc13be74aaec237
Rewrite of cert_CompareNameWithConstraints and the static functions it
nelsonb%netscape.com
parents:
4508
diff
changeset
|
1290 |
** constraint contains an address of the same length, and a subnet mask |
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1291 |
** of the same length. Compare name's address to the constraint's |
4520
ba501a6c027d6e9b139eeddb1cc13be74aaec237
Rewrite of cert_CompareNameWithConstraints and the static functions it
nelsonb%netscape.com
parents:
4508
diff
changeset
|
1292 |
** address, subject to the mask. |
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1293 |
** Return SECSuccess if they match, SECFailure if they don't. |
4490
1ed8940c0639a17a6336da55393b4f857bdc022b
Bug 204555: Eliminated other potential crashes in code related to
wtc%netscape.com
parents:
4458
diff
changeset
|
1294 |
*/ |
206
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
1295 |
static SECStatus |
4520
ba501a6c027d6e9b139eeddb1cc13be74aaec237
Rewrite of cert_CompareNameWithConstraints and the static functions it
nelsonb%netscape.com
parents:
4508
diff
changeset
|
1296 |
compareIPaddrN2C(const SECItem *name, const SECItem *constraint) |
206
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
1297 |
{ |
4520
ba501a6c027d6e9b139eeddb1cc13be74aaec237
Rewrite of cert_CompareNameWithConstraints and the static functions it
nelsonb%netscape.com
parents:
4508
diff
changeset
|
1298 |
int i; |
ba501a6c027d6e9b139eeddb1cc13be74aaec237
Rewrite of cert_CompareNameWithConstraints and the static functions it
nelsonb%netscape.com
parents:
4508
diff
changeset
|
1299 |
if (name->len == 4 && constraint->len == 8) { /* ipv4 addr */ |
ba501a6c027d6e9b139eeddb1cc13be74aaec237
Rewrite of cert_CompareNameWithConstraints and the static functions it
nelsonb%netscape.com
parents:
4508
diff
changeset
|
1300 |
for (i = 0; i < 4; i++) { |
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1301 |
if ((name->data[i] ^ constraint->data[i]) & constraint->data[i + 4]) |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1302 |
goto loser; |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1303 |
} |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1304 |
return SECSuccess; |
206
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
1305 |
} |
4520
ba501a6c027d6e9b139eeddb1cc13be74aaec237
Rewrite of cert_CompareNameWithConstraints and the static functions it
nelsonb%netscape.com
parents:
4508
diff
changeset
|
1306 |
if (name->len == 16 && constraint->len == 32) { /* ipv6 addr */ |
ba501a6c027d6e9b139eeddb1cc13be74aaec237
Rewrite of cert_CompareNameWithConstraints and the static functions it
nelsonb%netscape.com
parents:
4508
diff
changeset
|
1307 |
for (i = 0; i < 16; i++) { |
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1308 |
if ((name->data[i] ^ constraint->data[i]) & |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1309 |
constraint->data[i + 16]) |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1310 |
goto loser; |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1311 |
} |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1312 |
return SECSuccess; |
4520
ba501a6c027d6e9b139eeddb1cc13be74aaec237
Rewrite of cert_CompareNameWithConstraints and the static functions it
nelsonb%netscape.com
parents:
4508
diff
changeset
|
1313 |
} |
ba501a6c027d6e9b139eeddb1cc13be74aaec237
Rewrite of cert_CompareNameWithConstraints and the static functions it
nelsonb%netscape.com
parents:
4508
diff
changeset
|
1314 |
loser: |
ba501a6c027d6e9b139eeddb1cc13be74aaec237
Rewrite of cert_CompareNameWithConstraints and the static functions it
nelsonb%netscape.com
parents:
4508
diff
changeset
|
1315 |
return SECFailure; |
4490
1ed8940c0639a17a6336da55393b4f857bdc022b
Bug 204555: Eliminated other potential crashes in code related to
wtc%netscape.com
parents:
4458
diff
changeset
|
1316 |
} |
1ed8940c0639a17a6336da55393b4f857bdc022b
Bug 204555: Eliminated other potential crashes in code related to
wtc%netscape.com
parents:
4458
diff
changeset
|
1317 |
|
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1318 |
/* start with a SECItem that points to a URI. Parse it lookingg for |
4520
ba501a6c027d6e9b139eeddb1cc13be74aaec237
Rewrite of cert_CompareNameWithConstraints and the static functions it
nelsonb%netscape.com
parents:
4508
diff
changeset
|
1319 |
** a hostname. Modify item->data and item->len to define the hostname, |
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1320 |
** but do not modify and data at item->data. |
4520
ba501a6c027d6e9b139eeddb1cc13be74aaec237
Rewrite of cert_CompareNameWithConstraints and the static functions it
nelsonb%netscape.com
parents:
4508
diff
changeset
|
1321 |
** If anything goes wrong, the contents of *item are undefined. |
4490
1ed8940c0639a17a6336da55393b4f857bdc022b
Bug 204555: Eliminated other potential crashes in code related to
wtc%netscape.com
parents:
4458
diff
changeset
|
1322 |
*/ |
4520
ba501a6c027d6e9b139eeddb1cc13be74aaec237
Rewrite of cert_CompareNameWithConstraints and the static functions it
nelsonb%netscape.com
parents:
4508
diff
changeset
|
1323 |
static SECStatus |
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1324 |
parseUriHostname(SECItem *item) |
4490
1ed8940c0639a17a6336da55393b4f857bdc022b
Bug 204555: Eliminated other potential crashes in code related to
wtc%netscape.com
parents:
4458
diff
changeset
|
1325 |
{ |
4520
ba501a6c027d6e9b139eeddb1cc13be74aaec237
Rewrite of cert_CompareNameWithConstraints and the static functions it
nelsonb%netscape.com
parents:
4508
diff
changeset
|
1326 |
int i; |
ba501a6c027d6e9b139eeddb1cc13be74aaec237
Rewrite of cert_CompareNameWithConstraints and the static functions it
nelsonb%netscape.com
parents:
4508
diff
changeset
|
1327 |
PRBool found = PR_FALSE; |
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1328 |
for (i = 0; (unsigned)(i + 2) < item->len; ++i) { |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1329 |
if (item->data[i] == ':' && item->data[i + 1] == '/' && |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1330 |
item->data[i + 2] == '/') { |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1331 |
i += 3; |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1332 |
item->data += i; |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1333 |
item->len -= i; |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1334 |
found = PR_TRUE; |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1335 |
break; |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1336 |
} |
206
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
1337 |
} |
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1338 |
if (!found) |
4520
ba501a6c027d6e9b139eeddb1cc13be74aaec237
Rewrite of cert_CompareNameWithConstraints and the static functions it
nelsonb%netscape.com
parents:
4508
diff
changeset
|
1339 |
return SECFailure; |
ba501a6c027d6e9b139eeddb1cc13be74aaec237
Rewrite of cert_CompareNameWithConstraints and the static functions it
nelsonb%netscape.com
parents:
4508
diff
changeset
|
1340 |
/* now look for a '/', which is an upper bound in the end of the name */ |
ba501a6c027d6e9b139eeddb1cc13be74aaec237
Rewrite of cert_CompareNameWithConstraints and the static functions it
nelsonb%netscape.com
parents:
4508
diff
changeset
|
1341 |
for (i = 0; (unsigned)i < item->len; ++i) { |
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1342 |
if (item->data[i] == '/') { |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1343 |
item->len = i; |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1344 |
break; |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1345 |
} |
4520
ba501a6c027d6e9b139eeddb1cc13be74aaec237
Rewrite of cert_CompareNameWithConstraints and the static functions it
nelsonb%netscape.com
parents:
4508
diff
changeset
|
1346 |
} |
ba501a6c027d6e9b139eeddb1cc13be74aaec237
Rewrite of cert_CompareNameWithConstraints and the static functions it
nelsonb%netscape.com
parents:
4508
diff
changeset
|
1347 |
/* now look for a ':', which marks the end of the name */ |
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1348 |
for (i = item->len; --i >= 0;) { |
4520
ba501a6c027d6e9b139eeddb1cc13be74aaec237
Rewrite of cert_CompareNameWithConstraints and the static functions it
nelsonb%netscape.com
parents:
4508
diff
changeset
|
1349 |
if (item->data[i] == ':') { |
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1350 |
item->len = i; |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1351 |
break; |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1352 |
} |
4520
ba501a6c027d6e9b139eeddb1cc13be74aaec237
Rewrite of cert_CompareNameWithConstraints and the static functions it
nelsonb%netscape.com
parents:
4508
diff
changeset
|
1353 |
} |
ba501a6c027d6e9b139eeddb1cc13be74aaec237
Rewrite of cert_CompareNameWithConstraints and the static functions it
nelsonb%netscape.com
parents:
4508
diff
changeset
|
1354 |
/* now look for an '@', which marks the beginning of the hostname */ |
ba501a6c027d6e9b139eeddb1cc13be74aaec237
Rewrite of cert_CompareNameWithConstraints and the static functions it
nelsonb%netscape.com
parents:
4508
diff
changeset
|
1355 |
for (i = 0; (unsigned)i < item->len; ++i) { |
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1356 |
if (item->data[i] == '@') { |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1357 |
++i; |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1358 |
item->data += i; |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1359 |
item->len -= i; |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1360 |
break; |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1361 |
} |
4520
ba501a6c027d6e9b139eeddb1cc13be74aaec237
Rewrite of cert_CompareNameWithConstraints and the static functions it
nelsonb%netscape.com
parents:
4508
diff
changeset
|
1362 |
} |
ba501a6c027d6e9b139eeddb1cc13be74aaec237
Rewrite of cert_CompareNameWithConstraints and the static functions it
nelsonb%netscape.com
parents:
4508
diff
changeset
|
1363 |
return item->len ? SECSuccess : SECFailure; |
206
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
1364 |
} |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
1365 |
|
4520
ba501a6c027d6e9b139eeddb1cc13be74aaec237
Rewrite of cert_CompareNameWithConstraints and the static functions it
nelsonb%netscape.com
parents:
4508
diff
changeset
|
1366 |
/* This function takes one name, and a list of constraints. |
ba501a6c027d6e9b139eeddb1cc13be74aaec237
Rewrite of cert_CompareNameWithConstraints and the static functions it
nelsonb%netscape.com
parents:
4508
diff
changeset
|
1367 |
** It searches the constraints looking for a match. |
ba501a6c027d6e9b139eeddb1cc13be74aaec237
Rewrite of cert_CompareNameWithConstraints and the static functions it
nelsonb%netscape.com
parents:
4508
diff
changeset
|
1368 |
** It returns SECSuccess if the name satisfies the constraints, i.e., |
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1369 |
** if excluded, then the name does not match any constraint, |
4520
ba501a6c027d6e9b139eeddb1cc13be74aaec237
Rewrite of cert_CompareNameWithConstraints and the static functions it
nelsonb%netscape.com
parents:
4508
diff
changeset
|
1370 |
** if permitted, then the name matches at least one constraint. |
ba501a6c027d6e9b139eeddb1cc13be74aaec237
Rewrite of cert_CompareNameWithConstraints and the static functions it
nelsonb%netscape.com
parents:
4508
diff
changeset
|
1371 |
** It returns SECFailure if the name fails to satisfy the constraints, |
ba501a6c027d6e9b139eeddb1cc13be74aaec237
Rewrite of cert_CompareNameWithConstraints and the static functions it
nelsonb%netscape.com
parents:
4508
diff
changeset
|
1372 |
** or if some code fails (e.g. out of memory, or invalid constraint) |
ba501a6c027d6e9b139eeddb1cc13be74aaec237
Rewrite of cert_CompareNameWithConstraints and the static functions it
nelsonb%netscape.com
parents:
4508
diff
changeset
|
1373 |
*/ |
7829
03f4f61e700a94409cd538c76259557d4d58b0c2
Bug 358785: Merge NSS_LIBPKIX_BRANCH back to trunk. r=julien, r=alexei
alexei.volkov.bugs%sun.com
parents:
7288
diff
changeset
|
1374 |
SECStatus |
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1375 |
cert_CompareNameWithConstraints(const CERTGeneralName *name, |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1376 |
const CERTNameConstraint *constraints, |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1377 |
PRBool excluded) |
206
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
1378 |
{ |
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1379 |
SECStatus rv = SECSuccess; |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1380 |
SECStatus matched = SECFailure; |
10705
9639e5f328c90e850b46817011d31ee7adf35f27
Bug 854729: Add const to many certificate-related NSS functions, r=ryan.sleevi
Brian Smith <bsmith@mozilla.com>
parents:
10685
diff
changeset
|
1381 |
const CERTNameConstraint *current; |
4490
1ed8940c0639a17a6336da55393b4f857bdc022b
Bug 204555: Eliminated other potential crashes in code related to
wtc%netscape.com
parents:
4458
diff
changeset
|
1382 |
|
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1383 |
PORT_Assert(constraints); /* caller should not call with NULL */ |
4520
ba501a6c027d6e9b139eeddb1cc13be74aaec237
Rewrite of cert_CompareNameWithConstraints and the static functions it
nelsonb%netscape.com
parents:
4508
diff
changeset
|
1384 |
if (!constraints) { |
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1385 |
PORT_SetError(SEC_ERROR_INVALID_ARGS); |
4490
1ed8940c0639a17a6336da55393b4f857bdc022b
Bug 204555: Eliminated other potential crashes in code related to
wtc%netscape.com
parents:
4458
diff
changeset
|
1386 |
return SECFailure; |
4520
ba501a6c027d6e9b139eeddb1cc13be74aaec237
Rewrite of cert_CompareNameWithConstraints and the static functions it
nelsonb%netscape.com
parents:
4508
diff
changeset
|
1387 |
} |
206
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
1388 |
|
4490
1ed8940c0639a17a6336da55393b4f857bdc022b
Bug 204555: Eliminated other potential crashes in code related to
wtc%netscape.com
parents:
4458
diff
changeset
|
1389 |
current = constraints; |
1ed8940c0639a17a6336da55393b4f857bdc022b
Bug 204555: Eliminated other potential crashes in code related to
wtc%netscape.com
parents:
4458
diff
changeset
|
1390 |
do { |
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1391 |
rv = SECSuccess; |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1392 |
matched = SECFailure; |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1393 |
PORT_Assert(name->type == current->name.type); |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1394 |
switch (name->type) { |
4490
1ed8940c0639a17a6336da55393b4f857bdc022b
Bug 204555: Eliminated other potential crashes in code related to
wtc%netscape.com
parents:
4458
diff
changeset
|
1395 |
|
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1396 |
case certDNSName: |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1397 |
matched = |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1398 |
compareDNSN2C(&name->name.other, ¤t->name.name.other); |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1399 |
break; |
4490
1ed8940c0639a17a6336da55393b4f857bdc022b
Bug 204555: Eliminated other potential crashes in code related to
wtc%netscape.com
parents:
4458
diff
changeset
|
1400 |
|
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1401 |
case certRFC822Name: |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1402 |
matched = compareRFC822N2C(&name->name.other, |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1403 |
¤t->name.name.other); |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1404 |
break; |
4490
1ed8940c0639a17a6336da55393b4f857bdc022b
Bug 204555: Eliminated other potential crashes in code related to
wtc%netscape.com
parents:
4458
diff
changeset
|
1405 |
|
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1406 |
case certURI: { |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1407 |
/* make a modifiable copy of the URI SECItem. */ |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1408 |
SECItem uri = name->name.other; |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1409 |
/* find the hostname in the URI */ |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1410 |
rv = parseUriHostname(&uri); |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1411 |
if (rv == SECSuccess) { |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1412 |
/* does our hostname meet the constraint? */ |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1413 |
matched = compareURIN2C(&uri, ¤t->name.name.other); |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1414 |
} |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1415 |
} break; |
4490
1ed8940c0639a17a6336da55393b4f857bdc022b
Bug 204555: Eliminated other potential crashes in code related to
wtc%netscape.com
parents:
4458
diff
changeset
|
1416 |
|
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1417 |
case certDirectoryName: |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1418 |
/* Determine if the constraint directory name is a "prefix" |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1419 |
** for the directory name being tested. |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1420 |
*/ |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1421 |
{ |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1422 |
/* status defaults to SECEqual, so that a constraint with |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1423 |
** no AVAs will be a wildcard, matching all directory names. |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1424 |
*/ |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1425 |
SECComparison status = SECEqual; |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1426 |
const CERTRDN **cRDNs = |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1427 |
(const CERTRDN **)current->name.name.directoryName.rdns; |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1428 |
const CERTRDN **nRDNs = |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1429 |
(const CERTRDN **)name->name.directoryName.rdns; |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1430 |
while (cRDNs && *cRDNs && nRDNs && *nRDNs) { |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1431 |
/* loop over name RDNs and constraint RDNs in lock step |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1432 |
*/ |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1433 |
const CERTRDN *cRDN = *cRDNs++; |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1434 |
const CERTRDN *nRDN = *nRDNs++; |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1435 |
CERTAVA **cAVAs = cRDN->avas; |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1436 |
while (cAVAs && |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1437 |
*cAVAs) { /* loop over constraint AVAs */ |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1438 |
CERTAVA *cAVA = *cAVAs++; |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1439 |
CERTAVA **nAVAs = nRDN->avas; |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1440 |
while (nAVAs && *nAVAs) { /* loop over name AVAs */ |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1441 |
CERTAVA *nAVA = *nAVAs++; |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1442 |
status = CERT_CompareAVA(cAVA, nAVA); |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1443 |
if (status == SECEqual) |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1444 |
break; |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1445 |
} /* loop over name AVAs */ |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1446 |
if (status != SECEqual) |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1447 |
break; |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1448 |
} /* loop over constraint AVAs */ |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1449 |
if (status != SECEqual) |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1450 |
break; |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1451 |
} /* loop over name RDNs and constraint RDNs */ |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1452 |
matched = (status == SECEqual) ? SECSuccess : SECFailure; |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1453 |
break; |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1454 |
} |
4520
ba501a6c027d6e9b139eeddb1cc13be74aaec237
Rewrite of cert_CompareNameWithConstraints and the static functions it
nelsonb%netscape.com
parents:
4508
diff
changeset
|
1455 |
|
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1456 |
case certIPAddress: /* type 8 */ |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1457 |
matched = compareIPaddrN2C(&name->name.other, |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1458 |
¤t->name.name.other); |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1459 |
break; |
4520
ba501a6c027d6e9b139eeddb1cc13be74aaec237
Rewrite of cert_CompareNameWithConstraints and the static functions it
nelsonb%netscape.com
parents:
4508
diff
changeset
|
1460 |
|
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1461 |
/* NSS does not know how to compare these "Other" type names with |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1462 |
** their respective constraints. But it does know how to tell |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1463 |
** if the constraint applies to the type of name (by comparing |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1464 |
** the constraint OID to the name OID). NSS makes no use of "Other" |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1465 |
** type names at all, so NSS errs on the side of leniency for these |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1466 |
** types, provided that their OIDs match. So, when an "Other" |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1467 |
** name constraint appears in an excluded subtree, it never causes |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1468 |
** a name to fail. When an "Other" name constraint appears in a |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1469 |
** permitted subtree, AND the constraint's OID matches the name's |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1470 |
** OID, then name is treated as if it matches the constraint. |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1471 |
*/ |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1472 |
case certOtherName: /* type 1 */ |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1473 |
matched = |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1474 |
(!excluded && name->type == current->name.type && |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1475 |
SECITEM_ItemsAreEqual(&name->name.OthName.oid, |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1476 |
¤t->name.name.OthName.oid)) |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1477 |
? SECSuccess |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1478 |
: SECFailure; |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1479 |
break; |
4520
ba501a6c027d6e9b139eeddb1cc13be74aaec237
Rewrite of cert_CompareNameWithConstraints and the static functions it
nelsonb%netscape.com
parents:
4508
diff
changeset
|
1480 |
|
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1481 |
/* NSS does not know how to compare these types of names with their |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1482 |
** respective constraints. But NSS makes no use of these types of |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1483 |
** names at all, so it errs on the side of leniency for these types. |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1484 |
** Constraints for these types of names never cause the name to |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1485 |
** fail the constraints test. NSS behaves as if the name matched |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1486 |
** for permitted constraints, and did not match for excluded ones. |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1487 |
*/ |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1488 |
case certX400Address: /* type 4 */ |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1489 |
case certEDIPartyName: /* type 6 */ |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1490 |
case certRegisterID: /* type 9 */ |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1491 |
matched = excluded ? SECFailure : SECSuccess; |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1492 |
break; |
4520
ba501a6c027d6e9b139eeddb1cc13be74aaec237
Rewrite of cert_CompareNameWithConstraints and the static functions it
nelsonb%netscape.com
parents:
4508
diff
changeset
|
1493 |
|
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1494 |
default: /* non-standard types are not supported */ |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1495 |
rv = SECFailure; |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1496 |
break; |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1497 |
} |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1498 |
if (matched == SECSuccess || rv != SECSuccess) |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1499 |
break; |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1500 |
current = CERT_GetNextNameConstraint((CERTNameConstraint *)current); |
4520
ba501a6c027d6e9b139eeddb1cc13be74aaec237
Rewrite of cert_CompareNameWithConstraints and the static functions it
nelsonb%netscape.com
parents:
4508
diff
changeset
|
1501 |
} while (current != constraints); |
4536
324efa4007330cd11669ed42d4ffa9bc5330b911
Further refinements to the Name Constraints checking logic, to make it
nelsonb%netscape.com
parents:
4520
diff
changeset
|
1502 |
if (rv == SECSuccess) { |
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1503 |
if (matched == SECSuccess) |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1504 |
rv = excluded ? SECFailure : SECSuccess; |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1505 |
else |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1506 |
rv = excluded ? SECSuccess : SECFailure; |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1507 |
return rv; |
4536
324efa4007330cd11669ed42d4ffa9bc5330b911
Further refinements to the Name Constraints checking logic, to make it
nelsonb%netscape.com
parents:
4520
diff
changeset
|
1508 |
} |
4490
1ed8940c0639a17a6336da55393b4f857bdc022b
Bug 204555: Eliminated other potential crashes in code related to
wtc%netscape.com
parents:
4458
diff
changeset
|
1509 |
|
4520
ba501a6c027d6e9b139eeddb1cc13be74aaec237
Rewrite of cert_CompareNameWithConstraints and the static functions it
nelsonb%netscape.com
parents:
4508
diff
changeset
|
1510 |
return SECFailure; |
206
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
1511 |
} |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
1512 |
|
7829
03f4f61e700a94409cd538c76259557d4d58b0c2
Bug 358785: Merge NSS_LIBPKIX_BRANCH back to trunk. r=julien, r=alexei
alexei.volkov.bugs%sun.com
parents:
7288
diff
changeset
|
1513 |
/* Add and link a CERTGeneralName to a CERTNameConstraint list. Most |
03f4f61e700a94409cd538c76259557d4d58b0c2
Bug 358785: Merge NSS_LIBPKIX_BRANCH back to trunk. r=julien, r=alexei
alexei.volkov.bugs%sun.com
parents:
7288
diff
changeset
|
1514 |
** likely the CERTNameConstraint passed in is either the permitted |
03f4f61e700a94409cd538c76259557d4d58b0c2
Bug 358785: Merge NSS_LIBPKIX_BRANCH back to trunk. r=julien, r=alexei
alexei.volkov.bugs%sun.com
parents:
7288
diff
changeset
|
1515 |
** list or the excluded list of a CERTNameConstraints. |
03f4f61e700a94409cd538c76259557d4d58b0c2
Bug 358785: Merge NSS_LIBPKIX_BRANCH back to trunk. r=julien, r=alexei
alexei.volkov.bugs%sun.com
parents:
7288
diff
changeset
|
1516 |
*/ |
03f4f61e700a94409cd538c76259557d4d58b0c2
Bug 358785: Merge NSS_LIBPKIX_BRANCH back to trunk. r=julien, r=alexei
alexei.volkov.bugs%sun.com
parents:
7288
diff
changeset
|
1517 |
SECStatus |
03f4f61e700a94409cd538c76259557d4d58b0c2
Bug 358785: Merge NSS_LIBPKIX_BRANCH back to trunk. r=julien, r=alexei
alexei.volkov.bugs%sun.com
parents:
7288
diff
changeset
|
1518 |
CERT_AddNameConstraintByGeneralName(PLArenaPool *arena, |
03f4f61e700a94409cd538c76259557d4d58b0c2
Bug 358785: Merge NSS_LIBPKIX_BRANCH back to trunk. r=julien, r=alexei
alexei.volkov.bugs%sun.com
parents:
7288
diff
changeset
|
1519 |
CERTNameConstraint **constraints, |
03f4f61e700a94409cd538c76259557d4d58b0c2
Bug 358785: Merge NSS_LIBPKIX_BRANCH back to trunk. r=julien, r=alexei
alexei.volkov.bugs%sun.com
parents:
7288
diff
changeset
|
1520 |
CERTGeneralName *name) |
03f4f61e700a94409cd538c76259557d4d58b0c2
Bug 358785: Merge NSS_LIBPKIX_BRANCH back to trunk. r=julien, r=alexei
alexei.volkov.bugs%sun.com
parents:
7288
diff
changeset
|
1521 |
{ |
03f4f61e700a94409cd538c76259557d4d58b0c2
Bug 358785: Merge NSS_LIBPKIX_BRANCH back to trunk. r=julien, r=alexei
alexei.volkov.bugs%sun.com
parents:
7288
diff
changeset
|
1522 |
SECStatus rv; |
03f4f61e700a94409cd538c76259557d4d58b0c2
Bug 358785: Merge NSS_LIBPKIX_BRANCH back to trunk. r=julien, r=alexei
alexei.volkov.bugs%sun.com
parents:
7288
diff
changeset
|
1523 |
CERTNameConstraint *current = NULL; |
03f4f61e700a94409cd538c76259557d4d58b0c2
Bug 358785: Merge NSS_LIBPKIX_BRANCH back to trunk. r=julien, r=alexei
alexei.volkov.bugs%sun.com
parents:
7288
diff
changeset
|
1524 |
CERTNameConstraint *first = *constraints; |
03f4f61e700a94409cd538c76259557d4d58b0c2
Bug 358785: Merge NSS_LIBPKIX_BRANCH back to trunk. r=julien, r=alexei
alexei.volkov.bugs%sun.com
parents:
7288
diff
changeset
|
1525 |
void *mark = NULL; |
03f4f61e700a94409cd538c76259557d4d58b0c2
Bug 358785: Merge NSS_LIBPKIX_BRANCH back to trunk. r=julien, r=alexei
alexei.volkov.bugs%sun.com
parents:
7288
diff
changeset
|
1526 |
|
03f4f61e700a94409cd538c76259557d4d58b0c2
Bug 358785: Merge NSS_LIBPKIX_BRANCH back to trunk. r=julien, r=alexei
alexei.volkov.bugs%sun.com
parents:
7288
diff
changeset
|
1527 |
mark = PORT_ArenaMark(arena); |
03f4f61e700a94409cd538c76259557d4d58b0c2
Bug 358785: Merge NSS_LIBPKIX_BRANCH back to trunk. r=julien, r=alexei
alexei.volkov.bugs%sun.com
parents:
7288
diff
changeset
|
1528 |
|
03f4f61e700a94409cd538c76259557d4d58b0c2
Bug 358785: Merge NSS_LIBPKIX_BRANCH back to trunk. r=julien, r=alexei
alexei.volkov.bugs%sun.com
parents:
7288
diff
changeset
|
1529 |
current = PORT_ArenaZNew(arena, CERTNameConstraint); |
03f4f61e700a94409cd538c76259557d4d58b0c2
Bug 358785: Merge NSS_LIBPKIX_BRANCH back to trunk. r=julien, r=alexei
alexei.volkov.bugs%sun.com
parents:
7288
diff
changeset
|
1530 |
if (current == NULL) { |
03f4f61e700a94409cd538c76259557d4d58b0c2
Bug 358785: Merge NSS_LIBPKIX_BRANCH back to trunk. r=julien, r=alexei
alexei.volkov.bugs%sun.com
parents:
7288
diff
changeset
|
1531 |
rv = SECFailure; |
03f4f61e700a94409cd538c76259557d4d58b0c2
Bug 358785: Merge NSS_LIBPKIX_BRANCH back to trunk. r=julien, r=alexei
alexei.volkov.bugs%sun.com
parents:
7288
diff
changeset
|
1532 |
goto done; |
03f4f61e700a94409cd538c76259557d4d58b0c2
Bug 358785: Merge NSS_LIBPKIX_BRANCH back to trunk. r=julien, r=alexei
alexei.volkov.bugs%sun.com
parents:
7288
diff
changeset
|
1533 |
} |
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1534 |
|
7829
03f4f61e700a94409cd538c76259557d4d58b0c2
Bug 358785: Merge NSS_LIBPKIX_BRANCH back to trunk. r=julien, r=alexei
alexei.volkov.bugs%sun.com
parents:
7288
diff
changeset
|
1535 |
rv = cert_CopyOneGeneralName(arena, ¤t->name, name); |
03f4f61e700a94409cd538c76259557d4d58b0c2
Bug 358785: Merge NSS_LIBPKIX_BRANCH back to trunk. r=julien, r=alexei
alexei.volkov.bugs%sun.com
parents:
7288
diff
changeset
|
1536 |
if (rv != SECSuccess) { |
03f4f61e700a94409cd538c76259557d4d58b0c2
Bug 358785: Merge NSS_LIBPKIX_BRANCH back to trunk. r=julien, r=alexei
alexei.volkov.bugs%sun.com
parents:
7288
diff
changeset
|
1537 |
goto done; |
03f4f61e700a94409cd538c76259557d4d58b0c2
Bug 358785: Merge NSS_LIBPKIX_BRANCH back to trunk. r=julien, r=alexei
alexei.volkov.bugs%sun.com
parents:
7288
diff
changeset
|
1538 |
} |
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1539 |
|
7829
03f4f61e700a94409cd538c76259557d4d58b0c2
Bug 358785: Merge NSS_LIBPKIX_BRANCH back to trunk. r=julien, r=alexei
alexei.volkov.bugs%sun.com
parents:
7288
diff
changeset
|
1540 |
current->name.l.prev = current->name.l.next = &(current->name.l); |
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1541 |
|
7829
03f4f61e700a94409cd538c76259557d4d58b0c2
Bug 358785: Merge NSS_LIBPKIX_BRANCH back to trunk. r=julien, r=alexei
alexei.volkov.bugs%sun.com
parents:
7288
diff
changeset
|
1542 |
if (first == NULL) { |
03f4f61e700a94409cd538c76259557d4d58b0c2
Bug 358785: Merge NSS_LIBPKIX_BRANCH back to trunk. r=julien, r=alexei
alexei.volkov.bugs%sun.com
parents:
7288
diff
changeset
|
1543 |
*constraints = current; |
03f4f61e700a94409cd538c76259557d4d58b0c2
Bug 358785: Merge NSS_LIBPKIX_BRANCH back to trunk. r=julien, r=alexei
alexei.volkov.bugs%sun.com
parents:
7288
diff
changeset
|
1544 |
PR_INIT_CLIST(¤t->l); |
11940
0e6e8153513e40154dc1907c2aff318b5342e73e
Bug 1251185, NSS clang-format: else line-break fixes, r=ttaubert
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11776
diff
changeset
|
1545 |
} else { |
7829
03f4f61e700a94409cd538c76259557d4d58b0c2
Bug 358785: Merge NSS_LIBPKIX_BRANCH back to trunk. r=julien, r=alexei
alexei.volkov.bugs%sun.com
parents:
7288
diff
changeset
|
1546 |
PR_INSERT_BEFORE(¤t->l, &first->l); |
03f4f61e700a94409cd538c76259557d4d58b0c2
Bug 358785: Merge NSS_LIBPKIX_BRANCH back to trunk. r=julien, r=alexei
alexei.volkov.bugs%sun.com
parents:
7288
diff
changeset
|
1547 |
} |
03f4f61e700a94409cd538c76259557d4d58b0c2
Bug 358785: Merge NSS_LIBPKIX_BRANCH back to trunk. r=julien, r=alexei
alexei.volkov.bugs%sun.com
parents:
7288
diff
changeset
|
1548 |
|
03f4f61e700a94409cd538c76259557d4d58b0c2
Bug 358785: Merge NSS_LIBPKIX_BRANCH back to trunk. r=julien, r=alexei
alexei.volkov.bugs%sun.com
parents:
7288
diff
changeset
|
1549 |
done: |
03f4f61e700a94409cd538c76259557d4d58b0c2
Bug 358785: Merge NSS_LIBPKIX_BRANCH back to trunk. r=julien, r=alexei
alexei.volkov.bugs%sun.com
parents:
7288
diff
changeset
|
1550 |
if (rv == SECFailure) { |
03f4f61e700a94409cd538c76259557d4d58b0c2
Bug 358785: Merge NSS_LIBPKIX_BRANCH back to trunk. r=julien, r=alexei
alexei.volkov.bugs%sun.com
parents:
7288
diff
changeset
|
1551 |
PORT_ArenaRelease(arena, mark); |
11940
0e6e8153513e40154dc1907c2aff318b5342e73e
Bug 1251185, NSS clang-format: else line-break fixes, r=ttaubert
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11776
diff
changeset
|
1552 |
} else { |
7829
03f4f61e700a94409cd538c76259557d4d58b0c2
Bug 358785: Merge NSS_LIBPKIX_BRANCH back to trunk. r=julien, r=alexei
alexei.volkov.bugs%sun.com
parents:
7288
diff
changeset
|
1553 |
PORT_ArenaUnmark(arena, mark); |
03f4f61e700a94409cd538c76259557d4d58b0c2
Bug 358785: Merge NSS_LIBPKIX_BRANCH back to trunk. r=julien, r=alexei
alexei.volkov.bugs%sun.com
parents:
7288
diff
changeset
|
1554 |
} |
03f4f61e700a94409cd538c76259557d4d58b0c2
Bug 358785: Merge NSS_LIBPKIX_BRANCH back to trunk. r=julien, r=alexei
alexei.volkov.bugs%sun.com
parents:
7288
diff
changeset
|
1555 |
return rv; |
03f4f61e700a94409cd538c76259557d4d58b0c2
Bug 358785: Merge NSS_LIBPKIX_BRANCH back to trunk. r=julien, r=alexei
alexei.volkov.bugs%sun.com
parents:
7288
diff
changeset
|
1556 |
} |
03f4f61e700a94409cd538c76259557d4d58b0c2
Bug 358785: Merge NSS_LIBPKIX_BRANCH back to trunk. r=julien, r=alexei
alexei.volkov.bugs%sun.com
parents:
7288
diff
changeset
|
1557 |
|
11420
07da6d86695a416e404dfa4ff973fb0ab26ed49b
Bug 991783 - Add generic mechanism to add name constraints to built-in certificates r=wtc
Richard Barnes <rbarnes@mozilla.com>
parents:
11178
diff
changeset
|
1558 |
/* |
07da6d86695a416e404dfa4ff973fb0ab26ed49b
Bug 991783 - Add generic mechanism to add name constraints to built-in certificates r=wtc
Richard Barnes <rbarnes@mozilla.com>
parents:
11178
diff
changeset
|
1559 |
* Here we define a list of name constraints to be imposed on |
07da6d86695a416e404dfa4ff973fb0ab26ed49b
Bug 991783 - Add generic mechanism to add name constraints to built-in certificates r=wtc
Richard Barnes <rbarnes@mozilla.com>
parents:
11178
diff
changeset
|
1560 |
* certain certificates, most importantly root certificates. |
07da6d86695a416e404dfa4ff973fb0ab26ed49b
Bug 991783 - Add generic mechanism to add name constraints to built-in certificates r=wtc
Richard Barnes <rbarnes@mozilla.com>
parents:
11178
diff
changeset
|
1561 |
* |
07da6d86695a416e404dfa4ff973fb0ab26ed49b
Bug 991783 - Add generic mechanism to add name constraints to built-in certificates r=wtc
Richard Barnes <rbarnes@mozilla.com>
parents:
11178
diff
changeset
|
1562 |
* Each entry in the name constraints list is constructed with this |
07da6d86695a416e404dfa4ff973fb0ab26ed49b
Bug 991783 - Add generic mechanism to add name constraints to built-in certificates r=wtc
Richard Barnes <rbarnes@mozilla.com>
parents:
11178
diff
changeset
|
1563 |
* macro. An entry contains two SECItems, which have names in |
07da6d86695a416e404dfa4ff973fb0ab26ed49b
Bug 991783 - Add generic mechanism to add name constraints to built-in certificates r=wtc
Richard Barnes <rbarnes@mozilla.com>
parents:
11178
diff
changeset
|
1564 |
* specific forms to make the macro work: |
07da6d86695a416e404dfa4ff973fb0ab26ed49b
Bug 991783 - Add generic mechanism to add name constraints to built-in certificates r=wtc
Richard Barnes <rbarnes@mozilla.com>
parents:
11178
diff
changeset
|
1565 |
* |
07da6d86695a416e404dfa4ff973fb0ab26ed49b
Bug 991783 - Add generic mechanism to add name constraints to built-in certificates r=wtc
Richard Barnes <rbarnes@mozilla.com>
parents:
11178
diff
changeset
|
1566 |
* * ${CA}_SUBJECT_DN - The subject DN for which the constraints |
07da6d86695a416e404dfa4ff973fb0ab26ed49b
Bug 991783 - Add generic mechanism to add name constraints to built-in certificates r=wtc
Richard Barnes <rbarnes@mozilla.com>
parents:
11178
diff
changeset
|
1567 |
* should be applied |
07da6d86695a416e404dfa4ff973fb0ab26ed49b
Bug 991783 - Add generic mechanism to add name constraints to built-in certificates r=wtc
Richard Barnes <rbarnes@mozilla.com>
parents:
11178
diff
changeset
|
1568 |
* * ${CA}_NAME_CONSTRAINTS - The name constraints extension |
07da6d86695a416e404dfa4ff973fb0ab26ed49b
Bug 991783 - Add generic mechanism to add name constraints to built-in certificates r=wtc
Richard Barnes <rbarnes@mozilla.com>
parents:
11178
diff
changeset
|
1569 |
* |
07da6d86695a416e404dfa4ff973fb0ab26ed49b
Bug 991783 - Add generic mechanism to add name constraints to built-in certificates r=wtc
Richard Barnes <rbarnes@mozilla.com>
parents:
11178
diff
changeset
|
1570 |
* Entities subject to name constraints are identified by subject name |
07da6d86695a416e404dfa4ff973fb0ab26ed49b
Bug 991783 - Add generic mechanism to add name constraints to built-in certificates r=wtc
Richard Barnes <rbarnes@mozilla.com>
parents:
11178
diff
changeset
|
1571 |
* so that we can cover all certificates for that entity, including, e.g., |
07da6d86695a416e404dfa4ff973fb0ab26ed49b
Bug 991783 - Add generic mechanism to add name constraints to built-in certificates r=wtc
Richard Barnes <rbarnes@mozilla.com>
parents:
11178
diff
changeset
|
1572 |
* cross-certificates. We use subject rather than public key because |
07da6d86695a416e404dfa4ff973fb0ab26ed49b
Bug 991783 - Add generic mechanism to add name constraints to built-in certificates r=wtc
Richard Barnes <rbarnes@mozilla.com>
parents:
11178
diff
changeset
|
1573 |
* calling methods often have easy access to that field (vs., say, a key ID), |
07da6d86695a416e404dfa4ff973fb0ab26ed49b
Bug 991783 - Add generic mechanism to add name constraints to built-in certificates r=wtc
Richard Barnes <rbarnes@mozilla.com>
parents:
11178
diff
changeset
|
1574 |
* and in practice, subject names and public keys are usually in one-to-one |
07da6d86695a416e404dfa4ff973fb0ab26ed49b
Bug 991783 - Add generic mechanism to add name constraints to built-in certificates r=wtc
Richard Barnes <rbarnes@mozilla.com>
parents:
11178
diff
changeset
|
1575 |
* correspondence anyway. |
07da6d86695a416e404dfa4ff973fb0ab26ed49b
Bug 991783 - Add generic mechanism to add name constraints to built-in certificates r=wtc
Richard Barnes <rbarnes@mozilla.com>
parents:
11178
diff
changeset
|
1576 |
* |
11107
742307da0792066e4b4ca46aa7b28399868507ae
Bug 952572, Hard code ANSSI(DCISS) to french gov dns space, r=kaie
Camilo Viecco <cviecco@mozilla.com>
parents:
10759
diff
changeset
|
1577 |
*/ |
742307da0792066e4b4ca46aa7b28399868507ae
Bug 952572, Hard code ANSSI(DCISS) to french gov dns space, r=kaie
Camilo Viecco <cviecco@mozilla.com>
parents:
10759
diff
changeset
|
1578 |
|
12490
de6b0f33d1ab3f94e2e7025bce727f15ebb075e8
Bug 1295115 - follow up to clang-format for CI, r= kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11940
diff
changeset
|
1579 |
#define STRING_TO_SECITEM(str) \ |
de6b0f33d1ab3f94e2e7025bce727f15ebb075e8
Bug 1295115 - follow up to clang-format for CI, r= kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11940
diff
changeset
|
1580 |
{ \ |
de6b0f33d1ab3f94e2e7025bce727f15ebb075e8
Bug 1295115 - follow up to clang-format for CI, r= kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11940
diff
changeset
|
1581 |
siBuffer, (unsigned char *)str, sizeof(str) - 1 \ |
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1582 |
} |
11420
07da6d86695a416e404dfa4ff973fb0ab26ed49b
Bug 991783 - Add generic mechanism to add name constraints to built-in certificates r=wtc
Richard Barnes <rbarnes@mozilla.com>
parents:
11178
diff
changeset
|
1583 |
|
12490
de6b0f33d1ab3f94e2e7025bce727f15ebb075e8
Bug 1295115 - follow up to clang-format for CI, r= kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11940
diff
changeset
|
1584 |
#define NAME_CONSTRAINTS_ENTRY(CA) \ |
de6b0f33d1ab3f94e2e7025bce727f15ebb075e8
Bug 1295115 - follow up to clang-format for CI, r= kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11940
diff
changeset
|
1585 |
{ \ |
de6b0f33d1ab3f94e2e7025bce727f15ebb075e8
Bug 1295115 - follow up to clang-format for CI, r= kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11940
diff
changeset
|
1586 |
STRING_TO_SECITEM(CA##_SUBJECT_DN) \ |
de6b0f33d1ab3f94e2e7025bce727f15ebb075e8
Bug 1295115 - follow up to clang-format for CI, r= kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11940
diff
changeset
|
1587 |
, \ |
de6b0f33d1ab3f94e2e7025bce727f15ebb075e8
Bug 1295115 - follow up to clang-format for CI, r= kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11940
diff
changeset
|
1588 |
STRING_TO_SECITEM(CA##_NAME_CONSTRAINTS) \ |
11420
07da6d86695a416e404dfa4ff973fb0ab26ed49b
Bug 991783 - Add generic mechanism to add name constraints to built-in certificates r=wtc
Richard Barnes <rbarnes@mozilla.com>
parents:
11178
diff
changeset
|
1589 |
} |
07da6d86695a416e404dfa4ff973fb0ab26ed49b
Bug 991783 - Add generic mechanism to add name constraints to built-in certificates r=wtc
Richard Barnes <rbarnes@mozilla.com>
parents:
11178
diff
changeset
|
1590 |
|
13264
f52feaa506006947b546dde5b954b59aae1bad98
Bug 1349705, add domain name constraints for "TUBITAK Kamu SM SSL Kok Sertifikasi - Surum 1" to NSS function CERT_GetImposedNameConstraints, r=keeler
Kai Engert <kaie@kuix.de>
parents:
12742
diff
changeset
|
1591 |
/* clang-format off */ |
11420
07da6d86695a416e404dfa4ff973fb0ab26ed49b
Bug 991783 - Add generic mechanism to add name constraints to built-in certificates r=wtc
Richard Barnes <rbarnes@mozilla.com>
parents:
11178
diff
changeset
|
1592 |
|
13264
f52feaa506006947b546dde5b954b59aae1bad98
Bug 1349705, add domain name constraints for "TUBITAK Kamu SM SSL Kok Sertifikasi - Surum 1" to NSS function CERT_GetImposedNameConstraints, r=keeler
Kai Engert <kaie@kuix.de>
parents:
12742
diff
changeset
|
1593 |
/* Agence Nationale de la Securite des Systemes d'Information (ANSSI) */ |
11757
0b33a08417988d298e025b0584ce653ca040574b
Bug 1227624 - lib/certdb clang-format protection, r=wtc
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11709
diff
changeset
|
1594 |
|
0b33a08417988d298e025b0584ce653ca040574b
Bug 1227624 - lib/certdb clang-format protection, r=wtc
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11709
diff
changeset
|
1595 |
#define ANSSI_SUBJECT_DN \ |
0b33a08417988d298e025b0584ce653ca040574b
Bug 1227624 - lib/certdb clang-format protection, r=wtc
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11709
diff
changeset
|
1596 |
"\x30\x81\x85" \ |
0b33a08417988d298e025b0584ce653ca040574b
Bug 1227624 - lib/certdb clang-format protection, r=wtc
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11709
diff
changeset
|
1597 |
"\x31\x0B\x30\x09\x06\x03\x55\x04\x06\x13\x02" "FR" /* C */ \ |
0b33a08417988d298e025b0584ce653ca040574b
Bug 1227624 - lib/certdb clang-format protection, r=wtc
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11709
diff
changeset
|
1598 |
"\x31\x0F\x30\x0D\x06\x03\x55\x04\x08\x13\x06" "France" /* ST */ \ |
0b33a08417988d298e025b0584ce653ca040574b
Bug 1227624 - lib/certdb clang-format protection, r=wtc
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11709
diff
changeset
|
1599 |
"\x31\x0E\x30\x0C\x06\x03\x55\x04\x07\x13\x05" "Paris" /* L */ \ |
0b33a08417988d298e025b0584ce653ca040574b
Bug 1227624 - lib/certdb clang-format protection, r=wtc
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11709
diff
changeset
|
1600 |
"\x31\x10\x30\x0E\x06\x03\x55\x04\x0A\x13\x07" "PM/SGDN" /* O */ \ |
0b33a08417988d298e025b0584ce653ca040574b
Bug 1227624 - lib/certdb clang-format protection, r=wtc
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11709
diff
changeset
|
1601 |
"\x31\x0E\x30\x0C\x06\x03\x55\x04\x0B\x13\x05" "DCSSI" /* OU */ \ |
0b33a08417988d298e025b0584ce653ca040574b
Bug 1227624 - lib/certdb clang-format protection, r=wtc
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11709
diff
changeset
|
1602 |
"\x31\x0E\x30\x0C\x06\x03\x55\x04\x03\x13\x05" "IGC/A" /* CN */ \ |
0b33a08417988d298e025b0584ce653ca040574b
Bug 1227624 - lib/certdb clang-format protection, r=wtc
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11709
diff
changeset
|
1603 |
"\x31\x23\x30\x21\x06\x09\x2A\x86\x48\x86\xF7\x0D\x01\x09\x01" \ |
0b33a08417988d298e025b0584ce653ca040574b
Bug 1227624 - lib/certdb clang-format protection, r=wtc
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11709
diff
changeset
|
1604 |
"\x16\x14" "igca@sgdn.pm.gouv.fr" /* emailAddress */ \ |
11420
07da6d86695a416e404dfa4ff973fb0ab26ed49b
Bug 991783 - Add generic mechanism to add name constraints to built-in certificates r=wtc
Richard Barnes <rbarnes@mozilla.com>
parents:
11178
diff
changeset
|
1605 |
|
11757
0b33a08417988d298e025b0584ce653ca040574b
Bug 1227624 - lib/certdb clang-format protection, r=wtc
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11709
diff
changeset
|
1606 |
#define ANSSI_NAME_CONSTRAINTS \ |
0b33a08417988d298e025b0584ce653ca040574b
Bug 1227624 - lib/certdb clang-format protection, r=wtc
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11709
diff
changeset
|
1607 |
"\x30\x5D\xA0\x5B" \ |
0b33a08417988d298e025b0584ce653ca040574b
Bug 1227624 - lib/certdb clang-format protection, r=wtc
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11709
diff
changeset
|
1608 |
"\x30\x05\x82\x03" ".fr" \ |
0b33a08417988d298e025b0584ce653ca040574b
Bug 1227624 - lib/certdb clang-format protection, r=wtc
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11709
diff
changeset
|
1609 |
"\x30\x05\x82\x03" ".gp" \ |
0b33a08417988d298e025b0584ce653ca040574b
Bug 1227624 - lib/certdb clang-format protection, r=wtc
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11709
diff
changeset
|
1610 |
"\x30\x05\x82\x03" ".gf" \ |
0b33a08417988d298e025b0584ce653ca040574b
Bug 1227624 - lib/certdb clang-format protection, r=wtc
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11709
diff
changeset
|
1611 |
"\x30\x05\x82\x03" ".mq" \ |
0b33a08417988d298e025b0584ce653ca040574b
Bug 1227624 - lib/certdb clang-format protection, r=wtc
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11709
diff
changeset
|
1612 |
"\x30\x05\x82\x03" ".re" \ |
0b33a08417988d298e025b0584ce653ca040574b
Bug 1227624 - lib/certdb clang-format protection, r=wtc
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11709
diff
changeset
|
1613 |
"\x30\x05\x82\x03" ".yt" \ |
0b33a08417988d298e025b0584ce653ca040574b
Bug 1227624 - lib/certdb clang-format protection, r=wtc
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11709
diff
changeset
|
1614 |
"\x30\x05\x82\x03" ".pm" \ |
0b33a08417988d298e025b0584ce653ca040574b
Bug 1227624 - lib/certdb clang-format protection, r=wtc
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11709
diff
changeset
|
1615 |
"\x30\x05\x82\x03" ".bl" \ |
0b33a08417988d298e025b0584ce653ca040574b
Bug 1227624 - lib/certdb clang-format protection, r=wtc
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11709
diff
changeset
|
1616 |
"\x30\x05\x82\x03" ".mf" \ |
0b33a08417988d298e025b0584ce653ca040574b
Bug 1227624 - lib/certdb clang-format protection, r=wtc
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11709
diff
changeset
|
1617 |
"\x30\x05\x82\x03" ".wf" \ |
0b33a08417988d298e025b0584ce653ca040574b
Bug 1227624 - lib/certdb clang-format protection, r=wtc
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11709
diff
changeset
|
1618 |
"\x30\x05\x82\x03" ".pf" \ |
0b33a08417988d298e025b0584ce653ca040574b
Bug 1227624 - lib/certdb clang-format protection, r=wtc
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11709
diff
changeset
|
1619 |
"\x30\x05\x82\x03" ".nc" \ |
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1620 |
"\x30\x05\x82\x03" ".tf" |
11757
0b33a08417988d298e025b0584ce653ca040574b
Bug 1227624 - lib/certdb clang-format protection, r=wtc
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11709
diff
changeset
|
1621 |
|
13264
f52feaa506006947b546dde5b954b59aae1bad98
Bug 1349705, add domain name constraints for "TUBITAK Kamu SM SSL Kok Sertifikasi - Surum 1" to NSS function CERT_GetImposedNameConstraints, r=keeler
Kai Engert <kaie@kuix.de>
parents:
12742
diff
changeset
|
1622 |
/* TUBITAK Kamu SM SSL Kok Sertifikasi - Surum 1 */ |
f52feaa506006947b546dde5b954b59aae1bad98
Bug 1349705, add domain name constraints for "TUBITAK Kamu SM SSL Kok Sertifikasi - Surum 1" to NSS function CERT_GetImposedNameConstraints, r=keeler
Kai Engert <kaie@kuix.de>
parents:
12742
diff
changeset
|
1623 |
|
f52feaa506006947b546dde5b954b59aae1bad98
Bug 1349705, add domain name constraints for "TUBITAK Kamu SM SSL Kok Sertifikasi - Surum 1" to NSS function CERT_GetImposedNameConstraints, r=keeler
Kai Engert <kaie@kuix.de>
parents:
12742
diff
changeset
|
1624 |
#define TUBITAK1_SUBJECT_DN \ |
f52feaa506006947b546dde5b954b59aae1bad98
Bug 1349705, add domain name constraints for "TUBITAK Kamu SM SSL Kok Sertifikasi - Surum 1" to NSS function CERT_GetImposedNameConstraints, r=keeler
Kai Engert <kaie@kuix.de>
parents:
12742
diff
changeset
|
1625 |
"\x30\x81\xd2" \ |
f52feaa506006947b546dde5b954b59aae1bad98
Bug 1349705, add domain name constraints for "TUBITAK Kamu SM SSL Kok Sertifikasi - Surum 1" to NSS function CERT_GetImposedNameConstraints, r=keeler
Kai Engert <kaie@kuix.de>
parents:
12742
diff
changeset
|
1626 |
"\x31\x0b\x30\x09\x06\x03\x55\x04\x06\x13\x02" \ |
f52feaa506006947b546dde5b954b59aae1bad98
Bug 1349705, add domain name constraints for "TUBITAK Kamu SM SSL Kok Sertifikasi - Surum 1" to NSS function CERT_GetImposedNameConstraints, r=keeler
Kai Engert <kaie@kuix.de>
parents:
12742
diff
changeset
|
1627 |
/* C */ "TR" \ |
f52feaa506006947b546dde5b954b59aae1bad98
Bug 1349705, add domain name constraints for "TUBITAK Kamu SM SSL Kok Sertifikasi - Surum 1" to NSS function CERT_GetImposedNameConstraints, r=keeler
Kai Engert <kaie@kuix.de>
parents:
12742
diff
changeset
|
1628 |
"\x31\x18\x30\x16\x06\x03\x55\x04\x07\x13\x0f" \ |
f52feaa506006947b546dde5b954b59aae1bad98
Bug 1349705, add domain name constraints for "TUBITAK Kamu SM SSL Kok Sertifikasi - Surum 1" to NSS function CERT_GetImposedNameConstraints, r=keeler
Kai Engert <kaie@kuix.de>
parents:
12742
diff
changeset
|
1629 |
/* L */ "Gebze - Kocaeli" \ |
f52feaa506006947b546dde5b954b59aae1bad98
Bug 1349705, add domain name constraints for "TUBITAK Kamu SM SSL Kok Sertifikasi - Surum 1" to NSS function CERT_GetImposedNameConstraints, r=keeler
Kai Engert <kaie@kuix.de>
parents:
12742
diff
changeset
|
1630 |
"\x31\x42\x30\x40\x06\x03\x55\x04\x0a\x13\x39" \ |
f52feaa506006947b546dde5b954b59aae1bad98
Bug 1349705, add domain name constraints for "TUBITAK Kamu SM SSL Kok Sertifikasi - Surum 1" to NSS function CERT_GetImposedNameConstraints, r=keeler
Kai Engert <kaie@kuix.de>
parents:
12742
diff
changeset
|
1631 |
/* O */ "Turkiye Bilimsel ve Teknolojik Arastirma Kurumu - TUBITAK" \ |
f52feaa506006947b546dde5b954b59aae1bad98
Bug 1349705, add domain name constraints for "TUBITAK Kamu SM SSL Kok Sertifikasi - Surum 1" to NSS function CERT_GetImposedNameConstraints, r=keeler
Kai Engert <kaie@kuix.de>
parents:
12742
diff
changeset
|
1632 |
"\x31\x2d\x30\x2b\x06\x03\x55\x04\x0b\x13\x24" \ |
f52feaa506006947b546dde5b954b59aae1bad98
Bug 1349705, add domain name constraints for "TUBITAK Kamu SM SSL Kok Sertifikasi - Surum 1" to NSS function CERT_GetImposedNameConstraints, r=keeler
Kai Engert <kaie@kuix.de>
parents:
12742
diff
changeset
|
1633 |
/* OU */ "Kamu Sertifikasyon Merkezi - Kamu SM" \ |
f52feaa506006947b546dde5b954b59aae1bad98
Bug 1349705, add domain name constraints for "TUBITAK Kamu SM SSL Kok Sertifikasi - Surum 1" to NSS function CERT_GetImposedNameConstraints, r=keeler
Kai Engert <kaie@kuix.de>
parents:
12742
diff
changeset
|
1634 |
"\x31\x36\x30\x34\x06\x03\x55\x04\x03\x13\x2d" \ |
f52feaa506006947b546dde5b954b59aae1bad98
Bug 1349705, add domain name constraints for "TUBITAK Kamu SM SSL Kok Sertifikasi - Surum 1" to NSS function CERT_GetImposedNameConstraints, r=keeler
Kai Engert <kaie@kuix.de>
parents:
12742
diff
changeset
|
1635 |
/* CN */ "TUBITAK Kamu SM SSL Kok Sertifikasi - Surum 1" |
f52feaa506006947b546dde5b954b59aae1bad98
Bug 1349705, add domain name constraints for "TUBITAK Kamu SM SSL Kok Sertifikasi - Surum 1" to NSS function CERT_GetImposedNameConstraints, r=keeler
Kai Engert <kaie@kuix.de>
parents:
12742
diff
changeset
|
1636 |
|
f52feaa506006947b546dde5b954b59aae1bad98
Bug 1349705, add domain name constraints for "TUBITAK Kamu SM SSL Kok Sertifikasi - Surum 1" to NSS function CERT_GetImposedNameConstraints, r=keeler
Kai Engert <kaie@kuix.de>
parents:
12742
diff
changeset
|
1637 |
#define TUBITAK1_NAME_CONSTRAINTS \ |
f52feaa506006947b546dde5b954b59aae1bad98
Bug 1349705, add domain name constraints for "TUBITAK Kamu SM SSL Kok Sertifikasi - Surum 1" to NSS function CERT_GetImposedNameConstraints, r=keeler
Kai Engert <kaie@kuix.de>
parents:
12742
diff
changeset
|
1638 |
"\x30\x65\xa0\x63" \ |
f52feaa506006947b546dde5b954b59aae1bad98
Bug 1349705, add domain name constraints for "TUBITAK Kamu SM SSL Kok Sertifikasi - Surum 1" to NSS function CERT_GetImposedNameConstraints, r=keeler
Kai Engert <kaie@kuix.de>
parents:
12742
diff
changeset
|
1639 |
"\x30\x09\x82\x07" ".gov.tr" \ |
f52feaa506006947b546dde5b954b59aae1bad98
Bug 1349705, add domain name constraints for "TUBITAK Kamu SM SSL Kok Sertifikasi - Surum 1" to NSS function CERT_GetImposedNameConstraints, r=keeler
Kai Engert <kaie@kuix.de>
parents:
12742
diff
changeset
|
1640 |
"\x30\x09\x82\x07" ".k12.tr" \ |
f52feaa506006947b546dde5b954b59aae1bad98
Bug 1349705, add domain name constraints for "TUBITAK Kamu SM SSL Kok Sertifikasi - Surum 1" to NSS function CERT_GetImposedNameConstraints, r=keeler
Kai Engert <kaie@kuix.de>
parents:
12742
diff
changeset
|
1641 |
"\x30\x09\x82\x07" ".pol.tr" \ |
f52feaa506006947b546dde5b954b59aae1bad98
Bug 1349705, add domain name constraints for "TUBITAK Kamu SM SSL Kok Sertifikasi - Surum 1" to NSS function CERT_GetImposedNameConstraints, r=keeler
Kai Engert <kaie@kuix.de>
parents:
12742
diff
changeset
|
1642 |
"\x30\x09\x82\x07" ".mil.tr" \ |
f52feaa506006947b546dde5b954b59aae1bad98
Bug 1349705, add domain name constraints for "TUBITAK Kamu SM SSL Kok Sertifikasi - Surum 1" to NSS function CERT_GetImposedNameConstraints, r=keeler
Kai Engert <kaie@kuix.de>
parents:
12742
diff
changeset
|
1643 |
"\x30\x09\x82\x07" ".tsk.tr" \ |
f52feaa506006947b546dde5b954b59aae1bad98
Bug 1349705, add domain name constraints for "TUBITAK Kamu SM SSL Kok Sertifikasi - Surum 1" to NSS function CERT_GetImposedNameConstraints, r=keeler
Kai Engert <kaie@kuix.de>
parents:
12742
diff
changeset
|
1644 |
"\x30\x09\x82\x07" ".kep.tr" \ |
f52feaa506006947b546dde5b954b59aae1bad98
Bug 1349705, add domain name constraints for "TUBITAK Kamu SM SSL Kok Sertifikasi - Surum 1" to NSS function CERT_GetImposedNameConstraints, r=keeler
Kai Engert <kaie@kuix.de>
parents:
12742
diff
changeset
|
1645 |
"\x30\x09\x82\x07" ".bel.tr" \ |
f52feaa506006947b546dde5b954b59aae1bad98
Bug 1349705, add domain name constraints for "TUBITAK Kamu SM SSL Kok Sertifikasi - Surum 1" to NSS function CERT_GetImposedNameConstraints, r=keeler
Kai Engert <kaie@kuix.de>
parents:
12742
diff
changeset
|
1646 |
"\x30\x09\x82\x07" ".edu.tr" \ |
f52feaa506006947b546dde5b954b59aae1bad98
Bug 1349705, add domain name constraints for "TUBITAK Kamu SM SSL Kok Sertifikasi - Surum 1" to NSS function CERT_GetImposedNameConstraints, r=keeler
Kai Engert <kaie@kuix.de>
parents:
12742
diff
changeset
|
1647 |
"\x30\x09\x82\x07" ".org.tr" |
f52feaa506006947b546dde5b954b59aae1bad98
Bug 1349705, add domain name constraints for "TUBITAK Kamu SM SSL Kok Sertifikasi - Surum 1" to NSS function CERT_GetImposedNameConstraints, r=keeler
Kai Engert <kaie@kuix.de>
parents:
12742
diff
changeset
|
1648 |
|
11757
0b33a08417988d298e025b0584ce653ca040574b
Bug 1227624 - lib/certdb clang-format protection, r=wtc
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11709
diff
changeset
|
1649 |
/* clang-format on */ |
11420
07da6d86695a416e404dfa4ff973fb0ab26ed49b
Bug 991783 - Add generic mechanism to add name constraints to built-in certificates r=wtc
Richard Barnes <rbarnes@mozilla.com>
parents:
11178
diff
changeset
|
1650 |
|
13264
f52feaa506006947b546dde5b954b59aae1bad98
Bug 1349705, add domain name constraints for "TUBITAK Kamu SM SSL Kok Sertifikasi - Surum 1" to NSS function CERT_GetImposedNameConstraints, r=keeler
Kai Engert <kaie@kuix.de>
parents:
12742
diff
changeset
|
1651 |
static const SECItem builtInNameConstraints[][2] = { |
f52feaa506006947b546dde5b954b59aae1bad98
Bug 1349705, add domain name constraints for "TUBITAK Kamu SM SSL Kok Sertifikasi - Surum 1" to NSS function CERT_GetImposedNameConstraints, r=keeler
Kai Engert <kaie@kuix.de>
parents:
12742
diff
changeset
|
1652 |
NAME_CONSTRAINTS_ENTRY(ANSSI), |
f52feaa506006947b546dde5b954b59aae1bad98
Bug 1349705, add domain name constraints for "TUBITAK Kamu SM SSL Kok Sertifikasi - Surum 1" to NSS function CERT_GetImposedNameConstraints, r=keeler
Kai Engert <kaie@kuix.de>
parents:
12742
diff
changeset
|
1653 |
NAME_CONSTRAINTS_ENTRY(TUBITAK1) |
f52feaa506006947b546dde5b954b59aae1bad98
Bug 1349705, add domain name constraints for "TUBITAK Kamu SM SSL Kok Sertifikasi - Surum 1" to NSS function CERT_GetImposedNameConstraints, r=keeler
Kai Engert <kaie@kuix.de>
parents:
12742
diff
changeset
|
1654 |
}; |
11420
07da6d86695a416e404dfa4ff973fb0ab26ed49b
Bug 991783 - Add generic mechanism to add name constraints to built-in certificates r=wtc
Richard Barnes <rbarnes@mozilla.com>
parents:
11178
diff
changeset
|
1655 |
|
07da6d86695a416e404dfa4ff973fb0ab26ed49b
Bug 991783 - Add generic mechanism to add name constraints to built-in certificates r=wtc
Richard Barnes <rbarnes@mozilla.com>
parents:
11178
diff
changeset
|
1656 |
SECStatus |
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1657 |
CERT_GetImposedNameConstraints(const SECItem *derSubject, SECItem *extensions) |
11107
742307da0792066e4b4ca46aa7b28399868507ae
Bug 952572, Hard code ANSSI(DCISS) to french gov dns space, r=kaie
Camilo Viecco <cviecco@mozilla.com>
parents:
10759
diff
changeset
|
1658 |
{ |
11420
07da6d86695a416e404dfa4ff973fb0ab26ed49b
Bug 991783 - Add generic mechanism to add name constraints to built-in certificates r=wtc
Richard Barnes <rbarnes@mozilla.com>
parents:
11178
diff
changeset
|
1659 |
size_t i; |
07da6d86695a416e404dfa4ff973fb0ab26ed49b
Bug 991783 - Add generic mechanism to add name constraints to built-in certificates r=wtc
Richard Barnes <rbarnes@mozilla.com>
parents:
11178
diff
changeset
|
1660 |
|
07da6d86695a416e404dfa4ff973fb0ab26ed49b
Bug 991783 - Add generic mechanism to add name constraints to built-in certificates r=wtc
Richard Barnes <rbarnes@mozilla.com>
parents:
11178
diff
changeset
|
1661 |
if (!extensions) { |
07da6d86695a416e404dfa4ff973fb0ab26ed49b
Bug 991783 - Add generic mechanism to add name constraints to built-in certificates r=wtc
Richard Barnes <rbarnes@mozilla.com>
parents:
11178
diff
changeset
|
1662 |
PORT_SetError(SEC_ERROR_INVALID_ARGS); |
07da6d86695a416e404dfa4ff973fb0ab26ed49b
Bug 991783 - Add generic mechanism to add name constraints to built-in certificates r=wtc
Richard Barnes <rbarnes@mozilla.com>
parents:
11178
diff
changeset
|
1663 |
return SECFailure; |
07da6d86695a416e404dfa4ff973fb0ab26ed49b
Bug 991783 - Add generic mechanism to add name constraints to built-in certificates r=wtc
Richard Barnes <rbarnes@mozilla.com>
parents:
11178
diff
changeset
|
1664 |
} |
11107
742307da0792066e4b4ca46aa7b28399868507ae
Bug 952572, Hard code ANSSI(DCISS) to french gov dns space, r=kaie
Camilo Viecco <cviecco@mozilla.com>
parents:
10759
diff
changeset
|
1665 |
|
11420
07da6d86695a416e404dfa4ff973fb0ab26ed49b
Bug 991783 - Add generic mechanism to add name constraints to built-in certificates r=wtc
Richard Barnes <rbarnes@mozilla.com>
parents:
11178
diff
changeset
|
1666 |
for (i = 0; i < PR_ARRAY_SIZE(builtInNameConstraints); ++i) { |
07da6d86695a416e404dfa4ff973fb0ab26ed49b
Bug 991783 - Add generic mechanism to add name constraints to built-in certificates r=wtc
Richard Barnes <rbarnes@mozilla.com>
parents:
11178
diff
changeset
|
1667 |
if (SECITEM_ItemsAreEqual(derSubject, &builtInNameConstraints[i][0])) { |
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1668 |
return SECITEM_CopyItem(NULL, extensions, |
11420
07da6d86695a416e404dfa4ff973fb0ab26ed49b
Bug 991783 - Add generic mechanism to add name constraints to built-in certificates r=wtc
Richard Barnes <rbarnes@mozilla.com>
parents:
11178
diff
changeset
|
1669 |
&builtInNameConstraints[i][1]); |
07da6d86695a416e404dfa4ff973fb0ab26ed49b
Bug 991783 - Add generic mechanism to add name constraints to built-in certificates r=wtc
Richard Barnes <rbarnes@mozilla.com>
parents:
11178
diff
changeset
|
1670 |
} |
07da6d86695a416e404dfa4ff973fb0ab26ed49b
Bug 991783 - Add generic mechanism to add name constraints to built-in certificates r=wtc
Richard Barnes <rbarnes@mozilla.com>
parents:
11178
diff
changeset
|
1671 |
} |
11107
742307da0792066e4b4ca46aa7b28399868507ae
Bug 952572, Hard code ANSSI(DCISS) to french gov dns space, r=kaie
Camilo Viecco <cviecco@mozilla.com>
parents:
10759
diff
changeset
|
1672 |
|
11420
07da6d86695a416e404dfa4ff973fb0ab26ed49b
Bug 991783 - Add generic mechanism to add name constraints to built-in certificates r=wtc
Richard Barnes <rbarnes@mozilla.com>
parents:
11178
diff
changeset
|
1673 |
PORT_SetError(SEC_ERROR_EXTENSION_NOT_FOUND); |
07da6d86695a416e404dfa4ff973fb0ab26ed49b
Bug 991783 - Add generic mechanism to add name constraints to built-in certificates r=wtc
Richard Barnes <rbarnes@mozilla.com>
parents:
11178
diff
changeset
|
1674 |
return SECFailure; |
11107
742307da0792066e4b4ca46aa7b28399868507ae
Bug 952572, Hard code ANSSI(DCISS) to french gov dns space, r=kaie
Camilo Viecco <cviecco@mozilla.com>
parents:
10759
diff
changeset
|
1675 |
} |
742307da0792066e4b4ca46aa7b28399868507ae
Bug 952572, Hard code ANSSI(DCISS) to french gov dns space, r=kaie
Camilo Viecco <cviecco@mozilla.com>
parents:
10759
diff
changeset
|
1676 |
|
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1677 |
/* |
11420
07da6d86695a416e404dfa4ff973fb0ab26ed49b
Bug 991783 - Add generic mechanism to add name constraints to built-in certificates r=wtc
Richard Barnes <rbarnes@mozilla.com>
parents:
11178
diff
changeset
|
1678 |
* Extract the name constraints extension from the CA cert. |
07da6d86695a416e404dfa4ff973fb0ab26ed49b
Bug 991783 - Add generic mechanism to add name constraints to built-in certificates r=wtc
Richard Barnes <rbarnes@mozilla.com>
parents:
11178
diff
changeset
|
1679 |
* If the certificate contains no name constraints extension, but |
07da6d86695a416e404dfa4ff973fb0ab26ed49b
Bug 991783 - Add generic mechanism to add name constraints to built-in certificates r=wtc
Richard Barnes <rbarnes@mozilla.com>
parents:
11178
diff
changeset
|
1680 |
* CERT_GetImposedNameConstraints returns a name constraints extension |
07da6d86695a416e404dfa4ff973fb0ab26ed49b
Bug 991783 - Add generic mechanism to add name constraints to built-in certificates r=wtc
Richard Barnes <rbarnes@mozilla.com>
parents:
11178
diff
changeset
|
1681 |
* for the subject of the certificate, then that extension will be returned. |
07da6d86695a416e404dfa4ff973fb0ab26ed49b
Bug 991783 - Add generic mechanism to add name constraints to built-in certificates r=wtc
Richard Barnes <rbarnes@mozilla.com>
parents:
11178
diff
changeset
|
1682 |
*/ |
7829
03f4f61e700a94409cd538c76259557d4d58b0c2
Bug 358785: Merge NSS_LIBPKIX_BRANCH back to trunk. r=julien, r=alexei
alexei.volkov.bugs%sun.com
parents:
7288
diff
changeset
|
1683 |
SECStatus |
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1684 |
CERT_FindNameConstraintsExten(PLArenaPool *arena, CERTCertificate *cert, |
7829
03f4f61e700a94409cd538c76259557d4d58b0c2
Bug 358785: Merge NSS_LIBPKIX_BRANCH back to trunk. r=julien, r=alexei
alexei.volkov.bugs%sun.com
parents:
7288
diff
changeset
|
1685 |
CERTNameConstraints **constraints) |
03f4f61e700a94409cd538c76259557d4d58b0c2
Bug 358785: Merge NSS_LIBPKIX_BRANCH back to trunk. r=julien, r=alexei
alexei.volkov.bugs%sun.com
parents:
7288
diff
changeset
|
1686 |
{ |
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1687 |
SECStatus rv = SECSuccess; |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1688 |
SECItem constraintsExtension; |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1689 |
void *mark = NULL; |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1690 |
|
7829
03f4f61e700a94409cd538c76259557d4d58b0c2
Bug 358785: Merge NSS_LIBPKIX_BRANCH back to trunk. r=julien, r=alexei
alexei.volkov.bugs%sun.com
parents:
7288
diff
changeset
|
1691 |
*constraints = NULL; |
03f4f61e700a94409cd538c76259557d4d58b0c2
Bug 358785: Merge NSS_LIBPKIX_BRANCH back to trunk. r=julien, r=alexei
alexei.volkov.bugs%sun.com
parents:
7288
diff
changeset
|
1692 |
|
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1693 |
rv = CERT_FindCertExtension(cert, SEC_OID_X509_NAME_CONSTRAINTS, |
7829
03f4f61e700a94409cd538c76259557d4d58b0c2
Bug 358785: Merge NSS_LIBPKIX_BRANCH back to trunk. r=julien, r=alexei
alexei.volkov.bugs%sun.com
parents:
7288
diff
changeset
|
1694 |
&constraintsExtension); |
03f4f61e700a94409cd538c76259557d4d58b0c2
Bug 358785: Merge NSS_LIBPKIX_BRANCH back to trunk. r=julien, r=alexei
alexei.volkov.bugs%sun.com
parents:
7288
diff
changeset
|
1695 |
if (rv != SECSuccess) { |
11107
742307da0792066e4b4ca46aa7b28399868507ae
Bug 952572, Hard code ANSSI(DCISS) to french gov dns space, r=kaie
Camilo Viecco <cviecco@mozilla.com>
parents:
10759
diff
changeset
|
1696 |
if (PORT_GetError() != SEC_ERROR_EXTENSION_NOT_FOUND) { |
742307da0792066e4b4ca46aa7b28399868507ae
Bug 952572, Hard code ANSSI(DCISS) to french gov dns space, r=kaie
Camilo Viecco <cviecco@mozilla.com>
parents:
10759
diff
changeset
|
1697 |
return rv; |
7829
03f4f61e700a94409cd538c76259557d4d58b0c2
Bug 358785: Merge NSS_LIBPKIX_BRANCH back to trunk. r=julien, r=alexei
alexei.volkov.bugs%sun.com
parents:
7288
diff
changeset
|
1698 |
} |
11420
07da6d86695a416e404dfa4ff973fb0ab26ed49b
Bug 991783 - Add generic mechanism to add name constraints to built-in certificates r=wtc
Richard Barnes <rbarnes@mozilla.com>
parents:
11178
diff
changeset
|
1699 |
rv = CERT_GetImposedNameConstraints(&cert->derSubject, |
07da6d86695a416e404dfa4ff973fb0ab26ed49b
Bug 991783 - Add generic mechanism to add name constraints to built-in certificates r=wtc
Richard Barnes <rbarnes@mozilla.com>
parents:
11178
diff
changeset
|
1700 |
&constraintsExtension); |
11107
742307da0792066e4b4ca46aa7b28399868507ae
Bug 952572, Hard code ANSSI(DCISS) to french gov dns space, r=kaie
Camilo Viecco <cviecco@mozilla.com>
parents:
10759
diff
changeset
|
1701 |
if (rv != SECSuccess) { |
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1702 |
if (PORT_GetError() == SEC_ERROR_EXTENSION_NOT_FOUND) { |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1703 |
return SECSuccess; |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1704 |
} |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1705 |
return rv; |
11107
742307da0792066e4b4ca46aa7b28399868507ae
Bug 952572, Hard code ANSSI(DCISS) to french gov dns space, r=kaie
Camilo Viecco <cviecco@mozilla.com>
parents:
10759
diff
changeset
|
1706 |
} |
7829
03f4f61e700a94409cd538c76259557d4d58b0c2
Bug 358785: Merge NSS_LIBPKIX_BRANCH back to trunk. r=julien, r=alexei
alexei.volkov.bugs%sun.com
parents:
7288
diff
changeset
|
1707 |
} |
03f4f61e700a94409cd538c76259557d4d58b0c2
Bug 358785: Merge NSS_LIBPKIX_BRANCH back to trunk. r=julien, r=alexei
alexei.volkov.bugs%sun.com
parents:
7288
diff
changeset
|
1708 |
|
03f4f61e700a94409cd538c76259557d4d58b0c2
Bug 358785: Merge NSS_LIBPKIX_BRANCH back to trunk. r=julien, r=alexei
alexei.volkov.bugs%sun.com
parents:
7288
diff
changeset
|
1709 |
mark = PORT_ArenaMark(arena); |
03f4f61e700a94409cd538c76259557d4d58b0c2
Bug 358785: Merge NSS_LIBPKIX_BRANCH back to trunk. r=julien, r=alexei
alexei.volkov.bugs%sun.com
parents:
7288
diff
changeset
|
1710 |
|
03f4f61e700a94409cd538c76259557d4d58b0c2
Bug 358785: Merge NSS_LIBPKIX_BRANCH back to trunk. r=julien, r=alexei
alexei.volkov.bugs%sun.com
parents:
7288
diff
changeset
|
1711 |
*constraints = cert_DecodeNameConstraints(arena, &constraintsExtension); |
03f4f61e700a94409cd538c76259557d4d58b0c2
Bug 358785: Merge NSS_LIBPKIX_BRANCH back to trunk. r=julien, r=alexei
alexei.volkov.bugs%sun.com
parents:
7288
diff
changeset
|
1712 |
if (*constraints == NULL) { /* decode failed */ |
03f4f61e700a94409cd538c76259557d4d58b0c2
Bug 358785: Merge NSS_LIBPKIX_BRANCH back to trunk. r=julien, r=alexei
alexei.volkov.bugs%sun.com
parents:
7288
diff
changeset
|
1713 |
rv = SECFailure; |
03f4f61e700a94409cd538c76259557d4d58b0c2
Bug 358785: Merge NSS_LIBPKIX_BRANCH back to trunk. r=julien, r=alexei
alexei.volkov.bugs%sun.com
parents:
7288
diff
changeset
|
1714 |
} |
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1715 |
PORT_Free(constraintsExtension.data); |
7829
03f4f61e700a94409cd538c76259557d4d58b0c2
Bug 358785: Merge NSS_LIBPKIX_BRANCH back to trunk. r=julien, r=alexei
alexei.volkov.bugs%sun.com
parents:
7288
diff
changeset
|
1716 |
|
03f4f61e700a94409cd538c76259557d4d58b0c2
Bug 358785: Merge NSS_LIBPKIX_BRANCH back to trunk. r=julien, r=alexei
alexei.volkov.bugs%sun.com
parents:
7288
diff
changeset
|
1717 |
if (rv == SECFailure) { |
03f4f61e700a94409cd538c76259557d4d58b0c2
Bug 358785: Merge NSS_LIBPKIX_BRANCH back to trunk. r=julien, r=alexei
alexei.volkov.bugs%sun.com
parents:
7288
diff
changeset
|
1718 |
PORT_ArenaRelease(arena, mark); |
11940
0e6e8153513e40154dc1907c2aff318b5342e73e
Bug 1251185, NSS clang-format: else line-break fixes, r=ttaubert
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11776
diff
changeset
|
1719 |
} else { |
7829
03f4f61e700a94409cd538c76259557d4d58b0c2
Bug 358785: Merge NSS_LIBPKIX_BRANCH back to trunk. r=julien, r=alexei
alexei.volkov.bugs%sun.com
parents:
7288
diff
changeset
|
1720 |
PORT_ArenaUnmark(arena, mark); |
03f4f61e700a94409cd538c76259557d4d58b0c2
Bug 358785: Merge NSS_LIBPKIX_BRANCH back to trunk. r=julien, r=alexei
alexei.volkov.bugs%sun.com
parents:
7288
diff
changeset
|
1721 |
} |
03f4f61e700a94409cd538c76259557d4d58b0c2
Bug 358785: Merge NSS_LIBPKIX_BRANCH back to trunk. r=julien, r=alexei
alexei.volkov.bugs%sun.com
parents:
7288
diff
changeset
|
1722 |
|
03f4f61e700a94409cd538c76259557d4d58b0c2
Bug 358785: Merge NSS_LIBPKIX_BRANCH back to trunk. r=julien, r=alexei
alexei.volkov.bugs%sun.com
parents:
7288
diff
changeset
|
1723 |
return rv; |
03f4f61e700a94409cd538c76259557d4d58b0c2
Bug 358785: Merge NSS_LIBPKIX_BRANCH back to trunk. r=julien, r=alexei
alexei.volkov.bugs%sun.com
parents:
7288
diff
changeset
|
1724 |
} |
03f4f61e700a94409cd538c76259557d4d58b0c2
Bug 358785: Merge NSS_LIBPKIX_BRANCH back to trunk. r=julien, r=alexei
alexei.volkov.bugs%sun.com
parents:
7288
diff
changeset
|
1725 |
|
03f4f61e700a94409cd538c76259557d4d58b0c2
Bug 358785: Merge NSS_LIBPKIX_BRANCH back to trunk. r=julien, r=alexei
alexei.volkov.bugs%sun.com
parents:
7288
diff
changeset
|
1726 |
/* Verify name against all the constraints relevant to that type of |
03f4f61e700a94409cd538c76259557d4d58b0c2
Bug 358785: Merge NSS_LIBPKIX_BRANCH back to trunk. r=julien, r=alexei
alexei.volkov.bugs%sun.com
parents:
7288
diff
changeset
|
1727 |
** the name. |
03f4f61e700a94409cd538c76259557d4d58b0c2
Bug 358785: Merge NSS_LIBPKIX_BRANCH back to trunk. r=julien, r=alexei
alexei.volkov.bugs%sun.com
parents:
7288
diff
changeset
|
1728 |
*/ |
03f4f61e700a94409cd538c76259557d4d58b0c2
Bug 358785: Merge NSS_LIBPKIX_BRANCH back to trunk. r=julien, r=alexei
alexei.volkov.bugs%sun.com
parents:
7288
diff
changeset
|
1729 |
SECStatus |
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1730 |
CERT_CheckNameSpace(PLArenaPool *arena, const CERTNameConstraints *constraints, |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1731 |
const CERTGeneralName *currentName) |
7829
03f4f61e700a94409cd538c76259557d4d58b0c2
Bug 358785: Merge NSS_LIBPKIX_BRANCH back to trunk. r=julien, r=alexei
alexei.volkov.bugs%sun.com
parents:
7288
diff
changeset
|
1732 |
{ |
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1733 |
CERTNameConstraint *matchingConstraints; |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1734 |
SECStatus rv = SECSuccess; |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1735 |
|
7829
03f4f61e700a94409cd538c76259557d4d58b0c2
Bug 358785: Merge NSS_LIBPKIX_BRANCH back to trunk. r=julien, r=alexei
alexei.volkov.bugs%sun.com
parents:
7288
diff
changeset
|
1736 |
if (constraints->excluded != NULL) { |
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1737 |
rv = CERT_GetNameConstraintByType(constraints->excluded, |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1738 |
currentName->type, |
7829
03f4f61e700a94409cd538c76259557d4d58b0c2
Bug 358785: Merge NSS_LIBPKIX_BRANCH back to trunk. r=julien, r=alexei
alexei.volkov.bugs%sun.com
parents:
7288
diff
changeset
|
1739 |
&matchingConstraints, arena); |
03f4f61e700a94409cd538c76259557d4d58b0c2
Bug 358785: Merge NSS_LIBPKIX_BRANCH back to trunk. r=julien, r=alexei
alexei.volkov.bugs%sun.com
parents:
7288
diff
changeset
|
1740 |
if (rv == SECSuccess && matchingConstraints != NULL) { |
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1741 |
rv = cert_CompareNameWithConstraints(currentName, |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1742 |
matchingConstraints, PR_TRUE); |
7829
03f4f61e700a94409cd538c76259557d4d58b0c2
Bug 358785: Merge NSS_LIBPKIX_BRANCH back to trunk. r=julien, r=alexei
alexei.volkov.bugs%sun.com
parents:
7288
diff
changeset
|
1743 |
} |
03f4f61e700a94409cd538c76259557d4d58b0c2
Bug 358785: Merge NSS_LIBPKIX_BRANCH back to trunk. r=julien, r=alexei
alexei.volkov.bugs%sun.com
parents:
7288
diff
changeset
|
1744 |
if (rv != SECSuccess) { |
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1745 |
return (rv); |
7829
03f4f61e700a94409cd538c76259557d4d58b0c2
Bug 358785: Merge NSS_LIBPKIX_BRANCH back to trunk. r=julien, r=alexei
alexei.volkov.bugs%sun.com
parents:
7288
diff
changeset
|
1746 |
} |
03f4f61e700a94409cd538c76259557d4d58b0c2
Bug 358785: Merge NSS_LIBPKIX_BRANCH back to trunk. r=julien, r=alexei
alexei.volkov.bugs%sun.com
parents:
7288
diff
changeset
|
1747 |
} |
03f4f61e700a94409cd538c76259557d4d58b0c2
Bug 358785: Merge NSS_LIBPKIX_BRANCH back to trunk. r=julien, r=alexei
alexei.volkov.bugs%sun.com
parents:
7288
diff
changeset
|
1748 |
|
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1749 |
if (constraints->permited != NULL) { |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1750 |
rv = CERT_GetNameConstraintByType(constraints->permited, |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1751 |
currentName->type, |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1752 |
&matchingConstraints, arena); |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1753 |
if (rv == SECSuccess && matchingConstraints != NULL) { |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1754 |
rv = cert_CompareNameWithConstraints(currentName, |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1755 |
matchingConstraints, PR_FALSE); |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1756 |
} |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1757 |
if (rv != SECSuccess) { |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1758 |
return (rv); |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1759 |
} |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1760 |
} |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1761 |
|
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1762 |
return (SECSuccess); |
7829
03f4f61e700a94409cd538c76259557d4d58b0c2
Bug 358785: Merge NSS_LIBPKIX_BRANCH back to trunk. r=julien, r=alexei
alexei.volkov.bugs%sun.com
parents:
7288
diff
changeset
|
1763 |
} |
03f4f61e700a94409cd538c76259557d4d58b0c2
Bug 358785: Merge NSS_LIBPKIX_BRANCH back to trunk. r=julien, r=alexei
alexei.volkov.bugs%sun.com
parents:
7288
diff
changeset
|
1764 |
|
4520
ba501a6c027d6e9b139eeddb1cc13be74aaec237
Rewrite of cert_CompareNameWithConstraints and the static functions it
nelsonb%netscape.com
parents:
4508
diff
changeset
|
1765 |
/* Extract the name constraints extension from the CA cert. |
ba501a6c027d6e9b139eeddb1cc13be74aaec237
Rewrite of cert_CompareNameWithConstraints and the static functions it
nelsonb%netscape.com
parents:
4508
diff
changeset
|
1766 |
** Test each and every name in namesList against all the constraints |
ba501a6c027d6e9b139eeddb1cc13be74aaec237
Rewrite of cert_CompareNameWithConstraints and the static functions it
nelsonb%netscape.com
parents:
4508
diff
changeset
|
1767 |
** relevant to that type of name. |
7829
03f4f61e700a94409cd538c76259557d4d58b0c2
Bug 358785: Merge NSS_LIBPKIX_BRANCH back to trunk. r=julien, r=alexei
alexei.volkov.bugs%sun.com
parents:
7288
diff
changeset
|
1768 |
** Returns NULL in pBadCert for success, if all names are acceptable. |
4520
ba501a6c027d6e9b139eeddb1cc13be74aaec237
Rewrite of cert_CompareNameWithConstraints and the static functions it
nelsonb%netscape.com
parents:
4508
diff
changeset
|
1769 |
** If some name is not acceptable, returns a pointer to the cert that |
ba501a6c027d6e9b139eeddb1cc13be74aaec237
Rewrite of cert_CompareNameWithConstraints and the static functions it
nelsonb%netscape.com
parents:
4508
diff
changeset
|
1770 |
** contained that name. |
ba501a6c027d6e9b139eeddb1cc13be74aaec237
Rewrite of cert_CompareNameWithConstraints and the static functions it
nelsonb%netscape.com
parents:
4508
diff
changeset
|
1771 |
*/ |
4573
df5098f0764affec5de2607e48cb2854e186458a
Move the declaration for CERT_CompareNameSpace from cert.h to genname.h
nelsonb%netscape.com
parents:
4572
diff
changeset
|
1772 |
SECStatus |
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1773 |
CERT_CompareNameSpace(CERTCertificate *cert, CERTGeneralName *namesList, |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1774 |
CERTCertificate **certsList, PLArenaPool *reqArena, |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1775 |
CERTCertificate **pBadCert) |
206
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
1776 |
{ |
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1777 |
SECStatus rv = SECSuccess; |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1778 |
CERTNameConstraints *constraints; |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1779 |
CERTGeneralName *currentName; |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1780 |
int count = 0; |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1781 |
CERTCertificate *badCert = NULL; |
8027
32f77bee42f93d6d6323e9d098ce5a4f00d15fca
Bug 394040 - Tstclnt crashed in NISCC testing, r=julien
nelson%bolyard.com
parents:
7985
diff
changeset
|
1782 |
|
32f77bee42f93d6d6323e9d098ce5a4f00d15fca
Bug 394040 - Tstclnt crashed in NISCC testing, r=julien
nelson%bolyard.com
parents:
7985
diff
changeset
|
1783 |
/* If no names to check, then no names can be bad. */ |
32f77bee42f93d6d6323e9d098ce5a4f00d15fca
Bug 394040 - Tstclnt crashed in NISCC testing, r=julien
nelson%bolyard.com
parents:
7985
diff
changeset
|
1784 |
if (!namesList) |
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1785 |
goto done; |
7829
03f4f61e700a94409cd538c76259557d4d58b0c2
Bug 358785: Merge NSS_LIBPKIX_BRANCH back to trunk. r=julien, r=alexei
alexei.volkov.bugs%sun.com
parents:
7288
diff
changeset
|
1786 |
rv = CERT_FindNameConstraintsExten(reqArena, cert, &constraints); |
4536
324efa4007330cd11669ed42d4ffa9bc5330b911
Further refinements to the Name Constraints checking logic, to make it
nelsonb%netscape.com
parents:
4520
diff
changeset
|
1787 |
if (rv != SECSuccess) { |
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1788 |
count = -1; |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1789 |
goto done; |
4536
324efa4007330cd11669ed42d4ffa9bc5330b911
Further refinements to the Name Constraints checking logic, to make it
nelsonb%netscape.com
parents:
4520
diff
changeset
|
1790 |
} |
7829
03f4f61e700a94409cd538c76259557d4d58b0c2
Bug 358785: Merge NSS_LIBPKIX_BRANCH back to trunk. r=julien, r=alexei
alexei.volkov.bugs%sun.com
parents:
7288
diff
changeset
|
1791 |
|
206
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
1792 |
currentName = namesList; |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
1793 |
do { |
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1794 |
if (constraints) { |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1795 |
rv = CERT_CheckNameSpace(reqArena, constraints, currentName); |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1796 |
if (rv != SECSuccess) { |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1797 |
break; |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1798 |
} |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1799 |
} |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1800 |
currentName = CERT_GetNextGeneralName(currentName); |
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1801 |
count++; |
206
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
1802 |
} while (currentName != namesList); |
7829
03f4f61e700a94409cd538c76259557d4d58b0c2
Bug 358785: Merge NSS_LIBPKIX_BRANCH back to trunk. r=julien, r=alexei
alexei.volkov.bugs%sun.com
parents:
7288
diff
changeset
|
1803 |
|
4573
df5098f0764affec5de2607e48cb2854e186458a
Move the declaration for CERT_CompareNameSpace from cert.h to genname.h
nelsonb%netscape.com
parents:
4572
diff
changeset
|
1804 |
done: |
df5098f0764affec5de2607e48cb2854e186458a
Move the declaration for CERT_CompareNameSpace from cert.h to genname.h
nelsonb%netscape.com
parents:
4572
diff
changeset
|
1805 |
if (rv != SECSuccess) { |
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1806 |
badCert = (count >= 0) ? certsList[count] : cert; |
4573
df5098f0764affec5de2607e48cb2854e186458a
Move the declaration for CERT_CompareNameSpace from cert.h to genname.h
nelsonb%netscape.com
parents:
4572
diff
changeset
|
1807 |
} |
df5098f0764affec5de2607e48cb2854e186458a
Move the declaration for CERT_CompareNameSpace from cert.h to genname.h
nelsonb%netscape.com
parents:
4572
diff
changeset
|
1808 |
if (pBadCert) |
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1809 |
*pBadCert = badCert; |
7829
03f4f61e700a94409cd538c76259557d4d58b0c2
Bug 358785: Merge NSS_LIBPKIX_BRANCH back to trunk. r=julien, r=alexei
alexei.volkov.bugs%sun.com
parents:
7288
diff
changeset
|
1810 |
|
4573
df5098f0764affec5de2607e48cb2854e186458a
Move the declaration for CERT_CompareNameSpace from cert.h to genname.h
nelsonb%netscape.com
parents:
4572
diff
changeset
|
1811 |
return rv; |
206
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
1812 |
} |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
1813 |
|
4557
f860395e272947a29b22099f8e5f515b710e1de8
a) Add more missing null pointer tests that I discovered. Bug 208649.
nelsonb%netscape.com
parents:
4544
diff
changeset
|
1814 |
#if 0 |
f860395e272947a29b22099f8e5f515b710e1de8
a) Add more missing null pointer tests that I discovered. Bug 208649.
nelsonb%netscape.com
parents:
4544
diff
changeset
|
1815 |
/* not exported from shared libs, not used. Turn on if we ever need it. */ |
206
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
1816 |
SECStatus |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
1817 |
CERT_CompareGeneralName(CERTGeneralName *a, CERTGeneralName *b) |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
1818 |
{ |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
1819 |
CERTGeneralName *currentA; |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
1820 |
CERTGeneralName *currentB; |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
1821 |
PRBool found; |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
1822 |
|
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
1823 |
currentA = a; |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
1824 |
currentB = b; |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
1825 |
if (a != NULL) { |
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1826 |
do { |
206
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
1827 |
if (currentB == NULL) { |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
1828 |
return SECFailure; |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
1829 |
} |
5047
07097a7fb9e0dd0733cdb210ba7943bc4f6e66fc
Export cert functions that decode extensions and traverse decoded
nelsonb%netscape.com
parents:
5021
diff
changeset
|
1830 |
currentB = CERT_GetNextGeneralName(currentB); |
07097a7fb9e0dd0733cdb210ba7943bc4f6e66fc
Export cert functions that decode extensions and traverse decoded
nelsonb%netscape.com
parents:
5021
diff
changeset
|
1831 |
currentA = CERT_GetNextGeneralName(currentA); |
206
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
1832 |
} while (currentA != a); |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
1833 |
} |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
1834 |
if (currentB != b) { |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
1835 |
return SECFailure; |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
1836 |
} |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
1837 |
currentA = a; |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
1838 |
do { |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
1839 |
currentB = b; |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
1840 |
found = PR_FALSE; |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
1841 |
do { |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
1842 |
if (currentB->type == currentA->type) { |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
1843 |
switch (currentB->type) { |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
1844 |
case certDNSName: |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
1845 |
case certEDIPartyName: |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
1846 |
case certIPAddress: |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
1847 |
case certRegisterID: |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
1848 |
case certRFC822Name: |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
1849 |
case certX400Address: |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
1850 |
case certURI: |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
1851 |
if (SECITEM_CompareItem(¤tA->name.other, |
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1852 |
¤tB->name.other) |
206
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
1853 |
== SECEqual) { |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
1854 |
found = PR_TRUE; |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
1855 |
} |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
1856 |
break; |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
1857 |
case certOtherName: |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
1858 |
if (SECITEM_CompareItem(¤tA->name.OthName.oid, |
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1859 |
¤tB->name.OthName.oid) |
206
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
1860 |
== SECEqual && |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
1861 |
SECITEM_CompareItem(¤tA->name.OthName.name, |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
1862 |
¤tB->name.OthName.name) |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
1863 |
== SECEqual) { |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
1864 |
found = PR_TRUE; |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
1865 |
} |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
1866 |
break; |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
1867 |
case certDirectoryName: |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
1868 |
if (CERT_CompareName(¤tA->name.directoryName, |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
1869 |
¤tB->name.directoryName) |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
1870 |
== SECEqual) { |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
1871 |
found = PR_TRUE; |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
1872 |
} |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
1873 |
} |
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1874 |
|
206
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
1875 |
} |
5047
07097a7fb9e0dd0733cdb210ba7943bc4f6e66fc
Export cert functions that decode extensions and traverse decoded
nelsonb%netscape.com
parents:
5021
diff
changeset
|
1876 |
currentB = CERT_GetNextGeneralName(currentB); |
206
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
1877 |
} while (currentB != b && found != PR_TRUE); |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
1878 |
if (found != PR_TRUE) { |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
1879 |
return SECFailure; |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
1880 |
} |
5047
07097a7fb9e0dd0733cdb210ba7943bc4f6e66fc
Export cert functions that decode extensions and traverse decoded
nelsonb%netscape.com
parents:
5021
diff
changeset
|
1881 |
currentA = CERT_GetNextGeneralName(currentA); |
206
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
1882 |
} while (currentA != a); |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
1883 |
return SECSuccess; |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
1884 |
} |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
1885 |
|
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
1886 |
SECStatus |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
1887 |
CERT_CompareGeneralNameLists(CERTGeneralNameList *a, CERTGeneralNameList *b) |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
1888 |
{ |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
1889 |
SECStatus rv; |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
1890 |
|
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
1891 |
if (a == b) { |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
1892 |
return SECSuccess; |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
1893 |
} |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
1894 |
if (a != NULL && b != NULL) { |
1031
d82fc414b80dd1c98a99f0f57fa4b98edd470945
Bugzilla: 64132. NSS lock instrumentation
larryh%netscape.com
parents:
713
diff
changeset
|
1895 |
PZ_Lock(a->lock); |
d82fc414b80dd1c98a99f0f57fa4b98edd470945
Bugzilla: 64132. NSS lock instrumentation
larryh%netscape.com
parents:
713
diff
changeset
|
1896 |
PZ_Lock(b->lock); |
206
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
1897 |
rv = CERT_CompareGeneralName(a->name, b->name); |
1031
d82fc414b80dd1c98a99f0f57fa4b98edd470945
Bugzilla: 64132. NSS lock instrumentation
larryh%netscape.com
parents:
713
diff
changeset
|
1898 |
PZ_Unlock(a->lock); |
d82fc414b80dd1c98a99f0f57fa4b98edd470945
Bugzilla: 64132. NSS lock instrumentation
larryh%netscape.com
parents:
713
diff
changeset
|
1899 |
PZ_Unlock(b->lock); |
206
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
1900 |
} else { |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
1901 |
rv = SECFailure; |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
1902 |
} |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
1903 |
return rv; |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
1904 |
} |
4557
f860395e272947a29b22099f8e5f515b710e1de8
a) Add more missing null pointer tests that I discovered. Bug 208649.
nelsonb%netscape.com
parents:
4544
diff
changeset
|
1905 |
#endif |
206
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
1906 |
|
4557
f860395e272947a29b22099f8e5f515b710e1de8
a) Add more missing null pointer tests that I discovered. Bug 208649.
nelsonb%netscape.com
parents:
4544
diff
changeset
|
1907 |
#if 0 |
f860395e272947a29b22099f8e5f515b710e1de8
a) Add more missing null pointer tests that I discovered. Bug 208649.
nelsonb%netscape.com
parents:
4544
diff
changeset
|
1908 |
/* This function is not exported from NSS shared libraries, and is not |
f860395e272947a29b22099f8e5f515b710e1de8
a) Add more missing null pointer tests that I discovered. Bug 208649.
nelsonb%netscape.com
parents:
4544
diff
changeset
|
1909 |
** used inside of NSS. |
f860395e272947a29b22099f8e5f515b710e1de8
a) Add more missing null pointer tests that I discovered. Bug 208649.
nelsonb%netscape.com
parents:
4544
diff
changeset
|
1910 |
** XXX it doesn't check for failed allocations. :-( |
f860395e272947a29b22099f8e5f515b710e1de8
a) Add more missing null pointer tests that I discovered. Bug 208649.
nelsonb%netscape.com
parents:
4544
diff
changeset
|
1911 |
*/ |
206
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
1912 |
void * |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
1913 |
CERT_GetGeneralNameFromListByType(CERTGeneralNameList *list, |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
1914 |
CERTGeneralNameType type, |
10759
0b69d6cc3acd5e723d4cafefd956e61466b80c53
Bug 802430: Allow NSS to be built with NO_NSPR_10_SUPPORT, r=wtc
Brian Smith <bsmith@mozilla.com>
parents:
10705
diff
changeset
|
1915 |
PLArenaPool *arena) |
206
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
1916 |
{ |
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1917 |
CERTName *name = NULL; |
206
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
1918 |
SECItem *item = NULL; |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
1919 |
OtherName *other = NULL; |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
1920 |
OtherName *tmpOther = NULL; |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
1921 |
void *data; |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
1922 |
|
1031
d82fc414b80dd1c98a99f0f57fa4b98edd470945
Bugzilla: 64132. NSS lock instrumentation
larryh%netscape.com
parents:
713
diff
changeset
|
1923 |
PZ_Lock(list->lock); |
206
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
1924 |
data = CERT_GetGeneralNameByType(list->name, type, PR_FALSE); |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
1925 |
if (data != NULL) { |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
1926 |
switch (type) { |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
1927 |
case certDNSName: |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
1928 |
case certEDIPartyName: |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
1929 |
case certIPAddress: |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
1930 |
case certRegisterID: |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
1931 |
case certRFC822Name: |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
1932 |
case certX400Address: |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
1933 |
case certURI: |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
1934 |
if (arena != NULL) { |
4557
f860395e272947a29b22099f8e5f515b710e1de8
a) Add more missing null pointer tests that I discovered. Bug 208649.
nelsonb%netscape.com
parents:
4544
diff
changeset
|
1935 |
item = PORT_ArenaNew(arena, SECItem); |
206
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
1936 |
if (item != NULL) { |
4557
f860395e272947a29b22099f8e5f515b710e1de8
a) Add more missing null pointer tests that I discovered. Bug 208649.
nelsonb%netscape.com
parents:
4544
diff
changeset
|
1937 |
XXX SECITEM_CopyItem(arena, item, (SECItem *) data); |
206
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
1938 |
} |
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1939 |
} else { |
206
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
1940 |
item = SECITEM_DupItem((SECItem *) data); |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
1941 |
} |
1031
d82fc414b80dd1c98a99f0f57fa4b98edd470945
Bugzilla: 64132. NSS lock instrumentation
larryh%netscape.com
parents:
713
diff
changeset
|
1942 |
PZ_Unlock(list->lock); |
206
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
1943 |
return item; |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
1944 |
case certOtherName: |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
1945 |
other = (OtherName *) data; |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
1946 |
if (arena != NULL) { |
4557
f860395e272947a29b22099f8e5f515b710e1de8
a) Add more missing null pointer tests that I discovered. Bug 208649.
nelsonb%netscape.com
parents:
4544
diff
changeset
|
1947 |
tmpOther = PORT_ArenaNew(arena, OtherName); |
206
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
1948 |
} else { |
4557
f860395e272947a29b22099f8e5f515b710e1de8
a) Add more missing null pointer tests that I discovered. Bug 208649.
nelsonb%netscape.com
parents:
4544
diff
changeset
|
1949 |
tmpOther = PORT_New(OtherName); |
206
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
1950 |
} |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
1951 |
if (tmpOther != NULL) { |
4557
f860395e272947a29b22099f8e5f515b710e1de8
a) Add more missing null pointer tests that I discovered. Bug 208649.
nelsonb%netscape.com
parents:
4544
diff
changeset
|
1952 |
XXX SECITEM_CopyItem(arena, &tmpOther->oid, &other->oid); |
f860395e272947a29b22099f8e5f515b710e1de8
a) Add more missing null pointer tests that I discovered. Bug 208649.
nelsonb%netscape.com
parents:
4544
diff
changeset
|
1953 |
XXX SECITEM_CopyItem(arena, &tmpOther->name, &other->name); |
206
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
1954 |
} |
1031
d82fc414b80dd1c98a99f0f57fa4b98edd470945
Bugzilla: 64132. NSS lock instrumentation
larryh%netscape.com
parents:
713
diff
changeset
|
1955 |
PZ_Unlock(list->lock); |
206
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
1956 |
return tmpOther; |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
1957 |
case certDirectoryName: |
4557
f860395e272947a29b22099f8e5f515b710e1de8
a) Add more missing null pointer tests that I discovered. Bug 208649.
nelsonb%netscape.com
parents:
4544
diff
changeset
|
1958 |
if (arena) { |
f860395e272947a29b22099f8e5f515b710e1de8
a) Add more missing null pointer tests that I discovered. Bug 208649.
nelsonb%netscape.com
parents:
4544
diff
changeset
|
1959 |
name = PORT_ArenaZNew(list->arena, CERTName); |
f860395e272947a29b22099f8e5f515b710e1de8
a) Add more missing null pointer tests that I discovered. Bug 208649.
nelsonb%netscape.com
parents:
4544
diff
changeset
|
1960 |
if (name) { |
f860395e272947a29b22099f8e5f515b710e1de8
a) Add more missing null pointer tests that I discovered. Bug 208649.
nelsonb%netscape.com
parents:
4544
diff
changeset
|
1961 |
XXX CERT_CopyName(arena, name, (CERTName *) data); |
206
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
1962 |
} |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
1963 |
} |
4557
f860395e272947a29b22099f8e5f515b710e1de8
a) Add more missing null pointer tests that I discovered. Bug 208649.
nelsonb%netscape.com
parents:
4544
diff
changeset
|
1964 |
PZ_Unlock(list->lock); |
f860395e272947a29b22099f8e5f515b710e1de8
a) Add more missing null pointer tests that I discovered. Bug 208649.
nelsonb%netscape.com
parents:
4544
diff
changeset
|
1965 |
return name; |
206
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
1966 |
} |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
1967 |
} |
1031
d82fc414b80dd1c98a99f0f57fa4b98edd470945
Bugzilla: 64132. NSS lock instrumentation
larryh%netscape.com
parents:
713
diff
changeset
|
1968 |
PZ_Unlock(list->lock); |
206
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
1969 |
return NULL; |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
1970 |
} |
4557
f860395e272947a29b22099f8e5f515b710e1de8
a) Add more missing null pointer tests that I discovered. Bug 208649.
nelsonb%netscape.com
parents:
4544
diff
changeset
|
1971 |
#endif |
206
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
1972 |
|
4557
f860395e272947a29b22099f8e5f515b710e1de8
a) Add more missing null pointer tests that I discovered. Bug 208649.
nelsonb%netscape.com
parents:
4544
diff
changeset
|
1973 |
#if 0 |
f860395e272947a29b22099f8e5f515b710e1de8
a) Add more missing null pointer tests that I discovered. Bug 208649.
nelsonb%netscape.com
parents:
4544
diff
changeset
|
1974 |
/* This function is not exported from NSS shared libraries, and is not |
f860395e272947a29b22099f8e5f515b710e1de8
a) Add more missing null pointer tests that I discovered. Bug 208649.
nelsonb%netscape.com
parents:
4544
diff
changeset
|
1975 |
** used inside of NSS. |
f860395e272947a29b22099f8e5f515b710e1de8
a) Add more missing null pointer tests that I discovered. Bug 208649.
nelsonb%netscape.com
parents:
4544
diff
changeset
|
1976 |
** XXX it should NOT be a void function, since it does allocations |
f860395e272947a29b22099f8e5f515b710e1de8
a) Add more missing null pointer tests that I discovered. Bug 208649.
nelsonb%netscape.com
parents:
4544
diff
changeset
|
1977 |
** that can fail. |
f860395e272947a29b22099f8e5f515b710e1de8
a) Add more missing null pointer tests that I discovered. Bug 208649.
nelsonb%netscape.com
parents:
4544
diff
changeset
|
1978 |
*/ |
206
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
1979 |
void |
11776
3896627e2a2f67d234f2dcef6eea9b7f1819f23d
Bug 1227624 - clang format on lib/certdb with minor manual corrections, r=kaie
Franziskus Kiefer <franziskuskiefer@gmail.com>
parents:
11757
diff
changeset
|
1980 |
CERT_AddGeneralNameToList(CERTGeneralNameList *list, |
206
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
1981 |
CERTGeneralNameType type, |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
1982 |
void *data, SECItem *oid) |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
1983 |
{ |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
1984 |
CERTGeneralName *name; |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
1985 |
|
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
1986 |
if (list != NULL && data != NULL) { |
1031
d82fc414b80dd1c98a99f0f57fa4b98edd470945
Bugzilla: 64132. NSS lock instrumentation
larryh%netscape.com
parents:
713
diff
changeset
|
1987 |
PZ_Lock(list->lock); |
7829
03f4f61e700a94409cd538c76259557d4d58b0c2
Bug 358785: Merge NSS_LIBPKIX_BRANCH back to trunk. r=julien, r=alexei
alexei.volkov.bugs%sun.com
parents:
7288
diff
changeset
|
1988 |
name = CERT_NewGeneralName(list->arena, type); |
4557
f860395e272947a29b22099f8e5f515b710e1de8
a) Add more missing null pointer tests that I discovered. Bug 208649.
nelsonb%netscape.com
parents:
4544
diff
changeset
|
1989 |
if (!name) |
f860395e272947a29b22099f8e5f515b710e1de8
a) Add more missing null pointer tests that I discovered. Bug 208649.
nelsonb%netscape.com
parents:
4544
diff
changeset
|
1990 |
goto done; |
206
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
1991 |
switch (type) { |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
1992 |
case certDNSName: |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
1993 |
case certEDIPartyName: |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
1994 |
case certIPAddress: |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
1995 |
case certRegisterID: |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
1996 |
case certRFC822Name: |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
1997 |
case certX400Address: |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
1998 |
case certURI: |
4557
f860395e272947a29b22099f8e5f515b710e1de8
a) Add more missing null pointer tests that I discovered. Bug 208649.
nelsonb%netscape.com
parents:
4544
diff
changeset
|
1999 |
XXX SECITEM_CopyItem(list->arena, &name->name.other, (SECItem *)data); |
206
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
2000 |
break; |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
2001 |
case certOtherName: |
4557
f860395e272947a29b22099f8e5f515b710e1de8
a) Add more missing null pointer tests that I discovered. Bug 208649.
nelsonb%netscape.com
parents:
4544
diff
changeset
|
2002 |
XXX SECITEM_CopyItem(list->arena, &name->name.OthName.name, |
206
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
2003 |
(SECItem *) data); |
4557
f860395e272947a29b22099f8e5f515b710e1de8
a) Add more missing null pointer tests that I discovered. Bug 208649.
nelsonb%netscape.com
parents:
4544
diff
changeset
|
2004 |
XXX SECITEM_CopyItem(list->arena, &name->name.OthName.oid, |
206
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
2005 |
oid); |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
2006 |
break; |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
2007 |
case certDirectoryName: |
4557
f860395e272947a29b22099f8e5f515b710e1de8
a) Add more missing null pointer tests that I discovered. Bug 208649.
nelsonb%netscape.com
parents:
4544
diff
changeset
|
2008 |
XXX CERT_CopyName(list->arena, &name->name.directoryName, |
206
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
2009 |
(CERTName *) data); |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
2010 |
break; |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
2011 |
} |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
2012 |
list->name = cert_CombineNamesLists(list->name, name); |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
2013 |
list->len++; |
4557
f860395e272947a29b22099f8e5f515b710e1de8
a) Add more missing null pointer tests that I discovered. Bug 208649.
nelsonb%netscape.com
parents:
4544
diff
changeset
|
2014 |
done: |
1031
d82fc414b80dd1c98a99f0f57fa4b98edd470945
Bugzilla: 64132. NSS lock instrumentation
larryh%netscape.com
parents:
713
diff
changeset
|
2015 |
PZ_Unlock(list->lock); |
206
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
2016 |
} |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
2017 |
return; |
4ca6e95453644d479278092289806c37227d6da7
Initial NSS Open Source checkin
relyea%netscape.com
parents:
diff
changeset
|
2018 |
} |
4557
f860395e272947a29b22099f8e5f515b710e1de8
a) Add more missing null pointer tests that I discovered. Bug 208649.
nelsonb%netscape.com
parents:
4544
diff
changeset
|
2019 |
#endif |