@@ -31,6 +31,15 @@ type ASecConfigType struct {
3131 responsePacketMagicHeader uint32 // h2
3232 underloadPacketMagicHeader uint32 // h3
3333 transportPacketMagicHeader uint32 // h4
34+ i1 * string
35+ i2 * string
36+ i3 * string
37+ i4 * string
38+ i5 * string
39+ j1 * string
40+ j2 * string
41+ j3 * string
42+ itime * int
3443}
3544
3645// DeviceConfig contains the information to initiate a wireguard connection
@@ -188,15 +197,15 @@ func parseCIDRNetIP(section *ini.Section, keyName string) ([]netip.Addr, error)
188197 if len (str ) == 0 {
189198 continue
190199 }
191-
200+
192201 if addr , err := netip .ParseAddr (str ); err == nil {
193202 ips = append (ips , addr )
194203 } else {
195204 prefix , err := netip .ParsePrefix (str )
196205 if err != nil {
197206 return nil , err
198207 }
199-
208+
200209 addr := prefix .Addr ()
201210 ips = append (ips , addr )
202211 }
@@ -420,6 +429,81 @@ func ParseASecConfig(section *ini.Section) (*ASecConfigType, error) {
420429 aSecConfig .transportPacketMagicHeader = uint32 (value )
421430 }
422431
432+ if sectionKey , err := section .GetKey ("I1" ); err == nil {
433+ value := sectionKey .String ()
434+ if aSecConfig == nil {
435+ aSecConfig = & ASecConfigType {}
436+ }
437+ aSecConfig .i1 = & value
438+ }
439+
440+ if sectionKey , err := section .GetKey ("I2" ); err == nil {
441+ value := sectionKey .String ()
442+ if aSecConfig == nil {
443+ aSecConfig = & ASecConfigType {}
444+ }
445+ aSecConfig .i2 = & value
446+ }
447+
448+ if sectionKey , err := section .GetKey ("I3" ); err == nil {
449+ value := sectionKey .String ()
450+ if aSecConfig == nil {
451+ aSecConfig = & ASecConfigType {}
452+ }
453+ aSecConfig .i3 = & value
454+ }
455+
456+ if sectionKey , err := section .GetKey ("I4" ); err == nil {
457+ value := sectionKey .String ()
458+ if aSecConfig == nil {
459+ aSecConfig = & ASecConfigType {}
460+ }
461+ aSecConfig .i4 = & value
462+ }
463+
464+ if sectionKey , err := section .GetKey ("I5" ); err == nil {
465+ value := sectionKey .String ()
466+ if aSecConfig == nil {
467+ aSecConfig = & ASecConfigType {}
468+ }
469+ aSecConfig .i5 = & value
470+ }
471+
472+ if sectionKey , err := section .GetKey ("J1" ); err == nil {
473+ value := sectionKey .String ()
474+ if aSecConfig == nil {
475+ aSecConfig = & ASecConfigType {}
476+ }
477+ aSecConfig .j1 = & value
478+ }
479+
480+ if sectionKey , err := section .GetKey ("J2" ); err == nil {
481+ value := sectionKey .String ()
482+ if aSecConfig == nil {
483+ aSecConfig = & ASecConfigType {}
484+ }
485+ aSecConfig .j2 = & value
486+ }
487+
488+ if sectionKey , err := section .GetKey ("J3" ); err == nil {
489+ value := sectionKey .String ()
490+ if aSecConfig == nil {
491+ aSecConfig = & ASecConfigType {}
492+ }
493+ aSecConfig .j3 = & value
494+ }
495+
496+ if sectionKey , err := section .GetKey ("ITime" ); err == nil {
497+ value , err := sectionKey .Int ()
498+ if err != nil {
499+ return nil , err
500+ }
501+ if aSecConfig == nil {
502+ aSecConfig = & ASecConfigType {}
503+ }
504+ aSecConfig .itime = & value
505+ }
506+
423507 if err := ValidateASecConfig (aSecConfig ); err != nil {
424508 return nil , err
425509 }
0 commit comments