merge the version.h autogeneration stuff from 3.0
authorStefan Metzmacher <metze@samba.org>
Wed, 28 Jan 2004 12:47:52 +0000 (12:47 +0000)
committerStefan Metzmacher <metze@samba.org>
Wed, 28 Jan 2004 12:47:52 +0000 (12:47 +0000)
metze

15 files changed:
source/.cvsignore
source/Makefile.in
source/VERSION [new file with mode: 0644]
source/autogen.sh
source/client/client.c
source/include/.cvsignore
source/lib/cmdline/popt_common.c
source/lib/fault.c
source/lib/popt_common.c
source/lib/version.c [new file with mode: 0644]
source/param/loadparm.c
source/script/mkversion.sh [new file with mode: 0755]
source/smbd/process_thread.c
source/smbd/server.c
source/smbd/sesssetup.c

index d1c78732c963c1a99bf4e04d7e18843590567138..be9c9299c35110505ed28c50f711fb8731bee236 100644 (file)
@@ -7,7 +7,7 @@ libsmb
 .proto.check
 .proto.stamp
 autom4te.cache
-ID
+autom4te-2.53.cache
 ID
 Makefile
 bin
index 0b64218c20541a730668401b87039ea02dc2acb0..4baa3f1078a33d116d54159d57fe162a022a9b84 100644 (file)
@@ -99,7 +99,7 @@ MODULES = $(CHARSET_MODULES) $(DCERPC_MODULES) $(NTVFS_MODULES)
 TDBBASE_OBJ = tdb/tdb.o tdb/spinlock.o
 TDB_OBJ = $(TDBBASE_OBJ) tdb/tdbutil.o 
 
-LIB_OBJ = lib/charcnv.o lib/debug.o lib/fault.o \
+LIB_OBJ = lib/version.o lib/charcnv.o lib/debug.o lib/fault.o \
           lib/getsmbpass.o lib/interface.o lib/md4.o \
           lib/interfaces.o lib/pidfile.o lib/replace.o \
           lib/signal.o lib/system.o lib/sendfile.o lib/time.o \
@@ -377,6 +377,18 @@ dynconfig.po: dynconfig.c Makefile
 @BROKEN_CC@    -mv `echo $@ | sed -e 's%^.*/%%g' -e 's%\.po$$%.o%'` $@
 @POBAD_CC@     @mv $*.po.o $@
 
+lib/version.o: lib/version.c include/version.h
+       @echo Compiling $*.c
+       @$(CC) -I. -I$(srcdir) $(FLAGS) $(PATH_FLAGS) -c $< -o $@ 
+
+lib/version.po: lib/version.c include/version.h
+       @if (: >> $@ || : > $@) >/dev/null 2>&1; then rm -f $@; else \
+         dir=`echo $@ | sed 's,/[^/]*$$,,;s,^$$,.,'` $(MAKEDIR); fi
+       @echo Compiling $*.c with @PICFLAG@
+       @$(CC) -I. -I$(srcdir) $(FLAGS) $(PATH_FLAGS) @PICFLAG@ -c $< -o $*.@PICSUFFIX@
+@BROKEN_CC@    -mv `echo $@ | sed -e 's%^.*/%%g' -e 's%\.po$$%.o%'` $@
+@POBAD_CC@     @mv $*.po.o $@
+
 .c.po: 
        @if (: >> $@ || : > $@) >/dev/null 2>&1; then rm -f $@; else \
          dir=`echo $@ | sed 's,/[^/]*$$,,;s,^$$,.,'` $(MAKEDIR); fi
@@ -538,6 +550,11 @@ distclean: realclean
        -rm -f config.status config.cache so_locations
        -rm -rf .deps
 
+realdistclean: distclean
+       -rm -f include/config.h.in
+       -rm -f lib/version.h
+       -rm -f configure
+
 # when configure.in is updated, reconfigure
 $(srcdir)/configure: $(srcdir)/configure.in
        @echo "WARNING: you need to rerun ./autogen.sh"
