Changeset 25 for trunk


Ignore:
Timestamp:
Mar 14, 2006, 10:27:38 PM (19 years ago)
Author:
rainer
Message:

More tests; fix for update+schedule issue.

Location:
trunk
Files:
12 edited

Legend:

Unmodified
Added
Removed
  • trunk/Makefile.in

    r23 r25  
    10911091CUTEST_SOURCES = $(srcsrc)/cutest_sh_tools.c \
    10921092                $(srcsrc)/cutest_sh_utils.c \
     1093                $(srcsrc)/cutest_sh_unix.c \
    10931094                $(srcsrc)/cutest_slib.c \
    10941095                $(srcsrc)/cutest_zAVLTree.c \
     
    10971098CUTEST_OBJECTS = cutest_sh_tools.o \
    10981099        cutest_sh_utils.o \
     1100        cutest_sh_unix.o \
    10991101        cutest_slib.o \
    11001102        cutest_zAVLTree.o \
  • trunk/docs/Changelog

    r22 r25  
    112.2.0:
     2        * patch by Yoann Vandoorselaere for sh_prelude.c
    23        * allow --longopt arg as well as --longopt=arg
    3         * fix minor problem with dead clienbt detection (problem reported
    4           by M. Kustosik)
    54        * verify checksum of growing log files
    65        * rewrite of the test suite
    76        * added a bit of unit testing
    8         * improved the windows howto according to suggestions by
    9           Jorge Morgado
    107        * minor optimizations in various places
    118        * optimized implementation of tiger checksum algorithm
     
    2017        * slib.c: remove fcntl's from sl_read_timeout (caller sets O_NONBLOCK),
    2118          add function sl_read_timeout_prep
     19
     202.1.3 (13-03-2006):
     21        * fix compile problem in slib.c (reported by Lawrence Bowie)
     22        * fix bug with combination of one-shot update mode and file check
     23          schedule (reportedby Dan Track)
     24        * improved the windows howto according to suggestions by
     25          Jorge Morgado
     26        * fix samhain_hide kernel module for new linux kernel versions
     27        * fix minor problem with dead client detection (problem reported
     28          by Michal Kustosik)
    2229
    23302.1.2 (10-01-2006):
  • trunk/dsys/comDOWNLOAD

    r1 r25  
    111111    if test -z "$command"
    112112    then
    113         printFATAL "No wget, curl, lynx, links, lwp-request, fetch in your \$PATH, cannot download"
     113        printFATAL "No wget, curl, lynx, links, lwp-request, fetch, fget in your \$PATH, cannot download"
    114114    fi
    115115
  • trunk/include/samhain.h

    r22 r25  
    301301int safe_fatal  (int signal, int method, char * details, char *f, int l);
    302302
    303 #define SH_VAL_EQ(a,b) \
     303#define SH_VALIDATE_EQ(a,b) \
    304304     do { \
    305305         if ((a) != (b)) safe_fatal(0, 0, #a " != " #b, FIL__, __LINE__);\
    306306     } while (0)
    307307
     308#define SH_VALIDATE_NE(a,b) \
     309     do { \
     310         if ((a) == (b)) safe_fatal(0, 0, #a " == " #b, FIL__, __LINE__);\
     311     } while (0)
    308312
    309313#if defined(HAVE_MLOCK) && !defined(HAVE_BROKEN_MLOCK)
  • trunk/include/sh_unix.h

    r22 r25  
    141141int sh_unix_munlock(void * addr, size_t len);
    142142int sh_unix_count_mlock();
     143/* public for unit tests */
     144int sh_unix_pagesize();
     145unsigned long sh_unix_lookup_page(void * in_addr, size_t len, int * num_pages);
    143146
    144147/* chroot directory
  • trunk/src/samhain.c

    r22 r25  
    17951795      /* see whether its time to check files
    17961796       */
    1797       if      (sh.flag.checkSum == SH_CHECK_INIT)
     1797      if      (sh.flag.checkSum == SH_CHECK_INIT ||
     1798               (sh.flag.checkSum == SH_CHECK_CHECK &&
     1799                (sh.flag.isdaemon == S_FALSE && sh.flag.loop == S_FALSE)))
    17981800        {
    17991801          flag_check_1 = 1;
  • trunk/src/sh_html.c

    r22 r25  
    313313          sl_strlcat(&entry_orig[entry_size], line, line_size + 1);
    314314          entry_size += add_size;
    315           SH_VAL_EQ(entry_orig[entry_size], '\0');
     315          SH_VALIDATE_EQ(entry_orig[entry_size], '\0');
    316316        }
    317317      sl_close(fd);
  • trunk/src/sh_unix.c

    r22 r25  
    40244024    {
    40254025#ifdef WITH_TPT
    4026       sl_snprintf(str, 128, _("file: %s line: %d page: %d"),
     4026      sl_snprintf(str, sizeof(str), _("file: %s line: %d page: %d"),
    40274027                  page_list->file, page_list->line, i+1);
    40284028      sh_error_handle(SH_ERR_INFO, FIL__, __LINE__, i, MSG_E_SUBGEN,
     
    40324032      ++i;
    40334033    }
    4034   sl_snprintf(str, 128, _("%d pages locked"), i);
     4034  sl_snprintf(str, sizeof(str), _("%d pages locked"), i);
    40354035  sh_error_handle(SH_ERR_INFO, FIL__, __LINE__, i, MSG_E_SUBGEN,
    40364036                  str, _("sh_unix_count_mlock"));
  • trunk/src/sh_utils.c

    r22 r25  
    205205  SL_ENTER(_("sh_util_strdup"));
    206206
    207   if (str != NULL)
    208     {
    209       len = sl_strlen(str);
    210       p   = SH_ALLOC (len + 1);
    211       (void) sl_strlcpy (p, str, len+1);
    212     }
     207  SH_VALIDATE_NE(str, NULL);
     208
     209  len = sl_strlen(str);
     210  p   = SH_ALLOC (len + 1);
     211  (void) sl_strlcpy (p, str, len+1);
     212
    213213  SL_RETURN( p, _("sh_util_strdup"));
    214214}
     
    224224  ret = *str;
    225225
    226   if (ret == NULL) {
    227     SL_RETURN(ret, _("sh_util_strsep"));
    228   }
     226  SH_VALIDATE_NE(ret, NULL);
    229227
    230228  for (c = *str; *c != '\0'; c++) {
  • trunk/src/slib.c

    r22 r25  
    577577
    578578#if !defined(HOST_IS_I86SOLARIS)
    579 #if !defined (_GNU_SOURCE)
     579#if !defined (_GNU_SOURCE) && !defined(__linux__)
    580580/* flawfinder: ignore */
    581581extern int vsnprintf ( char *str, size_t n,
  • trunk/test/testrun_1.sh

    r22 r25  
    2222testrun1_setup=0
    2323
    24 MAXTEST=10; export MAXTEST
     24MAXTEST=11; export MAXTEST
    2525
    2626test_dirs () {
     
    4646        fi
    4747    done
     48}
     49
     50#
     51# combine file check schedule with one-shot mode
     52#
     53TESTPOLICY_11="
     54[ReadOnly]
     55dir=99${BASE}
     56"
     57
     58mod_testdata_11 () {
     59    sleep 1
     60    echo "foobar" >"${BASE}/c/x"; # bad
     61    chmod 0555  "${BASE}/a/y";    # bad
     62    ORIGINAL='SetFilecheckTime=60'
     63    REPLACEMENT='FileCheckScheduleOne = 6 12 * * *'
     64    ex $RCFILE <<EOF
     65:%s/${ORIGINAL}/${REPLACEMENT}/g
     66:wq
     67EOF
     68}
     69
     70chk_testdata_11 () {
     71    # CDIRS="a b c a/a a/b a/c a/a/a a/a/b a/a/c a/a/a/a a/a/a/b a/a/a/c";
     72    tmp=`grep CRIT $LOGFILE | wc -l`
     73    if [ $tmp -ne 2 ]; then
     74        [ -z "$verbose" ] || log_msg_fail "policy count";
     75        return 1
     76    fi
     77    egrep "CRIT.*POLICY \[ReadOnly\] C-------TS.*${BASE}/c/x" $LOGFILE >/dev/null 2>&1
     78    if [ $? -ne 0 ]; then
     79        [ -z "$verbose" ] || log_msg_fail "${BASE}/c/x";
     80        return 1
     81    fi
     82    egrep "CRIT.*POLICY \[ReadOnly\] -----M--T-.*${BASE}/a/y" $LOGFILE >/dev/null 2>&1
     83    if [ $? -ne 0 ]; then
     84        [ -z "$verbose" ] || log_msg_fail "${BASE}/a/y";
     85        return 1
     86    fi
     87    CDIRS="a a/a a/b a/c c b a/a/a a/a/b a/a/c a/a/a/a a/a/a/b a/a/a/c";
     88    NDIRS="";
     89    test_dirs;
     90    return $?
    4891}
    4992
  • trunk/test/testrun_2a.sh

    r22 r25  
    140140        rm -f ./rc.${SH_LOCALHOST}
    141141        rm -f ./file.${SH_LOCALHOST}
     142        rm -f  "./rc.${ALTHOST}"
     143        rm -f  "./file.${ALTHOST}"
    142144
    143145        cp ${SCRIPTDIR}/testrc_2.in testrc_2
     
    196198}
    197199
    198 MAXTEST=1; export MAXTEST
     200MAXTEST=5; export MAXTEST
    199201
    200202testrun2a ()
     
    209211    #
    210212    testrun2a_internal
    211     #
    212213    do_test_1_a
    213214    if [ $? -eq 0 ]; then
     
    215216    else
    216217        [ -z "$quiet" ] && log_fail 1 ${MAXTEST} "Client download+logging";
     218    fi
     219    #
     220    SERVER_BUILDOPTS_ORIG="${SERVER_BUILDOPTS}"
     221    CLIENT_BUILDOPTS_ORIG="${CLIENT_BUILDOPTS}"
     222    #
     223    SERVER_BUILDOPTS="${SERVER_BUILDOPTS_ORIG} --disable-srp"
     224    CLIENT_BUILDOPTS="${CLIENT_BUILDOPTS_ORIG} --disable-srp"
     225    #
     226    testrun2a_internal
     227    do_test_1_a
     228    if [ $? -eq 0 ]; then
     229        [ -z "$quiet" ] && log_ok   2 ${MAXTEST} "SRP disabled";
     230    else
     231        [ -z "$quiet" ] && log_fail 2 ${MAXTEST} "SRP disabled";
     232    fi
     233    #
     234    SERVER_BUILDOPTS="${SERVER_BUILDOPTS_ORIG} --disable-encrypt"
     235    CLIENT_BUILDOPTS="${CLIENT_BUILDOPTS_ORIG} --disable-encrypt"
     236    #
     237    testrun2a_internal
     238    do_test_1_a
     239    if [ $? -eq 0 ]; then
     240        [ -z "$quiet" ] && log_ok   3 ${MAXTEST} "Encryption disabled";
     241    else
     242        [ -z "$quiet" ] && log_fail 3 ${MAXTEST} "Encryption disabled";
     243    fi
     244    #
     245    SERVER_BUILDOPTS="${SERVER_BUILDOPTS_ORIG} --enable-encrypt=1"
     246    CLIENT_BUILDOPTS="${CLIENT_BUILDOPTS_ORIG} --enable-encrypt=1"
     247    #
     248    testrun2a_internal
     249    do_test_1_a
     250    if [ $? -eq 0 ]; then
     251        [ -z "$quiet" ] && log_ok   4 ${MAXTEST} "Encryption (v1)";
     252    else
     253        [ -z "$quiet" ] && log_fail 4 ${MAXTEST} "Encryption (v1)";
     254    fi
     255    #
     256    SERVER_BUILDOPTS="${SERVER_BUILDOPTS_ORIG}"
     257    CLIENT_BUILDOPTS="${CLIENT_BUILDOPTS_ORIG} --enable-encrypt=1"
     258    #
     259    testrun2a_internal
     260    do_test_1_a
     261    if [ $? -eq 0 ]; then
     262        [ -z "$quiet" ] && log_ok   5 ${MAXTEST} "Encryption backward compat";
     263    else
     264        [ -z "$quiet" ] && log_fail 5 ${MAXTEST} "Encryption backward compat";
    217265    fi
    218266    #
Note: See TracChangeset for help on using the changeset viewer.