Moved static functions from the client to the fko_util.c file.
authorFranck Joncourt <franck@debian.org>
Sat, 9 Mar 2013 11:17:17 +0000 (12:17 +0100)
committerFranck Joncourt <franck@debian.org>
Sat, 9 Mar 2013 11:17:17 +0000 (12:17 +0100)
client/config_init.c
lib/fko_util.c
lib/fko_util.h

index 52b0db0..ec4bdb2 100644 (file)
@@ -165,134 +165,6 @@ lookup_rc_section(const char* line, uint16_t line_size, char* rc_section, uint16
     return section_not_found;
 }
 
-/* Convert an encryption_mode string to its integer value.
-*/
-static int
-enc_mode_strtoint(const char *enc_mode_str)
-{
-    if(strcasecmp(enc_mode_str, "cbc") == 0)
-        return(FKO_ENC_MODE_CBC);
-    else if(strcasecmp(enc_mode_str, "ecb") == 0)
-        return(FKO_ENC_MODE_ECB);
-    else if(strcasecmp(enc_mode_str, "cfb") == 0)
-        return(FKO_ENC_MODE_CFB);
-    else if(strcasecmp(enc_mode_str, "pcbc") == 0)
-        return(-1); /* not supported yet */
-    else if(strcasecmp(enc_mode_str, "ofb") == 0)
-        return(FKO_ENC_MODE_OFB);
-    else if(strcasecmp(enc_mode_str, "ctr") == 0)
-        return(FKO_ENC_MODE_CTR);
-    else
-        return(-1);
-}
-
-/**
- * \brief Return an encryption mode string according to an enc_mode integer value
- *
- * This function checks if the encryption mode integer is valid, and write the
- * encryption mode string associated.
- *
- * \param enc_mode Encryption mode inetger value (FKO_ENC_MODE_CBC, FKO_ENC_MODE_ECB ...)
- * \param enc_mode_str Buffer to write the encryption mode string
- * \param enc_mode_size size of the encryption mode string buffer
- *
- * \return 1 if the encryption mode integer value is not supported, 0 otherwise
- */
-static unsigned short
-enc_mode_inttostr(unsigned int enc_mode, char* enc_mode_str, size_t enc_mode_size)
-{
-    unsigned short enc_mode_not_valid = 0;
-
-    memset(enc_mode_str, 0, enc_mode_size);
-
-    switch (enc_mode)
-    {
-        case FKO_ENC_MODE_CBC :
-            strlcpy(enc_mode_str, "CBC", enc_mode_size);
-            break;
-        case FKO_ENC_MODE_ECB :
-            strlcpy(enc_mode_str, "ECB", enc_mode_size);
-            break;
-        case FKO_ENC_MODE_CFB :
-            strlcpy(enc_mode_str, "CFB", enc_mode_size);
-            break;
-        case FKO_ENC_MODE_OFB :
-            strlcpy(enc_mode_str, "OFB", enc_mode_size);
-            break;
-        case FKO_ENC_MODE_CTR :
-            strlcpy(enc_mode_str, "CTR", enc_mode_size);
-            break;
-        default:
-            enc_mode_not_valid = 1;
-            break;
-    }
-
-    return enc_mode_not_valid;
-}
-
-/* Convert a digest_type string to its integer value.
-*/
-static short
-digest_strtoint(const char *dt_str)
-{
-    if(strcasecmp(dt_str, "md5") == 0)
-        return(FKO_DIGEST_MD5);
-    else if(strcasecmp(dt_str, "sha1") == 0)
-        return(FKO_DIGEST_SHA1);
-    else if(strcasecmp(dt_str, "sha256") == 0)
-        return(FKO_DIGEST_SHA256);
-    else if(strcasecmp(dt_str, "sha384") == 0)
-        return(FKO_DIGEST_SHA384);
-    else if(strcasecmp(dt_str, "sha512") == 0)
-        return(FKO_DIGEST_SHA512);
-    else
-        return(-1);
-}
-
-/**
- * \brief Return a digest string according to a digest integer value
- *
- * This function checks the digest integer is valid, and write the digest
- * string associated.
- *
- * \param digest Digest inetger value (FKO_DIGEST_MD5, FKO_DIGEST_SHA1 ...)
- * \param digest_str Buffer to write the digest string
- * \param digest_size size of the digest string buffer
- *
- * \return 1 if the digest integer value is not supported, 0 otherwise
- */
-static unsigned short
-digest_inttostr(unsigned int digest, char* digest_str, size_t digest_size)
-{
-    unsigned short digest_not_valid = 0;
-
-    memset(digest_str, 0, digest_size);
-
-    switch (digest)
-    {
-        case FKO_DIGEST_MD5:
-            strlcpy(digest_str, "MD5", digest_size);
-            break;
-        case FKO_DIGEST_SHA1:
-            strlcpy(digest_str, "SHA1", digest_size);
-            break;
-        case FKO_DIGEST_SHA256:
-            strlcpy(digest_str, "SHA256", digest_size);
-            break;
-        case FKO_DIGEST_SHA384:
-            strlcpy(digest_str, "SHA384", digest_size);
-            break;
-        case FKO_DIGEST_SHA512:
-            strlcpy(digest_str, "SHA512", digest_size);
-            break;
-        default:
-            digest_not_valid = 1;
-            break;
-    }
-
-    return digest_not_valid;
-}
-
 /* Convert a protocol string to its intger value.
 */
 static int
