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

Side by Side Diff: nss/lib/ckfw/builtins/bobject.c

Issue 1843333003: Update NSPR to 4.12 and NSS to 3.23 on iOS (Closed) Base URL: https://chromium.googlesource.com/chromium/deps/nss.git@master
Patch Set: Created 4 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 /* This Source Code Form is subject to the terms of the Mozilla Public 1 /* This Source Code Form is subject to the terms of the Mozilla Public
2 * License, v. 2.0. If a copy of the MPL was not distributed with this 2 * License, v. 2.0. If a copy of the MPL was not distributed with this
3 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ 3 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
4 4
5 #include "builtins.h" 5 #include "builtins.h"
6 6
7 /* 7 /*
8 * builtins/object.c 8 * builtins/object.c
9 * 9 *
10 * This file implements the NSSCKMDObject object for the 10 * This file implements the NSSCKMDObject object for the
11 * "builtin objects" cryptoki module. 11 * "builtin objects" cryptoki module.
12 */ 12 */
13 13
14 /* 14 /*
15 * Finalize - unneeded 15 * Finalize - unneeded
16 * Destroy - CKR_SESSION_READ_ONLY 16 * Destroy - CKR_SESSION_READ_ONLY
17 * IsTokenObject - CK_TRUE 17 * IsTokenObject - CK_TRUE
18 * GetAttributeCount 18 * GetAttributeCount
19 * GetAttributeTypes 19 * GetAttributeTypes
20 * GetAttributeSize 20 * GetAttributeSize
21 * GetAttribute 21 * GetAttribute
22 * SetAttribute - unneeded 22 * SetAttribute - unneeded
23 * GetObjectSize 23 * GetObjectSize
24 */ 24 */
25 25
26 static CK_RV 26 static CK_RV
27 builtins_mdObject_Destroy 27 builtins_mdObject_Destroy(
28 ( 28 NSSCKMDObject *mdObject,
29 NSSCKMDObject *mdObject, 29 NSSCKFWObject *fwObject,
30 NSSCKFWObject *fwObject, 30 NSSCKMDSession *mdSession,
31 NSSCKMDSession *mdSession, 31 NSSCKFWSession *fwSession,
32 NSSCKFWSession *fwSession, 32 NSSCKMDToken *mdToken,
33 NSSCKMDToken *mdToken, 33 NSSCKFWToken *fwToken,
34 NSSCKFWToken *fwToken, 34 NSSCKMDInstance *mdInstance,
35 NSSCKMDInstance *mdInstance, 35 NSSCKFWInstance *fwInstance)
36 NSSCKFWInstance *fwInstance
37 )
38 { 36 {
39 return CKR_SESSION_READ_ONLY; 37 return CKR_SESSION_READ_ONLY;
40 } 38 }
41 39
42 static CK_BBOOL 40 static CK_BBOOL
43 builtins_mdObject_IsTokenObject 41 builtins_mdObject_IsTokenObject(
44 ( 42 NSSCKMDObject *mdObject,
45 NSSCKMDObject *mdObject, 43 NSSCKFWObject *fwObject,
46 NSSCKFWObject *fwObject, 44 NSSCKMDSession *mdSession,
47 NSSCKMDSession *mdSession, 45 NSSCKFWSession *fwSession,
48 NSSCKFWSession *fwSession, 46 NSSCKMDToken *mdToken,
49 NSSCKMDToken *mdToken, 47 NSSCKFWToken *fwToken,
50 NSSCKFWToken *fwToken, 48 NSSCKMDInstance *mdInstance,
51 NSSCKMDInstance *mdInstance, 49 NSSCKFWInstance *fwInstance)
52 NSSCKFWInstance *fwInstance
53 )
54 { 50 {
55 return CK_TRUE; 51 return CK_TRUE;
56 } 52 }
57 53
58 static CK_ULONG 54 static CK_ULONG
59 builtins_mdObject_GetAttributeCount 55 builtins_mdObject_GetAttributeCount(
60 ( 56 NSSCKMDObject *mdObject,
61 NSSCKMDObject *mdObject, 57 NSSCKFWObject *fwObject,
62 NSSCKFWObject *fwObject, 58 NSSCKMDSession *mdSession,
63 NSSCKMDSession *mdSession, 59 NSSCKFWSession *fwSession,
64 NSSCKFWSession *fwSession, 60 NSSCKMDToken *mdToken,
65 NSSCKMDToken *mdToken, 61 NSSCKFWToken *fwToken,
66 NSSCKFWToken *fwToken, 62 NSSCKMDInstance *mdInstance,
67 NSSCKMDInstance *mdInstance, 63 NSSCKFWInstance *fwInstance,
68 NSSCKFWInstance *fwInstance, 64 CK_RV *pError)
69 CK_RV *pError
70 )
71 { 65 {
72 builtinsInternalObject *io = (builtinsInternalObject *)mdObject->etc; 66 builtinsInternalObject *io = (builtinsInternalObject *)mdObject->etc;
73 return io->n; 67 return io->n;
74 } 68 }
75 69
76 static CK_RV 70 static CK_RV
77 builtins_mdObject_GetAttributeTypes 71 builtins_mdObject_GetAttributeTypes(
78 ( 72 NSSCKMDObject *mdObject,
79 NSSCKMDObject *mdObject, 73 NSSCKFWObject *fwObject,
80 NSSCKFWObject *fwObject, 74 NSSCKMDSession *mdSession,
81 NSSCKMDSession *mdSession, 75 NSSCKFWSession *fwSession,
82 NSSCKFWSession *fwSession, 76 NSSCKMDToken *mdToken,
83 NSSCKMDToken *mdToken, 77 NSSCKFWToken *fwToken,
84 NSSCKFWToken *fwToken, 78 NSSCKMDInstance *mdInstance,
85 NSSCKMDInstance *mdInstance, 79 NSSCKFWInstance *fwInstance,
86 NSSCKFWInstance *fwInstance, 80 CK_ATTRIBUTE_TYPE_PTR typeArray,
87 CK_ATTRIBUTE_TYPE_PTR typeArray, 81 CK_ULONG ulCount)
88 CK_ULONG ulCount
89 )
90 { 82 {
91 builtinsInternalObject *io = (builtinsInternalObject *)mdObject->etc; 83 builtinsInternalObject *io = (builtinsInternalObject *)mdObject->etc;
92 CK_ULONG i; 84 CK_ULONG i;
93 85
94 if( io->n != ulCount ) { 86 if (io->n != ulCount) {
95 return CKR_BUFFER_TOO_SMALL; 87 return CKR_BUFFER_TOO_SMALL;
96 } 88 }
97 89
98 for( i = 0; i < io->n; i++ ) { 90 for (i = 0; i < io->n; i++) {
99 typeArray[i] = io->types[i]; 91 typeArray[i] = io->types[i];
100 } 92 }
101 93
102 return CKR_OK; 94 return CKR_OK;
103 } 95 }
104 96
105 static CK_ULONG 97 static CK_ULONG
106 builtins_mdObject_GetAttributeSize 98 builtins_mdObject_GetAttributeSize(
107 ( 99 NSSCKMDObject *mdObject,
108 NSSCKMDObject *mdObject, 100 NSSCKFWObject *fwObject,
109 NSSCKFWObject *fwObject, 101 NSSCKMDSession *mdSession,
110 NSSCKMDSession *mdSession, 102 NSSCKFWSession *fwSession,
111 NSSCKFWSession *fwSession, 103 NSSCKMDToken *mdToken,
112 NSSCKMDToken *mdToken, 104 NSSCKFWToken *fwToken,
113 NSSCKFWToken *fwToken, 105 NSSCKMDInstance *mdInstance,
114 NSSCKMDInstance *mdInstance, 106 NSSCKFWInstance *fwInstance,
115 NSSCKFWInstance *fwInstance, 107 CK_ATTRIBUTE_TYPE attribute,
116 CK_ATTRIBUTE_TYPE attribute, 108 CK_RV *pError)
117 CK_RV *pError
118 )
119 { 109 {
120 builtinsInternalObject *io = (builtinsInternalObject *)mdObject->etc; 110 builtinsInternalObject *io = (builtinsInternalObject *)mdObject->etc;
121 CK_ULONG i; 111 CK_ULONG i;
122 112
123 for( i = 0; i < io->n; i++ ) { 113 for (i = 0; i < io->n; i++) {
124 if( attribute == io->types[i] ) { 114 if (attribute == io->types[i]) {
125 return (CK_ULONG)(io->items[i].size); 115 return (CK_ULONG)(io->items[i].size);
116 }
126 } 117 }
127 }
128 118
129 *pError = CKR_ATTRIBUTE_TYPE_INVALID; 119 *pError = CKR_ATTRIBUTE_TYPE_INVALID;
130 return 0; 120 return 0;
131 } 121 }
132 122
133 static NSSCKFWItem 123 static NSSCKFWItem
134 builtins_mdObject_GetAttribute 124 builtins_mdObject_GetAttribute(
135 ( 125 NSSCKMDObject *mdObject,
136 NSSCKMDObject *mdObject, 126 NSSCKFWObject *fwObject,
137 NSSCKFWObject *fwObject, 127 NSSCKMDSession *mdSession,
138 NSSCKMDSession *mdSession, 128 NSSCKFWSession *fwSession,
139 NSSCKFWSession *fwSession, 129 NSSCKMDToken *mdToken,
140 NSSCKMDToken *mdToken, 130 NSSCKFWToken *fwToken,
141 NSSCKFWToken *fwToken, 131 NSSCKMDInstance *mdInstance,
142 NSSCKMDInstance *mdInstance, 132 NSSCKFWInstance *fwInstance,
143 NSSCKFWInstance *fwInstance, 133 CK_ATTRIBUTE_TYPE attribute,
144 CK_ATTRIBUTE_TYPE attribute, 134 CK_RV *pError)
145 CK_RV *pError
146 )
147 { 135 {
148 NSSCKFWItem mdItem; 136 NSSCKFWItem mdItem;
149 builtinsInternalObject *io = (builtinsInternalObject *)mdObject->etc; 137 builtinsInternalObject *io = (builtinsInternalObject *)mdObject->etc;
150 CK_ULONG i; 138 CK_ULONG i;
151 139
152 mdItem.needsFreeing = PR_FALSE; 140 mdItem.needsFreeing = PR_FALSE;
153 mdItem.item = (NSSItem*) NULL; 141 mdItem.item = (NSSItem *)NULL;
154 142
155 for( i = 0; i < io->n; i++ ) { 143 for (i = 0; i < io->n; i++) {
156 if( attribute == io->types[i] ) { 144 if (attribute == io->types[i]) {
157 mdItem.item = (NSSItem*) &io->items[i]; 145 mdItem.item = (NSSItem *)&io->items[i];
158 return mdItem; 146 return mdItem;
147 }
159 } 148 }
160 }
161 149
162 *pError = CKR_ATTRIBUTE_TYPE_INVALID; 150 *pError = CKR_ATTRIBUTE_TYPE_INVALID;
163 return mdItem; 151 return mdItem;
164 } 152 }
165 153
166 static CK_ULONG 154 static CK_ULONG
167 builtins_mdObject_GetObjectSize 155 builtins_mdObject_GetObjectSize(
168 ( 156 NSSCKMDObject *mdObject,
169 NSSCKMDObject *mdObject, 157 NSSCKFWObject *fwObject,
170 NSSCKFWObject *fwObject, 158 NSSCKMDSession *mdSession,
171 NSSCKMDSession *mdSession, 159 NSSCKFWSession *fwSession,
172 NSSCKFWSession *fwSession, 160 NSSCKMDToken *mdToken,
173 NSSCKMDToken *mdToken, 161 NSSCKFWToken *fwToken,
174 NSSCKFWToken *fwToken, 162 NSSCKMDInstance *mdInstance,
175 NSSCKMDInstance *mdInstance, 163 NSSCKFWInstance *fwInstance,
176 NSSCKFWInstance *fwInstance, 164 CK_RV *pError)
177 CK_RV *pError
178 )
179 { 165 {
180 builtinsInternalObject *io = (builtinsInternalObject *)mdObject->etc; 166 builtinsInternalObject *io = (builtinsInternalObject *)mdObject->etc;
181 CK_ULONG i; 167 CK_ULONG i;
182 CK_ULONG rv = sizeof(CK_ULONG); 168 CK_ULONG rv = sizeof(CK_ULONG);
183 169
184 for( i = 0; i < io->n; i++ ) { 170 for (i = 0; i < io->n; i++) {
185 rv += sizeof(CK_ATTRIBUTE_TYPE) + sizeof(NSSItem) + io->items[i].size; 171 rv += sizeof(CK_ATTRIBUTE_TYPE) + sizeof(NSSItem) + io->items[i].size;
186 } 172 }
187 173
188 return rv; 174 return rv;
189 } 175 }
190 176
191 static const NSSCKMDObject 177 static const NSSCKMDObject
192 builtins_prototype_mdObject = { 178 builtins_prototype_mdObject = {
193 (void *)NULL, /* etc */ 179 (void *)NULL, /* etc */
194 NULL, /* Finalize */ 180 NULL, /* Finalize */
195 builtins_mdObject_Destroy, 181 builtins_mdObject_Destroy,
196 builtins_mdObject_IsTokenObject, 182 builtins_mdObject_IsTokenObject,
197 builtins_mdObject_GetAttributeCount, 183 builtins_mdObject_GetAttributeCount,
198 builtins_mdObject_GetAttributeTypes, 184 builtins_mdObject_GetAttributeTypes,
199 builtins_mdObject_GetAttributeSize, 185 builtins_mdObject_GetAttributeSize,
200 builtins_mdObject_GetAttribute, 186 builtins_mdObject_GetAttribute,
201 NULL, /* FreeAttribute */ 187 NULL, /* FreeAttribute */
202 NULL, /* SetAttribute */ 188 NULL, /* SetAttribute */
203 builtins_mdObject_GetObjectSize, 189 builtins_mdObject_GetObjectSize,
204 (void *)NULL /* null terminator */ 190 (void *)NULL /* null terminator */
205 }; 191 };
206 192
207 NSS_IMPLEMENT NSSCKMDObject * 193 NSS_IMPLEMENT NSSCKMDObject *
208 nss_builtins_CreateMDObject 194 nss_builtins_CreateMDObject(
209 ( 195 NSSArena *arena,
210 NSSArena *arena, 196 builtinsInternalObject *io,
211 builtinsInternalObject *io, 197 CK_RV *pError)
212 CK_RV *pError
213 )
214 { 198 {
215 if ( (void*)NULL == io->mdObject.etc) { 199 if ((void *)NULL == io->mdObject.etc) {
216 (void) nsslibc_memcpy(&io->mdObject,&builtins_prototype_mdObject, 200 (void)nsslibc_memcpy(&io->mdObject, &builtins_prototype_mdObject,
217 » » » » » sizeof(builtins_prototype_mdObject)); 201 sizeof(builtins_prototype_mdObject));
218 io->mdObject.etc = (void *)io; 202 io->mdObject.etc = (void *)io;
219 } 203 }
220 204
221 return &io->mdObject; 205 return &io->mdObject;
222 } 206 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698