X-Git-Url: https://git.exim.org/exim.git/blobdiff_plain/951a7bd9b6971ec295117bcbc4d512528a70070d..HEAD:/src/src/version.c diff --git a/src/src/version.c b/src/src/version.c index 9d64075d7..e40b38fb8 100644 --- a/src/src/version.c +++ b/src/src/version.c @@ -1,18 +1,17 @@ -/* $Cambridge: exim/src/src/version.c,v 1.24 2007/08/30 14:37:07 ph10 Exp $ */ - /************************************************* * Exim - an Internet mail transport agent * *************************************************/ -/* Copyright (c) University of Cambridge 1995 - 2007 */ +/* Copyright (c) University of Cambridge 1995 - 2009 */ +/* Copyright (c) The Exim Maintainers 2010 - 2018 */ /* See the file NOTICE for conditions of use and distribution. */ +/* SPDX-License-Identifier: GPL-2.0-or-later */ /* Function for setting up the version string. */ #include "exim.h" - -#define THIS_VERSION "4.68" +#include "version.h" /* The header file cnumber.h contains a single line containing the @@ -26,7 +25,6 @@ version_init(void) static uschar cnumber_buffer[24]; static uschar date_buffer[32]; -uschar today[20]; uschar *version_cnumber_format; int cnumber = @@ -41,19 +39,33 @@ sprintf() call is the gcc -Wall warns about a \0 in a format string. */ version_cnumber = cnumber_buffer; version_cnumber_format = US"%d\0<>"; sprintf(CS version_cnumber, CS version_cnumber_format, cnumber); -version_string = US THIS_VERSION "\0<>"; - -Ustrcpy(today, __DATE__); -if (today[4] == ' ') today[4] = '0'; -today[3] = today[6] = '-'; +version_string = US EXIM_VERSION_STR "\0<>"; +#ifdef EXIM_BUILD_DATE_OVERRIDE +/* Reproducible build support; build tooling should have given us something looking like + * "25-Feb-2017 20:15:40" in EXIM_BUILD_DATE_OVERRIDE based on $SOURCE_DATE_EPOCH in environ + * per + */ version_date = date_buffer; version_date[0] = 0; -Ustrncat(version_date, today+4, 3); -Ustrncat(version_date, today, 4); -Ustrncat(version_date, today+7, 4); -Ustrcat(version_date, " "); -Ustrcat(version_date, __TIME__); +Ustrncat(version_date, EXIM_BUILD_DATE_OVERRIDE, sizeof(date_buffer)); + +#else + { + uschar today[20]; + Ustrcpy(today, US __DATE__); + if (today[4] == ' ') today[4] = '0'; + today[3] = today[6] = '-'; + + version_date = date_buffer; + version_date[0] = 0; + Ustrncat(version_date, today+4, 3); + Ustrncat(version_date, today, 4); + Ustrncat(version_date, today+7, 4); + Ustrcat(version_date, US" "); + Ustrcat(version_date, US __TIME__); + } +#endif } /* End of version.c */