Merge pull request #139 from libtom/fix/139
rand_prime undefined reference when using CFLAGS="-DLTM_DESC -DLTC_EASY
This commit is contained in:
commit
3dd0845dec
@ -4,6 +4,10 @@ compiler:
|
||||
- clang
|
||||
script: bash "${BUILDSCRIPT}" "${BUILDNAME}" "${BUILDOPTIONS}" "makefile" "-DUSE_LTM -DLTM_DESC -I/usr/include" "/usr/lib/libtommath.a"
|
||||
env:
|
||||
- |
|
||||
BUILDSCRIPT="check_source.sh"
|
||||
BUILDNAME="CHECK_SOURCES"
|
||||
BUILDOPTIONS=" "
|
||||
- |
|
||||
BUILDSCRIPT="coverage.sh"
|
||||
BUILDNAME="COVERAGE"
|
||||
@ -12,6 +16,10 @@ env:
|
||||
BUILDSCRIPT="run.sh"
|
||||
BUILDNAME="STOCK"
|
||||
BUILDOPTIONS=" "
|
||||
- |
|
||||
BUILDSCRIPT="run.sh"
|
||||
BUILDNAME="EASY"
|
||||
BUILDOPTIONS="-DLTC_EASY"
|
||||
- |
|
||||
BUILDSCRIPT="run.sh"
|
||||
BUILDNAME="SMALL"
|
||||
|
12
build.sh
12
build.sh
@ -28,7 +28,17 @@ echo -n "testing..."
|
||||
if [ -a test ] && [ -f test ] && [ -x test ]; then
|
||||
((./test >test_std.txt 2>test_err.txt && ./tv_gen > tv.txt) && echo "$1 test passed." && echo "y" > testok.txt) || (echo "$1 test failed, look at test_err.txt" && exit 1)
|
||||
if find *_tv.txt -type f 1>/dev/null 2>/dev/null ; then
|
||||
for f in *_tv.txt; do if (diff -i -w -B $f notes/$f) then true; else (echo "tv_gen $f failed" && rm -f testok.txt && exit 1); fi; done
|
||||
for f in *_tv.txt; do
|
||||
# check for lines starting with '<' ($f might be a subset of notes/$f)
|
||||
difftroubles=$(diff -i -w -B $f notes/$f | grep '^<')
|
||||
if [ -n "$difftroubles" ]; then
|
||||
echo "FAILURE: $f"
|
||||
diff -i -w -B $f notes/$f
|
||||
echo "tv_gen $f failed" && rm -f testok.txt && exit 1
|
||||
else
|
||||
true
|
||||
fi
|
||||
done
|
||||
fi
|
||||
fi
|
||||
|
||||
|
@ -9,7 +9,6 @@
|
||||
use strict;
|
||||
use warnings;
|
||||
|
||||
use Test::More;
|
||||
use File::Find 'find';
|
||||
use File::Basename 'basename';
|
||||
use File::Glob 'bsd_glob';
|
||||
@ -37,7 +36,7 @@ for my $file (sort @all_files) {
|
||||
$lineno++;
|
||||
}
|
||||
for my $k (sort keys %$troubles) {
|
||||
warn "FAIL: [$k] $file line:" . join(",", @{$troubles->{$k}}) . "\n";
|
||||
warn "[$k] $file line:" . join(",", @{$troubles->{$k}}) . "\n";
|
||||
$fails++;
|
||||
}
|
||||
}
|
||||
|
17
check_source.sh
Executable file
17
check_source.sh
Executable file
@ -0,0 +1,17 @@
|
||||
#!/bin/bash
|
||||
|
||||
# output version
|
||||
bash printinfo.sh
|
||||
|
||||
make clean > /dev/null
|
||||
|
||||
if [ -f check-source.pl ] ; then
|
||||
echo "checking white spaces..."
|
||||
perl check-source.pl || exit 1
|
||||
fi
|
||||
|
||||
exit 0
|
||||
|
||||
# $Source$
|
||||
# $Revision$
|
||||
# $Date$
|
@ -67,6 +67,7 @@ int main(int argc, char **argv)
|
||||
void register_algs(void)
|
||||
{
|
||||
int err;
|
||||
LTC_UNUSED_PARAM(err);
|
||||
|
||||
#ifdef LTC_TIGER
|
||||
register_hash (&tiger_desc);
|
||||
|
@ -56,6 +56,7 @@ int main(void)
|
||||
}
|
||||
|
||||
/* LTC_OMAC */
|
||||
#ifdef LTC_OMAC
|
||||
len = sizeof(buf[0]);
|
||||
omac_memory(find_cipher("aes"), key, 16, (unsigned char*)"hello", 5, buf[0], &len);
|
||||
len2 = sizeof(buf[0]);
|
||||
@ -76,8 +77,10 @@ int main(void)
|
||||
printf("Failed: %d %lu %lu\n", __LINE__, len, len2);
|
||||
return EXIT_FAILURE;
|
||||
}
|
||||
#endif
|
||||
|
||||
/* PMAC */
|
||||
#ifdef LTC_PMAC
|
||||
len = sizeof(buf[0]);
|
||||
pmac_memory(find_cipher("aes"), key, 16, (unsigned char*)"hello", 5, buf[0], &len);
|
||||
len2 = sizeof(buf[0]);
|
||||
@ -98,7 +101,7 @@ int main(void)
|
||||
printf("Failed: %d %lu %lu\n", __LINE__, len, len2);
|
||||
return EXIT_FAILURE;
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
printf("All passed\n");
|
||||
return EXIT_SUCCESS;
|
||||
|
@ -3,6 +3,7 @@
|
||||
void reg_algs(void)
|
||||
{
|
||||
int err;
|
||||
LTC_UNUSED_PARAM(err);
|
||||
|
||||
#ifdef LTC_RIJNDAEL
|
||||
register_cipher (&aes_desc);
|
||||
@ -285,6 +286,7 @@ void hmac_gen(void)
|
||||
|
||||
void omac_gen(void)
|
||||
{
|
||||
#ifdef LTC_OMAC
|
||||
unsigned char key[MAXBLOCKSIZE], output[MAXBLOCKSIZE], input[MAXBLOCKSIZE*2+2];
|
||||
int err, x, y, z, kl;
|
||||
FILE *out;
|
||||
@ -336,10 +338,12 @@ void omac_gen(void)
|
||||
fprintf(out, "\n");
|
||||
}
|
||||
fclose(out);
|
||||
#endif
|
||||
}
|
||||
|
||||
void pmac_gen(void)
|
||||
{
|
||||
#ifdef LTC_PMAC
|
||||
unsigned char key[MAXBLOCKSIZE], output[MAXBLOCKSIZE], input[MAXBLOCKSIZE*2+2];
|
||||
int err, x, y, z, kl;
|
||||
FILE *out;
|
||||
@ -391,10 +395,12 @@ void pmac_gen(void)
|
||||
fprintf(out, "\n");
|
||||
}
|
||||
fclose(out);
|
||||
#endif
|
||||
}
|
||||
|
||||
void eax_gen(void)
|
||||
{
|
||||
#ifdef LTC_EAX_MODE
|
||||
int err, kl, x, y1, z;
|
||||
FILE *out;
|
||||
unsigned char key[MAXBLOCKSIZE], nonce[MAXBLOCKSIZE*2], header[MAXBLOCKSIZE*2],
|
||||
@ -451,10 +457,12 @@ void eax_gen(void)
|
||||
fprintf(out, "\n");
|
||||
}
|
||||
fclose(out);
|
||||
#endif
|
||||
}
|
||||
|
||||
void ocb_gen(void)
|
||||
{
|
||||
#ifdef LTC_OCB_MODE
|
||||
int err, kl, x, y1, z;
|
||||
FILE *out;
|
||||
unsigned char key[MAXBLOCKSIZE], nonce[MAXBLOCKSIZE*2],
|
||||
@ -514,10 +522,12 @@ void ocb_gen(void)
|
||||
fprintf(out, "\n");
|
||||
}
|
||||
fclose(out);
|
||||
#endif
|
||||
}
|
||||
|
||||
void ocb3_gen(void)
|
||||
{
|
||||
#ifdef LTC_OCB3_MODE
|
||||
int err, kl, x, y1, z;
|
||||
FILE *out;
|
||||
unsigned char key[MAXBLOCKSIZE], nonce[MAXBLOCKSIZE*2],
|
||||
@ -577,10 +587,12 @@ void ocb3_gen(void)
|
||||
fprintf(out, "\n");
|
||||
}
|
||||
fclose(out);
|
||||
#endif
|
||||
}
|
||||
|
||||
void ccm_gen(void)
|
||||
{
|
||||
#ifdef LTC_CCM_MODE
|
||||
int err, kl, x, y1, z;
|
||||
FILE *out;
|
||||
unsigned char key[MAXBLOCKSIZE], nonce[MAXBLOCKSIZE*2],
|
||||
@ -640,10 +652,12 @@ void ccm_gen(void)
|
||||
fprintf(out, "\n");
|
||||
}
|
||||
fclose(out);
|
||||
#endif
|
||||
}
|
||||
|
||||
void gcm_gen(void)
|
||||
{
|
||||
#ifdef LTC_GCM_MODE
|
||||
int err, kl, x, y1, z;
|
||||
FILE *out;
|
||||
unsigned char key[MAXBLOCKSIZE], plaintext[MAXBLOCKSIZE*2], tag[MAXBLOCKSIZE];
|
||||
@ -697,6 +711,7 @@ void gcm_gen(void)
|
||||
fprintf(out, "\n");
|
||||
}
|
||||
fclose(out);
|
||||
#endif
|
||||
}
|
||||
|
||||
void base64_gen(void)
|
||||
@ -764,6 +779,7 @@ void ecc_gen(void)
|
||||
|
||||
void lrw_gen(void)
|
||||
{
|
||||
#ifdef LTC_LRW_MODE
|
||||
FILE *out;
|
||||
unsigned char tweak[16], key[16], iv[16], buf[1024];
|
||||
int x, y, err;
|
||||
@ -825,6 +841,7 @@ void lrw_gen(void)
|
||||
lrw_done(&lrw);
|
||||
}
|
||||
fclose(out);
|
||||
#endif
|
||||
}
|
||||
|
||||
int main(void)
|
||||
@ -833,17 +850,33 @@ int main(void)
|
||||
printf("Generating hash vectors..."); fflush(stdout); hash_gen(); printf("done\n");
|
||||
printf("Generating cipher vectors..."); fflush(stdout); cipher_gen(); printf("done\n");
|
||||
printf("Generating HMAC vectors..."); fflush(stdout); hmac_gen(); printf("done\n");
|
||||
#ifdef LTC_OMAC
|
||||
printf("Generating OMAC vectors..."); fflush(stdout); omac_gen(); printf("done\n");
|
||||
#endif
|
||||
#ifdef LTC_PMAC
|
||||
printf("Generating PMAC vectors..."); fflush(stdout); pmac_gen(); printf("done\n");
|
||||
#endif
|
||||
#ifdef LTC_EAX_MODE
|
||||
printf("Generating EAX vectors..."); fflush(stdout); eax_gen(); printf("done\n");
|
||||
#endif
|
||||
#ifdef LTC_OCB_MODE
|
||||
printf("Generating OCB vectors..."); fflush(stdout); ocb_gen(); printf("done\n");
|
||||
#endif
|
||||
#ifdef LTC_OCB3_MODE
|
||||
printf("Generating OCB3 vectors..."); fflush(stdout); ocb3_gen(); printf("done\n");
|
||||
#endif
|
||||
#ifdef LTC_CCM_MODE
|
||||
printf("Generating CCM vectors..."); fflush(stdout); ccm_gen(); printf("done\n");
|
||||
#endif
|
||||
#ifdef LTC_GCM_MODE
|
||||
printf("Generating GCM vectors..."); fflush(stdout); gcm_gen(); printf("done\n");
|
||||
#endif
|
||||
printf("Generating BASE64 vectors..."); fflush(stdout); base64_gen(); printf("done\n");
|
||||
printf("Generating MATH vectors..."); fflush(stdout); math_gen(); printf("done\n");
|
||||
printf("Generating ECC vectors..."); fflush(stdout); ecc_gen(); printf("done\n");
|
||||
#ifdef LTC_LRW_MODE
|
||||
printf("Generating LRW vectors..."); fflush(stdout); lrw_gen(); printf("done\n");
|
||||
#endif
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -10,7 +10,7 @@
|
||||
*/
|
||||
#include "tomcrypt.h"
|
||||
|
||||
#if !defined LTC_NO_MATH && !defined LTC_NO_PRNGS
|
||||
#if defined(LTC_MRSA) || (!defined(LTC_NO_MATH) && !defined(LTC_NO_PRNGS))
|
||||
|
||||
/**
|
||||
@file rand_prime.c
|
||||
|
@ -45,8 +45,8 @@ static const unsigned char map_base64[256] = {
|
||||
255, 255, 255, 255 };
|
||||
#endif /* LTC_BASE64 */
|
||||
|
||||
static const unsigned char map_base64url[] = {
|
||||
#if defined(LTC_BASE64_URL)
|
||||
static const unsigned char map_base64url[256] = {
|
||||
255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
|
||||
255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
|
||||
255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
|
||||
@ -68,8 +68,9 @@ static const unsigned char map_base64url[256] = {
|
||||
255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
|
||||
255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
|
||||
255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
|
||||
255, 255, 255, 255 };
|
||||
255, 255, 255, 255
|
||||
#endif /* LTC_BASE64_URL */
|
||||
};
|
||||
|
||||
enum {
|
||||
relaxed = 0,
|
||||
|
@ -10,9 +10,15 @@ fi
|
||||
# date
|
||||
echo "date="`date`
|
||||
|
||||
# check sources
|
||||
bash check_source.sh "CHECK_SOURCES" " " "$1" "$2" "$3" || exit 1
|
||||
|
||||
# stock build
|
||||
bash run.sh "STOCK" " " "$1" "$2" "$3" || exit 1
|
||||
|
||||
# EASY build
|
||||
bash run.sh "EASY" "-DLTC_EASY" "$1" "$2" "$3" || exit 1
|
||||
|
||||
# SMALL code
|
||||
bash run.sh "SMALL" "-DLTC_SMALL_CODE" "$1" "$2" "$3" || exit 1
|
||||
|
||||
|
@ -1,10 +1,12 @@
|
||||
#include <tomcrypt_test.h>
|
||||
|
||||
#ifdef LTC_BASE64
|
||||
#if defined(LTC_BASE64) || defined(LTC_BASE64_URL)
|
||||
int base64_test(void)
|
||||
{
|
||||
unsigned char in[64], out[256], tmp[64];
|
||||
unsigned long x, l1, l2, slen1;
|
||||
|
||||
#if defined(LTC_BASE64)
|
||||
const char special_case[] = {
|
||||
0xbe, 0xe8, 0x92, 0x3c, 0xa2, 0x25, 0xf0, 0xf8,
|
||||
0x91, 0xe4, 0xef, 0xab, 0x0b, 0x8c, 0xfd, 0xff,
|
||||
@ -31,7 +33,9 @@ int base64_test(void)
|
||||
{"foobar", "Zm9vYmFy"},
|
||||
{special_case,"vuiSPKIl8PiR5O+rC4z9/xTQKZ0="}
|
||||
};
|
||||
#endif
|
||||
|
||||
#ifdef LTC_BASE64_URL
|
||||
const struct {
|
||||
const char* s;
|
||||
int is_strict;
|
||||
@ -48,20 +52,6 @@ int base64_test(void)
|
||||
{"vuiS*===PKIl8P*iR5O-rC4*z9_xTQKZ0=", 0},
|
||||
};
|
||||
|
||||
for (x = 0; x < sizeof(cases)/sizeof(cases[0]); ++x) {
|
||||
memset(out, 0, sizeof(out));
|
||||
memset(tmp, 0, sizeof(tmp));
|
||||
slen1 = strlen(cases[x].s);
|
||||
l1 = sizeof(out);
|
||||
DO(base64_encode((unsigned char*)cases[x].s, slen1, out, &l1));
|
||||
l2 = sizeof(tmp);
|
||||
DO(base64_strict_decode(out, l1, tmp, &l2));
|
||||
if (compare_testvector(out, l1, cases[x].b64, strlen(cases[x].b64), "base64 encode", x) ||
|
||||
compare_testvector(tmp, l2, cases[x].s, slen1, "base64 decode", x)) {
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
|
||||
for (x = 0; x < sizeof(url_cases)/sizeof(url_cases[0]); ++x) {
|
||||
slen1 = strlen(url_cases[x].s);
|
||||
l1 = sizeof(out);
|
||||
@ -85,6 +75,22 @@ int base64_test(void)
|
||||
}
|
||||
|
||||
DO(base64url_strict_decode((unsigned char*)url_cases[4].s, slen1, out, &l1) == CRYPT_INVALID_PACKET ? CRYPT_OK : CRYPT_INVALID_PACKET);
|
||||
#endif
|
||||
|
||||
#if defined(LTC_BASE64)
|
||||
for (x = 0; x < sizeof(cases)/sizeof(cases[0]); ++x) {
|
||||
memset(out, 0, sizeof(out));
|
||||
memset(tmp, 0, sizeof(tmp));
|
||||
slen1 = strlen(cases[x].s);
|
||||
l1 = sizeof(out);
|
||||
DO(base64_encode((unsigned char*)cases[x].s, slen1, out, &l1));
|
||||
l2 = sizeof(tmp);
|
||||
DO(base64_strict_decode(out, l1, tmp, &l2));
|
||||
if (compare_testvector(out, l1, cases[x].b64, strlen(cases[x].b64), "base64 encode", x) ||
|
||||
compare_testvector(tmp, l2, cases[x].s, slen1, "base64 decode", x)) {
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
|
||||
for (x = 0; x < 64; x++) {
|
||||
yarrow_read(in, x, &yarrow_prng);
|
||||
@ -109,6 +115,8 @@ int base64_test(void)
|
||||
}
|
||||
l2 = sizeof(tmp);
|
||||
DO(base64_strict_decode(out, l1, tmp, &l2) == CRYPT_INVALID_PACKET ? CRYPT_OK : CRYPT_INVALID_PACKET);
|
||||
#endif
|
||||
|
||||
return 0;
|
||||
}
|
||||
#endif
|
||||
|
Loading…
Reference in New Issue
Block a user