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:
@@ -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
@@ -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. */
|
||||
|
||||
|
||||
Reference in New Issue
Block a user