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

Side by Side Diff: mozilla/security/nss/lib/libpkix/pkix_pl_nss/module/pkix_pl_httpcertstore.c

Issue 12383037: Enable libpkix to handle AIA chasing when compiled statically (Closed) Base URL: http://src.chromium.org/svn/trunk/deps/third_party/nss/
Patch Set: Created 7 years, 9 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 | Annotate | Revision Log
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 * pkix_pl_httpcertstore.c 5 * pkix_pl_httpcertstore.c
6 * 6 *
7 * HTTPCertStore Function Definitions 7 * HTTPCertStore Function Definitions
8 * 8 *
9 */ 9 */
10 10
(...skipping 183 matching lines...) Expand 10 before | Expand all | Expand 10 after
194 } 194 }
195 } 195 }
196 } 196 }
197 197
198 return SECSuccess; 198 return SECSuccess;
199 } 199 }
200 200
201 201
202 typedef SECStatus (*pkix_DecodeCertsFunc)(char *certbuf, int certlen, 202 typedef SECStatus (*pkix_DecodeCertsFunc)(char *certbuf, int certlen,
203 CERTImportCertificateFunc f, void *arg ); 203 CERTImportCertificateFunc f, void *arg );
204 204 #ifdef NSS_STATIC
205 extern SECStatus CERT_DecodeCertPackage(char*, int, CERTImportCertificateFunc, v oid*);
wtc 2013/03/01 00:29:47 This seems to be longer than 80 chars. I would inc
206 #endif
205 207
206 struct pkix_DecodeFuncStr { 208 struct pkix_DecodeFuncStr {
207 pkix_DecodeCertsFunc func; /* function pointer to the 209 pkix_DecodeCertsFunc func; /* function pointer to the
208 * CERT_DecodeCertPackage function */ 210 * CERT_DecodeCertPackage function */
209 PRLibrary *smimeLib; /* Pointer to the smime shared lib*/ 211 PRLibrary *smimeLib; /* Pointer to the smime shared lib*/
210 PRCallOnceType once; 212 PRCallOnceType once;
211 }; 213 };
212 214
213 static struct pkix_DecodeFuncStr pkix_decodeFunc; 215 static struct pkix_DecodeFuncStr pkix_decodeFunc;
214 static const PRCallOnceType pkix_pristine; 216 static const PRCallOnceType pkix_pristine;
215 217
216 #define SMIME_LIB_NAME SHLIB_PREFIX"smime3."SHLIB_SUFFIX 218 #define SMIME_LIB_NAME SHLIB_PREFIX"smime3."SHLIB_SUFFIX
217 219
218 /* 220 /*
219 * load the smime library and look up the SEC_ReadPKCS7Certs function. 221 * load the smime library and look up the SEC_ReadPKCS7Certs function.
220 * we do this so we don't have a circular depenency on the smime library, 222 * we do this so we don't have a circular depenency on the smime library,
221 * and also so we don't have to load the smime library in applications that 223 * and also so we don't have to load the smime library in applications that
222 * don't use it. 224 * don't use it.
223 */ 225 */
224 static PRStatus PR_CALLBACK pkix_getDecodeFunction(void) 226 static PRStatus PR_CALLBACK pkix_getDecodeFunction(void)
225 { 227 {
228 #ifdef NSS_STATIC
229 pkix_decodeFunc.func = &CERT_DecodeCertPackage;
wtc 2013/03/01 00:29:47 The & is not necessary in C89 and later.
230 return PR_SUCCESS;
231 #else
226 pkix_decodeFunc.smimeLib = 232 pkix_decodeFunc.smimeLib =
227 PR_LoadLibrary(SHLIB_PREFIX"smime3."SHLIB_SUFFIX); 233 PR_LoadLibrary(SHLIB_PREFIX"smime3."SHLIB_SUFFIX);
228 if (pkix_decodeFunc.smimeLib == NULL) { 234 if (pkix_decodeFunc.smimeLib == NULL) {
229 return PR_FAILURE; 235 return PR_FAILURE;
230 } 236 }
231 237
232 pkix_decodeFunc.func = (pkix_DecodeCertsFunc) PR_FindFunctionSymbol( 238 pkix_decodeFunc.func = (pkix_DecodeCertsFunc) PR_FindFunctionSymbol(
233 pkix_decodeFunc.smimeLib, "CERT_DecodeCertPackage"); 239 pkix_decodeFunc.smimeLib, "CERT_DecodeCertPackage");
234 if (!pkix_decodeFunc.func) { 240 if (!pkix_decodeFunc.func) {
235 return PR_FAILURE; 241 return PR_FAILURE;
236 } 242 }
237 return PR_SUCCESS; 243 return PR_SUCCESS;
238 244 #endif
239 } 245 }
240 246
241 /* 247 /*
242 * clears our global state on shutdown. 248 * clears our global state on shutdown.
243 */ 249 */
244 void 250 void
245 pkix_pl_HttpCertStore_Shutdown(void *plContext) 251 pkix_pl_HttpCertStore_Shutdown(void *plContext)
246 { 252 {
247 if (pkix_decodeFunc.smimeLib) { 253 if (pkix_decodeFunc.smimeLib) {
248 PR_UnloadLibrary(pkix_decodeFunc.smimeLib); 254 PR_UnloadLibrary(pkix_decodeFunc.smimeLib);
(...skipping 889 matching lines...) Expand 10 before | Expand all | Expand 10 after
1138 cleanup: 1144 cleanup:
1139 1145
1140 PKIX_DECREF(formatString); 1146 PKIX_DECREF(formatString);
1141 PKIX_DECREF(hostString); 1147 PKIX_DECREF(hostString);
1142 PKIX_DECREF(domainString); 1148 PKIX_DECREF(domainString);
1143 PKIX_DECREF(socket); 1149 PKIX_DECREF(socket);
1144 1150
1145 PKIX_RETURN(CERTSTORE); 1151 PKIX_RETURN(CERTSTORE);
1146 } 1152 }
1147 1153
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698