git://git.exim.org
/
exim.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
CVE-2020-28013: Heap buffer overflow in parse_fix_phrase()
[exim.git]
/
src
/
scripts
/
reversion
diff --git
a/src/scripts/reversion
b/src/scripts/reversion
index 63b4adbfe86667eae5a44814b6fbfbb516a33940..cec1db2fbde8d7ffa1dd14d3a17f523abc7925b6 100755
(executable)
--- a/
src/scripts/reversion
+++ b/
src/scripts/reversion
@@
-29,8
+29,11
@@
fi
# Read version information that was generated by a previous run of
# this script, or during the release process.
# Read version information that was generated by a previous run of
# this script, or during the release process.
- set $(echo "$description" | sed 's|-| |;s|_|.|;s|[-_]| _|;s|-g|-|')
-if [ -f ./version.sh ]; then
+# Override, used for automated testing w/o access to the
+# .git directory (w.g. inside a git worktree)
+if [ -n "$EXIM_RELEASE_VERSION" ]; then
+ :
+elif [ -f ./version.sh ]; then
. ./version.sh
elif [ -f ../src/version.sh ]; then
. ../src/version.sh
. ./version.sh
elif [ -f ../src/version.sh ]; then
. ../src/version.sh
@@
-44,6
+47,7
@@
elif [ -d ../../.git ] || [ -f ../../.git ] || [ "$1" = release ]; then
else
description=$(git describe --dirty=-XX --match 'exim-4*')
fi
else
description=$(git describe --dirty=-XX --match 'exim-4*')
fi
+ set $(echo "$description" | sed 's/-/ /; s/-g/-/')
# Only update if we need to
if [ "$2 $3" != "$EXIM_RELEASE_VERSION $EXIM_VARIANT_VERSION" ]
then
# Only update if we need to
if [ "$2 $3" != "$EXIM_RELEASE_VERSION $EXIM_VARIANT_VERSION" ]
then
@@
-51,9
+55,12
@@
elif [ -d ../../.git ] || [ -f ../../.git ] || [ "$1" = release ]; then
EXIM_VARIANT_VERSION="$3"
rm -f version.h
fi
EXIM_VARIANT_VERSION="$3"
rm -f version.h
fi
-else
+fi
+
+if [ -z "$EXIM_RELEASE_VERSION" ]; then
echo "Cannot determine the release number" >&2
echo "Cannot determine the release number" >&2
- exit
+ echo "You may want to override it with EXIM_RELEASE_VERSION" >&2
+ exit 1
fi
# If you are maintaining a patched version of Exim, you can either
fi
# If you are maintaining a patched version of Exim, you can either
@@
-99,6
+106,7
@@
fi
( echo '# automatically generated file - see ../scripts/reversion'
echo EXIM_RELEASE_VERSION='"'"$EXIM_RELEASE_VERSION"'"'
( echo '# automatically generated file - see ../scripts/reversion'
echo EXIM_RELEASE_VERSION='"'"$EXIM_RELEASE_VERSION"'"'
+ test -n "$EXIM_VARIANT_VERSION" && \
echo EXIM_VARIANT_VERSION='"'"$EXIM_VARIANT_VERSION"'"'
echo EXIM_COMPILE_NUMBER='"'"$EXIM_COMPILE_NUMBER"'"'
if [ ".${exim_build_date_override:-}" != "." ]; then
echo EXIM_VARIANT_VERSION='"'"$EXIM_VARIANT_VERSION"'"'
echo EXIM_COMPILE_NUMBER='"'"$EXIM_COMPILE_NUMBER"'"'
if [ ".${exim_build_date_override:-}" != "." ]; then
@@
-110,13
+118,17
@@
if [ ! -f version.h ]
then
( echo '/* automatically generated file - see ../scripts/reversion */'
echo '#define EXIM_RELEASE_VERSION "'"$EXIM_RELEASE_VERSION"'"'
then
( echo '/* automatically generated file - see ../scripts/reversion */'
echo '#define EXIM_RELEASE_VERSION "'"$EXIM_RELEASE_VERSION"'"'
+ test -n "$EXIM_VARIANT_VERSION" && \
echo '#define EXIM_VARIANT_VERSION "'"$EXIM_VARIANT_VERSION"'"'
echo '#define EXIM_VARIANT_VERSION "'"$EXIM_VARIANT_VERSION"'"'
- echo '#define EXIM_VERSION_STR EXIM_RELEASE_VERSION EXIM_VARIANT_VERSION'
+ echo '#ifdef EXIM_VARIANT_VERSION'
+ echo '#define EXIM_VERSION_STR EXIM_RELEASE_VERSION "-" EXIM_VARIANT_VERSION'
+ echo '#else'
+ echo '#define EXIM_VERSION_STR EXIM_RELEASE_VERSION'
+ echo '#endif'
if [ ".${exim_build_date_override:-}" != "." ]; then
echo '#define EXIM_BUILD_DATE_OVERRIDE "'"${exim_build_date_override}"'"'
fi
) >version.h
fi
if [ ".${exim_build_date_override:-}" != "." ]; then
echo '#define EXIM_BUILD_DATE_OVERRIDE "'"${exim_build_date_override}"'"'
fi
) >version.h
fi
-echo ">>> version $EXIM_RELEASE_VERSION $EXIM_VARIANT_VERSION #$EXIM_COMPILE_NUMBER"
-echo
+#test -t 1 && echo ">>> version $EXIM_RELEASE_VERSION $EXIM_VARIANT_VERSION #$EXIM_COMPILE_NUMBER"