improve closeup
This commit is contained in:
parent
179b25e01c
commit
beca8fff5a
7 changed files with 30 additions and 2 deletions
10
conn/conn.go
10
conn/conn.go
|
@ -31,6 +31,16 @@ func (c Conn) Keys() (*sam3.I2PKeys, error) {
|
||||||
return c.SaveKeys()
|
return c.SaveKeys()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (m Conn) Cleanup() error {
|
||||||
|
if err := m.SAMConn.Close(); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
if err := m.StreamSession.Close(); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
func NewConn(sam *sam3.SAM, addr, path string, opts []string) (*Conn, error) {
|
func NewConn(sam *sam3.SAM, addr, path string, opts []string) (*Conn, error) {
|
||||||
var c Conn
|
var c Conn
|
||||||
var err error
|
var err error
|
||||||
|
|
1
conn/conn_options.go
Normal file
1
conn/conn_options.go
Normal file
|
@ -0,0 +1 @@
|
||||||
|
package conn
|
1
conn/conn_test.go
Normal file
1
conn/conn_test.go
Normal file
|
@ -0,0 +1 @@
|
||||||
|
package conn
|
6
main.go
6
main.go
|
@ -2,6 +2,7 @@ package main
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"flag"
|
"flag"
|
||||||
|
"log"
|
||||||
"os"
|
"os"
|
||||||
"os/signal"
|
"os/signal"
|
||||||
"strings"
|
"strings"
|
||||||
|
@ -141,7 +142,9 @@ func main() {
|
||||||
go func() {
|
go func() {
|
||||||
for sig := range c {
|
for sig := range c {
|
||||||
if sig == os.Interrupt {
|
if sig == os.Interrupt {
|
||||||
//tunsocks.Cleanup()
|
if err := tunsocks.Cleanup(); nil {
|
||||||
|
log.Println(err.Error())
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}()
|
}()
|
||||||
|
@ -149,5 +152,4 @@ func main() {
|
||||||
} else {
|
} else {
|
||||||
panic(tunerr)
|
panic(tunerr)
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -33,6 +33,10 @@ func (r Resolver) ResolveI2P(ctx context.Context, name string) (context.Context,
|
||||||
return ctx, &raddr, nil
|
return ctx, &raddr, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (r Resolver) Cleanup() error {
|
||||||
|
return r.SAMResolver.SAM.Close()
|
||||||
|
}
|
||||||
|
|
||||||
func (r Resolver) ValidateI2PAddr(name string) bool {
|
func (r Resolver) ValidateI2PAddr(name string) bool {
|
||||||
noi2p := false
|
noi2p := false
|
||||||
for _, suffix := range r.allowedSuffixes {
|
for _, suffix := range r.allowedSuffixes {
|
||||||
|
|
1
resolve/resolver_test.go
Normal file
1
resolve/resolver_test.go
Normal file
|
@ -0,0 +1 @@
|
||||||
|
package resolver
|
|
@ -53,6 +53,15 @@ func (m Manager) Dial(ctx context.Context, network, addr string) (net.Conn, erro
|
||||||
return m.DialI2P(ctx, addr)
|
return m.DialI2P(ctx, addr)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (m Manager) Cleanup() error {
|
||||||
|
for _, c := range m.conns {
|
||||||
|
if err := c.Cleanup(); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return m.SAM.Close()
|
||||||
|
}
|
||||||
|
|
||||||
func NewManager(samhost, samport, datadir string, samopts []string) (*Manager, error) {
|
func NewManager(samhost, samport, datadir string, samopts []string) (*Manager, error) {
|
||||||
return NewManagerFromOptions(
|
return NewManagerFromOptions(
|
||||||
SetHost(samhost),
|
SetHost(samhost),
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue