convert fsetstat to setstat in request-server
Handle fsetstat in same was a fstat, by pulling path from stored file
info and processing in that form. Makes handlers simpler while
preserving functionality.
diff --git a/request-server.go b/request-server.go
index 7023ae6..4d9be45 100644
--- a/request-server.go
+++ b/request-server.go
@@ -144,6 +144,18 @@
&sshFxpStatPacket{ID: pkt.id(), Path: request.Filepath})
rpkt = rs.handle(request, pkt)
}
+ case *sshFxpFsetstatPacket:
+ handle := pkt.getHandle()
+ request, ok := rs.getRequest(handle)
+ if !ok {
+ rpkt = statusFromError(pkt, syscall.EBADF)
+ } else {
+ request = requestFromPacket(
+ &sshFxpSetstatPacket{ID: pkt.id(), Path: request.Filepath,
+ Flags: pkt.Flags, Attrs: pkt.Attrs,
+ })
+ rpkt = rs.handle(request, pkt)
+ }
case hasHandle:
handle := pkt.getHandle()
request, ok := rs.getRequest(handle)