Current Path: > > usr > lib > node_modules > npm > > node_modules > tar > lib >
Operation : Linux host59.registrar-servers.com 4.18.0-513.18.1.lve.2.el8.x86_64 #1 SMP Sat Mar 30 15:36:11 UTC 2024 x86_64 Software : Apache Server IP : 198.54.126.42 | Your IP: 216.73.216.38 Domains : 1034 Domain(s) Permission : [ 0755 ]
Name | Type | Size | Last Modified | Actions |
---|---|---|---|---|
buffer.js | File | 283 bytes | March 10 2021 14:36:37. | |
create.js | File | 2374 bytes | March 10 2021 14:36:37. | |
extract.js | File | 2824 bytes | March 10 2021 14:36:37. | |
header.js | File | 9044 bytes | March 10 2021 14:36:37. | |
high-level-opt.js | File | 772 bytes | March 10 2021 14:36:37. | |
large-numbers.js | File | 2210 bytes | March 10 2021 14:36:37. | |
list.js | File | 3152 bytes | March 10 2021 14:36:37. | |
mkdir.js | File | 5178 bytes | March 10 2021 14:36:37. | |
mode-fix.js | File | 277 bytes | March 10 2021 14:36:37. | |
pack.js | File | 9614 bytes | March 10 2021 14:36:37. | |
parse.js | File | 12140 bytes | March 10 2021 14:36:37. | |
pax.js | File | 4070 bytes | March 10 2021 14:36:37. | |
read-entry.js | File | 2673 bytes | March 10 2021 14:36:37. | |
replace.js | File | 5492 bytes | March 10 2021 14:36:37. | |
types.js | File | 1095 bytes | March 10 2021 14:36:37. | |
unpack.js | File | 16856 bytes | March 10 2021 14:36:37. | |
update.js | File | 852 bytes | March 10 2021 14:36:37. | |
warn-mixin.js | File | 309 bytes | March 10 2021 14:36:37. | |
winchars.js | File | 533 bytes | March 10 2021 14:36:37. | |
write-entry.js | File | 12053 bytes | March 10 2021 14:36:37. |
'use strict' const types = require('./types.js') const MiniPass = require('minipass') const SLURP = Symbol('slurp') module.exports = class ReadEntry extends MiniPass { constructor (header, ex, gex) { super() // read entries always start life paused. this is to avoid the // situation where Minipass's auto-ending empty streams results // in an entry ending before we're ready for it. this.pause() this.extended = ex this.globalExtended = gex this.header = header this.startBlockSize = 512 * Math.ceil(header.size / 512) this.blockRemain = this.startBlockSize this.remain = header.size this.type = header.type this.meta = false this.ignore = false switch (this.type) { case 'File': case 'OldFile': case 'Link': case 'SymbolicLink': case 'CharacterDevice': case 'BlockDevice': case 'Directory': case 'FIFO': case 'ContiguousFile': case 'GNUDumpDir': break case 'NextFileHasLongLinkpath': case 'NextFileHasLongPath': case 'OldGnuLongPath': case 'GlobalExtendedHeader': case 'ExtendedHeader': case 'OldExtendedHeader': this.meta = true break // NOTE: gnutar and bsdtar treat unrecognized types as 'File' // it may be worth doing the same, but with a warning. default: this.ignore = true } this.path = header.path this.mode = header.mode if (this.mode) this.mode = this.mode & 0o7777 this.uid = header.uid this.gid = header.gid this.uname = header.uname this.gname = header.gname this.size = header.size this.mtime = header.mtime this.atime = header.atime this.ctime = header.ctime this.linkpath = header.linkpath this.uname = header.uname this.gname = header.gname if (ex) this[SLURP](ex) if (gex) this[SLURP](gex, true) } write (data) { const writeLen = data.length if (writeLen > this.blockRemain) throw new Error('writing more to entry than is appropriate') const r = this.remain const br = this.blockRemain this.remain = Math.max(0, r - writeLen) this.blockRemain = Math.max(0, br - writeLen) if (this.ignore) return true if (r >= writeLen) return super.write(data) // r < writeLen return super.write(data.slice(0, r)) } [SLURP] (ex, global) { for (let k in ex) { // we slurp in everything except for the path attribute in // a global extended header, because that's weird. if (ex[k] !== null && ex[k] !== undefined && !(global && k === 'path')) this[k] = ex[k] } } }
SILENT KILLER Tool