diff --git a/networks/tor/BaseOnionService.go b/networks/tor/BaseOnionService.go index 98ed5ee..fe9c2e5 100644 --- a/networks/tor/BaseOnionService.go +++ b/networks/tor/BaseOnionService.go @@ -106,7 +106,7 @@ func (s *BaseOnionService) Connect(hostname string, app tapir.Application) (bool } log.Debugf("Connected to %v [%v]", hostname, connectionID) - s.connections.Store(connectionID, tapir.NewConnection(s.id, hostname, true, conn, app.NewInstance(), s)) + s.connections.Store(connectionID, tapir.NewConnection(s, s.id, hostname, true, conn, app.NewInstance())) return true, nil } log.Debugf("Error connecting to %v %v", hostname, err) @@ -137,7 +137,7 @@ func (s *BaseOnionService) Listen(app tapir.Application) error { if err == nil { tempHostname := s.getNewConnectionID() log.Debugf("Accepted connection from %v", tempHostname) - s.connections.Store(tempHostname, tapir.NewConnection(s.id, tempHostname, false, conn, app.NewInstance(), s)) + s.connections.Store(tempHostname, tapir.NewConnection(s, s.id, tempHostname, false, conn, app.NewInstance())) } else { log.Debugf("Error accepting connection %v", err) return err diff --git a/persistence/test.dbgi b/persistence/test.dbgi new file mode 100644 index 0000000..040d2d0 Binary files /dev/null and b/persistence/test.dbgi differ diff --git a/service.go b/service.go index 22452b2..4534644 100644 --- a/service.go +++ b/service.go @@ -58,7 +58,7 @@ type connection struct { } // NewConnection creates a new Connection -func NewConnection(id *primitives.Identity, hostname string, outbound bool, conn io.ReadWriteCloser, app Application, service Service) Connection { +func NewConnection(service Service, id *primitives.Identity, hostname string, outbound bool, conn io.ReadWriteCloser, app Application) Connection { connection := new(connection) connection.hostname = hostname connection.conn = conn diff --git a/testing/tapir_malicious_remote_integration_test.go b/testing/tapir_malicious_remote_integration_test.go index 5e4b8cb..e80ab95 100644 --- a/testing/tapir_malicious_remote_integration_test.go +++ b/testing/tapir_malicious_remote_integration_test.go @@ -64,7 +64,7 @@ func TestTapirMaliciousRemote(t *testing.T) { log.Infof("closing ACN...") acn.Close() sg.Wait() - time.Sleep(time.Second * 2) + time.Sleep(time.Second * 5) // wait for goroutines to finish... log.Infof("Number of goroutines open at close: %d", runtime.NumGoroutine()) if numRoutinesStart != runtime.NumGoroutine() { t.Errorf("Potential goroutine leak: Num Start:%v NumEnd: %v", numRoutinesStart, runtime.NumGoroutine())