new upstream release (3.3.0); modify package compatibility for Stretch
[ossec-hids.git] / src / os_crypto / sha1 / sha1_op.c
old mode 100755 (executable)
new mode 100644 (file)
index 99d74ec..85a3a70
@@ -1,6 +1,3 @@
-/* @(#) $Id: ./src/os_crypto/sha1/sha1_op.c, 2011/09/08 dcid Exp $
- */
-
 /* Copyright (C) 2009 Trend Micro Inc.
  * All right reserved.
  *
  * Foundation
  */
 
-
 #include <stdio.h>
 #include <string.h>
+
 #include "sha1_op.h"
+#include "headers/defs.h"
 
-/* Openssl sha1
- * Only use if open ssl is not available.
-#ifndef USE_OPENSSL
+/* OpenSSL SHA-1
+ * Only use if OpenSSL is not available
+#ifndef LIBOPENSSL_ENABLED
 #include "sha.h"
 #include "sha_locl.h"
 #else
 #include "sha_locl.h"
 
 
-
-int OS_SHA1_File(char * fname, char * output)
+int OS_SHA1_File(const char *fname, os_sha1 output, int mode)
 {
     SHA_CTX c;
     FILE *fp;
-    unsigned char buf[2048 +2];
+    unsigned char buf[2048 + 2];
     unsigned char md[SHA_DIGEST_LENGTH];
-    int n;
+    size_t n;
 
-    memset(output,0, 65);
+    memset(output, 0, 65);
     buf[2049] = '\0';
 
-    fp = fopen(fname,"r");
-    if(!fp)
-        return(-1);
+    fp = fopen(fname, mode == OS_BINARY ? "rb" : "r");
+    if (!fp) {
+        return (-1);
+    }
 
     SHA1_Init(&c);
-    while((n = fread(buf, 1, 2048, fp)) > 0)
-    {
+    while ((n = fread(buf, 1, 2048, fp)) > 0) {
         buf[n] = '\0';
-        SHA1_Update(&c,buf,(unsigned long)n);
+        SHA1_Update(&c, buf, n);
     }
 
-    SHA1_Final(&(md[0]),&c);
+    SHA1_Final(&(md[0]), &c);
 
-    for (n=0; n<SHA_DIGEST_LENGTH; n++)
-    {
+    for (n = 0; n < SHA_DIGEST_LENGTH; n++) {
         snprintf(output, 3, "%02x", md[n]);
-        output+=2;
+        output += 2;
     }
 
-    /* Closing it */
     fclose(fp);
 
-    return(0);
+    return (0);
 }
-
-
-/* EOF */