fix: fixed awg 1.5 fields processing for ios (#1700)
This commit is contained in:
parent
5445e6637b
commit
10a107716c
1 changed files with 53 additions and 23 deletions
|
@ -46,29 +46,59 @@ struct WGConfig: Decodable {
|
||||||
}
|
}
|
||||||
|
|
||||||
var settings: String {
|
var settings: String {
|
||||||
junkPacketCount == nil ? "" :
|
guard junkPacketCount != nil else { return "" }
|
||||||
"""
|
|
||||||
Jc = \(junkPacketCount!)
|
var settingsLines: [String] = []
|
||||||
Jmin = \(junkPacketMinSize!)
|
|
||||||
Jmax = \(junkPacketMaxSize!)
|
// Required parameters when junkPacketCount is present
|
||||||
S1 = \(initPacketJunkSize!)
|
settingsLines.append("Jc = \(junkPacketCount!)")
|
||||||
S2 = \(responsePacketJunkSize!)
|
settingsLines.append("Jmin = \(junkPacketMinSize!)")
|
||||||
S3 = \(cookieReplyPacketJunkSize!)
|
settingsLines.append("Jmax = \(junkPacketMaxSize!)")
|
||||||
S4 = \(transportPacketJunkSize!)
|
settingsLines.append("S1 = \(initPacketJunkSize!)")
|
||||||
H1 = \(initPacketMagicHeader!)
|
settingsLines.append("S2 = \(responsePacketJunkSize!)")
|
||||||
H2 = \(responsePacketMagicHeader!)
|
|
||||||
H3 = \(underloadPacketMagicHeader!)
|
settingsLines.append("H1 = \(initPacketMagicHeader!)")
|
||||||
H4 = \(transportPacketMagicHeader!)
|
settingsLines.append("H2 = \(responsePacketMagicHeader!)")
|
||||||
I1 = \(specialJunk1!)
|
settingsLines.append("H3 = \(underloadPacketMagicHeader!)")
|
||||||
I2 = \(specialJunk2!)
|
settingsLines.append("H4 = \(transportPacketMagicHeader!)")
|
||||||
I3 = \(specialJunk3!)
|
|
||||||
I4 = \(specialJunk4!)
|
// Optional parameters - only add if not nil and not empty
|
||||||
I5 = \(specialJunk5!)
|
if let s3 = cookieReplyPacketJunkSize, !s3.isEmpty {
|
||||||
J1 = \(controlledJunk1!)
|
settingsLines.append("S3 = \(s3)")
|
||||||
J2 = \(controlledJunk2!)
|
}
|
||||||
J3 = \(controlledJunk3!)
|
if let s4 = transportPacketJunkSize, !s4.isEmpty {
|
||||||
Itime = \(specialHandshakeTimeout!)
|
settingsLines.append("S4 = \(s4)")
|
||||||
"""
|
}
|
||||||
|
|
||||||
|
if let i1 = specialJunk1, !i1.isEmpty {
|
||||||
|
settingsLines.append("I1 = \(i1)")
|
||||||
|
}
|
||||||
|
if let i2 = specialJunk2, !i2.isEmpty {
|
||||||
|
settingsLines.append("I2 = \(i2)")
|
||||||
|
}
|
||||||
|
if let i3 = specialJunk3, !i3.isEmpty {
|
||||||
|
settingsLines.append("I3 = \(i3)")
|
||||||
|
}
|
||||||
|
if let i4 = specialJunk4, !i4.isEmpty {
|
||||||
|
settingsLines.append("I4 = \(i4)")
|
||||||
|
}
|
||||||
|
if let i5 = specialJunk5, !i5.isEmpty {
|
||||||
|
settingsLines.append("I5 = \(i5)")
|
||||||
|
}
|
||||||
|
if let j1 = controlledJunk1, !j1.isEmpty {
|
||||||
|
settingsLines.append("J1 = \(j1)")
|
||||||
|
}
|
||||||
|
if let j2 = controlledJunk2, !j2.isEmpty {
|
||||||
|
settingsLines.append("J2 = \(j2)")
|
||||||
|
}
|
||||||
|
if let j3 = controlledJunk3, !j3.isEmpty {
|
||||||
|
settingsLines.append("J3 = \(j3)")
|
||||||
|
}
|
||||||
|
if let itime = specialHandshakeTimeout, !itime.isEmpty {
|
||||||
|
settingsLines.append("Itime = \(itime)")
|
||||||
|
}
|
||||||
|
|
||||||
|
return settingsLines.joined(separator: "\n")
|
||||||
}
|
}
|
||||||
|
|
||||||
var str: String {
|
var str: String {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue