improve closeup

This commit is contained in:
idk 2018-12-25 03:41:51 -05:00
parent 179b25e01c
commit beca8fff5a
No known key found for this signature in database
GPG key ID: D75C03B39B5E14E1
7 changed files with 30 additions and 2 deletions

View file

@ -31,6 +31,16 @@ func (c Conn) Keys() (*sam3.I2PKeys, error) {
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) {
var c Conn
var err error

1
conn/conn_options.go Normal file
View file

@ -0,0 +1 @@
package conn

1
conn/conn_test.go Normal file
View file

@ -0,0 +1 @@
package conn

View file

@ -2,6 +2,7 @@ package main
import (
"flag"
"log"
"os"
"os/signal"
"strings"
@ -141,7 +142,9 @@ func main() {
go func() {
for sig := range c {
if sig == os.Interrupt {
//tunsocks.Cleanup()
if err := tunsocks.Cleanup(); nil {
log.Println(err.Error())
}
}
}
}()
@ -149,5 +152,4 @@ func main() {
} else {
panic(tunerr)
}
}

View file

@ -33,6 +33,10 @@ func (r Resolver) ResolveI2P(ctx context.Context, name string) (context.Context,
return ctx, &raddr, nil
}
func (r Resolver) Cleanup() error {
return r.SAMResolver.SAM.Close()
}
func (r Resolver) ValidateI2PAddr(name string) bool {
noi2p := false
for _, suffix := range r.allowedSuffixes {

1
resolve/resolver_test.go Normal file
View file

@ -0,0 +1 @@
package resolver

View file

@ -53,6 +53,15 @@ func (m Manager) Dial(ctx context.Context, network, addr string) (net.Conn, erro
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) {
return NewManagerFromOptions(
SetHost(samhost),