don't copy lock
govet pointed out that I was copying a lock when creating/assigning the
connection object. It didn't cause any issues, but was a bad practice.
diff --git a/request-server.go b/request-server.go
index 4d9be45..7a94801 100644
--- a/request-server.go
+++ b/request-server.go
@@ -26,7 +26,7 @@
// RequestServer abstracts the sftp protocol with an http request-like protocol
type RequestServer struct {
- serverConn
+ *serverConn
Handlers Handlers
pktMgr packetManager
openRequests map[string]Request
@@ -37,7 +37,7 @@
// NewRequestServer creates/allocates/returns new RequestServer.
// Normally there there will be one server per user-session.
func NewRequestServer(rwc io.ReadWriteCloser, h Handlers) *RequestServer {
- svrConn := serverConn{
+ svrConn := &serverConn{
conn: conn{
Reader: rwc,
WriteCloser: rwc,
@@ -46,7 +46,7 @@
return &RequestServer{
serverConn: svrConn,
Handlers: h,
- pktMgr: newPktMgr(&svrConn),
+ pktMgr: newPktMgr(svrConn),
openRequests: make(map[string]Request),
}
}
diff --git a/server.go b/server.go
index 2bc1561..db3270a 100644
--- a/server.go
+++ b/server.go
@@ -26,7 +26,7 @@
// This implementation currently supports most of sftp server protocol version 3,
// as specified at http://tools.ietf.org/html/draft-ietf-secsh-filexfer-02
type Server struct {
- serverConn
+ *serverConn
debugStream io.Writer
readOnly bool
pktMgr packetManager
@@ -75,7 +75,7 @@
//
// A subsequent call to Serve() is required to begin serving files over SFTP.
func NewServer(rwc io.ReadWriteCloser, options ...ServerOption) (*Server, error) {
- svrConn := serverConn{
+ svrConn := &serverConn{
conn: conn{
Reader: rwc,
WriteCloser: rwc,
@@ -84,7 +84,7 @@
s := &Server{
serverConn: svrConn,
debugStream: ioutil.Discard,
- pktMgr: newPktMgr(&svrConn),
+ pktMgr: newPktMgr(svrConn),
openFiles: make(map[string]*os.File),
maxTxPacket: 1 << 15,
}