diff --git a/source/VERSION b/source/VERSION
new file mode 100644 (file)
index 0000000..91c1f98
--- /dev/null
@@ -0,0 +1,123 @@
+########################################################
+# SAMBA Version                                        #
+#                                                      #
+# script/mkversion.sh                                  #
+# will use this file to create                         #
+# include/version.h                                    #
+#                                                      #
+########################################################
+
+########################################################
+# This are the main SAMBA version numbers              #
+#                                                      #
+# <MAJOR>.<MINOR>.<RELEASE>                            #
+#                                                      #
+# e.g. SAMBA_VERSION_MAJOR=3                           #
+#      SAMBA_VERSION_MINOR=0                           #
+#      SAMBA_VERSION_RELEASE=0                         #
+#  ->  "3.0.0"                                         #
+########################################################
+SAMBA_VERSION_MAJOR=4
+SAMBA_VERSION_MINOR=0
+SAMBA_VERSION_RELEASE=0
+
+########################################################
+# If a official release has a serious bug              #
+# a security release will have 'a' sufffix             #
+#                                                      #
+# so SAMBA's version will be                           #
+# <MAJOR>.<MINOR>.<RELEASE><REVISION>                  #
+#                                                      #
+# e.g. SAMBA_VERSION_PRE_RELEASE=a                     #
+#  ->  "2.2.8a"                                        #
+########################################################
+SAMBA_VERSION_REVISION=
+
+########################################################
+# For 'pre' releases the version will be               #
+#                                                      #
+# <MAJOR>.<MINOR>.<RELEASE>pre<PRE_RELEASE>            #
+#                                                      #
+# e.g. SAMBA_VERSION_PRE_RELEASE=1                     #
+#  ->  "2.2.9pre1"                                     #
+########################################################
+SAMBA_VERSION_PRE_RELEASE=
+
+########################################################
+# For 'rc' releases the version will be                #
+#                                                      #
+# <MAJOR>.<MINOR>.<RELEASE>rc<RC_RELEASE>              #
+#                                                      #
+# e.g. SAMBA_VERSION_RC_RELEASE=1                      #
+#  ->  "3.0.0rc1"                                      #
+########################################################
+SAMBA_VERSION_RC_RELEASE=
+
+########################################################
+# For 'beta' releases the version will be              #
+#                                                      #
+# <MAJOR>.<MINOR>.<RELEASE>beta<BETA_RELEASE>          #
+#                                                      #
+# e.g. SAMBA_VERSION_BETA_RELEASE=3                    #
+#  ->  "3.0.0beta3"                                    #
+########################################################
+SAMBA_VERSION_BETA_RELEASE=
+
+########################################################
+# For 'alpha' releases the version will be             #
+#                                                      #
+# <MAJOR>.<MINOR>.<RELEASE>alpha<ALPHA_RELEASE>        #
+#                                                      #
+# e.g. SAMBA_VERSION_ALPHA_RELEASE=1                   #
+#  ->  "4.0.0alpha1"                                   #
+########################################################
+SAMBA_VERSION_ALPHA_RELEASE=
+
+########################################################
+# For 'test' releases the version will be              #
+#                                                      #
+# <MAJOR>.<MINOR>.<RELEASE>test<TEST_RELEASE>          #
+#                                                      #
+# e.g. SAMBA_VERSION_TEST_RELEASE=1                    #
+#  ->  "4.0.0test1"                                    #
+########################################################
+SAMBA_VERSION_TEST_RELEASE=1
+
+########################################################
+# To mark CVS snapshots this should be set to 'yes'    #
+# in the development BRANCH, and set to 'no' only in   #
+# the SAMBA_X_X_RELEASE BRANCH                         #
+#                                                      #
+# <MAJOR>.<MINOR>.<RELEASE>[...]cvs                    #
+#                                                      #
+# e.g. SAMBA_VERSION_IS_CVS_SNAPSHOT=yes               #
+#  ->  "CVS 3.0.0rc2"                                  #
+########################################################
+SAMBA_VERSION_IS_CVS_SNAPSHOT=yes
+
+########################################################
+# This can be set by vendors if they want...           #
+# This can be a string constant or a function which    #
+# returns a string (const char *)                      #
+#                                                      #
+# <MAJOR>.<MINOR>.<RELEASE>[...]-<VENDOR_SUFFIX>       #
+#                                                      #
+# Note the '-' is automaticaly added                   #
+#                                                      #
+# e.g. SAMBA_VERSION_VENDOR_SUFFIX="VendorVersion"     #
+#  ->  "CVS 3.0.0rc2-VendorVersion"                    #
+#                                                      #
+# Note: If you want to use a function,                 #
+#       then patch lib/version.c and add this function #
+#       there, because the symbol must be available in #
+#       binary.                                        #
+#                                                      #
+# const char *vendor_version(void)                     #
+# {                                                    #
+#      return "VendorVersion";                        #
+# }                                                    #
+#                                                      #
+# e.g. SAMBA_VERSION_VENDOR_SUFFIX=vendor_version()    #
+#  ->  "CVS 3.0.0rc2-VendorVersion"                    #
+########################################################
+SAMBA_VERSION_VENDOR_SUFFIX=
index 4b879d06ef7098093d41bc4713a19e95e7991a46..aa8534858ea48c0d40bc892bdf5ca36c4138a349 100755 (executable)
@@ -47,7 +47,8 @@ if [ "$AUTOCONFFOUND" = "0" -o "$AUTOHEADERFOUND" = "0" ]; then
        exit 1
 fi
 
