summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStef Walter <stefw@gnome.org>2012-06-19 13:05:25 +0200
committerStef Walter <stefw@gnome.org>2012-06-19 13:05:25 +0200
commit75df449520f2ca8acd38af51b0520a70b0c3b754 (patch)
treef10c9799ee856d46bf69c5acbf5f01e23f0ddc95
parent6f97ecf2773281fa2b4d38301f27d27bf6e26d0c (diff)
downloadgnome-keyring-75df449520f2ca8acd38af51b0520a70b0c3b754.tar.gz
gkm: Add gkm_log_xxx() functions for stringizing
Move gkm_util_rv_xxx() to gkm_log_rv() and add gkm_log_attr_type()
-rw-r--r--pkcs11/gkm/Makefile.am1
-rw-r--r--pkcs11/gkm/gkm-debug.h2
-rw-r--r--pkcs11/gkm/gkm-log.c291
-rw-r--r--pkcs11/gkm/gkm-log.h33
-rw-r--r--pkcs11/gkm/gkm-test.c10
-rw-r--r--pkcs11/gkm/gkm-trust.c4
-rw-r--r--pkcs11/gkm/gkm-util.c120
-rw-r--r--pkcs11/gkm/gkm-util.h4
-rw-r--r--pkcs11/wrap-layer/gkm-wrap-login.c11
-rw-r--r--pkcs11/wrap-layer/gkm-wrap-prompt.c17
10 files changed, 349 insertions, 144 deletions
diff --git a/pkcs11/gkm/Makefile.am b/pkcs11/gkm/Makefile.am
index 9928c6b0..fe1900e9 100644
--- a/pkcs11/gkm/Makefile.am
+++ b/pkcs11/gkm/Makefile.am
@@ -36,6 +36,7 @@ libgkm_la_SOURCES = \
gkm-file-tracker.c gkm-file-tracker.h \
gkm-generic-key.c gkm-generic-key.h \
gkm-hkdf-mechanism.c gkm-hkdf-mechanism.h \
+ gkm-log.c gkm-log.h \
gkm-manager.c gkm-manager.h \
gkm-memory-store.c gkm-memory-store.h \
gkm-mock.c gkm-mock.h \
diff --git a/pkcs11/gkm/gkm-debug.h b/pkcs11/gkm/gkm-debug.h
index 26b01ad8..bab7b7c7 100644
--- a/pkcs11/gkm/gkm-debug.h
+++ b/pkcs11/gkm/gkm-debug.h
@@ -22,6 +22,8 @@
#include "config.h"
+#include "gkm-log.h"
+
#include <glib.h>
G_BEGIN_DECLS
diff --git a/pkcs11/gkm/gkm-log.c b/pkcs11/gkm/gkm-log.c
new file mode 100644
index 00000000..4e817129
--- /dev/null
+++ b/pkcs11/gkm/gkm-log.c
@@ -0,0 +1,291 @@
+/*
+ * gnome-keyring
+ *
+ * Copyright (C) 2008 Stefan Walter
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+ * 02111-1307, USA.
+ */
+
+#include "config.h"
+
+#include "gkm-log.h"
+
+#include "pkcs11/pkcs11.h"
+#include "pkcs11/pkcs11i.h"
+#include "pkcs11/pkcs11n.h"
+#include "pkcs11/pkcs11x.h"
+
+const gchar*
+gkm_log_rv (CK_RV rv)
+{
+ const gchar *string = NULL;
+
+ switch (rv) {
+ #define X(x) case x: string = #x; break;
+ X (CKR_OK)
+ X (CKR_NO_EVENT)
+ X (CKR_FUNCTION_NOT_PARALLEL)
+ X (CKR_SESSION_PARALLEL_NOT_SUPPORTED)
+ X (CKR_CANCEL)
+ X (CKR_FUNCTION_CANCELED)
+ X (CKR_HOST_MEMORY)
+ X (CKR_SLOT_ID_INVALID)
+ X (CKR_GENERAL_ERROR)
+ X (CKR_FUNCTION_FAILED)
+ X (CKR_ARGUMENTS_BAD)
+ X (CKR_NEED_TO_CREATE_THREADS)
+ X (CKR_CANT_LOCK)
+ X (CKR_ATTRIBUTE_READ_ONLY)
+ X (CKR_ATTRIBUTE_SENSITIVE)
+ X (CKR_ATTRIBUTE_TYPE_INVALID)
+ X (CKR_ATTRIBUTE_VALUE_INVALID)
+ X (CKR_DATA_INVALID)
+ X (CKR_DATA_LEN_RANGE)
+ X (CKR_DEVICE_ERROR)
+ X (CKR_DEVICE_MEMORY)
+ X (CKR_DEVICE_REMOVED)
+ X (CKR_ENCRYPTED_DATA_INVALID)
+ X (CKR_ENCRYPTED_DATA_LEN_RANGE)
+ X (CKR_FUNCTION_NOT_SUPPORTED)
+ X (CKR_KEY_HANDLE_INVALID)
+ X (CKR_KEY_SIZE_RANGE)
+ X (CKR_KEY_TYPE_INCONSISTENT)
+ X (CKR_KEY_NOT_NEEDED)
+ X (CKR_KEY_CHANGED)
+ X (CKR_KEY_NEEDED)
+ X (CKR_KEY_INDIGESTIBLE)
+ X (CKR_KEY_FUNCTION_NOT_PERMITTED)
+ X (CKR_KEY_NOT_WRAPPABLE)
+ X (CKR_KEY_UNEXTRACTABLE)
+ X (CKR_MECHANISM_INVALID)
+ X (CKR_MECHANISM_PARAM_INVALID)
+ X (CKR_OBJECT_HANDLE_INVALID)
+ X (CKR_OPERATION_ACTIVE)
+ X (CKR_OPERATION_NOT_INITIALIZED)
+ X (CKR_PIN_INCORRECT)
+ X (CKR_PIN_INVALID)
+ X (CKR_PIN_LEN_RANGE)
+ X (CKR_PIN_EXPIRED)
+ X (CKR_PIN_LOCKED)
+ X (CKR_SESSION_CLOSED)
+ X (CKR_SESSION_COUNT)
+ X (CKR_SESSION_HANDLE_INVALID)
+ X (CKR_SESSION_READ_ONLY)
+ X (CKR_SESSION_EXISTS)
+ X (CKR_SESSION_READ_ONLY_EXISTS)
+ X (CKR_SESSION_READ_WRITE_SO_EXISTS)
+ X (CKR_SIGNATURE_INVALID)
+ X (CKR_SIGNATURE_LEN_RANGE)
+ X (CKR_TEMPLATE_INCOMPLETE)
+ X (CKR_TEMPLATE_INCONSISTENT)
+ X (CKR_TOKEN_NOT_PRESENT)
+ X (CKR_TOKEN_NOT_RECOGNIZED)
+ X (CKR_TOKEN_WRITE_PROTECTED)
+ X (CKR_UNWRAPPING_KEY_HANDLE_INVALID)
+ X (CKR_UNWRAPPING_KEY_SIZE_RANGE)
+ X (CKR_UNWRAPPING_KEY_TYPE_INCONSISTENT)
+ X (CKR_USER_ALREADY_LOGGED_IN)
+ X (CKR_USER_NOT_LOGGED_IN)
+ X (CKR_USER_PIN_NOT_INITIALIZED)
+ X (CKR_USER_TYPE_INVALID)
+ X (CKR_USER_ANOTHER_ALREADY_LOGGED_IN)
+ X (CKR_USER_TOO_MANY_TYPES)
+ X (CKR_WRAPPED_KEY_INVALID)
+ X (CKR_WRAPPED_KEY_LEN_RANGE)
+ X (CKR_WRAPPING_KEY_HANDLE_INVALID)
+ X (CKR_WRAPPING_KEY_SIZE_RANGE)
+ X (CKR_WRAPPING_KEY_TYPE_INCONSISTENT)
+ X (CKR_RANDOM_SEED_NOT_SUPPORTED)
+ X (CKR_RANDOM_NO_RNG)
+ X (CKR_DOMAIN_PARAMS_INVALID)
+ X (CKR_BUFFER_TOO_SMALL)
+ X (CKR_SAVED_STATE_INVALID)
+ X (CKR_INFORMATION_SENSITIVE)
+ X (CKR_STATE_UNSAVEABLE)
+ X (CKR_CRYPTOKI_NOT_INITIALIZED)
+ X (CKR_CRYPTOKI_ALREADY_INITIALIZED)
+ X (CKR_MUTEX_BAD)
+ X (CKR_MUTEX_NOT_LOCKED)
+ X (CKR_FUNCTION_REJECTED)
+ #undef X
+ }
+
+ if (string == NULL) {
+ gchar buffer[64];
+ g_snprintf (buffer, sizeof (buffer), "CKR_0x%08lX", rv);
+ string = g_intern_string (buffer);
+ }
+
+ return string;
+}
+
+const gchar*
+gkm_log_attr_type (CK_ATTRIBUTE_TYPE type)
+{
+ const gchar *string = NULL;
+
+ switch (type) {
+ #define X(x) case x: string = #x; break;
+ X (CKA_CLASS)
+ X (CKA_TOKEN)
+ X (CKA_PRIVATE)
+ X (CKA_LABEL)
+ X (CKA_APPLICATION)
+ X (CKA_VALUE)
+ X (CKA_OBJECT_ID)
+ X (CKA_CERTIFICATE_TYPE)
+ X (CKA_ISSUER)
+ X (CKA_SERIAL_NUMBER)
+ X (CKA_AC_ISSUER)
+ X (CKA_OWNER)
+ X (CKA_ATTR_TYPES)
+ X (CKA_TRUSTED)
+ X (CKA_CERTIFICATE_CATEGORY)
+ X (CKA_JAVA_MIDP_SECURITY_DOMAIN)
+ X (CKA_URL)
+ X (CKA_HASH_OF_SUBJECT_PUBLIC_KEY)
+ X (CKA_HASH_OF_ISSUER_PUBLIC_KEY)
+ X (CKA_CHECK_VALUE)
+ X (CKA_KEY_TYPE)
+ X (CKA_SUBJECT)
+ X (CKA_ID)
+ X (CKA_SENSITIVE)
+ X (CKA_ENCRYPT)
+ X (CKA_DECRYPT)
+ X (CKA_WRAP)
+ X (CKA_UNWRAP)
+ X (CKA_SIGN)
+ X (CKA_SIGN_RECOVER)
+ X (CKA_VERIFY)
+ X (CKA_VERIFY_RECOVER)
+ X (CKA_DERIVE)
+ X (CKA_START_DATE)
+ X (CKA_END_DATE)
+ X (CKA_MODULUS)
+ X (CKA_MODULUS_BITS)
+ X (CKA_PUBLIC_EXPONENT)
+ X (CKA_PRIVATE_EXPONENT)
+ X (CKA_PRIME_1)
+ X (CKA_PRIME_2)
+ X (CKA_EXPONENT_1)
+ X (CKA_EXPONENT_2)
+ X (CKA_COEFFICIENT)
+ X (CKA_PRIME)
+ X (CKA_SUBPRIME)
+ X (CKA_BASE)
+ X (CKA_PRIME_BITS)
+ /* X (CKA_SUBPRIME_BITS) */
+ /* X (CKA_SUB_PRIME_BITS) */
+ X (CKA_VALUE_BITS)
+ X (CKA_VALUE_LEN)
+ X (CKA_EXTRACTABLE)
+ X (CKA_LOCAL)
+ X (CKA_NEVER_EXTRACTABLE)
+ X (CKA_ALWAYS_SENSITIVE)
+ X (CKA_KEY_GEN_MECHANISM)
+ X (CKA_MODIFIABLE)
+ X (CKA_ECDSA_PARAMS)
+ /* X (CKA_EC_PARAMS) */
+ X (CKA_EC_POINT)
+ X (CKA_SECONDARY_AUTH)
+ X (CKA_AUTH_PIN_FLAGS)
+ X (CKA_ALWAYS_AUTHENTICATE)
+ X (CKA_WRAP_WITH_TRUSTED)
+ X (CKA_WRAP_TEMPLATE)
+ X (CKA_UNWRAP_TEMPLATE)
+ X (CKA_HW_FEATURE_TYPE)
+ X (CKA_RESET_ON_INIT)
+ X (CKA_HAS_RESET)
+ X (CKA_PIXEL_X)
+ X (CKA_PIXEL_Y)
+ X (CKA_RESOLUTION)
+ X (CKA_CHAR_ROWS)
+ X (CKA_CHAR_COLUMNS)
+ X (CKA_COLOR)
+ X (CKA_BITS_PER_PIXEL)
+ X (CKA_CHAR_SETS)
+ X (CKA_ENCODING_METHODS)
+ X (CKA_MIME_TYPES)
+ X (CKA_MECHANISM_TYPE)
+ X (CKA_REQUIRED_CMS_ATTRIBUTES)
+ X (CKA_DEFAULT_CMS_ATTRIBUTES)
+ X (CKA_SUPPORTED_CMS_ATTRIBUTES)
+ X (CKA_ALLOWED_MECHANISMS)
+ X (CKA_X_ASSERTION_TYPE)
+ X (CKA_X_CERTIFICATE_VALUE)
+ X (CKA_X_PURPOSE)
+ X (CKA_X_PEER)
+ X (CKA_NETSCAPE_URL)
+ X (CKA_NETSCAPE_EMAIL)
+ X (CKA_NETSCAPE_SMIME_INFO)
+ X (CKA_NETSCAPE_SMIME_TIMESTAMP)
+ X (CKA_NETSCAPE_PKCS8_SALT)
+ X (CKA_NETSCAPE_PASSWORD_CHECK)
+ X (CKA_NETSCAPE_EXPIRES)
+ X (CKA_NETSCAPE_KRL)
+ X (CKA_NETSCAPE_PQG_COUNTER)
+ X (CKA_NETSCAPE_PQG_SEED)
+ X (CKA_NETSCAPE_PQG_H)
+ X (CKA_NETSCAPE_PQG_SEED_BITS)
+ X (CKA_NETSCAPE_MODULE_SPEC)
+ X (CKA_TRUST_DIGITAL_SIGNATURE)
+ X (CKA_TRUST_NON_REPUDIATION)
+ X (CKA_TRUST_KEY_ENCIPHERMENT)
+ X (CKA_TRUST_DATA_ENCIPHERMENT)
+ X (CKA_TRUST_KEY_AGREEMENT)
+ X (CKA_TRUST_KEY_CERT_SIGN)
+ X (CKA_TRUST_CRL_SIGN)
+ X (CKA_TRUST_SERVER_AUTH)
+ X (CKA_TRUST_CLIENT_AUTH)
+ X (CKA_TRUST_CODE_SIGNING)
+ X (CKA_TRUST_EMAIL_PROTECTION)
+ X (CKA_TRUST_IPSEC_END_SYSTEM)
+ X (CKA_TRUST_IPSEC_TUNNEL)
+ X (CKA_TRUST_IPSEC_USER)
+ X (CKA_TRUST_TIME_STAMPING)
+ X (CKA_TRUST_STEP_UP_APPROVED)
+ X (CKA_CERT_SHA1_HASH)
+ X (CKA_CERT_MD5_HASH)
+ X (CKA_NETSCAPE_DB)
+ X (CKA_NETSCAPE_TRUST)
+ X (CKA_GNOME_UNIQUE)
+ X (CKA_GNOME_TRANSIENT)
+ X (CKA_GNOME_INTERNAL_SHA1)
+ X (CKA_G_LOCKED)
+ X (CKA_G_CREATED)
+ X (CKA_G_MODIFIED)
+ X (CKA_G_FIELDS)
+ X (CKA_G_COLLECTION)
+ X (CKA_G_MATCHED)
+ X (CKA_G_SCHEMA)
+ X (CKA_G_LOGIN_COLLECTION)
+ X (CKA_G_DESTRUCT_IDLE)
+ X (CKA_G_DESTRUCT_AFTER)
+ X (CKA_G_DESTRUCT_USES)
+ X (CKA_G_OBJECT)
+ X (CKA_G_CREDENTIAL)
+ X (CKA_G_CREDENTIAL_TEMPLATE)
+ #undef X
+ }
+
+ if (string == NULL) {
+ gchar buffer[64];
+ g_snprintf (buffer, sizeof (buffer), "CKA_0x%08lX", type);
+ string = g_intern_string (buffer);
+ }
+
+ return string;
+}
diff --git a/pkcs11/gkm/gkm-log.h b/pkcs11/gkm/gkm-log.h
new file mode 100644
index 00000000..192f7e89
--- /dev/null
+++ b/pkcs11/gkm/gkm-log.h
@@ -0,0 +1,33 @@
+/*
+ * gnome-keyring
+ *
+ * Copyright (C) 2008 Stefan Walter
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+ * 02111-1307, USA.
+ */
+
+#ifndef GKM_LOG_H_
+#define GKM_LOG_H_
+
+#include <glib.h>
+
+#include "pkcs11/pkcs11.h"
+
+const gchar* gkm_log_rv (CK_RV rv);
+
+const gchar* gkm_log_attr_type (CK_ATTRIBUTE_TYPE type);
+
+#endif /* GKM_LOG_H_ */
diff --git a/pkcs11/gkm/gkm-test.c b/pkcs11/gkm/gkm-test.c
index 3937014c..3628e51d 100644
--- a/pkcs11/gkm/gkm-test.c
+++ b/pkcs11/gkm/gkm-test.c
@@ -22,6 +22,7 @@
#include "config.h"
#include "gkm-attributes.h"
+#include "gkm-log.h"
#include "gkm-test.h"
#include "gkm-util.h"
@@ -37,12 +38,9 @@ gkm_assertion_message_cmprv (const gchar *domain, const gchar *file, gint line,
const gchar *func, const gchar *expr,
CK_RV arg1, const gchar *cmp, CK_RV arg2)
{
- gchar *a1, *a2, *s;
- a1 = gkm_util_rv_to_string (arg1);
- a2 = gkm_util_rv_to_string (arg2);
- s = g_strdup_printf ("assertion failed (%s): (%s %s %s)", expr, a1, cmp, a2);
- g_free (a1);
- g_free (a2);
+ gchar *s;
+ s = g_strdup_printf ("assertion failed (%s): (%s %s %s)", expr,
+ gkm_log_rv (arg1), cmp, gkm_log_rv (arg2));
g_assertion_message (domain, file, line, func, s);
g_free (s);
}
diff --git a/pkcs11/gkm/gkm-trust.c b/pkcs11/gkm/gkm-trust.c
index 22b0e6a3..2c7d8ca2 100644
--- a/pkcs11/gkm/gkm-trust.c
+++ b/pkcs11/gkm/gkm-trust.c
@@ -24,6 +24,7 @@
#include "gkm-trust.h"
#include "gkm-attributes.h"
+#include "gkm-log.h"
#include "gkm-object.h"
#include "gkm-oids.h"
@@ -129,7 +130,8 @@ gkm_trust_get_attribute (GkmObject *base, GkmSession *session, CK_ATTRIBUTE_PTR
case CKA_ISSUER:
case CKA_CERT_MD5_HASH:
case CKA_CERT_SHA1_HASH:
- g_warning ("derived class should have provided these attributes");
+ g_warning ("derived class should have provided %s attribute",
+ gkm_log_attr_type (attr->type));
return CKR_ATTRIBUTE_TYPE_INVALID;
default:
diff --git a/pkcs11/gkm/gkm-util.c b/pkcs11/gkm/gkm-util.c
index 731eb46c..b5016983 100644
--- a/pkcs11/gkm/gkm-util.c
+++ b/pkcs11/gkm/gkm-util.c
@@ -139,123 +139,3 @@ gkm_util_dispose_unref (gpointer object)
g_object_run_dispose (G_OBJECT (object));
g_object_unref (object);
}
-
-static const gchar*
-defined_rv_to_string (CK_RV rv)
-{
- #define GKM_X(rv) case rv: return #rv;
- switch (rv) {
-
- /* These are not really errors, or not current */
- GKM_X (CKR_OK)
- GKM_X (CKR_NO_EVENT)
- GKM_X (CKR_FUNCTION_NOT_PARALLEL)
- GKM_X (CKR_SESSION_PARALLEL_NOT_SUPPORTED)
- GKM_X (CKR_CANCEL)
- GKM_X (CKR_FUNCTION_CANCELED)
- GKM_X (CKR_HOST_MEMORY)
- GKM_X (CKR_SLOT_ID_INVALID)
- GKM_X (CKR_GENERAL_ERROR)
- GKM_X (CKR_FUNCTION_FAILED)
- GKM_X (CKR_ARGUMENTS_BAD)
- GKM_X (CKR_NEED_TO_CREATE_THREADS)
- GKM_X (CKR_CANT_LOCK)
- GKM_X (CKR_ATTRIBUTE_READ_ONLY)
- GKM_X (CKR_ATTRIBUTE_SENSITIVE)
- GKM_X (CKR_ATTRIBUTE_TYPE_INVALID)
- GKM_X (CKR_ATTRIBUTE_VALUE_INVALID)
- GKM_X (CKR_DATA_INVALID)
- GKM_X (CKR_DATA_LEN_RANGE)
- GKM_X (CKR_DEVICE_ERROR)
- GKM_X (CKR_DEVICE_MEMORY)
- GKM_X (CKR_DEVICE_REMOVED)
- GKM_X (CKR_ENCRYPTED_DATA_INVALID)
- GKM_X (CKR_ENCRYPTED_DATA_LEN_RANGE)
- GKM_X (CKR_FUNCTION_NOT_SUPPORTED)
- GKM_X (CKR_KEY_HANDLE_INVALID)
- GKM_X (CKR_KEY_SIZE_RANGE)
- GKM_X (CKR_KEY_TYPE_INCONSISTENT)
- GKM_X (CKR_KEY_NOT_NEEDED)
- GKM_X (CKR_KEY_CHANGED)
- GKM_X (CKR_KEY_NEEDED)
- GKM_X (CKR_KEY_INDIGESTIBLE)
- GKM_X (CKR_KEY_FUNCTION_NOT_PERMITTED)
- GKM_X (CKR_KEY_NOT_WRAPPABLE)
- GKM_X (CKR_KEY_UNEXTRACTABLE)
- GKM_X (CKR_MECHANISM_INVALID)
- GKM_X (CKR_MECHANISM_PARAM_INVALID)
- GKM_X (CKR_OBJECT_HANDLE_INVALID)
- GKM_X (CKR_OPERATION_ACTIVE)
- GKM_X (CKR_OPERATION_NOT_INITIALIZED)
- GKM_X (CKR_PIN_INCORRECT)
- GKM_X (CKR_PIN_INVALID)
- GKM_X (CKR_PIN_LEN_RANGE)
- GKM_X (CKR_PIN_EXPIRED)
- GKM_X (CKR_PIN_LOCKED)
- GKM_X (CKR_SESSION_CLOSED)
- GKM_X (CKR_SESSION_COUNT)
- GKM_X (CKR_SESSION_HANDLE_INVALID)
- GKM_X (CKR_SESSION_READ_ONLY)
- GKM_X (CKR_SESSION_EXISTS)
- GKM_X (CKR_SESSION_READ_ONLY_EXISTS)
- GKM_X (CKR_SESSION_READ_WRITE_SO_EXISTS)
- GKM_X (CKR_SIGNATURE_INVALID)
- GKM_X (CKR_SIGNATURE_LEN_RANGE)
- GKM_X (CKR_TEMPLATE_INCOMPLETE)
- GKM_X (CKR_TEMPLATE_INCONSISTENT)
- GKM_X (CKR_TOKEN_NOT_PRESENT)
- GKM_X (CKR_TOKEN_NOT_RECOGNIZED)
- GKM_X (CKR_TOKEN_WRITE_PROTECTED)
- GKM_X (CKR_UNWRAPPING_KEY_HANDLE_INVALID)
- GKM_X (CKR_UNWRAPPING_KEY_SIZE_RANGE)
- GKM_X (CKR_UNWRAPPING_KEY_TYPE_INCONSISTENT)
- GKM_X (CKR_USER_ALREADY_LOGGED_IN)
- GKM_X (CKR_USER_NOT_LOGGED_IN)
- GKM_X (CKR_USER_PIN_NOT_INITIALIZED)
- GKM_X (CKR_USER_TYPE_INVALID)
- GKM_X (CKR_USER_ANOTHER_ALREADY_LOGGED_IN)
- GKM_X (CKR_USER_TOO_MANY_TYPES)
- GKM_X (CKR_WRAPPED_KEY_INVALID)
- GKM_X (CKR_WRAPPED_KEY_LEN_RANGE)
- GKM_X (CKR_WRAPPING_KEY_HANDLE_INVALID)
- GKM_X (CKR_WRAPPING_KEY_SIZE_RANGE)
- GKM_X (CKR_WRAPPING_KEY_TYPE_INCONSISTENT)
- GKM_X (CKR_RANDOM_SEED_NOT_SUPPORTED)
- GKM_X (CKR_RANDOM_NO_RNG)
- GKM_X (CKR_DOMAIN_PARAMS_INVALID)
- GKM_X (CKR_BUFFER_TOO_SMALL)
- GKM_X (CKR_SAVED_STATE_INVALID)
- GKM_X (CKR_INFORMATION_SENSITIVE)
- GKM_X (CKR_STATE_UNSAVEABLE)
- GKM_X (CKR_CRYPTOKI_NOT_INITIALIZED)
- GKM_X (CKR_CRYPTOKI_ALREADY_INITIALIZED)
- GKM_X (CKR_MUTEX_BAD)
- GKM_X (CKR_MUTEX_NOT_LOCKED)
- GKM_X (CKR_FUNCTION_REJECTED)
- default:
- g_message ("unknown error: %lu", (gulong)rv);
- return "CKR_?UNKNOWN?";
- }
-
- #undef GKM_X
-}
-
-gchar*
-gkm_util_rv_to_string (CK_RV rv)
-{
- gchar *string = g_strdup (defined_rv_to_string (rv));
- if (string == NULL)
- string = g_strdup_printf ("0x%08lx", (gulong)rv);
- return string;
-}
-
-const gchar*
-gkm_util_rv_stringize (CK_RV rv)
-{
- const gchar *string = defined_rv_to_string (rv);
- if (string == NULL) {
- g_message ("unknown error: %lu", (gulong)rv);
- string = "CKR_?UNKNOWN?";
- }
- return string;
-}
diff --git a/pkcs11/gkm/gkm-util.h b/pkcs11/gkm/gkm-util.h
index 702eff78..c9af5a78 100644
--- a/pkcs11/gkm/gkm-util.h
+++ b/pkcs11/gkm/gkm-util.h
@@ -64,8 +64,4 @@ CK_ULONG gkm_util_next_handle (void);
void gkm_util_dispose_unref (gpointer object);
-const gchar* gkm_util_rv_stringize (CK_RV rv);
-
-gchar* gkm_util_rv_to_string (CK_RV rv);
-
#endif /* GKM_UTIL_H_ */
diff --git a/pkcs11/wrap-layer/gkm-wrap-login.c b/pkcs11/wrap-layer/gkm-wrap-login.c
index 5b563c54..3126137f 100644
--- a/pkcs11/wrap-layer/gkm-wrap-login.c
+++ b/pkcs11/wrap-layer/gkm-wrap-login.c
@@ -25,6 +25,7 @@
#include "gkm-wrap-login.h"
#include "gkm/gkm-attributes.h"
+#include "gkm/gkm-log.h"
#include "gkm/gkm-util.h"
#include "egg/egg-secure-memory.h"
@@ -255,7 +256,7 @@ find_login_keyring_item (CK_FUNCTION_LIST_PTR module, CK_SESSION_HANDLE session,
gkm_template_free (attrs);
if (rv != CKR_OK) {
- g_warning ("couldn't create search for login keyring: %s", gkm_util_rv_stringize (rv));
+ g_warning ("couldn't create search for login keyring: %s", gkm_log_rv (rv));
return 0;
}
@@ -357,7 +358,7 @@ gkm_wrap_login_attach_secret (const gchar *label, const gchar *secret,
rv = (module->C_CreateObject) (session, ((CK_ATTRIBUTE_PTR)template->data),
template->len, &item);
if (rv != CKR_OK)
- g_warning ("couldn't store secret in login keyring: %s", gkm_util_rv_stringize (rv));
+ g_warning ("couldn't store secret in login keyring: %s", gkm_log_rv (rv));
/* Before freeing, truncate our password attribute we tacked on the end */
g_array_set_size (template, original_len);
@@ -421,7 +422,7 @@ gkm_wrap_login_lookup_secret (const gchar *first, ...)
} else {
if (rv != CKR_OBJECT_HANDLE_INVALID)
g_warning ("couldn't read stored secret from login keyring: %s",
- gkm_util_rv_stringize (rv));
+ gkm_log_rv (rv));
egg_secure_free (password);
password = NULL;
}
@@ -429,7 +430,7 @@ gkm_wrap_login_lookup_secret (const gchar *first, ...)
/* Failure. Remember object can go away due to race */
} else if (rv != CKR_OK && rv != CKR_OBJECT_HANDLE_INVALID) {
g_warning ("couldn't get stored secret from login keyring: %s",
- gkm_util_rv_stringize (rv));
+ gkm_log_rv (rv));
}
}
@@ -472,7 +473,7 @@ gkm_wrap_login_remove_secret (const gchar *first, ...)
rv = (module->C_DestroyObject) (session, item);
if (rv != CKR_OK && rv != CKR_OBJECT_HANDLE_INVALID)
g_warning ("couldn't remove stored secret from login keyring: %s",
- gkm_util_rv_stringize (rv));
+ gkm_log_rv (rv));
}
(module->C_CloseSession) (session);
diff --git a/pkcs11/wrap-layer/gkm-wrap-prompt.c b/pkcs11/wrap-layer/gkm-wrap-prompt.c
index 185a92d5..62a3c460 100644
--- a/pkcs11/wrap-layer/gkm-wrap-prompt.c
+++ b/pkcs11/wrap-layer/gkm-wrap-prompt.c
@@ -28,6 +28,7 @@
#include "egg/egg-secure-memory.h"
#include "gkm/gkm-attributes.h"
+#include "gkm/gkm-log.h"
#include "gkm/gkm-util.h"
#include "pkcs11/pkcs11.h"
@@ -426,7 +427,7 @@ get_unlock_options_from_object (GkmWrapPrompt *self, CK_ULONG_PTR n_options)
if (rv != CKR_OK) {
if (rv != CKR_ATTRIBUTE_TYPE_INVALID)
g_warning ("couldn't get credential template for prompt: %s",
- gkm_util_rv_to_string (rv));
+ gkm_log_rv (rv));
return NULL;
}
@@ -438,7 +439,7 @@ get_unlock_options_from_object (GkmWrapPrompt *self, CK_ULONG_PTR n_options)
rv = (self->module->C_GetAttributeValue) (self->session, self->object, &attr, 1);
if (rv != CKR_OK) {
g_warning ("couldn't read credential template for prompt: %s",
- gkm_util_rv_to_string (rv));
+ gkm_log_rv (rv));
return NULL;
}
@@ -452,7 +453,7 @@ get_unlock_options_from_object (GkmWrapPrompt *self, CK_ULONG_PTR n_options)
rv = (self->module->C_GetAttributeValue) (self->session, self->object, &attr, 1);
if (rv != CKR_OK) {
g_warning ("couldn't retrieve credential template for prompt: %s",
- gkm_util_rv_to_string (rv));
+ gkm_log_rv (rv));
return NULL;
}
@@ -477,7 +478,7 @@ set_unlock_options_on_object (GkmWrapPrompt *self, CK_ATTRIBUTE_PTR options, CK_
if (rv != CKR_OK && rv != CKR_ATTRIBUTE_TYPE_INVALID) {
if (rv != CKR_TOKEN_WRITE_PROTECTED)
g_warning ("Couldn't set credential template for prompt: %s",
- gkm_util_rv_to_string (rv));
+ gkm_log_rv (rv));
}
}
@@ -545,7 +546,7 @@ get_attributes_from_object (GkmWrapPrompt *self, CK_ULONG *n_attrs)
rv = (self->module->C_GetAttributeValue) (self->session, self->object, attrs, G_N_ELEMENTS (attrs));
if (rv != CKR_OK && rv != CKR_ATTRIBUTE_TYPE_INVALID) {
g_warning ("Couldn't retrieve information about object to unlock: %s",
- gkm_util_rv_to_string (rv));
+ gkm_log_rv (rv));
return NULL;
}
@@ -559,7 +560,7 @@ get_attributes_from_object (GkmWrapPrompt *self, CK_ULONG *n_attrs)
rv = (self->module->C_GetAttributeValue) (self->session, self->object, attrs, G_N_ELEMENTS (attrs));
if (rv != CKR_OK && rv != CKR_ATTRIBUTE_TYPE_INVALID) {
g_warning ("couldn't retrieve credential template for prompt: %s",
- gkm_util_rv_to_string (rv));
+ gkm_log_rv (rv));
return NULL;
}
@@ -841,7 +842,7 @@ fix_login_keyring_if_unlock_failed (GkmWrapPrompt *self, const gchar *password)
if (rv != CKR_OK) {
g_warning ("couldn't create credential to fix login password: %s",
- gkm_util_rv_to_string (rv));
+ gkm_log_rv (rv));
return;
}
@@ -853,7 +854,7 @@ fix_login_keyring_if_unlock_failed (GkmWrapPrompt *self, const gchar *password)
rv = (self->module->C_SetAttributeValue) (self->session, self->object, attrs, 1);
if (rv != CKR_OK) {
g_warning ("couldn't change credential to fix login keyring password: %s",
- gkm_util_rv_to_string (rv));
+ gkm_log_rv (rv));
return;
}