Merge upstream/testing: udpnat2 buffer fix + apple version script
Trivial upstream sync (2 commits): "Fix udpnat2 buffer size" (go.mod/go.sum bump) and "release: Fix update apple version script". No lx zones touched (no submodule / pb.go / box.go / route / adapter changes).
This commit is contained in:
@@ -106,6 +106,7 @@ func findAndReplaceProjectVersion(objectsMap map[string]any, projectContent stri
|
||||
}
|
||||
|
||||
func findObjectKey(objectsMap map[string]any, bundleIDList []string) []string {
|
||||
globalSettings := collectBuildSettings(objectsMap)
|
||||
var objectKeyList []string
|
||||
for objectKey, object := range objectsMap {
|
||||
buildSettings := object.(map[string]any)["buildSettings"]
|
||||
@@ -116,13 +117,51 @@ func findObjectKey(objectsMap map[string]any, bundleIDList []string) []string {
|
||||
if bundleIDObject == nil {
|
||||
continue
|
||||
}
|
||||
if common.Contains(bundleIDList, bundleIDObject.(string)) {
|
||||
bundleID := expandBuildVariables(bundleIDObject.(string), globalSettings)
|
||||
if common.Contains(bundleIDList, bundleID) {
|
||||
objectKeyList = append(objectKeyList, objectKey)
|
||||
}
|
||||
}
|
||||
return objectKeyList
|
||||
}
|
||||
|
||||
func collectBuildSettings(objectsMap map[string]any) map[string]string {
|
||||
settings := make(map[string]string)
|
||||
for _, object := range objectsMap {
|
||||
buildSettings, loaded := object.(map[string]any)["buildSettings"].(map[string]any)
|
||||
if !loaded {
|
||||
continue
|
||||
}
|
||||
for key, value := range buildSettings {
|
||||
valueString, isString := value.(string)
|
||||
if !isString {
|
||||
continue
|
||||
}
|
||||
settings[key] = valueString
|
||||
}
|
||||
}
|
||||
return settings
|
||||
}
|
||||
|
||||
var buildVariableRegexp = regexp.MustCompile(`\$[({]([A-Za-z0-9_]+)[)}]`)
|
||||
|
||||
func expandBuildVariables(value string, settings map[string]string) string {
|
||||
for {
|
||||
expanded := buildVariableRegexp.ReplaceAllStringFunc(value, func(match string) string {
|
||||
name := buildVariableRegexp.FindStringSubmatch(match)[1]
|
||||
replacement, loaded := settings[name]
|
||||
if !loaded {
|
||||
return match
|
||||
}
|
||||
return replacement
|
||||
})
|
||||
if expanded == value {
|
||||
return expanded
|
||||
}
|
||||
value = expanded
|
||||
}
|
||||
}
|
||||
|
||||
func findObjectKeyByDirectory(objectsMap map[string]any, directoryList []string) []string {
|
||||
var objectKeyList []string
|
||||
for objectKey, object := range objectsMap {
|
||||
|
||||
@@ -41,7 +41,7 @@ require (
|
||||
github.com/sagernet/gomobile v0.1.12
|
||||
github.com/sagernet/gvisor v0.0.0-20250811.0-sing-box-mod.1
|
||||
github.com/sagernet/quic-go v0.59.0-sing-box-mod.4
|
||||
github.com/sagernet/sing v0.8.12-0.20260625092856-31bbf21d4b12
|
||||
github.com/sagernet/sing v0.8.12-0.20260701111927-87e1e819f10a
|
||||
github.com/sagernet/sing-cloudflared v0.1.1
|
||||
github.com/sagernet/sing-mux v0.3.5
|
||||
github.com/sagernet/sing-quic v0.6.2-0.20260525051024-9467ede27fb7
|
||||
|
||||
@@ -258,8 +258,8 @@ github.com/sagernet/nftables v0.3.0-mod.2 h1:ck2KMU02OxL1eDFgGaWYglMDpoOZ7OHzxje
|
||||
github.com/sagernet/nftables v0.3.0-mod.2/go.mod h1:8kslHG4VvYNihcco+i6uxIX7qbT8A56T0y5q7U44ZaQ=
|
||||
github.com/sagernet/quic-go v0.59.0-sing-box-mod.4 h1:6qvrUW79S+CrPwWz6cMePXohgjHoKxLo3c+MDhNwc3o=
|
||||
github.com/sagernet/quic-go v0.59.0-sing-box-mod.4/go.mod h1:OqILvS182CyOol5zNNo6bguvOGgXzV459+chpRaUC+4=
|
||||
github.com/sagernet/sing v0.8.12-0.20260625092856-31bbf21d4b12 h1:jazHnJnTFW35dz1HjuwlQdJSvQBs7V2gVHI4x1IsWHk=
|
||||
github.com/sagernet/sing v0.8.12-0.20260625092856-31bbf21d4b12/go.mod h1:olXxWQNqRW/l2Q6JI3b2Qmz8iQnIFlOeeH8bx6JhgUA=
|
||||
github.com/sagernet/sing v0.8.12-0.20260701111927-87e1e819f10a h1:MCid6UN8a7WZWziqlWbLRFOt2jsfNZ7HRYEbP+MxX0U=
|
||||
github.com/sagernet/sing v0.8.12-0.20260701111927-87e1e819f10a/go.mod h1:olXxWQNqRW/l2Q6JI3b2Qmz8iQnIFlOeeH8bx6JhgUA=
|
||||
github.com/sagernet/sing-cloudflared v0.1.1 h1:By29ZWMJl8QU6UcC5pmBv803rYigAoSmzhDFOZc3h18=
|
||||
github.com/sagernet/sing-cloudflared v0.1.1/go.mod h1:bH2NKX+NpDTY1Zkxfboxw6MXB/ZywaNLmrDJYgKMJ2Y=
|
||||
github.com/sagernet/sing-mux v0.3.5 h1:RHnhVEc+SFqkrK4xMygYjDwwLhzp2Bj3lztSukONfhI=
|
||||
|
||||
Reference in New Issue
Block a user