No DEBUG_ calls from src/yggdrasil

This commit is contained in:
Neil Alexander 2018-05-24 11:49:40 +01:00
parent eac1c85a62
commit 196a14d8d2
No known key found for this signature in database
GPG key ID: A02A2019A2BB0944
5 changed files with 47 additions and 7 deletions

View file

@ -360,11 +360,11 @@ func (a *admin) addPeer(addr string) error {
if err == nil { if err == nil {
switch strings.ToLower(u.Scheme) { switch strings.ToLower(u.Scheme) {
case "tcp": case "tcp":
a.core.DEBUG_addTCPConn(u.Host) a.core.tcp.connect(u.Host)
case "udp": case "udp":
a.core.DEBUG_maybeSendUDPKeys(u.Host) a.core.udp.connect(u.Host)
case "socks": case "socks":
a.core.DEBUG_addSOCKSConn(u.Host, u.Path[1:]) a.core.tcp.connectSOCKS(u.Host, u.Path[1:])
default: default:
return errors.New("invalid peer: " + addr) return errors.New("invalid peer: " + addr)
} }
@ -372,13 +372,13 @@ func (a *admin) addPeer(addr string) error {
// no url scheme provided // no url scheme provided
addr = strings.ToLower(addr) addr = strings.ToLower(addr)
if strings.HasPrefix(addr, "udp:") { if strings.HasPrefix(addr, "udp:") {
a.core.DEBUG_maybeSendUDPKeys(addr[4:]) a.core.udp.connect(addr[4:])
return nil return nil
} else { } else {
if strings.HasPrefix(addr, "tcp:") { if strings.HasPrefix(addr, "tcp:") {
addr = addr[4:] addr = addr[4:]
} }
a.core.DEBUG_addTCPConn(addr) a.core.tcp.connect(addr)
return nil return nil
} }
return errors.New("invalid peer: " + addr) return errors.New("invalid peer: " + addr)

View file

@ -1,3 +1,5 @@
// +build !linux,!darwin,!windows,!openbsd,!freebsd,!netbsd
package yggdrasil package yggdrasil
// These are functions that should not exist // These are functions that should not exist

View file

@ -152,7 +152,7 @@ func (m *multicast) listen() {
saddr := addr.String() saddr := addr.String()
//if _, isIn := n.peers[saddr]; isIn { continue } //if _, isIn := n.peers[saddr]; isIn { continue }
//n.peers[saddr] = struct{}{} //n.peers[saddr] = struct{}{}
m.core.DEBUG_addTCPConn(saddr) m.core.tcp.connect(saddr)
//fmt.Println("DEBUG:", "added multicast peer:", saddr) //fmt.Println("DEBUG:", "added multicast peer:", saddr)
} }
} }

View file

@ -16,6 +16,7 @@ import "errors"
import "sync" import "sync"
import "fmt" import "fmt"
import "bufio" import "bufio"
import "golang.org/x/net/proxy"
const tcp_msgSize = 2048 + 65535 // TODO figure out what makes sense const tcp_msgSize = 2048 + 65535 // TODO figure out what makes sense
@ -46,6 +47,28 @@ func (iface *tcpInterface) getAddr() *net.TCPAddr {
return iface.serv.Addr().(*net.TCPAddr) return iface.serv.Addr().(*net.TCPAddr)
} }
func (iface *tcpInterface) connect(addr string) {
iface.call(addr)
}
func (iface *tcpInterface) connectSOCKS(socksaddr, peeraddr string) {
go func() {
dialer, err := proxy.SOCKS5("tcp", socksaddr, nil, proxy.Direct)
if err == nil {
conn, err := dialer.Dial("tcp", peeraddr)
if err == nil {
iface.callWithConn(&wrappedConn{
c: conn,
raddr: &wrappedAddr{
network: "tcp",
addr: peeraddr,
},
})
}
}
}()
}
func (iface *tcpInterface) init(core *Core, addr string) (err error) { func (iface *tcpInterface) init(core *Core, addr string) (err error) {
iface.core = core iface.core = core

View file

@ -69,6 +69,21 @@ func (iface *udpInterface) getAddr() *net.UDPAddr {
return iface.sock.LocalAddr().(*net.UDPAddr) return iface.sock.LocalAddr().(*net.UDPAddr)
} }
func (iface *udpInterface) connect(saddr string) {
udpAddr, err := net.ResolveUDPAddr("udp", saddr)
if err != nil {
panic(err)
}
var addr connAddr
addr.fromUDPAddr(udpAddr)
iface.mutex.RLock()
_, isIn := iface.conns[addr]
iface.mutex.RUnlock()
if !isIn {
iface.sendKeys(addr)
}
}
func (iface *udpInterface) init(core *Core, addr string) error { func (iface *udpInterface) init(core *Core, addr string) error {
iface.core = core iface.core = core
udpAddr, err := net.ResolveUDPAddr("udp", addr) udpAddr, err := net.ResolveUDPAddr("udp", addr)