mirror of
https://github.com/godotengine/godot.git
synced 2024-12-09 10:09:20 +08:00
SCons: Abort if SCRIPT_AES256_ENCRYPTION_KEY is invalid
Helps users figure out that something is wrong if they did define this
environment variable and it turns out being ignored.
(cherry picked from commit 08b4383e3f
)
This commit is contained in:
parent
fac2e5dc67
commit
a00ef0d27b
17
core/SCsub
17
core/SCsub
@ -14,25 +14,28 @@ import os
|
||||
|
||||
txt = "0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0"
|
||||
if "SCRIPT_AES256_ENCRYPTION_KEY" in os.environ:
|
||||
e = os.environ["SCRIPT_AES256_ENCRYPTION_KEY"]
|
||||
txt = ""
|
||||
key = os.environ["SCRIPT_AES256_ENCRYPTION_KEY"]
|
||||
ec_valid = True
|
||||
if len(e) != 64:
|
||||
if len(key) != 64:
|
||||
ec_valid = False
|
||||
else:
|
||||
|
||||
txt = ""
|
||||
for i in range(len(e) >> 1):
|
||||
if i > 0:
|
||||
txt += ","
|
||||
txts = "0x" + e[i * 2 : i * 2 + 2]
|
||||
txts = "0x" + key[i * 2 : i * 2 + 2]
|
||||
try:
|
||||
int(txts, 16)
|
||||
except Exception:
|
||||
ec_valid = False
|
||||
txt += txts
|
||||
if not ec_valid:
|
||||
txt = "0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0"
|
||||
print("Invalid AES256 encryption key, not 64 bits hex: " + e)
|
||||
print("Error: Invalid AES256 encryption key, not 64 hexadecimal characters: '" + key + "'.")
|
||||
print(
|
||||
"Unset 'SCRIPT_AES256_ENCRYPTION_KEY' in your environment "
|
||||
"or make sure that it contains exactly 64 hexadecimal characters."
|
||||
)
|
||||
Exit(255)
|
||||
|
||||
# NOTE: It is safe to generate this file here, since this is still executed serially
|
||||
with open("script_encryption_key.gen.cpp", "w") as f:
|
||||
|
Loading…
Reference in New Issue
Block a user