From 0612d7e050f600b62bb8d159119fd79f30116991 Mon Sep 17 00:00:00 2001 From: Kern Sibbald Date: Sun, 25 Jun 2006 13:58:36 +0000 Subject: [PATCH] 25Jun06 - Apply fix for scheduler for missing unlock_jobs(). - Clean out autoconf caches before rebuilding configure - Fix the FreeBSD pthreads lib define updated by Dan. - Add missing semicolon in src/console/console.c - Add Robert's enhanced version of build-win32-cross-tools as well as his patch file. - Note, the new gcc options are likely to break building of wx-console or the tray-monitor ... 24Jun06 - Implement Robert's suggestion to suppress printing compile lines. - Detect GCC correctly (I hope) - If using GCC (actually g++) add the following compiler flags -fno-strict-aliasing -fno-exceptions -fno-rtti - Turn on new bsnprintf() code. - Fix crypto when not using openssl. I previously overlooked this. - Eliminate crypto type punning problems by eliminating void * and using uint8_t * instead. - Harden authentication failure in FD by single threading errors and forcing a 6 second wait. git-svn-id: https://bacula.svn.sourceforge.net/svnroot/bacula/trunk@3074 91ce42f0-d328-0410-95d8-f526ca767f89 --- bacula/Makefile.in | 1 + bacula/autoconf/Make.common.in | 2 + bacula/autoconf/bacula-macros/os.m4 | 124 ++++++++++++++-------------- bacula/autoconf/configure.in | 14 +++- bacula/configure | 96 +++++++++++---------- bacula/kes-1.39 | 13 +++ bacula/src/cats/Makefile.in | 4 +- bacula/src/console/Makefile.in | 3 +- bacula/src/console/console.c | 2 +- bacula/src/dird/Makefile.in | 4 +- bacula/src/dird/scheduler.c | 1 + bacula/src/filed/Makefile.in | 4 +- bacula/src/findlib/Makefile.in | 6 +- bacula/src/lib/Makefile.in | 10 ++- bacula/src/lib/crypto.c | 5 +- bacula/src/stored/Makefile.in | 25 ++++-- bacula/src/tools/Makefile.in | 3 +- 17 files changed, 187 insertions(+), 130 deletions(-) diff --git a/bacula/Makefile.in b/bacula/Makefile.in index 00a3e5c6a9..2307845b28 100755 --- a/bacula/Makefile.in +++ b/bacula/Makefile.in @@ -62,6 +62,7 @@ autoconf/aclocal.m4: autoconf/configure.in autoconf/bacula-macros/* autoconf/get configure: autoconf/configure.in autoconf/aclocal.m4 autoconf/acconfig.h autoconf/config.h.in cd $(srcdir); ${RMF} -f config.cache config.log config.out config.status src/config.h + ${RMF} -rf autoconf/autom4te.cache autom4te.cache autoconf --prepend-include=$(srcdir)/autoconf \ autoconf/configure.in > configure chmod 755 configure diff --git a/bacula/autoconf/Make.common.in b/bacula/autoconf/Make.common.in index 840eb5a17a..a21d24e8a7 100644 --- a/bacula/autoconf/Make.common.in +++ b/bacula/autoconf/Make.common.in @@ -26,6 +26,8 @@ scriptdir = @scriptdir@ mandir = @mandir@/man8 manext = 8 +NO_ECHO = @ + # Tools & program stuff CC = @CC@ CPP = @CPP@ diff --git a/bacula/autoconf/bacula-macros/os.m4 b/bacula/autoconf/bacula-macros/os.m4 index 25cfc69b65..608e65c880 100644 --- a/bacula/autoconf/bacula-macros/os.m4 +++ b/bacula/autoconf/bacula-macros/os.m4 @@ -14,18 +14,18 @@ AC_DEFUN(SIGNAL_CHECK, ], bash_cv_signal_vintage="posix", [ AC_TRY_LINK([#include ], [ - int mask = sigmask(SIGINT); - sigsetmask(mask); sigblock(mask); sigpause(mask); + int mask = sigmask(SIGINT); + sigsetmask(mask); sigblock(mask); sigpause(mask); ], bash_cv_signal_vintage="4.2bsd", [ - AC_TRY_LINK([ - #include - RETSIGTYPE foo() { }], [ - int mask = sigmask(SIGINT); - sigset(SIGINT, foo); sigrelse(SIGINT); - sighold(SIGINT); sigpause(SIGINT); + AC_TRY_LINK([ + #include + RETSIGTYPE foo() { }], [ + int mask = sigmask(SIGINT); + sigset(SIGINT, foo); sigrelse(SIGINT); + sighold(SIGINT); sigpause(SIGINT); ], bash_cv_signal_vintage="svr3", bash_cv_signal_vintage="v7" - )] + )] )] ) ]) @@ -56,90 +56,90 @@ AC_DEFUN(BA_CHECK_OPSYS, AC_CYGWIN if test $HAVE_UNAME=yes -a x`uname -s` = xSunOS then - BA_CONDITIONAL(HAVE_SUN_OS, $TRUEPRG) - AC_DEFINE(HAVE_SUN_OS) + BA_CONDITIONAL(HAVE_SUN_OS, $TRUEPRG) + AC_DEFINE(HAVE_SUN_OS) else - BA_CONDITIONAL(HAVE_SUN_OS, $FALSEPRG) + BA_CONDITIONAL(HAVE_SUN_OS, $FALSEPRG) fi if test $HAVE_UNAME=yes -a x`uname -s` = xOSF1 then - BA_CONDITIONAL(HAVE_OSF1_OS, $TRUEPRG) - AC_DEFINE(HAVE_OSF1_OS) + BA_CONDITIONAL(HAVE_OSF1_OS, $TRUEPRG) + AC_DEFINE(HAVE_OSF1_OS) else - BA_CONDITIONAL(HAVE_OSF1_OS, $FALSEPRG) + BA_CONDITIONAL(HAVE_OSF1_OS, $FALSEPRG) fi if test $HAVE_UNAME=yes -a x`uname -s` = xAIX then - BA_CONDITIONAL(HAVE_AIX_OS, $TRUEPRG) - AC_DEFINE(HAVE_AIX_OS) + BA_CONDITIONAL(HAVE_AIX_OS, $TRUEPRG) + AC_DEFINE(HAVE_AIX_OS) else - BA_CONDITIONAL(HAVE_AIX_OS, $FALSEPRG) + BA_CONDITIONAL(HAVE_AIX_OS, $FALSEPRG) fi if test $HAVE_UNAME=yes -a x`uname -s` = xHP-UX then - BA_CONDITIONAL(HAVE_HPUX_OS, $TRUEPRG) - AC_DEFINE(HAVE_HPUX_OS) + BA_CONDITIONAL(HAVE_HPUX_OS, $TRUEPRG) + AC_DEFINE(HAVE_HPUX_OS) else - BA_CONDITIONAL(HAVE_HPUX_OS, $FALSEPRG) + BA_CONDITIONAL(HAVE_HPUX_OS, $FALSEPRG) fi if test $HAVE_UNAME=yes -a x`uname -s` = xLinux then - BA_CONDITIONAL(HAVE_LINUX_OS, $TRUEPRG) - AC_DEFINE(HAVE_LINUX_OS) + BA_CONDITIONAL(HAVE_LINUX_OS, $TRUEPRG) + AC_DEFINE(HAVE_LINUX_OS) else - BA_CONDITIONAL(HAVE_LINUX_OS, $FALSEPRG) + BA_CONDITIONAL(HAVE_LINUX_OS, $FALSEPRG) fi if test $HAVE_UNAME=yes -a x`uname -s` = xFreeBSD then - BA_CONDITIONAL(HAVE_FREEBSD_OS, $TRUEPRG) - AC_DEFINE(HAVE_FREEBSD_OS) + BA_CONDITIONAL(HAVE_FREEBSD_OS, $TRUEPRG) + AC_DEFINE(HAVE_FREEBSD_OS) else - BA_CONDITIONAL(HAVE_FREEBSD_OS, $FALSEPRG) + BA_CONDITIONAL(HAVE_FREEBSD_OS, $FALSEPRG) fi if test $HAVE_UNAME=yes -a x`uname -s` = xNetBSD then - BA_CONDITIONAL(HAVE_NETBSD_OS, $TRUEPRG) - AC_DEFINE(HAVE_NETBSD_OS) + BA_CONDITIONAL(HAVE_NETBSD_OS, $TRUEPRG) + AC_DEFINE(HAVE_NETBSD_OS) else - BA_CONDITIONAL(HAVE_NETBSD_OS, $FALSEPRG) + BA_CONDITIONAL(HAVE_NETBSD_OS, $FALSEPRG) fi if test $HAVE_UNAME=yes -a x`uname -s` = xOpenBSD then - BA_CONDITIONAL(HAVE_OPENBSD_OS, $TRUEPRG) - AC_DEFINE(HAVE_OPENBSD_OS) + BA_CONDITIONAL(HAVE_OPENBSD_OS, $TRUEPRG) + AC_DEFINE(HAVE_OPENBSD_OS) else - BA_CONDITIONAL(HAVE_OPENBSD_OS, $FALSEPRG) + BA_CONDITIONAL(HAVE_OPENBSD_OS, $FALSEPRG) fi if test $HAVE_UNAME=yes -a x`uname -s` = xBSD/OS then - BA_CONDITIONAL(HAVE_BSDI_OS, $TRUEPRG) - AC_DEFINE(HAVE_BSDI_OS) + BA_CONDITIONAL(HAVE_BSDI_OS, $TRUEPRG) + AC_DEFINE(HAVE_BSDI_OS) else - BA_CONDITIONAL(HAVE_BSDI_OS, $FALSEPRG) + BA_CONDITIONAL(HAVE_BSDI_OS, $FALSEPRG) fi if test $HAVE_UNAME=yes -a x`uname -s` = xSGI then - BA_CONDITIONAL(HAVE_SGI_OS, $TRUEPRG) - AC_DEFINE(HAVE_SGI_OS) + BA_CONDITIONAL(HAVE_SGI_OS, $TRUEPRG) + AC_DEFINE(HAVE_SGI_OS) else - BA_CONDITIONAL(HAVE_SGI_OS, $FALSEPRG) + BA_CONDITIONAL(HAVE_SGI_OS, $FALSEPRG) fi if test $HAVE_UNAME=yes -a x`uname -s` = xIRIX -o x`uname -s` = xIRIX64 then - BA_CONDITIONAL(HAVE_IRIX_OS, $TRUEPRG) - AC_DEFINE(HAVE_IRIX_OS) + BA_CONDITIONAL(HAVE_IRIX_OS, $TRUEPRG) + AC_DEFINE(HAVE_IRIX_OS) else - BA_CONDITIONAL(HAVE_IRIX_OS, $FALSEPRG) + BA_CONDITIONAL(HAVE_IRIX_OS, $FALSEPRG) fi if test $HAVE_UNAME=yes -a x`uname -s` = xDarwin @@ -158,67 +158,67 @@ then echo "distname set to $DISTNAME" elif test $HAVE_UNAME=yes -a x`uname -s` = xOSF1 then - DISTNAME=alpha + DISTNAME=alpha elif test $HAVE_UNAME=yes -a x`uname -s` = xAIX then - DISTNAME=aix + DISTNAME=aix elif test $HAVE_UNAME=yes -a x`uname -s` = xHP-UX then - DISTNAME=hpux + DISTNAME=hpux elif test $HAVE_UNAME=yes -a x`uname -s` = xSunOS then - DISTNAME=solaris + DISTNAME=solaris elif test $HAVE_UNAME=yes -a x`uname -s` = xFreeBSD then - DISTNAME=freebsd + DISTNAME=freebsd elif test $HAVE_UNAME=yes -a x`uname -s` = xNetBSD then - DISTNAME=netbsd + DISTNAME=netbsd elif test $HAVE_UNAME=yes -a x`uname -s` = xOpenBSD then - DISTNAME=openbsd + DISTNAME=openbsd elif test $HAVE_UNAME=yes -a x`uname -s` = xIRIX then - DISTNAME=irix + DISTNAME=irix elif test $HAVE_UNAME=yes -a x`uname -s` = xBSD/OS then - DISTNAME=bsdi + DISTNAME=bsdi elif test -f /etc/SuSE-release then - DISTNAME=suse + DISTNAME=suse elif test -d /etc/SuSEconfig then - DISTNAME=suse5 + DISTNAME=suse5 elif test -f /etc/mandrake-release then - DISTNAME=mandrake + DISTNAME=mandrake elif test -f /etc/whitebox-release then DISTNAME=redhat elif test -f /etc/redhat-release then - DISTNAME=redhat + DISTNAME=redhat elif test -f /etc/gentoo-release then - DISTNAME=gentoo + DISTNAME=gentoo elif test -f /etc/debian_version then - DISTNAME=debian + DISTNAME=debian elif test -f /etc/slackware-version then - DISTNAME=slackware + DISTNAME=slackware elif test $HAVE_UNAME=yes -a x`uname -s` = xDarwin then DISTNAME=darwin elif test -f /etc/engarde-version then - DISTNAME=engarde + DISTNAME=engarde elif test "$CYGWIN" = yes then - DISTNAME=cygwin - AC_DEFINE(HAVE_CYGWIN) + DISTNAME=cygwin + AC_DEFINE(HAVE_CYGWIN) else - DISTNAME=unknown + DISTNAME=unknown fi AC_MSG_RESULT(done) ]) diff --git a/bacula/autoconf/configure.in b/bacula/autoconf/configure.in index 88cf49c1ac..19f3d1d701 100644 --- a/bacula/autoconf/configure.in +++ b/bacula/autoconf/configure.in @@ -41,8 +41,11 @@ AC_PROG_CXX AC_PROG_CC_C_O dnl Determine if C compiler support -c -o. AC_PROG_GCC_TRADITIONAL dnl Determine if ioctl() need -traditional. -if test "x$CC" = xgcc; then +BASECC=`basename $CC` +have_gcc=no +if test "x$BASECC" = xgcc; then AC_DEFINE(HAVE_GCC) + have_gcc=yes fi AC_PATH_PROG(CXX, $CXX, $CXX) if test ! -e $CXX; then @@ -1628,10 +1631,15 @@ AC_DEFINE(FDLIBS) CFLAGS=${CFLAGS--O} + +if test x$have_gcc = xyes ; then + CPPFLAGS="$CPPFLAGS -fno-strict-aliasing -fno-exceptions -fno-rtti" + CFLAGS="$CFLAGS -fno-strict-aliasing -fno-exceptions -fno-rtti" +fi LDFLAGS=${LDFLAGS--O} DB_LIBS="${SQL_LFLAGS}" - CPPFLAGS="$CPPFLAGS" +CFLAGS="$CFLAGS" AC_SUBST(DEBUG) AC_SUBST(DINCLUDE) AC_SUBST(CFLAGS) @@ -1730,7 +1738,7 @@ freebsd) DISTVER=`uname -a |awk '{print $3}'` VER=`echo $DISTVER | cut -c 1` if test x$VER = x4 ; then - PTHREAD_LIB=""${PTHREAD_LIBS}" + PTHREAD_LIB="${PTHREAD_LIBS}" CFLAGS="${CFLAGS} ${PTHREAD_CFLAGS}" fi lld="qd" diff --git a/bacula/configure b/bacula/configure index a6fdcf44b6..2480acf369 100755 --- a/bacula/configure +++ b/bacula/configure @@ -3206,11 +3206,14 @@ echo "${ECHO_T}$ac_cv_prog_gcc_traditional" >&6 fi fi -if test "x$CC" = xgcc; then +BASECC=`basename $CC` +have_gcc=no +if test "x$BASECC" = xgcc; then cat >>confdefs.h <<\_ACEOF #define HAVE_GCC 1 _ACEOF + have_gcc=yes fi # Extract the first word of "$CXX", so it can be a program name with args. set dummy $CXX; ac_word=$2 @@ -4402,7 +4405,7 @@ else HAVE_SUN_OS_TRUE='#' HAVE_SUN_OS_FALSE= fi - cat >>confdefs.h <<\_ACEOF + cat >>confdefs.h <<\_ACEOF #define HAVE_SUN_OS 1 _ACEOF @@ -4429,7 +4432,7 @@ else HAVE_OSF1_OS_TRUE='#' HAVE_OSF1_OS_FALSE= fi - cat >>confdefs.h <<\_ACEOF + cat >>confdefs.h <<\_ACEOF #define HAVE_OSF1_OS 1 _ACEOF @@ -4456,7 +4459,7 @@ else HAVE_AIX_OS_TRUE='#' HAVE_AIX_OS_FALSE= fi - cat >>confdefs.h <<\_ACEOF + cat >>confdefs.h <<\_ACEOF #define HAVE_AIX_OS 1 _ACEOF @@ -4483,7 +4486,7 @@ else HAVE_HPUX_OS_TRUE='#' HAVE_HPUX_OS_FALSE= fi - cat >>confdefs.h <<\_ACEOF + cat >>confdefs.h <<\_ACEOF #define HAVE_HPUX_OS 1 _ACEOF @@ -4510,7 +4513,7 @@ else HAVE_LINUX_OS_TRUE='#' HAVE_LINUX_OS_FALSE= fi - cat >>confdefs.h <<\_ACEOF + cat >>confdefs.h <<\_ACEOF #define HAVE_LINUX_OS 1 _ACEOF @@ -4537,7 +4540,7 @@ else HAVE_FREEBSD_OS_TRUE='#' HAVE_FREEBSD_OS_FALSE= fi - cat >>confdefs.h <<\_ACEOF + cat >>confdefs.h <<\_ACEOF #define HAVE_FREEBSD_OS 1 _ACEOF @@ -4564,7 +4567,7 @@ else HAVE_NETBSD_OS_TRUE='#' HAVE_NETBSD_OS_FALSE= fi - cat >>confdefs.h <<\_ACEOF + cat >>confdefs.h <<\_ACEOF #define HAVE_NETBSD_OS 1 _ACEOF @@ -4591,7 +4594,7 @@ else HAVE_OPENBSD_OS_TRUE='#' HAVE_OPENBSD_OS_FALSE= fi - cat >>confdefs.h <<\_ACEOF + cat >>confdefs.h <<\_ACEOF #define HAVE_OPENBSD_OS 1 _ACEOF @@ -4618,7 +4621,7 @@ else HAVE_BSDI_OS_TRUE='#' HAVE_BSDI_OS_FALSE= fi - cat >>confdefs.h <<\_ACEOF + cat >>confdefs.h <<\_ACEOF #define HAVE_BSDI_OS 1 _ACEOF @@ -4645,7 +4648,7 @@ else HAVE_SGI_OS_TRUE='#' HAVE_SGI_OS_FALSE= fi - cat >>confdefs.h <<\_ACEOF + cat >>confdefs.h <<\_ACEOF #define HAVE_SGI_OS 1 _ACEOF @@ -4661,7 +4664,7 @@ else fi fi -if test $HAVE_UNAME=yes -a x`uname -s` = xIRIX +if test $HAVE_UNAME=yes -a x`uname -s` = xIRIX -o x`uname -s` = xIRIX64 then @@ -4672,7 +4675,7 @@ else HAVE_IRIX_OS_TRUE='#' HAVE_IRIX_OS_FALSE= fi - cat >>confdefs.h <<\_ACEOF + cat >>confdefs.h <<\_ACEOF #define HAVE_IRIX_OS 1 _ACEOF @@ -4725,70 +4728,70 @@ then echo "distname set to $DISTNAME" elif test $HAVE_UNAME=yes -a x`uname -s` = xOSF1 then - DISTNAME=alpha + DISTNAME=alpha elif test $HAVE_UNAME=yes -a x`uname -s` = xAIX then - DISTNAME=aix + DISTNAME=aix elif test $HAVE_UNAME=yes -a x`uname -s` = xHP-UX then - DISTNAME=hpux + DISTNAME=hpux elif test $HAVE_UNAME=yes -a x`uname -s` = xSunOS then - DISTNAME=solaris + DISTNAME=solaris elif test $HAVE_UNAME=yes -a x`uname -s` = xFreeBSD then - DISTNAME=freebsd + DISTNAME=freebsd elif test $HAVE_UNAME=yes -a x`uname -s` = xNetBSD then - DISTNAME=netbsd + DISTNAME=netbsd elif test $HAVE_UNAME=yes -a x`uname -s` = xOpenBSD then - DISTNAME=openbsd + DISTNAME=openbsd elif test $HAVE_UNAME=yes -a x`uname -s` = xIRIX then - DISTNAME=irix + DISTNAME=irix elif test $HAVE_UNAME=yes -a x`uname -s` = xBSD/OS then - DISTNAME=bsdi + DISTNAME=bsdi elif test -f /etc/SuSE-release then - DISTNAME=suse + DISTNAME=suse elif test -d /etc/SuSEconfig then - DISTNAME=suse5 + DISTNAME=suse5 elif test -f /etc/mandrake-release then - DISTNAME=mandrake + DISTNAME=mandrake elif test -f /etc/whitebox-release then DISTNAME=redhat elif test -f /etc/redhat-release then - DISTNAME=redhat + DISTNAME=redhat elif test -f /etc/gentoo-release then - DISTNAME=gentoo + DISTNAME=gentoo elif test -f /etc/debian_version then - DISTNAME=debian + DISTNAME=debian elif test -f /etc/slackware-version then - DISTNAME=slackware + DISTNAME=slackware elif test $HAVE_UNAME=yes -a x`uname -s` = xDarwin then DISTNAME=darwin elif test -f /etc/engarde-version then - DISTNAME=engarde + DISTNAME=engarde elif test "$CYGWIN" = yes then - DISTNAME=cygwin - cat >>confdefs.h <<\_ACEOF + DISTNAME=cygwin + cat >>confdefs.h <<\_ACEOF #define HAVE_CYGWIN 1 _ACEOF else - DISTNAME=unknown + DISTNAME=unknown fi echo "$as_me:$LINENO: result: done" >&5 echo "${ECHO_T}done" >&6 @@ -21413,8 +21416,8 @@ int main () { - int mask = sigmask(SIGINT); - sigsetmask(mask); sigblock(mask); sigpause(mask); + int mask = sigmask(SIGINT); + sigsetmask(mask); sigblock(mask); sigpause(mask); ; return 0; @@ -21448,22 +21451,22 @@ else sed 's/^/| /' conftest.$ac_ext >&5 - cat >conftest.$ac_ext <<_ACEOF + cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ - #include - RETSIGTYPE foo() { } + #include + RETSIGTYPE foo() { } int main () { - int mask = sigmask(SIGINT); - sigset(SIGINT, foo); sigrelse(SIGINT); - sighold(SIGINT); sigpause(SIGINT); + int mask = sigmask(SIGINT); + sigset(SIGINT, foo); sigrelse(SIGINT); + sighold(SIGINT); sigpause(SIGINT); ; return 0; @@ -29528,10 +29531,15 @@ _ACEOF CFLAGS=${CFLAGS--O} + +if test x$have_gcc = xyes ; then + CPPFLAGS="$CPPFLAGS -fno-strict-aliasing -fno-exceptions -fno-rtti" + CFLAGS="$CFLAGS -fno-strict-aliasing -fno-exceptions -fno-rtti" +fi LDFLAGS=${LDFLAGS--O} DB_LIBS="${SQL_LFLAGS}" - CPPFLAGS="$CPPFLAGS" +CFLAGS="$CFLAGS" @@ -29629,8 +29637,8 @@ freebsd) DISTVER=`uname -a |awk '{print $3}'` VER=`echo $DISTVER | cut -c 1` if test x$VER = x4 ; then - PTHREAD_LIB="-pthread" - CFLAGS="${CFLAGS} -pthread" + PTHREAD_LIB="${PTHREAD_LIBS}" + CFLAGS="${CFLAGS} ${PTHREAD_CFLAGS}" fi lld="qd" llu="qu" diff --git a/bacula/kes-1.39 b/bacula/kes-1.39 index ce51bc5743..b7159eb603 100644 --- a/bacula/kes-1.39 +++ b/bacula/kes-1.39 @@ -2,7 +2,20 @@ Kern Sibbald General: +25Jun06 +- Apply fix for scheduler for missing unlock_jobs(). +- Clean out autoconf caches before rebuilding configure +- Fix the FreeBSD pthreads lib define updated by Dan. +- Add missing semicolon in src/console/console.c +- Add Robert's enhanced version of build-win32-cross-tools + as well as his patch file. +- Note, the new gcc options are likely to break building of + wx-console or the tray-monitor ... 24Jun06 +- Implement Robert's suggestion to suppress printing compile lines. +- Detect GCC correctly (I hope) +- If using GCC (actually g++) add the following compiler flags + -fno-strict-aliasing -fno-exceptions -fno-rtti - Turn on new bsnprintf() code. - Fix crypto when not using openssl. I previously overlooked this. - Eliminate crypto type punning problems by eliminating void * and diff --git a/bacula/src/cats/Makefile.in b/bacula/src/cats/Makefile.in index f27d6255f8..44ec71b360 100644 --- a/bacula/src/cats/Makefile.in +++ b/bacula/src/cats/Makefile.in @@ -40,13 +40,15 @@ LIBOBJS = mysql.o bdb.o bdb_create.o bdb_get.o bdb_update.o \ # inference rules .c.o: - $(CXX) $(DEFS) $(DEBUG) -c $(WCFLAGS) $(CPPFLAGS) -I$(srcdir) -I$(basedir) $(SQL_INC) $(DINCLUDE) $(CFLAGS) $< + @echo "Compiling $<" + $(NO_ECHO)$(CXX) $(DEFS) $(DEBUG) -c $(WCFLAGS) $(CPPFLAGS) -I$(srcdir) -I$(basedir) $(SQL_INC) $(DINCLUDE) $(CFLAGS) $< #------------------------------------------------------------------------- all: Makefile libsql.a @echo "==== Make of cats is good ====" @echo " " libsql.a: $(LIBOBJS) + @echo "Making $@ ..." $(AR) rc $@ $(LIBOBJS) $(RANLIB) $@ diff --git a/bacula/src/console/Makefile.in b/bacula/src/console/Makefile.in index df679314bf..890f094833 100644 --- a/bacula/src/console/Makefile.in +++ b/bacula/src/console/Makefile.in @@ -41,7 +41,8 @@ CONS_LDFLAGS=@CONS_LDFLAGS@ # inference rules .c.o: - $(CXX) $(DEFS) $(DEBUG) -c $(CPPFLAGS) $(CONS_INC) $(OPENSSL_INC) -I$(srcdir) -I$(basedir) $(DINCLUDE) $(CFLAGS) $< + echo "Compiling $<" + $(NO_ECHO)$(CXX) $(DEFS) $(DEBUG) -c $(CPPFLAGS) $(CONS_INC) $(OPENSSL_INC) -I$(srcdir) -I$(basedir) $(DINCLUDE) $(CFLAGS) $< #------------------------------------------------------------------------- all: Makefile bconsole @STATIC_CONS@ @echo "==== Make of console is good ====" diff --git a/bacula/src/console/console.c b/bacula/src/console/console.c index 7e4534c5b8..38a12f89ca 100644 --- a/bacula/src/console/console.c +++ b/bacula/src/console/console.c @@ -300,7 +300,7 @@ static int tls_pem_callback(char *buf, int size, const void *userdata) #ifdef HAVE_TLS # ifdef HAVE_MINGW const char *prompt = (const char *)userdata; - sendit(prompt) + sendit(prompt); if (win32_cgets(buf, size) == NULL) { buf[0] = 0; return 0; diff --git a/bacula/src/dird/Makefile.in b/bacula/src/dird/Makefile.in index 068deac2f4..9e833fe145 100644 --- a/bacula/src/dird/Makefile.in +++ b/bacula/src/dird/Makefile.in @@ -70,13 +70,15 @@ EXTRAOBJS = @OBJLIST@ # inference rules .c.o: - $(CXX) $(DEFS) $(DEBUG) -c $(WCFLAGS) $(CPPFLAGS) $(PYTHON_INC) $(OPENSSL_INC) -I$(srcdir) -I$(basedir) $(DINCLUDE) $(CFLAGS) $< + @echo "Compiling $<" + $(NO_ECHO)$(CXX) $(DEFS) $(DEBUG) -c $(WCFLAGS) $(CPPFLAGS) $(PYTHON_INC) $(OPENSSL_INC) -I$(srcdir) -I$(basedir) $(DINCLUDE) $(CFLAGS) $< #------------------------------------------------------------------------- all: Makefile bacula-dir @STATIC_DIR@ @echo "==== Make of dird is good ====" @echo " " bacula-dir: $(SVROBJS) ../lib/libbac.a ../cats/libsql.a ../findlib/libfind.a + @echo "Linking $@ ..." $(CXX) $(WLDFLAGS) $(LDFLAGS) -L../lib -L../cats -L../findlib -o $@ $(SVROBJS) \ -lsql -lfind -lbac -lm $(PYTHON_LIBS) $(DLIB) $(DB_LIBS) $(LIBS) \ $(WRAPLIBS) $(GETTEXT_LIBS) $(OPENSSL_LIBS) diff --git a/bacula/src/dird/scheduler.c b/bacula/src/dird/scheduler.c index 8d3266ca2b..83bdcdea0e 100644 --- a/bacula/src/dird/scheduler.c +++ b/bacula/src/dird/scheduler.c @@ -151,6 +151,7 @@ again: free(next_job); } schedules_invalidated = false; + unlock_jobs(); goto again; } unlock_jobs(); diff --git a/bacula/src/filed/Makefile.in b/bacula/src/filed/Makefile.in index 8b73c5e6ce..2b3b0e2933 100755 --- a/bacula/src/filed/Makefile.in +++ b/bacula/src/filed/Makefile.in @@ -55,7 +55,8 @@ WIN32LIBS = $(@WIN32@) # inference rules .c.o: - $(CXX) $(DEFS) $(DEBUG) -c $(WCFLAGS) $(CPPFLAGS) $(PYTHON_INC) $(OPENSSL_INC) -I$(srcdir) -I$(basedir) $(DINCLUDE) $(CFLAGS) $< + @echo "Compiling $<" + $(NO_ECHO)$(CXX) $(DEFS) $(DEBUG) -c $(WCFLAGS) $(CPPFLAGS) $(PYTHON_INC) $(OPENSSL_INC) -I$(srcdir) -I$(basedir) $(DINCLUDE) $(CFLAGS) $< #------------------------------------------------------------------------- all: Makefile @WIN32@ bacula-fd @STATIC_FD@ @echo "==== Make of filed is good ====" @@ -79,6 +80,7 @@ win32: $(WIN32OBJS) @rm -f bacula-fd.exe bacula-fd: $(SVROBJS) ../findlib/libfind.a ../lib/libbac.a @WIN32@ + @echo "Linking $@ ..." $(CXX) $(WLDFLAGS) $(LDFLAGS) -L../lib -L../findlib -o $@ $(SVROBJS) \ $(WIN32LIBS) $(FDLIBS) -lfind -lbac -lm $(PYTHON_LIBS) $(LIBS) \ $(DLIB) $(WRAPLIBS) $(GETTEXT_LIBS) $(OPENSSL_LIBS) diff --git a/bacula/src/findlib/Makefile.in b/bacula/src/findlib/Makefile.in index aee7123f8d..b0fe8cbefe 100644 --- a/bacula/src/findlib/Makefile.in +++ b/bacula/src/findlib/Makefile.in @@ -33,14 +33,16 @@ LIBOBJS = find.o match.o find_one.o attribs.o create_file.o \ # inference rules .c.o: - $(CXX) $(DEFS) $(DEBUG) -c $(WCFLAGS) $(CPPFLAGS) $(OPENSSL_INC) $(PYTHON_INC) -I$(srcdir) -I$(basedir) $(DINCLUDE) $(CFLAGS) $< + @echo "Compiling $<" + $(NO_ECHO)$(CXX) $(DEFS) $(DEBUG) -c $(WCFLAGS) $(CPPFLAGS) $(OPENSSL_INC) $(PYTHON_INC) -I$(srcdir) -I$(basedir) $(DINCLUDE) $(CFLAGS) $< #------------------------------------------------------------------------- all: Makefile libfind.a ../lib/libbac.a @echo "==== Make of findlib is good ====" @echo " " libfind.a: $(LIBOBJS) - $(RMF) $@ + @echo "Making $@ ..." + @$(RMF) $@ $(AR) cr $@ $(LIBOBJS) $(RANLIB) $@ diff --git a/bacula/src/lib/Makefile.in b/bacula/src/lib/Makefile.in index 76097488f9..e4364eb66e 100644 --- a/bacula/src/lib/Makefile.in +++ b/bacula/src/lib/Makefile.in @@ -57,10 +57,12 @@ EXTRAOBJS = @OBJLIST@ # inference rules .c.o: - $(CXX) $(DEFS) $(DEBUG) -c $(WCFLAGS) $(CPPFLAGS) $(OPENSSL_INC) $(PYTHON_INC) -I$(srcdir) -I$(basedir) $(DINCLUDE) $(CFLAGS) $< + @echo "Compiling $<" + $(NO_ECHO)$(CXX) $(DEFS) $(DEBUG) -c $(WCFLAGS) $(CPPFLAGS) $(OPENSSL_INC) $(PYTHON_INC) -I$(srcdir) -I$(basedir) $(DINCLUDE) $(CFLAGS) $< .cc.o: - $(CXX) $(DEFS) $(DEBUG) -c $(WCFLAGS) $(CPPFLAGS) $(OPENSSL_INC) $(PYTHON_INC) -I$(srcdir) -I$(basedir) $(DINCLUDE) $(CFLAGS) $< + @echo "Compiling $<" + $(NO_ECHO)$(CXX) $(DEFS) $(DEBUG) -c $(WCFLAGS) $(CPPFLAGS) $(OPENSSL_INC) $(PYTHON_INC) -I$(srcdir) -I$(basedir) $(DINCLUDE) $(CFLAGS) $< #------------------------------------------------------------------------- all: Makefile libbac.a @@ -68,6 +70,7 @@ all: Makefile libbac.a @echo " " libbac.a: $(LIBOBJS) + @echo "Making $@ ..." $(AR) rc $@ $(LIBOBJS) $(RANLIB) $@ @@ -77,7 +80,8 @@ Makefile: $(srcdir)/Makefile.in $(topdir)/config.status && CONFIG_FILES=$(thisdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status pythonlib.o: pythonlib.c - $(CXX) $(DEFS) $(DEBUG) -c $(WCFLAGS) $(CPPFLAGS) $(OPENSSL_INC) $(python) -I$(srcdir) -I$(basedir) $(DINCLUDE) $(CFLAGS) $< + @echo "Compiling $<" + $(NO_ECHO)$(CXX) $(DEFS) $(DEBUG) -c $(WCFLAGS) $(CPPFLAGS) $(OPENSSL_INC) $(python) -I$(srcdir) -I$(basedir) $(DINCLUDE) $(CFLAGS) $< rwlock_test: rm -f rwlock.o diff --git a/bacula/src/lib/crypto.c b/bacula/src/lib/crypto.c index aa6738000b..ed73c1962c 100644 --- a/bacula/src/lib/crypto.c +++ b/bacula/src/lib/crypto.c @@ -1315,8 +1315,9 @@ bool crypto_cipher_update(CIPHER_CONTEXT *cipher_ctx, const uint8_t *data, uint3 * Returns: true on success * false on failure */ -bool crypto_cipher_finalize (CIPHER_CONTEXT *cipher_ctx, void *dest, size_t *written) { - if (!EVP_CipherFinal_ex(&cipher_ctx->ctx, (unsigned char *) dest, (int *) written)) { +bool crypto_cipher_finalize (CIPHER_CONTEXT *cipher_ctx, uint8_t *dest, uint32_t *written) +{ + if (!EVP_CipherFinal_ex(&cipher_ctx->ctx, (unsigned char *)dest, (int *) written)) { /* This really shouldn't fail */ return false; } else { diff --git a/bacula/src/stored/Makefile.in b/bacula/src/stored/Makefile.in index ba70f04ef6..a5d4af3328 100644 --- a/bacula/src/stored/Makefile.in +++ b/bacula/src/stored/Makefile.in @@ -80,7 +80,8 @@ FDLIBS=@FDLIBS@ # inference rules .c.o: - $(CXX) $(DEFS) $(DEBUG) -c $(WCFLAGS) $(CPPFLAGS) $(PYTHON_INC) $(OPENSSL_INC) -I$(srcdir) -I$(basedir) $(DINCLUDE) $(CFLAGS) $< + @echo "Compiling $<" + $(NO_ECHO)$(CXX) $(DEFS) $(DEBUG) -c $(WCFLAGS) $(CPPFLAGS) $(PYTHON_INC) $(OPENSSL_INC) -I$(srcdir) -I$(basedir) $(DINCLUDE) $(CFLAGS) $< #------------------------------------------------------------------------- all: Makefile bacula-sd @STATIC_SD@ bls bextract bscan btape bcopy @@ -88,6 +89,7 @@ all: Makefile bacula-sd @STATIC_SD@ bls bextract bscan btape bcopy @echo " " bacula-sd: $(SDOBJS) ../lib/libbac.a + @echo "Linking $@ ..." $(CXX) $(WLDFLAGS) $(LDFLAGS) -L../lib -o $@ $(SDOBJS) $(FDLIBS) \ -lbac -lm $(PYTHON_LIBS) $(DLIB) $(LIBS) $(WRAPLIBS) \ $(GETTEXT_LIBS) $(OPENSSL_LIBS) @@ -99,7 +101,8 @@ static-bacula-sd: $(SDOBJS) ../lib/libbac.a strip $@ btape.o: btape.c - $(CXX) $(DEFS) $(DEBUG) -c $(CPPFLAGS) -I$(srcdir) \ + echo "Compiling $<" + $(NO_ECHO)$(CXX) $(DEFS) $(DEBUG) -c $(CPPFLAGS) -I$(srcdir) \ -I$(basedir) $(OPENSSL_INC) $(DINCLUDE) $(CFLAGS) $< btape: $(TAPEOBJS) ../lib/libbac.a ../cats/libsql.a @@ -107,23 +110,28 @@ btape: $(TAPEOBJS) ../lib/libbac.a ../cats/libsql.a -lsql $(DLIB) -lbac -lm $(LIBS) $(GETTEXT_LIBS) $(OPENSSL_LIBS) bls.o: bls.c - $(CXX) $(DEFS) $(DEBUG) -c $(CPPFLAGS) $(PYTHON_INC) -I$(srcdir) \ + echo "Compiling $<" + $(NO_ECHO)$(CXX) $(DEFS) $(DEBUG) -c $(CPPFLAGS) $(PYTHON_INC) -I$(srcdir) \ -I$(basedir) $(OPENSSL_INC) $(DINCLUDE) $(CFLAGS) $< bls: ../findlib/libfind.a $(BLSOBJS) ../lib/libbac.a - $(CXX) $(TTOOL_LDFLAGS) $(LDFLAGS) -L../lib -L../findlib -o $@ $(BLSOBJS) $(DLIB) -lfind \ + echo "Compiling $<" + $(NO_ECHO)$(CXX) $(TTOOL_LDFLAGS) $(LDFLAGS) -L../lib -L../findlib -o $@ $(BLSOBJS) $(DLIB) -lfind \ -lbac -lm $(LIBS) $(GETTEXT_LIBS) $(OPENSSL_LIBS) bextract.o: bextract.c - $(CXX) $(DEFS) $(DEBUG) -c $(CPPFLAGS) $(PYTHON_INC) -I$(srcdir) \ + echo "Compiling $<" + $(NO_ECHO)$(CXX) $(DEFS) $(DEBUG) -c $(CPPFLAGS) $(PYTHON_INC) -I$(srcdir) \ -I$(basedir) $(OPENSSL_INC) $(DINCLUDE) $(CFLAGS) $< bextract: ../findlib/libfind.a $(BEXTOBJS) ../lib/libbac.a - $(CXX) $(TTOOL_LDFLAGS) $(LDFLAGS) -L../lib -L../findlib -o $@ $(BEXTOBJS) $(DLIB) $(FDLIBS) \ + echo "Compiling $<" + $(NO_ECHO)$(CXX) $(TTOOL_LDFLAGS) $(LDFLAGS) -L../lib -L../findlib -o $@ $(BEXTOBJS) $(DLIB) $(FDLIBS) \ -lfind -lbac -lm $(PYTHON_LIBS) $(LIBS) $(GETTEXT_LIBS) $(OPENSSL_LIBS) bscan.o: bscan.c - $(CXX) $(DEFS) $(DEBUG) -c $(CPPFLAGS) $(PYTHON_INC) -I$(srcdir) \ + echo "Compiling $<" + $(NO_ECHO)$(CXX) $(DEFS) $(DEBUG) -c $(CPPFLAGS) $(PYTHON_INC) -I$(srcdir) \ -I$(basedir) $(OPENSSL_INC) $(DINCLUDE) $(CFLAGS) $< bscan: ../findlib/libfind.a $(SCNOBJS) ../cats/libsql.a @@ -131,7 +139,8 @@ bscan: ../findlib/libfind.a $(SCNOBJS) ../cats/libsql.a -lsql $(DB_LIBS) $(FDLIBS) -lfind -lbac -lm $(LIBS) $(GETTEXT_LIBS) $(OPENSSL_LIBS) bcopy.o: bcopy.c - $(CXX) $(DEFS) $(DEBUG) -c $(CPPFLAGS) -I$(srcdir) \ + echo "Compiling $<" + $(NO_ECHO)$(CXX) $(DEFS) $(DEBUG) -c $(CPPFLAGS) -I$(srcdir) \ -I$(basedir) $(OPENSSL_INC) $(DINCLUDE) $(CFLAGS) $< bcopy: $(COPYOBJS) ../findlib/libfind.a ../lib/libbac.a diff --git a/bacula/src/tools/Makefile.in b/bacula/src/tools/Makefile.in index 9891ee645f..84591abe14 100644 --- a/bacula/src/tools/Makefile.in +++ b/bacula/src/tools/Makefile.in @@ -52,7 +52,8 @@ INSTOOLS = $(INS@DIR_TOOLS@) # inference rules .c.o: - $(CXX) $(DEFS) $(DEBUG) -c $(CPPFLAGS) $(PYTHON_INC) -I$(srcdir) -I$(basedir) $(DINCLUDE) $(CFLAGS) $< + echo "Compiling $<" + $(NO_ECHO)$(CXX) $(DEFS) $(DEBUG) -c $(CPPFLAGS) $(PYTHON_INC) -I$(srcdir) -I$(basedir) $(DINCLUDE) $(CFLAGS) $< #------------------------------------------------------------------------- all: Makefile $(TOOLS) @echo "==== Make of tools is good ====" -- 2.39.5