| OLD | NEW |
| 1 /* alg1485.c - implementation of RFCs 1485, 1779 and 2253. | 1 /* alg1485.c - implementation of RFCs 1485, 1779 and 2253. |
| 2 * | 2 * |
| 3 * ***** BEGIN LICENSE BLOCK ***** | 3 * ***** BEGIN LICENSE BLOCK ***** |
| 4 * Version: MPL 1.1/GPL 2.0/LGPL 2.1 | 4 * Version: MPL 1.1/GPL 2.0/LGPL 2.1 |
| 5 * | 5 * |
| 6 * The contents of this file are subject to the Mozilla Public License Version | 6 * The contents of this file are subject to the Mozilla Public License Version |
| 7 * 1.1 (the "License"); you may not use this file except in compliance with | 7 * 1.1 (the "License"); you may not use this file except in compliance with |
| 8 * the License. You may obtain a copy of the License at | 8 * the License. You may obtain a copy of the License at |
| 9 * http://www.mozilla.org/MPL/ | 9 * http://www.mozilla.org/MPL/ |
| 10 * | 10 * |
| (...skipping 440 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 451 !IsPrintable((unsigned char*) valBuf, valLen)) | 451 !IsPrintable((unsigned char*) valBuf, valLen)) |
| 452 goto loser; | 452 goto loser; |
| 453 if (vt == SEC_ASN1_DS) { | 453 if (vt == SEC_ASN1_DS) { |
| 454 /* RFC 4630: choose PrintableString or UTF8String */ | 454 /* RFC 4630: choose PrintableString or UTF8String */ |
| 455 if (IsPrintable((unsigned char*) valBuf, valLen)) | 455 if (IsPrintable((unsigned char*) valBuf, valLen)) |
| 456 vt = SEC_ASN1_PRINTABLE_STRING; | 456 vt = SEC_ASN1_PRINTABLE_STRING; |
| 457 else | 457 else |
| 458 vt = SEC_ASN1_UTF8_STRING; | 458 vt = SEC_ASN1_UTF8_STRING; |
| 459 } | 459 } |
| 460 | 460 |
| 461 » derVal.data = valBuf; | 461 » derVal.data = (unsigned char*) valBuf; |
| 462 derVal.len = valLen; | 462 derVal.len = valLen; |
| 463 a = CERT_CreateAVAFromSECItem(arena, kind, vt, &derVal); | 463 a = CERT_CreateAVAFromSECItem(arena, kind, vt, &derVal); |
| 464 } | 464 } |
| 465 return a; | 465 return a; |
| 466 | 466 |
| 467 loser: | 467 loser: |
| 468 /* matched no kind -- invalid tag */ | 468 /* matched no kind -- invalid tag */ |
| 469 PORT_SetError(SEC_ERROR_INVALID_AVA); | 469 PORT_SetError(SEC_ERROR_INVALID_AVA); |
| 470 return 0; | 470 return 0; |
| 471 } | 471 } |
| (...skipping 502 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 974 avaValue = get_hex_string(&ava->value); | 974 avaValue = get_hex_string(&ava->value); |
| 975 if (!avaValue) { | 975 if (!avaValue) { |
| 976 if (unknownTag) | 976 if (unknownTag) |
| 977 PR_smprintf_free(unknownTag); | 977 PR_smprintf_free(unknownTag); |
| 978 return SECFailure; | 978 return SECFailure; |
| 979 } | 979 } |
| 980 } | 980 } |
| 981 | 981 |
| 982 nameLen = strlen(tagName); | 982 nameLen = strlen(tagName); |
| 983 valueLen = (useHex ? avaValue->len : | 983 valueLen = (useHex ? avaValue->len : |
| 984 » » cert_RFC1485_GetRequiredLen(avaValue->data, avaValue->len, | 984 » » cert_RFC1485_GetRequiredLen((char *)avaValue->data, avaValue->le
n, |
| 985 &mode)); | 985 &mode)); |
| 986 len = nameLen + valueLen + 2; /* Add 2 for '=' and trailing NUL */ | 986 len = nameLen + valueLen + 2; /* Add 2 for '=' and trailing NUL */ |
| 987 | 987 |
| 988 maxName = nameLen; | 988 maxName = nameLen; |
| 989 maxValue = valueLen; | 989 maxValue = valueLen; |
| 990 if (len <= sizeof(tmpBuf)) { | 990 if (len <= sizeof(tmpBuf)) { |
| 991 encodedAVA = tmpBuf; | 991 encodedAVA = tmpBuf; |
| 992 } else if (strict != CERT_N2A_READABLE) { | 992 } else if (strict != CERT_N2A_READABLE) { |
| 993 encodedAVA = PORT_Alloc(len); | 993 encodedAVA = PORT_Alloc(len); |
| 994 if (!encodedAVA) { | 994 if (!encodedAVA) { |
| (...skipping 192 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1187 avaToString(PRArenaPool *arena, CERTAVA *ava) | 1187 avaToString(PRArenaPool *arena, CERTAVA *ava) |
| 1188 { | 1188 { |
| 1189 char * buf = NULL; | 1189 char * buf = NULL; |
| 1190 SECItem* avaValue; | 1190 SECItem* avaValue; |
| 1191 int valueLen; | 1191 int valueLen; |
| 1192 | 1192 |
| 1193 avaValue = CERT_DecodeAVAValue(&ava->value); | 1193 avaValue = CERT_DecodeAVAValue(&ava->value); |
| 1194 if(!avaValue) { | 1194 if(!avaValue) { |
| 1195 return buf; | 1195 return buf; |
| 1196 } | 1196 } |
| 1197 valueLen = cert_RFC1485_GetRequiredLen(avaValue->data, avaValue->len, | 1197 valueLen = cert_RFC1485_GetRequiredLen((char *)avaValue->data, |
| 1198 » » » » » NULL) + 1; | 1198 avaValue->len, NULL) + 1; |
| 1199 if (arena) { | 1199 if (arena) { |
| 1200 buf = (char *)PORT_ArenaZAlloc(arena, valueLen); | 1200 buf = (char *)PORT_ArenaZAlloc(arena, valueLen); |
| 1201 } else { | 1201 } else { |
| 1202 buf = (char *)PORT_ZAlloc(valueLen); | 1202 buf = (char *)PORT_ZAlloc(valueLen); |
| 1203 } | 1203 } |
| 1204 if (buf) { | 1204 if (buf) { |
| 1205 SECStatus rv = escapeAndQuote(buf, valueLen, (char *)avaValue->data, | 1205 SECStatus rv = escapeAndQuote(buf, valueLen, (char *)avaValue->data, |
| 1206 avaValue->len, NULL); | 1206 avaValue->len, NULL); |
| 1207 if (rv != SECSuccess) { | 1207 if (rv != SECSuccess) { |
| 1208 if (!arena) | 1208 if (!arena) |
| (...skipping 360 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1569 { | 1569 { |
| 1570 return(CERT_GetNameElement(NULL, name, SEC_OID_AVA_DN_QUALIFIER)); | 1570 return(CERT_GetNameElement(NULL, name, SEC_OID_AVA_DN_QUALIFIER)); |
| 1571 } | 1571 } |
| 1572 | 1572 |
| 1573 char * | 1573 char * |
| 1574 CERT_GetCertUid(CERTName *name) | 1574 CERT_GetCertUid(CERTName *name) |
| 1575 { | 1575 { |
| 1576 return(CERT_GetNameElement(NULL, name, SEC_OID_RFC1274_UID)); | 1576 return(CERT_GetNameElement(NULL, name, SEC_OID_RFC1274_UID)); |
| 1577 } | 1577 } |
| 1578 | 1578 |
| OLD | NEW |