aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorTobias Brunner <tobias@strongswan.org>2013-06-27 15:34:08 +0200
committerTobias Brunner <tobias@strongswan.org>2013-06-27 15:34:08 +0200
commit75ff2523247ba4a1576936fd293453870b5d636c (patch)
treef0cdb949053ca690472137810f1f71eae7b7b32e /src
parentfcc33c0cd476702010eb84d61895b4093ad373ad (diff)
downloadstrongswan-75ff2523247ba4a1576936fd293453870b5d636c.tar.bz2
strongswan-75ff2523247ba4a1576936fd293453870b5d636c.tar.xz
integrity-checker: Fix checksum calculation after randomizing chunk_hash()
Diffstat (limited to 'src')
-rw-r--r--src/libstrongswan/utils/integrity_checker.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/libstrongswan/utils/integrity_checker.c b/src/libstrongswan/utils/integrity_checker.c
index e962aba70..be2faf2ce 100644
--- a/src/libstrongswan/utils/integrity_checker.c
+++ b/src/libstrongswan/utils/integrity_checker.c
@@ -32,6 +32,11 @@
typedef struct private_integrity_checker_t private_integrity_checker_t;
/**
+ * Key used to calculate MACs (128-bit)
+ */
+static char key[] = "IntegrityChecker";
+
+/**
* Private data of an integrity_checker_t object.
*/
struct private_integrity_checker_t {
@@ -91,7 +96,7 @@ METHOD(integrity_checker_t, build_file, u_int32_t,
*len = sb.st_size;
contents = chunk_create(addr, sb.st_size);
- checksum = chunk_hash(contents);
+ checksum = chunk_mac(contents, key);
munmap(addr, sb.st_size);
close(fd);
@@ -153,7 +158,7 @@ METHOD(integrity_checker_t, build_segment, u_int32_t,
segment = chunk_create(dli.dli_fbase, dli.dli_saddr - dli.dli_fbase);
*len = segment.len;
- return chunk_hash(segment);
+ return chunk_mac(segment, key);
}
/**