Changeset 145


Ignore:
Timestamp:
Nov 8, 2007, 10:35:23 PM (11 years ago)
Author:
rainer
Message:

Fix for ticket #81 (compile failure with --enable-static).

Location:
trunk
Files:
7 edited

Legend:

Unmodified
Added
Removed
  • trunk/configure.ac

    r143 r145  
    1313dnl start 
    1414dnl 
    15 AM_INIT_AUTOMAKE(samhain, 2.4.0) 
     15AM_INIT_AUTOMAKE(samhain, 2.4.0a) 
    1616AC_CANONICAL_HOST 
    1717 
  • trunk/docs/Changelog

    r144 r145  
     12.4.0a: 
     2        * fix compile failure with --enable-static (reported by S. Clormann) 
     3        * fix potential deadlock if SIGHUP is received while suspended 
     4 
    152.4.0: 
    26        * eliminate alarm() for I/O timeout (replaced by select) 
  • trunk/include/sh_static.h

    r131 r145  
    1717 
    1818struct passwd * sh_getpwnam(const char *name); 
    19 int getpwnam_r(const char *name, struct passwd *pwbuf, 
     19int sh_getpwnam_r(const char *name, struct passwd *pwbuf, 
    2020               char *buf, size_t buflen, struct passwd **pwbufp); 
    2121 
    2222struct group * sh_getgrgid(gid_t gid); 
    23 int getgrgid_r(gid_t gid, struct group *gbuf, 
     23int sh_getgrgid_r(gid_t gid, struct group *gbuf, 
    2424               char *buf, size_t buflen, struct group **gbufp); 
    2525 
    2626struct passwd * sh_getpwuid(uid_t uid); 
    27 int getpwuid_r(uid_t uid, struct passwd *pwbuf, 
     27int sh_getpwuid_r(uid_t uid, struct passwd *pwbuf, 
    2828               char *buf, size_t buflen, struct passwd **pwbufp); 
    2929 
  • trunk/src/samhain.c

    r144 r145  
    17231723            } 
    17241724           
    1725           if (sig_config_read_again == 1) /* SIGHUP */ 
     1725          if (sig_config_read_again == 1 && /* SIGHUP */ 
     1726              sh_global_suspend_flag == 0) 
    17261727            { 
    17271728              TPT((0, FIL__, __LINE__, _("msg=<Re-read configuration.>\n"))) 
  • trunk/src/sh_static.c

    r134 r145  
    9494#define DO_GETXXKEY_R_PATHNAME  _PATH_PASSWD 
    9595 
    96 static int GETXXKEY_R_FUNC(DO_GETXXKEY_R_KEYTYPE key, 
    97                            GETXXKEY_R_ENTTYPE *__restrict resultbuf, 
    98                            char *__restrict buffer, size_t buflen, 
    99                            GETXXKEY_R_ENTTYPE **__restrict result) 
     96int GETXXKEY_R_FUNC(DO_GETXXKEY_R_KEYTYPE key, 
     97                    GETXXKEY_R_ENTTYPE *__restrict resultbuf, 
     98                    char *__restrict buffer, size_t buflen, 
     99                    GETXXKEY_R_ENTTYPE **__restrict result) 
    100100{ 
    101101  FILE *stream; 
     
    142142#define DO_GETXXKEY_R_PATHNAME  _PATH_GROUP 
    143143 
    144 static int GETXXKEY_R_FUNC(DO_GETXXKEY_R_KEYTYPE key, 
    145                            GETXXKEY_R_ENTTYPE *__restrict resultbuf, 
    146                            char *__restrict buffer, size_t buflen, 
    147                            GETXXKEY_R_ENTTYPE **__restrict result) 
     144int GETXXKEY_R_FUNC(DO_GETXXKEY_R_KEYTYPE key, 
     145                    GETXXKEY_R_ENTTYPE *__restrict resultbuf, 
     146                    char *__restrict buffer, size_t buflen, 
     147                    GETXXKEY_R_ENTTYPE **__restrict result) 
    148148{ 
    149149  FILE *stream; 
     
    190190#define DO_GETXXKEY_R_PATHNAME  _PATH_PASSWD 
    191191 
    192 static int GETXXKEY_R_FUNC(DO_GETXXKEY_R_KEYTYPE key, 
    193                            GETXXKEY_R_ENTTYPE *__restrict resultbuf, 
    194                            char *__restrict buffer, size_t buflen, 
    195                            GETXXKEY_R_ENTTYPE **__restrict result) 
     192int GETXXKEY_R_FUNC(DO_GETXXKEY_R_KEYTYPE key, 
     193                    GETXXKEY_R_ENTTYPE *__restrict resultbuf, 
     194                    char *__restrict buffer, size_t buflen, 
     195                    GETXXKEY_R_ENTTYPE **__restrict result) 
    196196{ 
    197197  FILE *stream; 
     
    238238#define DO_GETXXKEY_R_PATHNAME  _PATH_GROUP 
    239239 
    240 static int GETXXKEY_R_FUNC(DO_GETXXKEY_R_KEYTYPE key, 
    241                            GETXXKEY_R_ENTTYPE *__restrict resultbuf, 
    242                            char *__restrict buffer, size_t buflen, 
    243                            GETXXKEY_R_ENTTYPE **__restrict result) 
     240int GETXXKEY_R_FUNC(DO_GETXXKEY_R_KEYTYPE key, 
     241                    GETXXKEY_R_ENTTYPE *__restrict resultbuf, 
     242                    char *__restrict buffer, size_t buflen, 
     243                    GETXXKEY_R_ENTTYPE **__restrict result) 
    244244{ 
    245245  FILE *stream; 
     
    11681168        DPRINTF("Looking up type %d answer for '%s'\n", type, name); 
    11691169 
    1170         LOCK; 
     1170        SH_MUTEX_LOCK_UNSAFE(resolv_lock); 
    11711171        ns %= nscount; 
    1172         UNLOCK; 
     1172        SH_MUTEX_UNLOCK_UNSAFE(resolv_lock); 
    11731173 
    11741174        while (retries++ < MAX_RETRIES) { 
     
    11811181 
    11821182                /* Mess with globals while under lock */ 
    1183                 LOCK; 
     1183                SH_MUTEX_LOCK_UNSAFE(resolv_lock); 
    11841184                ++id; 
    11851185                id &= 0xffff; 
    11861186                h.id = id; 
    11871187                dns = nsip[ns]; 
    1188                 UNLOCK; 
     1188                SH_MUTEX_UNLOCK_UNSAFE(resolv_lock); 
    11891189 
    11901190                h.qdcount = 1; 
     
    12811281                DPRINTF("id = %d, qr = %d\n", h.id, h.qr); 
    12821282 
    1283                 LOCK; 
     1283                SH_MUTEX_LOCK_UNSAFE(resolv_lock); 
    12841284                if ((h.id != id) || (!h.qr)) { 
    1285                         UNLOCK; 
     1285                        SH_MUTEX_UNLOCK_UNSAFE(resolv_lock); 
    12861286                        /* unsolicited */ 
    12871287                        goto again; 
    12881288                } 
    1289                 UNLOCK; 
     1289                SH_MUTEX_UNLOCK_UNSAFE(resolv_lock); 
    12901290 
    12911291 
     
    13691369                    } else { 
    13701370                        /* next server, first search */ 
    1371                         LOCK; 
     1371                        SH_MUTEX_LOCK_UNSAFE(resolv_lock); 
    13721372                        ns = (ns + 1) % nscount; 
    1373                         UNLOCK; 
     1373                        SH_MUTEX_UNLOCK_UNSAFE(resolv_lock); 
    13741374                        variant = 0; 
    13751375                    } 
  • trunk/test/testcompile.sh

    r140 r145  
    2020# 
    2121 
    22 MAXTEST=65; export MAXTEST 
     22MAXTEST=71; export MAXTEST 
    2323 
    2424run_flawfinder () 
     
    181181        # test standalone compilation 
    182182        # 
     183        TEST="${S}standalone static w/suidcheck w/procchk${E}" 
     184        # 
     185        if test -r "Makefile"; then 
     186                $MAKE distclean  
     187        fi 
     188        # 
     189        ${TOP_SRCDIR}/configure --quiet  --prefix=$PW_DIR --localstatedir=$PW_DIR --with-config-file=$PW_DIR/samhainrc.test  --enable-static --enable-suidcheck --enable-process-check > /dev/null 2>> test_log 
     190        # 
     191        let "num = num + 1" >/dev/null 
     192        testmake $? $num || let "numfail = numfail + 1"  >/dev/null 
     193        let "num = num + 1" >/dev/null 
     194        run_smatch $? $num || let "numfail = numfail + 1"  >/dev/null 
     195 
     196        # 
     197        # test standalone compilation 
     198        # 
    183199        TEST="${S}standalone w/procchk w/portchk${E}" 
    184200        # 
     
    450466        # 
    451467        ${TOP_SRCDIR}/configure --quiet --enable-network=server  --enable-srp --prefix=$PW_DIR --localstatedir=$PW_DIR --with-config-file=$PW_DIR/samhainrc.test   --with-timeserver=127.0.0.1 > /dev/null 2>> test_log    
     468        # 
     469        let "num = num + 1" >/dev/null 
     470        testmake $? $num || let "numfail = numfail + 1" >/dev/null 
     471        let "num = num + 1" >/dev/null 
     472        run_smatch $? $num || let "numfail = numfail + 1"  >/dev/null 
     473 
     474        # 
     475        # test client/server compilation 
     476        # 
     477        TEST="${S}client/server application static w/timeserver${E}" 
     478        # 
     479        if test -r "Makefile"; then 
     480                $MAKE clean 
     481        fi 
     482        # 
     483        ${TOP_SRCDIR}/configure --quiet --enable-network=client  --enable-static --enable-srp --prefix=$PW_DIR --localstatedir=$PW_DIR --with-config-file=$PW_DIR/samhainrc.test   --with-timeserver=127.0.0.1 > /dev/null 2>> test_log    
     484        # 
     485        let "num = num + 1" >/dev/null 
     486        testmake $? $num || let "numfail = numfail + 1" >/dev/null 
     487        let "num = num + 1" >/dev/null 
     488        run_smatch $? $num || let "numfail = numfail + 1"  >/dev/null 
     489         
     490        if test -r "Makefile"; then 
     491                $MAKE clean 
     492        fi 
     493        # 
     494        ${TOP_SRCDIR}/configure --quiet --enable-network=server  --enable-static --enable-srp --prefix=$PW_DIR --localstatedir=$PW_DIR --with-config-file=$PW_DIR/samhainrc.test   --with-timeserver=127.0.0.1 > /dev/null 2>> test_log    
    452495        # 
    453496        let "num = num + 1" >/dev/null 
  • trunk/test/testrun_1a.sh

    r100 r145  
    2020# 
    2121 
    22 PREBUILDOPTS="--quiet $TRUST --enable-debug --enable-xml-log --enable-login-watch --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" 
     22PREBUILDOPTS="--quiet $TRUST --enable-debug --enable-static --enable-xml-log --enable-login-watch --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" 
    2323export PREBUILDOPTS 
    2424 
Note: See TracChangeset for help on using the changeset viewer.