@jsonjoy.com/json-pack 1.19.0 → 1.21.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/JsonPackMpint.d.ts +8 -0
- package/lib/JsonPackMpint.js +74 -0
- package/lib/JsonPackMpint.js.map +1 -0
- package/lib/json/JsonEncoder.js +9 -3
- package/lib/json/JsonEncoder.js.map +1 -1
- package/lib/nfs/v4/Nfsv4Decoder.d.ts +14 -10
- package/lib/nfs/v4/Nfsv4Decoder.js +156 -74
- package/lib/nfs/v4/Nfsv4Decoder.js.map +1 -1
- package/lib/nfs/v4/Nfsv4Encoder.d.ts +4 -91
- package/lib/nfs/v4/Nfsv4Encoder.js +7 -823
- package/lib/nfs/v4/Nfsv4Encoder.js.map +1 -1
- package/lib/nfs/v4/Nfsv4FullEncoder.d.ts +32 -0
- package/lib/nfs/v4/Nfsv4FullEncoder.js +72 -0
- package/lib/nfs/v4/Nfsv4FullEncoder.js.map +1 -0
- package/lib/nfs/v4/attributes.d.ts +17 -0
- package/lib/nfs/v4/attributes.js +203 -0
- package/lib/nfs/v4/attributes.js.map +1 -0
- package/lib/nfs/v4/builder.d.ts +60 -0
- package/lib/nfs/v4/builder.js +187 -0
- package/lib/nfs/v4/builder.js.map +1 -0
- package/lib/nfs/v4/client/NfsFsDir.d.ts +20 -0
- package/lib/nfs/v4/client/NfsFsDir.js +129 -0
- package/lib/nfs/v4/client/NfsFsDir.js.map +1 -0
- package/lib/nfs/v4/client/NfsFsDirent.d.ts +14 -0
- package/lib/nfs/v4/client/NfsFsDirent.js +32 -0
- package/lib/nfs/v4/client/NfsFsDirent.js.map +1 -0
- package/lib/nfs/v4/client/NfsFsFileHandle.d.ts +34 -0
- package/lib/nfs/v4/client/NfsFsFileHandle.js +268 -0
- package/lib/nfs/v4/client/NfsFsFileHandle.js.map +1 -0
- package/lib/nfs/v4/client/NfsFsStats.d.ts +31 -0
- package/lib/nfs/v4/client/NfsFsStats.js +49 -0
- package/lib/nfs/v4/client/NfsFsStats.js.map +1 -0
- package/lib/nfs/v4/client/Nfsv4FsClient.d.ts +54 -0
- package/lib/nfs/v4/client/Nfsv4FsClient.js +812 -0
- package/lib/nfs/v4/client/Nfsv4FsClient.js.map +1 -0
- package/lib/nfs/v4/client/Nfsv4TcpClient.d.ts +41 -0
- package/lib/nfs/v4/client/Nfsv4TcpClient.js +216 -0
- package/lib/nfs/v4/client/Nfsv4TcpClient.js.map +1 -0
- package/lib/nfs/v4/client/types.d.ts +9 -0
- package/lib/nfs/v4/client/types.js +3 -0
- package/lib/nfs/v4/client/types.js.map +1 -0
- package/lib/nfs/v4/constants.d.ts +3 -0
- package/lib/nfs/v4/constants.js +4 -0
- package/lib/nfs/v4/constants.js.map +1 -1
- package/lib/nfs/v4/format.d.ts +23 -0
- package/lib/nfs/v4/format.js +870 -0
- package/lib/nfs/v4/format.js.map +1 -0
- package/lib/nfs/v4/index.d.ts +3 -1
- package/lib/nfs/v4/index.js +3 -1
- package/lib/nfs/v4/index.js.map +1 -1
- package/lib/nfs/v4/messages.d.ts +208 -90
- package/lib/nfs/v4/messages.js +585 -1
- package/lib/nfs/v4/messages.js.map +1 -1
- package/lib/nfs/v4/server/Nfsv4CompoundProcCtx.d.ts +11 -0
- package/lib/nfs/v4/server/Nfsv4CompoundProcCtx.js +155 -0
- package/lib/nfs/v4/server/Nfsv4CompoundProcCtx.js.map +1 -0
- package/lib/nfs/v4/server/Nfsv4Connection.d.ts +42 -0
- package/lib/nfs/v4/server/Nfsv4Connection.js +160 -0
- package/lib/nfs/v4/server/Nfsv4Connection.js.map +1 -0
- package/lib/nfs/v4/server/Nfsv4TcpServer.d.ts +26 -0
- package/lib/nfs/v4/server/Nfsv4TcpServer.js +91 -0
- package/lib/nfs/v4/server/Nfsv4TcpServer.js.map +1 -0
- package/lib/nfs/v4/server/operations/ByteRangeLock.d.ts +11 -0
- package/lib/nfs/v4/server/operations/ByteRangeLock.js +21 -0
- package/lib/nfs/v4/server/operations/ByteRangeLock.js.map +1 -0
- package/lib/nfs/v4/server/operations/ClientRecord.d.ts +13 -0
- package/lib/nfs/v4/server/operations/ClientRecord.js +17 -0
- package/lib/nfs/v4/server/operations/ClientRecord.js.map +1 -0
- package/lib/nfs/v4/server/operations/FilesystemStats.d.ts +9 -0
- package/lib/nfs/v4/server/operations/FilesystemStats.js +15 -0
- package/lib/nfs/v4/server/operations/FilesystemStats.js.map +1 -0
- package/lib/nfs/v4/server/operations/LockOwnerState.d.ts +9 -0
- package/lib/nfs/v4/server/operations/LockOwnerState.js +15 -0
- package/lib/nfs/v4/server/operations/LockOwnerState.js.map +1 -0
- package/lib/nfs/v4/server/operations/LockStateid.d.ts +10 -0
- package/lib/nfs/v4/server/operations/LockStateid.js +22 -0
- package/lib/nfs/v4/server/operations/LockStateid.js.map +1 -0
- package/lib/nfs/v4/server/operations/Nfsv4Operations.d.ts +44 -0
- package/lib/nfs/v4/server/operations/Nfsv4Operations.js +3 -0
- package/lib/nfs/v4/server/operations/Nfsv4Operations.js.map +1 -0
- package/lib/nfs/v4/server/operations/Nfsv4OperationsNotImpl.d.ts +42 -0
- package/lib/nfs/v4/server/operations/Nfsv4OperationsNotImpl.js +159 -0
- package/lib/nfs/v4/server/operations/Nfsv4OperationsNotImpl.js.map +1 -0
- package/lib/nfs/v4/server/operations/OpenFileState.d.ts +14 -0
- package/lib/nfs/v4/server/operations/OpenFileState.js +17 -0
- package/lib/nfs/v4/server/operations/OpenFileState.js.map +1 -0
- package/lib/nfs/v4/server/operations/OpenOwnerState.d.ts +9 -0
- package/lib/nfs/v4/server/operations/OpenOwnerState.js +15 -0
- package/lib/nfs/v4/server/operations/OpenOwnerState.js.map +1 -0
- package/lib/nfs/v4/server/operations/node/Nfsv4OperationsNode.d.ts +99 -0
- package/lib/nfs/v4/server/operations/node/Nfsv4OperationsNode.js +1400 -0
- package/lib/nfs/v4/server/operations/node/Nfsv4OperationsNode.js.map +1 -0
- package/lib/nfs/v4/server/operations/node/attrs.d.ts +5 -0
- package/lib/nfs/v4/server/operations/node/attrs.js +262 -0
- package/lib/nfs/v4/server/operations/node/attrs.js.map +1 -0
- package/lib/nfs/v4/server/operations/node/fh.d.ts +28 -0
- package/lib/nfs/v4/server/operations/node/fh.js +147 -0
- package/lib/nfs/v4/server/operations/node/fh.js.map +1 -0
- package/lib/nfs/v4/server/operations/node/util.d.ts +4 -0
- package/lib/nfs/v4/server/operations/node/util.js +17 -0
- package/lib/nfs/v4/server/operations/node/util.js.map +1 -0
- package/lib/nfs/v4/server/types.d.ts +4 -0
- package/lib/nfs/v4/server/types.js +3 -0
- package/lib/nfs/v4/server/types.js.map +1 -0
- package/lib/nfs/v4/server/util.d.ts +6 -0
- package/lib/nfs/v4/server/util.js +184 -0
- package/lib/nfs/v4/server/util.js.map +1 -0
- package/lib/nfs/v4/structs.d.ts +106 -51
- package/lib/nfs/v4/structs.js +237 -16
- package/lib/nfs/v4/structs.js.map +1 -1
- package/lib/rm/RmRecordDecoder.js.map +1 -1
- package/lib/rm/RmRecordEncoder.d.ts +2 -0
- package/lib/rm/RmRecordEncoder.js +25 -0
- package/lib/rm/RmRecordEncoder.js.map +1 -1
- package/lib/rpc/RpcMessageDecoder.js +3 -1
- package/lib/rpc/RpcMessageDecoder.js.map +1 -1
- package/lib/ssh/SshDecoder.d.ts +20 -0
- package/lib/ssh/SshDecoder.js +87 -0
- package/lib/ssh/SshDecoder.js.map +1 -0
- package/lib/ssh/SshEncoder.d.ts +27 -0
- package/lib/ssh/SshEncoder.js +144 -0
- package/lib/ssh/SshEncoder.js.map +1 -0
- package/lib/ssh/index.d.ts +2 -0
- package/lib/ssh/index.js +6 -0
- package/lib/ssh/index.js.map +1 -0
- package/lib/xdr/types.d.ts +6 -0
- package/package.json +4 -2
- package/lib/nfs/v4/FullNfsv4Encoder.d.ts +0 -28
- package/lib/nfs/v4/FullNfsv4Encoder.js +0 -73
- package/lib/nfs/v4/FullNfsv4Encoder.js.map +0 -1
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ByteRangeLock = void 0;
|
|
4
|
+
class ByteRangeLock {
|
|
5
|
+
constructor(stateid, path, locktype, offset, length, lockOwnerKey) {
|
|
6
|
+
this.stateid = stateid;
|
|
7
|
+
this.path = path;
|
|
8
|
+
this.locktype = locktype;
|
|
9
|
+
this.offset = offset;
|
|
10
|
+
this.length = length;
|
|
11
|
+
this.lockOwnerKey = lockOwnerKey;
|
|
12
|
+
}
|
|
13
|
+
overlaps(offset, length) {
|
|
14
|
+
const MAX_UINT64 = BigInt('0xFFFFFFFFFFFFFFFF');
|
|
15
|
+
const thisEnd = this.length === MAX_UINT64 ? MAX_UINT64 : this.offset + this.length;
|
|
16
|
+
const otherEnd = length === MAX_UINT64 ? MAX_UINT64 : offset + length;
|
|
17
|
+
return this.offset < otherEnd && offset < thisEnd;
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
exports.ByteRangeLock = ByteRangeLock;
|
|
21
|
+
//# sourceMappingURL=ByteRangeLock.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ByteRangeLock.js","sourceRoot":"","sources":["../../../../../src/nfs/v4/server/operations/ByteRangeLock.ts"],"names":[],"mappings":";;;AAMA,MAAa,aAAa;IACxB,YAKkB,OAA4B,EAM5B,IAAY,EAOZ,QAAgB,EAMhB,MAAc,EAMd,MAAc,EAOd,YAAoB;QAhCpB,YAAO,GAAP,OAAO,CAAqB;QAM5B,SAAI,GAAJ,IAAI,CAAQ;QAOZ,aAAQ,GAAR,QAAQ,CAAQ;QAMhB,WAAM,GAAN,MAAM,CAAQ;QAMd,WAAM,GAAN,MAAM,CAAQ;QAOd,iBAAY,GAAZ,YAAY,CAAQ;IACnC,CAAC;IAQG,QAAQ,CAAC,MAAc,EAAE,MAAc;QAC5C,MAAM,UAAU,GAAG,MAAM,CAAC,oBAAoB,CAAC,CAAC;QAChD,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QACpF,MAAM,QAAQ,GAAG,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,GAAG,MAAM,CAAC;QACtE,OAAO,IAAI,CAAC,MAAM,GAAG,QAAQ,IAAI,MAAM,GAAG,OAAO,CAAC;IACpD,CAAC;CACF;AArDD,sCAqDC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type * as msg from '../../messages';
|
|
2
|
+
import type * as struct from '../../structs';
|
|
3
|
+
export declare class ClientRecord {
|
|
4
|
+
readonly principal: string;
|
|
5
|
+
readonly verifier: Uint8Array;
|
|
6
|
+
readonly clientIdString: Uint8Array;
|
|
7
|
+
readonly callback: struct.Nfsv4CbClient;
|
|
8
|
+
readonly callbackIdent: number;
|
|
9
|
+
readonly setclientidConfirm: Uint8Array;
|
|
10
|
+
cache: msg.Nfsv4SetclientidResponse | undefined;
|
|
11
|
+
lastRenew: number;
|
|
12
|
+
constructor(principal: string, verifier: Uint8Array, clientIdString: Uint8Array, callback: struct.Nfsv4CbClient, callbackIdent: number, setclientidConfirm: Uint8Array, cache?: msg.Nfsv4SetclientidResponse | undefined, lastRenew?: number);
|
|
13
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ClientRecord = void 0;
|
|
4
|
+
class ClientRecord {
|
|
5
|
+
constructor(principal, verifier, clientIdString, callback, callbackIdent, setclientidConfirm, cache = undefined, lastRenew = Date.now()) {
|
|
6
|
+
this.principal = principal;
|
|
7
|
+
this.verifier = verifier;
|
|
8
|
+
this.clientIdString = clientIdString;
|
|
9
|
+
this.callback = callback;
|
|
10
|
+
this.callbackIdent = callbackIdent;
|
|
11
|
+
this.setclientidConfirm = setclientidConfirm;
|
|
12
|
+
this.cache = cache;
|
|
13
|
+
this.lastRenew = lastRenew;
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
exports.ClientRecord = ClientRecord;
|
|
17
|
+
//# sourceMappingURL=ClientRecord.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ClientRecord.js","sourceRoot":"","sources":["../../../../../src/nfs/v4/server/operations/ClientRecord.ts"],"names":[],"mappings":";;;AAIA,MAAa,YAAY;IACvB,YAIkB,SAAiB,EAQjB,QAAoB,EAOpB,cAA0B,EAO1B,QAA8B,EAO9B,aAAqB,EAWrB,kBAA8B,EAQvC,QAAkD,SAAS,EAO3D,YAAoB,IAAI,CAAC,GAAG,EAAE;QAvDrB,cAAS,GAAT,SAAS,CAAQ;QAQjB,aAAQ,GAAR,QAAQ,CAAY;QAOpB,mBAAc,GAAd,cAAc,CAAY;QAO1B,aAAQ,GAAR,QAAQ,CAAsB;QAO9B,kBAAa,GAAb,aAAa,CAAQ;QAWrB,uBAAkB,GAAlB,kBAAkB,CAAY;QAQvC,UAAK,GAAL,KAAK,CAAsD;QAO3D,cAAS,GAAT,SAAS,CAAqB;IACpC,CAAC;CACL;AA9DD,oCA8DC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export declare class FilesystemStats {
|
|
2
|
+
readonly spaceAvail: bigint;
|
|
3
|
+
readonly spaceFree: bigint;
|
|
4
|
+
readonly spaceTotal: bigint;
|
|
5
|
+
readonly filesAvail: bigint;
|
|
6
|
+
readonly filesFree: bigint;
|
|
7
|
+
readonly filesTotal: bigint;
|
|
8
|
+
constructor(spaceAvail: bigint, spaceFree: bigint, spaceTotal: bigint, filesAvail: bigint, filesFree: bigint, filesTotal: bigint);
|
|
9
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.FilesystemStats = void 0;
|
|
4
|
+
class FilesystemStats {
|
|
5
|
+
constructor(spaceAvail, spaceFree, spaceTotal, filesAvail, filesFree, filesTotal) {
|
|
6
|
+
this.spaceAvail = spaceAvail;
|
|
7
|
+
this.spaceFree = spaceFree;
|
|
8
|
+
this.spaceTotal = spaceTotal;
|
|
9
|
+
this.filesAvail = filesAvail;
|
|
10
|
+
this.filesFree = filesFree;
|
|
11
|
+
this.filesTotal = filesTotal;
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
exports.FilesystemStats = FilesystemStats;
|
|
15
|
+
//# sourceMappingURL=FilesystemStats.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FilesystemStats.js","sourceRoot":"","sources":["../../../../../src/nfs/v4/server/operations/FilesystemStats.ts"],"names":[],"mappings":";;;AAGA,MAAa,eAAe;IAC1B,YAEkB,UAAkB,EAElB,SAAiB,EAEjB,UAAkB,EAElB,UAAkB,EAElB,SAAiB,EAEjB,UAAkB;QAVlB,eAAU,GAAV,UAAU,CAAQ;QAElB,cAAS,GAAT,SAAS,CAAQ;QAEjB,eAAU,GAAV,UAAU,CAAQ;QAElB,eAAU,GAAV,UAAU,CAAQ;QAElB,cAAS,GAAT,SAAS,CAAQ;QAEjB,eAAU,GAAV,UAAU,CAAQ;IACjC,CAAC;CACL;AAfD,0CAeC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export declare class LockOwnerState {
|
|
2
|
+
readonly clientid: bigint;
|
|
3
|
+
readonly owner: Uint8Array;
|
|
4
|
+
seqid: number;
|
|
5
|
+
readonly locks: Set<string>;
|
|
6
|
+
lastResponse?: any;
|
|
7
|
+
lastRequestKey?: string | undefined;
|
|
8
|
+
constructor(clientid: bigint, owner: Uint8Array, seqid: number, locks?: Set<string>, lastResponse?: any, lastRequestKey?: string | undefined);
|
|
9
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.LockOwnerState = void 0;
|
|
4
|
+
class LockOwnerState {
|
|
5
|
+
constructor(clientid, owner, seqid, locks = new Set(), lastResponse, lastRequestKey) {
|
|
6
|
+
this.clientid = clientid;
|
|
7
|
+
this.owner = owner;
|
|
8
|
+
this.seqid = seqid;
|
|
9
|
+
this.locks = locks;
|
|
10
|
+
this.lastResponse = lastResponse;
|
|
11
|
+
this.lastRequestKey = lastRequestKey;
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
exports.LockOwnerState = LockOwnerState;
|
|
15
|
+
//# sourceMappingURL=LockOwnerState.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LockOwnerState.js","sourceRoot":"","sources":["../../../../../src/nfs/v4/server/operations/LockOwnerState.ts"],"names":[],"mappings":";;;AAKA,MAAa,cAAc;IACzB,YAKkB,QAAgB,EAOhB,KAAiB,EAQ1B,KAAa,EAOJ,QAAqB,IAAI,GAAG,EAAE,EAQvC,YAAkB,EAOlB,cAAuB;QArCd,aAAQ,GAAR,QAAQ,CAAQ;QAOhB,UAAK,GAAL,KAAK,CAAY;QAQ1B,UAAK,GAAL,KAAK,CAAQ;QAOJ,UAAK,GAAL,KAAK,CAAyB;QAQvC,iBAAY,GAAZ,YAAY,CAAM;QAOlB,mBAAc,GAAd,cAAc,CAAS;IAC7B,CAAC;CACL;AA7CD,wCA6CC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import * as struct from '../../structs';
|
|
2
|
+
export declare class LockStateid {
|
|
3
|
+
readonly other: Uint8Array;
|
|
4
|
+
seqid: number;
|
|
5
|
+
readonly lockOwnerKey: string;
|
|
6
|
+
readonly path: string;
|
|
7
|
+
constructor(other: Uint8Array, seqid: number, lockOwnerKey: string, path: string);
|
|
8
|
+
toStateid(): struct.Nfsv4Stateid;
|
|
9
|
+
incrementAndGetStateid(): struct.Nfsv4Stateid;
|
|
10
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.LockStateid = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const struct = tslib_1.__importStar(require("../../structs"));
|
|
6
|
+
class LockStateid {
|
|
7
|
+
constructor(other, seqid, lockOwnerKey, path) {
|
|
8
|
+
this.other = other;
|
|
9
|
+
this.seqid = seqid;
|
|
10
|
+
this.lockOwnerKey = lockOwnerKey;
|
|
11
|
+
this.path = path;
|
|
12
|
+
}
|
|
13
|
+
toStateid() {
|
|
14
|
+
return new struct.Nfsv4Stateid(this.seqid, this.other);
|
|
15
|
+
}
|
|
16
|
+
incrementAndGetStateid() {
|
|
17
|
+
this.seqid = this.seqid === 0xffffffff ? 1 : this.seqid + 1;
|
|
18
|
+
return this.toStateid();
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
exports.LockStateid = LockStateid;
|
|
22
|
+
//# sourceMappingURL=LockStateid.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LockStateid.js","sourceRoot":"","sources":["../../../../../src/nfs/v4/server/operations/LockStateid.ts"],"names":[],"mappings":";;;;AAAA,8DAAwC;AASxC,MAAa,WAAW;IACtB,YAMkB,KAAiB,EAO1B,KAAa,EAMJ,YAAoB,EAMpB,IAAY;QAnBZ,UAAK,GAAL,KAAK,CAAY;QAO1B,UAAK,GAAL,KAAK,CAAQ;QAMJ,iBAAY,GAAZ,YAAY,CAAQ;QAMpB,SAAI,GAAJ,IAAI,CAAQ;IAC3B,CAAC;IAKJ,SAAS;QACP,OAAO,IAAI,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IACzD,CAAC;IAMD,sBAAsB;QACpB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,KAAK,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;QAC5D,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC;IAC1B,CAAC;CACF;AA5CD,kCA4CC"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import * as msg from '../../messages';
|
|
2
|
+
import type { Nfsv4CompoundProcCtx } from '../Nfsv4CompoundProcCtx';
|
|
3
|
+
export type Nfsv4OperationCtx = Pick<Nfsv4CompoundProcCtx, 'cfh' | 'sfh' | 'req' | 'getPrincipal' | 'connection'>;
|
|
4
|
+
export type Nfsv4OperationFn<Req extends msg.Nfsv4Request, Res extends msg.Nfsv4Response> = (request: Req, ctx: Nfsv4OperationCtx) => Promise<Res>;
|
|
5
|
+
export interface Nfsv4Operations {
|
|
6
|
+
ACCESS: Nfsv4OperationFn<msg.Nfsv4AccessRequest, msg.Nfsv4AccessResponse>;
|
|
7
|
+
CLOSE: Nfsv4OperationFn<msg.Nfsv4CloseRequest, msg.Nfsv4CloseResponse>;
|
|
8
|
+
COMMIT: Nfsv4OperationFn<msg.Nfsv4CommitRequest, msg.Nfsv4CommitResponse>;
|
|
9
|
+
CREATE: Nfsv4OperationFn<msg.Nfsv4CreateRequest, msg.Nfsv4CreateResponse>;
|
|
10
|
+
DELEGPURGE: Nfsv4OperationFn<msg.Nfsv4DelegpurgeRequest, msg.Nfsv4DelegpurgeResponse>;
|
|
11
|
+
DELEGRETURN: Nfsv4OperationFn<msg.Nfsv4DelegreturnRequest, msg.Nfsv4DelegreturnResponse>;
|
|
12
|
+
GETATTR: Nfsv4OperationFn<msg.Nfsv4GetattrRequest, msg.Nfsv4GetattrResponse>;
|
|
13
|
+
GETFH: Nfsv4OperationFn<msg.Nfsv4GetfhRequest, msg.Nfsv4GetfhResponse>;
|
|
14
|
+
LINK: Nfsv4OperationFn<msg.Nfsv4LinkRequest, msg.Nfsv4LinkResponse>;
|
|
15
|
+
LOCK: Nfsv4OperationFn<msg.Nfsv4LockRequest, msg.Nfsv4LockResponse>;
|
|
16
|
+
LOCKT: Nfsv4OperationFn<msg.Nfsv4LocktRequest, msg.Nfsv4LocktResponse>;
|
|
17
|
+
LOCKU: Nfsv4OperationFn<msg.Nfsv4LockuRequest, msg.Nfsv4LockuResponse>;
|
|
18
|
+
LOOKUP: Nfsv4OperationFn<msg.Nfsv4LookupRequest, msg.Nfsv4LookupResponse>;
|
|
19
|
+
LOOKUPP: Nfsv4OperationFn<msg.Nfsv4LookuppRequest, msg.Nfsv4LookuppResponse>;
|
|
20
|
+
NVERIFY: Nfsv4OperationFn<msg.Nfsv4NverifyRequest, msg.Nfsv4NverifyResponse>;
|
|
21
|
+
OPEN: Nfsv4OperationFn<msg.Nfsv4OpenRequest, msg.Nfsv4OpenResponse>;
|
|
22
|
+
OPENATTR: Nfsv4OperationFn<msg.Nfsv4OpenattrRequest, msg.Nfsv4OpenattrResponse>;
|
|
23
|
+
OPEN_CONFIRM: Nfsv4OperationFn<msg.Nfsv4OpenConfirmRequest, msg.Nfsv4OpenConfirmResponse>;
|
|
24
|
+
OPEN_DOWNGRADE: Nfsv4OperationFn<msg.Nfsv4OpenDowngradeRequest, msg.Nfsv4OpenDowngradeResponse>;
|
|
25
|
+
PUTFH: Nfsv4OperationFn<msg.Nfsv4PutfhRequest, msg.Nfsv4PutfhResponse>;
|
|
26
|
+
PUTPUBFH: Nfsv4OperationFn<msg.Nfsv4PutpubfhRequest, msg.Nfsv4PutpubfhResponse>;
|
|
27
|
+
PUTROOTFH: Nfsv4OperationFn<msg.Nfsv4PutrootfhRequest, msg.Nfsv4PutrootfhResponse>;
|
|
28
|
+
READ: Nfsv4OperationFn<msg.Nfsv4ReadRequest, msg.Nfsv4ReadResponse>;
|
|
29
|
+
READDIR: Nfsv4OperationFn<msg.Nfsv4ReaddirRequest, msg.Nfsv4ReaddirResponse>;
|
|
30
|
+
READLINK: Nfsv4OperationFn<msg.Nfsv4ReadlinkRequest, msg.Nfsv4ReadlinkResponse>;
|
|
31
|
+
REMOVE: Nfsv4OperationFn<msg.Nfsv4RemoveRequest, msg.Nfsv4RemoveResponse>;
|
|
32
|
+
RENAME: Nfsv4OperationFn<msg.Nfsv4RenameRequest, msg.Nfsv4RenameResponse>;
|
|
33
|
+
RENEW: Nfsv4OperationFn<msg.Nfsv4RenewRequest, msg.Nfsv4RenewResponse>;
|
|
34
|
+
RESTOREFH: Nfsv4OperationFn<msg.Nfsv4RestorefhRequest, msg.Nfsv4RestorefhResponse>;
|
|
35
|
+
SAVEFH: Nfsv4OperationFn<msg.Nfsv4SavefhRequest, msg.Nfsv4SavefhResponse>;
|
|
36
|
+
SECINFO: Nfsv4OperationFn<msg.Nfsv4SecinfoRequest, msg.Nfsv4SecinfoResponse>;
|
|
37
|
+
SETATTR: Nfsv4OperationFn<msg.Nfsv4SetattrRequest, msg.Nfsv4SetattrResponse>;
|
|
38
|
+
SETCLIENTID: Nfsv4OperationFn<msg.Nfsv4SetclientidRequest, msg.Nfsv4SetclientidResponse>;
|
|
39
|
+
SETCLIENTID_CONFIRM: Nfsv4OperationFn<msg.Nfsv4SetclientidConfirmRequest, msg.Nfsv4SetclientidConfirmResponse>;
|
|
40
|
+
VERIFY: Nfsv4OperationFn<msg.Nfsv4VerifyRequest, msg.Nfsv4VerifyResponse>;
|
|
41
|
+
WRITE: Nfsv4OperationFn<msg.Nfsv4WriteRequest, msg.Nfsv4WriteResponse>;
|
|
42
|
+
RELEASE_LOCKOWNER: Nfsv4OperationFn<msg.Nfsv4ReleaseLockOwnerRequest, msg.Nfsv4ReleaseLockOwnerResponse>;
|
|
43
|
+
ILLEGAL: Nfsv4OperationFn<msg.Nfsv4IllegalRequest, msg.Nfsv4IllegalResponse>;
|
|
44
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Nfsv4Operations.js","sourceRoot":"","sources":["../../../../../src/nfs/v4/server/operations/Nfsv4Operations.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import * as msg from '../../messages';
|
|
2
|
+
import { Nfsv4OperationCtx, Nfsv4Operations } from './Nfsv4Operations';
|
|
3
|
+
export declare class Nfsv4OperationsNotImpl implements Nfsv4Operations {
|
|
4
|
+
ACCESS(request: msg.Nfsv4AccessRequest, ctx: Nfsv4OperationCtx): Promise<msg.Nfsv4AccessResponse>;
|
|
5
|
+
CLOSE(request: msg.Nfsv4CloseRequest, ctx: Nfsv4OperationCtx): Promise<msg.Nfsv4CloseResponse>;
|
|
6
|
+
COMMIT(request: msg.Nfsv4CommitRequest, ctx: Nfsv4OperationCtx): Promise<msg.Nfsv4CommitResponse>;
|
|
7
|
+
CREATE(request: msg.Nfsv4CreateRequest, ctx: Nfsv4OperationCtx): Promise<msg.Nfsv4CreateResponse>;
|
|
8
|
+
DELEGPURGE(request: msg.Nfsv4DelegpurgeRequest, ctx: Nfsv4OperationCtx): Promise<msg.Nfsv4DelegpurgeResponse>;
|
|
9
|
+
DELEGRETURN(request: msg.Nfsv4DelegreturnRequest, ctx: Nfsv4OperationCtx): Promise<msg.Nfsv4DelegreturnResponse>;
|
|
10
|
+
GETATTR(request: msg.Nfsv4GetattrRequest, ctx: Nfsv4OperationCtx): Promise<msg.Nfsv4GetattrResponse>;
|
|
11
|
+
GETFH(request: msg.Nfsv4GetfhRequest, ctx: Nfsv4OperationCtx): Promise<msg.Nfsv4GetfhResponse>;
|
|
12
|
+
LINK(request: msg.Nfsv4LinkRequest, ctx: Nfsv4OperationCtx): Promise<msg.Nfsv4LinkResponse>;
|
|
13
|
+
LOCK(request: msg.Nfsv4LockRequest, ctx: Nfsv4OperationCtx): Promise<msg.Nfsv4LockResponse>;
|
|
14
|
+
LOCKT(request: msg.Nfsv4LocktRequest, ctx: Nfsv4OperationCtx): Promise<msg.Nfsv4LocktResponse>;
|
|
15
|
+
LOCKU(request: msg.Nfsv4LockuRequest, ctx: Nfsv4OperationCtx): Promise<msg.Nfsv4LockuResponse>;
|
|
16
|
+
LOOKUP(request: msg.Nfsv4LookupRequest, ctx: Nfsv4OperationCtx): Promise<msg.Nfsv4LookupResponse>;
|
|
17
|
+
LOOKUPP(request: msg.Nfsv4LookuppRequest, ctx: Nfsv4OperationCtx): Promise<msg.Nfsv4LookuppResponse>;
|
|
18
|
+
NVERIFY(request: msg.Nfsv4NverifyRequest, ctx: Nfsv4OperationCtx): Promise<msg.Nfsv4NverifyResponse>;
|
|
19
|
+
OPEN(request: msg.Nfsv4OpenRequest, ctx: Nfsv4OperationCtx): Promise<msg.Nfsv4OpenResponse>;
|
|
20
|
+
OPENATTR(request: msg.Nfsv4OpenattrRequest, ctx: Nfsv4OperationCtx): Promise<msg.Nfsv4OpenattrResponse>;
|
|
21
|
+
OPEN_CONFIRM(request: msg.Nfsv4OpenConfirmRequest, ctx: Nfsv4OperationCtx): Promise<msg.Nfsv4OpenConfirmResponse>;
|
|
22
|
+
OPEN_DOWNGRADE(request: msg.Nfsv4OpenDowngradeRequest, ctx: Nfsv4OperationCtx): Promise<msg.Nfsv4OpenDowngradeResponse>;
|
|
23
|
+
PUTFH(request: msg.Nfsv4PutfhRequest, ctx: Nfsv4OperationCtx): Promise<msg.Nfsv4PutfhResponse>;
|
|
24
|
+
PUTPUBFH(request: msg.Nfsv4PutpubfhRequest, ctx: Nfsv4OperationCtx): Promise<msg.Nfsv4PutpubfhResponse>;
|
|
25
|
+
PUTROOTFH(request: msg.Nfsv4PutrootfhRequest, ctx: Nfsv4OperationCtx): Promise<msg.Nfsv4PutrootfhResponse>;
|
|
26
|
+
READ(request: msg.Nfsv4ReadRequest, ctx: Nfsv4OperationCtx): Promise<msg.Nfsv4ReadResponse>;
|
|
27
|
+
READDIR(request: msg.Nfsv4ReaddirRequest, ctx: Nfsv4OperationCtx): Promise<msg.Nfsv4ReaddirResponse>;
|
|
28
|
+
READLINK(request: msg.Nfsv4ReadlinkRequest, ctx: Nfsv4OperationCtx): Promise<msg.Nfsv4ReadlinkResponse>;
|
|
29
|
+
REMOVE(request: msg.Nfsv4RemoveRequest, ctx: Nfsv4OperationCtx): Promise<msg.Nfsv4RemoveResponse>;
|
|
30
|
+
RENAME(request: msg.Nfsv4RenameRequest, ctx: Nfsv4OperationCtx): Promise<msg.Nfsv4RenameResponse>;
|
|
31
|
+
RENEW(request: msg.Nfsv4RenewRequest, ctx: Nfsv4OperationCtx): Promise<msg.Nfsv4RenewResponse>;
|
|
32
|
+
RESTOREFH(request: msg.Nfsv4RestorefhRequest, ctx: Nfsv4OperationCtx): Promise<msg.Nfsv4RestorefhResponse>;
|
|
33
|
+
SAVEFH(request: msg.Nfsv4SavefhRequest, ctx: Nfsv4OperationCtx): Promise<msg.Nfsv4SavefhResponse>;
|
|
34
|
+
SECINFO(request: msg.Nfsv4SecinfoRequest, ctx: Nfsv4OperationCtx): Promise<msg.Nfsv4SecinfoResponse>;
|
|
35
|
+
SETATTR(request: msg.Nfsv4SetattrRequest, ctx: Nfsv4OperationCtx): Promise<msg.Nfsv4SetattrResponse>;
|
|
36
|
+
SETCLIENTID(request: msg.Nfsv4SetclientidRequest, ctx: Nfsv4OperationCtx): Promise<msg.Nfsv4SetclientidResponse>;
|
|
37
|
+
SETCLIENTID_CONFIRM(request: msg.Nfsv4SetclientidConfirmRequest, ctx: Nfsv4OperationCtx): Promise<msg.Nfsv4SetclientidConfirmResponse>;
|
|
38
|
+
VERIFY(request: msg.Nfsv4VerifyRequest, ctx: Nfsv4OperationCtx): Promise<msg.Nfsv4VerifyResponse>;
|
|
39
|
+
WRITE(request: msg.Nfsv4WriteRequest, ctx: Nfsv4OperationCtx): Promise<msg.Nfsv4WriteResponse>;
|
|
40
|
+
RELEASE_LOCKOWNER(request: msg.Nfsv4ReleaseLockOwnerRequest, ctx: Nfsv4OperationCtx): Promise<msg.Nfsv4ReleaseLockOwnerResponse>;
|
|
41
|
+
ILLEGAL(request: msg.Nfsv4IllegalRequest, ctx: Nfsv4OperationCtx): Promise<msg.Nfsv4IllegalResponse>;
|
|
42
|
+
}
|
|
@@ -0,0 +1,159 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Nfsv4OperationsNotImpl = void 0;
|
|
4
|
+
class Nfsv4OperationsNotImpl {
|
|
5
|
+
async ACCESS(request, ctx) {
|
|
6
|
+
ctx.connection.logger.log('ACCESS', request);
|
|
7
|
+
throw new Error('Not implemented');
|
|
8
|
+
}
|
|
9
|
+
async CLOSE(request, ctx) {
|
|
10
|
+
ctx.connection.logger.log('CLOSE', request);
|
|
11
|
+
throw new Error('Not implemented');
|
|
12
|
+
}
|
|
13
|
+
async COMMIT(request, ctx) {
|
|
14
|
+
ctx.connection.logger.log('COMMIT', request);
|
|
15
|
+
throw new Error('Not implemented');
|
|
16
|
+
}
|
|
17
|
+
async CREATE(request, ctx) {
|
|
18
|
+
ctx.connection.logger.log('CREATE', request);
|
|
19
|
+
throw new Error('Not implemented');
|
|
20
|
+
}
|
|
21
|
+
async DELEGPURGE(request, ctx) {
|
|
22
|
+
ctx.connection.logger.log('DELEGPURGE', request);
|
|
23
|
+
throw new Error('Not implemented');
|
|
24
|
+
}
|
|
25
|
+
async DELEGRETURN(request, ctx) {
|
|
26
|
+
ctx.connection.logger.log('DELEGRETURN', request);
|
|
27
|
+
throw new Error('Not implemented');
|
|
28
|
+
}
|
|
29
|
+
async GETATTR(request, ctx) {
|
|
30
|
+
ctx.connection.logger.log('GETATTR', request);
|
|
31
|
+
throw new Error('Not implemented');
|
|
32
|
+
}
|
|
33
|
+
async GETFH(request, ctx) {
|
|
34
|
+
ctx.connection.logger.log('GETFH', request);
|
|
35
|
+
throw new Error('Not implemented');
|
|
36
|
+
}
|
|
37
|
+
async LINK(request, ctx) {
|
|
38
|
+
ctx.connection.logger.log('LINK', request);
|
|
39
|
+
throw new Error('Not implemented');
|
|
40
|
+
}
|
|
41
|
+
async LOCK(request, ctx) {
|
|
42
|
+
ctx.connection.logger.log('LOCK', request);
|
|
43
|
+
throw new Error('Not implemented');
|
|
44
|
+
}
|
|
45
|
+
async LOCKT(request, ctx) {
|
|
46
|
+
ctx.connection.logger.log('LOCKT', request);
|
|
47
|
+
throw new Error('Not implemented');
|
|
48
|
+
}
|
|
49
|
+
async LOCKU(request, ctx) {
|
|
50
|
+
ctx.connection.logger.log('LOCKU', request);
|
|
51
|
+
throw new Error('Not implemented');
|
|
52
|
+
}
|
|
53
|
+
async LOOKUP(request, ctx) {
|
|
54
|
+
ctx.connection.logger.log('LOOKUP', request);
|
|
55
|
+
throw new Error('Not implemented');
|
|
56
|
+
}
|
|
57
|
+
async LOOKUPP(request, ctx) {
|
|
58
|
+
ctx.connection.logger.log('LOOKUPP', request);
|
|
59
|
+
throw new Error('Not implemented');
|
|
60
|
+
}
|
|
61
|
+
async NVERIFY(request, ctx) {
|
|
62
|
+
ctx.connection.logger.log('NVERIFY', request);
|
|
63
|
+
throw new Error('Not implemented');
|
|
64
|
+
}
|
|
65
|
+
async OPEN(request, ctx) {
|
|
66
|
+
ctx.connection.logger.log('OPEN', request);
|
|
67
|
+
throw new Error('Not implemented');
|
|
68
|
+
}
|
|
69
|
+
async OPENATTR(request, ctx) {
|
|
70
|
+
ctx.connection.logger.log('OPENATTR', request);
|
|
71
|
+
throw new Error('Not implemented');
|
|
72
|
+
}
|
|
73
|
+
async OPEN_CONFIRM(request, ctx) {
|
|
74
|
+
ctx.connection.logger.log('OPEN_CONFIRM', request);
|
|
75
|
+
throw new Error('Not implemented');
|
|
76
|
+
}
|
|
77
|
+
async OPEN_DOWNGRADE(request, ctx) {
|
|
78
|
+
ctx.connection.logger.log('OPEN_DOWNGRADE', request);
|
|
79
|
+
throw new Error('Not implemented');
|
|
80
|
+
}
|
|
81
|
+
async PUTFH(request, ctx) {
|
|
82
|
+
ctx.connection.logger.log('PUTFH', request);
|
|
83
|
+
throw new Error('Not implemented');
|
|
84
|
+
}
|
|
85
|
+
async PUTPUBFH(request, ctx) {
|
|
86
|
+
ctx.connection.logger.log('PUTPUBFH', request);
|
|
87
|
+
throw new Error('Not implemented');
|
|
88
|
+
}
|
|
89
|
+
async PUTROOTFH(request, ctx) {
|
|
90
|
+
ctx.connection.logger.log('PUTROOTFH', request);
|
|
91
|
+
throw new Error('Not implemented');
|
|
92
|
+
}
|
|
93
|
+
async READ(request, ctx) {
|
|
94
|
+
ctx.connection.logger.log('READ', request);
|
|
95
|
+
throw new Error('Not implemented');
|
|
96
|
+
}
|
|
97
|
+
async READDIR(request, ctx) {
|
|
98
|
+
ctx.connection.logger.log('READDIR', request);
|
|
99
|
+
throw new Error('Not implemented');
|
|
100
|
+
}
|
|
101
|
+
async READLINK(request, ctx) {
|
|
102
|
+
ctx.connection.logger.log('READLINK', request);
|
|
103
|
+
throw new Error('Not implemented');
|
|
104
|
+
}
|
|
105
|
+
async REMOVE(request, ctx) {
|
|
106
|
+
ctx.connection.logger.log('REMOVE', request);
|
|
107
|
+
throw new Error('Not implemented');
|
|
108
|
+
}
|
|
109
|
+
async RENAME(request, ctx) {
|
|
110
|
+
ctx.connection.logger.log('RENAME', request);
|
|
111
|
+
throw new Error('Not implemented');
|
|
112
|
+
}
|
|
113
|
+
async RENEW(request, ctx) {
|
|
114
|
+
ctx.connection.logger.log('RENEW', request);
|
|
115
|
+
throw new Error('Not implemented');
|
|
116
|
+
}
|
|
117
|
+
async RESTOREFH(request, ctx) {
|
|
118
|
+
ctx.connection.logger.log('RESTOREFH', request);
|
|
119
|
+
throw new Error('Not implemented');
|
|
120
|
+
}
|
|
121
|
+
async SAVEFH(request, ctx) {
|
|
122
|
+
ctx.connection.logger.log('SAVEFH', request);
|
|
123
|
+
throw new Error('Not implemented');
|
|
124
|
+
}
|
|
125
|
+
async SECINFO(request, ctx) {
|
|
126
|
+
ctx.connection.logger.log('SECINFO', request);
|
|
127
|
+
throw new Error('Not implemented');
|
|
128
|
+
}
|
|
129
|
+
async SETATTR(request, ctx) {
|
|
130
|
+
ctx.connection.logger.log('SETATTR', request);
|
|
131
|
+
throw new Error('Not implemented');
|
|
132
|
+
}
|
|
133
|
+
async SETCLIENTID(request, ctx) {
|
|
134
|
+
ctx.connection.logger.log('SETCLIENTID', request);
|
|
135
|
+
throw new Error('Not implemented');
|
|
136
|
+
}
|
|
137
|
+
async SETCLIENTID_CONFIRM(request, ctx) {
|
|
138
|
+
ctx.connection.logger.log('SETCLIENTID_CONFIRM', request);
|
|
139
|
+
throw new Error('Not implemented');
|
|
140
|
+
}
|
|
141
|
+
async VERIFY(request, ctx) {
|
|
142
|
+
ctx.connection.logger.log('VERIFY', request);
|
|
143
|
+
throw new Error('Not implemented');
|
|
144
|
+
}
|
|
145
|
+
async WRITE(request, ctx) {
|
|
146
|
+
ctx.connection.logger.log('WRITE', request);
|
|
147
|
+
throw new Error('Not implemented');
|
|
148
|
+
}
|
|
149
|
+
async RELEASE_LOCKOWNER(request, ctx) {
|
|
150
|
+
ctx.connection.logger.log('RELEASE_LOCKOWNER', request);
|
|
151
|
+
throw new Error('Not implemented');
|
|
152
|
+
}
|
|
153
|
+
async ILLEGAL(request, ctx) {
|
|
154
|
+
ctx.connection.logger.log('ILLEGAL', request);
|
|
155
|
+
throw new Error('Not implemented');
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
exports.Nfsv4OperationsNotImpl = Nfsv4OperationsNotImpl;
|
|
159
|
+
//# sourceMappingURL=Nfsv4OperationsNotImpl.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Nfsv4OperationsNotImpl.js","sourceRoot":"","sources":["../../../../../src/nfs/v4/server/operations/Nfsv4OperationsNotImpl.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
import type * as struct from '../../structs';
|
|
3
|
+
import type { FileHandle } from 'node:fs/promises';
|
|
4
|
+
export declare class OpenFileState {
|
|
5
|
+
readonly stateid: struct.Nfsv4Stateid;
|
|
6
|
+
readonly path: string;
|
|
7
|
+
readonly fd: FileHandle;
|
|
8
|
+
shareAccess: number;
|
|
9
|
+
shareDeny: number;
|
|
10
|
+
readonly openOwnerKey: string;
|
|
11
|
+
seqid: number;
|
|
12
|
+
confirmed: boolean;
|
|
13
|
+
constructor(stateid: struct.Nfsv4Stateid, path: string, fd: FileHandle, shareAccess: number, shareDeny: number, openOwnerKey: string, seqid: number, confirmed: boolean);
|
|
14
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.OpenFileState = void 0;
|
|
4
|
+
class OpenFileState {
|
|
5
|
+
constructor(stateid, path, fd, shareAccess, shareDeny, openOwnerKey, seqid, confirmed) {
|
|
6
|
+
this.stateid = stateid;
|
|
7
|
+
this.path = path;
|
|
8
|
+
this.fd = fd;
|
|
9
|
+
this.shareAccess = shareAccess;
|
|
10
|
+
this.shareDeny = shareDeny;
|
|
11
|
+
this.openOwnerKey = openOwnerKey;
|
|
12
|
+
this.seqid = seqid;
|
|
13
|
+
this.confirmed = confirmed;
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
exports.OpenFileState = OpenFileState;
|
|
17
|
+
//# sourceMappingURL=OpenFileState.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OpenFileState.js","sourceRoot":"","sources":["../../../../../src/nfs/v4/server/operations/OpenFileState.ts"],"names":[],"mappings":";;;AAQA,MAAa,aAAa;IACxB,YAMkB,OAA4B,EAM5B,IAAY,EAMZ,EAAc,EAOvB,WAAmB,EAOnB,SAAiB,EAOR,YAAoB,EAO7B,KAAa,EAOb,SAAkB;QA/CT,YAAO,GAAP,OAAO,CAAqB;QAM5B,SAAI,GAAJ,IAAI,CAAQ;QAMZ,OAAE,GAAF,EAAE,CAAY;QAOvB,gBAAW,GAAX,WAAW,CAAQ;QAOnB,cAAS,GAAT,SAAS,CAAQ;QAOR,iBAAY,GAAZ,YAAY,CAAQ;QAO7B,UAAK,GAAL,KAAK,CAAQ;QAOb,cAAS,GAAT,SAAS,CAAS;IACxB,CAAC;CACL;AAxDD,sCAwDC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export declare class OpenOwnerState {
|
|
2
|
+
readonly clientid: bigint;
|
|
3
|
+
readonly owner: Uint8Array;
|
|
4
|
+
seqid: number;
|
|
5
|
+
readonly opens: Set<string>;
|
|
6
|
+
lastResponse?: any;
|
|
7
|
+
lastRequestKey?: string | undefined;
|
|
8
|
+
constructor(clientid: bigint, owner: Uint8Array, seqid: number, opens?: Set<string>, lastResponse?: any, lastRequestKey?: string | undefined);
|
|
9
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.OpenOwnerState = void 0;
|
|
4
|
+
class OpenOwnerState {
|
|
5
|
+
constructor(clientid, owner, seqid, opens = new Set(), lastResponse, lastRequestKey) {
|
|
6
|
+
this.clientid = clientid;
|
|
7
|
+
this.owner = owner;
|
|
8
|
+
this.seqid = seqid;
|
|
9
|
+
this.opens = opens;
|
|
10
|
+
this.lastResponse = lastResponse;
|
|
11
|
+
this.lastRequestKey = lastRequestKey;
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
exports.OpenOwnerState = OpenOwnerState;
|
|
15
|
+
//# sourceMappingURL=OpenOwnerState.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OpenOwnerState.js","sourceRoot":"","sources":["../../../../../src/nfs/v4/server/operations/OpenOwnerState.ts"],"names":[],"mappings":";;;AAMA,MAAa,cAAc;IACzB,YAKkB,QAAgB,EAOhB,KAAiB,EAQ1B,KAAa,EAOJ,QAAqB,IAAI,GAAG,EAAE,EAQvC,YAAkB,EAOlB,cAAuB;QArCd,aAAQ,GAAR,QAAQ,CAAQ;QAOhB,UAAK,GAAL,KAAK,CAAY;QAQ1B,UAAK,GAAL,KAAK,CAAQ;QAOJ,UAAK,GAAL,KAAK,CAAyB;QAQvC,iBAAY,GAAZ,YAAY,CAAM;QAOlB,mBAAc,GAAd,cAAc,CAAS;IAC7B,CAAC;CACL;AA7CD,wCA6CC"}
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
import { Nfsv4OperationCtx, Nfsv4Operations } from '../Nfsv4Operations';
|
|
3
|
+
import * as msg from '../../../messages';
|
|
4
|
+
import * as struct from '../../../structs';
|
|
5
|
+
import { ClientRecord } from '../ClientRecord';
|
|
6
|
+
import { OpenFileState } from '../OpenFileState';
|
|
7
|
+
import { OpenOwnerState } from '../OpenOwnerState';
|
|
8
|
+
import { LockOwnerState } from '../LockOwnerState';
|
|
9
|
+
import { ByteRangeLock } from '../ByteRangeLock';
|
|
10
|
+
import { LockStateid } from '../LockStateid';
|
|
11
|
+
import { FilesystemStats } from '../FilesystemStats';
|
|
12
|
+
import { FileHandleMapper } from './fh';
|
|
13
|
+
export interface Nfsv4OperationsNodeOpts {
|
|
14
|
+
fs: typeof import('node:fs');
|
|
15
|
+
dir: string;
|
|
16
|
+
maxClients?: number;
|
|
17
|
+
maxPendingClients?: number;
|
|
18
|
+
fsStats?: () => Promise<FilesystemStats>;
|
|
19
|
+
}
|
|
20
|
+
export declare class Nfsv4OperationsNode implements Nfsv4Operations {
|
|
21
|
+
protected readonly fs: typeof import('node:fs');
|
|
22
|
+
protected readonly promises: (typeof import('node:fs'))['promises'];
|
|
23
|
+
protected dir: string;
|
|
24
|
+
protected readonly leaseTime: number;
|
|
25
|
+
protected clients: Map<bigint, ClientRecord>;
|
|
26
|
+
protected pendingClients: Map<bigint, ClientRecord>;
|
|
27
|
+
protected maxClients: number;
|
|
28
|
+
protected maxPendingClients: number;
|
|
29
|
+
protected nextClientId: bigint;
|
|
30
|
+
protected bootStamp: number;
|
|
31
|
+
protected readonly fh: FileHandleMapper;
|
|
32
|
+
protected nextStateidSeqid: number;
|
|
33
|
+
protected openFiles: Map<string, OpenFileState>;
|
|
34
|
+
protected openOwners: Map<string, OpenOwnerState>;
|
|
35
|
+
protected locks: Map<string, ByteRangeLock>;
|
|
36
|
+
protected lockOwners: Map<string, LockOwnerState>;
|
|
37
|
+
protected lockStateids: Map<string, LockStateid>;
|
|
38
|
+
protected changeCounter: bigint;
|
|
39
|
+
protected fsStats: () => Promise<FilesystemStats>;
|
|
40
|
+
constructor(opts: Nfsv4OperationsNodeOpts);
|
|
41
|
+
protected defaultFsStats: () => Promise<FilesystemStats>;
|
|
42
|
+
protected findClientByIdString(map: Map<bigint, ClientRecord>, clientIdString: Uint8Array): [bigint, ClientRecord] | undefined;
|
|
43
|
+
protected enforceClientLimit(): void;
|
|
44
|
+
protected enforcePendingClientLimit(): void;
|
|
45
|
+
protected makeOpenOwnerKey(clientid: bigint, owner: Uint8Array): string;
|
|
46
|
+
protected validateSeqid(requestSeqid: number, ownerSeqid: number): 'valid' | 'replay' | 'invalid';
|
|
47
|
+
protected renewClientLease(clientid: bigint): void;
|
|
48
|
+
protected makeStateidKey(stateid: struct.Nfsv4Stateid): string;
|
|
49
|
+
protected createStateid(): struct.Nfsv4Stateid;
|
|
50
|
+
protected canAccessFile(path: string, shareAccess: number, shareDeny: number): boolean;
|
|
51
|
+
protected makeLockOwnerKey(clientid: bigint, owner: Uint8Array): string;
|
|
52
|
+
protected makeOpenRequestKey(ownerKey: string, currentPath: string, request: msg.Nfsv4OpenRequest): string;
|
|
53
|
+
protected makeLockRequestKey(lockOwnerKey: string, filePath: string, locktype: number, offset: bigint, length: bigint, seqid: number): string;
|
|
54
|
+
protected makeLockuRequestKey(lockOwnerKey: string, stateid: struct.Nfsv4Stateid, offset: bigint, length: bigint, seqid: number): string;
|
|
55
|
+
protected makeLockKey(stateid: struct.Nfsv4Stateid, offset: bigint, length: bigint): string;
|
|
56
|
+
protected makeLockStateidKey(lockOwnerKey: string, path: string): string;
|
|
57
|
+
protected getOrCreateLockStateid(lockOwnerKey: string, path: string): LockStateid;
|
|
58
|
+
protected findLockStateidByOther(other: Uint8Array): LockStateid | undefined;
|
|
59
|
+
protected hasConflictingLock(path: string, locktype: number, offset: bigint, length: bigint, ownerKey: string): boolean;
|
|
60
|
+
SETCLIENTID(request: msg.Nfsv4SetclientidRequest, ctx: Nfsv4OperationCtx): Promise<msg.Nfsv4SetclientidResponse>;
|
|
61
|
+
SETCLIENTID_CONFIRM(request: msg.Nfsv4SetclientidConfirmRequest, ctx: Nfsv4OperationCtx): Promise<msg.Nfsv4SetclientidConfirmResponse>;
|
|
62
|
+
ILLEGAL(request: msg.Nfsv4IllegalRequest, ctx: Nfsv4OperationCtx): Promise<msg.Nfsv4IllegalResponse>;
|
|
63
|
+
PUTROOTFH(request: msg.Nfsv4PutrootfhRequest, ctx: Nfsv4OperationCtx): Promise<msg.Nfsv4PutrootfhResponse>;
|
|
64
|
+
PUTPUBFH(request: msg.Nfsv4PutpubfhRequest, ctx: Nfsv4OperationCtx): Promise<msg.Nfsv4PutpubfhResponse>;
|
|
65
|
+
PUTFH(request: msg.Nfsv4PutfhRequest, ctx: Nfsv4OperationCtx): Promise<msg.Nfsv4PutfhResponse>;
|
|
66
|
+
GETFH(request: msg.Nfsv4GetfhRequest, ctx: Nfsv4OperationCtx): Promise<msg.Nfsv4GetfhResponse>;
|
|
67
|
+
RESTOREFH(request: msg.Nfsv4RestorefhRequest, ctx: Nfsv4OperationCtx): Promise<msg.Nfsv4RestorefhResponse>;
|
|
68
|
+
SAVEFH(request: msg.Nfsv4SavefhRequest, ctx: Nfsv4OperationCtx): Promise<msg.Nfsv4SavefhResponse>;
|
|
69
|
+
private absolutePath;
|
|
70
|
+
LOOKUP(request: msg.Nfsv4LookupRequest, ctx: Nfsv4OperationCtx): Promise<msg.Nfsv4LookupResponse>;
|
|
71
|
+
LOOKUPP(request: msg.Nfsv4LookuppRequest, ctx: Nfsv4OperationCtx): Promise<msg.Nfsv4LookuppResponse>;
|
|
72
|
+
GETATTR(request: msg.Nfsv4GetattrRequest, ctx: Nfsv4OperationCtx): Promise<msg.Nfsv4GetattrResponse>;
|
|
73
|
+
ACCESS(request: msg.Nfsv4AccessRequest, ctx: Nfsv4OperationCtx): Promise<msg.Nfsv4AccessResponse>;
|
|
74
|
+
READDIR(request: msg.Nfsv4ReaddirRequest, ctx: Nfsv4OperationCtx): Promise<msg.Nfsv4ReaddirResponse>;
|
|
75
|
+
OPEN(request: msg.Nfsv4OpenRequest, ctx: Nfsv4OperationCtx): Promise<msg.Nfsv4OpenResponse>;
|
|
76
|
+
OPENATTR(request: msg.Nfsv4OpenattrRequest, ctx: Nfsv4OperationCtx): Promise<msg.Nfsv4OpenattrResponse>;
|
|
77
|
+
OPEN_CONFIRM(request: msg.Nfsv4OpenConfirmRequest, ctx: Nfsv4OperationCtx): Promise<msg.Nfsv4OpenConfirmResponse>;
|
|
78
|
+
OPEN_DOWNGRADE(request: msg.Nfsv4OpenDowngradeRequest, ctx: Nfsv4OperationCtx): Promise<msg.Nfsv4OpenDowngradeResponse>;
|
|
79
|
+
CLOSE(request: msg.Nfsv4CloseRequest, ctx: Nfsv4OperationCtx): Promise<msg.Nfsv4CloseResponse>;
|
|
80
|
+
SECINFO(request: msg.Nfsv4SecinfoRequest, ctx: Nfsv4OperationCtx): Promise<msg.Nfsv4SecinfoResponse>;
|
|
81
|
+
LOCK(request: msg.Nfsv4LockRequest, ctx: Nfsv4OperationCtx): Promise<msg.Nfsv4LockResponse>;
|
|
82
|
+
LOCKT(request: msg.Nfsv4LocktRequest, ctx: Nfsv4OperationCtx): Promise<msg.Nfsv4LocktResponse>;
|
|
83
|
+
LOCKU(request: msg.Nfsv4LockuRequest, ctx: Nfsv4OperationCtx): Promise<msg.Nfsv4LockuResponse>;
|
|
84
|
+
RELEASE_LOCKOWNER(request: msg.Nfsv4ReleaseLockOwnerRequest, ctx: Nfsv4OperationCtx): Promise<msg.Nfsv4ReleaseLockOwnerResponse>;
|
|
85
|
+
RENEW(request: msg.Nfsv4RenewRequest, ctx: Nfsv4OperationCtx): Promise<msg.Nfsv4RenewResponse>;
|
|
86
|
+
READ(request: msg.Nfsv4ReadRequest, ctx: Nfsv4OperationCtx): Promise<msg.Nfsv4ReadResponse>;
|
|
87
|
+
READLINK(request: msg.Nfsv4ReadlinkRequest, ctx: Nfsv4OperationCtx): Promise<msg.Nfsv4ReadlinkResponse>;
|
|
88
|
+
REMOVE(request: msg.Nfsv4RemoveRequest, ctx: Nfsv4OperationCtx): Promise<msg.Nfsv4RemoveResponse>;
|
|
89
|
+
RENAME(request: msg.Nfsv4RenameRequest, ctx: Nfsv4OperationCtx): Promise<msg.Nfsv4RenameResponse>;
|
|
90
|
+
WRITE(request: msg.Nfsv4WriteRequest, ctx: Nfsv4OperationCtx): Promise<msg.Nfsv4WriteResponse>;
|
|
91
|
+
DELEGPURGE(request: msg.Nfsv4DelegpurgeRequest, ctx: Nfsv4OperationCtx): Promise<msg.Nfsv4DelegpurgeResponse>;
|
|
92
|
+
DELEGRETURN(request: msg.Nfsv4DelegreturnRequest, ctx: Nfsv4OperationCtx): Promise<msg.Nfsv4DelegreturnResponse>;
|
|
93
|
+
COMMIT(request: msg.Nfsv4CommitRequest, ctx: Nfsv4OperationCtx): Promise<msg.Nfsv4CommitResponse>;
|
|
94
|
+
CREATE(request: msg.Nfsv4CreateRequest, ctx: Nfsv4OperationCtx): Promise<msg.Nfsv4CreateResponse>;
|
|
95
|
+
LINK(request: msg.Nfsv4LinkRequest, ctx: Nfsv4OperationCtx): Promise<msg.Nfsv4LinkResponse>;
|
|
96
|
+
NVERIFY(request: msg.Nfsv4NverifyRequest, ctx: Nfsv4OperationCtx): Promise<msg.Nfsv4NverifyResponse>;
|
|
97
|
+
SETATTR(request: msg.Nfsv4SetattrRequest, ctx: Nfsv4OperationCtx): Promise<msg.Nfsv4SetattrResponse>;
|
|
98
|
+
VERIFY(request: msg.Nfsv4VerifyRequest, ctx: Nfsv4OperationCtx): Promise<msg.Nfsv4VerifyResponse>;
|
|
99
|
+
}
|