aboutsummaryrefslogtreecommitdiffstats
path: root/src/libstrongswan/integrity_checker.h
diff options
context:
space:
mode:
authorAndreas Steffen <andreas.steffen@strongswan.org>2009-07-21 22:23:51 +0200
committerAndreas Steffen <andreas.steffen@strongswan.org>2009-07-21 22:23:51 +0200
commite1089f5906e4e148f5f1659373ff5f71a8dfcba2 (patch)
tree137bf247f18bb668aa9f8d44d7873878c171a898 /src/libstrongswan/integrity_checker.h
parent8ce8e190682be9bafb7a69a77cf7c1443e53cf03 (diff)
downloadstrongswan-e1089f5906e4e148f5f1659373ff5f71a8dfcba2.tar.bz2
strongswan-e1089f5906e4e148f5f1659373ff5f71a8dfcba2.tar.xz
added file and segment lengths to checksum.c
Diffstat (limited to 'src/libstrongswan/integrity_checker.h')
-rw-r--r--src/libstrongswan/integrity_checker.h11
1 files changed, 8 insertions, 3 deletions
diff --git a/src/libstrongswan/integrity_checker.h b/src/libstrongswan/integrity_checker.h
index d10de5b5b..d078dd6fb 100644
--- a/src/libstrongswan/integrity_checker.h
+++ b/src/libstrongswan/integrity_checker.h
@@ -33,8 +33,12 @@ typedef struct integrity_checksum_t integrity_checksum_t;
struct integrity_checksum_t {
/* name of the checksum */
char *name;
+ /* size in bytes of the file on disk */
+ size_t file_len;
/* checksum of the file on disk */
u_int32_t file;
+ /* size in bytes of executable segment in memory */
+ size_t segment_len;
/* checksum of the executable segment in memory */
u_int32_t segment;
};
@@ -60,9 +64,10 @@ struct integrity_checker_t {
* Build the integrity checksum of a file on disk.
*
* @param file path to file
+ * @param len return length in bytes of file
* @return checksum, 0 on error
*/
- u_int32_t (*build_file)(integrity_checker_t *this, char *file);
+ u_int32_t (*build_file)(integrity_checker_t *this, char *file, size_t *len);
/**
* Check the integrity of the code segment in memory.
@@ -72,14 +77,14 @@ struct integrity_checker_t {
* @return TRUE if integrity tested successfully
*/
bool (*check_segment)(integrity_checker_t *this, char *name, void *sym);
-
/**
* Build the integrity checksum of a code segment in memory.
*
* @param sym a symbol in the segment to check
+ * @param len return length in bytes of code segment in memory
* @return checksum, 0 on error
*/
- u_int32_t (*build_segment)(integrity_checker_t *this, void *sym);
+ u_int32_t (*build_segment)(integrity_checker_t *this, void *sym, size_t *len);
/**
* Check both, on disk file integrity and loaded segment.