{"record":{"id":"8476e5da0e39832d","repo":"shadow1ng/fscan","slug":"not-a-reply","errorCode":null,"errorMessage":"not a reply","messagePattern":"not a reply","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"plugins/services/nfs.go","lineNumber":103,"sourceCode":"\trpcCall := p.buildRPCCall(xid, program, version, 0, nil)\n\trpcFragment := p.wrapRPCFragment(rpcCall)\n\n\tif _, err := conn.Write(rpcFragment); err != nil {\n\t\treturn err\n\t}\n\n\treply, err := readRPCFragment(conn, 512)\n\tif err != nil || len(reply) < 24 {\n\t\treturn fmt.Errorf(\"short response\")\n\t}\n\n\treplyXID := binary.BigEndian.Uint32(reply[0:4])\n\tif replyXID != xid {\n\t\treturn fmt.Errorf(\"xid mismatch\")\n\t}\n\tmsgType := binary.BigEndian.Uint32(reply[4:8])\n\tif msgType != 1 {\n\t\treturn fmt.Errorf(\"not a reply\")\n\t}\n\treturn nil\n}\n\nfunc (p *NFSPlugin) getExports(conn interface {\n\tRead([]byte) (int, error)\n\tWrite([]byte) (int, error)\n}) ([]string, error) {\n\t// Sun RPC call: program=MOUNT(100005), version=3, procedure=EXPORT(5)\n\txid := uint32(0x12345678)\n\trpcCall := p.buildRPCCall(xid, 100005, 3, 5, nil)\n\trpcFragment := p.wrapRPCFragment(rpcCall)\n\n\tif _, err := conn.Write(rpcFragment); err != nil {\n\t\treturn nil, err\n\t}\n\n\treply, err := readRPCFragment(conn, 4096)","sourceCodeStart":85,"sourceCodeEnd":121,"githubUrl":"https://github.com/shadow1ng/fscan/blob/95cc12e753bf43de7004e5aef42a9ffba3934303/plugins/services/nfs.go#L85-L121","documentation":"Guard in rpcNullCall: the reply's message-type field is not 1 (REPLY). The peer answered with a CALL or garbage, meaning the endpoint is not a functioning ONC RPC server for this program/version.","triggerScenarios":"Thrown at plugins/services/nfs.go:103 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Verify the target port serves RPC (use rpcinfo -p remotely)","Check program number and version in the probe","Treat the port as non-RPC and skip further NFS checks"],"exampleFix":null,"handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"95cc12e753bf43de7004e5aef42a9ffba3934303","analyzedAt":"2026-09-06T17:07:30.094Z","contentChangedAt":"2026-09-06T17:07:30.094Z","schemaVersion":2},"datasetVersion":"2026-09-14T00:17:10.932Z"}