author | Sunanda Menon <Sunanda.Menon@Sun.COM> |
Mon, 01 Aug 2011 02:24:31 -0700 | |
changeset 444 | a2a87847a213 |
permissions | -rw-r--r-- |
444
a2a87847a213
7068640 Move MySQL 5.1 from SFW to Userland
Sunanda Menon <Sunanda.Menon@Sun.COM>
parents:
diff
changeset
|
1 |
=== modified file 'extra/yassl/taocrypt/include/asn.hpp' |
a2a87847a213
7068640 Move MySQL 5.1 from SFW to Userland
Sunanda Menon <Sunanda.Menon@Sun.COM>
parents:
diff
changeset
|
2 |
--- extra/yassl/taocrypt/include/asn.hpp 2007-01-29 15:54:40 +0000 |
a2a87847a213
7068640 Move MySQL 5.1 from SFW to Userland
Sunanda Menon <Sunanda.Menon@Sun.COM>
parents:
diff
changeset
|
3 |
+++ extra/yassl/taocrypt/include/asn.hpp.org 2010-01-13 05:20:45 +0000 |
a2a87847a213
7068640 Move MySQL 5.1 from SFW to Userland
Sunanda Menon <Sunanda.Menon@Sun.COM>
parents:
diff
changeset
|
4 |
@@ -305,6 +305,7 @@ private: |
a2a87847a213
7068640 Move MySQL 5.1 from SFW to Userland
Sunanda Menon <Sunanda.Menon@Sun.COM>
parents:
diff
changeset
|
5 |
bool ValidateSignature(SignerList*); |
a2a87847a213
7068640 Move MySQL 5.1 from SFW to Userland
Sunanda Menon <Sunanda.Menon@Sun.COM>
parents:
diff
changeset
|
6 |
bool ConfirmSignature(Source&); |
a2a87847a213
7068640 Move MySQL 5.1 from SFW to Userland
Sunanda Menon <Sunanda.Menon@Sun.COM>
parents:
diff
changeset
|
7 |
void GetKey(); |
a2a87847a213
7068640 Move MySQL 5.1 from SFW to Userland
Sunanda Menon <Sunanda.Menon@Sun.COM>
parents:
diff
changeset
|
8 |
+ char* AddTag(char*, const char*, const char*, word32, word32); |
a2a87847a213
7068640 Move MySQL 5.1 from SFW to Userland
Sunanda Menon <Sunanda.Menon@Sun.COM>
parents:
diff
changeset
|
9 |
void GetName(NameType); |
a2a87847a213
7068640 Move MySQL 5.1 from SFW to Userland
Sunanda Menon <Sunanda.Menon@Sun.COM>
parents:
diff
changeset
|
10 |
void GetValidity(); |
a2a87847a213
7068640 Move MySQL 5.1 from SFW to Userland
Sunanda Menon <Sunanda.Menon@Sun.COM>
parents:
diff
changeset
|
11 |
void GetDate(DateType); |
a2a87847a213
7068640 Move MySQL 5.1 from SFW to Userland
Sunanda Menon <Sunanda.Menon@Sun.COM>
parents:
diff
changeset
|
12 |
|
a2a87847a213
7068640 Move MySQL 5.1 from SFW to Userland
Sunanda Menon <Sunanda.Menon@Sun.COM>
parents:
diff
changeset
|
13 |
=== modified file 'extra/yassl/taocrypt/src/asn.cpp' |
a2a87847a213
7068640 Move MySQL 5.1 from SFW to Userland
Sunanda Menon <Sunanda.Menon@Sun.COM>
parents:
diff
changeset
|
14 |
--- extra/yassl/taocrypt/src/asn.cpp 2009-06-29 13:17:01 +0000 |
a2a87847a213
7068640 Move MySQL 5.1 from SFW to Userland
Sunanda Menon <Sunanda.Menon@Sun.COM>
parents:
diff
changeset
|
15 |
+++ extra/yassl/taocrypt/src/asn.cpp.org 2010-01-13 05:20:45 +0000 |
a2a87847a213
7068640 Move MySQL 5.1 from SFW to Userland
Sunanda Menon <Sunanda.Menon@Sun.COM>
parents:
diff
changeset
|
16 |
@@ -652,6 +652,23 @@ word32 CertDecoder::GetDigest() |
a2a87847a213
7068640 Move MySQL 5.1 from SFW to Userland
Sunanda Menon <Sunanda.Menon@Sun.COM>
parents:
diff
changeset
|
17 |
} |
a2a87847a213
7068640 Move MySQL 5.1 from SFW to Userland
Sunanda Menon <Sunanda.Menon@Sun.COM>
parents:
diff
changeset
|
18 |
|
a2a87847a213
7068640 Move MySQL 5.1 from SFW to Userland
Sunanda Menon <Sunanda.Menon@Sun.COM>
parents:
diff
changeset
|
19 |
|
a2a87847a213
7068640 Move MySQL 5.1 from SFW to Userland
Sunanda Menon <Sunanda.Menon@Sun.COM>
parents:
diff
changeset
|
20 |
+char *CertDecoder::AddTag(char *ptr, const char *buf_end, |
a2a87847a213
7068640 Move MySQL 5.1 from SFW to Userland
Sunanda Menon <Sunanda.Menon@Sun.COM>
parents:
diff
changeset
|
21 |
+ const char *tag_name, word32 tag_name_length, |
a2a87847a213
7068640 Move MySQL 5.1 from SFW to Userland
Sunanda Menon <Sunanda.Menon@Sun.COM>
parents:
diff
changeset
|
22 |
+ word32 tag_value_length) |
a2a87847a213
7068640 Move MySQL 5.1 from SFW to Userland
Sunanda Menon <Sunanda.Menon@Sun.COM>
parents:
diff
changeset
|
23 |
+{ |
a2a87847a213
7068640 Move MySQL 5.1 from SFW to Userland
Sunanda Menon <Sunanda.Menon@Sun.COM>
parents:
diff
changeset
|
24 |
+ if (ptr + tag_name_length + tag_value_length > buf_end) |
a2a87847a213
7068640 Move MySQL 5.1 from SFW to Userland
Sunanda Menon <Sunanda.Menon@Sun.COM>
parents:
diff
changeset
|
25 |
+ return 0; |
a2a87847a213
7068640 Move MySQL 5.1 from SFW to Userland
Sunanda Menon <Sunanda.Menon@Sun.COM>
parents:
diff
changeset
|
26 |
+ |
a2a87847a213
7068640 Move MySQL 5.1 from SFW to Userland
Sunanda Menon <Sunanda.Menon@Sun.COM>
parents:
diff
changeset
|
27 |
+ memcpy(ptr, tag_name, tag_name_length); |
a2a87847a213
7068640 Move MySQL 5.1 from SFW to Userland
Sunanda Menon <Sunanda.Menon@Sun.COM>
parents:
diff
changeset
|
28 |
+ ptr+= tag_name_length; |
a2a87847a213
7068640 Move MySQL 5.1 from SFW to Userland
Sunanda Menon <Sunanda.Menon@Sun.COM>
parents:
diff
changeset
|
29 |
+ |
a2a87847a213
7068640 Move MySQL 5.1 from SFW to Userland
Sunanda Menon <Sunanda.Menon@Sun.COM>
parents:
diff
changeset
|
30 |
+ memcpy(ptr, source_.get_current(), tag_value_length); |
a2a87847a213
7068640 Move MySQL 5.1 from SFW to Userland
Sunanda Menon <Sunanda.Menon@Sun.COM>
parents:
diff
changeset
|
31 |
+ ptr+= tag_value_length; |
a2a87847a213
7068640 Move MySQL 5.1 from SFW to Userland
Sunanda Menon <Sunanda.Menon@Sun.COM>
parents:
diff
changeset
|
32 |
+ |
a2a87847a213
7068640 Move MySQL 5.1 from SFW to Userland
Sunanda Menon <Sunanda.Menon@Sun.COM>
parents:
diff
changeset
|
33 |
+ return ptr; |
a2a87847a213
7068640 Move MySQL 5.1 from SFW to Userland
Sunanda Menon <Sunanda.Menon@Sun.COM>
parents:
diff
changeset
|
34 |
+} |
a2a87847a213
7068640 Move MySQL 5.1 from SFW to Userland
Sunanda Menon <Sunanda.Menon@Sun.COM>
parents:
diff
changeset
|
35 |
+ |
a2a87847a213
7068640 Move MySQL 5.1 from SFW to Userland
Sunanda Menon <Sunanda.Menon@Sun.COM>
parents:
diff
changeset
|
36 |
+ |
a2a87847a213
7068640 Move MySQL 5.1 from SFW to Userland
Sunanda Menon <Sunanda.Menon@Sun.COM>
parents:
diff
changeset
|
37 |
// process NAME, either issuer or subject |
a2a87847a213
7068640 Move MySQL 5.1 from SFW to Userland
Sunanda Menon <Sunanda.Menon@Sun.COM>
parents:
diff
changeset
|
38 |
void CertDecoder::GetName(NameType nt) |
a2a87847a213
7068640 Move MySQL 5.1 from SFW to Userland
Sunanda Menon <Sunanda.Menon@Sun.COM>
parents:
diff
changeset
|
39 |
{ |
a2a87847a213
7068640 Move MySQL 5.1 from SFW to Userland
Sunanda Menon <Sunanda.Menon@Sun.COM>
parents:
diff
changeset
|
40 |
@@ -659,11 +676,21 @@ void CertDecoder::GetName(NameType nt) |
a2a87847a213
7068640 Move MySQL 5.1 from SFW to Userland
Sunanda Menon <Sunanda.Menon@Sun.COM>
parents:
diff
changeset
|
41 |
|
a2a87847a213
7068640 Move MySQL 5.1 from SFW to Userland
Sunanda Menon <Sunanda.Menon@Sun.COM>
parents:
diff
changeset
|
42 |
SHA sha; |
a2a87847a213
7068640 Move MySQL 5.1 from SFW to Userland
Sunanda Menon <Sunanda.Menon@Sun.COM>
parents:
diff
changeset
|
43 |
word32 length = GetSequence(); // length of all distinguished names |
a2a87847a213
7068640 Move MySQL 5.1 from SFW to Userland
Sunanda Menon <Sunanda.Menon@Sun.COM>
parents:
diff
changeset
|
44 |
- assert (length < ASN_NAME_MAX); |
a2a87847a213
7068640 Move MySQL 5.1 from SFW to Userland
Sunanda Menon <Sunanda.Menon@Sun.COM>
parents:
diff
changeset
|
45 |
+ |
a2a87847a213
7068640 Move MySQL 5.1 from SFW to Userland
Sunanda Menon <Sunanda.Menon@Sun.COM>
parents:
diff
changeset
|
46 |
+ if (length >= ASN_NAME_MAX) |
a2a87847a213
7068640 Move MySQL 5.1 from SFW to Userland
Sunanda Menon <Sunanda.Menon@Sun.COM>
parents:
diff
changeset
|
47 |
+ goto err; |
a2a87847a213
7068640 Move MySQL 5.1 from SFW to Userland
Sunanda Menon <Sunanda.Menon@Sun.COM>
parents:
diff
changeset
|
48 |
length += source_.get_index(); |
a2a87847a213
7068640 Move MySQL 5.1 from SFW to Userland
Sunanda Menon <Sunanda.Menon@Sun.COM>
parents:
diff
changeset
|
49 |
|
a2a87847a213
7068640 Move MySQL 5.1 from SFW to Userland
Sunanda Menon <Sunanda.Menon@Sun.COM>
parents:
diff
changeset
|
50 |
- char* ptr = (nt == ISSUER) ? issuer_ : subject_; |
a2a87847a213
7068640 Move MySQL 5.1 from SFW to Userland
Sunanda Menon <Sunanda.Menon@Sun.COM>
parents:
diff
changeset
|
51 |
- word32 idx = 0; |
a2a87847a213
7068640 Move MySQL 5.1 from SFW to Userland
Sunanda Menon <Sunanda.Menon@Sun.COM>
parents:
diff
changeset
|
52 |
+ char *ptr, *buf_end; |
a2a87847a213
7068640 Move MySQL 5.1 from SFW to Userland
Sunanda Menon <Sunanda.Menon@Sun.COM>
parents:
diff
changeset
|
53 |
+ |
a2a87847a213
7068640 Move MySQL 5.1 from SFW to Userland
Sunanda Menon <Sunanda.Menon@Sun.COM>
parents:
diff
changeset
|
54 |
+ if (nt == ISSUER) { |
a2a87847a213
7068640 Move MySQL 5.1 from SFW to Userland
Sunanda Menon <Sunanda.Menon@Sun.COM>
parents:
diff
changeset
|
55 |
+ ptr= issuer_; |
a2a87847a213
7068640 Move MySQL 5.1 from SFW to Userland
Sunanda Menon <Sunanda.Menon@Sun.COM>
parents:
diff
changeset
|
56 |
+ buf_end= ptr + sizeof(issuer_) - 1; // 1 byte for trailing 0 |
a2a87847a213
7068640 Move MySQL 5.1 from SFW to Userland
Sunanda Menon <Sunanda.Menon@Sun.COM>
parents:
diff
changeset
|
57 |
+ } |
a2a87847a213
7068640 Move MySQL 5.1 from SFW to Userland
Sunanda Menon <Sunanda.Menon@Sun.COM>
parents:
diff
changeset
|
58 |
+ else { |
a2a87847a213
7068640 Move MySQL 5.1 from SFW to Userland
Sunanda Menon <Sunanda.Menon@Sun.COM>
parents:
diff
changeset
|
59 |
+ ptr= subject_; |
a2a87847a213
7068640 Move MySQL 5.1 from SFW to Userland
Sunanda Menon <Sunanda.Menon@Sun.COM>
parents:
diff
changeset
|
60 |
+ buf_end= ptr + sizeof(subject_) - 1; // 1 byte for trailing 0 |
a2a87847a213
7068640 Move MySQL 5.1 from SFW to Userland
Sunanda Menon <Sunanda.Menon@Sun.COM>
parents:
diff
changeset
|
61 |
+ } |
a2a87847a213
7068640 Move MySQL 5.1 from SFW to Userland
Sunanda Menon <Sunanda.Menon@Sun.COM>
parents:
diff
changeset
|
62 |
|
a2a87847a213
7068640 Move MySQL 5.1 from SFW to Userland
Sunanda Menon <Sunanda.Menon@Sun.COM>
parents:
diff
changeset
|
63 |
while (source_.get_index() < length) { |
a2a87847a213
7068640 Move MySQL 5.1 from SFW to Userland
Sunanda Menon <Sunanda.Menon@Sun.COM>
parents:
diff
changeset
|
64 |
GetSet(); |
a2a87847a213
7068640 Move MySQL 5.1 from SFW to Userland
Sunanda Menon <Sunanda.Menon@Sun.COM>
parents:
diff
changeset
|
65 |
@@ -685,47 +712,36 @@ void CertDecoder::GetName(NameType nt) |
a2a87847a213
7068640 Move MySQL 5.1 from SFW to Userland
Sunanda Menon <Sunanda.Menon@Sun.COM>
parents:
diff
changeset
|
66 |
byte id = source_.next(); |
a2a87847a213
7068640 Move MySQL 5.1 from SFW to Userland
Sunanda Menon <Sunanda.Menon@Sun.COM>
parents:
diff
changeset
|
67 |
b = source_.next(); // strType |
a2a87847a213
7068640 Move MySQL 5.1 from SFW to Userland
Sunanda Menon <Sunanda.Menon@Sun.COM>
parents:
diff
changeset
|
68 |
word32 strLen = GetLength(source_); |
a2a87847a213
7068640 Move MySQL 5.1 from SFW to Userland
Sunanda Menon <Sunanda.Menon@Sun.COM>
parents:
diff
changeset
|
69 |
- bool copy = false; |
a2a87847a213
7068640 Move MySQL 5.1 from SFW to Userland
Sunanda Menon <Sunanda.Menon@Sun.COM>
parents:
diff
changeset
|
70 |
|
a2a87847a213
7068640 Move MySQL 5.1 from SFW to Userland
Sunanda Menon <Sunanda.Menon@Sun.COM>
parents:
diff
changeset
|
71 |
- if (id == COMMON_NAME) { |
a2a87847a213
7068640 Move MySQL 5.1 from SFW to Userland
Sunanda Menon <Sunanda.Menon@Sun.COM>
parents:
diff
changeset
|
72 |
- memcpy(&ptr[idx], "/CN=", 4); |
a2a87847a213
7068640 Move MySQL 5.1 from SFW to Userland
Sunanda Menon <Sunanda.Menon@Sun.COM>
parents:
diff
changeset
|
73 |
- idx += 4; |
a2a87847a213
7068640 Move MySQL 5.1 from SFW to Userland
Sunanda Menon <Sunanda.Menon@Sun.COM>
parents:
diff
changeset
|
74 |
- copy = true; |
a2a87847a213
7068640 Move MySQL 5.1 from SFW to Userland
Sunanda Menon <Sunanda.Menon@Sun.COM>
parents:
diff
changeset
|
75 |
- } |
a2a87847a213
7068640 Move MySQL 5.1 from SFW to Userland
Sunanda Menon <Sunanda.Menon@Sun.COM>
parents:
diff
changeset
|
76 |
- else if (id == SUR_NAME) { |
a2a87847a213
7068640 Move MySQL 5.1 from SFW to Userland
Sunanda Menon <Sunanda.Menon@Sun.COM>
parents:
diff
changeset
|
77 |
- memcpy(&ptr[idx], "/SN=", 4); |
a2a87847a213
7068640 Move MySQL 5.1 from SFW to Userland
Sunanda Menon <Sunanda.Menon@Sun.COM>
parents:
diff
changeset
|
78 |
- idx += 4; |
a2a87847a213
7068640 Move MySQL 5.1 from SFW to Userland
Sunanda Menon <Sunanda.Menon@Sun.COM>
parents:
diff
changeset
|
79 |
- copy = true; |
a2a87847a213
7068640 Move MySQL 5.1 from SFW to Userland
Sunanda Menon <Sunanda.Menon@Sun.COM>
parents:
diff
changeset
|
80 |
- } |
a2a87847a213
7068640 Move MySQL 5.1 from SFW to Userland
Sunanda Menon <Sunanda.Menon@Sun.COM>
parents:
diff
changeset
|
81 |
- else if (id == COUNTRY_NAME) { |
a2a87847a213
7068640 Move MySQL 5.1 from SFW to Userland
Sunanda Menon <Sunanda.Menon@Sun.COM>
parents:
diff
changeset
|
82 |
- memcpy(&ptr[idx], "/C=", 3); |
a2a87847a213
7068640 Move MySQL 5.1 from SFW to Userland
Sunanda Menon <Sunanda.Menon@Sun.COM>
parents:
diff
changeset
|
83 |
- idx += 3; |
a2a87847a213
7068640 Move MySQL 5.1 from SFW to Userland
Sunanda Menon <Sunanda.Menon@Sun.COM>
parents:
diff
changeset
|
84 |
- copy = true; |
a2a87847a213
7068640 Move MySQL 5.1 from SFW to Userland
Sunanda Menon <Sunanda.Menon@Sun.COM>
parents:
diff
changeset
|
85 |
- } |
a2a87847a213
7068640 Move MySQL 5.1 from SFW to Userland
Sunanda Menon <Sunanda.Menon@Sun.COM>
parents:
diff
changeset
|
86 |
- else if (id == LOCALITY_NAME) { |
a2a87847a213
7068640 Move MySQL 5.1 from SFW to Userland
Sunanda Menon <Sunanda.Menon@Sun.COM>
parents:
diff
changeset
|
87 |
- memcpy(&ptr[idx], "/L=", 3); |
a2a87847a213
7068640 Move MySQL 5.1 from SFW to Userland
Sunanda Menon <Sunanda.Menon@Sun.COM>
parents:
diff
changeset
|
88 |
- idx += 3; |
a2a87847a213
7068640 Move MySQL 5.1 from SFW to Userland
Sunanda Menon <Sunanda.Menon@Sun.COM>
parents:
diff
changeset
|
89 |
- copy = true; |
a2a87847a213
7068640 Move MySQL 5.1 from SFW to Userland
Sunanda Menon <Sunanda.Menon@Sun.COM>
parents:
diff
changeset
|
90 |
- } |
a2a87847a213
7068640 Move MySQL 5.1 from SFW to Userland
Sunanda Menon <Sunanda.Menon@Sun.COM>
parents:
diff
changeset
|
91 |
- else if (id == STATE_NAME) { |
a2a87847a213
7068640 Move MySQL 5.1 from SFW to Userland
Sunanda Menon <Sunanda.Menon@Sun.COM>
parents:
diff
changeset
|
92 |
- memcpy(&ptr[idx], "/ST=", 4); |
a2a87847a213
7068640 Move MySQL 5.1 from SFW to Userland
Sunanda Menon <Sunanda.Menon@Sun.COM>
parents:
diff
changeset
|
93 |
- idx += 4; |
a2a87847a213
7068640 Move MySQL 5.1 from SFW to Userland
Sunanda Menon <Sunanda.Menon@Sun.COM>
parents:
diff
changeset
|
94 |
- copy = true; |
a2a87847a213
7068640 Move MySQL 5.1 from SFW to Userland
Sunanda Menon <Sunanda.Menon@Sun.COM>
parents:
diff
changeset
|
95 |
- } |
a2a87847a213
7068640 Move MySQL 5.1 from SFW to Userland
Sunanda Menon <Sunanda.Menon@Sun.COM>
parents:
diff
changeset
|
96 |
- else if (id == ORG_NAME) { |
a2a87847a213
7068640 Move MySQL 5.1 from SFW to Userland
Sunanda Menon <Sunanda.Menon@Sun.COM>
parents:
diff
changeset
|
97 |
- memcpy(&ptr[idx], "/O=", 3); |
a2a87847a213
7068640 Move MySQL 5.1 from SFW to Userland
Sunanda Menon <Sunanda.Menon@Sun.COM>
parents:
diff
changeset
|
98 |
- idx += 3; |
a2a87847a213
7068640 Move MySQL 5.1 from SFW to Userland
Sunanda Menon <Sunanda.Menon@Sun.COM>
parents:
diff
changeset
|
99 |
- copy = true; |
a2a87847a213
7068640 Move MySQL 5.1 from SFW to Userland
Sunanda Menon <Sunanda.Menon@Sun.COM>
parents:
diff
changeset
|
100 |
- } |
a2a87847a213
7068640 Move MySQL 5.1 from SFW to Userland
Sunanda Menon <Sunanda.Menon@Sun.COM>
parents:
diff
changeset
|
101 |
- else if (id == ORGUNIT_NAME) { |
a2a87847a213
7068640 Move MySQL 5.1 from SFW to Userland
Sunanda Menon <Sunanda.Menon@Sun.COM>
parents:
diff
changeset
|
102 |
- memcpy(&ptr[idx], "/OU=", 4); |
a2a87847a213
7068640 Move MySQL 5.1 from SFW to Userland
Sunanda Menon <Sunanda.Menon@Sun.COM>
parents:
diff
changeset
|
103 |
- idx += 4; |
a2a87847a213
7068640 Move MySQL 5.1 from SFW to Userland
Sunanda Menon <Sunanda.Menon@Sun.COM>
parents:
diff
changeset
|
104 |
- copy = true; |
a2a87847a213
7068640 Move MySQL 5.1 from SFW to Userland
Sunanda Menon <Sunanda.Menon@Sun.COM>
parents:
diff
changeset
|
105 |
- } |
a2a87847a213
7068640 Move MySQL 5.1 from SFW to Userland
Sunanda Menon <Sunanda.Menon@Sun.COM>
parents:
diff
changeset
|
106 |
- |
a2a87847a213
7068640 Move MySQL 5.1 from SFW to Userland
Sunanda Menon <Sunanda.Menon@Sun.COM>
parents:
diff
changeset
|
107 |
- if (copy) { |
a2a87847a213
7068640 Move MySQL 5.1 from SFW to Userland
Sunanda Menon <Sunanda.Menon@Sun.COM>
parents:
diff
changeset
|
108 |
- memcpy(&ptr[idx], source_.get_current(), strLen); |
a2a87847a213
7068640 Move MySQL 5.1 from SFW to Userland
Sunanda Menon <Sunanda.Menon@Sun.COM>
parents:
diff
changeset
|
109 |
- idx += strLen; |
a2a87847a213
7068640 Move MySQL 5.1 from SFW to Userland
Sunanda Menon <Sunanda.Menon@Sun.COM>
parents:
diff
changeset
|
110 |
+ switch (id) { |
a2a87847a213
7068640 Move MySQL 5.1 from SFW to Userland
Sunanda Menon <Sunanda.Menon@Sun.COM>
parents:
diff
changeset
|
111 |
+ case COMMON_NAME: |
a2a87847a213
7068640 Move MySQL 5.1 from SFW to Userland
Sunanda Menon <Sunanda.Menon@Sun.COM>
parents:
diff
changeset
|
112 |
+ if (!(ptr= AddTag(ptr, buf_end, "/CN=", 4, strLen))) |
a2a87847a213
7068640 Move MySQL 5.1 from SFW to Userland
Sunanda Menon <Sunanda.Menon@Sun.COM>
parents:
diff
changeset
|
113 |
+ goto err; |
a2a87847a213
7068640 Move MySQL 5.1 from SFW to Userland
Sunanda Menon <Sunanda.Menon@Sun.COM>
parents:
diff
changeset
|
114 |
+ break; |
a2a87847a213
7068640 Move MySQL 5.1 from SFW to Userland
Sunanda Menon <Sunanda.Menon@Sun.COM>
parents:
diff
changeset
|
115 |
+ case SUR_NAME: |
a2a87847a213
7068640 Move MySQL 5.1 from SFW to Userland
Sunanda Menon <Sunanda.Menon@Sun.COM>
parents:
diff
changeset
|
116 |
+ if (!(ptr= AddTag(ptr, buf_end, "/SN=", 4, strLen))) |
a2a87847a213
7068640 Move MySQL 5.1 from SFW to Userland
Sunanda Menon <Sunanda.Menon@Sun.COM>
parents:
diff
changeset
|
117 |
+ goto err; |
a2a87847a213
7068640 Move MySQL 5.1 from SFW to Userland
Sunanda Menon <Sunanda.Menon@Sun.COM>
parents:
diff
changeset
|
118 |
+ break; |
a2a87847a213
7068640 Move MySQL 5.1 from SFW to Userland
Sunanda Menon <Sunanda.Menon@Sun.COM>
parents:
diff
changeset
|
119 |
+ case COUNTRY_NAME: |
a2a87847a213
7068640 Move MySQL 5.1 from SFW to Userland
Sunanda Menon <Sunanda.Menon@Sun.COM>
parents:
diff
changeset
|
120 |
+ if (!(ptr= AddTag(ptr, buf_end, "/C=", 3, strLen))) |
a2a87847a213
7068640 Move MySQL 5.1 from SFW to Userland
Sunanda Menon <Sunanda.Menon@Sun.COM>
parents:
diff
changeset
|
121 |
+ goto err; |
a2a87847a213
7068640 Move MySQL 5.1 from SFW to Userland
Sunanda Menon <Sunanda.Menon@Sun.COM>
parents:
diff
changeset
|
122 |
+ break; |
a2a87847a213
7068640 Move MySQL 5.1 from SFW to Userland
Sunanda Menon <Sunanda.Menon@Sun.COM>
parents:
diff
changeset
|
123 |
+ case LOCALITY_NAME: |
a2a87847a213
7068640 Move MySQL 5.1 from SFW to Userland
Sunanda Menon <Sunanda.Menon@Sun.COM>
parents:
diff
changeset
|
124 |
+ if (!(ptr= AddTag(ptr, buf_end, "/L=", 3, strLen))) |
a2a87847a213
7068640 Move MySQL 5.1 from SFW to Userland
Sunanda Menon <Sunanda.Menon@Sun.COM>
parents:
diff
changeset
|
125 |
+ goto err; |
a2a87847a213
7068640 Move MySQL 5.1 from SFW to Userland
Sunanda Menon <Sunanda.Menon@Sun.COM>
parents:
diff
changeset
|
126 |
+ break; |
a2a87847a213
7068640 Move MySQL 5.1 from SFW to Userland
Sunanda Menon <Sunanda.Menon@Sun.COM>
parents:
diff
changeset
|
127 |
+ case STATE_NAME: |
a2a87847a213
7068640 Move MySQL 5.1 from SFW to Userland
Sunanda Menon <Sunanda.Menon@Sun.COM>
parents:
diff
changeset
|
128 |
+ if (!(ptr= AddTag(ptr, buf_end, "/ST=", 4, strLen))) |
a2a87847a213
7068640 Move MySQL 5.1 from SFW to Userland
Sunanda Menon <Sunanda.Menon@Sun.COM>
parents:
diff
changeset
|
129 |
+ goto err; |
a2a87847a213
7068640 Move MySQL 5.1 from SFW to Userland
Sunanda Menon <Sunanda.Menon@Sun.COM>
parents:
diff
changeset
|
130 |
+ break; |
a2a87847a213
7068640 Move MySQL 5.1 from SFW to Userland
Sunanda Menon <Sunanda.Menon@Sun.COM>
parents:
diff
changeset
|
131 |
+ case ORG_NAME: |
a2a87847a213
7068640 Move MySQL 5.1 from SFW to Userland
Sunanda Menon <Sunanda.Menon@Sun.COM>
parents:
diff
changeset
|
132 |
+ if (!(ptr= AddTag(ptr, buf_end, "/O=", 3, strLen))) |
a2a87847a213
7068640 Move MySQL 5.1 from SFW to Userland
Sunanda Menon <Sunanda.Menon@Sun.COM>
parents:
diff
changeset
|
133 |
+ goto err; |
a2a87847a213
7068640 Move MySQL 5.1 from SFW to Userland
Sunanda Menon <Sunanda.Menon@Sun.COM>
parents:
diff
changeset
|
134 |
+ break; |
a2a87847a213
7068640 Move MySQL 5.1 from SFW to Userland
Sunanda Menon <Sunanda.Menon@Sun.COM>
parents:
diff
changeset
|
135 |
+ case ORGUNIT_NAME: |
a2a87847a213
7068640 Move MySQL 5.1 from SFW to Userland
Sunanda Menon <Sunanda.Menon@Sun.COM>
parents:
diff
changeset
|
136 |
+ if (!(ptr= AddTag(ptr, buf_end, "/OU=", 4, strLen))) |
a2a87847a213
7068640 Move MySQL 5.1 from SFW to Userland
Sunanda Menon <Sunanda.Menon@Sun.COM>
parents:
diff
changeset
|
137 |
+ goto err; |
a2a87847a213
7068640 Move MySQL 5.1 from SFW to Userland
Sunanda Menon <Sunanda.Menon@Sun.COM>
parents:
diff
changeset
|
138 |
+ break; |
a2a87847a213
7068640 Move MySQL 5.1 from SFW to Userland
Sunanda Menon <Sunanda.Menon@Sun.COM>
parents:
diff
changeset
|
139 |
} |
a2a87847a213
7068640 Move MySQL 5.1 from SFW to Userland
Sunanda Menon <Sunanda.Menon@Sun.COM>
parents:
diff
changeset
|
140 |
|
a2a87847a213
7068640 Move MySQL 5.1 from SFW to Userland
Sunanda Menon <Sunanda.Menon@Sun.COM>
parents:
diff
changeset
|
141 |
sha.Update(source_.get_current(), strLen); |
a2a87847a213
7068640 Move MySQL 5.1 from SFW to Userland
Sunanda Menon <Sunanda.Menon@Sun.COM>
parents:
diff
changeset
|
142 |
@@ -739,23 +755,20 @@ void CertDecoder::GetName(NameType nt) |
a2a87847a213
7068640 Move MySQL 5.1 from SFW to Userland
Sunanda Menon <Sunanda.Menon@Sun.COM>
parents:
diff
changeset
|
143 |
source_.advance(oidSz + 1); |
a2a87847a213
7068640 Move MySQL 5.1 from SFW to Userland
Sunanda Menon <Sunanda.Menon@Sun.COM>
parents:
diff
changeset
|
144 |
word32 length = GetLength(source_); |
a2a87847a213
7068640 Move MySQL 5.1 from SFW to Userland
Sunanda Menon <Sunanda.Menon@Sun.COM>
parents:
diff
changeset
|
145 |
|
a2a87847a213
7068640 Move MySQL 5.1 from SFW to Userland
Sunanda Menon <Sunanda.Menon@Sun.COM>
parents:
diff
changeset
|
146 |
- if (email) { |
a2a87847a213
7068640 Move MySQL 5.1 from SFW to Userland
Sunanda Menon <Sunanda.Menon@Sun.COM>
parents:
diff
changeset
|
147 |
- memcpy(&ptr[idx], "/emailAddress=", 14); |
a2a87847a213
7068640 Move MySQL 5.1 from SFW to Userland
Sunanda Menon <Sunanda.Menon@Sun.COM>
parents:
diff
changeset
|
148 |
- idx += 14; |
a2a87847a213
7068640 Move MySQL 5.1 from SFW to Userland
Sunanda Menon <Sunanda.Menon@Sun.COM>
parents:
diff
changeset
|
149 |
- |
a2a87847a213
7068640 Move MySQL 5.1 from SFW to Userland
Sunanda Menon <Sunanda.Menon@Sun.COM>
parents:
diff
changeset
|
150 |
- memcpy(&ptr[idx], source_.get_current(), length); |
a2a87847a213
7068640 Move MySQL 5.1 from SFW to Userland
Sunanda Menon <Sunanda.Menon@Sun.COM>
parents:
diff
changeset
|
151 |
- idx += length; |
a2a87847a213
7068640 Move MySQL 5.1 from SFW to Userland
Sunanda Menon <Sunanda.Menon@Sun.COM>
parents:
diff
changeset
|
152 |
- } |
a2a87847a213
7068640 Move MySQL 5.1 from SFW to Userland
Sunanda Menon <Sunanda.Menon@Sun.COM>
parents:
diff
changeset
|
153 |
+ if (email && !(ptr= AddTag(ptr, buf_end, "/emailAddress=", 14, length))) |
a2a87847a213
7068640 Move MySQL 5.1 from SFW to Userland
Sunanda Menon <Sunanda.Menon@Sun.COM>
parents:
diff
changeset
|
154 |
+ goto err; |
a2a87847a213
7068640 Move MySQL 5.1 from SFW to Userland
Sunanda Menon <Sunanda.Menon@Sun.COM>
parents:
diff
changeset
|
155 |
|
a2a87847a213
7068640 Move MySQL 5.1 from SFW to Userland
Sunanda Menon <Sunanda.Menon@Sun.COM>
parents:
diff
changeset
|
156 |
source_.advance(length); |
a2a87847a213
7068640 Move MySQL 5.1 from SFW to Userland
Sunanda Menon <Sunanda.Menon@Sun.COM>
parents:
diff
changeset
|
157 |
} |
a2a87847a213
7068640 Move MySQL 5.1 from SFW to Userland
Sunanda Menon <Sunanda.Menon@Sun.COM>
parents:
diff
changeset
|
158 |
} |
a2a87847a213
7068640 Move MySQL 5.1 from SFW to Userland
Sunanda Menon <Sunanda.Menon@Sun.COM>
parents:
diff
changeset
|
159 |
- ptr[idx++] = 0; |
a2a87847a213
7068640 Move MySQL 5.1 from SFW to Userland
Sunanda Menon <Sunanda.Menon@Sun.COM>
parents:
diff
changeset
|
160 |
+ *ptr= 0; |
a2a87847a213
7068640 Move MySQL 5.1 from SFW to Userland
Sunanda Menon <Sunanda.Menon@Sun.COM>
parents:
diff
changeset
|
161 |
|
a2a87847a213
7068640 Move MySQL 5.1 from SFW to Userland
Sunanda Menon <Sunanda.Menon@Sun.COM>
parents:
diff
changeset
|
162 |
- if (nt == ISSUER) |
a2a87847a213
7068640 Move MySQL 5.1 from SFW to Userland
Sunanda Menon <Sunanda.Menon@Sun.COM>
parents:
diff
changeset
|
163 |
- sha.Final(issuerHash_); |
a2a87847a213
7068640 Move MySQL 5.1 from SFW to Userland
Sunanda Menon <Sunanda.Menon@Sun.COM>
parents:
diff
changeset
|
164 |
- else |
a2a87847a213
7068640 Move MySQL 5.1 from SFW to Userland
Sunanda Menon <Sunanda.Menon@Sun.COM>
parents:
diff
changeset
|
165 |
- sha.Final(subjectHash_); |
a2a87847a213
7068640 Move MySQL 5.1 from SFW to Userland
Sunanda Menon <Sunanda.Menon@Sun.COM>
parents:
diff
changeset
|
166 |
+ sha.Final(nt == ISSUER ? issuerHash_ : subjectHash_); |
a2a87847a213
7068640 Move MySQL 5.1 from SFW to Userland
Sunanda Menon <Sunanda.Menon@Sun.COM>
parents:
diff
changeset
|
167 |
+ |
a2a87847a213
7068640 Move MySQL 5.1 from SFW to Userland
Sunanda Menon <Sunanda.Menon@Sun.COM>
parents:
diff
changeset
|
168 |
+ return; |
a2a87847a213
7068640 Move MySQL 5.1 from SFW to Userland
Sunanda Menon <Sunanda.Menon@Sun.COM>
parents:
diff
changeset
|
169 |
+ |
a2a87847a213
7068640 Move MySQL 5.1 from SFW to Userland
Sunanda Menon <Sunanda.Menon@Sun.COM>
parents:
diff
changeset
|
170 |
+err: |
a2a87847a213
7068640 Move MySQL 5.1 from SFW to Userland
Sunanda Menon <Sunanda.Menon@Sun.COM>
parents:
diff
changeset
|
171 |
+ source_.SetError(CONTENT_E); |
a2a87847a213
7068640 Move MySQL 5.1 from SFW to Userland
Sunanda Menon <Sunanda.Menon@Sun.COM>
parents:
diff
changeset
|
172 |
} |
a2a87847a213
7068640 Move MySQL 5.1 from SFW to Userland
Sunanda Menon <Sunanda.Menon@Sun.COM>
parents:
diff
changeset
|
173 |