move SAM into conn
This commit is contained in:
parent
fe7c0dcd5b
commit
3c7fc231c8
2 changed files with 8 additions and 11 deletions
11
conn/conn.go
11
conn/conn.go
|
@ -87,10 +87,13 @@ func (m Conn) Cleanup() error {
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func NewConn(sam sam3.SAM, addr, path string, opts []string) (*Conn, error) {
|
func NewConn(samhost, samport, addr, path string, opts []string) (*Conn, error) {
|
||||||
var c Conn
|
var c Conn
|
||||||
var err error
|
var err error
|
||||||
c.SAM = &sam
|
c.SAM, err = sam3.NewSAM(samhost + ":" + samport)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
c.path = path
|
c.path = path
|
||||||
t32, err := sam3.NewI2PAddrFromString(addr)
|
t32, err := sam3.NewI2PAddrFromString(addr)
|
||||||
c.name = t32.Base32() + ".i2pkeys"
|
c.name = t32.Base32() + ".i2pkeys"
|
||||||
|
@ -98,11 +101,11 @@ func NewConn(sam sam3.SAM, addr, path string, opts []string) (*Conn, error) {
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
c.StreamSession, err = sam.NewStreamSession(c.I2PKeys.Addr().Base32()[0:10]+RandTunName(), c.I2PKeys, opts)
|
c.StreamSession, err = c.SAM.NewStreamSession(c.I2PKeys.Addr().Base32()[0:10]+RandTunName(), c.I2PKeys, opts)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
i2paddr, err := sam.Lookup(addr)
|
i2paddr, err := c.SAM.Lookup(addr)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
|
@ -18,7 +18,6 @@ import (
|
||||||
type Manager struct {
|
type Manager struct {
|
||||||
resolver.Resolver
|
resolver.Resolver
|
||||||
socks5.Config
|
socks5.Config
|
||||||
*sam3.SAM
|
|
||||||
conns []*conn.Conn
|
conns []*conn.Conn
|
||||||
datadir string
|
datadir string
|
||||||
host string
|
host string
|
||||||
|
@ -51,7 +50,7 @@ func (m Manager) DialI2P(ctx context.Context, addr string) (*sam3.SAMConn, error
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
log.Println("Creating a new connection in connection tree.", m.datadir)
|
log.Println("Creating a new connection in connection tree.", m.datadir)
|
||||||
newconn, err := conn.NewConn(*m.SAM, addr, m.datadir, m.samopts)
|
newconn, err := conn.NewConn(m.samhost, m.samport, addr, m.datadir, m.samopts)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
@ -98,11 +97,6 @@ func NewManagerFromOptions(opts ...func(*Manager) error) (*Manager, error) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
log.Println("preparing SAM-multiplexing SOCKS proxy on", m.host, m.port, "->", m.samhost, m.samport)
|
log.Println("preparing SAM-multiplexing SOCKS proxy on", m.host, m.port, "->", m.samhost, m.samport)
|
||||||
var err error
|
|
||||||
m.SAM, err = sam3.NewSAM(m.samhost + ":" + m.samport)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
if r, err := resolver.NewResolver(m.samhost, m.samport); err == nil {
|
if r, err := resolver.NewResolver(m.samhost, m.samport); err == nil {
|
||||||
m.Config = socks5.Config{
|
m.Config = socks5.Config{
|
||||||
Resolver: r,
|
Resolver: r,
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue