Skip to content

Commit 6334c91

Browse files
committed
Python3 changes; updates to work with newer kernels and OSes.
1 parent 4a7102b commit 6334c91

20 files changed

+1137
-840
lines changed

abspath

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,4 +3,4 @@
33
import os.path, sys
44

55
for a in sys.argv[1:]:
6-
print os.path.abspath(a)
6+
print(os.path.abspath(a))

aes-test.sh

+58-37
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,13 @@
44
# Author: Sudhi Herle
55
# License: Public Domain
66

7+
TMP=$HOME/tmp/aes
78
AES=./aes.py
89
[ -n "$PYTHON" ] && AES="$PYTHON $AES"
910
#AES='python3.4 ./aes.py'
1011

12+
mkdir -p $TMP || exit 1
13+
1114
uname=`uname`
1215
case $uname in
1316
Linux) MD5=md5sum ;;
@@ -43,34 +46,42 @@ xverify() {
4346
testsz() {
4447
#set -x
4548
local sz=$1; shift
49+
local bsiz=$1; shift
50+
51+
[ -n "$bsiz" ] && bsiz="-B $bsiz"
4652

47-
local inf=/tmp/in$sz
48-
local enc=/tmp/enc$sz
49-
local dec=/tmp/dec$sz
53+
local inf=${TMP}/in$sz
54+
local enc=${TMP}/enc$sz
55+
local dec=${TMP}/dec$sz
5056

5157
if [ $sz -gt 0 ]; then
5258
dd if=/dev/urandom of=$inf bs=$sz count=1 2>/dev/null
5359
else
5460
touch $inf
5561
fi
5662

57-
begin "Testing file $sz .."
58-
FX=abcdef $AES -k FX encrypt $inf -o $enc || exit 1
59-
FX=abcdef $AES -k FX test $enc || exit 1
60-
FX=abcdef $AES -k FX decrypt $enc -o $dec || exit 1
63+
echo "File size $sz:"
64+
65+
begin " regular file I/O ..."
66+
FX=abcdef $AES -k FX $bsiz encrypt $inf -o $enc || exit 1
67+
FX=abcdef $AES -k FX $bsiz test $enc || exit 1
68+
FX=abcdef $AES -k FX $bsiz decrypt $enc -o $dec || exit 1
6169
xverify $inf $dec || exit 1
6270

63-
begin "Testing inplace $sz .."
64-
cp $inf $enc
65-
FX=abcdef $AES -k FX encrypt $enc -o $enc || exit 1
71+
begin " streaming I/O ..."
72+
cat $inf | FX=abcdef $AES -k FX $bsiz encrypt | cat > $enc
73+
[ $? -ne 0 ] && end Fail && exit 1
6674

67-
cp $enc $dec
68-
FX=abcdef $AES -k FX decrypt $dec -o $dec || exit 1
75+
cat $enc | FX=abcdef $AES -k FX $bsiz decrypt | cat > $dec
76+
[ $? -ne 0 ] && end Fail && exit 1
6977
xverify $inf $dec || exit 1
7078

71-
begin "Testing stdio $sz .."
72-
FX=abcdef $AES -k FX encrypt < $inf > $enc || exit 1
73-
FX=abcdef $AES -k FX decrypt < $enc > $dec || exit 1
79+
begin " inplace ..."
80+
cp $inf $enc
81+
FX=abcdef $AES -k FX $bsiz encrypt $enc -o $enc || exit 1
82+
83+
cp $enc $dec
84+
FX=abcdef $AES -k FX $bsiz decrypt $dec -o $dec || exit 1
7485
xverify $inf $dec || exit 1
7586

7687

@@ -79,55 +90,64 @@ testsz() {
7990

8091
# Full suite of functional tests
8192
basic() {
82-
local sz=3791
83-
local inf=/tmp/in$sz
84-
local enc=/tmp/enc$sz
85-
local dec=/tmp/dec$sz
93+
#set -x
94+
local sz=$(randsz)
95+
local inf=${TMP}/in$sz
96+
local enc=${TMP}/enc$sz
97+
local dec=${TMP}/dec$sz
8698
local enc2=${enc}.2
87-
local szskip=$(( sz / 2 ))
88-
local badcount=$(( sz / 4 ))
99+
local szskip=$(( $sz / 2 ))
100+
local badcount=$(( $sz / 4 ))
101+
local bsize=$(( $sz / 2 ))
89102

90103
dd if=/dev/urandom of=$inf bs=$sz count=1 2>/dev/null || exit 1
91104

92-
begin "Testing basic functions with size $sz .."
105+
echo "Basic tests with size $sz .."
106+
begin " basic functions ..."
93107
FX=abcdef $AES -k FX encrypt $inf -o $enc || exit 1
94108
FX=abcdef $AES -k FX test $enc || exit 1
95109
FX=abcdef $AES -k FX decrypt $enc -o $dec || exit 1
96110
xverify $inf $dec || exit 1
97111

112+
begin " basic functions (bufsize $bsize) ..."
113+
FX=abcdef $AES -k FX -B $bsize encrypt $inf -o $enc || exit 1
114+
FX=abcdef $AES -k FX -B $bsize test $enc || exit 1
115+
FX=abcdef $AES -k FX -B $bsize decrypt $enc -o $dec || exit 1
116+
xverify $inf $dec || exit 1
117+
98118
# Bad password should fail
99-
FX=abcxyz $AES -k FX test $enc 2>/dev/null && exit 1
119+
FX=abcxyz $AES -k FX test $enc 2>/dev/null && end Fail && exit 1
100120

101121
# Corrupted enc file should fail
102122
cp $enc $enc2 || exit 1
103-
dd if=/dev/urandom of=$enc2 count=1 bs=$(($szskip / 3)) \
123+
dd if=/dev/urandom of=$enc2 count=1 bs=$(($szskip * 2)) \
104124
seek=$szskip conv=notrunc 2>/dev/null || exit 1
105-
FX=abcdef $AES -k FX test $enc2 2>/dev/null && exit 1
125+
FX=abcdef $AES -k FX test $enc2 2>/dev/null && end Fail && exit 1
106126

107-
begin "Testing basic inplace with size $sz .."
127+
begin " inplace ..."
108128
cp $inf $enc
109129
FX=abcdef $AES -k FX encrypt $enc -o $enc || exit 1
110130

111131
cp $enc $dec
112132
FX=abcdef $AES -k FX decrypt $dec -o $dec || exit 1
113133
xverify $inf $dec || exit 1
114134

115-
begin "Testing basic stdio with size $sz .."
116-
FX=abcdef $AES -k FX encrypt < $inf > $enc || exit 1
117-
FX=abcdef $AES -k FX decrypt < $enc > $dec || exit 1
118-
xverify $inf $dec || exit 1
119-
135+
begin " stream input and output ..."
136+
cat $inf | FX=abcdef $AES -k FX encrypt | cat > $enc
137+
[ $? -ne 0 ] && end Fail && exit 1
120138

121-
# Now test corrupted files and bad mac
139+
cat $enc | FX=abcdef $AES -k FX decrypt | cat > $dec
140+
[ $? -ne 0 ] && end Fail && exit 1
141+
xverify $inf $dec || exit 1
122142

123143
rm -f $inf $enc $dec $enc2
124144

125145
}
126146

127-
# Generate random ints between [100, 100000)
147+
# Generate random ints between x and y
128148
randsz() {
129-
local x=101
130-
local y=100000
149+
local x=78329
150+
local y=900000
131151
local r=$(( $y - $x + 1))
132152
local n=0
133153

@@ -143,7 +163,7 @@ randsz() {
143163
}
144164

145165

146-
trap 'exit 0' INT TERM QUIT
166+
trap "rm -rf $TMP; exit 0" INT TERM QUIT
147167

148168
echo "Testing $AES .."
149169
basic
@@ -158,6 +178,7 @@ done
158178
n=8
159179
while [ $n -gt 0 ]; do
160180
n=$(( $n - 1 ))
161-
testsz $(randsz)
181+
sz=$(randsz)
182+
testsz $sz $(( $sz / 8 ))
162183
done
163184

0 commit comments

Comments
 (0)