Blob Blame Raw
## cryptest-data-files-location.diff by Jens Peter Secher <jps@debian.org>
##
## Prefix data file names by PACKAGE_DATA_DIR which is set during build.

--- libcrypto++-5.6.3.orig/bench2.cpp
+++ libcrypto++-5.6.3/bench2.cpp
@@ -257,44 +257,44 @@ void BenchmarkAll2(double t, double hert
 	cout << "<THEAD><TR><TH>Operation<TH>Milliseconds/Operation" << (g_hertz ? "<TH>Megacycles/Operation" : "") << endl;
 
 	cout << "\n<TBODY style=\"background: yellow\">";
-	BenchMarkCrypto<RSAES<OAEP<SHA> > >("TestData/rsa1024.dat", "RSA 1024", t);
-	BenchMarkCrypto<LUCES<OAEP<SHA> > >("TestData/luc1024.dat", "LUC 1024", t);
-	BenchMarkCrypto<DLIES<> >("TestData/dlie1024.dat", "DLIES 1024", t);
-	BenchMarkCrypto<LUC_IES<> >("TestData/lucc512.dat", "LUCELG 512", t);
+	BenchMarkCrypto<RSAES<OAEP<SHA> > >(PACKAGE_DATA_DIR "TestData/rsa1024.dat", "RSA 1024", t);
+	BenchMarkCrypto<LUCES<OAEP<SHA> > >(PACKAGE_DATA_DIR "TestData/luc1024.dat", "LUC 1024", t);
+	BenchMarkCrypto<DLIES<> >(PACKAGE_DATA_DIR "TestData/dlie1024.dat", "DLIES 1024", t);
+	BenchMarkCrypto<LUC_IES<> >(PACKAGE_DATA_DIR "TestData/lucc512.dat", "LUCELG 512", t);
 
 	cout << "\n<TBODY style=\"background: white\">";
-	BenchMarkCrypto<RSAES<OAEP<SHA> > >("TestData/rsa2048.dat", "RSA 2048", t);
-	BenchMarkCrypto<LUCES<OAEP<SHA> > >("TestData/luc2048.dat", "LUC 2048", t);
-	BenchMarkCrypto<DLIES<> >("TestData/dlie2048.dat", "DLIES 2048", t);
-	BenchMarkCrypto<LUC_IES<> >("TestData/lucc1024.dat", "LUCELG 1024", t);
+	BenchMarkCrypto<RSAES<OAEP<SHA> > >(PACKAGE_DATA_DIR "TestData/rsa2048.dat", "RSA 2048", t);
+	BenchMarkCrypto<LUCES<OAEP<SHA> > >(PACKAGE_DATA_DIR "TestData/luc2048.dat", "LUC 2048", t);
+	BenchMarkCrypto<DLIES<> >(PACKAGE_DATA_DIR "TestData/dlie2048.dat", "DLIES 2048", t);
+	BenchMarkCrypto<LUC_IES<> >(PACKAGE_DATA_DIR "TestData/lucc1024.dat", "LUCELG 1024", t);
 
 	cout << "\n<TBODY style=\"background: yellow\">";
-	BenchMarkSignature<RSASS<PSSR, SHA> >("TestData/rsa1024.dat", "RSA 1024", t);
-	BenchMarkSignature<RWSS<PSSR, SHA> >("TestData/rw1024.dat", "RW 1024", t);
-	BenchMarkSignature<LUCSS<PSSR, SHA> >("TestData/luc1024.dat", "LUC 1024", t);
-	BenchMarkSignature<NR<SHA> >("TestData/nr1024.dat", "NR 1024", t);
-	BenchMarkSignature<DSA>("TestData/dsa1024.dat", "DSA 1024", t);
-	BenchMarkSignature<LUC_HMP<SHA> >("TestData/lucs512.dat", "LUC-HMP 512", t);
-	BenchMarkSignature<ESIGN<SHA> >("TestData/esig1023.dat", "ESIGN 1023", t);
-	BenchMarkSignature<ESIGN<SHA> >("TestData/esig1536.dat", "ESIGN 1536", t);
+	BenchMarkSignature<RSASS<PSSR, SHA> >(PACKAGE_DATA_DIR "TestData/rsa1024.dat", "RSA 1024", t);
+	BenchMarkSignature<RWSS<PSSR, SHA> >(PACKAGE_DATA_DIR "TestData/rw1024.dat", "RW 1024", t);
+	BenchMarkSignature<LUCSS<PSSR, SHA> >(PACKAGE_DATA_DIR "TestData/luc1024.dat", "LUC 1024", t);
+	BenchMarkSignature<NR<SHA> >(PACKAGE_DATA_DIR "TestData/nr1024.dat", "NR 1024", t);
+	BenchMarkSignature<DSA>(PACKAGE_DATA_DIR "TestData/dsa1024.dat", "DSA 1024", t);
+	BenchMarkSignature<LUC_HMP<SHA> >(PACKAGE_DATA_DIR "TestData/lucs512.dat", "LUC-HMP 512", t);
+	BenchMarkSignature<ESIGN<SHA> >(PACKAGE_DATA_DIR "TestData/esig1023.dat", "ESIGN 1023", t);
+	BenchMarkSignature<ESIGN<SHA> >(PACKAGE_DATA_DIR "TestData/esig1536.dat", "ESIGN 1536", t);
 
 	cout << "\n<TBODY style=\"background: white\">";
-	BenchMarkSignature<RSASS<PSSR, SHA> >("TestData/rsa2048.dat", "RSA 2048", t);
-	BenchMarkSignature<RWSS<PSSR, SHA> >("TestData/rw2048.dat", "RW 2048", t);
-	BenchMarkSignature<LUCSS<PSSR, SHA> >("TestData/luc2048.dat", "LUC 2048", t);
-	BenchMarkSignature<NR<SHA> >("TestData/nr2048.dat", "NR 2048", t);
-	BenchMarkSignature<LUC_HMP<SHA> >("TestData/lucs1024.dat", "LUC-HMP 1024", t);
-	BenchMarkSignature<ESIGN<SHA> >("TestData/esig2046.dat", "ESIGN 2046", t);
+	BenchMarkSignature<RSASS<PSSR, SHA> >(PACKAGE_DATA_DIR "TestData/rsa2048.dat", "RSA 2048", t);
+	BenchMarkSignature<RWSS<PSSR, SHA> >(PACKAGE_DATA_DIR "TestData/rw2048.dat", "RW 2048", t);
+	BenchMarkSignature<LUCSS<PSSR, SHA> >(PACKAGE_DATA_DIR "TestData/luc2048.dat", "LUC 2048", t);
+	BenchMarkSignature<NR<SHA> >(PACKAGE_DATA_DIR "TestData/nr2048.dat", "NR 2048", t);
+	BenchMarkSignature<LUC_HMP<SHA> >(PACKAGE_DATA_DIR "TestData/lucs1024.dat", "LUC-HMP 1024", t);
+	BenchMarkSignature<ESIGN<SHA> >(PACKAGE_DATA_DIR "TestData/esig2046.dat", "ESIGN 2046", t);
 
 	cout << "\n<TBODY style=\"background: yellow\">";
-	BenchMarkKeyAgreement<XTR_DH>("TestData/xtrdh171.dat", "XTR-DH 171", t);
-	BenchMarkKeyAgreement<XTR_DH>("TestData/xtrdh342.dat", "XTR-DH 342", t);
-	BenchMarkKeyAgreement<DH>("TestData/dh1024.dat", "DH 1024", t);
-	BenchMarkKeyAgreement<DH>("TestData/dh2048.dat", "DH 2048", t);
-	BenchMarkKeyAgreement<LUC_DH>("TestData/lucd512.dat", "LUCDIF 512", t);
-	BenchMarkKeyAgreement<LUC_DH>("TestData/lucd1024.dat", "LUCDIF 1024", t);
-	BenchMarkKeyAgreement<MQV>("TestData/mqv1024.dat", "MQV 1024", t);
-	BenchMarkKeyAgreement<MQV>("TestData/mqv2048.dat", "MQV 2048", t);
+	BenchMarkKeyAgreement<XTR_DH>(PACKAGE_DATA_DIR "TestData/xtrdh171.dat", "XTR-DH 171", t);
+	BenchMarkKeyAgreement<XTR_DH>(PACKAGE_DATA_DIR "TestData/xtrdh342.dat", "XTR-DH 342", t);
+	BenchMarkKeyAgreement<DH>(PACKAGE_DATA_DIR "TestData/dh1024.dat", "DH 1024", t);
+	BenchMarkKeyAgreement<DH>(PACKAGE_DATA_DIR "TestData/dh2048.dat", "DH 2048", t);
+	BenchMarkKeyAgreement<LUC_DH>(PACKAGE_DATA_DIR "TestData/lucd512.dat", "LUCDIF 512", t);
+	BenchMarkKeyAgreement<LUC_DH>(PACKAGE_DATA_DIR "TestData/lucd1024.dat", "LUCDIF 1024", t);
+	BenchMarkKeyAgreement<MQV>(PACKAGE_DATA_DIR "TestData/mqv1024.dat", "MQV 1024", t);
+	BenchMarkKeyAgreement<MQV>(PACKAGE_DATA_DIR "TestData/mqv2048.dat", "MQV 2048", t);
 
 	cout << "\n<TBODY style=\"background: white\">";
 	{
--- libcrypto++-5.6.3.orig/test.cpp
+++ libcrypto++-5.6.3/test.cpp
@@ -281,7 +281,7 @@ int CRYPTOPP_API main(int argc, char *ar
 		{
 			std::string fname = (argv[2] ? argv[2] : "all");
 			if (fname.find(".txt") == std::string::npos)
-				fname = "TestVectors/" + fname + ".txt";
+				fname = PACKAGE_DATA_DIR "TestVectors/" + fname + ".txt";
 			
 			PrintSeedAndThreads(seed);
 			return !RunTestDataFile(fname.c_str());
@@ -369,7 +369,7 @@ int CRYPTOPP_API main(int argc, char *ar
 			AES_CTR_Encrypt(argv[2], argv[3], argv[4], argv[5]);
 		else if (command == "h")
 		{
-			FileSource usage("TestData/usage.dat", true, new FileSink(cout));
+			FileSource usage(PACKAGE_DATA_DIR "TestData/usage.dat", true, new FileSink(cout));
 			return 1;
 		}
 		else if (command == "V")
--- libcrypto++-5.6.3.orig/validat1.cpp
+++ libcrypto++-5.6.3/validat1.cpp
@@ -83,7 +83,7 @@ bool ValidateAll(bool thorough)
 	pass=ValidateMD2() && pass;
 	pass=ValidateMD5() && pass;
 	pass=ValidateSHA() && pass;
-	pass=RunTestDataFile("TestVectors/sha3.txt") && pass;
+	pass=RunTestDataFile(PACKAGE_DATA_DIR "TestVectors/sha3.txt") && pass;
 	pass=ValidateTiger() && pass;
 	pass=ValidateRIPEMD() && pass;
 	pass=ValidatePanama() && pass;
@@ -123,8 +123,8 @@ bool ValidateAll(bool thorough)
 	pass=ValidateCCM() && pass;
 	pass=ValidateGCM() && pass;
 	pass=ValidateCMAC() && pass;
-	pass=RunTestDataFile("TestVectors/eax.txt") && pass;
-	pass=RunTestDataFile("TestVectors/seed.txt") && pass;
+	pass=RunTestDataFile(PACKAGE_DATA_DIR "TestVectors/eax.txt") && pass;
+	pass=RunTestDataFile(PACKAGE_DATA_DIR "TestVectors/seed.txt") && pass;
 
 	pass=ValidateBBS() && pass;
 	pass=ValidateDH() && pass;
@@ -735,12 +735,12 @@ bool ValidateDES()
 {
 	cout << "\nDES validation suite running...\n\n";
 
-	FileSource valdata("TestData/descert.dat", true, new HexDecoder);
+	FileSource valdata(PACKAGE_DATA_DIR "TestData/descert.dat", true, new HexDecoder);
 	bool pass = BlockTransformationTest(FixedRoundsCipherFactory<DESEncryption, DESDecryption>(), valdata);
 
 	cout << "\nTesting EDE2, EDE3, and XEX3 variants...\n\n";
 
-	FileSource valdata1("TestData/3desval.dat", true, new HexDecoder);
+	FileSource valdata1(PACKAGE_DATA_DIR "TestData/3desval.dat", true, new HexDecoder);
 	pass = BlockTransformationTest(FixedRoundsCipherFactory<DES_EDE2_Encryption, DES_EDE2_Decryption>(), valdata1, 1) && pass;
 	pass = BlockTransformationTest(FixedRoundsCipherFactory<DES_EDE3_Encryption, DES_EDE3_Decryption>(), valdata1, 1) && pass;
 	pass = BlockTransformationTest(FixedRoundsCipherFactory<DES_XEX3_Encryption, DES_XEX3_Decryption>(), valdata1, 1) && pass;
@@ -1084,7 +1084,7 @@ bool ValidateIDEA()
 {
 	cout << "\nIDEA validation suite running...\n\n";
 
-	FileSource valdata("TestData/ideaval.dat", true, new HexDecoder);
+	FileSource valdata(PACKAGE_DATA_DIR "TestData/ideaval.dat", true, new HexDecoder);
 	return BlockTransformationTest(FixedRoundsCipherFactory<IDEAEncryption, IDEADecryption>(), valdata);
 }
 
@@ -1092,7 +1092,7 @@ bool ValidateSAFER()
 {
 	cout << "\nSAFER validation suite running...\n\n";
 
-	FileSource valdata("TestData/saferval.dat", true, new HexDecoder);
+	FileSource valdata(PACKAGE_DATA_DIR "TestData/saferval.dat", true, new HexDecoder);
 	bool pass = true;
 	pass = BlockTransformationTest(VariableRoundsCipherFactory<SAFER_K_Encryption, SAFER_K_Decryption>(8,6), valdata, 4) && pass;
 	pass = BlockTransformationTest(VariableRoundsCipherFactory<SAFER_K_Encryption, SAFER_K_Decryption>(16,12), valdata, 4) && pass;
@@ -1105,7 +1105,7 @@ bool ValidateRC2()
 {
 	cout << "\nRC2 validation suite running...\n\n";
 
-	FileSource valdata("TestData/rc2val.dat", true, new HexDecoder);
+	FileSource valdata(PACKAGE_DATA_DIR "TestData/rc2val.dat", true, new HexDecoder);
 	HexEncoder output(new FileSink(cout));
 	SecByteBlock plain(RC2Encryption::BLOCKSIZE), cipher(RC2Encryption::BLOCKSIZE), out(RC2Encryption::BLOCKSIZE), outplain(RC2Encryption::BLOCKSIZE);
 	SecByteBlock key(128);
@@ -1315,7 +1315,7 @@ bool ValidateRC5()
 {
 	cout << "\nRC5 validation suite running...\n\n";
 
-	FileSource valdata("TestData/rc5val.dat", true, new HexDecoder);
+	FileSource valdata(PACKAGE_DATA_DIR "TestData/rc5val.dat", true, new HexDecoder);
 	return BlockTransformationTest(VariableRoundsCipherFactory<RC5Encryption, RC5Decryption>(16, 12), valdata);
 }
 
@@ -1323,7 +1323,7 @@ bool ValidateRC6()
 {
 	cout << "\nRC6 validation suite running...\n\n";
 
-	FileSource valdata("TestData/rc6val.dat", true, new HexDecoder);
+	FileSource valdata(PACKAGE_DATA_DIR "TestData/rc6val.dat", true, new HexDecoder);
 	bool pass = true;
 	pass = BlockTransformationTest(FixedRoundsCipherFactory<RC6Encryption, RC6Decryption>(16), valdata, 2) && pass;
 	pass = BlockTransformationTest(FixedRoundsCipherFactory<RC6Encryption, RC6Decryption>(24), valdata, 2) && pass;
@@ -1335,7 +1335,7 @@ bool ValidateMARS()
 {
 	cout << "\nMARS validation suite running...\n\n";
 
-	FileSource valdata("TestData/marsval.dat", true, new HexDecoder);
+	FileSource valdata(PACKAGE_DATA_DIR "TestData/marsval.dat", true, new HexDecoder);
 	bool pass = true;
 	pass = BlockTransformationTest(FixedRoundsCipherFactory<MARSEncryption, MARSDecryption>(16), valdata, 4) && pass;
 	pass = BlockTransformationTest(FixedRoundsCipherFactory<MARSEncryption, MARSDecryption>(24), valdata, 3) && pass;
@@ -1347,12 +1347,12 @@ bool ValidateRijndael()
 {
 	cout << "\nRijndael (AES) validation suite running...\n\n";
 
-	FileSource valdata("TestData/rijndael.dat", true, new HexDecoder);
+	FileSource valdata(PACKAGE_DATA_DIR "TestData/rijndael.dat", true, new HexDecoder);
 	bool pass = true;
 	pass = BlockTransformationTest(FixedRoundsCipherFactory<RijndaelEncryption, RijndaelDecryption>(16), valdata, 4) && pass;
 	pass = BlockTransformationTest(FixedRoundsCipherFactory<RijndaelEncryption, RijndaelDecryption>(24), valdata, 3) && pass;
 	pass = BlockTransformationTest(FixedRoundsCipherFactory<RijndaelEncryption, RijndaelDecryption>(32), valdata, 2) && pass;
-	pass = RunTestDataFile("TestVectors/aes.txt") && pass;
+	pass = RunTestDataFile(PACKAGE_DATA_DIR "TestVectors/aes.txt") && pass;
 	return pass;
 }
 
@@ -1360,7 +1360,7 @@ bool ValidateTwofish()
 {
 	cout << "\nTwofish validation suite running...\n\n";
 
-	FileSource valdata("TestData/twofishv.dat", true, new HexDecoder);
+	FileSource valdata(PACKAGE_DATA_DIR "TestData/twofishv.dat", true, new HexDecoder);
 	bool pass = true;
 	pass = BlockTransformationTest(FixedRoundsCipherFactory<TwofishEncryption, TwofishDecryption>(16), valdata, 4) && pass;
 	pass = BlockTransformationTest(FixedRoundsCipherFactory<TwofishEncryption, TwofishDecryption>(24), valdata, 3) && pass;
@@ -1372,7 +1372,7 @@ bool ValidateSerpent()
 {
 	cout << "\nSerpent validation suite running...\n\n";
 
-	FileSource valdata("TestData/serpentv.dat", true, new HexDecoder);
+	FileSource valdata(PACKAGE_DATA_DIR "TestData/serpentv.dat", true, new HexDecoder);
 	bool pass = true;
 	pass = BlockTransformationTest(FixedRoundsCipherFactory<SerpentEncryption, SerpentDecryption>(16), valdata, 5) && pass;
 	pass = BlockTransformationTest(FixedRoundsCipherFactory<SerpentEncryption, SerpentDecryption>(24), valdata, 4) && pass;
@@ -1418,7 +1418,7 @@ bool ValidateThreeWay()
 {
 	cout << "\n3-WAY validation suite running...\n\n";
 
-	FileSource valdata("TestData/3wayval.dat", true, new HexDecoder);
+	FileSource valdata(PACKAGE_DATA_DIR "TestData/3wayval.dat", true, new HexDecoder);
 	return BlockTransformationTest(FixedRoundsCipherFactory<ThreeWayEncryption, ThreeWayDecryption>(), valdata);
 }
 
@@ -1426,7 +1426,7 @@ bool ValidateGOST()
 {
 	cout << "\nGOST validation suite running...\n\n";
 
-	FileSource valdata("TestData/gostval.dat", true, new HexDecoder);
+	FileSource valdata(PACKAGE_DATA_DIR "TestData/gostval.dat", true, new HexDecoder);
 	return BlockTransformationTest(FixedRoundsCipherFactory<GOSTEncryption, GOSTDecryption>(), valdata);
 }
 
@@ -1434,7 +1434,7 @@ bool ValidateSHARK()
 {
 	cout << "\nSHARK validation suite running...\n\n";
 
-	FileSource valdata("TestData/sharkval.dat", true, new HexDecoder);
+	FileSource valdata(PACKAGE_DATA_DIR "TestData/sharkval.dat", true, new HexDecoder);
 	return BlockTransformationTest(FixedRoundsCipherFactory<SHARKEncryption, SHARKDecryption>(), valdata);
 }
 
@@ -1444,14 +1444,14 @@ bool ValidateCAST()
 
 	cout << "\nCAST-128 validation suite running...\n\n";
 
-	FileSource val128("TestData/cast128v.dat", true, new HexDecoder);
+	FileSource val128(PACKAGE_DATA_DIR "TestData/cast128v.dat", true, new HexDecoder);
 	pass = BlockTransformationTest(FixedRoundsCipherFactory<CAST128Encryption, CAST128Decryption>(16), val128, 1) && pass;
 	pass = BlockTransformationTest(FixedRoundsCipherFactory<CAST128Encryption, CAST128Decryption>(10), val128, 1) && pass;
 	pass = BlockTransformationTest(FixedRoundsCipherFactory<CAST128Encryption, CAST128Decryption>(5), val128, 1) && pass;
 
 	cout << "\nCAST-256 validation suite running...\n\n";
 
-	FileSource val256("TestData/cast256v.dat", true, new HexDecoder);
+	FileSource val256(PACKAGE_DATA_DIR "TestData/cast256v.dat", true, new HexDecoder);
 	pass = BlockTransformationTest(FixedRoundsCipherFactory<CAST256Encryption, CAST256Decryption>(16), val256, 1) && pass;
 	pass = BlockTransformationTest(FixedRoundsCipherFactory<CAST256Encryption, CAST256Decryption>(24), val256, 1) && pass;
 	pass = BlockTransformationTest(FixedRoundsCipherFactory<CAST256Encryption, CAST256Decryption>(32), val256, 1) && pass;
@@ -1463,7 +1463,7 @@ bool ValidateSquare()
 {
 	cout << "\nSquare validation suite running...\n\n";
 
-	FileSource valdata("TestData/squareva.dat", true, new HexDecoder);
+	FileSource valdata(PACKAGE_DATA_DIR "TestData/squareva.dat", true, new HexDecoder);
 	return BlockTransformationTest(FixedRoundsCipherFactory<SquareEncryption, SquareDecryption>(), valdata);
 }
 
@@ -1471,7 +1471,7 @@ bool ValidateSKIPJACK()
 {
 	cout << "\nSKIPJACK validation suite running...\n\n";
 
-	FileSource valdata("TestData/skipjack.dat", true, new HexDecoder);
+	FileSource valdata(PACKAGE_DATA_DIR "TestData/skipjack.dat", true, new HexDecoder);
 	return BlockTransformationTest(FixedRoundsCipherFactory<SKIPJACKEncryption, SKIPJACKDecryption>(), valdata);
 }
 
@@ -1575,7 +1575,7 @@ bool ValidateSHACAL2()
 	cout << "\nSHACAL-2 validation suite running...\n\n";
 
 	bool pass = true;
-	FileSource valdata("TestData/shacal2v.dat", true, new HexDecoder);
+	FileSource valdata(PACKAGE_DATA_DIR "TestData/shacal2v.dat", true, new HexDecoder);
 	pass = BlockTransformationTest(FixedRoundsCipherFactory<SHACAL2Encryption, SHACAL2Decryption>(16), valdata, 4) && pass;
 	pass = BlockTransformationTest(FixedRoundsCipherFactory<SHACAL2Encryption, SHACAL2Decryption>(64), valdata, 10) && pass;
 	return pass;
@@ -1586,7 +1586,7 @@ bool ValidateCamellia()
 	cout << "\nCamellia validation suite running...\n\n";
 
 	bool pass = true;
-	FileSource valdata("TestData/camellia.dat", true, new HexDecoder);
+	FileSource valdata(PACKAGE_DATA_DIR "TestData/camellia.dat", true, new HexDecoder);
 	pass = BlockTransformationTest(FixedRoundsCipherFactory<CamelliaEncryption, CamelliaDecryption>(16), valdata, 15) && pass;
 	pass = BlockTransformationTest(FixedRoundsCipherFactory<CamelliaEncryption, CamelliaDecryption>(24), valdata, 15) && pass;
 	pass = BlockTransformationTest(FixedRoundsCipherFactory<CamelliaEncryption, CamelliaDecryption>(32), valdata, 15) && pass;
@@ -1597,38 +1597,38 @@ bool ValidateSalsa()
 {
 	cout << "\nSalsa validation suite running...\n";
 
-	return RunTestDataFile("TestVectors/salsa.txt");
+	return RunTestDataFile(PACKAGE_DATA_DIR "TestVectors/salsa.txt");
 }
 
 bool ValidateSosemanuk()
 {
 	cout << "\nSosemanuk validation suite running...\n";
-	return RunTestDataFile("TestVectors/sosemanuk.txt");
+	return RunTestDataFile(PACKAGE_DATA_DIR "TestVectors/sosemanuk.txt");
 }
 
 bool ValidateVMAC()
 {
 	cout << "\nVMAC validation suite running...\n";
-	return RunTestDataFile("TestVectors/vmac.txt");
+	return RunTestDataFile(PACKAGE_DATA_DIR "TestVectors/vmac.txt");
 }
 
 bool ValidateCCM()
 {
 	cout << "\nAES/CCM validation suite running...\n";
-	return RunTestDataFile("TestVectors/ccm.txt");
+	return RunTestDataFile(PACKAGE_DATA_DIR "TestVectors/ccm.txt");
 }
 
 bool ValidateGCM()
 {
 	cout << "\nAES/GCM validation suite running...\n";
 	cout << "\n2K tables:";
-	bool pass = RunTestDataFile("TestVectors/gcm.txt", MakeParameters(Name::TableSize(), (int)2048));
+	bool pass = RunTestDataFile(PACKAGE_DATA_DIR "TestVectors/gcm.txt", MakeParameters(Name::TableSize(), (int)2048));
 	cout << "\n64K tables:";
-	return RunTestDataFile("TestVectors/gcm.txt", MakeParameters(Name::TableSize(), (int)64*1024)) && pass;
+	return RunTestDataFile(PACKAGE_DATA_DIR "TestVectors/gcm.txt", MakeParameters(Name::TableSize(), (int)64*1024)) && pass;
 }
 
 bool ValidateCMAC()
 {
 	cout << "\nCMAC validation suite running...\n";
-	return RunTestDataFile("TestVectors/cmac.txt");
+	return RunTestDataFile(PACKAGE_DATA_DIR "TestVectors/cmac.txt");
 }
--- libcrypto++-5.6.3.orig/validat2.cpp
+++ libcrypto++-5.6.3/validat2.cpp
@@ -283,7 +283,7 @@ bool ValidateRSA()
 			"\x69\x94\xac\x04\xf3\x41\xb5\x7d\x05\x20\x2d\x42\x8f\xb2\xa2\x7b"
 			"\x5c\x77\xdf\xd9\xb1\x5b\xfc\x3d\x55\x93\x53\x50\x34\x10\xc1\xe1";
 
-		FileSource keys("TestData/rsa512a.dat", true, new HexDecoder);
+		FileSource keys(PACKAGE_DATA_DIR "TestData/rsa512a.dat", true, new HexDecoder);
 		Weak::RSASSA_PKCS1v15_MD2_Signer rsaPriv(keys);
 		Weak::RSASSA_PKCS1v15_MD2_Verifier rsaPub(rsaPriv);
 
@@ -308,7 +308,7 @@ bool ValidateRSA()
 		cout << "invalid signature verification\n";
 	}
 	{
-		FileSource keys("TestData/rsa1024.dat", true, new HexDecoder);
+		FileSource keys(PACKAGE_DATA_DIR "TestData/rsa1024.dat", true, new HexDecoder);
 		RSAES_PKCS1v15_Decryptor rsaPriv(keys);
 		RSAES_PKCS1v15_Encryptor rsaPub(rsaPriv);
 
@@ -335,8 +335,8 @@ bool ValidateRSA()
 		bq.Put(oaepSeed, 20);
 		FixedRNG rng(bq);
 
-		FileSource privFile("TestData/rsa400pv.dat", true, new HexDecoder);
-		FileSource pubFile("TestData/rsa400pb.dat", true, new HexDecoder);
+		FileSource privFile(PACKAGE_DATA_DIR "TestData/rsa400pv.dat", true, new HexDecoder);
+		FileSource pubFile(PACKAGE_DATA_DIR "TestData/rsa400pb.dat", true, new HexDecoder);
 		RSAES_OAEP_SHA_Decryptor rsaPriv;
 		rsaPriv.AccessKey().BERDecodePrivateKey(privFile, false, 0);
 		RSAES_OAEP_SHA_Encryptor rsaPub(pubFile);
@@ -359,7 +359,7 @@ bool ValidateDH()
 {
 	cout << "\nDH validation suite running...\n\n";
 
-	FileSource f("TestData/dh1024.dat", true, new HexDecoder());
+	FileSource f(PACKAGE_DATA_DIR "TestData/dh1024.dat", true, new HexDecoder());
 	DH dh(f);
 	return SimpleKeyAgreementValidate(dh);
 }
@@ -368,7 +368,7 @@ bool ValidateMQV()
 {
 	cout << "\nMQV validation suite running...\n\n";
 
-	FileSource f("TestData/mqv1024.dat", true, new HexDecoder());
+	FileSource f(PACKAGE_DATA_DIR "TestData/mqv1024.dat", true, new HexDecoder());
 	MQV mqv(f);
 	return AuthenticatedKeyAgreementValidate(mqv);
 }
@@ -377,7 +377,7 @@ bool ValidateLUC_DH()
 {
 	cout << "\nLUC-DH validation suite running...\n\n";
 
-	FileSource f("TestData/lucd512.dat", true, new HexDecoder());
+	FileSource f(PACKAGE_DATA_DIR "TestData/lucd512.dat", true, new HexDecoder());
 	LUC_DH dh(f);
 	return SimpleKeyAgreementValidate(dh);
 }
@@ -386,7 +386,7 @@ bool ValidateXTR_DH()
 {
 	cout << "\nXTR-DH validation suite running...\n\n";
 
-	FileSource f("TestData/xtrdh171.dat", true, new HexDecoder());
+	FileSource f(PACKAGE_DATA_DIR "TestData/xtrdh171.dat", true, new HexDecoder());
 	XTR_DH dh(f);
 	return SimpleKeyAgreementValidate(dh);
 }
@@ -396,7 +396,7 @@ bool ValidateElGamal()
 	cout << "\nElGamal validation suite running...\n\n";
 	bool pass = true;
 	{
-		FileSource fc("TestData/elgc1024.dat", true, new HexDecoder);
+		FileSource fc(PACKAGE_DATA_DIR "TestData/elgc1024.dat", true, new HexDecoder);
 		ElGamalDecryptor privC(fc);
 		ElGamalEncryptor pubC(privC);
 		privC.AccessKey().Precompute();
@@ -414,7 +414,7 @@ bool ValidateDLIES()
 	cout << "\nDLIES validation suite running...\n\n";
 	bool pass = true;
 	{
-		FileSource fc("TestData/dlie1024.dat", true, new HexDecoder);
+		FileSource fc(PACKAGE_DATA_DIR "TestData/dlie1024.dat", true, new HexDecoder);
 		DLIES<>::Decryptor privC(fc);
 		DLIES<>::Encryptor pubC(privC);
 		pass = CryptoSystemValidate(privC, pubC) && pass;
@@ -437,7 +437,7 @@ bool ValidateNR()
 	cout << "\nNR validation suite running...\n\n";
 	bool pass = true;
 	{
-		FileSource f("TestData/nr2048.dat", true, new HexDecoder);
+		FileSource f(PACKAGE_DATA_DIR "TestData/nr2048.dat", true, new HexDecoder);
 		NR<SHA>::Signer privS(f);
 		privS.AccessKey().Precompute();
 		NR<SHA>::Verifier pubS(privS);
@@ -459,10 +459,10 @@ bool ValidateDSA(bool thorough)
 	cout << "\nDSA validation suite running...\n\n";
 
 	bool pass = true;
-	FileSource fs1("TestData/dsa1024.dat", true, new HexDecoder());
+	FileSource fs1(PACKAGE_DATA_DIR "TestData/dsa1024.dat", true, new HexDecoder());
 	DSA::Signer priv(fs1);
 	DSA::Verifier pub(priv);
-	FileSource fs2("TestData/dsa1024b.dat", true, new HexDecoder());
+	FileSource fs2(PACKAGE_DATA_DIR "TestData/dsa1024b.dat", true, new HexDecoder());
 	DSA::Verifier pub1(fs2);
 	assert(pub.GetKey() == pub1.GetKey());
 	pass = SignatureValidate(priv, pub, thorough) && pass;
@@ -477,7 +477,7 @@ bool ValidateLUC()
 	bool pass=true;
 
 	{
-		FileSource f("TestData/luc1024.dat", true, new HexDecoder);
+		FileSource f(PACKAGE_DATA_DIR "TestData/luc1024.dat", true, new HexDecoder);
 		LUCSSA_PKCS1v15_SHA_Signer priv(f);
 		LUCSSA_PKCS1v15_SHA_Verifier pub(priv);
 		pass = SignatureValidate(priv, pub) && pass;
@@ -494,14 +494,14 @@ bool ValidateLUC_DL()
 {
 	cout << "\nLUC-HMP validation suite running...\n\n";
 
-	FileSource f("TestData/lucs512.dat", true, new HexDecoder);
+	FileSource f(PACKAGE_DATA_DIR "TestData/lucs512.dat", true, new HexDecoder);
 	LUC_HMP<SHA>::Signer privS(f);
 	LUC_HMP<SHA>::Verifier pubS(privS);
 	bool pass = SignatureValidate(privS, pubS);
 
 	cout << "\nLUC-IES validation suite running...\n\n";
 
-	FileSource fc("TestData/lucc512.dat", true, new HexDecoder);
+	FileSource fc(PACKAGE_DATA_DIR "TestData/lucc512.dat", true, new HexDecoder);
 	LUC_IES<>::Decryptor privC(fc);
 	LUC_IES<>::Encryptor pubC(privC);
 	pass = CryptoSystemValidate(privC, pubC) && pass;
@@ -515,7 +515,7 @@ bool ValidateRabin()
 	bool pass=true;
 
 	{
-		FileSource f("TestData/rabi1024.dat", true, new HexDecoder);
+		FileSource f(PACKAGE_DATA_DIR "TestData/rabi1024.dat", true, new HexDecoder);
 		RabinSS<PSSR, SHA>::Signer priv(f);
 		RabinSS<PSSR, SHA>::Verifier pub(priv);
 		pass = SignatureValidate(priv, pub) && pass;
@@ -532,7 +532,7 @@ bool ValidateRW()
 {
 	cout << "\nRW validation suite running...\n\n";
 
-	FileSource f("TestData/rw1024.dat", true, new HexDecoder);
+	FileSource f(PACKAGE_DATA_DIR "TestData/rw1024.dat", true, new HexDecoder);
 	RWSS<PSSR, SHA>::Signer priv(f);
 	RWSS<PSSR, SHA>::Verifier pub(priv);
 
@@ -544,7 +544,7 @@ bool ValidateBlumGoldwasser()
 {
 	cout << "\nBlumGoldwasser validation suite running...\n\n";
 
-	FileSource f("TestData/blum512.dat", true, new HexDecoder);
+	FileSource f(PACKAGE_DATA_DIR "TestData/blum512.dat", true, new HexDecoder);
 	BlumGoldwasserPrivateKey priv(f);
 	BlumGoldwasserPublicKey pub(priv);
 
@@ -828,7 +828,7 @@ bool ValidateESIGN()
 		"\x74\x02\x37\x0E\xED\x0A\x06\xAD\xF4\x15\x65\xB8\xE1\xD1\x45\xAE\x39\x19\xB4\xFF\x5D\xF1\x45\x7B\xE0\xFE\x72\xED\x11\x92\x8F\x61\x41\x4F\x02\x00\xF2\x76\x6F\x7C"
 		"\x79\xA2\xE5\x52\x20\x5D\x97\x5E\xFE\x39\xAE\x21\x10\xFB\x35\xF4\x80\x81\x41\x13\xDD\xE8\x5F\xCA\x1E\x4F\xF8\x9B\xB2\x68\xFB\x28";
 
-	FileSource keys("TestData/esig1536.dat", true, new HexDecoder);
+	FileSource keys(PACKAGE_DATA_DIR "TestData/esig1536.dat", true, new HexDecoder);
 	ESIGN<SHA>::Signer signer(keys);
 	ESIGN<SHA>::Verifier verifier(signer);
 
--- libcrypto++-5.6.3.orig/validat3.cpp
+++ libcrypto++-5.6.3/validat3.cpp
@@ -187,13 +187,13 @@ bool ValidateMD5()
 bool ValidateSHA()
 {
 	cout << "\nSHA validation suite running...\n\n";
-	return RunTestDataFile("TestVectors/sha.txt");
+	return RunTestDataFile(PACKAGE_DATA_DIR "TestVectors/sha.txt");
 }
 
 bool ValidateSHA2()
 {
 	cout << "\nSHA validation suite running...\n\n";
-	return RunTestDataFile("TestVectors/sha.txt");
+	return RunTestDataFile(PACKAGE_DATA_DIR "TestVectors/sha.txt");
 }
 
 bool ValidateTiger()
@@ -340,12 +340,12 @@ bool ValidateHAVAL()
 
 bool ValidatePanama()
 {
-	return RunTestDataFile("TestVectors/panama.txt");
+	return RunTestDataFile(PACKAGE_DATA_DIR "TestVectors/panama.txt");
 }
 
 bool ValidateWhirlpool()
 {
-	return RunTestDataFile("TestVectors/whrlpool.txt");
+	return RunTestDataFile(PACKAGE_DATA_DIR "TestVectors/whrlpool.txt");
 }
 
 #ifdef CRYPTOPP_REMOVED
@@ -412,7 +412,7 @@ bool ValidateMD5MAC()
 
 bool ValidateHMAC()
 {
-	return RunTestDataFile("TestVectors/hmac.txt");
+	return RunTestDataFile(PACKAGE_DATA_DIR "TestVectors/hmac.txt");
 }
 
 #ifdef CRYPTOPP_REMOVED