LCOV - code coverage report
Current view: top level - pkcs11/gkm - gkm-log.c (source / functions) Coverage Total Hit
Test: coverage.info Lines: 8.9 % 235 21
Test Date: 2024-04-08 13:24:42 Functions: 50.0 % 2 1

            Line data    Source code
       1              : /*
       2              :  * gnome-keyring
       3              :  *
       4              :  * Copyright (C) 2008 Stefan Walter
       5              :  *
       6              :  * This program is free software; you can redistribute it and/or modify
       7              :  * it under the terms of the GNU Lesser General Public License as
       8              :  * published by the Free Software Foundation; either version 2.1 of
       9              :  * the License, or (at your option) any later version.
      10              :  *
      11              :  * This program is distributed in the hope that it will be useful, but
      12              :  * WITHOUT ANY WARRANTY; without even the implied warranty of
      13              :  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
      14              :  * Lesser General Public License for more details.
      15              :  *
      16              :  * You should have received a copy of the GNU Lesser General Public
      17              :  * License along with this program; if not, see
      18              :  * <http://www.gnu.org/licenses/>.
      19              :  */
      20              : 
      21              : #include "config.h"
      22              : 
      23              : #include "gkm-log.h"
      24              : 
      25              : #include "pkcs11/pkcs11.h"
      26              : #include "pkcs11/pkcs11i.h"
      27              : #include "pkcs11/pkcs11n.h"
      28              : #include "pkcs11/pkcs11x.h"
      29              : 
      30              : const gchar*
      31            0 : gkm_log_rv (CK_RV rv)
      32              : {
      33            0 :         const gchar *string = NULL;
      34              : 
      35            0 :         switch (rv) {
      36              :         #define X(x) case x: string = #x; break;
      37            0 :         X (CKR_OK)
      38            0 :         X (CKR_NO_EVENT)
      39            0 :         X (CKR_FUNCTION_NOT_PARALLEL)
      40            0 :         X (CKR_SESSION_PARALLEL_NOT_SUPPORTED)
      41            0 :         X (CKR_CANCEL)
      42            0 :         X (CKR_FUNCTION_CANCELED)
      43            0 :         X (CKR_HOST_MEMORY)
      44            0 :         X (CKR_SLOT_ID_INVALID)
      45            0 :         X (CKR_GENERAL_ERROR)
      46            0 :         X (CKR_FUNCTION_FAILED)
      47            0 :         X (CKR_ARGUMENTS_BAD)
      48            0 :         X (CKR_NEED_TO_CREATE_THREADS)
      49            0 :         X (CKR_CANT_LOCK)
      50            0 :         X (CKR_ATTRIBUTE_READ_ONLY)
      51            0 :         X (CKR_ATTRIBUTE_SENSITIVE)
      52            0 :         X (CKR_ATTRIBUTE_TYPE_INVALID)
      53            0 :         X (CKR_ATTRIBUTE_VALUE_INVALID)
      54            0 :         X (CKR_DATA_INVALID)
      55            0 :         X (CKR_DATA_LEN_RANGE)
      56            0 :         X (CKR_DEVICE_ERROR)
      57            0 :         X (CKR_DEVICE_MEMORY)
      58            0 :         X (CKR_DEVICE_REMOVED)
      59            0 :         X (CKR_ENCRYPTED_DATA_INVALID)
      60            0 :         X (CKR_ENCRYPTED_DATA_LEN_RANGE)
      61            0 :         X (CKR_FUNCTION_NOT_SUPPORTED)
      62            0 :         X (CKR_KEY_HANDLE_INVALID)
      63            0 :         X (CKR_KEY_SIZE_RANGE)
      64            0 :         X (CKR_KEY_TYPE_INCONSISTENT)
      65            0 :         X (CKR_KEY_NOT_NEEDED)
      66            0 :         X (CKR_KEY_CHANGED)
      67            0 :         X (CKR_KEY_NEEDED)
      68            0 :         X (CKR_KEY_INDIGESTIBLE)
      69            0 :         X (CKR_KEY_FUNCTION_NOT_PERMITTED)
      70            0 :         X (CKR_KEY_NOT_WRAPPABLE)
      71            0 :         X (CKR_KEY_UNEXTRACTABLE)
      72            0 :         X (CKR_MECHANISM_INVALID)
      73            0 :         X (CKR_MECHANISM_PARAM_INVALID)
      74            0 :         X (CKR_OBJECT_HANDLE_INVALID)
      75            0 :         X (CKR_OPERATION_ACTIVE)
      76            0 :         X (CKR_OPERATION_NOT_INITIALIZED)
      77            0 :         X (CKR_PIN_INCORRECT)
      78            0 :         X (CKR_PIN_INVALID)
      79            0 :         X (CKR_PIN_LEN_RANGE)
      80            0 :         X (CKR_PIN_EXPIRED)
      81            0 :         X (CKR_PIN_LOCKED)
      82            0 :         X (CKR_SESSION_CLOSED)
      83            0 :         X (CKR_SESSION_COUNT)
      84            0 :         X (CKR_SESSION_HANDLE_INVALID)
      85            0 :         X (CKR_SESSION_READ_ONLY)
      86            0 :         X (CKR_SESSION_EXISTS)
      87            0 :         X (CKR_SESSION_READ_ONLY_EXISTS)
      88            0 :         X (CKR_SESSION_READ_WRITE_SO_EXISTS)
      89            0 :         X (CKR_SIGNATURE_INVALID)
      90            0 :         X (CKR_SIGNATURE_LEN_RANGE)
      91            0 :         X (CKR_TEMPLATE_INCOMPLETE)
      92            0 :         X (CKR_TEMPLATE_INCONSISTENT)
      93            0 :         X (CKR_TOKEN_NOT_PRESENT)
      94            0 :         X (CKR_TOKEN_NOT_RECOGNIZED)
      95            0 :         X (CKR_TOKEN_WRITE_PROTECTED)
      96            0 :         X (CKR_UNWRAPPING_KEY_HANDLE_INVALID)
      97            0 :         X (CKR_UNWRAPPING_KEY_SIZE_RANGE)
      98            0 :         X (CKR_UNWRAPPING_KEY_TYPE_INCONSISTENT)
      99            0 :         X (CKR_USER_ALREADY_LOGGED_IN)
     100            0 :         X (CKR_USER_NOT_LOGGED_IN)
     101            0 :         X (CKR_USER_PIN_NOT_INITIALIZED)
     102            0 :         X (CKR_USER_TYPE_INVALID)
     103            0 :         X (CKR_USER_ANOTHER_ALREADY_LOGGED_IN)
     104            0 :         X (CKR_USER_TOO_MANY_TYPES)
     105            0 :         X (CKR_WRAPPED_KEY_INVALID)
     106            0 :         X (CKR_WRAPPED_KEY_LEN_RANGE)
     107            0 :         X (CKR_WRAPPING_KEY_HANDLE_INVALID)
     108            0 :         X (CKR_WRAPPING_KEY_SIZE_RANGE)
     109            0 :         X (CKR_WRAPPING_KEY_TYPE_INCONSISTENT)
     110            0 :         X (CKR_RANDOM_SEED_NOT_SUPPORTED)
     111            0 :         X (CKR_RANDOM_NO_RNG)
     112            0 :         X (CKR_DOMAIN_PARAMS_INVALID)
     113            0 :         X (CKR_BUFFER_TOO_SMALL)
     114            0 :         X (CKR_SAVED_STATE_INVALID)
     115            0 :         X (CKR_INFORMATION_SENSITIVE)
     116            0 :         X (CKR_STATE_UNSAVEABLE)
     117            0 :         X (CKR_CRYPTOKI_NOT_INITIALIZED)
     118            0 :         X (CKR_CRYPTOKI_ALREADY_INITIALIZED)
     119            0 :         X (CKR_MUTEX_BAD)
     120            0 :         X (CKR_MUTEX_NOT_LOCKED)
     121            0 :         X (CKR_FUNCTION_REJECTED)
     122              :         #undef X
     123              :         }
     124              : 
     125            0 :         if (string == NULL) {
     126              :                 gchar buffer[64];
     127            0 :                 g_snprintf (buffer, sizeof (buffer), "CKR_0x%08lX", rv);
     128            0 :                 string = g_intern_string (buffer);
     129              :         }
     130              : 
     131            0 :         return string;
     132              : }
     133              : 
     134              : const gchar*
     135          508 : gkm_log_attr_type (CK_ATTRIBUTE_TYPE type)
     136              : {
     137          508 :         const gchar *string = NULL;
     138              : 
     139          508 :         switch (type) {
     140              :         #define X(x) case x: string = #x; break;
     141            0 :         X (CKA_CLASS)
     142            0 :         X (CKA_TOKEN)
     143            0 :         X (CKA_PRIVATE)
     144            2 :         X (CKA_LABEL)
     145            2 :         X (CKA_APPLICATION)
     146            0 :         X (CKA_VALUE)
     147            0 :         X (CKA_OBJECT_ID)
     148            2 :         X (CKA_CERTIFICATE_TYPE)
     149            9 :         X (CKA_ISSUER)
     150            9 :         X (CKA_SERIAL_NUMBER)
     151            0 :         X (CKA_AC_ISSUER)
     152            0 :         X (CKA_OWNER)
     153            0 :         X (CKA_ATTR_TYPES)
     154            0 :         X (CKA_TRUSTED)
     155            0 :         X (CKA_CERTIFICATE_CATEGORY)
     156            0 :         X (CKA_JAVA_MIDP_SECURITY_DOMAIN)
     157            0 :         X (CKA_URL)
     158            0 :         X (CKA_HASH_OF_SUBJECT_PUBLIC_KEY)
     159            0 :         X (CKA_HASH_OF_ISSUER_PUBLIC_KEY)
     160            0 :         X (CKA_CHECK_VALUE)
     161            0 :         X (CKA_KEY_TYPE)
     162            1 :         X (CKA_SUBJECT)
     163          421 :         X (CKA_ID)
     164            0 :         X (CKA_SENSITIVE)
     165            0 :         X (CKA_ENCRYPT)
     166            0 :         X (CKA_DECRYPT)
     167            0 :         X (CKA_WRAP)
     168            0 :         X (CKA_UNWRAP)
     169            0 :         X (CKA_SIGN)
     170            0 :         X (CKA_SIGN_RECOVER)
     171            0 :         X (CKA_VERIFY)
     172            0 :         X (CKA_VERIFY_RECOVER)
     173            0 :         X (CKA_DERIVE)
     174            0 :         X (CKA_START_DATE)
     175            0 :         X (CKA_END_DATE)
     176            0 :         X (CKA_MODULUS)
     177            0 :         X (CKA_MODULUS_BITS)
     178            0 :         X (CKA_PUBLIC_EXPONENT)
     179            0 :         X (CKA_PRIVATE_EXPONENT)
     180            0 :         X (CKA_PRIME_1)
     181            0 :         X (CKA_PRIME_2)
     182            0 :         X (CKA_EXPONENT_1)
     183            0 :         X (CKA_EXPONENT_2)
     184            0 :         X (CKA_COEFFICIENT)
     185            0 :         X (CKA_PRIME)
     186            0 :         X (CKA_SUBPRIME)
     187            0 :         X (CKA_BASE)
     188            0 :         X (CKA_PRIME_BITS)
     189              :         /* X (CKA_SUBPRIME_BITS) */
     190              :         /* X (CKA_SUB_PRIME_BITS) */
     191            0 :         X (CKA_VALUE_BITS)
     192            0 :         X (CKA_VALUE_LEN)
     193            0 :         X (CKA_EXTRACTABLE)
     194            0 :         X (CKA_LOCAL)
     195            0 :         X (CKA_NEVER_EXTRACTABLE)
     196            0 :         X (CKA_ALWAYS_SENSITIVE)
     197            0 :         X (CKA_KEY_GEN_MECHANISM)
     198            0 :         X (CKA_MODIFIABLE)
     199            0 :         X (CKA_ECDSA_PARAMS)
     200              :         /* X (CKA_EC_PARAMS) */
     201            0 :         X (CKA_EC_POINT)
     202            0 :         X (CKA_SECONDARY_AUTH)
     203            0 :         X (CKA_AUTH_PIN_FLAGS)
     204            0 :         X (CKA_ALWAYS_AUTHENTICATE)
     205            0 :         X (CKA_WRAP_WITH_TRUSTED)
     206            0 :         X (CKA_WRAP_TEMPLATE)
     207            0 :         X (CKA_UNWRAP_TEMPLATE)
     208            0 :         X (CKA_HW_FEATURE_TYPE)
     209            0 :         X (CKA_RESET_ON_INIT)
     210            0 :         X (CKA_HAS_RESET)
     211            0 :         X (CKA_PIXEL_X)
     212            0 :         X (CKA_PIXEL_Y)
     213            0 :         X (CKA_RESOLUTION)
     214            0 :         X (CKA_CHAR_ROWS)
     215            0 :         X (CKA_CHAR_COLUMNS)
     216            0 :         X (CKA_COLOR)
     217            5 :         X (CKA_BITS_PER_PIXEL)
     218            0 :         X (CKA_CHAR_SETS)
     219            0 :         X (CKA_ENCODING_METHODS)
     220            0 :         X (CKA_MIME_TYPES)
     221            0 :         X (CKA_MECHANISM_TYPE)
     222            0 :         X (CKA_REQUIRED_CMS_ATTRIBUTES)
     223            0 :         X (CKA_DEFAULT_CMS_ATTRIBUTES)
     224            0 :         X (CKA_SUPPORTED_CMS_ATTRIBUTES)
     225            0 :         X (CKA_ALLOWED_MECHANISMS)
     226            3 :         X (CKA_X_ASSERTION_TYPE)
     227            9 :         X (CKA_X_CERTIFICATE_VALUE)
     228            0 :         X (CKA_X_PURPOSE)
     229            1 :         X (CKA_X_PEER)
     230            0 :         X (CKA_NETSCAPE_URL)
     231            0 :         X (CKA_NETSCAPE_EMAIL)
     232            0 :         X (CKA_NETSCAPE_SMIME_INFO)
     233            0 :         X (CKA_NETSCAPE_SMIME_TIMESTAMP)
     234            0 :         X (CKA_NETSCAPE_PKCS8_SALT)
     235            0 :         X (CKA_NETSCAPE_PASSWORD_CHECK)
     236            0 :         X (CKA_NETSCAPE_EXPIRES)
     237            0 :         X (CKA_NETSCAPE_KRL)
     238            0 :         X (CKA_NETSCAPE_PQG_COUNTER)
     239            0 :         X (CKA_NETSCAPE_PQG_SEED)
     240            0 :         X (CKA_NETSCAPE_PQG_H)
     241            0 :         X (CKA_NETSCAPE_PQG_SEED_BITS)
     242            0 :         X (CKA_NETSCAPE_MODULE_SPEC)
     243            0 :         X (CKA_TRUST_DIGITAL_SIGNATURE)
     244            0 :         X (CKA_TRUST_NON_REPUDIATION)
     245            0 :         X (CKA_TRUST_KEY_ENCIPHERMENT)
     246            0 :         X (CKA_TRUST_DATA_ENCIPHERMENT)
     247            0 :         X (CKA_TRUST_KEY_AGREEMENT)
     248            0 :         X (CKA_TRUST_KEY_CERT_SIGN)
     249            0 :         X (CKA_TRUST_CRL_SIGN)
     250            0 :         X (CKA_TRUST_SERVER_AUTH)
     251            0 :         X (CKA_TRUST_CLIENT_AUTH)
     252            0 :         X (CKA_TRUST_CODE_SIGNING)
     253            0 :         X (CKA_TRUST_EMAIL_PROTECTION)
     254            0 :         X (CKA_TRUST_IPSEC_END_SYSTEM)
     255            0 :         X (CKA_TRUST_IPSEC_TUNNEL)
     256            0 :         X (CKA_TRUST_IPSEC_USER)
     257            0 :         X (CKA_TRUST_TIME_STAMPING)
     258            0 :         X (CKA_TRUST_STEP_UP_APPROVED)
     259            5 :         X (CKA_CERT_SHA1_HASH)
     260            5 :         X (CKA_CERT_MD5_HASH)
     261            0 :         X (CKA_NETSCAPE_DB)
     262            0 :         X (CKA_NETSCAPE_TRUST)
     263            0 :         X (CKA_GNOME_UNIQUE)
     264            0 :         X (CKA_GNOME_TRANSIENT)
     265            8 :         X (CKA_GNOME_INTERNAL_SHA1)
     266            0 :         X (CKA_G_LOCKED)
     267            0 :         X (CKA_G_CREATED)
     268            0 :         X (CKA_G_MODIFIED)
     269            0 :         X (CKA_G_FIELDS)
     270           18 :         X (CKA_G_COLLECTION)
     271            0 :         X (CKA_G_MATCHED)
     272            0 :         X (CKA_G_SCHEMA)
     273            8 :         X (CKA_G_LOGIN_COLLECTION)
     274            0 :         X (CKA_G_DESTRUCT_IDLE)
     275            0 :         X (CKA_G_DESTRUCT_AFTER)
     276            0 :         X (CKA_G_DESTRUCT_USES)
     277            0 :         X (CKA_G_OBJECT)
     278            0 :         X (CKA_G_CREDENTIAL)
     279            0 :         X (CKA_G_CREDENTIAL_TEMPLATE)
     280              :         #undef X
     281              :         }
     282              : 
     283          508 :         if (string == NULL) {
     284              :                 gchar buffer[64];
     285            0 :                 g_snprintf (buffer, sizeof (buffer), "CKA_0x%08lX", type);
     286            0 :                 string = g_intern_string (buffer);
     287              :         }
     288              : 
     289          508 :         return string;
     290              : }
        

Generated by: LCOV version 2.0-1