mirror of
https://github.com/jcreek/CosmicClash.git
synced 2026-09-11 08:23:45 +00:00
feat: validate allocated server compatibility
This commit is contained in:
@@ -263,7 +263,7 @@ func _validate() -> void:
|
||||
if String(values[key]).is_empty():
|
||||
errors.append("--allocated-mode requires --%s" % key)
|
||||
var digest := String(values["server-image-digest"])
|
||||
if not digest.begins_with("sha256:") or digest.length() != 71:
|
||||
if not _is_sha256_digest(digest):
|
||||
errors.append("--server-image-digest must be sha256:<64 hex characters>")
|
||||
var transport := String(values["transport"])
|
||||
if not transport in ["steam_sdr", "enet"]:
|
||||
@@ -273,6 +273,15 @@ func _validate() -> void:
|
||||
errors.append("--region must be EU or NA, got '%s'" % region)
|
||||
|
||||
|
||||
static func _is_sha256_digest(value: String) -> bool:
|
||||
if not value.begins_with("sha256:") or value.length() != 71:
|
||||
return false
|
||||
for c in value.substr(7):
|
||||
if not c.to_lower() in "0123456789abcdef":
|
||||
return false
|
||||
return true
|
||||
|
||||
|
||||
static func _kind_name(kind: int) -> String:
|
||||
match kind:
|
||||
Kind.BOOL: return "bool"
|
||||
|
||||
Reference in New Issue
Block a user