1
0
mirror of https://github.com/veracrypt/VeraCrypt.git synced 2026-06-17 01:56:10 -05:00

Remove TC_STR_RELEASE_DATE and build release string from numeric date defines

- Remove the redundant TC_STR_RELEASE_DATE define from Common/Tcdefs.h
- Add preprocessor helpers to convert TC_RELEASE_DATE_YEAR/MONTH/DAY into
  the same "Month Day, Year" wide string used by TC_STR_RELEASED_BY
- Update source_date_epoch.sh to derive SOURCE_DATE_EPOCH from the three
  numeric date defines only, removing the string-date parsing fallback
This commit is contained in:
Mounir IDRASSI
2026-06-13 12:04:02 +09:00
parent 80a126d04e
commit 3e058bd992
2 changed files with 21 additions and 21 deletions
+1 -19
View File
@@ -59,12 +59,6 @@ fi
RELEASE_EPOCH=$(awk '
function leap(y) { return ((y % 4 == 0 && y % 100 != 0) || (y % 400 == 0)) }
function month_number(name) {
return (name == "January" ? 1 : name == "February" ? 2 : name == "March" ? 3 :
name == "April" ? 4 : name == "May" ? 5 : name == "June" ? 6 :
name == "July" ? 7 : name == "August" ? 8 : name == "September" ? 9 :
name == "October" ? 10 : name == "November" ? 11 : name == "December" ? 12 : 0);
}
function mdays(m, y) { return (m == 2 ? 28 + leap(y) : (m == 4 || m == 6 || m == 9 || m == 11 ? 30 : 31)) }
function epoch(y, m, d, days, i) {
days = 0;
@@ -75,17 +69,6 @@ RELEASE_EPOCH=$(awk '
}
function is_number(value) { return (value ~ /^[0-9]+$/) }
/^[[:space:]]*#define[[:space:]]+TC_STR_RELEASE_DATE[[:space:]]+L"/ {
date = $0;
sub(/^.*L"/, "", date);
sub(/".*$/, "", date);
split(date, parts, /[ ,]+/);
if (month_number(parts[1]) == 0 || !is_number(parts[2]) || !is_number(parts[3])) exit 1;
date_month = month_number(parts[1]);
date_day = parts[2] + 0;
date_year = parts[3] + 0;
seen_date = 1;
}
/^[[:space:]]*#define[[:space:]]+TC_RELEASE_DATE_YEAR[[:space:]]+/ {
if (!is_number($3)) exit 1;
year = $3 + 0;
@@ -102,9 +85,8 @@ RELEASE_EPOCH=$(awk '
seen_day = 1;
}
END {
if (!seen_date || !seen_year || !seen_month || !seen_day) exit 1;
if (!seen_year || !seen_month || !seen_day) exit 1;
if (year < 1970 || month < 1 || month > 12 || day < 1 || day > mdays(month, year)) exit 1;
if (date_month != month || date_day != day || date_year != year) exit 1;
printf "%d", epoch(year, month, day);
}' "$TCDEFS_H") || {
echo "Error: unable to derive SOURCE_DATE_EPOCH from $TCDEFS_H" >&2
+20 -2
View File
@@ -73,7 +73,6 @@ extern unsigned short _rotl16(unsigned short value, unsigned char shift);
#define VERSION_NUM 0x0126
// Release date
#define TC_STR_RELEASE_DATE L"June 9, 2026"
#define TC_RELEASE_DATE_YEAR 2026
#define TC_RELEASE_DATE_MONTH 6
#define TC_RELEASE_DATE_DAY 9
@@ -406,7 +405,26 @@ void EraseMemory (void *memory, int size);
#define TC_MAX_PATH 260 /* Includes the null terminator */
#endif
#define TC_STR_RELEASED_BY L"Released by AM Crypto on " TC_STR_RELEASE_DATE
#define TC_RELEASE_DATE_MONTH_NAME_1 L"January"
#define TC_RELEASE_DATE_MONTH_NAME_2 L"February"
#define TC_RELEASE_DATE_MONTH_NAME_3 L"March"
#define TC_RELEASE_DATE_MONTH_NAME_4 L"April"
#define TC_RELEASE_DATE_MONTH_NAME_5 L"May"
#define TC_RELEASE_DATE_MONTH_NAME_6 L"June"
#define TC_RELEASE_DATE_MONTH_NAME_7 L"July"
#define TC_RELEASE_DATE_MONTH_NAME_8 L"August"
#define TC_RELEASE_DATE_MONTH_NAME_9 L"September"
#define TC_RELEASE_DATE_MONTH_NAME_10 L"October"
#define TC_RELEASE_DATE_MONTH_NAME_11 L"November"
#define TC_RELEASE_DATE_MONTH_NAME_12 L"December"
#define TC_RELEASE_DATE_MONTH_NAME_(m) TC_RELEASE_DATE_MONTH_NAME_##m
#define TC_RELEASE_DATE_MONTH_NAME(m) TC_RELEASE_DATE_MONTH_NAME_(m)
#define TC_RELEASE_DATE_WSTR2(x) L##x
#define TC_RELEASE_DATE_WSTR1(x) TC_RELEASE_DATE_WSTR2(#x)
#define TC_RELEASE_DATE_WSTR(x) TC_RELEASE_DATE_WSTR1(x)
#define TC_STR_RELEASED_BY L"Released by AM Crypto on " TC_RELEASE_DATE_MONTH_NAME(TC_RELEASE_DATE_MONTH) L" " TC_RELEASE_DATE_WSTR(TC_RELEASE_DATE_DAY) L", " TC_RELEASE_DATE_WSTR(TC_RELEASE_DATE_YEAR)
#define MAX_URL_LENGTH 2084 /* Internet Explorer limit. Includes the terminating null character. */