source: trunk/test/testhash.sh

Last change on this file was 493, checked in by katerina, 6 years ago

Fix for ticket #391 (timezone offset calculation).

File size: 4.4 KB
Line 
1#! /bin/sh
2
3#
4# Copyright Rainer Wichmann (2006)
5#
6# License Information:
7# This program is free software; you can redistribute it and/or modify
8# it under the terms of the GNU General Public License as published by
9# the Free Software Foundation; either version 2 of the License, or
10# (at your option) any later version.
11#
12# This program is distributed in the hope that it will be useful,
13# but WITHOUT ANY WARRANTY; without even the implied warranty of
14# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15# GNU General Public License for more details.
16#
17# You should have received a copy of the GNU General Public License
18# along with this program; if not, write to the Free Software
19# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
20#
21
22RCFILE="$PW_DIR/testrc_1.dyn";  export RCFILE
23LOGFILE="$PW_DIR/.samhain_log"; export LOGFILE
24
25MAXTEST=2; export MAXTEST
26
27testhash ()
28{
29        log_start "HASH FUNCTION"
30
31        C_LOGFILE=""
32
33        ls /lib/libpcre* >/dev/null 2>&1
34        if [ $? -eq 0 ]; then
35            C_LOGFILE=" --enable-logfile-monitor "
36        else
37            ls /usr/lib/libpcre* >/dev/null 2>&1
38            if [ $? -eq 0 ]; then
39                C_LOGFILE=" --enable-logfile-monitor "
40            else
41                ls /usr/lib/*/libpcre* >/dev/null 2>&1
42                if [ $? -eq 0 ]; then
43                    C_LOGFILE=" --enable-logfile-monitor "
44                else
45                    ls /usr/local/lib/libpcre* >/dev/null 2>&1
46                    if [ $? -eq 0 ]; then
47                        C_LOGFILE=" --enable-logfile-monitor "
48                    fi
49                fi
50            fi
51        fi
52        if [ x"${C_LOGFILE}" = x ]; then
53            log_msg_ok  "Not testing  --enable-logfile-monitor";
54        fi
55
56        #
57        # test standalone compilation
58        #
59        TEST="${S}standalone agent${E}"
60        #
61        if test -r "Makefile"; then
62                $MAKE distclean
63        fi
64        #
65        ${TOP_SRCDIR}/configure --enable-debug=gdb --quiet $TRUST --prefix=$PW_DIR --localstatedir=$PW_DIR --with-config-file=$RCFILE --with-log-file=$LOGFILE --with-pid-file=$PW_DIR/.samhain_lock --with-data-file=$PW_DIR/.samhain_file --enable-db-reload '--enable-login-watch' '--enable-mounts-check' ${C_LOGFILE} '--enable-port-check' '--enable-process-check' '--enable-message-queue' '--enable-suidcheck' '--disable-dnmalloc'
66        #
67        fail=0
68        #
69        if test x$? = x0; then
70                [ -z "$verbose" ] || log_msg_ok  "configure...";
71                $MAKE  > /dev/null 2>> test_log
72                if test x$? = x0; then
73                    [ -z "$verbose" ] || log_msg_ok "make...";
74                else
75                    [ -z "$quiet" ] &&   log_msg_fail "make...";
76                    fail=1
77                fi
78        else
79                [ -z "$quiet" ] && log_msg_fail "configure...";
80                fail=1
81        fi
82        #
83        if [ $fail -eq 1 ]; then
84            [ -z "$quiet" ] && log_fail 1 ${MAXTEST};
85            return 1
86        fi
87        #
88        echo "Test results of the TIGER hash algorithm" > testhash.tmp
89        echo >> testhash.tmp
90        echo "(use samhain -H string to test)" >> testhash.tmp
91        echo >> testhash.tmp
92        ./samhain -H "" >> testhash.tmp
93        ./samhain -H "abc" >> testhash.tmp
94        ./samhain -H "Tiger" >> testhash.tmp
95        ./samhain -H "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+-" >> testhash.tmp
96        ./samhain -H "ABCDEFGHIJKLMNOPQRSTUVWXYZ=abcdefghijklmnopqrstuvwxyz+0123456789" >> testhash.tmp
97        ./samhain -H "Tiger - A Fast New Hash Function, by Ross Anderson and Eli Biham" >> testhash.tmp
98        ./samhain -H "Tiger - A Fast New Hash Function, by Ross Anderson and Eli Biham, proceedings of Fast Software Encryption 3, Cambridge." >> testhash.tmp
99        ./samhain -H "Tiger - A Fast New Hash Function, by Ross Anderson and Eli Biham, proceedings of Fast Software Encryption 3, Cambridge, 1996." >> testhash.tmp
100        ./samhain -H "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+-ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+-" >> testhash.tmp
101        #
102        RESU=`diff testhash.tmp ${SCRIPTDIR}/testtiger.txt 2>/dev/null`
103        if test "x${RESU}" = "x"; then
104            [ -z "$quiet" ] && log_ok   1 ${MAXTEST};
105        else
106            [ -z "$quiet" ] && log_fail 1 ${MAXTEST};
107            return 1
108        fi
109        #
110        #
111        #
112        TEST="${S}files${E}"
113        #
114        case $SCRIPTDIR in
115            /*)
116                testpath="${SCRIPTDIR}/testtiger.txt";;
117            *)
118                testpath="`pwd`/${SCRIPTDIR}/testtiger.txt";;
119        esac
120        #
121        RESU=`./samhain -H ${testpath}`
122        #
123        if test x"$RESU" = x"${testpath}: 8125E439 4E7E20F9 24FD8E37  BC4D90C7 FC67F40C 1681F05D"; then
124            [ -z "$quiet" ] && log_ok   2 ${MAXTEST};
125        else
126            [ -z "$quiet" ] && log_fail 2 ${MAXTEST};
127            return 1
128        fi
129        #
130        log_end "HASH FUNCTION"
131        return 0
132}
133
134
135
Note: See TracBrowser for help on using the repository browser.