diff --git a/src/yggdrasil/awdl.go b/src/yggdrasil/awdl.go index f38d101..a2ec283 100644 --- a/src/yggdrasil/awdl.go +++ b/src/yggdrasil/awdl.go @@ -109,11 +109,12 @@ func (ai *awdlInterface) handler() { timer.Reset(timerInterval) select { case _ = <-timer.C: - send([]byte{'H', 'E', 'L', 'L', 'O'}) + send([]byte{}) case p := <-ai.peer.linkOut: send(p) continue case r := <-ai.fromAWDL: + //_ = append(util.GetBytes(), r...) ai.peer.handlePacket(r) ai.awdl.core.switchTable.idleIn <- ai.peer.port case <-ai.shutdown: diff --git a/src/yggdrasil/mobile.go b/src/yggdrasil/mobile.go index 1c9a84f..2f8a323 100644 --- a/src/yggdrasil/mobile.go +++ b/src/yggdrasil/mobile.go @@ -24,7 +24,8 @@ import ( // therefore we use the "dummy" TUN interface instead. func (c *Core) StartAutoconfigure() error { - logger := log.New(os.Stdout, "", 0) + mobilelog := MobileLogger{} + logger := log.New(mobilelog, "", 0) nc := config.GenerateConfig(true) nc.IfName = "dummy" nc.AdminListen = "tcp://localhost:9001" @@ -43,7 +44,8 @@ func (c *Core) StartAutoconfigure() error { } func (c *Core) StartJSON(configjson []byte) error { - logger := log.New(os.Stdout, "", 0) + mobilelog := MobileLogger{} + logger := log.New(mobilelog, "", 0) nc := config.GenerateConfig(false) var dat map[string]interface{} if err := hjson.Unmarshal(configjson, &dat); err != nil { diff --git a/src/yggdrasil/mobile_ios.go b/src/yggdrasil/mobile_ios.go new file mode 100644 index 0000000..4abc6e9 --- /dev/null +++ b/src/yggdrasil/mobile_ios.go @@ -0,0 +1,25 @@ +// +build mobile,darwin + +package yggdrasil + +/* +#cgo CFLAGS: -x objective-c +#cgo LDFLAGS: -framework Foundation +#import +void Log(const char *text) { + NSString *nss = [NSString stringWithUTF8String:text]; + NSLog(@"%@", nss); +} +*/ +import "C" +import "unsafe" + +type MobileLogger struct { +} + +func (nsl MobileLogger) Write(p []byte) (n int, err error) { + p = append(p, 0) + cstr := (*C.char)(unsafe.Pointer(&p[0])) + C.Log(cstr) + return len(p), nil +} diff --git a/src/yggdrasil/peer.go b/src/yggdrasil/peer.go index a2b94b6..333561e 100644 --- a/src/yggdrasil/peer.go +++ b/src/yggdrasil/peer.go @@ -217,6 +217,7 @@ func (p *peer) handlePacket(packet []byte) { default: util.PutBytes(packet) } + return } // Called to handle traffic or protocolTraffic packets.