]> git.ipfire.org Git - thirdparty/strongswan.git/commitdiff
Make the PKCS#11 padding string trimming public, add null terminator
authorMartin Willi <martin@revosec.ch>
Wed, 14 Jul 2010 10:43:42 +0000 (12:43 +0200)
committerMartin Willi <martin@revosec.ch>
Wed, 4 Aug 2010 07:26:19 +0000 (09:26 +0200)
src/libstrongswan/plugins/pkcs11/pkcs11_library.c
src/libstrongswan/plugins/pkcs11/pkcs11_library.h

index adafa17bba03f02d5b583fdee7d9d1526c88d4e0..c91655e3e5b5bfa703faa2128de20a03a4fbcf13 100644 (file)
@@ -208,13 +208,14 @@ METHOD(pkcs11_library_t, destroy, void,
 }
 
 /**
- * Trim a string
+ * See header
  */
-static void trim(char *str, int len)
+void pkcs11_library_trim(char *str, int len)
 {
        int i;
 
-       for (i = len - 1; i > 0; i--)
+       str[len - 1] = '\0';
+       for (i = len - 2; i > 0; i--)
        {
                if (str[i] == ' ')
                {
@@ -318,16 +319,15 @@ static bool initialize(private_pkcs11_library_t *this, char *name, char *file)
                return FALSE;
        }
 
-       trim(info.manufacturerID,
-                strnlen(info.manufacturerID, sizeof(info.manufacturerID)));
-       trim(info.libraryDescription,
-                strnlen(info.libraryDescription, sizeof(info.libraryDescription)));
+       pkcs11_library_trim(info.manufacturerID,
+                       strnlen(info.manufacturerID, sizeof(info.manufacturerID)));
+       pkcs11_library_trim(info.libraryDescription,
+                       strnlen(info.libraryDescription, sizeof(info.libraryDescription)));
 
        DBG1(DBG_CFG, "loaded PKCS#11 v%d.%d library '%s' (%s)",
                 info.cryptokiVersion.major, info.cryptokiVersion.minor, name, file);
-       DBG1(DBG_CFG, "  %.*s: %.*s v%d.%d",
-                sizeof(info.manufacturerID), info.manufacturerID,
-                sizeof(info.libraryDescription), info.libraryDescription,
+       DBG1(DBG_CFG, "  %s: %s v%d.%d",
+                info.manufacturerID, info.libraryDescription,
                 info.libraryVersion.major, info.libraryVersion.minor);
        if (args.flags & CKF_OS_LOCKING_OK)
        {
index c24929ae0ddc4040d63efb632b507f501c5fb0b1..2309b5acb5d1437dd17dd4d77316661e8b1cb649 100644 (file)
@@ -55,6 +55,14 @@ struct pkcs11_library_t {
  */
 extern enum_name_t *ck_rv_names;
 
+/**
+ * Trim/null terminate a string returned by the varius PKCS#11 functions.
+ *
+ * @param str          string to trim
+ * @param len          max length of the string
+ */
+void pkcs11_library_trim(char *str, int len);
+
 /**
  * Create a pkcs11_library instance.
  *