-
+echo "$0: running script/mkversion.sh"
+./script/mkversion.sh || exit 1
 
 echo "$0: running $AUTOHEADER"
 $AUTOHEADER || exit 1
@@ -55,6 +56,8 @@ $AUTOHEADER || exit 1
 echo "$0: running $AUTOCONF"
 $AUTOCONF || exit 1
 
+rm -rf autom4te.cache autom4te-2.53.cache
+
 echo "Now run ./configure and then make."
 exit 0
 
index 7cf3a0b1252a26b93bc90d55106f742118e20746..4fbafa94398842276e551ec5ddb92a52344e86e1 100644 (file)
@@ -3046,7 +3046,7 @@ static void remember_query_host(const char *arg,
        use_kerberos = cmdline_auth_info.use_kerberos;
        got_pass = cmdline_auth_info.got_pass;
 
-       DEBUG( 3, ( "Client started (version %s).\n", SAMBA_VERSION ) );
+       DEBUG( 3, ( "Client started (version %s).\n", SAMBA_VERSION_STRING ) );
 
        talloc_destroy(mem_ctx);
        if (tar_type) {
index f486ccaba119c4a6ec7f8dbd965a17ae22adef58..f27200350c7f64a907705f834d8cffc5518a042e 100644 (file)
@@ -6,3 +6,4 @@ proto.h
 stamp-h
 tdbsam2_parse_info.h
 wrepld_proto.h
+version.h
index 3c9a5eb2316e5858b1a2602d42b026aeba110a26..1b8e3bd93e96a3ec688b3a7c7af25ed7309be38b 100644 (file)
@@ -66,7 +66,7 @@ static void popt_common_callback(poptContext con,
                break;
 
        case 'V':
-               printf( "Version %s\n", SAMBA_VERSION );
+               printf( "Version %s\n", SAMBA_VERSION_STRING );
                exit(0);
                break;
 
index 5a76ce2c0cd417de5cf7e2f27190455038aa5be3..47a43bca84093a238050d3dce9f62f63d46e80d7 100644 (file)
@@ -39,7 +39,7 @@ static void fault_report(int sig)
        if (counter) _exit(1);
 
        DEBUG(0,("===============================================================\n"));
-       DEBUG(0,("INTERNAL ERROR: Signal %d in pid %d (%s)",sig,(int)getpid(),SAMBA_VERSION));
+       DEBUG(0,("INTERNAL ERROR: Signal %d in pid %d (%s)",sig,(int)getpid(),SAMBA_VERSION_STRING));
        DEBUG(0,("\nPlease read the file BUGS.txt in the distribution\n"));
        DEBUG(0,("===============================================================\n"));
 
index 3c9a5eb2316e5858b1a2602d42b026aeba110a26..1b8e3bd93e96a3ec688b3a7c7af25ed7309be38b 100644 (file)
@@ -66,7 +66,7 @@ static void popt_common_callback(poptContext con,
                break;
 
        case 'V':
-               printf( "Version %s\n", SAMBA_VERSION );
+               printf( "Version %s\n", SAMBA_VERSION_STRING );
                exit(0);
                break;
 
diff --git a/source/lib/version.c b/source/lib/version.c
new file mode 100644 (file)
index 0000000..99f836c
--- /dev/null
@@ -0,0 +1,42 @@
+/* 
+   Unix SMB/CIFS implementation.
+   Samba Version functions
+   
+   Copyright (C) Stefan Metzmacher     2003
+   
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 2 of the License, or
+   (at your option) any later version.
+   
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+   
+   You should have received a copy of the GNU General Public License
+   along with this program; if not, write to the Free Software
+   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+*/
+
+#include "includes.h"
+
+const char *samba_version_string(void)
+{
+#ifndef SAMBA_VERSION_VENDOR_SUFFIX
+       return SAMBA_VERSION_OFFICIAL_STRING;
+#else
+       static fstring samba_version;
+       static BOOL init_samba_version;
+
+       if (init_samba_version)
+               return samba_version;
+
+       snprintf(samba_version,sizeof(samba_version),"%s-%s",
+               SAMBA_VERSION_OFFICIAL_STRING,
+               SAMBA_VERSION_VENDOR_SUFFIX);
+
+       init_samba_version = True;
+       return samba_version;
+#endif
+}
index 9052fe440975e01373fcc7c6cbc633b61b1ea8d1..41470cf3f15f2db3bc7fa7a6073c8e3764eb2ad7 100644 (file)
@@ -1300,7 +1300,7 @@ static void init_globals(void)
        string_set(&Globals.szLockDir, dyn_LOCKDIR);
        string_set(&Globals.szSocketAddress, "0.0.0.0");
        pstrcpy(s, "Samba ");
-       pstrcat(s, SAMBA_VERSION);
+       pstrcat(s, SAMBA_VERSION_STRING);
        string_set(&Globals.szServerString, s);
        slprintf(s, sizeof(s) - 1, "%d.%d", DEFAULT_MAJOR_VERSION,
                 DEFAULT_MINOR_VERSION);
diff --git a/source/script/mkversion.sh b/source/script/mkversion.sh
new file mode 100755 (executable)
index 0000000..ca39297
--- /dev/null
@@ -0,0 +1,87 @@
+#!/bin/sh
+#
+
+VERSION_FILE=$1
+OUTPUT_FILE=$2
+
+if test -z "$VERSION_FILE";then
+       VERSION_FILE="VERSION"
+fi
+
+if test -z "$OUTPUT_FILE";then
+       OUTPUT_FILE="include/version.h"
+fi
+
+SOURCE_DIR=$3
+
+SAMBA_VERSION_MAJOR=`sed -n 's/^SAMBA_VERSION_MAJOR=//p' $SOURCE_DIR$VERSION_FILE`
+SAMBA_VERSION_MINOR=`sed -n 's/^SAMBA_VERSION_MINOR=//p' $SOURCE_DIR$VERSION_FILE`
+SAMBA_VERSION_RELEASE=`sed -n 's/^SAMBA_VERSION_RELEASE=//p' $SOURCE_DIR$VERSION_FILE`
+
+SAMBA_VERSION_REVISION=`sed -n 's/^SAMBA_VERSION_REVISION=//p' $SOURCE_DIR$VERSION_FILE`
+
+SAMBA_VERSION_PRE_RELEASE=`sed -n 's/^SAMBA_VERSION_PRE_RELEASE=//p' $SOURCE_DIR$VERSION_FILE`
+
+SAMBA_VERSION_RC_RELEASE=`sed -n 's/^SAMBA_VERSION_RC_RELEASE=//p' $SOURCE_DIR$VERSION_FILE`
+
+SAMBA_VERSION_BETA_RELEASE=`sed -n 's/^SAMBA_VERSION_BETA_RELEASE=//p' $SOURCE_DIR$VERSION_FILE`
+
+SAMBA_VERSION_ALPHA_RELEASE=`sed -n 's/^SAMBA_VERSION_ALPHA_RELEASE=//p' $SOURCE_DIR$VERSION_FILE`
+
+SAMBA_VERSION_TEST_RELEASE=`sed -n 's/^SAMBA_VERSION_TEST_RELEASE=//p' $SOURCE_DIR$VERSION_FILE`
+
+SAMBA_VERSION_IS_CVS_SNAPSHOT=`sed -n 's/^SAMBA_VERSION_IS_CVS_SNAPSHOT=//p' $SOURCE_DIR$VERSION_FILE`
+
+SAMBA_VERSION_VENDOR_SUFFIX=`sed -n 's/^SAMBA_VERSION_VENDOR_SUFFIX=//p' $SOURCE_DIR$VERSION_FILE`
+
+echo "/* Autogenerated by script/mkversion.sh */" > $OUTPUT_FILE
+
+echo "#define SAMBA_VERSION_MAJOR ${SAMBA_VERSION_MAJOR}" >> $OUTPUT_FILE
+echo "#define SAMBA_VERSION_MINOR ${SAMBA_VERSION_MINOR}" >> $OUTPUT_FILE
+echo "#define SAMBA_VERSION_RELEASE ${SAMBA_VERSION_RELEASE}" >> $OUTPUT_FILE
+
+
+SAMBA_VERSION_STRING="${SAMBA_VERSION_MAJOR}.${SAMBA_VERSION_MINOR}.${SAMBA_VERSION_RELEASE}"
+
+
+if test -n "${SAMBA_VERSION_REVISION}";then
+    SAMBA_VERSION_STRING="${SAMBA_VERSION_STRING}${SAMBA_VERSION_REVISION}"
+    echo "#define SAMBA_VERSION_REVISION \"${SAMBA_VERSION_REVISION}\"" >> $OUTPUT_FILE
+elif test -n "${SAMBA_VERSION_PRE_RELEASE}";then
+    SAMBA_VERSION_STRING="${SAMBA_VERSION_STRING}pre${SAMBA_VERSION_PRE_RELEASE}"
+    echo "#define SAMBA_VERSION_PRE_RELEASE ${SAMBA_VERSION_PRE_RELEASE}" >> $OUTPUT_FILE
+elif test -n "${SAMBA_VERSION_RC_RELEASE}";then
+    SAMBA_VERSION_STRING="${SAMBA_VERSION_STRING}rc${SAMBA_VERSION_RC_RELEASE}"
+    echo "#define SAMBA_VERSION_RC_RELEASE ${SAMBA_VERSION_RC_RELEASE}" >> $OUTPUT_FILE
+elif test -n "${SAMBA_VERSION_BETA_RELEASE}";then
+    SAMBA_VERSION_STRING="${SAMBA_VERSION_STRING}beta${SAMBA_VERSION_BETA_RELEASE}"
+    echo "#define SAMBA_VERSION_BETA_RELEASE ${SAMBA_VERSION_BETA_RELEASE}" >> $OUTPUT_FILE
+elif test -n "${SAMBA_VERSION_ALPHA_RELEASE}";then
+    SAMBA_VERSION_STRING="${SAMBA_VERSION_STRING}alpha${SAMBA_VERSION_ALPHA_RELEASE}"
+    echo "#define SAMBA_VERSION_ALPHA_RELEASE ${SAMBA_VERSION_ALPHA_RELEASE}" >> $OUTPUT_FILE
+elif test -n "${SAMBA_VERSION_TEST_RELEASE}";then
+    SAMBA_VERSION_STRING="${SAMBA_VERSION_STRING}test${SAMBA_VERSION_TEST_RELEASE}"
+    echo "#define SAMBA_VERSION_TEST_RELEASE ${SAMBA_VERSION_TEST_RELEASE}" >> $OUTPUT_FILE
+fi
+
+
+if test x"${SAMBA_VERSION_IS_CVS_SNAPSHOT}" = x"yes";then
+    SAMBA_VERSION_STRING="CVS ${SAMBA_VERSION_STRING}"
+    echo "#define SAMBA_VERSION_IS_CVS_SNAPSHOT 1" >> $OUTPUT_FILE
+fi
+
+if test -n "${SAMBA_VERSION_VENDOR_SUFFIX}";then
+    echo "#define SAMBA_VERSION_VENDOR_SUFFIX ${SAMBA_VERSION_VENDOR_SUFFIX}" >> $OUTPUT_FILE
+fi
+
+echo "#define SAMBA_VERSION_OFFICIAL_STRING \"${SAMBA_VERSION_STRING}\"" >> $OUTPUT_FILE
+
+echo "#define SAMBA_VERSION_STRING samba_version_string()" >> $OUTPUT_FILE
+
+echo "$0: 'include/version.h' created for Samba(\"${SAMBA_VERSION_STRING}\")"
+
+if test -n "${SAMBA_VERSION_VENDOR_SUFFIX}";then
+    echo "$0: with VENDOR_SUFFIX = ${SAMBA_VERSION_VENDOR_SUFFIX}"
+fi
+
+exit 0
index d83f48de9f75d39fc9b605a61c95946f463c5a17..bd64166355100f507f68882df7c7063a2515d2d4 100644 (file)
@@ -373,7 +373,7 @@ catch serious errors
 static void thread_sig_fault(int sig)
 {
        DEBUG(0,("===============================================================\n"));
-       DEBUG(0,("TERMINAL ERROR: Recursive signal %d in thread %lu (%s)\n",sig,(unsigned long int)pthread_self(),SAMBA_VERSION));
+       DEBUG(0,("TERMINAL ERROR: Recursive signal %d in thread %lu (%s)\n",sig,(unsigned long int)pthread_self(),SAMBA_VERSION_STRING));
        DEBUG(0,("===============================================================\n"));
        exit(1); /* kill the whole server for now */
 }
@@ -407,7 +407,7 @@ static void thread_fault_handler(int sig)
        counter++;      /* count number of faults that have occurred */
 
        DEBUG(0,("===============================================================\n"));
-       DEBUG(0,("INTERNAL ERROR: Signal %d in thread %lu (%s)\n",sig,(unsigned long int)pthread_self(),SAMBA_VERSION));
+       DEBUG(0,("INTERNAL ERROR: Signal %d in thread %lu (%s)\n",sig,(unsigned long int)pthread_self(),SAMBA_VERSION_STRING));
        DEBUG(0,("Please read the file BUGS.txt in the distribution\n"));
        DEBUG(0,("===============================================================\n"));
 #ifdef HAVE_BACKTRACE
index 914271100f674199897b3ee579b977314b2f38b1..67bf07c7f8744b8046b3bb38c76a0db3eeb346df 100644 (file)
@@ -298,7 +298,7 @@ static void setup_process_model(struct event_context *events,
 
        reopen_logs();
 
-       DEBUG(0,("smbd version %s started.\n", SAMBA_VERSION));
+       DEBUG(0,("smbd version %s started.\n", SAMBA_VERSION_STRING));
        DEBUGADD(0,("Copyright Andrew Tridgell and the Samba Team 1992-2004\n"));
 
        /* Output the build options to the debug log */ 
index c1ea446c3c5784d808fe6465ea25fcc23f1be314..14e300c191bf3546cdc8bf833465a9b9e2a8aabc 100644 (file)
@@ -30,7 +30,7 @@ static void sesssetup_common_strings(struct request_context *req,
                                     char **os, char **lanman, char **domain)
 {
        (*os) = talloc_asprintf(req->mem_ctx, "Unix");
-       (*lanman) = talloc_asprintf(req->mem_ctx, "Samba %s", SAMBA_VERSION);
+       (*lanman) = talloc_asprintf(req->mem_ctx, "Samba %s", SAMBA_VERSION_STRING);
        (*domain) = talloc_asprintf(req->mem_ctx, "%s", lp_workgroup());
 }