Fix label stuff.
git-svn-id: svn://10.0.0.236/trunk@112556 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
parent
0a2a5d2f95
commit
f29e33a844
@ -41,7 +41,7 @@
|
||||
#define CKHELPER_H
|
||||
|
||||
#ifdef DEBUG
|
||||
static const char CKHELPER_CVS_ID[] = "@(#) $RCSfile: ckhelper.h,v $ $Revision: 1.12 $ $Date: 2002-01-16 21:23:30 $ $Name: not supported by cvs2svn $";
|
||||
static const char CKHELPER_CVS_ID[] = "@(#) $RCSfile: ckhelper.h,v $ $Revision: 1.13 $ $Date: 2002-01-23 01:20:32 $ $Name: not supported by cvs2svn $";
|
||||
#endif /* DEBUG */
|
||||
|
||||
#ifndef NSSCKT_H
|
||||
@ -81,6 +81,7 @@ NSS_EXTERN_DATA const NSSItem g_ck_class_privkey;
|
||||
(pattr)->type = kind; \
|
||||
(pattr)->pValue = (CK_VOID_PTR)utf8; \
|
||||
(pattr)->ulValueLen = (CK_ULONG)nssUTF8_Size(utf8, NULL); \
|
||||
if ((pattr)->ulValueLen) ((pattr)->ulValueLen)--; \
|
||||
(pattr)++;
|
||||
|
||||
#define NSS_CK_SET_ATTRIBUTE_VAR(pattr, kind, var) \
|
||||
|
||||
@ -32,7 +32,7 @@
|
||||
*/
|
||||
|
||||
#ifdef DEBUG
|
||||
static const char CVS_ID[] = "@(#) $RCSfile: devobject.c,v $ $Revision: 1.12 $ $Date: 2002-01-18 03:35:18 $ $Name: not supported by cvs2svn $";
|
||||
static const char CVS_ID[] = "@(#) $RCSfile: devobject.c,v $ $Revision: 1.13 $ $Date: 2002-01-23 01:20:32 $ $Name: not supported by cvs2svn $";
|
||||
#endif /* DEBUG */
|
||||
|
||||
#ifndef DEV_H
|
||||
@ -165,8 +165,8 @@ find_object_by_template
|
||||
)
|
||||
{
|
||||
CK_SESSION_HANDLE hSession;
|
||||
CK_OBJECT_HANDLE rvObject;
|
||||
CK_ULONG count;
|
||||
CK_OBJECT_HANDLE rvObject = CK_INVALID_HANDLE;
|
||||
CK_ULONG count = 0;
|
||||
CK_RV ckrv;
|
||||
nssSession *session;
|
||||
session = (sessionOpt) ? sessionOpt : tok->defaultSession;
|
||||
@ -296,14 +296,18 @@ static NSSCertificateType
|
||||
nss_cert_type_from_ck_attrib(CK_ATTRIBUTE_PTR attrib)
|
||||
{
|
||||
CK_CERTIFICATE_TYPE ckCertType;
|
||||
if (!attrib->pValue) {
|
||||
/* default to PKIX */
|
||||
return NSSCertificateType_PKIX;
|
||||
}
|
||||
ckCertType = *((CK_ULONG *)attrib->pValue);
|
||||
switch (ckCertType) {
|
||||
case CKC_X_509:
|
||||
return NSSCertificateType_PKIX;
|
||||
break;
|
||||
default:
|
||||
return NSSCertificateType_Unknown;
|
||||
break;
|
||||
}
|
||||
return NSSCertificateType_Unknown;
|
||||
}
|
||||
|
||||
/* Create a certificate from an object handle. */
|
||||
@ -578,6 +582,7 @@ nssToken_TraverseCertificatesByNickname
|
||||
CK_ATTRIBUTE nick_template[3];
|
||||
CK_ULONG ntsize;
|
||||
NSS_CK_TEMPLATE_START(nick_template, attr, ntsize);
|
||||
NSS_CK_SET_ATTRIBUTE_UTF8(attr, CKA_LABEL, name);
|
||||
/* Set the search to token/session only if provided */
|
||||
if (search->searchType == nssTokenSearchType_SessionOnly) {
|
||||
NSS_CK_SET_ATTRIBUTE_ITEM(attr, CKA_TOKEN, &g_ck_false);
|
||||
@ -585,7 +590,6 @@ nssToken_TraverseCertificatesByNickname
|
||||
NSS_CK_SET_ATTRIBUTE_ITEM(attr, CKA_TOKEN, &g_ck_true);
|
||||
}
|
||||
NSS_CK_SET_ATTRIBUTE_ITEM(attr, CKA_CLASS, &g_ck_class_cert);
|
||||
NSS_CK_SET_ATTRIBUTE_UTF8(attr, CKA_LABEL, name);
|
||||
NSS_CK_TEMPLATE_FINISH(nick_template, attr, ntsize);
|
||||
if (search->cached) {
|
||||
nssList_SetCompareFunction(search->cached, compare_cert_by_issuer_sn);
|
||||
@ -603,7 +607,7 @@ nssToken_TraverseCertificatesByNickname
|
||||
* leaving it in until I have surveyed more tokens to see if it needed.
|
||||
* well, its needed by the builtin token...
|
||||
*/
|
||||
nick_template[2].ulValueLen++;
|
||||
nick_template[0].ulValueLen++;
|
||||
nssrv = traverse_objects_by_template(token, sessionOpt,
|
||||
nick_template, ntsize,
|
||||
retrieve_cert, search);
|
||||
@ -624,6 +628,7 @@ nssToken_TraverseCertificatesByEmail
|
||||
CK_ATTRIBUTE email_template[3];
|
||||
CK_ULONG etsize;
|
||||
NSS_CK_TEMPLATE_START(email_template, attr, etsize);
|
||||
NSS_CK_SET_ATTRIBUTE_UTF8(attr, CKA_NETSCAPE_EMAIL, email);
|
||||
/* Set the search to token/session only if provided */
|
||||
if (search->searchType == nssTokenSearchType_SessionOnly) {
|
||||
NSS_CK_SET_ATTRIBUTE_ITEM(attr, CKA_TOKEN, &g_ck_false);
|
||||
@ -631,7 +636,6 @@ nssToken_TraverseCertificatesByEmail
|
||||
NSS_CK_SET_ATTRIBUTE_ITEM(attr, CKA_TOKEN, &g_ck_true);
|
||||
}
|
||||
NSS_CK_SET_ATTRIBUTE_ITEM(attr, CKA_CLASS, &g_ck_class_cert);
|
||||
NSS_CK_SET_ATTRIBUTE_UTF8(attr, CKA_NETSCAPE_EMAIL, email);
|
||||
NSS_CK_TEMPLATE_FINISH(email_template, attr, etsize);
|
||||
if (search->cached) {
|
||||
nssList_SetCompareFunction(search->cached, compare_cert_by_issuer_sn);
|
||||
@ -647,7 +651,7 @@ nssToken_TraverseCertificatesByEmail
|
||||
/* This is to workaround the fact that PKCS#11 doesn't specify
|
||||
* whether the '\0' should be included. XXX Is that still true?
|
||||
*/
|
||||
email_tmpl[1].ulValueLen++;
|
||||
email_tmpl[0].ulValueLen--;
|
||||
nssrv = traverse_objects_by_template(token, sessionOpt,
|
||||
email_tmpl, etsize,
|
||||
retrieve_cert, search);
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user