changeset 22:bc302bbceaf5

Move listutil again
author Andre Heinecke <aheinecke@intevation.de>
date Thu, 20 Feb 2014 15:44:09 +0000
parents dc1e1e9e62ce
children 7d07d261b003
files CMakeLists.txt cinst/listutil.c cinst/listutil.h common/listutil.c common/listutil.h
diffstat 5 files changed, 187 insertions(+), 187 deletions(-) [+]
line wrap: on
line diff
--- a/CMakeLists.txt	Thu Feb 20 10:58:28 2014 +0000
+++ b/CMakeLists.txt	Thu Feb 20 15:44:09 2014 +0000
@@ -22,7 +22,7 @@
     ${CMAKE_SOURCE_DIR}/ui/certificate.cpp
     ${CMAKE_SOURCE_DIR}/ui/certificate_win.cpp
     ${CMAKE_SOURCE_DIR}/ui/certificate_linux.cpp
-    ${CMAKE_SOURCE_DIR}/cinst/listutil.c
+    ${CMAKE_SOURCE_DIR}/common/listutil.c
 )
 
 set(M13UI_SOURCES
--- a/cinst/listutil.c	Thu Feb 20 10:58:28 2014 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,138 +0,0 @@
-#include "listutil.h"
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <errno.h>
-#include <fcntl.h>
-#include <unistd.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <string.h>
-
-#define MAX_FILESIZE_KB 1024
-
-void handle_errno()
-{
-    printf("Error: %s \n", strerror(errno));
-}
-
-list_status_t readList(const char *fileName, char **data, size_t *size)
-{
-    int fd = -1;
-    struct stat fileStat;
-    int rc = 0;
-    ssize_t bRead = 0;
-
-    memset(&fileStat, 0, sizeof(fileStat));
-
-    list_status_t retval = UnknownError;
-
-    fd = open(fileName, O_RDONLY);
-    if (fd == -1) {
-        handle_errno();
-        retval = StatFailed;
-        goto cleanup;
-    }
-
-    rc = fstat(fd, &fileStat);
-    if (rc < 0) {
-        printf ("Stat failed with rc: %i\n", rc);
-        retval = StatFailed;
-        goto cleanup;
-    }
-
-    // Check the size of the file
-    if (!fileStat.st_size) {
-        printf("Size zero\n");
-        retval = StatFailed;
-        goto cleanup;
-    }
-
-    if (fileStat.st_size / 1024 > MAX_FILESIZE_KB &&
-            fileStat.st_size > 0) {
-        printf("File too large\n");
-        retval = TooLarge;
-        goto cleanup;
-    }
-
-    *size = (size_t) fileStat.st_size;
-
-    *data = (char*) malloc(*size);
-
-    if (*data == NULL) {
-        printf("Malloc failed\n");
-        retval = UnknownError;
-        goto cleanup;
-    }
-
-    bRead = read(fd, *data, *size);
-
-    if (bRead < 0 || (size_t) bRead != *size) {
-        printf("Read failed\n");
-        if (bRead == -1) {
-            handle_errno();
-        }
-        retval = UnknownError;
-        *size = 0;
-        if (*data) {
-            free(*data);
-            printf("Nulling data\n");
-            *data = NULL;
-        }
-        goto cleanup;
-    }
-
-    retval = UnknownValidity;
-cleanup:
-
-    if (fd && fd != -1) {
-        close(fd);
-        fd = -1;
-    }
-
-    return retval;
-}
-
-list_status_t readAndVerifyList(const char *fileName, char **data, size_t *size)
-{
-//    int validSig = 0;
-    char * signature = NULL;
-
-    list_status_t retval = UnknownError;
-    *data = NULL;
-    *size = 0;
-
-    retval = readList(fileName, data, size);
-
-    if (retval != UnknownValidity) {
-        printf ("Readlist failed\n");
-        return retval;
-    }
-
-    if (!data || !*size) {
-        // should not have happend if readList works as specified
-        return UnknownError;
-    }
-
-    signature = *data;
-
-    if (*signature != 'S') {
-        printf("Does not start with S\n");
-        retval = InvalidFormat;
-        goto cleanup;
-    }
-
-// TODO VERIFIY
-retval = Valid;
-
-// Maybe check if all bytes are < 127 and > 0
-
-cleanup:
-    if (retval != Valid && *data) {
-        free(*data);
-        *data = NULL;
-        *size = 0;
-    }
-    return retval;
-}
-
--- a/cinst/listutil.h	Thu Feb 20 10:58:28 2014 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-#ifndef LISTUTIL_H
-#define LISTUTIL_H
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include <stddef.h>
-
-/**
- * @file listutil.h
- * @brief Functions to work with the certificate list.
- */
-
-/**
- * @brief Status of the List Operations
- */
-typedef enum {
-    UnknownValidity = 0, // Not yet parsed
-    UnknownError = 1, // The expected unexpected
-    TooLarge = 2, // Failed because the file exeeds the limit
-    InvalidFormat = 3, // File does not appear to be in list format
-    InvalidSignature = 4, // Signature was invalid
-    StatFailed = 5, // Could not stat the file
-    ReadFailed = 6, // Could not read the file
-    IncompatibleVersion = 7, // The Format Version does not match
-    Valid = 8 // List is valid
-} list_status_t;
-
-/**
- * @brief Obtain the complete and verified Certificate list.
- *
- * This checks if the file fileName is a valid certificate
- * list signed by the key specified in pubkey.h
- *
- * The caller has to free data.
- *
- * @param[in] fileName Name of the file (UTF-8 encoded).
- * @param[out] data Newly allocated pointer to the file content.
- * @param[out] size Size in Bytes of the file content.
- *
- * @return status of the operation.
- */
-list_status_t readAndVerifyList(const char *fileName, char **data, size_t *size);
-#ifdef __cplusplus
-}
-#endif
-#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/common/listutil.c	Thu Feb 20 15:44:09 2014 +0000
@@ -0,0 +1,138 @@
+#include "listutil.h"
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <errno.h>
+#include <fcntl.h>
+#include <unistd.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <string.h>
+
+#define MAX_FILESIZE_KB 1024
+
+void handle_errno()
+{
+    printf("Error: %s \n", strerror(errno));
+}
+
+list_status_t readList(const char *fileName, char **data, size_t *size)
+{
+    int fd = -1;
+    struct stat fileStat;
+    int rc = 0;
+    ssize_t bRead = 0;
+
+    memset(&fileStat, 0, sizeof(fileStat));
+
+    list_status_t retval = UnknownError;
+
+    fd = open(fileName, O_RDONLY);
+    if (fd == -1) {
+        handle_errno();
+        retval = StatFailed;
+        goto cleanup;
+    }
+
+    rc = fstat(fd, &fileStat);
+    if (rc < 0) {
+        printf ("Stat failed with rc: %i\n", rc);
+        retval = StatFailed;
+        goto cleanup;
+    }
+
+    // Check the size of the file
+    if (!fileStat.st_size) {
+        printf("Size zero\n");
+        retval = StatFailed;
+        goto cleanup;
+    }
+
+    if (fileStat.st_size / 1024 > MAX_FILESIZE_KB &&
+            fileStat.st_size > 0) {
+        printf("File too large\n");
+        retval = TooLarge;
+        goto cleanup;
+    }
+
+    *size = (size_t) fileStat.st_size;
+
+    *data = (char*) malloc(*size);
+
+    if (*data == NULL) {
+        printf("Malloc failed\n");
+        retval = UnknownError;
+        goto cleanup;
+    }
+
+    bRead = read(fd, *data, *size);
+
+    if (bRead < 0 || (size_t) bRead != *size) {
+        printf("Read failed\n");
+        if (bRead == -1) {
+            handle_errno();
+        }
+        retval = UnknownError;
+        *size = 0;
+        if (*data) {
+            free(*data);
+            printf("Nulling data\n");
+            *data = NULL;
+        }
+        goto cleanup;
+    }
+
+    retval = UnknownValidity;
+cleanup:
+
+    if (fd && fd != -1) {
+        close(fd);
+        fd = -1;
+    }
+
+    return retval;
+}
+
+list_status_t readAndVerifyList(const char *fileName, char **data, size_t *size)
+{
+//    int validSig = 0;
+    char * signature = NULL;
+
+    list_status_t retval = UnknownError;
+    *data = NULL;
+    *size = 0;
+
+    retval = readList(fileName, data, size);
+
+    if (retval != UnknownValidity) {
+        printf ("Readlist failed\n");
+        return retval;
+    }
+
+    if (!data || !*size) {
+        // should not have happend if readList works as specified
+        return UnknownError;
+    }
+
+    signature = *data;
+
+    if (*signature != 'S') {
+        printf("Does not start with S\n");
+        retval = InvalidFormat;
+        goto cleanup;
+    }
+
+// TODO VERIFIY
+retval = Valid;
+
+// Maybe check if all bytes are < 127 and > 0
+
+cleanup:
+    if (retval != Valid && *data) {
+        free(*data);
+        *data = NULL;
+        *size = 0;
+    }
+    return retval;
+}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/common/listutil.h	Thu Feb 20 15:44:09 2014 +0000
@@ -0,0 +1,48 @@
+#ifndef LISTUTIL_H
+#define LISTUTIL_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include <stddef.h>
+
+/**
+ * @file listutil.h
+ * @brief Functions to work with the certificate list.
+ */
+
+/**
+ * @brief Status of the List Operations
+ */
+typedef enum {
+    UnknownValidity = 0, // Not yet parsed
+    UnknownError = 1, // The expected unexpected
+    TooLarge = 2, // Failed because the file exeeds the limit
+    InvalidFormat = 3, // File does not appear to be in list format
+    InvalidSignature = 4, // Signature was invalid
+    StatFailed = 5, // Could not stat the file
+    ReadFailed = 6, // Could not read the file
+    IncompatibleVersion = 7, // The Format Version does not match
+    Valid = 8 // List is valid
+} list_status_t;
+
+/**
+ * @brief Obtain the complete and verified Certificate list.
+ *
+ * This checks if the file fileName is a valid certificate
+ * list signed by the key specified in pubkey.h
+ *
+ * The caller has to free data.
+ *
+ * @param[in] fileName Name of the file (UTF-8 encoded).
+ * @param[out] data Newly allocated pointer to the file content.
+ * @param[out] size Size in Bytes of the file content.
+ *
+ * @return status of the operation.
+ */
+list_status_t readAndVerifyList(const char *fileName, char **data, size_t *size);
+#ifdef __cplusplus
+}
+#endif
+#endif

http://wald.intevation.org/projects/trustbridge/