aboutsummaryrefslogtreecommitdiffstats
path: root/src/checksum
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/checksum
parent8ce8e190682be9bafb7a69a77cf7c1443e53cf03 (diff)
downloadstrongswan-e1089f5906e4e148f5f1659373ff5f71a8dfcba2.tar.bz2
strongswan-e1089f5906e4e148f5f1659373ff5f71a8dfcba2.tar.xz
added file and segment lengths to checksum.c
Diffstat (limited to 'src/checksum')
-rw-r--r--src/checksum/checksum_builder.c15
1 files changed, 11 insertions, 4 deletions
diff --git a/src/checksum/checksum_builder.c b/src/checksum/checksum_builder.c
index d2c042d55..71cca1dcb 100644
--- a/src/checksum/checksum_builder.c
+++ b/src/checksum/checksum_builder.c
@@ -44,12 +44,16 @@ int main(int argc, char* argv[])
printf("#include <library.h>\n");
printf("\n");
printf("integrity_checksum_t checksums[] = {\n");
+ fprintf(stderr, "integrity test data:\n");
+ fprintf(stderr, "module name, file size / checksum segment size / checksum\n");
for (i = 1; i < argc; i++)
{
char *name, *path, *sname = NULL;
void *handle, *symbol;
u_int32_t fsum, ssum;
-
+ size_t fsize = 0;
+ size_t ssize = 0;
+
path = argv[i];
if ((name = strstr(path, "libstrongswan-")))
@@ -79,7 +83,7 @@ int main(int argc, char* argv[])
continue;
}
- fsum = integrity->build_file(integrity, path);
+ fsum = integrity->build_file(integrity, path, &fsize);
ssum = 0;
if (sname)
{
@@ -89,7 +93,7 @@ int main(int argc, char* argv[])
symbol = dlsym(handle, sname);
if (symbol)
{
- ssum = integrity->build_segment(integrity, symbol);
+ ssum = integrity->build_segment(integrity, symbol, &ssize);
}
else
{
@@ -102,7 +106,10 @@ int main(int argc, char* argv[])
fprintf(stderr, "dlopen failed: %s\n", dlerror());
}
}
- printf("\t{\"%-20s0x%08x, 0x%08x},\n", name, fsum, ssum);
+ printf("\t{\"%-20s%7u, 0x%08x, %6u, 0x%08x},\n",
+ name, fsize, fsum, ssize, ssum);
+ fprintf(stderr, "\"%-20s%7u / 0x%08x %6u / 0x%08x\n",
+ name, fsize, fsum, ssize, ssum);
free(name);
}
printf("};\n");