index 099c30a..1ae3f56 100644 (file)
@@ -63,6 +63,49 @@ digest_strtoint(const char *dt_str)
         return(-1);
 }
 
+/**
+ * \brief Return a digest string according to a digest integer value
+ *
+ * This function checks the digest integer is valid, and write the digest
+ * string associated.
+ *
+ * \param digest Digest inetger value (FKO_DIGEST_MD5, FKO_DIGEST_SHA1 ...)
+ * \param digest_str Buffer to write the digest string
+ * \param digest_size size of the digest string buffer
+ *
+ * \return -1 if the digest integer value is not supported, 0 otherwise
+ */
+short
+digest_inttostr(int digest, char* digest_str, size_t digest_size)
+{
+    short digest_not_valid = 0;
+
+    memset(digest_str, 0, digest_size);
+
+    switch (digest)
+    {
+        case FKO_DIGEST_MD5:
+            strlcpy(digest_str, "MD5", digest_size);
+            break;
+        case FKO_DIGEST_SHA1:
+            strlcpy(digest_str, "SHA1", digest_size);
+            break;
+        case FKO_DIGEST_SHA256:
+            strlcpy(digest_str, "SHA256", digest_size);
+            break;
+        case FKO_DIGEST_SHA384:
+            strlcpy(digest_str, "SHA384", digest_size);
+            break;
+        case FKO_DIGEST_SHA512:
+            strlcpy(digest_str, "SHA512", digest_size);
+            break;
+        default:
+            digest_not_valid = -1;
+            break;
+    }
+
+    return digest_not_valid;
+}
 short
 hmac_digest_strtoint(const char *dt_str)
 {
@@ -114,6 +157,57 @@ enc_mode_strtoint(const char *enc_mode_str)
         return(-1);
 }
 
+/**
+ * \brief Return an encryption mode string according to an enc_mode integer value
+ *
+ * This function checks if the encryption mode integer is valid, and write the
+ * encryption mode string associated.
+ *
+ * \param enc_mode Encryption mode inetger value (FKO_ENC_MODE_CBC, FKO_ENC_MODE_ECB ...)
+ * \param enc_mode_str Buffer to write the encryption mode string
+ * \param enc_mode_size size of the encryption mode string buffer
+ *
+ * \return -1 if the encryption mode integer value is not supported, 0 otherwise
+ */
+short
+enc_mode_inttostr(int enc_mode, char* enc_mode_str, size_t enc_mode_size)
+{
+    short enc_mode_not_valid = 0;
+
+    memset(enc_mode_str, 0, enc_mode_size);
+
+    switch (enc_mode)
+    {
+        case FKO_ENC_MODE_CBC :
+            strlcpy(enc_mode_str, "CBC", enc_mode_size);
+            break;
+        case FKO_ENC_MODE_ECB :
+            strlcpy(enc_mode_str, "ECB", enc_mode_size);
+            break;
+        case FKO_ENC_MODE_CFB :
+            strlcpy(enc_mode_str, "CFB", enc_mode_size);
+            break;
+        case FKO_ENC_MODE_PCBC :
+            //strlcpy(enc_mode_str, "PCBC", enc_mode_size);
+            enc_mode_not_valid = -1;
+            break;
+        case FKO_ENC_MODE_OFB :
+            strlcpy(enc_mode_str, "OFB", enc_mode_size);
+            break;
+        case FKO_ENC_MODE_CTR :
+            strlcpy(enc_mode_str, "CTR", enc_mode_size);
+            break;
+        case FKO_ENC_MODE_CBC_LEGACY_IV:
+            strlcpy(enc_mode_str, "LEGACY", enc_mode_size);
+            break;
+        default:
+            enc_mode_not_valid = -1;
+            break;
+    }
+
+    return enc_mode_not_valid;
+}
+
 int
 strtol_wrapper(const char * const str, const int min,
     const int max, const int exit_upon_err, int *err)
index a1e8850..2a23435 100644 (file)
 
 /* Function prototypes
 */
-int is_valid_encoded_msg_len(const int len);
-int is_valid_pt_msg_len(const int len);
-int is_valid_digest_len(const int len);
-int enc_mode_strtoint(const char *enc_mode_str);
-int strtol_wrapper(const char * const str, const int min,
-    const int max, const int exit_upon_err, int *is_err);
-short digest_strtoint(const char *dt_str);
-short hmac_digest_strtoint(const char *dt_str);
+int     is_valid_encoded_msg_len(const int len);
+int     is_valid_pt_msg_len(const int len);
+int     is_valid_digest_len(const int len);
+int     enc_mode_strtoint(const char *enc_mode_str);
+short   enc_mode_inttostr(int enc_mode, char* enc_mode_str, size_t enc_mode_size);
+int     strtol_wrapper(const char * const str, const int min,
+            const int max, const int exit_upon_err, int *is_err);
+short   digest_strtoint(const char *dt_str);
+short   digest_inttostr(int digest, char* digest_str, size_t digest_size);
+short   hmac_digest_strtoint(const char *dt_str);
 
-size_t strlcat(char *dst, const char *src, size_t siz);
-size_t strlcpy(char *dst, const char *src, size_t siz);
+size_t  strlcat(char *dst, const char *src, size_t siz);
+size_t  strlcpy(char *dst, const char *src, size_t siz);
 
 #endif /* FKO_UTIL_H */