changeset 20225:d7f5154677c2

lib-dcrypt: Use base64 encoded test samples
author Aki Tuomi <aki.tuomi@dovecot.fi>
date Mon, 30 May 2016 22:39:39 +0300
parents b5f3dc5f5fb2
children 2fe183522f0e
files src/lib-dcrypt/Makefile.am src/lib-dcrypt/sample-v1.asc src/lib-dcrypt/sample-v1.bin src/lib-dcrypt/sample-v2.asc src/lib-dcrypt/sample-v2.bin src/lib-dcrypt/test-stream.c
diffstat 6 files changed, 358 insertions(+), 18 deletions(-) [+]
line wrap: on
line diff
--- a/src/lib-dcrypt/Makefile.am	Mon May 30 22:33:29 2016 +0300
+++ b/src/lib-dcrypt/Makefile.am	Mon May 30 22:39:39 2016 +0300
@@ -33,8 +33,8 @@
 pkginc_lib_HEADERS = $(headers)
 
 EXTRA_DIST = \
-	sample-v1.bin \
-	sample-v2.bin
+	sample-v1.asc \
+	sample-v2.asc
 
 check_PROGRAMS = test-crypto test-stream
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/lib-dcrypt/sample-v1.asc	Mon May 30 22:39:39 2016 +0300
@@ -0,0 +1,48 @@
+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
+d/l7J6LsH25I/zsIV/0OHcrvMUEf2WzU3Q==
Binary file src/lib-dcrypt/sample-v1.bin has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/lib-dcrypt/sample-v2.asc	Mon May 30 22:39:39 2016 +0300
@@ -0,0 +1,287 @@
+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
Binary file src/lib-dcrypt/sample-v2.bin has changed
--- a/src/lib-dcrypt/test-stream.c	Mon May 30 22:33:29 2016 +0300
+++ b/src/lib-dcrypt/test-stream.c	Mon May 30 22:39:39 2016 +0300
@@ -7,6 +7,7 @@
 #include "istream.h"
 #include "istream-decrypt.h"
 #include "istream-hash.h"
+#include "istream-base64.h"
 #include "iostream-temp.h"
 #include "randgen.h"
 #include "hash-method.h"
@@ -56,20 +57,22 @@
 
 	test_begin("test_static_v1_input");
 
-	struct istream *is_1 = i_stream_create_file("sample-v1.bin", IO_BLOCK_SIZE);
-	struct istream *is_2 = i_stream_create_decrypt(is_1, test_v1_kp.priv);
+	struct istream *is_1 = i_stream_create_file("sample-v1.asc", IO_BLOCK_SIZE);
+	struct istream *is_2 = i_stream_create_base64_decoder(is_1);
 	i_stream_unref(&is_1);
-	struct istream *is_3 = i_stream_create_hash(is_2, hash, hash_ctx);
+	struct istream *is_3 = i_stream_create_decrypt(is_2, test_v1_kp.priv);
 	i_stream_unref(&is_2);
+	struct istream *is_4 = i_stream_create_hash(is_3, hash, hash_ctx);
+	i_stream_unref(&is_3);
 
-	while((siz = i_stream_read(is_3))>0) { i_stream_skip(is_3, siz); }
+	while((siz = i_stream_read(is_4))>0) { i_stream_skip(is_4, siz); }
 
-	if (is_3->stream_errno != 0)
-		i_debug("error: %s", i_stream_get_error(is_3));
+	if (is_4->stream_errno != 0)
+		i_debug("error: %s", i_stream_get_error(is_4));
 
-	test_assert(is_3->stream_errno == 0);
+	test_assert(is_4->stream_errno == 0);
 
-	i_stream_unref(&is_3);
+	i_stream_unref(&is_4);
 
 	hash->result(hash_ctx, hash_dgst);
 
@@ -88,20 +91,22 @@
 	unsigned char hash_dgst[hash->digest_size];
 	hash->init(hash_ctx);
 
-	struct istream *is_1 = i_stream_create_file("sample-v2.bin", IO_BLOCK_SIZE);
-	struct istream *is_2 = i_stream_create_decrypt(is_1, test_v2_kp.priv);
+	struct istream *is_1 = i_stream_create_file("sample-v2.asc", IO_BLOCK_SIZE);
+	struct istream *is_2 = i_stream_create_base64_decoder(is_1);
 	i_stream_unref(&is_1);
-	struct istream *is_3 = i_stream_create_hash(is_2, hash, hash_ctx);
+	struct istream *is_3 = i_stream_create_decrypt(is_2, test_v2_kp.priv);
 	i_stream_unref(&is_2);
+	struct istream *is_4 = i_stream_create_hash(is_3, hash, hash_ctx);
+	i_stream_unref(&is_3);
 
-	while((amt = i_stream_read(is_3))>0) { i_stream_skip(is_3, amt); }
+	while((amt = i_stream_read(is_4))>0) { i_stream_skip(is_4, amt); }
 
-        if (is_3->stream_errno != 0)
-                i_debug("error: %s", i_stream_get_error(is_3));
+        if (is_4->stream_errno != 0)
+                i_debug("error: %s", i_stream_get_error(is_4));
 
-	test_assert(is_3->stream_errno == 0);
+	test_assert(is_4->stream_errno == 0);
 
-	i_stream_unref(&is_3);
+	i_stream_unref(&is_4);
 
 	hash->result(hash_ctx, hash_dgst);