pax_global_header00006660000000000000000000000064143441741360014521gustar00rootroot0000000000000052 comment=a044a87c6c7fb3ace4ea9bf903c63f0f15965398 node-tar-6.1.13/000077500000000000000000000000001434417413600133225ustar00rootroot00000000000000node-tar-6.1.13/.commitlintrc.js000066400000000000000000000005531434417413600164450ustar00rootroot00000000000000/* This file is automatically added by @npmcli/template-oss. Do not edit. */ module.exports = { extends: ['@commitlint/config-conventional'], rules: { 'type-enum': [2, 'always', ['feat', 'fix', 'docs', 'deps', 'chore']], 'header-max-length': [2, 'always', 80], 'subject-case': [0, 'always', ['lower-case', 'sentence-case', 'start-case']], }, } node-tar-6.1.13/.eslintrc.js000066400000000000000000000005451434417413600155650ustar00rootroot00000000000000/* This file is automatically added by @npmcli/template-oss. Do not edit. */ 'use strict' const { readdirSync: readdir } = require('fs') const localConfigs = readdir(__dirname) .filter((file) => file.startsWith('.eslintrc.local.')) .map((file) => `./${file}`) module.exports = { root: true, extends: [ '@npmcli', ...localConfigs, ], } node-tar-6.1.13/.eslintrc.local.js000066400000000000000000000004351434417413600166540ustar00rootroot00000000000000module.exports = { rules: { 'max-len': 0, 'no-shadow': 0, 'no-unused-expressions': 0, 'no-sequences': 0, 'no-empty': 0, }, overrides: [{ files: ['test/**'], rules: { 'promise/catch-or-return': 0, 'promise/always-return': 0, }, }], } node-tar-6.1.13/.github/000077500000000000000000000000001434417413600146625ustar00rootroot00000000000000node-tar-6.1.13/.github/CODEOWNERS000066400000000000000000000001321434417413600162510ustar00rootroot00000000000000# This file is automatically added by @npmcli/template-oss. Do not edit. * @npm/cli-team node-tar-6.1.13/.github/ISSUE_TEMPLATE/000077500000000000000000000000001434417413600170455ustar00rootroot00000000000000node-tar-6.1.13/.github/ISSUE_TEMPLATE/bug.yml000066400000000000000000000026551434417413600203550ustar00rootroot00000000000000# This file is automatically added by @npmcli/template-oss. Do not edit. name: Bug description: File a bug/issue title: "[BUG] " labels: [ Bug, Needs Triage ] body: - type: checkboxes attributes: label: Is there an existing issue for this? description: Please [search here](./issues) to see if an issue already exists for your problem. options: - label: I have searched the existing issues required: true - type: textarea attributes: label: Current Behavior description: A clear & concise description of what you're experiencing. validations: required: false - type: textarea attributes: label: Expected Behavior description: A clear & concise description of what you expected to happen. validations: required: false - type: textarea attributes: label: Steps To Reproduce description: Steps to reproduce the behavior. value: | 1. In this environment... 2. With this config... 3. Run '...' 4. See error... validations: required: false - type: textarea attributes: label: Environment description: | examples: - **npm**: 7.6.3 - **Node**: 13.14.0 - **OS**: Ubuntu 20.04 - **platform**: Macbook Pro value: | - npm: - Node: - OS: - platform: validations: required: false �����������������������������������������������������������������������������������node-tar-6.1.13/.github/ISSUE_TEMPLATE/config.yml���������������������������������������������������0000664�0000000�0000000�00000000145�14344174136�0021035�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# This file is automatically added by @npmcli/template-oss. Do not edit. blank_issues_enabled: true ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/.github/dependabot.yml��������������������������������������������������������������0000664�0000000�0000000�00000000563�14344174136�0017516�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# This file is automatically added by @npmcli/template-oss. Do not edit. version: 2 updates: - package-ecosystem: npm directory: / schedule: interval: daily allow: - dependency-type: direct versioning-strategy: increase-if-necessary commit-message: prefix: deps prefix-development: chore labels: - "Dependencies" ���������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/.github/matchers/�������������������������������������������������������������������0000775�0000000�0000000�00000000000�14344174136�0016470�5����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/.github/matchers/tap.json�����������������������������������������������������������0000664�0000000�0000000�00000001204�14344174136�0020144�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������{ "//@npmcli/template-oss": "This file is automatically added by @npmcli/template-oss. Do not edit.", "problemMatcher": [ { "owner": "tap", "pattern": [ { "regexp": "^\\s*not ok \\d+ - (.*)", "message": 1 }, { "regexp": "^\\s*---" }, { "regexp": "^\\s*at:" }, { "regexp": "^\\s*line:\\s*(\\d+)", "line": 1 }, { "regexp": "^\\s*column:\\s*(\\d+)", "column": 1 }, { "regexp": "^\\s*file:\\s*(.*)", "file": 1 } ] } ] } ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/.github/workflows/������������������������������������������������������������������0000775�0000000�0000000�00000000000�14344174136�0016717�5����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/.github/workflows/audit.yml���������������������������������������������������������0000664�0000000�0000000�00000002343�14344174136�0020552�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# This file is automatically added by @npmcli/template-oss. Do not edit. name: Audit on: workflow_dispatch: schedule: # "At 08:00 UTC (01:00 PT) on Monday" https://crontab.guru/#0_8_*_*_1 - cron: "0 8 * * 1" jobs: audit: name: Audit Dependencies if: github.repository_owner == 'npm' runs-on: ubuntu-latest defaults: run: shell: bash steps: - name: Support Long Paths if: matrix.platform.os == 'windows-latest' run: git config --system core.longpaths true - name: Checkout uses: actions/checkout@v3 - name: Setup Git User run: | git config --global user.email "npm-cli+bot@github.com" git config --global user.name "npm CLI robot" - name: Setup Node uses: actions/setup-node@v3 with: node-version: 18.x - name: Install npm@latest run: npm i --prefer-online --no-fund --no-audit -g npm@latest - name: npm Version run: npm -v - name: Install Dependencies run: npm i --ignore-scripts --no-audit --no-fund --package-lock - name: Run Production Audit run: npm audit --omit=dev - name: Run Full Audit run: npm audit --audit-level=none ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/.github/workflows/ci-release.yml����������������������������������������������������0000664�0000000�0000000�00000016340�14344174136�0021457�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# This file is automatically added by @npmcli/template-oss. Do not edit. name: CI - Release on: workflow_dispatch: inputs: ref: required: true type: string default: main workflow_call: inputs: ref: required: true type: string check-sha: required: true type: string jobs: lint-all: name: Lint All if: github.repository_owner == 'npm' runs-on: ubuntu-latest defaults: run: shell: bash steps: - name: Get Workflow Job uses: actions/github-script@v6 if: inputs.check-sha id: check-output env: JOB_NAME: "Lint All" MATRIX_NAME: "" with: script: | const { owner, repo } = context.repo const { data } = await github.rest.actions.listJobsForWorkflowRun({ owner, repo, run_id: context.runId, per_page: 100 }) const jobName = process.env.JOB_NAME + process.env.MATRIX_NAME const job = data.jobs.find(j => j.name.endsWith(jobName)) const jobUrl = job?.html_url const shaUrl = `${context.serverUrl}/${owner}/${repo}/commit/${{ inputs.check-sha }}` let summary = `This check is assosciated with ${shaUrl}\n\n` if (jobUrl) { summary += `For run logs, click here: ${jobUrl}` } else { summary += `Run logs could not be found for a job with name: "${jobName}"` } return { summary } - name: Create Check uses: LouisBrunner/checks-action@v1.3.1 id: check if: inputs.check-sha with: token: ${{ secrets.GITHUB_TOKEN }} status: in_progress name: Lint All sha: ${{ inputs.check-sha }} output: ${{ steps.check-output.outputs.result }} - name: Support Long Paths if: matrix.platform.os == 'windows-latest' run: git config --system core.longpaths true - name: Checkout uses: actions/checkout@v3 with: ref: ${{ inputs.ref }} - name: Setup Git User run: | git config --global user.email "npm-cli+bot@github.com" git config --global user.name "npm CLI robot" - name: Setup Node uses: actions/setup-node@v3 with: node-version: 18.x - name: Install npm@latest run: npm i --prefer-online --no-fund --no-audit -g npm@latest - name: npm Version run: npm -v - name: Install Dependencies run: npm i --ignore-scripts --no-audit --no-fund - name: Lint run: npm run lint --ignore-scripts - name: Post Lint run: npm run postlint --ignore-scripts - name: Conclude Check uses: LouisBrunner/checks-action@v1.3.1 if: steps.check.outputs.check_id && always() with: token: ${{ secrets.GITHUB_TOKEN }} conclusion: ${{ job.status }} check_id: ${{ steps.check.outputs.check_id }} test-all: name: Test All - ${{ matrix.platform.name }} - ${{ matrix.node-version }} if: github.repository_owner == 'npm' strategy: fail-fast: false matrix: platform: - name: Linux os: ubuntu-latest shell: bash - name: macOS os: macos-latest shell: bash - name: Windows os: windows-latest shell: cmd node-version: - 10.x - 12.x - 14.x - 16.x - 18.x runs-on: ${{ matrix.platform.os }} defaults: run: shell: ${{ matrix.platform.shell }} steps: - name: Get Workflow Job uses: actions/github-script@v6 if: inputs.check-sha id: check-output env: JOB_NAME: "Test All" MATRIX_NAME: " - ${{ matrix.platform.name }} - ${{ matrix.node-version }}" with: script: | const { owner, repo } = context.repo const { data } = await github.rest.actions.listJobsForWorkflowRun({ owner, repo, run_id: context.runId, per_page: 100 }) const jobName = process.env.JOB_NAME + process.env.MATRIX_NAME const job = data.jobs.find(j => j.name.endsWith(jobName)) const jobUrl = job?.html_url const shaUrl = `${context.serverUrl}/${owner}/${repo}/commit/${{ inputs.check-sha }}` let summary = `This check is assosciated with ${shaUrl}\n\n` if (jobUrl) { summary += `For run logs, click here: ${jobUrl}` } else { summary += `Run logs could not be found for a job with name: "${jobName}"` } return { summary } - name: Create Check uses: LouisBrunner/checks-action@v1.3.1 id: check if: inputs.check-sha with: token: ${{ secrets.GITHUB_TOKEN }} status: in_progress name: Test All - ${{ matrix.platform.name }} - ${{ matrix.node-version }} sha: ${{ inputs.check-sha }} output: ${{ steps.check-output.outputs.result }} - name: Support Long Paths if: matrix.platform.os == 'windows-latest' run: git config --system core.longpaths true - name: Checkout uses: actions/checkout@v3 with: ref: ${{ inputs.ref }} - name: Setup Git User run: | git config --global user.email "npm-cli+bot@github.com" git config --global user.name "npm CLI robot" - name: Setup Node uses: actions/setup-node@v3 with: node-version: ${{ matrix.node-version }} - name: Update Windows npm # node 12 and 14 ship with npm@6, which is known to fail when updating itself in windows if: matrix.platform.os == 'windows-latest' && (startsWith(matrix.node-version, '12.') || startsWith(matrix.node-version, '14.')) run: | curl -sO https://registry.npmjs.org/npm/-/npm-7.5.4.tgz tar xf npm-7.5.4.tgz cd package node lib/npm.js install --no-fund --no-audit -g ..\npm-7.5.4.tgz cd .. rmdir /s /q package - name: Install npm@7 if: startsWith(matrix.node-version, '10.') || startsWith(matrix.node-version, '12.') run: npm i --prefer-online --no-fund --no-audit -g npm@7 - name: Install npm@latest if: ${{ !startsWith(matrix.node-version, '10.') && !startsWith(matrix.node-version, '12.') }} run: npm i --prefer-online --no-fund --no-audit -g npm@latest - name: npm Version run: npm -v - name: Install Dependencies run: npm i --ignore-scripts --no-audit --no-fund - name: Set Tap RC run: node ./test/fixtures/taprc.js - name: Add Problem Matcher run: echo "::add-matcher::.github/matchers/tap.json" - name: Test run: npm test --ignore-scripts - name: Conclude Check uses: LouisBrunner/checks-action@v1.3.1 if: steps.check.outputs.check_id && always() with: token: ${{ secrets.GITHUB_TOKEN }} conclusion: ${{ job.status }} check_id: ${{ steps.check.outputs.check_id }} ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/.github/workflows/ci.yml������������������������������������������������������������0000664�0000000�0000000�00000007150�14344174136�0020040�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# This file is automatically added by @npmcli/template-oss. Do not edit. name: CI on: workflow_dispatch: pull_request: push: branches: - main - latest schedule: # "At 09:00 UTC (02:00 PT) on Monday" https://crontab.guru/#0_9_*_*_1 - cron: "0 9 * * 1" jobs: lint: name: Lint if: github.repository_owner == 'npm' runs-on: ubuntu-latest defaults: run: shell: bash steps: - name: Support Long Paths if: matrix.platform.os == 'windows-latest' run: git config --system core.longpaths true - name: Checkout uses: actions/checkout@v3 - name: Setup Git User run: | git config --global user.email "npm-cli+bot@github.com" git config --global user.name "npm CLI robot" - name: Setup Node uses: actions/setup-node@v3 with: node-version: 18.x - name: Install npm@latest run: npm i --prefer-online --no-fund --no-audit -g npm@latest - name: npm Version run: npm -v - name: Install Dependencies run: npm i --ignore-scripts --no-audit --no-fund - name: Lint run: npm run lint --ignore-scripts - name: Post Lint run: npm run postlint --ignore-scripts test: name: Test - ${{ matrix.platform.name }} - ${{ matrix.node-version }} if: github.repository_owner == 'npm' strategy: fail-fast: false matrix: platform: - name: Linux os: ubuntu-latest shell: bash - name: macOS os: macos-latest shell: bash - name: Windows os: windows-latest shell: cmd node-version: - 10.x - 12.x - 14.x - 16.x - 18.x runs-on: ${{ matrix.platform.os }} defaults: run: shell: ${{ matrix.platform.shell }} steps: - name: Support Long Paths if: matrix.platform.os == 'windows-latest' run: git config --system core.longpaths true - name: Checkout uses: actions/checkout@v3 - name: Setup Git User run: | git config --global user.email "npm-cli+bot@github.com" git config --global user.name "npm CLI robot" - name: Setup Node uses: actions/setup-node@v3 with: node-version: ${{ matrix.node-version }} - name: Update Windows npm # node 12 and 14 ship with npm@6, which is known to fail when updating itself in windows if: matrix.platform.os == 'windows-latest' && (startsWith(matrix.node-version, '12.') || startsWith(matrix.node-version, '14.')) run: | curl -sO https://registry.npmjs.org/npm/-/npm-7.5.4.tgz tar xf npm-7.5.4.tgz cd package node lib/npm.js install --no-fund --no-audit -g ..\npm-7.5.4.tgz cd .. rmdir /s /q package - name: Install npm@7 if: startsWith(matrix.node-version, '10.') || startsWith(matrix.node-version, '12.') run: npm i --prefer-online --no-fund --no-audit -g npm@7 - name: Install npm@latest if: ${{ !startsWith(matrix.node-version, '10.') && !startsWith(matrix.node-version, '12.') }} run: npm i --prefer-online --no-fund --no-audit -g npm@latest - name: npm Version run: npm -v - name: Install Dependencies run: npm i --ignore-scripts --no-audit --no-fund - name: Set Tap RC run: node ./test/fixtures/taprc.js - name: Add Problem Matcher run: echo "::add-matcher::.github/matchers/tap.json" - name: Test run: npm test --ignore-scripts ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/.github/workflows/codeql-analysis.yml�����������������������������������������������0000664�0000000�0000000�00000002016�14344174136�0022531�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# This file is automatically added by @npmcli/template-oss. Do not edit. name: CodeQL on: push: branches: - main - latest pull_request: branches: - main - latest schedule: # "At 10:00 UTC (03:00 PT) on Monday" https://crontab.guru/#0_10_*_*_1 - cron: "0 10 * * 1" jobs: analyze: name: Analyze runs-on: ubuntu-latest permissions: actions: read contents: read security-events: write steps: - name: Support Long Paths if: matrix.platform.os == 'windows-latest' run: git config --system core.longpaths true - name: Checkout uses: actions/checkout@v3 - name: Setup Git User run: | git config --global user.email "npm-cli+bot@github.com" git config --global user.name "npm CLI robot" - name: Initialize CodeQL uses: github/codeql-action/init@v2 with: languages: javascript - name: Perform CodeQL Analysis uses: github/codeql-action/analyze@v2 ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/.github/workflows/post-dependabot.yml�����������������������������������������������0000664�0000000�0000000�00000012044�14344174136�0022533�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# This file is automatically added by @npmcli/template-oss. Do not edit. name: Post Dependabot on: pull_request permissions: contents: write jobs: template-oss: name: template-oss if: github.repository_owner == 'npm' && github.actor == 'dependabot[bot]' runs-on: ubuntu-latest defaults: run: shell: bash steps: - name: Support Long Paths if: matrix.platform.os == 'windows-latest' run: git config --system core.longpaths true - name: Checkout uses: actions/checkout@v3 with: ref: ${{ github.event.pull_request.head.ref }} - name: Setup Git User run: | git config --global user.email "npm-cli+bot@github.com" git config --global user.name "npm CLI robot" - name: Setup Node uses: actions/setup-node@v3 with: node-version: 18.x - name: Install npm@latest run: npm i --prefer-online --no-fund --no-audit -g npm@latest - name: npm Version run: npm -v - name: Install Dependencies run: npm i --ignore-scripts --no-audit --no-fund - name: Fetch Dependabot Metadata id: metadata uses: dependabot/fetch-metadata@v1 with: github-token: ${{ secrets.GITHUB_TOKEN }} # Dependabot can update multiple directories so we output which directory # it is acting on so we can run the command for the correct root or workspace - name: Get Dependabot Directory if: contains(steps.metadata.outputs.dependency-names, '@npmcli/template-oss') id: flags run: | dependabot_dir="${{ steps.metadata.outputs.directory }}" if [[ "$dependabot_dir" == "/" ]]; then echo "::set-output name=workspace::-iwr" else # strip leading slash from directory so it works as a # a path to the workspace flag echo "::set-output name=workspace::-w ${dependabot_dir#/}" fi - name: Apply Changes if: steps.flags.outputs.workspace id: apply run: | npm run template-oss-apply ${{ steps.flags.outputs.workspace }} if [[ `git status --porcelain` ]]; then echo "::set-output name=changes::true" fi # This only sets the conventional commit prefix. This workflow can't reliably determine # what the breaking change is though. If a BREAKING CHANGE message is required then # this PR check will fail and the commit will be amended with stafftools if [[ "${{ steps.metadata.outputs.update-type }}" == "version-update:semver-major" ]]; then prefix='feat!' else prefix='chore' fi echo "::set-output name=message::$prefix: postinstall for dependabot template-oss PR" # This step will fail if template-oss has made any workflow updates. It is impossible # for a workflow to update other workflows. In the case it does fail, we continue # and then try to apply only a portion of the changes in the next step - name: Push All Changes if: steps.apply.outputs.changes id: push continue-on-error: true env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} run: | git commit -am "${{ steps.apply.outputs.message }}" git push # If the previous step failed, then reset the commit and remove any workflow changes # and attempt to commit and push again. This is helpful because we will have a commit # with the correct prefix that we can then --amend with @npmcli/stafftools later. - name: Push All Changes Except Workflows if: steps.apply.outputs.changes && steps.push.outcome == 'failure' env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} run: | git reset HEAD~ git checkout HEAD -- .github/workflows/ git clean -fd .github/workflows/ git commit -am "${{ steps.apply.outputs.message }}" git push # Check if all the necessary template-oss changes were applied. Since we continued # on errors in one of the previous steps, this check will fail if our follow up # only applied a portion of the changes and we need to followup manually. # # Note that this used to run `lint` and `postlint` but that will fail this action # if we've also shipped any linting changes separate from template-oss. We do # linting in another action, so we want to fail this one only if there are # template-oss changes that could not be applied. - name: Check Changes if: steps.apply.outputs.changes run: | npm exec --offline ${{ steps.flags.outputs.workspace }} -- template-oss-check - name: Fail on Breaking Change if: steps.apply.outputs.changes && startsWith(steps.apply.outputs.message, 'feat!') run: | echo "This PR has a breaking change. Run 'npx -p @npmcli/stafftools gh template-oss-fix'" echo "for more information on how to fix this with a BREAKING CHANGE footer." exit 1 ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/.github/workflows/pull-request.yml��������������������������������������������������0000664�0000000�0000000�00000002756�14344174136�0022116�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# This file is automatically added by @npmcli/template-oss. Do not edit. name: Pull Request on: pull_request: types: - opened - reopened - edited - synchronize jobs: commitlint: name: Lint Commits if: github.repository_owner == 'npm' runs-on: ubuntu-latest defaults: run: shell: bash steps: - name: Support Long Paths if: matrix.platform.os == 'windows-latest' run: git config --system core.longpaths true - name: Checkout uses: actions/checkout@v3 with: fetch-depth: 0 - name: Setup Git User run: | git config --global user.email "npm-cli+bot@github.com" git config --global user.name "npm CLI robot" - name: Setup Node uses: actions/setup-node@v3 with: node-version: 18.x - name: Install npm@latest run: npm i --prefer-online --no-fund --no-audit -g npm@latest - name: npm Version run: npm -v - name: Install Dependencies run: npm i --ignore-scripts --no-audit --no-fund - name: Run Commitlint on Commits id: commit continue-on-error: true run: | npx --offline commitlint -V --from origin/${{ github.base_ref }} --to ${{ github.event.pull_request.head.sha }} - name: Run Commitlint on PR Title if: steps.commit.outcome == 'failure' run: | echo ${{ github.event.pull_request.title }} | npx --offline commitlint -V ������������������node-tar-6.1.13/.github/workflows/release.yml�������������������������������������������������������0000664�0000000�0000000�00000024746�14344174136�0021077�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# This file is automatically added by @npmcli/template-oss. Do not edit. name: Release on: workflow_dispatch: push: branches: - main - latest - release/v* permissions: contents: write pull-requests: write checks: write jobs: release: outputs: pr: ${{ steps.release.outputs.pr }} releases: ${{ steps.release.outputs.releases }} release-flags: ${{ steps.release.outputs.release-flags }} branch: ${{ steps.release.outputs.pr-branch }} pr-number: ${{ steps.release.outputs.pr-number }} comment-id: ${{ steps.pr-comment.outputs.result }} check-id: ${{ steps.check.outputs.check_id }} name: Release if: github.repository_owner == 'npm' runs-on: ubuntu-latest defaults: run: shell: bash steps: - name: Support Long Paths if: matrix.platform.os == 'windows-latest' run: git config --system core.longpaths true - name: Checkout uses: actions/checkout@v3 - name: Setup Git User run: | git config --global user.email "npm-cli+bot@github.com" git config --global user.name "npm CLI robot" - name: Setup Node uses: actions/setup-node@v3 with: node-version: 18.x - name: Install npm@latest run: npm i --prefer-online --no-fund --no-audit -g npm@latest - name: npm Version run: npm -v - name: Install Dependencies run: npm i --ignore-scripts --no-audit --no-fund - name: Release Please id: release env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} run: | npx --offline template-oss-release-please ${{ github.ref_name }} ${{ github.event_name }} - name: Post Pull Request Comment if: steps.release.outputs.pr-number uses: actions/github-script@v6 id: pr-comment env: PR_NUMBER: ${{ steps.release.outputs.pr-number }} REF_NAME: ${{ github.ref_name }} with: script: | const { REF_NAME, PR_NUMBER } = process.env const repo = { owner: context.repo.owner, repo: context.repo.repo } const issue = { ...repo, issue_number: PR_NUMBER } const { data: workflow } = await github.rest.actions.getWorkflowRun({ ...repo, run_id: context.runId }) let body = '## Release Manager\n\n' const comments = await github.paginate(github.rest.issues.listComments, issue) let commentId = comments?.find(c => c.user.login === 'github-actions[bot]' && c.body.startsWith(body))?.id body += `Release workflow run: ${workflow.html_url}\n\n#### Force CI to Update This Release\n\n` body += `This PR will be updated and CI will run for every non-\`chore:\` commit that is pushed to \`main\`. ` body += `To force CI to update this PR, run this command:\n\n` body += `\`\`\`\ngh workflow run release.yml -r ${REF_NAME}\n\`\`\`` if (commentId) { await github.rest.issues.updateComment({ ...repo, comment_id: commentId, body }) } else { const { data: comment } = await github.rest.issues.createComment({ ...issue, body }) commentId = comment?.id } return commentId - name: Get Workflow Job uses: actions/github-script@v6 if: steps.release.outputs.pr-sha id: check-output env: JOB_NAME: "Release" MATRIX_NAME: "" with: script: | const { owner, repo } = context.repo const { data } = await github.rest.actions.listJobsForWorkflowRun({ owner, repo, run_id: context.runId, per_page: 100 }) const jobName = process.env.JOB_NAME + process.env.MATRIX_NAME const job = data.jobs.find(j => j.name.endsWith(jobName)) const jobUrl = job?.html_url const shaUrl = `${context.serverUrl}/${owner}/${repo}/commit/${{ steps.release.outputs.pr-sha }}` let summary = `This check is assosciated with ${shaUrl}\n\n` if (jobUrl) { summary += `For run logs, click here: ${jobUrl}` } else { summary += `Run logs could not be found for a job with name: "${jobName}"` } return { summary } - name: Create Check uses: LouisBrunner/checks-action@v1.3.1 id: check if: steps.release.outputs.pr-sha with: token: ${{ secrets.GITHUB_TOKEN }} status: in_progress name: Release sha: ${{ steps.release.outputs.pr-sha }} output: ${{ steps.check-output.outputs.result }} update: needs: release outputs: sha: ${{ steps.commit.outputs.sha }} check-id: ${{ steps.check.outputs.check_id }} name: Update - Release if: github.repository_owner == 'npm' && needs.release.outputs.pr runs-on: ubuntu-latest defaults: run: shell: bash steps: - name: Support Long Paths if: matrix.platform.os == 'windows-latest' run: git config --system core.longpaths true - name: Checkout uses: actions/checkout@v3 with: fetch-depth: 0 ref: ${{ needs.release.outputs.branch }} - name: Setup Git User run: | git config --global user.email "npm-cli+bot@github.com" git config --global user.name "npm CLI robot" - name: Setup Node uses: actions/setup-node@v3 with: node-version: 18.x - name: Install npm@latest run: npm i --prefer-online --no-fund --no-audit -g npm@latest - name: npm Version run: npm -v - name: Install Dependencies run: npm i --ignore-scripts --no-audit --no-fund - name: Run Post Pull Request Actions env: RELEASE_PR_NUMBER: ${{ needs.release.outputs.pr-number }} RELEASE_COMMENT_ID: ${{ needs.release.outputs.comment-id }} GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} run: | npm exec --offline -- template-oss-release-manager --lockfile=false npm run rp-pull-request --ignore-scripts --if-present - name: Commit id: commit env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} run: | git commit --all --amend --no-edit || true git push --force-with-lease echo "::set-output name=sha::$(git rev-parse HEAD)" - name: Get Workflow Job uses: actions/github-script@v6 if: steps.commit.outputs.sha id: check-output env: JOB_NAME: "Update - Release" MATRIX_NAME: "" with: script: | const { owner, repo } = context.repo const { data } = await github.rest.actions.listJobsForWorkflowRun({ owner, repo, run_id: context.runId, per_page: 100 }) const jobName = process.env.JOB_NAME + process.env.MATRIX_NAME const job = data.jobs.find(j => j.name.endsWith(jobName)) const jobUrl = job?.html_url const shaUrl = `${context.serverUrl}/${owner}/${repo}/commit/${{ steps.commit.outputs.sha }}` let summary = `This check is assosciated with ${shaUrl}\n\n` if (jobUrl) { summary += `For run logs, click here: ${jobUrl}` } else { summary += `Run logs could not be found for a job with name: "${jobName}"` } return { summary } - name: Create Check uses: LouisBrunner/checks-action@v1.3.1 id: check if: steps.commit.outputs.sha with: token: ${{ secrets.GITHUB_TOKEN }} status: in_progress name: Release sha: ${{ steps.commit.outputs.sha }} output: ${{ steps.check-output.outputs.result }} - name: Conclude Check uses: LouisBrunner/checks-action@v1.3.1 if: needs.release.outputs.check-id && always() with: token: ${{ secrets.GITHUB_TOKEN }} conclusion: ${{ job.status }} check_id: ${{ needs.release.outputs.check-id }} ci: name: CI - Release needs: [ release, update ] if: needs.release.outputs.pr uses: ./.github/workflows/ci-release.yml with: ref: ${{ needs.release.outputs.branch }} check-sha: ${{ needs.update.outputs.sha }} post-ci: needs: [ release, update, ci ] name: Post CI - Release if: github.repository_owner == 'npm' && needs.release.outputs.pr && always() runs-on: ubuntu-latest defaults: run: shell: bash steps: - name: Get Needs Result id: needs-result run: | result="" if [[ "${{ contains(needs.*.result, 'failure') }}" == "true" ]]; then result="failure" elif [[ "${{ contains(needs.*.result, 'cancelled') }}" == "true" ]]; then result="cancelled" else result="success" fi echo "::set-output name=result::$result" - name: Conclude Check uses: LouisBrunner/checks-action@v1.3.1 if: needs.update.outputs.check-id && always() with: token: ${{ secrets.GITHUB_TOKEN }} conclusion: ${{ steps.needs-result.outputs.result }} check_id: ${{ needs.update.outputs.check-id }} post-release: needs: release name: Post Release - Release if: github.repository_owner == 'npm' && needs.release.outputs.releases runs-on: ubuntu-latest defaults: run: shell: bash steps: - name: Support Long Paths if: matrix.platform.os == 'windows-latest' run: git config --system core.longpaths true - name: Checkout uses: actions/checkout@v3 - name: Setup Git User run: | git config --global user.email "npm-cli+bot@github.com" git config --global user.name "npm CLI robot" - name: Setup Node uses: actions/setup-node@v3 with: node-version: 18.x - name: Install npm@latest run: npm i --prefer-online --no-fund --no-audit -g npm@latest - name: npm Version run: npm -v - name: Install Dependencies run: npm i --ignore-scripts --no-audit --no-fund - name: Run Post Release Actions env: RELEASES: ${{ needs.release.outputs.releases }} run: | npm run rp-release --ignore-scripts --if-present ${{ join(fromJSON(needs.release.outputs.release-flags), ' ') }} ��������������������������node-tar-6.1.13/.gitignore��������������������������������������������������������������������������0000664�0000000�0000000�00000000700�14344174136�0015307�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# This file is automatically added by @npmcli/template-oss. Do not edit. # ignore everything in the root /* # keep these !**/.gitignore !/.commitlintrc.js !/.eslintrc.js !/.eslintrc.local.* !/.github/ !/.gitignore !/.npmrc !/.release-please-manifest.json !/bin/ !/CHANGELOG* !/CODE_OF_CONDUCT.md !/docs/ !/index.js !/lib/ !/LICENSE* !/map.js !/package.json !/README* !/release-please-config.json !/scripts/ !/SECURITY.md !/tap-snapshots/ !/test/ ����������������������������������������������������������������node-tar-6.1.13/.npmrc������������������������������������������������������������������������������0000664�0000000�0000000�00000000135�14344174136�0014441�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������; This file is automatically added by @npmcli/template-oss. Do not edit. package-lock=false �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/.release-please-manifest.json�������������������������������������������������������0000664�0000000�0000000�00000000024�14344174136�0020762�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������{ ".": "6.1.13" } ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/CHANGELOG.md������������������������������������������������������������������������0000664�0000000�0000000�00000005535�14344174136�0015143�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# Changelog ## [6.1.13](https://github.com/npm/node-tar/compare/v6.1.12...v6.1.13) (2022-12-07) ### Dependencies * [`cc4e0dd`](https://github.com/npm/node-tar/commit/cc4e0ddfe523a0bce383846a67442c637a65d486) [#343](https://github.com/npm/node-tar/pull/343) bump minipass from 3.3.6 to 4.0.0 ## [6.1.12](https://github.com/npm/node-tar/compare/v6.1.11...v6.1.12) (2022-10-31) ### Bug Fixes * [`57493ee`](https://github.com/npm/node-tar/commit/57493ee66ece50d62114e02914282fc37be3a91a) [#332](https://github.com/npm/node-tar/pull/332) ensuring close event is emited after stream has ended (@webark) * [`b003c64`](https://github.com/npm/node-tar/commit/b003c64f624332e24e19b30dc011069bb6708680) [#314](https://github.com/npm/node-tar/pull/314) replace deprecated String.prototype.substr() (#314) (@CommanderRoot, @lukekarrys) ### Documentation * [`f129929`](https://github.com/npm/node-tar/commit/f12992932f171ea248b27fad95e7d489a56d31ed) [#313](https://github.com/npm/node-tar/pull/313) remove dead link to benchmarks (#313) (@yetzt) * [`c1faa9f`](https://github.com/npm/node-tar/commit/c1faa9f44001dfb0bc7638b2850eb6058bd56a4a) add examples/explanation of using tar.t (@isaacs) ## 6.0 - Drop support for node 6 and 8 - fix symlinks and hardlinks on windows being packed with `\`-style path targets ## 5.0 - Address unpack race conditions using path reservations - Change large-numbers errors from TypeError to Error - Add `TAR_*` error codes - Raise `TAR_BAD_ARCHIVE` warning/error when there are no valid entries found in an archive - do not treat ignored entries as an invalid archive - drop support for node v4 - unpack: conditionally use a file mapping to write files on Windows - Set more portable 'mode' value in portable mode - Set `portable` gzip option in portable mode ## 4.4 - Add 'mtime' option to tar creation to force mtime - unpack: only reuse file fs entries if nlink = 1 - unpack: rename before unlinking files on Windows - Fix encoding/decoding of base-256 numbers - Use `stat` instead of `lstat` when checking CWD - Always provide a callback to fs.close() ## 4.3 - Add 'transform' unpack option ## 4.2 - Fail when zlib fails ## 4.1 - Add noMtime flag for tar creation ## 4.0 - unpack: raise error if cwd is missing or not a dir - pack: don't drop dots from dotfiles when prefixing ## 3.1 - Support `@file.tar` as an entry argument to copy entries from one tar file to another. - Add `noPax` option - `noResume` option for tar.t - win32: convert `>|<?:` chars to windows-friendly form - Exclude mtime for dirs in portable mode ## 3.0 - Minipass-based implementation - Entirely new API surface, `tar.c()`, `tar.x()` etc., much closer to system tar semantics - Massive performance improvement - Require node 4.x and higher ## 0.x, 1.x, 2.x - 2011-2014 - fstream-based implementation - slow and kinda bad, but better than npm shelling out to the system `tar` �������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/CODE_OF_CONDUCT.md������������������������������������������������������������������0000664�0000000�0000000�00000000507�14344174136�0016123�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<!-- This file is automatically added by @npmcli/template-oss. Do not edit. --> All interactions in this repo are covered by the [npm Code of Conduct](https://docs.npmjs.com/policies/conduct) The npm cli team may, at its own discretion, moderate, remove, or edit any interactions such as pull requests, issues, and comments. �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/LICENSE�����������������������������������������������������������������������������0000664�0000000�0000000�00000001375�14344174136�0014335�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������The ISC License Copyright (c) Isaac Z. Schlueter and Contributors Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies. THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/README.md���������������������������������������������������������������������������0000664�0000000�0000000�00000130736�14344174136�0014613�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������# node-tar Fast and full-featured Tar for Node.js The API is designed to mimic the behavior of `tar(1)` on unix systems. If you are familiar with how tar works, most of this will hopefully be straightforward for you. If not, then hopefully this module can teach you useful unix skills that may come in handy someday :) ## Background A "tar file" or "tarball" is an archive of file system entries (directories, files, links, etc.) The name comes from "tape archive". If you run `man tar` on almost any Unix command line, you'll learn quite a bit about what it can do, and its history. Tar has 5 main top-level commands: * `c` Create an archive * `r` Replace entries within an archive * `u` Update entries within an archive (ie, replace if they're newer) * `t` List out the contents of an archive * `x` Extract an archive to disk The other flags and options modify how this top level function works. ## High-Level API These 5 functions are the high-level API. All of them have a single-character name (for unix nerds familiar with `tar(1)`) as well as a long name (for everyone else). All the high-level functions take the following arguments, all three of which are optional and may be omitted. 1. `options` - An optional object specifying various options 2. `paths` - An array of paths to add or extract 3. `callback` - Called when the command is completed, if async. (If sync or no file specified, providing a callback throws a `TypeError`.) If the command is sync (ie, if `options.sync=true`), then the callback is not allowed, since the action will be completed immediately. If a `file` argument is specified, and the command is async, then a `Promise` is returned. In this case, if async, a callback may be provided which is called when the command is completed. If a `file` option is not specified, then a stream is returned. For `create`, this is a readable stream of the generated archive. For `list` and `extract` this is a writable stream that an archive should be written into. If a file is not specified, then a callback is not allowed, because you're already getting a stream to work with. `replace` and `update` only work on existing archives, and so require a `file` argument. Sync commands without a file argument return a stream that acts on its input immediately in the same tick. For readable streams, this means that all of the data is immediately available by calling `stream.read()`. For writable streams, it will be acted upon as soon as it is provided, but this can be at any time. ### Warnings and Errors Tar emits warnings and errors for recoverable and unrecoverable situations, respectively. In many cases, a warning only affects a single entry in an archive, or is simply informing you that it's modifying an entry to comply with the settings provided. Unrecoverable warnings will always raise an error (ie, emit `'error'` on streaming actions, throw for non-streaming sync actions, reject the returned Promise for non-streaming async operations, or call a provided callback with an `Error` as the first argument). Recoverable errors will raise an error only if `strict: true` is set in the options. Respond to (recoverable) warnings by listening to the `warn` event. Handlers receive 3 arguments: - `code` String. One of the error codes below. This may not match `data.code`, which preserves the original error code from fs and zlib. - `message` String. More details about the error. - `data` Metadata about the error. An `Error` object for errors raised by fs and zlib. All fields are attached to errors raisd by tar. Typically contains the following fields, as relevant: - `tarCode` The tar error code. - `code` Either the tar error code, or the error code set by the underlying system. - `file` The archive file being read or written. - `cwd` Working directory for creation and extraction operations. - `entry` The entry object (if it could be created) for `TAR_ENTRY_INFO`, `TAR_ENTRY_INVALID`, and `TAR_ENTRY_ERROR` warnings. - `header` The header object (if it could be created, and the entry could not be created) for `TAR_ENTRY_INFO` and `TAR_ENTRY_INVALID` warnings. - `recoverable` Boolean. If `false`, then the warning will emit an `error`, even in non-strict mode. #### Error Codes * `TAR_ENTRY_INFO` An informative error indicating that an entry is being modified, but otherwise processed normally. For example, removing `/` or `C:\` from absolute paths if `preservePaths` is not set. * `TAR_ENTRY_INVALID` An indication that a given entry is not a valid tar archive entry, and will be skipped. This occurs when: - a checksum fails, - a `linkpath` is missing for a link type, or - a `linkpath` is provided for a non-link type. If every entry in a parsed archive raises an `TAR_ENTRY_INVALID` error, then the archive is presumed to be unrecoverably broken, and `TAR_BAD_ARCHIVE` will be raised. * `TAR_ENTRY_ERROR` The entry appears to be a valid tar archive entry, but encountered an error which prevented it from being unpacked. This occurs when: - an unrecoverable fs error happens during unpacking, - an entry has `..` in the path and `preservePaths` is not set, or - an entry is extracting through a symbolic link, when `preservePaths` is not set. * `TAR_ENTRY_UNSUPPORTED` An indication that a given entry is a valid archive entry, but of a type that is unsupported, and so will be skipped in archive creation or extracting. * `TAR_ABORT` When parsing gzipped-encoded archives, the parser will abort the parse process raise a warning for any zlib errors encountered. Aborts are considered unrecoverable for both parsing and unpacking. * `TAR_BAD_ARCHIVE` The archive file is totally hosed. This can happen for a number of reasons, and always occurs at the end of a parse or extract: - An entry body was truncated before seeing the full number of bytes. - The archive contained only invalid entries, indicating that it is likely not an archive, or at least, not an archive this library can parse. `TAR_BAD_ARCHIVE` is considered informative for parse operations, but unrecoverable for extraction. Note that, if encountered at the end of an extraction, tar WILL still have extracted as much it could from the archive, so there may be some garbage files to clean up. Errors that occur deeper in the system (ie, either the filesystem or zlib) will have their error codes left intact, and a `tarCode` matching one of the above will be added to the warning metadata or the raised error object. Errors generated by tar will have one of the above codes set as the `error.code` field as well, but since errors originating in zlib or fs will have their original codes, it's better to read `error.tarCode` if you wish to see how tar is handling the issue. ### Examples The API mimics the `tar(1)` command line functionality, with aliases for more human-readable option and function names. The goal is that if you know how to use `tar(1)` in Unix, then you know how to use `require('tar')` in JavaScript. To replicate `tar czf my-tarball.tgz files and folders`, you'd do: ```js tar.c( { gzip: <true|gzip options>, file: 'my-tarball.tgz' }, ['some', 'files', 'and', 'folders'] ).then(_ => { .. tarball has been created .. }) ``` To replicate `tar cz files and folders > my-tarball.tgz`, you'd do: ```js tar.c( // or tar.create { gzip: <true|gzip options> }, ['some', 'files', 'and', 'folders'] ).pipe(fs.createWriteStream('my-tarball.tgz')) ``` To replicate `tar xf my-tarball.tgz` you'd do: ```js tar.x( // or tar.extract( { file: 'my-tarball.tgz' } ).then(_=> { .. tarball has been dumped in cwd .. }) ``` To replicate `cat my-tarball.tgz | tar x -C some-dir --strip=1`: ```js fs.createReadStream('my-tarball.tgz').pipe( tar.x({ strip: 1, C: 'some-dir' // alias for cwd:'some-dir', also ok }) ) ``` To replicate `tar tf my-tarball.tgz`, do this: ```js tar.t({ file: 'my-tarball.tgz', onentry: entry => { .. do whatever with it .. } }) ``` For example, to just get the list of filenames from an archive: ```js const getEntryFilenames = async tarballFilename => { const filenames = [] await tar.t({ file: tarballFilename, onentry: entry => filenames.push(entry.path), }) return filenames } ``` To replicate `cat my-tarball.tgz | tar t` do: ```js fs.createReadStream('my-tarball.tgz') .pipe(tar.t()) .on('entry', entry => { .. do whatever with it .. }) ``` To do anything synchronous, add `sync: true` to the options. Note that sync functions don't take a callback and don't return a promise. When the function returns, it's already done. Sync methods without a file argument return a sync stream, which flushes immediately. But, of course, it still won't be done until you `.end()` it. ```js const getEntryFilenamesSync = tarballFilename => { const filenames = [] tar.t({ file: tarballFilename, onentry: entry => filenames.push(entry.path), sync: true, }) return filenames } ``` To filter entries, add `filter: <function>` to the options. Tar-creating methods call the filter with `filter(path, stat)`. Tar-reading methods (including extraction) call the filter with `filter(path, entry)`. The filter is called in the `this`-context of the `Pack` or `Unpack` stream object. The arguments list to `tar t` and `tar x` specify a list of filenames to extract or list, so they're equivalent to a filter that tests if the file is in the list. For those who _aren't_ fans of tar's single-character command names: ``` tar.c === tar.create tar.r === tar.replace (appends to archive, file is required) tar.u === tar.update (appends if newer, file is required) tar.x === tar.extract tar.t === tar.list ``` Keep reading for all the command descriptions and options, as well as the low-level API that they are built on. ### tar.c(options, fileList, callback) [alias: tar.create] Create a tarball archive. The `fileList` is an array of paths to add to the tarball. Adding a directory also adds its children recursively. An entry in `fileList` that starts with an `@` symbol is a tar archive whose entries will be added. To add a file that starts with `@`, prepend it with `./`. The following options are supported: - `file` Write the tarball archive to the specified filename. If this is specified, then the callback will be fired when the file has been written, and a promise will be returned that resolves when the file is written. If a filename is not specified, then a Readable Stream will be returned which will emit the file data. [Alias: `f`] - `sync` Act synchronously. If this is set, then any provided file will be fully written after the call to `tar.c`. If this is set, and a file is not provided, then the resulting stream will already have the data ready to `read` or `emit('data')` as soon as you request it. - `onwarn` A function that will get called with `(code, message, data)` for any warnings encountered. (See "Warnings and Errors") - `strict` Treat warnings as crash-worthy errors. Default false. - `cwd` The current working directory for creating the archive. Defaults to `process.cwd()`. [Alias: `C`] - `prefix` A path portion to prefix onto the entries in the archive. - `gzip` Set to any truthy value to create a gzipped archive, or an object with settings for `zlib.Gzip()` [Alias: `z`] - `filter` A function that gets called with `(path, stat)` for each entry being added. Return `true` to add the entry to the archive, or `false` to omit it. - `portable` Omit metadata that is system-specific: `ctime`, `atime`, `uid`, `gid`, `uname`, `gname`, `dev`, `ino`, and `nlink`. Note that `mtime` is still included, because this is necessary for other time-based operations. Additionally, `mode` is set to a "reasonable default" for most unix systems, based on a `umask` value of `0o22`. - `preservePaths` Allow absolute paths. By default, `/` is stripped from absolute paths. [Alias: `P`] - `mode` The mode to set on the created file archive - `noDirRecurse` Do not recursively archive the contents of directories. [Alias: `n`] - `follow` Set to true to pack the targets of symbolic links. Without this option, symbolic links are archived as such. [Alias: `L`, `h`] - `noPax` Suppress pax extended headers. Note that this means that long paths and linkpaths will be truncated, and large or negative numeric values may be interpreted incorrectly. - `noMtime` Set to true to omit writing `mtime` values for entries. Note that this prevents using other mtime-based features like `tar.update` or the `keepNewer` option with the resulting tar archive. [Alias: `m`, `no-mtime`] - `mtime` Set to a `Date` object to force a specific `mtime` for everything added to the archive. Overridden by `noMtime`. The following options are mostly internal, but can be modified in some advanced use cases, such as re-using caches between runs. - `linkCache` A Map object containing the device and inode value for any file whose nlink is > 1, to identify hard links. - `statCache` A Map object that caches calls `lstat`. - `readdirCache` A Map object that caches calls to `readdir`. - `jobs` A number specifying how many concurrent jobs to run. Defaults to 4. - `maxReadSize` The maximum buffer size for `fs.read()` operations. Defaults to 16 MB. ### tar.x(options, fileList, callback) [alias: tar.extract] Extract a tarball archive. The `fileList` is an array of paths to extract from the tarball. If no paths are provided, then all the entries are extracted. If the archive is gzipped, then tar will detect this and unzip it. Note that all directories that are created will be forced to be writable, readable, and listable by their owner, to avoid cases where a directory prevents extraction of child entries by virtue of its mode. Most extraction errors will cause a `warn` event to be emitted. If the `cwd` is missing, or not a directory, then the extraction will fail completely. The following options are supported: - `cwd` Extract files relative to the specified directory. Defaults to `process.cwd()`. If provided, this must exist and must be a directory. [Alias: `C`] - `file` The archive file to extract. If not specified, then a Writable stream is returned where the archive data should be written. [Alias: `f`] - `sync` Create files and directories synchronously. - `strict` Treat warnings as crash-worthy errors. Default false. - `filter` A function that gets called with `(path, entry)` for each entry being unpacked. Return `true` to unpack the entry from the archive, or `false` to skip it. - `newer` Set to true to keep the existing file on disk if it's newer than the file in the archive. [Alias: `keep-newer`, `keep-newer-files`] - `keep` Do not overwrite existing files. In particular, if a file appears more than once in an archive, later copies will not overwrite earlier copies. [Alias: `k`, `keep-existing`] - `preservePaths` Allow absolute paths, paths containing `..`, and extracting through symbolic links. By default, `/` is stripped from absolute paths, `..` paths are not extracted, and any file whose location would be modified by a symbolic link is not extracted. [Alias: `P`] - `unlink` Unlink files before creating them. Without this option, tar overwrites existing files, which preserves existing hardlinks. With this option, existing hardlinks will be broken, as will any symlink that would affect the location of an extracted file. [Alias: `U`] - `strip` Remove the specified number of leading path elements. Pathnames with fewer elements will be silently skipped. Note that the pathname is edited after applying the filter, but before security checks. [Alias: `strip-components`, `stripComponents`] - `onwarn` A function that will get called with `(code, message, data)` for any warnings encountered. (See "Warnings and Errors") - `preserveOwner` If true, tar will set the `uid` and `gid` of extracted entries to the `uid` and `gid` fields in the archive. This defaults to true when run as root, and false otherwise. If false, then files and directories will be set with the owner and group of the user running the process. This is similar to `-p` in `tar(1)`, but ACLs and other system-specific data is never unpacked in this implementation, and modes are set by default already. [Alias: `p`] - `uid` Set to a number to force ownership of all extracted files and folders, and all implicitly created directories, to be owned by the specified user id, regardless of the `uid` field in the archive. Cannot be used along with `preserveOwner`. Requires also setting a `gid` option. - `gid` Set to a number to force ownership of all extracted files and folders, and all implicitly created directories, to be owned by the specified group id, regardless of the `gid` field in the archive. Cannot be used along with `preserveOwner`. Requires also setting a `uid` option. - `noMtime` Set to true to omit writing `mtime` value for extracted entries. [Alias: `m`, `no-mtime`] - `transform` Provide a function that takes an `entry` object, and returns a stream, or any falsey value. If a stream is provided, then that stream's data will be written instead of the contents of the archive entry. If a falsey value is provided, then the entry is written to disk as normal. (To exclude items from extraction, use the `filter` option described above.) - `onentry` A function that gets called with `(entry)` for each entry that passes the filter. - `onwarn` A function that will get called with `(code, message, data)` for any warnings encountered. (See "Warnings and Errors") - `noChmod` Set to true to omit calling `fs.chmod()` to ensure that the extracted file matches the entry mode. This also suppresses the call to `process.umask()` to determine the default umask value, since tar will extract with whatever mode is provided, and let the process `umask` apply normally. The following options are mostly internal, but can be modified in some advanced use cases, such as re-using caches between runs. - `maxReadSize` The maximum buffer size for `fs.read()` operations. Defaults to 16 MB. - `umask` Filter the modes of entries like `process.umask()`. - `dmode` Default mode for directories - `fmode` Default mode for files - `dirCache` A Map object of which directories exist. - `maxMetaEntrySize` The maximum size of meta entries that is supported. Defaults to 1 MB. Note that using an asynchronous stream type with the `transform` option will cause undefined behavior in sync extractions. [MiniPass](http://npm.im/minipass)-based streams are designed for this use case. ### tar.t(options, fileList, callback) [alias: tar.list] List the contents of a tarball archive. The `fileList` is an array of paths to list from the tarball. If no paths are provided, then all the entries are listed. If the archive is gzipped, then tar will detect this and unzip it. If the `file` option is _not_ provided, then returns an event emitter that emits `entry` events with `tar.ReadEntry` objects. However, they don't emit `'data'` or `'end'` events. (If you want to get actual readable entries, use the `tar.Parse` class instead.) If a `file` option _is_ provided, then the return value will be a promise that resolves when the file has been fully traversed in async mode, or `undefined` if `sync: true` is set. Thus, you _must_ specify an `onentry` method in order to do anything useful with the data it parses. The following options are supported: - `file` The archive file to list. If not specified, then a Writable stream is returned where the archive data should be written. [Alias: `f`] - `sync` Read the specified file synchronously. (This has no effect when a file option isn't specified, because entries are emitted as fast as they are parsed from the stream anyway.) - `strict` Treat warnings as crash-worthy errors. Default false. - `filter` A function that gets called with `(path, entry)` for each entry being listed. Return `true` to emit the entry from the archive, or `false` to skip it. - `onentry` A function that gets called with `(entry)` for each entry that passes the filter. This is important for when `file` is set, because there is no other way to do anything useful with this method. - `maxReadSize` The maximum buffer size for `fs.read()` operations. Defaults to 16 MB. - `noResume` By default, `entry` streams are resumed immediately after the call to `onentry`. Set `noResume: true` to suppress this behavior. Note that by opting into this, the stream will never complete until the entry data is consumed. - `onwarn` A function that will get called with `(code, message, data)` for any warnings encountered. (See "Warnings and Errors") ### tar.u(options, fileList, callback) [alias: tar.update] Add files to an archive if they are newer than the entry already in the tarball archive. The `fileList` is an array of paths to add to the tarball. Adding a directory also adds its children recursively. An entry in `fileList` that starts with an `@` symbol is a tar archive whose entries will be added. To add a file that starts with `@`, prepend it with `./`. The following options are supported: - `file` Required. Write the tarball archive to the specified filename. [Alias: `f`] - `sync` Act synchronously. If this is set, then any provided file will be fully written after the call to `tar.c`. - `onwarn` A function that will get called with `(code, message, data)` for any warnings encountered. (See "Warnings and Errors") - `strict` Treat warnings as crash-worthy errors. Default false. - `cwd` The current working directory for adding entries to the archive. Defaults to `process.cwd()`. [Alias: `C`] - `prefix` A path portion to prefix onto the entries in the archive. - `gzip` Set to any truthy value to create a gzipped archive, or an object with settings for `zlib.Gzip()` [Alias: `z`] - `filter` A function that gets called with `(path, stat)` for each entry being added. Return `true` to add the entry to the archive, or `false` to omit it. - `portable` Omit metadata that is system-specific: `ctime`, `atime`, `uid`, `gid`, `uname`, `gname`, `dev`, `ino`, and `nlink`. Note that `mtime` is still included, because this is necessary for other time-based operations. Additionally, `mode` is set to a "reasonable default" for most unix systems, based on a `umask` value of `0o22`. - `preservePaths` Allow absolute paths. By default, `/` is stripped from absolute paths. [Alias: `P`] - `maxReadSize` The maximum buffer size for `fs.read()` operations. Defaults to 16 MB. - `noDirRecurse` Do not recursively archive the contents of directories. [Alias: `n`] - `follow` Set to true to pack the targets of symbolic links. Without this option, symbolic links are archived as such. [Alias: `L`, `h`] - `noPax` Suppress pax extended headers. Note that this means that long paths and linkpaths will be truncated, and large or negative numeric values may be interpreted incorrectly. - `noMtime` Set to true to omit writing `mtime` values for entries. Note that this prevents using other mtime-based features like `tar.update` or the `keepNewer` option with the resulting tar archive. [Alias: `m`, `no-mtime`] - `mtime` Set to a `Date` object to force a specific `mtime` for everything added to the archive. Overridden by `noMtime`. ### tar.r(options, fileList, callback) [alias: tar.replace] Add files to an existing archive. Because later entries override earlier entries, this effectively replaces any existing entries. The `fileList` is an array of paths to add to the tarball. Adding a directory also adds its children recursively. An entry in `fileList` that starts with an `@` symbol is a tar archive whose entries will be added. To add a file that starts with `@`, prepend it with `./`. The following options are supported: - `file` Required. Write the tarball archive to the specified filename. [Alias: `f`] - `sync` Act synchronously. If this is set, then any provided file will be fully written after the call to `tar.c`. - `onwarn` A function that will get called with `(code, message, data)` for any warnings encountered. (See "Warnings and Errors") - `strict` Treat warnings as crash-worthy errors. Default false. - `cwd` The current working directory for adding entries to the archive. Defaults to `process.cwd()`. [Alias: `C`] - `prefix` A path portion to prefix onto the entries in the archive. - `gzip` Set to any truthy value to create a gzipped archive, or an object with settings for `zlib.Gzip()` [Alias: `z`] - `filter` A function that gets called with `(path, stat)` for each entry being added. Return `true` to add the entry to the archive, or `false` to omit it. - `portable` Omit metadata that is system-specific: `ctime`, `atime`, `uid`, `gid`, `uname`, `gname`, `dev`, `ino`, and `nlink`. Note that `mtime` is still included, because this is necessary for other time-based operations. Additionally, `mode` is set to a "reasonable default" for most unix systems, based on a `umask` value of `0o22`. - `preservePaths` Allow absolute paths. By default, `/` is stripped from absolute paths. [Alias: `P`] - `maxReadSize` The maximum buffer size for `fs.read()` operations. Defaults to 16 MB. - `noDirRecurse` Do not recursively archive the contents of directories. [Alias: `n`] - `follow` Set to true to pack the targets of symbolic links. Without this option, symbolic links are archived as such. [Alias: `L`, `h`] - `noPax` Suppress pax extended headers. Note that this means that long paths and linkpaths will be truncated, and large or negative numeric values may be interpreted incorrectly. - `noMtime` Set to true to omit writing `mtime` values for entries. Note that this prevents using other mtime-based features like `tar.update` or the `keepNewer` option with the resulting tar archive. [Alias: `m`, `no-mtime`] - `mtime` Set to a `Date` object to force a specific `mtime` for everything added to the archive. Overridden by `noMtime`. ## Low-Level API ### class tar.Pack A readable tar stream. Has all the standard readable stream interface stuff. `'data'` and `'end'` events, `read()` method, `pause()` and `resume()`, etc. #### constructor(options) The following options are supported: - `onwarn` A function that will get called with `(code, message, data)` for any warnings encountered. (See "Warnings and Errors") - `strict` Treat warnings as crash-worthy errors. Default false. - `cwd` The current working directory for creating the archive. Defaults to `process.cwd()`. - `prefix` A path portion to prefix onto the entries in the archive. - `gzip` Set to any truthy value to create a gzipped archive, or an object with settings for `zlib.Gzip()` - `filter` A function that gets called with `(path, stat)` for each entry being added. Return `true` to add the entry to the archive, or `false` to omit it. - `portable` Omit metadata that is system-specific: `ctime`, `atime`, `uid`, `gid`, `uname`, `gname`, `dev`, `ino`, and `nlink`. Note that `mtime` is still included, because this is necessary for other time-based operations. Additionally, `mode` is set to a "reasonable default" for most unix systems, based on a `umask` value of `0o22`. - `preservePaths` Allow absolute paths. By default, `/` is stripped from absolute paths. - `linkCache` A Map object containing the device and inode value for any file whose nlink is > 1, to identify hard links. - `statCache` A Map object that caches calls `lstat`. - `readdirCache` A Map object that caches calls to `readdir`. - `jobs` A number specifying how many concurrent jobs to run. Defaults to 4. - `maxReadSize` The maximum buffer size for `fs.read()` operations. Defaults to 16 MB. - `noDirRecurse` Do not recursively archive the contents of directories. - `follow` Set to true to pack the targets of symbolic links. Without this option, symbolic links are archived as such. - `noPax` Suppress pax extended headers. Note that this means that long paths and linkpaths will be truncated, and large or negative numeric values may be interpreted incorrectly. - `noMtime` Set to true to omit writing `mtime` values for entries. Note that this prevents using other mtime-based features like `tar.update` or the `keepNewer` option with the resulting tar archive. - `mtime` Set to a `Date` object to force a specific `mtime` for everything added to the archive. Overridden by `noMtime`. #### add(path) Adds an entry to the archive. Returns the Pack stream. #### write(path) Adds an entry to the archive. Returns true if flushed. #### end() Finishes the archive. ### class tar.Pack.Sync Synchronous version of `tar.Pack`. ### class tar.Unpack A writable stream that unpacks a tar archive onto the file system. All the normal writable stream stuff is supported. `write()` and `end()` methods, `'drain'` events, etc. Note that all directories that are created will be forced to be writable, readable, and listable by their owner, to avoid cases where a directory prevents extraction of child entries by virtue of its mode. `'close'` is emitted when it's done writing stuff to the file system. Most unpack errors will cause a `warn` event to be emitted. If the `cwd` is missing, or not a directory, then an error will be emitted. #### constructor(options) - `cwd` Extract files relative to the specified directory. Defaults to `process.cwd()`. If provided, this must exist and must be a directory. - `filter` A function that gets called with `(path, entry)` for each entry being unpacked. Return `true` to unpack the entry from the archive, or `false` to skip it. - `newer` Set to true to keep the existing file on disk if it's newer than the file in the archive. - `keep` Do not overwrite existing files. In particular, if a file appears more than once in an archive, later copies will not overwrite earlier copies. - `preservePaths` Allow absolute paths, paths containing `..`, and extracting through symbolic links. By default, `/` is stripped from absolute paths, `..` paths are not extracted, and any file whose location would be modified by a symbolic link is not extracted. - `unlink` Unlink files before creating them. Without this option, tar overwrites existing files, which preserves existing hardlinks. With this option, existing hardlinks will be broken, as will any symlink that would affect the location of an extracted file. - `strip` Remove the specified number of leading path elements. Pathnames with fewer elements will be silently skipped. Note that the pathname is edited after applying the filter, but before security checks. - `onwarn` A function that will get called with `(code, message, data)` for any warnings encountered. (See "Warnings and Errors") - `umask` Filter the modes of entries like `process.umask()`. - `dmode` Default mode for directories - `fmode` Default mode for files - `dirCache` A Map object of which directories exist. - `maxMetaEntrySize` The maximum size of meta entries that is supported. Defaults to 1 MB. - `preserveOwner` If true, tar will set the `uid` and `gid` of extracted entries to the `uid` and `gid` fields in the archive. This defaults to true when run as root, and false otherwise. If false, then files and directories will be set with the owner and group of the user running the process. This is similar to `-p` in `tar(1)`, but ACLs and other system-specific data is never unpacked in this implementation, and modes are set by default already. - `win32` True if on a windows platform. Causes behavior where filenames containing `<|>?` chars are converted to windows-compatible values while being unpacked. - `uid` Set to a number to force ownership of all extracted files and folders, and all implicitly created directories, to be owned by the specified user id, regardless of the `uid` field in the archive. Cannot be used along with `preserveOwner`. Requires also setting a `gid` option. - `gid` Set to a number to force ownership of all extracted files and folders, and all implicitly created directories, to be owned by the specified group id, regardless of the `gid` field in the archive. Cannot be used along with `preserveOwner`. Requires also setting a `uid` option. - `noMtime` Set to true to omit writing `mtime` value for extracted entries. - `transform` Provide a function that takes an `entry` object, and returns a stream, or any falsey value. If a stream is provided, then that stream's data will be written instead of the contents of the archive entry. If a falsey value is provided, then the entry is written to disk as normal. (To exclude items from extraction, use the `filter` option described above.) - `strict` Treat warnings as crash-worthy errors. Default false. - `onentry` A function that gets called with `(entry)` for each entry that passes the filter. - `onwarn` A function that will get called with `(code, message, data)` for any warnings encountered. (See "Warnings and Errors") - `noChmod` Set to true to omit calling `fs.chmod()` to ensure that the extracted file matches the entry mode. This also suppresses the call to `process.umask()` to determine the default umask value, since tar will extract with whatever mode is provided, and let the process `umask` apply normally. ### class tar.Unpack.Sync Synchronous version of `tar.Unpack`. Note that using an asynchronous stream type with the `transform` option will cause undefined behavior in sync unpack streams. [MiniPass](http://npm.im/minipass)-based streams are designed for this use case. ### class tar.Parse A writable stream that parses a tar archive stream. All the standard writable stream stuff is supported. If the archive is gzipped, then tar will detect this and unzip it. Emits `'entry'` events with `tar.ReadEntry` objects, which are themselves readable streams that you can pipe wherever. Each `entry` will not emit until the one before it is flushed through, so make sure to either consume the data (with `on('data', ...)` or `.pipe(...)`) or throw it away with `.resume()` to keep the stream flowing. #### constructor(options) Returns an event emitter that emits `entry` events with `tar.ReadEntry` objects. The following options are supported: - `strict` Treat warnings as crash-worthy errors. Default false. - `filter` A function that gets called with `(path, entry)` for each entry being listed. Return `true` to emit the entry from the archive, or `false` to skip it. - `onentry` A function that gets called with `(entry)` for each entry that passes the filter. - `onwarn` A function that will get called with `(code, message, data)` for any warnings encountered. (See "Warnings and Errors") #### abort(error) Stop all parsing activities. This is called when there are zlib errors. It also emits an unrecoverable warning with the error provided. ### class tar.ReadEntry extends [MiniPass](http://npm.im/minipass) A representation of an entry that is being read out of a tar archive. It has the following fields: - `extended` The extended metadata object provided to the constructor. - `globalExtended` The global extended metadata object provided to the constructor. - `remain` The number of bytes remaining to be written into the stream. - `blockRemain` The number of 512-byte blocks remaining to be written into the stream. - `ignore` Whether this entry should be ignored. - `meta` True if this represents metadata about the next entry, false if it represents a filesystem object. - All the fields from the header, extended header, and global extended header are added to the ReadEntry object. So it has `path`, `type`, `size`, `mode`, and so on. #### constructor(header, extended, globalExtended) Create a new ReadEntry object with the specified header, extended header, and global extended header values. ### class tar.WriteEntry extends [MiniPass](http://npm.im/minipass) A representation of an entry that is being written from the file system into a tar archive. Emits data for the Header, and for the Pax Extended Header if one is required, as well as any body data. Creating a WriteEntry for a directory does not also create WriteEntry objects for all of the directory contents. It has the following fields: - `path` The path field that will be written to the archive. By default, this is also the path from the cwd to the file system object. - `portable` Omit metadata that is system-specific: `ctime`, `atime`, `uid`, `gid`, `uname`, `gname`, `dev`, `ino`, and `nlink`. Note that `mtime` is still included, because this is necessary for other time-based operations. Additionally, `mode` is set to a "reasonable default" for most unix systems, based on a `umask` value of `0o22`. - `myuid` If supported, the uid of the user running the current process. - `myuser` The `env.USER` string if set, or `''`. Set as the entry `uname` field if the file's `uid` matches `this.myuid`. - `maxReadSize` The maximum buffer size for `fs.read()` operations. Defaults to 1 MB. - `linkCache` A Map object containing the device and inode value for any file whose nlink is > 1, to identify hard links. - `statCache` A Map object that caches calls `lstat`. - `preservePaths` Allow absolute paths. By default, `/` is stripped from absolute paths. - `cwd` The current working directory for creating the archive. Defaults to `process.cwd()`. - `absolute` The absolute path to the entry on the filesystem. By default, this is `path.resolve(this.cwd, this.path)`, but it can be overridden explicitly. - `strict` Treat warnings as crash-worthy errors. Default false. - `win32` True if on a windows platform. Causes behavior where paths replace `\` with `/` and filenames containing the windows-compatible forms of `<|>?:` characters are converted to actual `<|>?:` characters in the archive. - `noPax` Suppress pax extended headers. Note that this means that long paths and linkpaths will be truncated, and large or negative numeric values may be interpreted incorrectly. - `noMtime` Set to true to omit writing `mtime` values for entries. Note that this prevents using other mtime-based features like `tar.update` or the `keepNewer` option with the resulting tar archive. #### constructor(path, options) `path` is the path of the entry as it is written in the archive. The following options are supported: - `portable` Omit metadata that is system-specific: `ctime`, `atime`, `uid`, `gid`, `uname`, `gname`, `dev`, `ino`, and `nlink`. Note that `mtime` is still included, because this is necessary for other time-based operations. Additionally, `mode` is set to a "reasonable default" for most unix systems, based on a `umask` value of `0o22`. - `maxReadSize` The maximum buffer size for `fs.read()` operations. Defaults to 1 MB. - `linkCache` A Map object containing the device and inode value for any file whose nlink is > 1, to identify hard links. - `statCache` A Map object that caches calls `lstat`. - `preservePaths` Allow absolute paths. By default, `/` is stripped from absolute paths. - `cwd` The current working directory for creating the archive. Defaults to `process.cwd()`. - `absolute` The absolute path to the entry on the filesystem. By default, this is `path.resolve(this.cwd, this.path)`, but it can be overridden explicitly. - `strict` Treat warnings as crash-worthy errors. Default false. - `win32` True if on a windows platform. Causes behavior where paths replace `\` with `/`. - `onwarn` A function that will get called with `(code, message, data)` for any warnings encountered. (See "Warnings and Errors") - `noMtime` Set to true to omit writing `mtime` values for entries. Note that this prevents using other mtime-based features like `tar.update` or the `keepNewer` option with the resulting tar archive. - `umask` Set to restrict the modes on the entries in the archive, somewhat like how umask works on file creation. Defaults to `process.umask()` on unix systems, or `0o22` on Windows. #### warn(message, data) If strict, emit an error with the provided message. Othewise, emit a `'warn'` event with the provided message and data. ### class tar.WriteEntry.Sync Synchronous version of tar.WriteEntry ### class tar.WriteEntry.Tar A version of tar.WriteEntry that gets its data from a tar.ReadEntry instead of from the filesystem. #### constructor(readEntry, options) `readEntry` is the entry being read out of another archive. The following options are supported: - `portable` Omit metadata that is system-specific: `ctime`, `atime`, `uid`, `gid`, `uname`, `gname`, `dev`, `ino`, and `nlink`. Note that `mtime` is still included, because this is necessary for other time-based operations. Additionally, `mode` is set to a "reasonable default" for most unix systems, based on a `umask` value of `0o22`. - `preservePaths` Allow absolute paths. By default, `/` is stripped from absolute paths. - `strict` Treat warnings as crash-worthy errors. Default false. - `onwarn` A function that will get called with `(code, message, data)` for any warnings encountered. (See "Warnings and Errors") - `noMtime` Set to true to omit writing `mtime` values for entries. Note that this prevents using other mtime-based features like `tar.update` or the `keepNewer` option with the resulting tar archive. ### class tar.Header A class for reading and writing header blocks. It has the following fields: - `nullBlock` True if decoding a block which is entirely composed of `0x00` null bytes. (Useful because tar files are terminated by at least 2 null blocks.) - `cksumValid` True if the checksum in the header is valid, false otherwise. - `needPax` True if the values, as encoded, will require a Pax extended header. - `path` The path of the entry. - `mode` The 4 lowest-order octal digits of the file mode. That is, read/write/execute permissions for world, group, and owner, and the setuid, setgid, and sticky bits. - `uid` Numeric user id of the file owner - `gid` Numeric group id of the file owner - `size` Size of the file in bytes - `mtime` Modified time of the file - `cksum` The checksum of the header. This is generated by adding all the bytes of the header block, treating the checksum field itself as all ascii space characters (that is, `0x20`). - `type` The human-readable name of the type of entry this represents, or the alphanumeric key if unknown. - `typeKey` The alphanumeric key for the type of entry this header represents. - `linkpath` The target of Link and SymbolicLink entries. - `uname` Human-readable user name of the file owner - `gname` Human-readable group name of the file owner - `devmaj` The major portion of the device number. Always `0` for files, directories, and links. - `devmin` The minor portion of the device number. Always `0` for files, directories, and links. - `atime` File access time. - `ctime` File change time. #### constructor(data, [offset=0]) `data` is optional. It is either a Buffer that should be interpreted as a tar Header starting at the specified offset and continuing for 512 bytes, or a data object of keys and values to set on the header object, and eventually encode as a tar Header. #### decode(block, offset) Decode the provided buffer starting at the specified offset. Buffer length must be greater than 512 bytes. #### set(data) Set the fields in the data object. #### encode(buffer, offset) Encode the header fields into the buffer at the specified offset. Returns `this.needPax` to indicate whether a Pax Extended Header is required to properly encode the specified data. ### class tar.Pax An object representing a set of key-value pairs in an Pax extended header entry. It has the following fields. Where the same name is used, they have the same semantics as the tar.Header field of the same name. - `global` True if this represents a global extended header, or false if it is for a single entry. - `atime` - `charset` - `comment` - `ctime` - `gid` - `gname` - `linkpath` - `mtime` - `path` - `size` - `uid` - `uname` - `dev` - `ino` - `nlink` #### constructor(object, global) Set the fields set in the object. `global` is a boolean that defaults to false. #### encode() Return a Buffer containing the header and body for the Pax extended header entry, or `null` if there is nothing to encode. #### encodeBody() Return a string representing the body of the pax extended header entry. #### encodeField(fieldName) Return a string representing the key/value encoding for the specified fieldName, or `''` if the field is unset. ### tar.Pax.parse(string, extended, global) Return a new Pax object created by parsing the contents of the string provided. If the `extended` object is set, then also add the fields from that object. (This is necessary because multiple metadata entries can occur in sequence.) ### tar.types A translation table for the `type` field in tar headers. #### tar.types.name.get(code) Get the human-readable name for a given alphanumeric code. #### tar.types.code.get(name) Get the alphanumeric code for a given human-readable name. ����������������������������������node-tar-6.1.13/SECURITY.md�������������������������������������������������������������������������0000664�0000000�0000000�00000002467�14344174136�0015124�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������<!-- This file is automatically added by @npmcli/template-oss. Do not edit. --> GitHub takes the security of our software products and services seriously, including the open source code repositories managed through our GitHub organizations, such as [GitHub](https://github.com/GitHub). If you believe you have found a security vulnerability in this GitHub-owned open source repository, you can report it to us in one of two ways. If the vulnerability you have found is *not* [in scope for the GitHub Bug Bounty Program](https://bounty.github.com/#scope) or if you do not wish to be considered for a bounty reward, please report the issue to us directly using [private vulnerability reporting](https://docs.github.com/en/code-security/security-advisories/guidance-on-reporting-and-writing/privately-reporting-a-security-vulnerability). If the vulnerability you have found is [in scope for the GitHub Bug Bounty Program](https://bounty.github.com/#scope) and you would like for your finding to be considered for a bounty reward, please submit the vulnerability to us through [HackerOne](https://hackerone.com/github) in order to be eligible to receive a bounty award. **Please do not report security vulnerabilities through public GitHub issues, discussions, or pull requests.** Thanks for helping make GitHub safe for everyone. ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/index.js����������������������������������������������������������������������������0000664�0000000�0000000�00000001253�14344174136�0014770�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������'use strict' // high-level commands exports.c = exports.create = require('./lib/create.js') exports.r = exports.replace = require('./lib/replace.js') exports.t = exports.list = require('./lib/list.js') exports.u = exports.update = require('./lib/update.js') exports.x = exports.extract = require('./lib/extract.js') // classes exports.Pack = require('./lib/pack.js') exports.Unpack = require('./lib/unpack.js') exports.Parse = require('./lib/parse.js') exports.ReadEntry = require('./lib/read-entry.js') exports.WriteEntry = require('./lib/write-entry.js') exports.Header = require('./lib/header.js') exports.Pax = require('./lib/pax.js') exports.types = require('./lib/types.js') �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/lib/��������������������������������������������������������������������������������0000775�0000000�0000000�00000000000�14344174136�0014070�5����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/lib/create.js�����������������������������������������������������������������������0000664�0000000�0000000�00000004533�14344174136�0015676�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������'use strict' // tar -c const hlo = require('./high-level-opt.js') const Pack = require('./pack.js') const fsm = require('fs-minipass') const t = require('./list.js') const path = require('path') module.exports = (opt_, files, cb) => { if (typeof files === 'function') { cb = files } if (Array.isArray(opt_)) { files = opt_, opt_ = {} } if (!files || !Array.isArray(files) || !files.length) { throw new TypeError('no files or directories specified') } files = Array.from(files) const opt = hlo(opt_) if (opt.sync && typeof cb === 'function') { throw new TypeError('callback not supported for sync tar functions') } if (!opt.file && typeof cb === 'function') { throw new TypeError('callback only supported with file option') } return opt.file && opt.sync ? createFileSync(opt, files) : opt.file ? createFile(opt, files, cb) : opt.sync ? createSync(opt, files) : create(opt, files) } const createFileSync = (opt, files) => { const p = new Pack.Sync(opt) const stream = new fsm.WriteStreamSync(opt.file, { mode: opt.mode || 0o666, }) p.pipe(stream) addFilesSync(p, files) } const createFile = (opt, files, cb) => { const p = new Pack(opt) const stream = new fsm.WriteStream(opt.file, { mode: opt.mode || 0o666, }) p.pipe(stream) const promise = new Promise((res, rej) => { stream.on('error', rej) stream.on('close', res) p.on('error', rej) }) addFilesAsync(p, files) return cb ? promise.then(cb, cb) : promise } const addFilesSync = (p, files) => { files.forEach(file => { if (file.charAt(0) === '@') { t({ file: path.resolve(p.cwd, file.slice(1)), sync: true, noResume: true, onentry: entry => p.add(entry), }) } else { p.add(file) } }) p.end() } const addFilesAsync = (p, files) => { while (files.length) { const file = files.shift() if (file.charAt(0) === '@') { return t({ file: path.resolve(p.cwd, file.slice(1)), noResume: true, onentry: entry => p.add(entry), }).then(_ => addFilesAsync(p, files)) } else { p.add(file) } } p.end() } const createSync = (opt, files) => { const p = new Pack.Sync(opt) addFilesSync(p, files) return p } const create = (opt, files) => { const p = new Pack(opt) addFilesAsync(p, files) return p } ���������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/lib/extract.js����������������������������������������������������������������������0000664�0000000�0000000�00000005444�14344174136�0016107�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������'use strict' // tar -x const hlo = require('./high-level-opt.js') const Unpack = require('./unpack.js') const fs = require('fs') const fsm = require('fs-minipass') const path = require('path') const stripSlash = require('./strip-trailing-slashes.js') module.exports = (opt_, files, cb) => { if (typeof opt_ === 'function') { cb = opt_, files = null, opt_ = {} } else if (Array.isArray(opt_)) { files = opt_, opt_ = {} } if (typeof files === 'function') { cb = files, files = null } if (!files) { files = [] } else { files = Array.from(files) } const opt = hlo(opt_) if (opt.sync && typeof cb === 'function') { throw new TypeError('callback not supported for sync tar functions') } if (!opt.file && typeof cb === 'function') { throw new TypeError('callback only supported with file option') } if (files.length) { filesFilter(opt, files) } return opt.file && opt.sync ? extractFileSync(opt) : opt.file ? extractFile(opt, cb) : opt.sync ? extractSync(opt) : extract(opt) } // construct a filter that limits the file entries listed // include child entries if a dir is included const filesFilter = (opt, files) => { const map = new Map(files.map(f => [stripSlash(f), true])) const filter = opt.filter const mapHas = (file, r) => { const root = r || path.parse(file).root || '.' const ret = file === root ? false : map.has(file) ? map.get(file) : mapHas(path.dirname(file), root) map.set(file, ret) return ret } opt.filter = filter ? (file, entry) => filter(file, entry) && mapHas(stripSlash(file)) : file => mapHas(stripSlash(file)) } const extractFileSync = opt => { const u = new Unpack.Sync(opt) const file = opt.file const stat = fs.statSync(file) // This trades a zero-byte read() syscall for a stat // However, it will usually result in less memory allocation const readSize = opt.maxReadSize || 16 * 1024 * 1024 const stream = new fsm.ReadStreamSync(file, { readSize: readSize, size: stat.size, }) stream.pipe(u) } const extractFile = (opt, cb) => { const u = new Unpack(opt) const readSize = opt.maxReadSize || 16 * 1024 * 1024 const file = opt.file const p = new Promise((resolve, reject) => { u.on('error', reject) u.on('close', resolve) // This trades a zero-byte read() syscall for a stat // However, it will usually result in less memory allocation fs.stat(file, (er, stat) => { if (er) { reject(er) } else { const stream = new fsm.ReadStream(file, { readSize: readSize, size: stat.size, }) stream.on('error', reject) stream.pipe(u) } }) }) return cb ? p.then(cb, cb) : p } const extractSync = opt => new Unpack.Sync(opt) const extract = opt => new Unpack(opt) ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/lib/get-write-flag.js���������������������������������������������������������������0000664�0000000�0000000�00000001631�14344174136�0017245�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������// Get the appropriate flag to use for creating files // We use fmap on Windows platforms for files less than // 512kb. This is a fairly low limit, but avoids making // things slower in some cases. Since most of what this // library is used for is extracting tarballs of many // relatively small files in npm packages and the like, // it can be a big boost on Windows platforms. // Only supported in Node v12.9.0 and above. const platform = process.env.__FAKE_PLATFORM__ || process.platform const isWindows = platform === 'win32' const fs = global.__FAKE_TESTING_FS__ || require('fs') /* istanbul ignore next */ const { O_CREAT, O_TRUNC, O_WRONLY, UV_FS_O_FILEMAP = 0 } = fs.constants const fMapEnabled = isWindows && !!UV_FS_O_FILEMAP const fMapLimit = 512 * 1024 const fMapFlag = UV_FS_O_FILEMAP | O_TRUNC | O_CREAT | O_WRONLY module.exports = !fMapEnabled ? () => 'w' : size => size < fMapLimit ? fMapFlag : 'w' �������������������������������������������������������������������������������������������������������node-tar-6.1.13/lib/header.js�����������������������������������������������������������������������0000664�0000000�0000000�00000021702�14344174136�0015660�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������'use strict' // parse a 512-byte header block to a data object, or vice-versa // encode returns `true` if a pax extended header is needed, because // the data could not be faithfully encoded in a simple header. // (Also, check header.needPax to see if it needs a pax header.) const types = require('./types.js') const pathModule = require('path').posix const large = require('./large-numbers.js') const SLURP = Symbol('slurp') const TYPE = Symbol('type') class Header { constructor (data, off, ex, gex) { this.cksumValid = false this.needPax = false this.nullBlock = false this.block = null this.path = null this.mode = null this.uid = null this.gid = null this.size = null this.mtime = null this.cksum = null this[TYPE] = '0' this.linkpath = null this.uname = null this.gname = null this.devmaj = 0 this.devmin = 0 this.atime = null this.ctime = null if (Buffer.isBuffer(data)) { this.decode(data, off || 0, ex, gex) } else if (data) { this.set(data) } } decode (buf, off, ex, gex) { if (!off) { off = 0 } if (!buf || !(buf.length >= off + 512)) { throw new Error('need 512 bytes for header') } this.path = decString(buf, off, 100) this.mode = decNumber(buf, off + 100, 8) this.uid = decNumber(buf, off + 108, 8) this.gid = decNumber(buf, off + 116, 8) this.size = decNumber(buf, off + 124, 12) this.mtime = decDate(buf, off + 136, 12) this.cksum = decNumber(buf, off + 148, 12) // if we have extended or global extended headers, apply them now // See https://github.com/npm/node-tar/pull/187 this[SLURP](ex) this[SLURP](gex, true) // old tar versions marked dirs as a file with a trailing / this[TYPE] = decString(buf, off + 156, 1) if (this[TYPE] === '') { this[TYPE] = '0' } if (this[TYPE] === '0' && this.path.slice(-1) === '/') { this[TYPE] = '5' } // tar implementations sometimes incorrectly put the stat(dir).size // as the size in the tarball, even though Directory entries are // not able to have any body at all. In the very rare chance that // it actually DOES have a body, we weren't going to do anything with // it anyway, and it'll just be a warning about an invalid header. if (this[TYPE] === '5') { this.size = 0 } this.linkpath = decString(buf, off + 157, 100) if (buf.slice(off + 257, off + 265).toString() === 'ustar\u000000') { this.uname = decString(buf, off + 265, 32) this.gname = decString(buf, off + 297, 32) this.devmaj = decNumber(buf, off + 329, 8) this.devmin = decNumber(buf, off + 337, 8) if (buf[off + 475] !== 0) { // definitely a prefix, definitely >130 chars. const prefix = decString(buf, off + 345, 155) this.path = prefix + '/' + this.path } else { const prefix = decString(buf, off + 345, 130) if (prefix) { this.path = prefix + '/' + this.path } this.atime = decDate(buf, off + 476, 12) this.ctime = decDate(buf, off + 488, 12) } } let sum = 8 * 0x20 for (let i = off; i < off + 148; i++) { sum += buf[i] } for (let i = off + 156; i < off + 512; i++) { sum += buf[i] } this.cksumValid = sum === this.cksum if (this.cksum === null && sum === 8 * 0x20) { this.nullBlock = true } } [SLURP] (ex, global) { for (const 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] } } } encode (buf, off) { if (!buf) { buf = this.block = Buffer.alloc(512) off = 0 } if (!off) { off = 0 } if (!(buf.length >= off + 512)) { throw new Error('need 512 bytes for header') } const prefixSize = this.ctime || this.atime ? 130 : 155 const split = splitPrefix(this.path || '', prefixSize) const path = split[0] const prefix = split[1] this.needPax = split[2] this.needPax = encString(buf, off, 100, path) || this.needPax this.needPax = encNumber(buf, off + 100, 8, this.mode) || this.needPax this.needPax = encNumber(buf, off + 108, 8, this.uid) || this.needPax this.needPax = encNumber(buf, off + 116, 8, this.gid) || this.needPax this.needPax = encNumber(buf, off + 124, 12, this.size) || this.needPax this.needPax = encDate(buf, off + 136, 12, this.mtime) || this.needPax buf[off + 156] = this[TYPE].charCodeAt(0) this.needPax = encString(buf, off + 157, 100, this.linkpath) || this.needPax buf.write('ustar\u000000', off + 257, 8) this.needPax = encString(buf, off + 265, 32, this.uname) || this.needPax this.needPax = encString(buf, off + 297, 32, this.gname) || this.needPax this.needPax = encNumber(buf, off + 329, 8, this.devmaj) || this.needPax this.needPax = encNumber(buf, off + 337, 8, this.devmin) || this.needPax this.needPax = encString(buf, off + 345, prefixSize, prefix) || this.needPax if (buf[off + 475] !== 0) { this.needPax = encString(buf, off + 345, 155, prefix) || this.needPax } else { this.needPax = encString(buf, off + 345, 130, prefix) || this.needPax this.needPax = encDate(buf, off + 476, 12, this.atime) || this.needPax this.needPax = encDate(buf, off + 488, 12, this.ctime) || this.needPax } let sum = 8 * 0x20 for (let i = off; i < off + 148; i++) { sum += buf[i] } for (let i = off + 156; i < off + 512; i++) { sum += buf[i] } this.cksum = sum encNumber(buf, off + 148, 8, this.cksum) this.cksumValid = true return this.needPax } set (data) { for (const i in data) { if (data[i] !== null && data[i] !== undefined) { this[i] = data[i] } } } get type () { return types.name.get(this[TYPE]) || this[TYPE] } get typeKey () { return this[TYPE] } set type (type) { if (types.code.has(type)) { this[TYPE] = types.code.get(type) } else { this[TYPE] = type } } } const splitPrefix = (p, prefixSize) => { const pathSize = 100 let pp = p let prefix = '' let ret const root = pathModule.parse(p).root || '.' if (Buffer.byteLength(pp) < pathSize) { ret = [pp, prefix, false] } else { // first set prefix to the dir, and path to the base prefix = pathModule.dirname(pp) pp = pathModule.basename(pp) do { if (Buffer.byteLength(pp) <= pathSize && Buffer.byteLength(prefix) <= prefixSize) { // both fit! ret = [pp, prefix, false] } else if (Buffer.byteLength(pp) > pathSize && Buffer.byteLength(prefix) <= prefixSize) { // prefix fits in prefix, but path doesn't fit in path ret = [pp.slice(0, pathSize - 1), prefix, true] } else { // make path take a bit from prefix pp = pathModule.join(pathModule.basename(prefix), pp) prefix = pathModule.dirname(prefix) } } while (prefix !== root && !ret) // at this point, found no resolution, just truncate if (!ret) { ret = [p.slice(0, pathSize - 1), '', true] } } return ret } const decString = (buf, off, size) => buf.slice(off, off + size).toString('utf8').replace(/\0.*/, '') const decDate = (buf, off, size) => numToDate(decNumber(buf, off, size)) const numToDate = num => num === null ? null : new Date(num * 1000) const decNumber = (buf, off, size) => buf[off] & 0x80 ? large.parse(buf.slice(off, off + size)) : decSmallNumber(buf, off, size) const nanNull = value => isNaN(value) ? null : value const decSmallNumber = (buf, off, size) => nanNull(parseInt( buf.slice(off, off + size) .toString('utf8').replace(/\0.*$/, '').trim(), 8)) // the maximum encodable as a null-terminated octal, by field size const MAXNUM = { 12: 0o77777777777, 8: 0o7777777, } const encNumber = (buf, off, size, number) => number === null ? false : number > MAXNUM[size] || number < 0 ? (large.encode(number, buf.slice(off, off + size)), true) : (encSmallNumber(buf, off, size, number), false) const encSmallNumber = (buf, off, size, number) => buf.write(octalString(number, size), off, size, 'ascii') const octalString = (number, size) => padOctal(Math.floor(number).toString(8), size) const padOctal = (string, size) => (string.length === size - 1 ? string : new Array(size - string.length - 1).join('0') + string + ' ') + '\0' const encDate = (buf, off, size, date) => date === null ? false : encNumber(buf, off, size, date.getTime() / 1000) // enough to fill the longest string we've got const NULLS = new Array(156).join('\0') // pad with nulls, return true if it's longer or non-ascii const encString = (buf, off, size, string) => string === null ? false : (buf.write(string + NULLS, off, size, 'utf8'), string.length !== Buffer.byteLength(string) || string.length > size) module.exports = Header ��������������������������������������������������������������node-tar-6.1.13/lib/high-level-opt.js���������������������������������������������������������������0000664�0000000�0000000�00000001370�14344174136�0017253�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������'use strict' // turn tar(1) style args like `C` into the more verbose things like `cwd` const argmap = new Map([ ['C', 'cwd'], ['f', 'file'], ['z', 'gzip'], ['P', 'preservePaths'], ['U', 'unlink'], ['strip-components', 'strip'], ['stripComponents', 'strip'], ['keep-newer', 'newer'], ['keepNewer', 'newer'], ['keep-newer-files', 'newer'], ['keepNewerFiles', 'newer'], ['k', 'keep'], ['keep-existing', 'keep'], ['keepExisting', 'keep'], ['m', 'noMtime'], ['no-mtime', 'noMtime'], ['p', 'preserveOwner'], ['L', 'follow'], ['h', 'follow'], ]) module.exports = opt => opt ? Object.keys(opt).map(k => [ argmap.has(k) ? argmap.get(k) : k, opt[k], ]).reduce((set, kv) => (set[kv[0]] = kv[1], set), Object.create(null)) : {} ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/lib/large-numbers.js����������������������������������������������������������������0000664�0000000�0000000�00000004265�14344174136�0017200�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������'use strict' // Tar can encode large and negative numbers using a leading byte of // 0xff for negative, and 0x80 for positive. const encode = (num, buf) => { if (!Number.isSafeInteger(num)) { // The number is so large that javascript cannot represent it with integer // precision. throw Error('cannot encode number outside of javascript safe integer range') } else if (num < 0) { encodeNegative(num, buf) } else { encodePositive(num, buf) } return buf } const encodePositive = (num, buf) => { buf[0] = 0x80 for (var i = buf.length; i > 1; i--) { buf[i - 1] = num & 0xff num = Math.floor(num / 0x100) } } const encodeNegative = (num, buf) => { buf[0] = 0xff var flipped = false num = num * -1 for (var i = buf.length; i > 1; i--) { var byte = num & 0xff num = Math.floor(num / 0x100) if (flipped) { buf[i - 1] = onesComp(byte) } else if (byte === 0) { buf[i - 1] = 0 } else { flipped = true buf[i - 1] = twosComp(byte) } } } const parse = (buf) => { const pre = buf[0] const value = pre === 0x80 ? pos(buf.slice(1, buf.length)) : pre === 0xff ? twos(buf) : null if (value === null) { throw Error('invalid base256 encoding') } if (!Number.isSafeInteger(value)) { // The number is so large that javascript cannot represent it with integer // precision. throw Error('parsed number outside of javascript safe integer range') } return value } const twos = (buf) => { var len = buf.length var sum = 0 var flipped = false for (var i = len - 1; i > -1; i--) { var byte = buf[i] var f if (flipped) { f = onesComp(byte) } else if (byte === 0) { f = byte } else { flipped = true f = twosComp(byte) } if (f !== 0) { sum -= f * Math.pow(256, len - i - 1) } } return sum } const pos = (buf) => { var len = buf.length var sum = 0 for (var i = len - 1; i > -1; i--) { var byte = buf[i] if (byte !== 0) { sum += byte * Math.pow(256, len - i - 1) } } return sum } const onesComp = byte => (0xff ^ byte) & 0xff const twosComp = byte => ((0xff ^ byte) + 1) & 0xff module.exports = { encode, parse, } �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/lib/list.js�������������������������������������������������������������������������0000664�0000000�0000000�00000006230�14344174136�0015402�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������'use strict' // XXX: This shares a lot in common with extract.js // maybe some DRY opportunity here? // tar -t const hlo = require('./high-level-opt.js') const Parser = require('./parse.js') const fs = require('fs') const fsm = require('fs-minipass') const path = require('path') const stripSlash = require('./strip-trailing-slashes.js') module.exports = (opt_, files, cb) => { if (typeof opt_ === 'function') { cb = opt_, files = null, opt_ = {} } else if (Array.isArray(opt_)) { files = opt_, opt_ = {} } if (typeof files === 'function') { cb = files, files = null } if (!files) { files = [] } else { files = Array.from(files) } const opt = hlo(opt_) if (opt.sync && typeof cb === 'function') { throw new TypeError('callback not supported for sync tar functions') } if (!opt.file && typeof cb === 'function') { throw new TypeError('callback only supported with file option') } if (files.length) { filesFilter(opt, files) } if (!opt.noResume) { onentryFunction(opt) } return opt.file && opt.sync ? listFileSync(opt) : opt.file ? listFile(opt, cb) : list(opt) } const onentryFunction = opt => { const onentry = opt.onentry opt.onentry = onentry ? e => { onentry(e) e.resume() } : e => e.resume() } // construct a filter that limits the file entries listed // include child entries if a dir is included const filesFilter = (opt, files) => { const map = new Map(files.map(f => [stripSlash(f), true])) const filter = opt.filter const mapHas = (file, r) => { const root = r || path.parse(file).root || '.' const ret = file === root ? false : map.has(file) ? map.get(file) : mapHas(path.dirname(file), root) map.set(file, ret) return ret } opt.filter = filter ? (file, entry) => filter(file, entry) && mapHas(stripSlash(file)) : file => mapHas(stripSlash(file)) } const listFileSync = opt => { const p = list(opt) const file = opt.file let threw = true let fd try { const stat = fs.statSync(file) const readSize = opt.maxReadSize || 16 * 1024 * 1024 if (stat.size < readSize) { p.end(fs.readFileSync(file)) } else { let pos = 0 const buf = Buffer.allocUnsafe(readSize) fd = fs.openSync(file, 'r') while (pos < stat.size) { const bytesRead = fs.readSync(fd, buf, 0, readSize, pos) pos += bytesRead p.write(buf.slice(0, bytesRead)) } p.end() } threw = false } finally { if (threw && fd) { try { fs.closeSync(fd) } catch (er) {} } } } const listFile = (opt, cb) => { const parse = new Parser(opt) const readSize = opt.maxReadSize || 16 * 1024 * 1024 const file = opt.file const p = new Promise((resolve, reject) => { parse.on('error', reject) parse.on('end', resolve) fs.stat(file, (er, stat) => { if (er) { reject(er) } else { const stream = new fsm.ReadStream(file, { readSize: readSize, size: stat.size, }) stream.on('error', reject) stream.pipe(parse) } }) }) return cb ? p.then(cb, cb) : p } const list = opt => new Parser(opt) ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/lib/mkdir.js������������������������������������������������������������������������0000664�0000000�0000000�00000012555�14344174136�0015544�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������'use strict' // wrapper around mkdirp for tar's needs. // TODO: This should probably be a class, not functionally // passing around state in a gazillion args. const mkdirp = require('mkdirp') const fs = require('fs') const path = require('path') const chownr = require('chownr') const normPath = require('./normalize-windows-path.js') class SymlinkError extends Error { constructor (symlink, path) { super('Cannot extract through symbolic link') this.path = path this.symlink = symlink } get name () { return 'SylinkError' } } class CwdError extends Error { constructor (path, code) { super(code + ': Cannot cd into \'' + path + '\'') this.path = path this.code = code } get name () { return 'CwdError' } } const cGet = (cache, key) => cache.get(normPath(key)) const cSet = (cache, key, val) => cache.set(normPath(key), val) const checkCwd = (dir, cb) => { fs.stat(dir, (er, st) => { if (er || !st.isDirectory()) { er = new CwdError(dir, er && er.code || 'ENOTDIR') } cb(er) }) } module.exports = (dir, opt, cb) => { dir = normPath(dir) // if there's any overlap between mask and mode, // then we'll need an explicit chmod const umask = opt.umask const mode = opt.mode | 0o0700 const needChmod = (mode & umask) !== 0 const uid = opt.uid const gid = opt.gid const doChown = typeof uid === 'number' && typeof gid === 'number' && (uid !== opt.processUid || gid !== opt.processGid) const preserve = opt.preserve const unlink = opt.unlink const cache = opt.cache const cwd = normPath(opt.cwd) const done = (er, created) => { if (er) { cb(er) } else { cSet(cache, dir, true) if (created && doChown) { chownr(created, uid, gid, er => done(er)) } else if (needChmod) { fs.chmod(dir, mode, cb) } else { cb() } } } if (cache && cGet(cache, dir) === true) { return done() } if (dir === cwd) { return checkCwd(dir, done) } if (preserve) { return mkdirp(dir, { mode }).then(made => done(null, made), done) } const sub = normPath(path.relative(cwd, dir)) const parts = sub.split('/') mkdir_(cwd, parts, mode, cache, unlink, cwd, null, done) } const mkdir_ = (base, parts, mode, cache, unlink, cwd, created, cb) => { if (!parts.length) { return cb(null, created) } const p = parts.shift() const part = normPath(path.resolve(base + '/' + p)) if (cGet(cache, part)) { return mkdir_(part, parts, mode, cache, unlink, cwd, created, cb) } fs.mkdir(part, mode, onmkdir(part, parts, mode, cache, unlink, cwd, created, cb)) } const onmkdir = (part, parts, mode, cache, unlink, cwd, created, cb) => er => { if (er) { fs.lstat(part, (statEr, st) => { if (statEr) { statEr.path = statEr.path && normPath(statEr.path) cb(statEr) } else if (st.isDirectory()) { mkdir_(part, parts, mode, cache, unlink, cwd, created, cb) } else if (unlink) { fs.unlink(part, er => { if (er) { return cb(er) } fs.mkdir(part, mode, onmkdir(part, parts, mode, cache, unlink, cwd, created, cb)) }) } else if (st.isSymbolicLink()) { return cb(new SymlinkError(part, part + '/' + parts.join('/'))) } else { cb(er) } }) } else { created = created || part mkdir_(part, parts, mode, cache, unlink, cwd, created, cb) } } const checkCwdSync = dir => { let ok = false let code = 'ENOTDIR' try { ok = fs.statSync(dir).isDirectory() } catch (er) { code = er.code } finally { if (!ok) { throw new CwdError(dir, code) } } } module.exports.sync = (dir, opt) => { dir = normPath(dir) // if there's any overlap between mask and mode, // then we'll need an explicit chmod const umask = opt.umask const mode = opt.mode | 0o0700 const needChmod = (mode & umask) !== 0 const uid = opt.uid const gid = opt.gid const doChown = typeof uid === 'number' && typeof gid === 'number' && (uid !== opt.processUid || gid !== opt.processGid) const preserve = opt.preserve const unlink = opt.unlink const cache = opt.cache const cwd = normPath(opt.cwd) const done = (created) => { cSet(cache, dir, true) if (created && doChown) { chownr.sync(created, uid, gid) } if (needChmod) { fs.chmodSync(dir, mode) } } if (cache && cGet(cache, dir) === true) { return done() } if (dir === cwd) { checkCwdSync(cwd) return done() } if (preserve) { return done(mkdirp.sync(dir, mode)) } const sub = normPath(path.relative(cwd, dir)) const parts = sub.split('/') let created = null for (let p = parts.shift(), part = cwd; p && (part += '/' + p); p = parts.shift()) { part = normPath(path.resolve(part)) if (cGet(cache, part)) { continue } try { fs.mkdirSync(part, mode) created = created || part cSet(cache, part, true) } catch (er) { const st = fs.lstatSync(part) if (st.isDirectory()) { cSet(cache, part, true) continue } else if (unlink) { fs.unlinkSync(part) fs.mkdirSync(part, mode) created = created || part cSet(cache, part, true) continue } else if (st.isSymbolicLink()) { return new SymlinkError(part, part + '/' + parts.join('/')) } } } return done(created) } ���������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/lib/mode-fix.js���������������������������������������������������������������������0000664�0000000�0000000�00000001211�14344174136�0016131�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������'use strict' module.exports = (mode, isDir, portable) => { mode &= 0o7777 // in portable mode, use the minimum reasonable umask // if this system creates files with 0o664 by default // (as some linux distros do), then we'll write the // archive with 0o644 instead. Also, don't ever create // a file that is not readable/writable by the owner. if (portable) { mode = (mode | 0o600) & ~0o22 } // if dirs are readable, then they should be listable if (isDir) { if (mode & 0o400) { mode |= 0o100 } if (mode & 0o40) { mode |= 0o10 } if (mode & 0o4) { mode |= 0o1 } } return mode } ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/lib/normalize-unicode.js������������������������������������������������������������0000664�0000000�0000000�00000000635�14344174136�0020056�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������// warning: extremely hot code path. // This has been meticulously optimized for use // within npm install on large package trees. // Do not edit without careful benchmarking. const normalizeCache = Object.create(null) const { hasOwnProperty } = Object.prototype module.exports = s => { if (!hasOwnProperty.call(normalizeCache, s)) { normalizeCache[s] = s.normalize('NFKD') } return normalizeCache[s] } ���������������������������������������������������������������������������������������������������node-tar-6.1.13/lib/normalize-windows-path.js�������������������������������������������������������0000664�0000000�0000000�00000000632�14344174136�0021051�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������// on windows, either \ or / are valid directory separators. // on unix, \ is a valid character in filenames. // so, on windows, and only on windows, we replace all \ chars with /, // so that we can use / as our one and only directory separator char. const platform = process.env.TESTING_TAR_FAKE_PLATFORM || process.platform module.exports = platform !== 'win32' ? p => p : p => p && p.replace(/\\/g, '/') ������������������������������������������������������������������������������������������������������node-tar-6.1.13/lib/pack.js�������������������������������������������������������������������������0000664�0000000�0000000�00000022713�14344174136�0015351�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������'use strict' // A readable tar stream creator // Technically, this is a transform stream that you write paths into, // and tar format comes out of. // The `add()` method is like `write()` but returns this, // and end() return `this` as well, so you can // do `new Pack(opt).add('files').add('dir').end().pipe(output) // You could also do something like: // streamOfPaths().pipe(new Pack()).pipe(new fs.WriteStream('out.tar')) class PackJob { constructor (path, absolute) { this.path = path || './' this.absolute = absolute this.entry = null this.stat = null this.readdir = null this.pending = false this.ignore = false this.piped = false } } const MiniPass = require('minipass') const zlib = require('minizlib') const ReadEntry = require('./read-entry.js') const WriteEntry = require('./write-entry.js') const WriteEntrySync = WriteEntry.Sync const WriteEntryTar = WriteEntry.Tar const Yallist = require('yallist') const EOF = Buffer.alloc(1024) const ONSTAT = Symbol('onStat') const ENDED = Symbol('ended') const QUEUE = Symbol('queue') const CURRENT = Symbol('current') const PROCESS = Symbol('process') const PROCESSING = Symbol('processing') const PROCESSJOB = Symbol('processJob') const JOBS = Symbol('jobs') const JOBDONE = Symbol('jobDone') const ADDFSENTRY = Symbol('addFSEntry') const ADDTARENTRY = Symbol('addTarEntry') const STAT = Symbol('stat') const READDIR = Symbol('readdir') const ONREADDIR = Symbol('onreaddir') const PIPE = Symbol('pipe') const ENTRY = Symbol('entry') const ENTRYOPT = Symbol('entryOpt') const WRITEENTRYCLASS = Symbol('writeEntryClass') const WRITE = Symbol('write') const ONDRAIN = Symbol('ondrain') const fs = require('fs') const path = require('path') const warner = require('./warn-mixin.js') const normPath = require('./normalize-windows-path.js') const Pack = warner(class Pack extends MiniPass { constructor (opt) { super(opt) opt = opt || Object.create(null) this.opt = opt this.file = opt.file || '' this.cwd = opt.cwd || process.cwd() this.maxReadSize = opt.maxReadSize this.preservePaths = !!opt.preservePaths this.strict = !!opt.strict this.noPax = !!opt.noPax this.prefix = normPath(opt.prefix || '') this.linkCache = opt.linkCache || new Map() this.statCache = opt.statCache || new Map() this.readdirCache = opt.readdirCache || new Map() this[WRITEENTRYCLASS] = WriteEntry if (typeof opt.onwarn === 'function') { this.on('warn', opt.onwarn) } this.portable = !!opt.portable this.zip = null if (opt.gzip) { if (typeof opt.gzip !== 'object') { opt.gzip = {} } if (this.portable) { opt.gzip.portable = true } this.zip = new zlib.Gzip(opt.gzip) this.zip.on('data', chunk => super.write(chunk)) this.zip.on('end', _ => super.end()) this.zip.on('drain', _ => this[ONDRAIN]()) this.on('resume', _ => this.zip.resume()) } else { this.on('drain', this[ONDRAIN]) } this.noDirRecurse = !!opt.noDirRecurse this.follow = !!opt.follow this.noMtime = !!opt.noMtime this.mtime = opt.mtime || null this.filter = typeof opt.filter === 'function' ? opt.filter : _ => true this[QUEUE] = new Yallist() this[JOBS] = 0 this.jobs = +opt.jobs || 4 this[PROCESSING] = false this[ENDED] = false } [WRITE] (chunk) { return super.write(chunk) } add (path) { this.write(path) return this } end (path) { if (path) { this.write(path) } this[ENDED] = true this[PROCESS]() return this } write (path) { if (this[ENDED]) { throw new Error('write after end') } if (path instanceof ReadEntry) { this[ADDTARENTRY](path) } else { this[ADDFSENTRY](path) } return this.flowing } [ADDTARENTRY] (p) { const absolute = normPath(path.resolve(this.cwd, p.path)) // in this case, we don't have to wait for the stat if (!this.filter(p.path, p)) { p.resume() } else { const job = new PackJob(p.path, absolute, false) job.entry = new WriteEntryTar(p, this[ENTRYOPT](job)) job.entry.on('end', _ => this[JOBDONE](job)) this[JOBS] += 1 this[QUEUE].push(job) } this[PROCESS]() } [ADDFSENTRY] (p) { const absolute = normPath(path.resolve(this.cwd, p)) this[QUEUE].push(new PackJob(p, absolute)) this[PROCESS]() } [STAT] (job) { job.pending = true this[JOBS] += 1 const stat = this.follow ? 'stat' : 'lstat' fs[stat](job.absolute, (er, stat) => { job.pending = false this[JOBS] -= 1 if (er) { this.emit('error', er) } else { this[ONSTAT](job, stat) } }) } [ONSTAT] (job, stat) { this.statCache.set(job.absolute, stat) job.stat = stat // now we have the stat, we can filter it. if (!this.filter(job.path, stat)) { job.ignore = true } this[PROCESS]() } [READDIR] (job) { job.pending = true this[JOBS] += 1 fs.readdir(job.absolute, (er, entries) => { job.pending = false this[JOBS] -= 1 if (er) { return this.emit('error', er) } this[ONREADDIR](job, entries) }) } [ONREADDIR] (job, entries) { this.readdirCache.set(job.absolute, entries) job.readdir = entries this[PROCESS]() } [PROCESS] () { if (this[PROCESSING]) { return } this[PROCESSING] = true for (let w = this[QUEUE].head; w !== null && this[JOBS] < this.jobs; w = w.next) { this[PROCESSJOB](w.value) if (w.value.ignore) { const p = w.next this[QUEUE].removeNode(w) w.next = p } } this[PROCESSING] = false if (this[ENDED] && !this[QUEUE].length && this[JOBS] === 0) { if (this.zip) { this.zip.end(EOF) } else { super.write(EOF) super.end() } } } get [CURRENT] () { return this[QUEUE] && this[QUEUE].head && this[QUEUE].head.value } [JOBDONE] (job) { this[QUEUE].shift() this[JOBS] -= 1 this[PROCESS]() } [PROCESSJOB] (job) { if (job.pending) { return } if (job.entry) { if (job === this[CURRENT] && !job.piped) { this[PIPE](job) } return } if (!job.stat) { if (this.statCache.has(job.absolute)) { this[ONSTAT](job, this.statCache.get(job.absolute)) } else { this[STAT](job) } } if (!job.stat) { return } // filtered out! if (job.ignore) { return } if (!this.noDirRecurse && job.stat.isDirectory() && !job.readdir) { if (this.readdirCache.has(job.absolute)) { this[ONREADDIR](job, this.readdirCache.get(job.absolute)) } else { this[READDIR](job) } if (!job.readdir) { return } } // we know it doesn't have an entry, because that got checked above job.entry = this[ENTRY](job) if (!job.entry) { job.ignore = true return } if (job === this[CURRENT] && !job.piped) { this[PIPE](job) } } [ENTRYOPT] (job) { return { onwarn: (code, msg, data) => this.warn(code, msg, data), noPax: this.noPax, cwd: this.cwd, absolute: job.absolute, preservePaths: this.preservePaths, maxReadSize: this.maxReadSize, strict: this.strict, portable: this.portable, linkCache: this.linkCache, statCache: this.statCache, noMtime: this.noMtime, mtime: this.mtime, prefix: this.prefix, } } [ENTRY] (job) { this[JOBS] += 1 try { return new this[WRITEENTRYCLASS](job.path, this[ENTRYOPT](job)) .on('end', () => this[JOBDONE](job)) .on('error', er => this.emit('error', er)) } catch (er) { this.emit('error', er) } } [ONDRAIN] () { if (this[CURRENT] && this[CURRENT].entry) { this[CURRENT].entry.resume() } } // like .pipe() but using super, because our write() is special [PIPE] (job) { job.piped = true if (job.readdir) { job.readdir.forEach(entry => { const p = job.path const base = p === './' ? '' : p.replace(/\/*$/, '/') this[ADDFSENTRY](base + entry) }) } const source = job.entry const zip = this.zip if (zip) { source.on('data', chunk => { if (!zip.write(chunk)) { source.pause() } }) } else { source.on('data', chunk => { if (!super.write(chunk)) { source.pause() } }) } } pause () { if (this.zip) { this.zip.pause() } return super.pause() } }) class PackSync extends Pack { constructor (opt) { super(opt) this[WRITEENTRYCLASS] = WriteEntrySync } // pause/resume are no-ops in sync streams. pause () {} resume () {} [STAT] (job) { const stat = this.follow ? 'statSync' : 'lstatSync' this[ONSTAT](job, fs[stat](job.absolute)) } [READDIR] (job, stat) { this[ONREADDIR](job, fs.readdirSync(job.absolute)) } // gotta get it all in this tick [PIPE] (job) { const source = job.entry const zip = this.zip if (job.readdir) { job.readdir.forEach(entry => { const p = job.path const base = p === './' ? '' : p.replace(/\/*$/, '/') this[ADDFSENTRY](base + entry) }) } if (zip) { source.on('data', chunk => { zip.write(chunk) }) } else { source.on('data', chunk => { super[WRITE](chunk) }) } } } Pack.Sync = PackSync module.exports = Pack �����������������������������������������������������node-tar-6.1.13/lib/parse.js������������������������������������������������������������������������0000664�0000000�0000000�00000034447�14344174136�0015554�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������'use strict' // this[BUFFER] is the remainder of a chunk if we're waiting for // the full 512 bytes of a header to come in. We will Buffer.concat() // it to the next write(), which is a mem copy, but a small one. // // this[QUEUE] is a Yallist of entries that haven't been emitted // yet this can only get filled up if the user keeps write()ing after // a write() returns false, or does a write() with more than one entry // // We don't buffer chunks, we always parse them and either create an // entry, or push it into the active entry. The ReadEntry class knows // to throw data away if .ignore=true // // Shift entry off the buffer when it emits 'end', and emit 'entry' for // the next one in the list. // // At any time, we're pushing body chunks into the entry at WRITEENTRY, // and waiting for 'end' on the entry at READENTRY // // ignored entries get .resume() called on them straight away const warner = require('./warn-mixin.js') const Header = require('./header.js') const EE = require('events') const Yallist = require('yallist') const maxMetaEntrySize = 1024 * 1024 const Entry = require('./read-entry.js') const Pax = require('./pax.js') const zlib = require('minizlib') const { nextTick } = require('process') const gzipHeader = Buffer.from([0x1f, 0x8b]) const STATE = Symbol('state') const WRITEENTRY = Symbol('writeEntry') const READENTRY = Symbol('readEntry') const NEXTENTRY = Symbol('nextEntry') const PROCESSENTRY = Symbol('processEntry') const EX = Symbol('extendedHeader') const GEX = Symbol('globalExtendedHeader') const META = Symbol('meta') const EMITMETA = Symbol('emitMeta') const BUFFER = Symbol('buffer') const QUEUE = Symbol('queue') const ENDED = Symbol('ended') const EMITTEDEND = Symbol('emittedEnd') const EMIT = Symbol('emit') const UNZIP = Symbol('unzip') const CONSUMECHUNK = Symbol('consumeChunk') const CONSUMECHUNKSUB = Symbol('consumeChunkSub') const CONSUMEBODY = Symbol('consumeBody') const CONSUMEMETA = Symbol('consumeMeta') const CONSUMEHEADER = Symbol('consumeHeader') const CONSUMING = Symbol('consuming') const BUFFERCONCAT = Symbol('bufferConcat') const MAYBEEND = Symbol('maybeEnd') const WRITING = Symbol('writing') const ABORTED = Symbol('aborted') const DONE = Symbol('onDone') const SAW_VALID_ENTRY = Symbol('sawValidEntry') const SAW_NULL_BLOCK = Symbol('sawNullBlock') const SAW_EOF = Symbol('sawEOF') const CLOSESTREAM = Symbol('closeStream') const noop = _ => true module.exports = warner(class Parser extends EE { constructor (opt) { opt = opt || {} super(opt) this.file = opt.file || '' // set to boolean false when an entry starts. 1024 bytes of \0 // is technically a valid tarball, albeit a boring one. this[SAW_VALID_ENTRY] = null // these BADARCHIVE errors can't be detected early. listen on DONE. this.on(DONE, _ => { if (this[STATE] === 'begin' || this[SAW_VALID_ENTRY] === false) { // either less than 1 block of data, or all entries were invalid. // Either way, probably not even a tarball. this.warn('TAR_BAD_ARCHIVE', 'Unrecognized archive format') } }) if (opt.ondone) { this.on(DONE, opt.ondone) } else { this.on(DONE, _ => { this.emit('prefinish') this.emit('finish') this.emit('end') }) } this.strict = !!opt.strict this.maxMetaEntrySize = opt.maxMetaEntrySize || maxMetaEntrySize this.filter = typeof opt.filter === 'function' ? opt.filter : noop // have to set this so that streams are ok piping into it this.writable = true this.readable = false this[QUEUE] = new Yallist() this[BUFFER] = null this[READENTRY] = null this[WRITEENTRY] = null this[STATE] = 'begin' this[META] = '' this[EX] = null this[GEX] = null this[ENDED] = false this[UNZIP] = null this[ABORTED] = false this[SAW_NULL_BLOCK] = false this[SAW_EOF] = false this.on('end', () => this[CLOSESTREAM]()) if (typeof opt.onwarn === 'function') { this.on('warn', opt.onwarn) } if (typeof opt.onentry === 'function') { this.on('entry', opt.onentry) } } [CONSUMEHEADER] (chunk, position) { if (this[SAW_VALID_ENTRY] === null) { this[SAW_VALID_ENTRY] = false } let header try { header = new Header(chunk, position, this[EX], this[GEX]) } catch (er) { return this.warn('TAR_ENTRY_INVALID', er) } if (header.nullBlock) { if (this[SAW_NULL_BLOCK]) { this[SAW_EOF] = true // ending an archive with no entries. pointless, but legal. if (this[STATE] === 'begin') { this[STATE] = 'header' } this[EMIT]('eof') } else { this[SAW_NULL_BLOCK] = true this[EMIT]('nullBlock') } } else { this[SAW_NULL_BLOCK] = false if (!header.cksumValid) { this.warn('TAR_ENTRY_INVALID', 'checksum failure', { header }) } else if (!header.path) { this.warn('TAR_ENTRY_INVALID', 'path is required', { header }) } else { const type = header.type if (/^(Symbolic)?Link$/.test(type) && !header.linkpath) { this.warn('TAR_ENTRY_INVALID', 'linkpath required', { header }) } else if (!/^(Symbolic)?Link$/.test(type) && header.linkpath) { this.warn('TAR_ENTRY_INVALID', 'linkpath forbidden', { header }) } else { const entry = this[WRITEENTRY] = new Entry(header, this[EX], this[GEX]) // we do this for meta & ignored entries as well, because they // are still valid tar, or else we wouldn't know to ignore them if (!this[SAW_VALID_ENTRY]) { if (entry.remain) { // this might be the one! const onend = () => { if (!entry.invalid) { this[SAW_VALID_ENTRY] = true } } entry.on('end', onend) } else { this[SAW_VALID_ENTRY] = true } } if (entry.meta) { if (entry.size > this.maxMetaEntrySize) { entry.ignore = true this[EMIT]('ignoredEntry', entry) this[STATE] = 'ignore' entry.resume() } else if (entry.size > 0) { this[META] = '' entry.on('data', c => this[META] += c) this[STATE] = 'meta' } } else { this[EX] = null entry.ignore = entry.ignore || !this.filter(entry.path, entry) if (entry.ignore) { // probably valid, just not something we care about this[EMIT]('ignoredEntry', entry) this[STATE] = entry.remain ? 'ignore' : 'header' entry.resume() } else { if (entry.remain) { this[STATE] = 'body' } else { this[STATE] = 'header' entry.end() } if (!this[READENTRY]) { this[QUEUE].push(entry) this[NEXTENTRY]() } else { this[QUEUE].push(entry) } } } } } } } [CLOSESTREAM] () { nextTick(() => this.emit('close')) } [PROCESSENTRY] (entry) { let go = true if (!entry) { this[READENTRY] = null go = false } else if (Array.isArray(entry)) { this.emit.apply(this, entry) } else { this[READENTRY] = entry this.emit('entry', entry) if (!entry.emittedEnd) { entry.on('end', _ => this[NEXTENTRY]()) go = false } } return go } [NEXTENTRY] () { do {} while (this[PROCESSENTRY](this[QUEUE].shift())) if (!this[QUEUE].length) { // At this point, there's nothing in the queue, but we may have an // entry which is being consumed (readEntry). // If we don't, then we definitely can handle more data. // If we do, and either it's flowing, or it has never had any data // written to it, then it needs more. // The only other possibility is that it has returned false from a // write() call, so we wait for the next drain to continue. const re = this[READENTRY] const drainNow = !re || re.flowing || re.size === re.remain if (drainNow) { if (!this[WRITING]) { this.emit('drain') } } else { re.once('drain', _ => this.emit('drain')) } } } [CONSUMEBODY] (chunk, position) { // write up to but no more than writeEntry.blockRemain const entry = this[WRITEENTRY] const br = entry.blockRemain const c = (br >= chunk.length && position === 0) ? chunk : chunk.slice(position, position + br) entry.write(c) if (!entry.blockRemain) { this[STATE] = 'header' this[WRITEENTRY] = null entry.end() } return c.length } [CONSUMEMETA] (chunk, position) { const entry = this[WRITEENTRY] const ret = this[CONSUMEBODY](chunk, position) // if we finished, then the entry is reset if (!this[WRITEENTRY]) { this[EMITMETA](entry) } return ret } [EMIT] (ev, data, extra) { if (!this[QUEUE].length && !this[READENTRY]) { this.emit(ev, data, extra) } else { this[QUEUE].push([ev, data, extra]) } } [EMITMETA] (entry) { this[EMIT]('meta', this[META]) switch (entry.type) { case 'ExtendedHeader': case 'OldExtendedHeader': this[EX] = Pax.parse(this[META], this[EX], false) break case 'GlobalExtendedHeader': this[GEX] = Pax.parse(this[META], this[GEX], true) break case 'NextFileHasLongPath': case 'OldGnuLongPath': this[EX] = this[EX] || Object.create(null) this[EX].path = this[META].replace(/\0.*/, '') break case 'NextFileHasLongLinkpath': this[EX] = this[EX] || Object.create(null) this[EX].linkpath = this[META].replace(/\0.*/, '') break /* istanbul ignore next */ default: throw new Error('unknown meta: ' + entry.type) } } abort (error) { this[ABORTED] = true this.emit('abort', error) // always throws, even in non-strict mode this.warn('TAR_ABORT', error, { recoverable: false }) } write (chunk) { if (this[ABORTED]) { return } // first write, might be gzipped if (this[UNZIP] === null && chunk) { if (this[BUFFER]) { chunk = Buffer.concat([this[BUFFER], chunk]) this[BUFFER] = null } if (chunk.length < gzipHeader.length) { this[BUFFER] = chunk return true } for (let i = 0; this[UNZIP] === null && i < gzipHeader.length; i++) { if (chunk[i] !== gzipHeader[i]) { this[UNZIP] = false } } if (this[UNZIP] === null) { const ended = this[ENDED] this[ENDED] = false this[UNZIP] = new zlib.Unzip() this[UNZIP].on('data', chunk => this[CONSUMECHUNK](chunk)) this[UNZIP].on('error', er => this.abort(er)) this[UNZIP].on('end', _ => { this[ENDED] = true this[CONSUMECHUNK]() }) this[WRITING] = true const ret = this[UNZIP][ended ? 'end' : 'write'](chunk) this[WRITING] = false return ret } } this[WRITING] = true if (this[UNZIP]) { this[UNZIP].write(chunk) } else { this[CONSUMECHUNK](chunk) } this[WRITING] = false // return false if there's a queue, or if the current entry isn't flowing const ret = this[QUEUE].length ? false : this[READENTRY] ? this[READENTRY].flowing : true // if we have no queue, then that means a clogged READENTRY if (!ret && !this[QUEUE].length) { this[READENTRY].once('drain', _ => this.emit('drain')) } return ret } [BUFFERCONCAT] (c) { if (c && !this[ABORTED]) { this[BUFFER] = this[BUFFER] ? Buffer.concat([this[BUFFER], c]) : c } } [MAYBEEND] () { if (this[ENDED] && !this[EMITTEDEND] && !this[ABORTED] && !this[CONSUMING]) { this[EMITTEDEND] = true const entry = this[WRITEENTRY] if (entry && entry.blockRemain) { // truncated, likely a damaged file const have = this[BUFFER] ? this[BUFFER].length : 0 this.warn('TAR_BAD_ARCHIVE', `Truncated input (needed ${ entry.blockRemain} more bytes, only ${have} available)`, { entry }) if (this[BUFFER]) { entry.write(this[BUFFER]) } entry.end() } this[EMIT](DONE) } } [CONSUMECHUNK] (chunk) { if (this[CONSUMING]) { this[BUFFERCONCAT](chunk) } else if (!chunk && !this[BUFFER]) { this[MAYBEEND]() } else { this[CONSUMING] = true if (this[BUFFER]) { this[BUFFERCONCAT](chunk) const c = this[BUFFER] this[BUFFER] = null this[CONSUMECHUNKSUB](c) } else { this[CONSUMECHUNKSUB](chunk) } while (this[BUFFER] && this[BUFFER].length >= 512 && !this[ABORTED] && !this[SAW_EOF]) { const c = this[BUFFER] this[BUFFER] = null this[CONSUMECHUNKSUB](c) } this[CONSUMING] = false } if (!this[BUFFER] || this[ENDED]) { this[MAYBEEND]() } } [CONSUMECHUNKSUB] (chunk) { // we know that we are in CONSUMING mode, so anything written goes into // the buffer. Advance the position and put any remainder in the buffer. let position = 0 const length = chunk.length while (position + 512 <= length && !this[ABORTED] && !this[SAW_EOF]) { switch (this[STATE]) { case 'begin': case 'header': this[CONSUMEHEADER](chunk, position) position += 512 break case 'ignore': case 'body': position += this[CONSUMEBODY](chunk, position) break case 'meta': position += this[CONSUMEMETA](chunk, position) break /* istanbul ignore next */ default: throw new Error('invalid state: ' + this[STATE]) } } if (position < length) { if (this[BUFFER]) { this[BUFFER] = Buffer.concat([chunk.slice(position), this[BUFFER]]) } else { this[BUFFER] = chunk.slice(position) } } } end (chunk) { if (!this[ABORTED]) { if (this[UNZIP]) { this[UNZIP].end(chunk) } else { this[ENDED] = true this.write(chunk) } } } }) �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/lib/path-reservations.js������������������������������������������������������������0000664�0000000�0000000�00000010472�14344174136�0020110�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������// A path exclusive reservation system // reserve([list, of, paths], fn) // When the fn is first in line for all its paths, it // is called with a cb that clears the reservation. // // Used by async unpack to avoid clobbering paths in use, // while still allowing maximal safe parallelization. const assert = require('assert') const normalize = require('./normalize-unicode.js') const stripSlashes = require('./strip-trailing-slashes.js') const { join } = require('path') const platform = process.env.TESTING_TAR_FAKE_PLATFORM || process.platform const isWindows = platform === 'win32' module.exports = () => { // path => [function or Set] // A Set object means a directory reservation // A fn is a direct reservation on that path const queues = new Map() // fn => {paths:[path,...], dirs:[path, ...]} const reservations = new Map() // return a set of parent dirs for a given path // '/a/b/c/d' -> ['/', '/a', '/a/b', '/a/b/c', '/a/b/c/d'] const getDirs = path => { const dirs = path.split('/').slice(0, -1).reduce((set, path) => { if (set.length) { path = join(set[set.length - 1], path) } set.push(path || '/') return set }, []) return dirs } // functions currently running const running = new Set() // return the queues for each path the function cares about // fn => {paths, dirs} const getQueues = fn => { const res = reservations.get(fn) /* istanbul ignore if - unpossible */ if (!res) { throw new Error('function does not have any path reservations') } return { paths: res.paths.map(path => queues.get(path)), dirs: [...res.dirs].map(path => queues.get(path)), } } // check if fn is first in line for all its paths, and is // included in the first set for all its dir queues const check = fn => { const { paths, dirs } = getQueues(fn) return paths.every(q => q[0] === fn) && dirs.every(q => q[0] instanceof Set && q[0].has(fn)) } // run the function if it's first in line and not already running const run = fn => { if (running.has(fn) || !check(fn)) { return false } running.add(fn) fn(() => clear(fn)) return true } const clear = fn => { if (!running.has(fn)) { return false } const { paths, dirs } = reservations.get(fn) const next = new Set() paths.forEach(path => { const q = queues.get(path) assert.equal(q[0], fn) if (q.length === 1) { queues.delete(path) } else { q.shift() if (typeof q[0] === 'function') { next.add(q[0]) } else { q[0].forEach(fn => next.add(fn)) } } }) dirs.forEach(dir => { const q = queues.get(dir) assert(q[0] instanceof Set) if (q[0].size === 1 && q.length === 1) { queues.delete(dir) } else if (q[0].size === 1) { q.shift() // must be a function or else the Set would've been reused next.add(q[0]) } else { q[0].delete(fn) } }) running.delete(fn) next.forEach(fn => run(fn)) return true } const reserve = (paths, fn) => { // collide on matches across case and unicode normalization // On windows, thanks to the magic of 8.3 shortnames, it is fundamentally // impossible to determine whether two paths refer to the same thing on // disk, without asking the kernel for a shortname. // So, we just pretend that every path matches every other path here, // effectively removing all parallelization on windows. paths = isWindows ? ['win32 parallelization disabled'] : paths.map(p => { // don't need normPath, because we skip this entirely for windows return normalize(stripSlashes(join(p))).toLowerCase() }) const dirs = new Set( paths.map(path => getDirs(path)).reduce((a, b) => a.concat(b)) ) reservations.set(fn, { dirs, paths }) paths.forEach(path => { const q = queues.get(path) if (!q) { queues.set(path, [fn]) } else { q.push(fn) } }) dirs.forEach(dir => { const q = queues.get(dir) if (!q) { queues.set(dir, [new Set([fn])]) } else if (q[q.length - 1] instanceof Set) { q[q.length - 1].add(fn) } else { q.push(new Set([fn])) } }) return run(fn) } return { check, reserve } } ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/lib/pax.js��������������������������������������������������������������������������0000664�0000000�0000000�00000007744�14344174136�0015232�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������'use strict' const Header = require('./header.js') const path = require('path') class Pax { constructor (obj, global) { this.atime = obj.atime || null this.charset = obj.charset || null this.comment = obj.comment || null this.ctime = obj.ctime || null this.gid = obj.gid || null this.gname = obj.gname || null this.linkpath = obj.linkpath || null this.mtime = obj.mtime || null this.path = obj.path || null this.size = obj.size || null this.uid = obj.uid || null this.uname = obj.uname || null this.dev = obj.dev || null this.ino = obj.ino || null this.nlink = obj.nlink || null this.global = global || false } encode () { const body = this.encodeBody() if (body === '') { return null } const bodyLen = Buffer.byteLength(body) // round up to 512 bytes // add 512 for header const bufLen = 512 * Math.ceil(1 + bodyLen / 512) const buf = Buffer.allocUnsafe(bufLen) // 0-fill the header section, it might not hit every field for (let i = 0; i < 512; i++) { buf[i] = 0 } new Header({ // XXX split the path // then the path should be PaxHeader + basename, but less than 99, // prepend with the dirname path: ('PaxHeader/' + path.basename(this.path)).slice(0, 99), mode: this.mode || 0o644, uid: this.uid || null, gid: this.gid || null, size: bodyLen, mtime: this.mtime || null, type: this.global ? 'GlobalExtendedHeader' : 'ExtendedHeader', linkpath: '', uname: this.uname || '', gname: this.gname || '', devmaj: 0, devmin: 0, atime: this.atime || null, ctime: this.ctime || null, }).encode(buf) buf.write(body, 512, bodyLen, 'utf8') // null pad after the body for (let i = bodyLen + 512; i < buf.length; i++) { buf[i] = 0 } return buf } encodeBody () { return ( this.encodeField('path') + this.encodeField('ctime') + this.encodeField('atime') + this.encodeField('dev') + this.encodeField('ino') + this.encodeField('nlink') + this.encodeField('charset') + this.encodeField('comment') + this.encodeField('gid') + this.encodeField('gname') + this.encodeField('linkpath') + this.encodeField('mtime') + this.encodeField('size') + this.encodeField('uid') + this.encodeField('uname') ) } encodeField (field) { if (this[field] === null || this[field] === undefined) { return '' } const v = this[field] instanceof Date ? this[field].getTime() / 1000 : this[field] const s = ' ' + (field === 'dev' || field === 'ino' || field === 'nlink' ? 'SCHILY.' : '') + field + '=' + v + '\n' const byteLen = Buffer.byteLength(s) // the digits includes the length of the digits in ascii base-10 // so if it's 9 characters, then adding 1 for the 9 makes it 10 // which makes it 11 chars. let digits = Math.floor(Math.log(byteLen) / Math.log(10)) + 1 if (byteLen + digits >= Math.pow(10, digits)) { digits += 1 } const len = digits + byteLen return len + s } } Pax.parse = (string, ex, g) => new Pax(merge(parseKV(string), ex), g) const merge = (a, b) => b ? Object.keys(a).reduce((s, k) => (s[k] = a[k], s), b) : a const parseKV = string => string .replace(/\n$/, '') .split('\n') .reduce(parseKVLine, Object.create(null)) const parseKVLine = (set, line) => { const n = parseInt(line, 10) // XXX Values with \n in them will fail this. // Refactor to not be a naive line-by-line parse. if (n !== Buffer.byteLength(line) + 1) { return set } line = line.slice((n + ' ').length) const kv = line.split('=') const k = kv.shift().replace(/^SCHILY\.(dev|ino|nlink)/, '$1') if (!k) { return set } const v = kv.join('=') set[k] = /^([A-Z]+\.)?([mac]|birth|creation)time$/.test(k) ? new Date(v * 1000) : /^[0-9]+$/.test(v) ? +v : v return set } module.exports = Pax ����������������������������node-tar-6.1.13/lib/read-entry.js�������������������������������������������������������������������0000664�0000000�0000000�00000005426�14344174136�0016507�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������'use strict' const MiniPass = require('minipass') const normPath = require('./normalize-windows-path.js') 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 = normPath(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 = normPath(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 (const 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] = k === 'path' || k === 'linkpath' ? normPath(ex[k]) : ex[k] } } } } ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/lib/replace.js����������������������������������������������������������������������0000664�0000000�0000000�00000013111�14344174136�0016036�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������'use strict' // tar -r const hlo = require('./high-level-opt.js') const Pack = require('./pack.js') const fs = require('fs') const fsm = require('fs-minipass') const t = require('./list.js') const path = require('path') // starting at the head of the file, read a Header // If the checksum is invalid, that's our position to start writing // If it is, jump forward by the specified size (round up to 512) // and try again. // Write the new Pack stream starting there. const Header = require('./header.js') module.exports = (opt_, files, cb) => { const opt = hlo(opt_) if (!opt.file) { throw new TypeError('file is required') } if (opt.gzip) { throw new TypeError('cannot append to compressed archives') } if (!files || !Array.isArray(files) || !files.length) { throw new TypeError('no files or directories specified') } files = Array.from(files) return opt.sync ? replaceSync(opt, files) : replace(opt, files, cb) } const replaceSync = (opt, files) => { const p = new Pack.Sync(opt) let threw = true let fd let position try { try { fd = fs.openSync(opt.file, 'r+') } catch (er) { if (er.code === 'ENOENT') { fd = fs.openSync(opt.file, 'w+') } else { throw er } } const st = fs.fstatSync(fd) const headBuf = Buffer.alloc(512) POSITION: for (position = 0; position < st.size; position += 512) { for (let bufPos = 0, bytes = 0; bufPos < 512; bufPos += bytes) { bytes = fs.readSync( fd, headBuf, bufPos, headBuf.length - bufPos, position + bufPos ) if (position === 0 && headBuf[0] === 0x1f && headBuf[1] === 0x8b) { throw new Error('cannot append to compressed archives') } if (!bytes) { break POSITION } } const h = new Header(headBuf) if (!h.cksumValid) { break } const entryBlockSize = 512 * Math.ceil(h.size / 512) if (position + entryBlockSize + 512 > st.size) { break } // the 512 for the header we just parsed will be added as well // also jump ahead all the blocks for the body position += entryBlockSize if (opt.mtimeCache) { opt.mtimeCache.set(h.path, h.mtime) } } threw = false streamSync(opt, p, position, fd, files) } finally { if (threw) { try { fs.closeSync(fd) } catch (er) {} } } } const streamSync = (opt, p, position, fd, files) => { const stream = new fsm.WriteStreamSync(opt.file, { fd: fd, start: position, }) p.pipe(stream) addFilesSync(p, files) } const replace = (opt, files, cb) => { files = Array.from(files) const p = new Pack(opt) const getPos = (fd, size, cb_) => { const cb = (er, pos) => { if (er) { fs.close(fd, _ => cb_(er)) } else { cb_(null, pos) } } let position = 0 if (size === 0) { return cb(null, 0) } let bufPos = 0 const headBuf = Buffer.alloc(512) const onread = (er, bytes) => { if (er) { return cb(er) } bufPos += bytes if (bufPos < 512 && bytes) { return fs.read( fd, headBuf, bufPos, headBuf.length - bufPos, position + bufPos, onread ) } if (position === 0 && headBuf[0] === 0x1f && headBuf[1] === 0x8b) { return cb(new Error('cannot append to compressed archives')) } // truncated header if (bufPos < 512) { return cb(null, position) } const h = new Header(headBuf) if (!h.cksumValid) { return cb(null, position) } const entryBlockSize = 512 * Math.ceil(h.size / 512) if (position + entryBlockSize + 512 > size) { return cb(null, position) } position += entryBlockSize + 512 if (position >= size) { return cb(null, position) } if (opt.mtimeCache) { opt.mtimeCache.set(h.path, h.mtime) } bufPos = 0 fs.read(fd, headBuf, 0, 512, position, onread) } fs.read(fd, headBuf, 0, 512, position, onread) } const promise = new Promise((resolve, reject) => { p.on('error', reject) let flag = 'r+' const onopen = (er, fd) => { if (er && er.code === 'ENOENT' && flag === 'r+') { flag = 'w+' return fs.open(opt.file, flag, onopen) } if (er) { return reject(er) } fs.fstat(fd, (er, st) => { if (er) { return fs.close(fd, () => reject(er)) } getPos(fd, st.size, (er, position) => { if (er) { return reject(er) } const stream = new fsm.WriteStream(opt.file, { fd: fd, start: position, }) p.pipe(stream) stream.on('error', reject) stream.on('close', resolve) addFilesAsync(p, files) }) }) } fs.open(opt.file, flag, onopen) }) return cb ? promise.then(cb, cb) : promise } const addFilesSync = (p, files) => { files.forEach(file => { if (file.charAt(0) === '@') { t({ file: path.resolve(p.cwd, file.slice(1)), sync: true, noResume: true, onentry: entry => p.add(entry), }) } else { p.add(file) } }) p.end() } const addFilesAsync = (p, files) => { while (files.length) { const file = files.shift() if (file.charAt(0) === '@') { return t({ file: path.resolve(p.cwd, file.slice(1)), noResume: true, onentry: entry => p.add(entry), }).then(_ => addFilesAsync(p, files)) } else { p.add(file) } } p.end() } �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/lib/strip-absolute-path.js����������������������������������������������������������0000664�0000000�0000000�00000001625�14344174136�0020341�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������// unix absolute paths are also absolute on win32, so we use this for both const { isAbsolute, parse } = require('path').win32 // returns [root, stripped] // Note that windows will think that //x/y/z/a has a "root" of //x/y, and in // those cases, we want to sanitize it to x/y/z/a, not z/a, so we strip / // explicitly if it's the first character. // drive-specific relative paths on Windows get their root stripped off even // though they are not absolute, so `c:../foo` becomes ['c:', '../foo'] module.exports = path => { let r = '' let parsed = parse(path) while (isAbsolute(path) || parsed.root) { // windows will think that //x/y/z has a "root" of //x/y/ // but strip the //?/C:/ off of //?/C:/path const root = path.charAt(0) === '/' && path.slice(0, 4) !== '//?/' ? '/' : parsed.root path = path.slice(root.length) r += root parsed = parse(path) } return [r, path] } �����������������������������������������������������������������������������������������������������������node-tar-6.1.13/lib/strip-trailing-slashes.js�������������������������������������������������������0000664�0000000�0000000�00000000612�14344174136�0021035�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������// warning: extremely hot code path. // This has been meticulously optimized for use // within npm install on large package trees. // Do not edit without careful benchmarking. module.exports = str => { let i = str.length - 1 let slashesStart = -1 while (i > -1 && str.charAt(i) === '/') { slashesStart = i i-- } return slashesStart === -1 ? str : str.slice(0, slashesStart) } ����������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/lib/types.js������������������������������������������������������������������������0000664�0000000�0000000�00000002110�14344174136�0015564�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������'use strict' // map types from key to human-friendly name exports.name = new Map([ ['0', 'File'], // same as File ['', 'OldFile'], ['1', 'Link'], ['2', 'SymbolicLink'], // Devices and FIFOs aren't fully supported // they are parsed, but skipped when unpacking ['3', 'CharacterDevice'], ['4', 'BlockDevice'], ['5', 'Directory'], ['6', 'FIFO'], // same as File ['7', 'ContiguousFile'], // pax headers ['g', 'GlobalExtendedHeader'], ['x', 'ExtendedHeader'], // vendor-specific stuff // skip ['A', 'SolarisACL'], // like 5, but with data, which should be skipped ['D', 'GNUDumpDir'], // metadata only, skip ['I', 'Inode'], // data = link path of next file ['K', 'NextFileHasLongLinkpath'], // data = path of next file ['L', 'NextFileHasLongPath'], // skip ['M', 'ContinuationFile'], // like L ['N', 'OldGnuLongPath'], // skip ['S', 'SparseFile'], // skip ['V', 'TapeVolumeHeader'], // like x ['X', 'OldExtendedHeader'], ]) // map the other direction exports.code = new Map(Array.from(exports.name).map(kv => [kv[1], kv[0]])) ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/lib/unpack.js�����������������������������������������������������������������������0000664�0000000�0000000�00000061443�14344174136�0015717�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������'use strict' // the PEND/UNPEND stuff tracks whether we're ready to emit end/close yet. // but the path reservations are required to avoid race conditions where // parallelized unpack ops may mess with one another, due to dependencies // (like a Link depending on its target) or destructive operations (like // clobbering an fs object to create one of a different type.) const assert = require('assert') const Parser = require('./parse.js') const fs = require('fs') const fsm = require('fs-minipass') const path = require('path') const mkdir = require('./mkdir.js') const wc = require('./winchars.js') const pathReservations = require('./path-reservations.js') const stripAbsolutePath = require('./strip-absolute-path.js') const normPath = require('./normalize-windows-path.js') const stripSlash = require('./strip-trailing-slashes.js') const normalize = require('./normalize-unicode.js') const ONENTRY = Symbol('onEntry') const CHECKFS = Symbol('checkFs') const CHECKFS2 = Symbol('checkFs2') const PRUNECACHE = Symbol('pruneCache') const ISREUSABLE = Symbol('isReusable') const MAKEFS = Symbol('makeFs') const FILE = Symbol('file') const DIRECTORY = Symbol('directory') const LINK = Symbol('link') const SYMLINK = Symbol('symlink') const HARDLINK = Symbol('hardlink') const UNSUPPORTED = Symbol('unsupported') const CHECKPATH = Symbol('checkPath') const MKDIR = Symbol('mkdir') const ONERROR = Symbol('onError') const PENDING = Symbol('pending') const PEND = Symbol('pend') const UNPEND = Symbol('unpend') const ENDED = Symbol('ended') const MAYBECLOSE = Symbol('maybeClose') const SKIP = Symbol('skip') const DOCHOWN = Symbol('doChown') const UID = Symbol('uid') const GID = Symbol('gid') const CHECKED_CWD = Symbol('checkedCwd') const crypto = require('crypto') const getFlag = require('./get-write-flag.js') const platform = process.env.TESTING_TAR_FAKE_PLATFORM || process.platform const isWindows = platform === 'win32' // Unlinks on Windows are not atomic. // // This means that if you have a file entry, followed by another // file entry with an identical name, and you cannot re-use the file // (because it's a hardlink, or because unlink:true is set, or it's // Windows, which does not have useful nlink values), then the unlink // will be committed to the disk AFTER the new file has been written // over the old one, deleting the new file. // // To work around this, on Windows systems, we rename the file and then // delete the renamed file. It's a sloppy kludge, but frankly, I do not // know of a better way to do this, given windows' non-atomic unlink // semantics. // // See: https://github.com/npm/node-tar/issues/183 /* istanbul ignore next */ const unlinkFile = (path, cb) => { if (!isWindows) { return fs.unlink(path, cb) } const name = path + '.DELETE.' + crypto.randomBytes(16).toString('hex') fs.rename(path, name, er => { if (er) { return cb(er) } fs.unlink(name, cb) }) } /* istanbul ignore next */ const unlinkFileSync = path => { if (!isWindows) { return fs.unlinkSync(path) } const name = path + '.DELETE.' + crypto.randomBytes(16).toString('hex') fs.renameSync(path, name) fs.unlinkSync(name) } // this.gid, entry.gid, this.processUid const uint32 = (a, b, c) => a === a >>> 0 ? a : b === b >>> 0 ? b : c // clear the cache if it's a case-insensitive unicode-squashing match. // we can't know if the current file system is case-sensitive or supports // unicode fully, so we check for similarity on the maximally compatible // representation. Err on the side of pruning, since all it's doing is // preventing lstats, and it's not the end of the world if we get a false // positive. // Note that on windows, we always drop the entire cache whenever a // symbolic link is encountered, because 8.3 filenames are impossible // to reason about, and collisions are hazards rather than just failures. const cacheKeyNormalize = path => normalize(stripSlash(normPath(path))) .toLowerCase() const pruneCache = (cache, abs) => { abs = cacheKeyNormalize(abs) for (const path of cache.keys()) { const pnorm = cacheKeyNormalize(path) if (pnorm === abs || pnorm.indexOf(abs + '/') === 0) { cache.delete(path) } } } const dropCache = cache => { for (const key of cache.keys()) { cache.delete(key) } } class Unpack extends Parser { constructor (opt) { if (!opt) { opt = {} } opt.ondone = _ => { this[ENDED] = true this[MAYBECLOSE]() } super(opt) this[CHECKED_CWD] = false this.reservations = pathReservations() this.transform = typeof opt.transform === 'function' ? opt.transform : null this.writable = true this.readable = false this[PENDING] = 0 this[ENDED] = false this.dirCache = opt.dirCache || new Map() if (typeof opt.uid === 'number' || typeof opt.gid === 'number') { // need both or neither if (typeof opt.uid !== 'number' || typeof opt.gid !== 'number') { throw new TypeError('cannot set owner without number uid and gid') } if (opt.preserveOwner) { throw new TypeError( 'cannot preserve owner in archive and also set owner explicitly') } this.uid = opt.uid this.gid = opt.gid this.setOwner = true } else { this.uid = null this.gid = null this.setOwner = false } // default true for root if (opt.preserveOwner === undefined && typeof opt.uid !== 'number') { this.preserveOwner = process.getuid && process.getuid() === 0 } else { this.preserveOwner = !!opt.preserveOwner } this.processUid = (this.preserveOwner || this.setOwner) && process.getuid ? process.getuid() : null this.processGid = (this.preserveOwner || this.setOwner) && process.getgid ? process.getgid() : null // mostly just for testing, but useful in some cases. // Forcibly trigger a chown on every entry, no matter what this.forceChown = opt.forceChown === true // turn ><?| in filenames into 0xf000-higher encoded forms this.win32 = !!opt.win32 || isWindows // do not unpack over files that are newer than what's in the archive this.newer = !!opt.newer // do not unpack over ANY files this.keep = !!opt.keep // do not set mtime/atime of extracted entries this.noMtime = !!opt.noMtime // allow .., absolute path entries, and unpacking through symlinks // without this, warn and skip .., relativize absolutes, and error // on symlinks in extraction path this.preservePaths = !!opt.preservePaths // unlink files and links before writing. This breaks existing hard // links, and removes symlink directories rather than erroring this.unlink = !!opt.unlink this.cwd = normPath(path.resolve(opt.cwd || process.cwd())) this.strip = +opt.strip || 0 // if we're not chmodding, then we don't need the process umask this.processUmask = opt.noChmod ? 0 : process.umask() this.umask = typeof opt.umask === 'number' ? opt.umask : this.processUmask // default mode for dirs created as parents this.dmode = opt.dmode || (0o0777 & (~this.umask)) this.fmode = opt.fmode || (0o0666 & (~this.umask)) this.on('entry', entry => this[ONENTRY](entry)) } // a bad or damaged archive is a warning for Parser, but an error // when extracting. Mark those errors as unrecoverable, because // the Unpack contract cannot be met. warn (code, msg, data = {}) { if (code === 'TAR_BAD_ARCHIVE' || code === 'TAR_ABORT') { data.recoverable = false } return super.warn(code, msg, data) } [MAYBECLOSE] () { if (this[ENDED] && this[PENDING] === 0) { this.emit('prefinish') this.emit('finish') this.emit('end') } } [CHECKPATH] (entry) { if (this.strip) { const parts = normPath(entry.path).split('/') if (parts.length < this.strip) { return false } entry.path = parts.slice(this.strip).join('/') if (entry.type === 'Link') { const linkparts = normPath(entry.linkpath).split('/') if (linkparts.length >= this.strip) { entry.linkpath = linkparts.slice(this.strip).join('/') } else { return false } } } if (!this.preservePaths) { const p = normPath(entry.path) const parts = p.split('/') if (parts.includes('..') || isWindows && /^[a-z]:\.\.$/i.test(parts[0])) { this.warn('TAR_ENTRY_ERROR', `path contains '..'`, { entry, path: p, }) return false } // strip off the root const [root, stripped] = stripAbsolutePath(p) if (root) { entry.path = stripped this.warn('TAR_ENTRY_INFO', `stripping ${root} from absolute path`, { entry, path: p, }) } } if (path.isAbsolute(entry.path)) { entry.absolute = normPath(path.resolve(entry.path)) } else { entry.absolute = normPath(path.resolve(this.cwd, entry.path)) } // if we somehow ended up with a path that escapes the cwd, and we are // not in preservePaths mode, then something is fishy! This should have // been prevented above, so ignore this for coverage. /* istanbul ignore if - defense in depth */ if (!this.preservePaths && entry.absolute.indexOf(this.cwd + '/') !== 0 && entry.absolute !== this.cwd) { this.warn('TAR_ENTRY_ERROR', 'path escaped extraction target', { entry, path: normPath(entry.path), resolvedPath: entry.absolute, cwd: this.cwd, }) return false } // an archive can set properties on the extraction directory, but it // may not replace the cwd with a different kind of thing entirely. if (entry.absolute === this.cwd && entry.type !== 'Directory' && entry.type !== 'GNUDumpDir') { return false } // only encode : chars that aren't drive letter indicators if (this.win32) { const { root: aRoot } = path.win32.parse(entry.absolute) entry.absolute = aRoot + wc.encode(entry.absolute.slice(aRoot.length)) const { root: pRoot } = path.win32.parse(entry.path) entry.path = pRoot + wc.encode(entry.path.slice(pRoot.length)) } return true } [ONENTRY] (entry) { if (!this[CHECKPATH](entry)) { return entry.resume() } assert.equal(typeof entry.absolute, 'string') switch (entry.type) { case 'Directory': case 'GNUDumpDir': if (entry.mode) { entry.mode = entry.mode | 0o700 } // eslint-disable-next-line no-fallthrough case 'File': case 'OldFile': case 'ContiguousFile': case 'Link': case 'SymbolicLink': return this[CHECKFS](entry) case 'CharacterDevice': case 'BlockDevice': case 'FIFO': default: return this[UNSUPPORTED](entry) } } [ONERROR] (er, entry) { // Cwd has to exist, or else nothing works. That's serious. // Other errors are warnings, which raise the error in strict // mode, but otherwise continue on. if (er.name === 'CwdError') { this.emit('error', er) } else { this.warn('TAR_ENTRY_ERROR', er, { entry }) this[UNPEND]() entry.resume() } } [MKDIR] (dir, mode, cb) { mkdir(normPath(dir), { uid: this.uid, gid: this.gid, processUid: this.processUid, processGid: this.processGid, umask: this.processUmask, preserve: this.preservePaths, unlink: this.unlink, cache: this.dirCache, cwd: this.cwd, mode: mode, noChmod: this.noChmod, }, cb) } [DOCHOWN] (entry) { // in preserve owner mode, chown if the entry doesn't match process // in set owner mode, chown if setting doesn't match process return this.forceChown || this.preserveOwner && (typeof entry.uid === 'number' && entry.uid !== this.processUid || typeof entry.gid === 'number' && entry.gid !== this.processGid) || (typeof this.uid === 'number' && this.uid !== this.processUid || typeof this.gid === 'number' && this.gid !== this.processGid) } [UID] (entry) { return uint32(this.uid, entry.uid, this.processUid) } [GID] (entry) { return uint32(this.gid, entry.gid, this.processGid) } [FILE] (entry, fullyDone) { const mode = entry.mode & 0o7777 || this.fmode const stream = new fsm.WriteStream(entry.absolute, { flags: getFlag(entry.size), mode: mode, autoClose: false, }) stream.on('error', er => { if (stream.fd) { fs.close(stream.fd, () => {}) } // flush all the data out so that we aren't left hanging // if the error wasn't actually fatal. otherwise the parse // is blocked, and we never proceed. stream.write = () => true this[ONERROR](er, entry) fullyDone() }) let actions = 1 const done = er => { if (er) { /* istanbul ignore else - we should always have a fd by now */ if (stream.fd) { fs.close(stream.fd, () => {}) } this[ONERROR](er, entry) fullyDone() return } if (--actions === 0) { fs.close(stream.fd, er => { if (er) { this[ONERROR](er, entry) } else { this[UNPEND]() } fullyDone() }) } } stream.on('finish', _ => { // if futimes fails, try utimes // if utimes fails, fail with the original error // same for fchown/chown const abs = entry.absolute const fd = stream.fd if (entry.mtime && !this.noMtime) { actions++ const atime = entry.atime || new Date() const mtime = entry.mtime fs.futimes(fd, atime, mtime, er => er ? fs.utimes(abs, atime, mtime, er2 => done(er2 && er)) : done()) } if (this[DOCHOWN](entry)) { actions++ const uid = this[UID](entry) const gid = this[GID](entry) fs.fchown(fd, uid, gid, er => er ? fs.chown(abs, uid, gid, er2 => done(er2 && er)) : done()) } done() }) const tx = this.transform ? this.transform(entry) || entry : entry if (tx !== entry) { tx.on('error', er => { this[ONERROR](er, entry) fullyDone() }) entry.pipe(tx) } tx.pipe(stream) } [DIRECTORY] (entry, fullyDone) { const mode = entry.mode & 0o7777 || this.dmode this[MKDIR](entry.absolute, mode, er => { if (er) { this[ONERROR](er, entry) fullyDone() return } let actions = 1 const done = _ => { if (--actions === 0) { fullyDone() this[UNPEND]() entry.resume() } } if (entry.mtime && !this.noMtime) { actions++ fs.utimes(entry.absolute, entry.atime || new Date(), entry.mtime, done) } if (this[DOCHOWN](entry)) { actions++ fs.chown(entry.absolute, this[UID](entry), this[GID](entry), done) } done() }) } [UNSUPPORTED] (entry) { entry.unsupported = true this.warn('TAR_ENTRY_UNSUPPORTED', `unsupported entry type: ${entry.type}`, { entry }) entry.resume() } [SYMLINK] (entry, done) { this[LINK](entry, entry.linkpath, 'symlink', done) } [HARDLINK] (entry, done) { const linkpath = normPath(path.resolve(this.cwd, entry.linkpath)) this[LINK](entry, linkpath, 'link', done) } [PEND] () { this[PENDING]++ } [UNPEND] () { this[PENDING]-- this[MAYBECLOSE]() } [SKIP] (entry) { this[UNPEND]() entry.resume() } // Check if we can reuse an existing filesystem entry safely and // overwrite it, rather than unlinking and recreating // Windows doesn't report a useful nlink, so we just never reuse entries [ISREUSABLE] (entry, st) { return entry.type === 'File' && !this.unlink && st.isFile() && st.nlink <= 1 && !isWindows } // check if a thing is there, and if so, try to clobber it [CHECKFS] (entry) { this[PEND]() const paths = [entry.path] if (entry.linkpath) { paths.push(entry.linkpath) } this.reservations.reserve(paths, done => this[CHECKFS2](entry, done)) } [PRUNECACHE] (entry) { // if we are not creating a directory, and the path is in the dirCache, // then that means we are about to delete the directory we created // previously, and it is no longer going to be a directory, and neither // is any of its children. // If a symbolic link is encountered, all bets are off. There is no // reasonable way to sanitize the cache in such a way we will be able to // avoid having filesystem collisions. If this happens with a non-symlink // entry, it'll just fail to unpack, but a symlink to a directory, using an // 8.3 shortname or certain unicode attacks, can evade detection and lead // to arbitrary writes to anywhere on the system. if (entry.type === 'SymbolicLink') { dropCache(this.dirCache) } else if (entry.type !== 'Directory') { pruneCache(this.dirCache, entry.absolute) } } [CHECKFS2] (entry, fullyDone) { this[PRUNECACHE](entry) const done = er => { this[PRUNECACHE](entry) fullyDone(er) } const checkCwd = () => { this[MKDIR](this.cwd, this.dmode, er => { if (er) { this[ONERROR](er, entry) done() return } this[CHECKED_CWD] = true start() }) } const start = () => { if (entry.absolute !== this.cwd) { const parent = normPath(path.dirname(entry.absolute)) if (parent !== this.cwd) { return this[MKDIR](parent, this.dmode, er => { if (er) { this[ONERROR](er, entry) done() return } afterMakeParent() }) } } afterMakeParent() } const afterMakeParent = () => { fs.lstat(entry.absolute, (lstatEr, st) => { if (st && (this.keep || this.newer && st.mtime > entry.mtime)) { this[SKIP](entry) done() return } if (lstatEr || this[ISREUSABLE](entry, st)) { return this[MAKEFS](null, entry, done) } if (st.isDirectory()) { if (entry.type === 'Directory') { const needChmod = !this.noChmod && entry.mode && (st.mode & 0o7777) !== entry.mode const afterChmod = er => this[MAKEFS](er, entry, done) if (!needChmod) { return afterChmod() } return fs.chmod(entry.absolute, entry.mode, afterChmod) } // Not a dir entry, have to remove it. // NB: the only way to end up with an entry that is the cwd // itself, in such a way that == does not detect, is a // tricky windows absolute path with UNC or 8.3 parts (and // preservePaths:true, or else it will have been stripped). // In that case, the user has opted out of path protections // explicitly, so if they blow away the cwd, c'est la vie. if (entry.absolute !== this.cwd) { return fs.rmdir(entry.absolute, er => this[MAKEFS](er, entry, done)) } } // not a dir, and not reusable // don't remove if the cwd, we want that error if (entry.absolute === this.cwd) { return this[MAKEFS](null, entry, done) } unlinkFile(entry.absolute, er => this[MAKEFS](er, entry, done)) }) } if (this[CHECKED_CWD]) { start() } else { checkCwd() } } [MAKEFS] (er, entry, done) { if (er) { this[ONERROR](er, entry) done() return } switch (entry.type) { case 'File': case 'OldFile': case 'ContiguousFile': return this[FILE](entry, done) case 'Link': return this[HARDLINK](entry, done) case 'SymbolicLink': return this[SYMLINK](entry, done) case 'Directory': case 'GNUDumpDir': return this[DIRECTORY](entry, done) } } [LINK] (entry, linkpath, link, done) { // XXX: get the type ('symlink' or 'junction') for windows fs[link](linkpath, entry.absolute, er => { if (er) { this[ONERROR](er, entry) } else { this[UNPEND]() entry.resume() } done() }) } } const callSync = fn => { try { return [null, fn()] } catch (er) { return [er, null] } } class UnpackSync extends Unpack { [MAKEFS] (er, entry) { return super[MAKEFS](er, entry, () => {}) } [CHECKFS] (entry) { this[PRUNECACHE](entry) if (!this[CHECKED_CWD]) { const er = this[MKDIR](this.cwd, this.dmode) if (er) { return this[ONERROR](er, entry) } this[CHECKED_CWD] = true } // don't bother to make the parent if the current entry is the cwd, // we've already checked it. if (entry.absolute !== this.cwd) { const parent = normPath(path.dirname(entry.absolute)) if (parent !== this.cwd) { const mkParent = this[MKDIR](parent, this.dmode) if (mkParent) { return this[ONERROR](mkParent, entry) } } } const [lstatEr, st] = callSync(() => fs.lstatSync(entry.absolute)) if (st && (this.keep || this.newer && st.mtime > entry.mtime)) { return this[SKIP](entry) } if (lstatEr || this[ISREUSABLE](entry, st)) { return this[MAKEFS](null, entry) } if (st.isDirectory()) { if (entry.type === 'Directory') { const needChmod = !this.noChmod && entry.mode && (st.mode & 0o7777) !== entry.mode const [er] = needChmod ? callSync(() => { fs.chmodSync(entry.absolute, entry.mode) }) : [] return this[MAKEFS](er, entry) } // not a dir entry, have to remove it const [er] = callSync(() => fs.rmdirSync(entry.absolute)) this[MAKEFS](er, entry) } // not a dir, and not reusable. // don't remove if it's the cwd, since we want that error. const [er] = entry.absolute === this.cwd ? [] : callSync(() => unlinkFileSync(entry.absolute)) this[MAKEFS](er, entry) } [FILE] (entry, done) { const mode = entry.mode & 0o7777 || this.fmode const oner = er => { let closeError try { fs.closeSync(fd) } catch (e) { closeError = e } if (er || closeError) { this[ONERROR](er || closeError, entry) } done() } let fd try { fd = fs.openSync(entry.absolute, getFlag(entry.size), mode) } catch (er) { return oner(er) } const tx = this.transform ? this.transform(entry) || entry : entry if (tx !== entry) { tx.on('error', er => this[ONERROR](er, entry)) entry.pipe(tx) } tx.on('data', chunk => { try { fs.writeSync(fd, chunk, 0, chunk.length) } catch (er) { oner(er) } }) tx.on('end', _ => { let er = null // try both, falling futimes back to utimes // if either fails, handle the first error if (entry.mtime && !this.noMtime) { const atime = entry.atime || new Date() const mtime = entry.mtime try { fs.futimesSync(fd, atime, mtime) } catch (futimeser) { try { fs.utimesSync(entry.absolute, atime, mtime) } catch (utimeser) { er = futimeser } } } if (this[DOCHOWN](entry)) { const uid = this[UID](entry) const gid = this[GID](entry) try { fs.fchownSync(fd, uid, gid) } catch (fchowner) { try { fs.chownSync(entry.absolute, uid, gid) } catch (chowner) { er = er || fchowner } } } oner(er) }) } [DIRECTORY] (entry, done) { const mode = entry.mode & 0o7777 || this.dmode const er = this[MKDIR](entry.absolute, mode) if (er) { this[ONERROR](er, entry) done() return } if (entry.mtime && !this.noMtime) { try { fs.utimesSync(entry.absolute, entry.atime || new Date(), entry.mtime) } catch (er) {} } if (this[DOCHOWN](entry)) { try { fs.chownSync(entry.absolute, this[UID](entry), this[GID](entry)) } catch (er) {} } done() entry.resume() } [MKDIR] (dir, mode) { try { return mkdir.sync(normPath(dir), { uid: this.uid, gid: this.gid, processUid: this.processUid, processGid: this.processGid, umask: this.processUmask, preserve: this.preservePaths, unlink: this.unlink, cache: this.dirCache, cwd: this.cwd, mode: mode, }) } catch (er) { return er } } [LINK] (entry, linkpath, link, done) { try { fs[link + 'Sync'](linkpath, entry.absolute) done() entry.resume() } catch (er) { return this[ONERROR](er, entry) } } } Unpack.Sync = UnpackSync module.exports = Unpack �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/lib/update.js�����������������������������������������������������������������������0000664�0000000�0000000�00000001542�14344174136�0015712�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������'use strict' // tar -u const hlo = require('./high-level-opt.js') const r = require('./replace.js') // just call tar.r with the filter and mtimeCache module.exports = (opt_, files, cb) => { const opt = hlo(opt_) if (!opt.file) { throw new TypeError('file is required') } if (opt.gzip) { throw new TypeError('cannot append to compressed archives') } if (!files || !Array.isArray(files) || !files.length) { throw new TypeError('no files or directories specified') } files = Array.from(files) mtimeFilter(opt) return r(opt, files, cb) } const mtimeFilter = opt => { const filter = opt.filter if (!opt.mtimeCache) { opt.mtimeCache = new Map() } opt.filter = filter ? (path, stat) => filter(path, stat) && !(opt.mtimeCache.get(path) > stat.mtime) : (path, stat) => !(opt.mtimeCache.get(path) > stat.mtime) } ��������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/lib/warn-mixin.js�������������������������������������������������������������������0000664�0000000�0000000�00000001325�14344174136�0016520�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������'use strict' module.exports = Base => class extends Base { warn (code, message, data = {}) { if (this.file) { data.file = this.file } if (this.cwd) { data.cwd = this.cwd } data.code = message instanceof Error && message.code || code data.tarCode = code if (!this.strict && data.recoverable !== false) { if (message instanceof Error) { data = Object.assign(message, data) message = message.message } this.emit('warn', data.tarCode, message, data) } else if (message instanceof Error) { this.emit('error', Object.assign(message, data)) } else { this.emit('error', Object.assign(new Error(`${code}: ${message}`), data)) } } } �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/lib/winchars.js���������������������������������������������������������������������0000664�0000000�0000000�00000001027�14344174136�0016244�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������'use strict' // When writing files on Windows, translate the characters to their // 0xf000 higher-encoded versions. const raw = [ '|', '<', '>', '?', ':', ] const win = raw.map(char => String.fromCharCode(0xf000 + char.charCodeAt(0))) const toWin = new Map(raw.map((char, i) => [char, win[i]])) const toRaw = new Map(win.map((char, i) => [char, raw[i]])) module.exports = { encode: s => raw.reduce((s, c) => s.split(c).join(toWin.get(c)), s), decode: s => win.reduce((s, c) => s.split(c).join(toRaw.get(c)), s), } ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/lib/write-entry.js������������������������������������������������������������������0000664�0000000�0000000�00000035700�14344174136�0016724�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������'use strict' const MiniPass = require('minipass') const Pax = require('./pax.js') const Header = require('./header.js') const fs = require('fs') const path = require('path') const normPath = require('./normalize-windows-path.js') const stripSlash = require('./strip-trailing-slashes.js') const prefixPath = (path, prefix) => { if (!prefix) { return normPath(path) } path = normPath(path).replace(/^\.(\/|$)/, '') return stripSlash(prefix) + '/' + path } const maxReadSize = 16 * 1024 * 1024 const PROCESS = Symbol('process') const FILE = Symbol('file') const DIRECTORY = Symbol('directory') const SYMLINK = Symbol('symlink') const HARDLINK = Symbol('hardlink') const HEADER = Symbol('header') const READ = Symbol('read') const LSTAT = Symbol('lstat') const ONLSTAT = Symbol('onlstat') const ONREAD = Symbol('onread') const ONREADLINK = Symbol('onreadlink') const OPENFILE = Symbol('openfile') const ONOPENFILE = Symbol('onopenfile') const CLOSE = Symbol('close') const MODE = Symbol('mode') const AWAITDRAIN = Symbol('awaitDrain') const ONDRAIN = Symbol('ondrain') const PREFIX = Symbol('prefix') const HAD_ERROR = Symbol('hadError') const warner = require('./warn-mixin.js') const winchars = require('./winchars.js') const stripAbsolutePath = require('./strip-absolute-path.js') const modeFix = require('./mode-fix.js') const WriteEntry = warner(class WriteEntry extends MiniPass { constructor (p, opt) { opt = opt || {} super(opt) if (typeof p !== 'string') { throw new TypeError('path is required') } this.path = normPath(p) // suppress atime, ctime, uid, gid, uname, gname this.portable = !!opt.portable // until node has builtin pwnam functions, this'll have to do this.myuid = process.getuid && process.getuid() || 0 this.myuser = process.env.USER || '' this.maxReadSize = opt.maxReadSize || maxReadSize this.linkCache = opt.linkCache || new Map() this.statCache = opt.statCache || new Map() this.preservePaths = !!opt.preservePaths this.cwd = normPath(opt.cwd || process.cwd()) this.strict = !!opt.strict this.noPax = !!opt.noPax this.noMtime = !!opt.noMtime this.mtime = opt.mtime || null this.prefix = opt.prefix ? normPath(opt.prefix) : null this.fd = null this.blockLen = null this.blockRemain = null this.buf = null this.offset = null this.length = null this.pos = null this.remain = null if (typeof opt.onwarn === 'function') { this.on('warn', opt.onwarn) } let pathWarn = false if (!this.preservePaths) { const [root, stripped] = stripAbsolutePath(this.path) if (root) { this.path = stripped pathWarn = root } } this.win32 = !!opt.win32 || process.platform === 'win32' if (this.win32) { // force the \ to / normalization, since we might not *actually* // be on windows, but want \ to be considered a path separator. this.path = winchars.decode(this.path.replace(/\\/g, '/')) p = p.replace(/\\/g, '/') } this.absolute = normPath(opt.absolute || path.resolve(this.cwd, p)) if (this.path === '') { this.path = './' } if (pathWarn) { this.warn('TAR_ENTRY_INFO', `stripping ${pathWarn} from absolute path`, { entry: this, path: pathWarn + this.path, }) } if (this.statCache.has(this.absolute)) { this[ONLSTAT](this.statCache.get(this.absolute)) } else { this[LSTAT]() } } emit (ev, ...data) { if (ev === 'error') { this[HAD_ERROR] = true } return super.emit(ev, ...data) } [LSTAT] () { fs.lstat(this.absolute, (er, stat) => { if (er) { return this.emit('error', er) } this[ONLSTAT](stat) }) } [ONLSTAT] (stat) { this.statCache.set(this.absolute, stat) this.stat = stat if (!stat.isFile()) { stat.size = 0 } this.type = getType(stat) this.emit('stat', stat) this[PROCESS]() } [PROCESS] () { switch (this.type) { case 'File': return this[FILE]() case 'Directory': return this[DIRECTORY]() case 'SymbolicLink': return this[SYMLINK]() // unsupported types are ignored. default: return this.end() } } [MODE] (mode) { return modeFix(mode, this.type === 'Directory', this.portable) } [PREFIX] (path) { return prefixPath(path, this.prefix) } [HEADER] () { if (this.type === 'Directory' && this.portable) { this.noMtime = true } this.header = new Header({ path: this[PREFIX](this.path), // only apply the prefix to hard links. linkpath: this.type === 'Link' ? this[PREFIX](this.linkpath) : this.linkpath, // only the permissions and setuid/setgid/sticky bitflags // not the higher-order bits that specify file type mode: this[MODE](this.stat.mode), uid: this.portable ? null : this.stat.uid, gid: this.portable ? null : this.stat.gid, size: this.stat.size, mtime: this.noMtime ? null : this.mtime || this.stat.mtime, type: this.type, uname: this.portable ? null : this.stat.uid === this.myuid ? this.myuser : '', atime: this.portable ? null : this.stat.atime, ctime: this.portable ? null : this.stat.ctime, }) if (this.header.encode() && !this.noPax) { super.write(new Pax({ atime: this.portable ? null : this.header.atime, ctime: this.portable ? null : this.header.ctime, gid: this.portable ? null : this.header.gid, mtime: this.noMtime ? null : this.mtime || this.header.mtime, path: this[PREFIX](this.path), linkpath: this.type === 'Link' ? this[PREFIX](this.linkpath) : this.linkpath, size: this.header.size, uid: this.portable ? null : this.header.uid, uname: this.portable ? null : this.header.uname, dev: this.portable ? null : this.stat.dev, ino: this.portable ? null : this.stat.ino, nlink: this.portable ? null : this.stat.nlink, }).encode()) } super.write(this.header.block) } [DIRECTORY] () { if (this.path.slice(-1) !== '/') { this.path += '/' } this.stat.size = 0 this[HEADER]() this.end() } [SYMLINK] () { fs.readlink(this.absolute, (er, linkpath) => { if (er) { return this.emit('error', er) } this[ONREADLINK](linkpath) }) } [ONREADLINK] (linkpath) { this.linkpath = normPath(linkpath) this[HEADER]() this.end() } [HARDLINK] (linkpath) { this.type = 'Link' this.linkpath = normPath(path.relative(this.cwd, linkpath)) this.stat.size = 0 this[HEADER]() this.end() } [FILE] () { if (this.stat.nlink > 1) { const linkKey = this.stat.dev + ':' + this.stat.ino if (this.linkCache.has(linkKey)) { const linkpath = this.linkCache.get(linkKey) if (linkpath.indexOf(this.cwd) === 0) { return this[HARDLINK](linkpath) } } this.linkCache.set(linkKey, this.absolute) } this[HEADER]() if (this.stat.size === 0) { return this.end() } this[OPENFILE]() } [OPENFILE] () { fs.open(this.absolute, 'r', (er, fd) => { if (er) { return this.emit('error', er) } this[ONOPENFILE](fd) }) } [ONOPENFILE] (fd) { this.fd = fd if (this[HAD_ERROR]) { return this[CLOSE]() } this.blockLen = 512 * Math.ceil(this.stat.size / 512) this.blockRemain = this.blockLen const bufLen = Math.min(this.blockLen, this.maxReadSize) this.buf = Buffer.allocUnsafe(bufLen) this.offset = 0 this.pos = 0 this.remain = this.stat.size this.length = this.buf.length this[READ]() } [READ] () { const { fd, buf, offset, length, pos } = this fs.read(fd, buf, offset, length, pos, (er, bytesRead) => { if (er) { // ignoring the error from close(2) is a bad practice, but at // this point we already have an error, don't need another one return this[CLOSE](() => this.emit('error', er)) } this[ONREAD](bytesRead) }) } [CLOSE] (cb) { fs.close(this.fd, cb) } [ONREAD] (bytesRead) { if (bytesRead <= 0 && this.remain > 0) { const er = new Error('encountered unexpected EOF') er.path = this.absolute er.syscall = 'read' er.code = 'EOF' return this[CLOSE](() => this.emit('error', er)) } if (bytesRead > this.remain) { const er = new Error('did not encounter expected EOF') er.path = this.absolute er.syscall = 'read' er.code = 'EOF' return this[CLOSE](() => this.emit('error', er)) } // null out the rest of the buffer, if we could fit the block padding // at the end of this loop, we've incremented bytesRead and this.remain // to be incremented up to the blockRemain level, as if we had expected // to get a null-padded file, and read it until the end. then we will // decrement both remain and blockRemain by bytesRead, and know that we // reached the expected EOF, without any null buffer to append. if (bytesRead === this.remain) { for (let i = bytesRead; i < this.length && bytesRead < this.blockRemain; i++) { this.buf[i + this.offset] = 0 bytesRead++ this.remain++ } } const writeBuf = this.offset === 0 && bytesRead === this.buf.length ? this.buf : this.buf.slice(this.offset, this.offset + bytesRead) const flushed = this.write(writeBuf) if (!flushed) { this[AWAITDRAIN](() => this[ONDRAIN]()) } else { this[ONDRAIN]() } } [AWAITDRAIN] (cb) { this.once('drain', cb) } write (writeBuf) { if (this.blockRemain < writeBuf.length) { const er = new Error('writing more data than expected') er.path = this.absolute return this.emit('error', er) } this.remain -= writeBuf.length this.blockRemain -= writeBuf.length this.pos += writeBuf.length this.offset += writeBuf.length return super.write(writeBuf) } [ONDRAIN] () { if (!this.remain) { if (this.blockRemain) { super.write(Buffer.alloc(this.blockRemain)) } return this[CLOSE](er => er ? this.emit('error', er) : this.end()) } if (this.offset >= this.length) { // if we only have a smaller bit left to read, alloc a smaller buffer // otherwise, keep it the same length it was before. this.buf = Buffer.allocUnsafe(Math.min(this.blockRemain, this.buf.length)) this.offset = 0 } this.length = this.buf.length - this.offset this[READ]() } }) class WriteEntrySync extends WriteEntry { [LSTAT] () { this[ONLSTAT](fs.lstatSync(this.absolute)) } [SYMLINK] () { this[ONREADLINK](fs.readlinkSync(this.absolute)) } [OPENFILE] () { this[ONOPENFILE](fs.openSync(this.absolute, 'r')) } [READ] () { let threw = true try { const { fd, buf, offset, length, pos } = this const bytesRead = fs.readSync(fd, buf, offset, length, pos) this[ONREAD](bytesRead) threw = false } finally { // ignoring the error from close(2) is a bad practice, but at // this point we already have an error, don't need another one if (threw) { try { this[CLOSE](() => {}) } catch (er) {} } } } [AWAITDRAIN] (cb) { cb() } [CLOSE] (cb) { fs.closeSync(this.fd) cb() } } const WriteEntryTar = warner(class WriteEntryTar extends MiniPass { constructor (readEntry, opt) { opt = opt || {} super(opt) this.preservePaths = !!opt.preservePaths this.portable = !!opt.portable this.strict = !!opt.strict this.noPax = !!opt.noPax this.noMtime = !!opt.noMtime this.readEntry = readEntry this.type = readEntry.type if (this.type === 'Directory' && this.portable) { this.noMtime = true } this.prefix = opt.prefix || null this.path = normPath(readEntry.path) this.mode = this[MODE](readEntry.mode) this.uid = this.portable ? null : readEntry.uid this.gid = this.portable ? null : readEntry.gid this.uname = this.portable ? null : readEntry.uname this.gname = this.portable ? null : readEntry.gname this.size = readEntry.size this.mtime = this.noMtime ? null : opt.mtime || readEntry.mtime this.atime = this.portable ? null : readEntry.atime this.ctime = this.portable ? null : readEntry.ctime this.linkpath = normPath(readEntry.linkpath) if (typeof opt.onwarn === 'function') { this.on('warn', opt.onwarn) } let pathWarn = false if (!this.preservePaths) { const [root, stripped] = stripAbsolutePath(this.path) if (root) { this.path = stripped pathWarn = root } } this.remain = readEntry.size this.blockRemain = readEntry.startBlockSize this.header = new Header({ path: this[PREFIX](this.path), linkpath: this.type === 'Link' ? this[PREFIX](this.linkpath) : this.linkpath, // only the permissions and setuid/setgid/sticky bitflags // not the higher-order bits that specify file type mode: this.mode, uid: this.portable ? null : this.uid, gid: this.portable ? null : this.gid, size: this.size, mtime: this.noMtime ? null : this.mtime, type: this.type, uname: this.portable ? null : this.uname, atime: this.portable ? null : this.atime, ctime: this.portable ? null : this.ctime, }) if (pathWarn) { this.warn('TAR_ENTRY_INFO', `stripping ${pathWarn} from absolute path`, { entry: this, path: pathWarn + this.path, }) } if (this.header.encode() && !this.noPax) { super.write(new Pax({ atime: this.portable ? null : this.atime, ctime: this.portable ? null : this.ctime, gid: this.portable ? null : this.gid, mtime: this.noMtime ? null : this.mtime, path: this[PREFIX](this.path), linkpath: this.type === 'Link' ? this[PREFIX](this.linkpath) : this.linkpath, size: this.size, uid: this.portable ? null : this.uid, uname: this.portable ? null : this.uname, dev: this.portable ? null : this.readEntry.dev, ino: this.portable ? null : this.readEntry.ino, nlink: this.portable ? null : this.readEntry.nlink, }).encode()) } super.write(this.header.block) readEntry.pipe(this) } [PREFIX] (path) { return prefixPath(path, this.prefix) } [MODE] (mode) { return modeFix(mode, this.type === 'Directory', this.portable) } write (data) { const writeLen = data.length if (writeLen > this.blockRemain) { throw new Error('writing more to entry than is appropriate') } this.blockRemain -= writeLen return super.write(data) } end () { if (this.blockRemain) { super.write(Buffer.alloc(this.blockRemain)) } return super.end() } }) WriteEntry.Sync = WriteEntrySync WriteEntry.Tar = WriteEntryTar const getType = stat => stat.isFile() ? 'File' : stat.isDirectory() ? 'Directory' : stat.isSymbolicLink() ? 'SymbolicLink' : 'Unsupported' module.exports = WriteEntry ����������������������������������������������������������������node-tar-6.1.13/map.js������������������������������������������������������������������������������0000664�0000000�0000000�00000000411�14344174136�0014431�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������const { basename } = require('path') const map = test => test === 'index.js' || test === 'map.js' ? test : test === 'unpack.js' ? ['lib/unpack.js', 'lib/mkdir.js'] : test === 'load-all.js' ? [] : `lib/${test}` module.exports = test => map(basename(test)) �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/package.json������������������������������������������������������������������������0000664�0000000�0000000�00000003140�14344174136�0015606�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������{ "author": "GitHub Inc.", "name": "tar", "description": "tar for node", "version": "6.1.13", "repository": { "type": "git", "url": "https://github.com/npm/node-tar.git" }, "scripts": { "genparse": "node scripts/generate-parse-fixtures.js", "template-oss-apply": "template-oss-apply --force", "lint": "eslint \"**/*.js\"", "postlint": "template-oss-check", "lintfix": "npm run lint -- --fix", "snap": "tap", "test": "tap", "posttest": "npm run lint" }, "dependencies": { "chownr": "^2.0.0", "fs-minipass": "^2.0.0", "minipass": "^4.0.0", "minizlib": "^2.1.1", "mkdirp": "^1.0.3", "yallist": "^4.0.0" }, "devDependencies": { "@npmcli/eslint-config": "^4.0.0", "@npmcli/template-oss": "4.10.0", "chmodr": "^1.2.0", "end-of-stream": "^1.4.3", "events-to-array": "^2.0.3", "mutate-fs": "^2.1.1", "nock": "^13.2.9", "rimraf": "^3.0.2", "tap": "^16.0.1" }, "license": "ISC", "engines": { "node": ">=10" }, "files": [ "bin/", "lib/", "index.js" ], "tap": { "coverage-map": "map.js", "timeout": 0, "nyc-arg": [ "--exclude", "tap-snapshots/**" ] }, "templateOSS": { "//@npmcli/template-oss": "This file is partially managed by @npmcli/template-oss. Edits may be overwritten.", "version": "4.10.0", "content": "scripts/template-oss", "engines": ">=10", "distPaths": [ "index.js" ], "allowPaths": [ "/index.js" ], "ciVersions": [ "10.x", "12.x", "14.x", "16.x", "18.x" ] } } ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/release-please-config.json����������������������������������������������������������0000664�0000000�0000000�00000001254�14344174136�0020351�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������{ "exclude-packages-from-root": true, "group-pull-request-title-pattern": "chore: release ${version}", "pull-request-title-pattern": "chore: release${component} ${version}", "changelog-sections": [ { "type": "feat", "section": "Features", "hidden": false }, { "type": "fix", "section": "Bug Fixes", "hidden": false }, { "type": "docs", "section": "Documentation", "hidden": false }, { "type": "deps", "section": "Dependencies", "hidden": false }, { "type": "chore", "hidden": true } ], "packages": { ".": { "package-name": "" } } } ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/scripts/����������������������������������������������������������������������������0000775�0000000�0000000�00000000000�14344174136�0015011�5����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/scripts/generate-parse-fixtures.js��������������������������������������������������0000664�0000000�0000000�00000005715�14344174136�0022130�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������'use strict' const Parse = require('../lib/parse.js') const fs = require('fs') const path = require('path') const tardir = path.resolve(__dirname, '../test/fixtures/tars') const parsedir = path.resolve(__dirname, '../test/fixtures/parse') const maxMetaOpt = [250, null] const filterOpt = [true, false] const strictOpt = [true, false] const makeTest = (tarfile, tardata, maxMeta, filter, strict) => { const o = (maxMeta ? '-meta-' + maxMeta : '') + (filter ? '-filter' : '') + (strict ? '-strict' : '') const tail = (o ? '-' + o : '') + '.json' const eventsfile = parsedir + '/' + path.basename(tarfile, '.tar') + tail const p = new Parse({ maxMetaEntrySize: maxMeta, filter: filter ? (path, entry) => entry.size % 2 !== 0 : null, strict: strict, }) const events = [] const pushEntry = type => entry => { events.push([type, { extended: entry.extended, globalExtended: entry.globalExtended, type: entry.type, meta: entry.meta, ignore: entry.ignore, path: entry.path, mode: entry.mode, uid: entry.uid, gid: entry.gid, uname: entry.uname, gname: entry.gname, size: entry.size, mtime: entry.mtime, atime: entry.atime, ctime: entry.ctime, linkpath: entry.linkpath, header: { cksumValid: entry.header.cksumValid, needPax: entry.header.needPax, path: entry.header.path, mode: entry.header.mode, uid: entry.header.uid, gid: entry.header.gid, size: entry.header.size, mtime: entry.header.mtime, cksum: entry.header.cksum, linkpath: entry.header.linkpath, ustar: entry.header.ustar, ustarver: entry.header.ustarver, uname: entry.header.uname, gname: entry.header.gname, devmaj: entry.header.devmaj, devmin: entry.header.devmin, ustarPrefix: entry.header.ustarPrefix, xstarPrefix: entry.header.xstarPrefix, prefixTerminator: entry.header.prefixTerminator, atime: entry.header.atime, ctime: entry.header.atime, }, }]) entry.resume() } p.on('entry', pushEntry('entry')) p.on('ignoredEntry', pushEntry('ignoredEntry')) p.on('warn', (code, message, data) => events.push(['warn', code, message])) p.on('error', er => events.push(['error', { message: er.message, code: er.code, }])) p.on('end', _ => events.push(['end'])) p.on('nullBlock', _ => events.push(['nullBlock'])) p.on('eof', _ => events.push(['eof'])) p.on('meta', meta => events.push(['meta', meta])) p.end(tardata) console.log(eventsfile) fs.writeFileSync(eventsfile, JSON.stringify(events, null, 2) + '\n') } fs.readdirSync(tardir) .forEach(tar => { const tarfile = tardir + '/' + tar const tardata = fs.readFileSync(tarfile) maxMetaOpt.forEach(maxMeta => filterOpt.forEach(filter => strictOpt.forEach(strict => makeTest(tarfile, tardata, maxMeta, filter, strict)))) }) ���������������������������������������������������node-tar-6.1.13/scripts/template-oss/���������������������������������������������������������������0000775�0000000�0000000�00000000000�14344174136�0017426�5����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/scripts/template-oss/_step-git.yml��������������������������������������������������0000664�0000000�0000000�00000000215�14344174136�0022042�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������- name: Support Long Paths if: matrix.platform.os == 'windows-latest' run: git config --system core.longpaths true {{> defaultStepGit }} �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/scripts/template-oss/_step-node.yml�������������������������������������������������0000664�0000000�0000000�00000002173�14344174136�0022211�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������- name: Setup Node uses: actions/setup-node@v3 with: node-version: {{#if jobIsMatrix}}$\{{ matrix.node-version }}{{else}}{{ last ciVersions }}{{/if}} {{#if lockfile}} cache: npm {{/if}} {{#if updateNpm}} {{#if jobIsMatrix}} - name: Update Windows npm # node 12 and 14 ship with npm@6, which is known to fail when updating itself in windows if: matrix.platform.os == 'windows-latest' && (startsWith(matrix.node-version, '12.') || startsWith(matrix.node-version, '14.')) run: | curl -sO https://registry.npmjs.org/npm/-/npm-7.5.4.tgz tar xf npm-7.5.4.tgz cd package node lib/npm.js install --no-fund --no-audit -g ..\npm-7.5.4.tgz cd .. rmdir /s /q package - name: Install npm@7 if: startsWith(matrix.node-version, '10.') || startsWith(matrix.node-version, '12.') run: npm i --prefer-online --no-fund --no-audit -g npm@7 - name: Install npm@latest if: $\{{ !startsWith(matrix.node-version, '10.') && !startsWith(matrix.node-version, '12.') }} {{else}} - name: Install npm@latest {{/if}} run: npm i --prefer-online --no-fund --no-audit -g npm@latest - name: npm Version run: npm -v {{/if}} �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/scripts/template-oss/_step-test.yml�������������������������������������������������0000664�0000000�0000000�00000000117�14344174136�0022237�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������- name: Set Tap RC run: node ./test/fixtures/taprc.js {{> defaultStepTest }} �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/test/�������������������������������������������������������������������������������0000775�0000000�0000000�00000000000�14344174136�0014301�5����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/test/create.js����������������������������������������������������������������������0000664�0000000�0000000�00000012732�14344174136�0016107�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������'use strict' const isWindows = process.platform === 'win32' const t = require('tap') const c = require('../lib/create.js') const list = require('../lib/list.js') const fs = require('fs') const path = require('path') const dir = path.resolve(__dirname, 'fixtures/create') const tars = path.resolve(__dirname, 'fixtures/tars') const rimraf = require('rimraf') const mkdirp = require('mkdirp') const spawn = require('child_process').spawn const Pack = require('../lib/pack.js') const mutateFS = require('mutate-fs') const { promisify } = require('util') const readtar = (file, cb) => { const child = spawn('tar', ['tf', file]) const out = [] child.stdout.on('data', c => out.push(c)) child.on('close', (code, signal) => cb(code, signal, Buffer.concat(out).toString())) } t.teardown(() => new Promise(resolve => rimraf(dir, resolve))) t.before(async () => { await promisify(rimraf)(dir) await mkdirp(dir) }) t.test('no cb if sync or without file', t => { t.throws(_ => c({ sync: true }, ['asdf'], _ => _)) t.throws(_ => c(_ => _)) t.throws(_ => c({}, _ => _)) t.throws(_ => c({}, ['asdf'], _ => _)) t.end() }) t.test('create file', t => { const files = [path.basename(__filename)] t.test('sync', t => { const file = path.resolve(dir, 'sync.tar') c({ file: file, cwd: __dirname, sync: true, }, files) readtar(file, (code, signal, list) => { t.equal(code, 0) t.equal(signal, null) t.equal(list.trim(), 'create.js') t.end() }) }) t.test('async', t => { const file = path.resolve(dir, 'async.tar') c({ file: file, cwd: __dirname, }, files, er => { if (er) { throw er } readtar(file, (code, signal, list) => { t.equal(code, 0) t.equal(signal, null) t.equal(list.trim(), 'create.js') t.end() }) }) }) t.test('async promise only', t => { const file = path.resolve(dir, 'promise.tar') c({ file: file, cwd: __dirname, }, files).then(_ => { readtar(file, (code, signal, list) => { t.equal(code, 0) t.equal(signal, null) t.equal(list.trim(), 'create.js') t.end() }) }) }) t.test('with specific mode', t => { const mode = isWindows ? 0o666 : 0o740 t.test('sync', t => { const file = path.resolve(dir, 'sync-mode.tar') c({ mode: mode, file: file, cwd: __dirname, sync: true, }, files) readtar(file, (code, signal, list) => { t.equal(code, 0) t.equal(signal, null) t.equal(list.trim(), 'create.js') t.equal(fs.lstatSync(file).mode & 0o7777, mode) t.end() }) }) t.test('async', t => { const file = path.resolve(dir, 'async-mode.tar') c({ mode: mode, file: file, cwd: __dirname, }, files, er => { if (er) { throw er } readtar(file, (code, signal, list) => { t.equal(code, 0) t.equal(signal, null) t.equal(list.trim(), 'create.js') t.equal(fs.lstatSync(file).mode & 0o7777, mode) t.end() }) }) }) t.end() }) t.end() }) t.test('create', t => { t.type(c({ sync: true }, ['README.md']), Pack.Sync) t.type(c(['README.md']), Pack) t.end() }) t.test('open fails', t => { const poop = new Error('poop') const file = path.resolve(dir, 'throw-open.tar') t.teardown(mutateFS.statFail(poop)) t.throws(_ => c({ file: file, sync: true, cwd: __dirname, }, [path.basename(__filename)])) t.throws(_ => fs.lstatSync(file)) t.end() }) t.test('gzipped tarball that makes some drain/resume stuff', t => { const cwd = path.dirname(__dirname) const out = path.resolve(dir, 'package.tgz') // don't include node_modules/.cache, since that gets written to // by nyc during tests, and can result in spurious errors. const entries = fs.readdirSync(`${cwd}/node_modules`) .filter(e => !/^\./.test(e)) .map(e => `node_modules/${e}`) c({ z: true, C: cwd }, entries) .pipe(fs.createWriteStream(out)) .on('finish', _ => { const child = spawn('tar', ['tf', out], { stdio: ['ignore', 'ignore', 'pipe'], }) child.stderr.on('data', c => { t.fail(c + '') }) child.on('close', (code, signal) => { t.equal(code, 0) t.equal(signal, null) t.end() }) }) }) t.test('create tarball out of another tarball', t => { const out = path.resolve(dir, 'out.tar') const check = t => { const expect = [ 'dir/', 'Ω.txt', '🌟.txt', 'long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/Ω.txt', 'hardlink-1', 'hardlink-2', 'symlink', ] list({ f: out, sync: true, onentry: entry => { if (entry.path === 'hardlink-2') { t.equal(entry.type, 'Link') } else if (entry.path === 'symlink') { t.equal(entry.type, 'SymbolicLink') } else if (entry.path === 'dir/') { t.equal(entry.type, 'Directory') } else { t.equal(entry.type, 'File') } t.equal(entry.path, expect.shift()) } }) t.same(expect, []) t.end() } t.test('sync', t => { c({ f: out, cwd: tars, sync: true, }, ['@dir.tar', '@utf8.tar', '@links.tar']) check(t) }) t.test('async', t => { c({ f: out, cwd: tars, }, ['@dir.tar', '@utf8.tar', '@links.tar'], _ => check(t)) }) t.end() }) ��������������������������������������node-tar-6.1.13/test/dir-normalization.tar����������������������������������������������������������0000664�0000000�0000000�00000011000�14344174136�0020443�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������fixtures/�������������������������������������������������������������������������������������������000755 �057761 �000024 �00000000000 12511342154 013343� 5����������������������������������������������������������������������������������������������������ustar�00isaacs��������������������������staff���������������������������000000 �000000 ������������������������������������������������������������������������������������������������������������������������������������������������������������������������fixtures/a/�����������������������������������������������������������������������������������������000755 �057761 �000024 �00000000000 12511342040 013555� 5����������������������������������������������������������������������������������������������������ustar�00isaacs��������������������������staff���������������������������000000 �000000 ������������������������������������������������������������������������������������������������������������������������������������������������������������������������fixtures/the-chumbler�������������������������������������������������������������������������������000755 �057761 �000024 �00000000000 12505125041 021322� 2/a/b/c/d/the-chumbler�������������������������������������������������������������������������������ustar�00isaacs��������������������������staff���������������������������000000 �000000 ������������������������������������������������������������������������������������������������������������������������������������������������������������������������fixtures/a/b/���������������������������������������������������������������������������������������000755 �057761 �000024 �00000000000 12511342030 013775� 5����������������������������������������������������������������������������������������������������ustar�00isaacs��������������������������staff���������������������������000000 �000000 ������������������������������������������������������������������������������������������������������������������������������������������������������������������������fixtures/a/x����������������������������������������������������������������������������������������000644 �057761 �000024 �00000000000 12511342040 013735� 0����������������������������������������������������������������������������������������������������ustar�00isaacs��������������������������staff���������������������������000000 �000000 ������������������������������������������������������������������������������������������������������������������������������������������������������������������������fixtures/a/b/c/�������������������������������������������������������������������������������������000755 �057761 �000024 �00000000000 12511342055 014226� 5����������������������������������������������������������������������������������������������������ustar�00isaacs��������������������������staff���������������������������000000 �000000 ������������������������������������������������������������������������������������������������������������������������������������������������������������������������fixtures/a/b/c/y������������������������������������������������������������������������������������000755 �057761 �000024 �00000000000 12511342055 015232� 2../../x���������������������������������������������������������������������������������������������ustar�00isaacs��������������������������staff���������������������������000000 �000000 ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/test/extract.js���������������������������������������������������������������������0000664�0000000�0000000�00000016170�14344174136�0016316�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������'use strict' const t = require('tap') const nock = require('nock') const x = require('../lib/extract.js') const path = require('path') const fs = require('fs') const extractdir = path.resolve(__dirname, 'fixtures/extract') const tars = path.resolve(__dirname, 'fixtures/tars') const mkdirp = require('mkdirp') const { promisify } = require('util') const rimraf = promisify(require('rimraf')) const mutateFS = require('mutate-fs') const pipeline = promisify(require('stream').pipeline) const http = require('http') const tnock = (t, host, opts) => { nock.disableNetConnect() const server = nock(host, opts) t.teardown(function () { nock.enableNetConnect() server.done() }) return server } t.teardown(_ => rimraf(extractdir)) t.test('basic extracting', t => { const file = path.resolve(tars, 'utf8.tar') const dir = path.resolve(extractdir, 'basic') t.beforeEach(async () => { await rimraf(dir) await mkdirp(dir) }) const check = async t => { fs.lstatSync(dir + '/Ω.txt') fs.lstatSync(dir + '/🌟.txt') t.throws(_ => fs.lstatSync(dir + '/long-path/r/e/a/l/l/y/-/d/e/e/p/-' + '/f/o/l/d/e/r/-/p/a/t/h/Ω.txt')) await rimraf(dir) t.end() } const files = ['🌟.txt', 'Ω.txt'] t.test('sync', t => { x({ file: file, sync: true, C: dir }, files) return check(t) }) t.test('async promisey', t => { return x({ file: file, cwd: dir }, files).then(_ => check(t)) }) t.test('async cb', t => { return x({ file: file, cwd: dir }, files, er => { if (er) { throw er } return check(t) }) }) t.end() }) t.test('ensure an open stream is not prematuraly closed', t => { t.plan(1) const file = path.resolve(tars, 'long-paths.tar') const dir = path.resolve(extractdir, 'basic-with-stream') t.beforeEach(async () => { await rimraf(dir) await mkdirp(dir) }) const check = async t => { t.ok(fs.lstatSync(dir + '/long-path')) await rimraf(dir) t.end() } t.test('async promisey', t => { const stream = fs.createReadStream(file, { highWaterMark: 1, }) pipeline( stream, x({ cwd: dir }) ).then(_ => check(t)) }) t.end() }) t.test('ensure an open stream is not prematuraly closed http', t => { t.plan(1) const file = path.resolve(tars, 'long-paths.tar') const dir = path.resolve(extractdir, 'basic-with-stream-http') t.beforeEach(async () => { await rimraf(dir) await mkdirp(dir) }) const check = async t => { t.ok(fs.lstatSync(dir + '/long-path')) await rimraf(dir) t.end() } t.test('async promisey', t => { tnock(t, 'http://codeload.github.com/') .get('/npm/node-tar/tar.gz/main') .delay(250) .reply(200, () => fs.createReadStream(file)) http.get('http://codeload.github.com/npm/node-tar/tar.gz/main', (stream) => { return pipeline( stream, x({ cwd: dir }) ).then(_ => check(t)) }) }) t.end() }) t.test('file list and filter', t => { const file = path.resolve(tars, 'utf8.tar') const dir = path.resolve(extractdir, 'filter') t.beforeEach(async () => { await rimraf(dir) await mkdirp(dir) }) const check = async t => { fs.lstatSync(dir + '/Ω.txt') t.throws(_ => fs.lstatSync(dir + '/🌟.txt')) t.throws(_ => fs.lstatSync(dir + '/long-path/r/e/a/l/l/y/-/d/e/e/p/-' + '/f/o/l/d/e/r/-/p/a/t/h/Ω.txt')) await rimraf(dir) t.end() } const filter = path => path === 'Ω.txt' t.test('sync', t => { x({ filter: filter, file: file, sync: true, C: dir }, ['🌟.txt', 'Ω.txt']) return check(t) }) t.test('async promisey', t => { return x({ filter: filter, file: file, cwd: dir }, ['🌟.txt', 'Ω.txt']).then(_ => { return check(t) }) }) t.test('async cb', t => { return x({ filter: filter, file: file, cwd: dir }, ['🌟.txt', 'Ω.txt'], er => { if (er) { throw er } return check(t) }) }) t.end() }) t.test('no file list', t => { const file = path.resolve(tars, 'body-byte-counts.tar') const dir = path.resolve(extractdir, 'no-list') t.beforeEach(async () => { await rimraf(dir) await mkdirp(dir) }) const check = async t => { t.equal(fs.lstatSync(path.resolve(dir, '1024-bytes.txt')).size, 1024) t.equal(fs.lstatSync(path.resolve(dir, '512-bytes.txt')).size, 512) t.equal(fs.lstatSync(path.resolve(dir, 'one-byte.txt')).size, 1) t.equal(fs.lstatSync(path.resolve(dir, 'zero-byte.txt')).size, 0) await rimraf(dir) t.end() } t.test('sync', t => { x({ file: file, sync: true, C: dir }) return check(t) }) t.test('async promisey', t => { return x({ file: file, cwd: dir }).then(_ => { return check(t) }) }) t.test('async cb', t => { return x({ file: file, cwd: dir }, er => { if (er) { throw er } return check(t) }) }) t.end() }) t.test('read in itty bits', t => { const maxReadSize = 1000 const file = path.resolve(tars, 'body-byte-counts.tar') const dir = path.resolve(extractdir, 'no-list') t.beforeEach(async () => { await rimraf(dir) await mkdirp(dir) }) const check = async t => { t.equal(fs.lstatSync(path.resolve(dir, '1024-bytes.txt')).size, 1024) t.equal(fs.lstatSync(path.resolve(dir, '512-bytes.txt')).size, 512) t.equal(fs.lstatSync(path.resolve(dir, 'one-byte.txt')).size, 1) t.equal(fs.lstatSync(path.resolve(dir, 'zero-byte.txt')).size, 0) await rimraf(dir) t.end() } t.test('sync', t => { x({ file: file, sync: true, C: dir, maxReadSize: maxReadSize }) return check(t) }) t.test('async promisey', t => { return x({ file: file, cwd: dir, maxReadSize: maxReadSize }).then(_ => { return check(t) }) }) t.test('async cb', t => { return x({ file: file, cwd: dir, maxReadSize: maxReadSize }, er => { if (er) { throw er } return check(t) }) }) t.end() }) t.test('bad calls', t => { t.throws(_ => x(_ => _)) t.throws(_ => x({ sync: true }, _ => _)) t.throws(_ => x({ sync: true }, [], _ => _)) t.end() }) t.test('no file', t => { const Unpack = require('../lib/unpack.js') t.type(x(), Unpack) t.type(x(['asdf']), Unpack) t.type(x({ sync: true }), Unpack.Sync) t.end() }) t.test('nonexistent', t => { t.throws(_ => x({ sync: true, file: 'does not exist' })) x({ file: 'does not exist' }).catch(_ => t.end()) }) t.test('read fail', t => { const poop = new Error('poop') t.teardown(mutateFS.fail('read', poop)) t.throws(_ => x({ maxReadSize: 10, sync: true, file: __filename }), poop) t.end() }) t.test('sync gzip error edge case test', async t => { const file = path.resolve(__dirname, 'fixtures/sync-gzip-fail.tgz') const dir = path.resolve(__dirname, 'sync-gzip-fail') const cwd = process.cwd() await mkdirp(dir + '/x') process.chdir(dir) t.teardown(async () => { process.chdir(cwd) await rimraf(dir) }) x({ sync: true, file: file, onwarn: (c, m, er) => { throw er }, }) t.same(fs.readdirSync(dir + '/x').sort(), ['1', '10', '2', '3', '4', '5', '6', '7', '8', '9']) t.end() }) ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/test/fixtures/����������������������������������������������������������������������0000775�0000000�0000000�00000000000�14344174136�0016152�5����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/test/fixtures/.gitattributes��������������������������������������������������������0000664�0000000�0000000�00000000025�14344174136�0021042�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������files/** text eol=lf �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/test/fixtures/.taprc.win32����������������������������������������������������������0000664�0000000�0000000�00000000064�14344174136�0020225�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������lines: 98 branches: 98 statements: 98 functions: 98 ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/test/fixtures/files/����������������������������������������������������������������0000775�0000000�0000000�00000000000�14344174136�0017254�5����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/test/fixtures/files/.dotfile��������������������������������������������������������0000664�0000000�0000000�00000000002�14344174136�0020673�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������. ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������100-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc0000664�0000000�0000000�00000000144�14344174136�0042101�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000�node-tar-6.1.13/test/fixtures/files������������������������������������������������������������������������������������������������������������������������������������cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/test/fixtures/files/1024-bytes.txt��������������������������������������������������0000664�0000000�0000000�00000002000�14344174136�0021517�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 5a5d18e29413674effba80fa9253094e0c07ee15.paxheader��������������������������������������������������0000666�0000000�0000000�00000000246�14344174136�0020446�x����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������166 path=node-tar-6.1.13/test/fixtures/files/120-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������5a5d18e29413674effba80fa9253094e0c07ee15.data�������������������������������������������������������0000664�0000000�0000000�00000000144�14344174136�0017301�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������5a5d18e29413674effba80fa9253094e0c07ee15.paxheader��������������������������������������������������0000666�0000000�0000000�00000000330�14344174136�0020440�x����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������216 path=node-tar-6.1.13/test/fixtures/files/170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������5a5d18e29413674effba80fa9253094e0c07ee15.data�������������������������������������������������������0000664�0000000�0000000�00000000144�14344174136�0017301�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/test/fixtures/files/512-bytes.txt���������������������������������������������������0000664�0000000�0000000�00000001000�14344174136�0021437�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/0000775�0000000�0000000�00000000000�14344174136�0042122�5����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000�node-tar-6.1.13/test/fixtures/files������������������������������������������������������������������������������������������������������������������������������������a-truly-unlucky-file-beyond-130-byte-path-length.txt������������������������������������������������0000664�0000000�0000000�00000001060�14344174136�0053613�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000�node-tar-6.1.13/test/fixtures/files/99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc��������������������������������Behold! I am a text file and NOT a tar header. xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������some-unlucky-file.txt�������������������������������������������������������������������������������0000664�0000000�0000000�00000001060�14344174136�0046230�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000�node-tar-6.1.13/test/fixtures/files/99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc��������������������������������Behold! I am a text file and NOT a tar header. xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/test/fixtures/files/dir/������������������������������������������������������������0000775�0000000�0000000�00000000000�14344174136�0020032�5����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/test/fixtures/files/dir/x�����������������������������������������������������������0000664�0000000�0000000�00000000000�14344174136�0020212�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/test/fixtures/files/hardlink-1������������������������������������������������������0000664�0000000�0000000�00000000032�14344174136�0021124�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������this link is like diamond ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/test/fixtures/files/hardlink-2������������������������������������������������������0000664�0000000�0000000�00000000032�14344174136�0021125�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������this link is like diamond ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/test/fixtures/files/long-path/������������������������������������������������������0000775�0000000�0000000�00000000000�14344174136�0021145�5����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/test/fixtures/files/long-path/r/����������������������������������������������������0000775�0000000�0000000�00000000000�14344174136�0021406�5����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/test/fixtures/files/long-path/r/e/��������������������������������������������������0000775�0000000�0000000�00000000000�14344174136�0021632�5����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/test/fixtures/files/long-path/r/e/a/������������������������������������������������0000775�0000000�0000000�00000000000�14344174136�0022052�5����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/test/fixtures/files/long-path/r/e/a/l/����������������������������������������������0000775�0000000�0000000�00000000000�14344174136�0022305�5����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/test/fixtures/files/long-path/r/e/a/l/l/��������������������������������������������0000775�0000000�0000000�00000000000�14344174136�0022540�5����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/test/fixtures/files/long-path/r/e/a/l/l/y/������������������������������������������0000775�0000000�0000000�00000000000�14344174136�0023010�5����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/test/fixtures/files/long-path/r/e/a/l/l/y/-/����������������������������������������0000775�0000000�0000000�00000000000�14344174136�0023144�5����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/test/fixtures/files/long-path/r/e/a/l/l/y/-/d/��������������������������������������0000775�0000000�0000000�00000000000�14344174136�0023367�5����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/test/fixtures/files/long-path/r/e/a/l/l/y/-/d/e/������������������������������������0000775�0000000�0000000�00000000000�14344174136�0023613�5����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/test/fixtures/files/long-path/r/e/a/l/l/y/-/d/e/e/����������������������������������0000775�0000000�0000000�00000000000�14344174136�0024037�5����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/test/fixtures/files/long-path/r/e/a/l/l/y/-/d/e/e/p/��������������������������������0000775�0000000�0000000�00000000000�14344174136�0024276�5����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/test/fixtures/files/long-path/r/e/a/l/l/y/-/d/e/e/p/-/������������������������������0000775�0000000�0000000�00000000000�14344174136�0024432�5����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/test/fixtures/files/long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/����������������������������0000775�0000000�0000000�00000000000�14344174136�0024657�5����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/test/fixtures/files/long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/��������������������������0000775�0000000�0000000�00000000000�14344174136�0025115�5����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/test/fixtures/files/long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/������������������������0000775�0000000�0000000�00000000000�14344174136�0025350�5����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/test/fixtures/files/long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/����������������������0000775�0000000�0000000�00000000000�14344174136�0025573�5����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/test/fixtures/files/long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/��������������������0000775�0000000�0000000�00000000000�14344174136�0026017�5����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/test/fixtures/files/long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/������������������0000775�0000000�0000000�00000000000�14344174136�0026260�5����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/test/fixtures/files/long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/����������������0000775�0000000�0000000�00000000000�14344174136�0026414�5����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/test/fixtures/files/long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/��������������0000775�0000000�0000000�00000000000�14344174136�0026653�5����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/test/fixtures/files/long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/������������0000775�0000000�0000000�00000000000�14344174136�0027073�5����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/test/fixtures/files/long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/����������0000775�0000000�0000000�00000000000�14344174136�0027336�5����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/test/fixtures/files/long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/��������0000775�0000000�0000000�00000000000�14344174136�0027565�5����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/test/fixtures/files/long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/a.txt���0000664�0000000�0000000�00000000006�14344174136�0030542�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������short ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc0000664�0000000�0000000�00000000144�14344174136�0052763�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000�node-tar-6.1.13/test/fixtures/files/long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h����������������������������������������������������������������������������1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������e5a9d5e2742f65d797cb32c0290856afc604b356.paxheader��������������������������������������������������0000666�0000000�0000000�00000000336�14344174136�0020377�x����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������222 path=node-tar-6.1.13/test/fixtures/files/long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������e5a9d5e2742f65d797cb32c0290856afc604b356.data�������������������������������������������������������0000664�0000000�0000000�00000000144�14344174136�0017232�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������2222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������5a5d18e29413674effba80fa9253094e0c07ee15.paxheader��������������������������������������������������0000666�0000000�0000000�00000000420�14344174136�0020440�x����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������272 path=node-tar-6.1.13/test/fixtures/files/long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������5a5d18e29413674effba80fa9253094e0c07ee15.data�������������������������������������������������������0000664�0000000�0000000�00000000144�14344174136�0017301�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/test/fixtures/files/long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/Ω.txt��0000664�0000000�0000000�00000000002�14344174136�0031164�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������Ω������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������c3b17d6c8b29cc71aca2454383b1cf9123b3e172.paxheader��������������������������������������������������0000666�0000000�0000000�00000000270�14344174136�0020501�x����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������184 linkpath=170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/test/fixtures/files/longlink��������������������������������������������������������0000777�0000000�0000000�00000000000�14344174136�0031047�2see c3b17d6c8b29cc71aca2454383b1cf9123b3e172.paxheader����������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/test/fixtures/files/one-byte.txt����������������������������������������������������0000664�0000000�0000000�00000000001�14344174136�0021526�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������a�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/test/fixtures/files/strip-dir/������������������������������������������������������0000775�0000000�0000000�00000000000�14344174136�0021171�5����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/test/fixtures/files/strip-dir/1/����������������������������������������������������0000775�0000000�0000000�00000000000�14344174136�0021331�5����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/test/fixtures/files/strip-dir/1/2/��������������������������������������������������0000775�0000000�0000000�00000000000�14344174136�0021472�5����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/test/fixtures/files/strip-dir/1/2/3/������������������������������������������������0000775�0000000�0000000�00000000000�14344174136�0021634�5����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/test/fixtures/files/strip-dir/1/2/3/hardlink-3��������������������������������������0000664�0000000�0000000�00000000032�14344174136�0023506�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������this link is like diamond ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/test/fixtures/files/strip-dir/hardlink-1��������������������������������������������0000664�0000000�0000000�00000000032�14344174136�0023041�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������this link is like diamond ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/test/fixtures/files/strip-dir/hardlink-2��������������������������������������������0000664�0000000�0000000�00000000032�14344174136�0023042�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������this link is like diamond ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/test/fixtures/files/strip-dir/symlink�����������������������������������������������0000777�0000000�0000000�00000000000�14344174136�0024453�2hardlink-2������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/test/fixtures/files/symlink���������������������������������������������������������0000777�0000000�0000000�00000000000�14344174136�0022536�2hardlink-2������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/test/fixtures/files/zero-byte.txt���������������������������������������������������0000664�0000000�0000000�00000000000�14344174136�0021723�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/test/fixtures/files/Ω.txt����������������������������������������������������������0000664�0000000�0000000�00000000002�14344174136�0020653�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������Ω������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/test/fixtures/files/🌟.txt��������������������������������������������������������0000664�0000000�0000000�00000000152�14344174136�0021364�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������🌟✧✩⭐︎✪✫✬✭✮⚝✯✰✵✶✷✸✹❂⭑⭒★☆✡☪✴︎✦✡️🔯✴️🌠 ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/test/fixtures/parse/����������������������������������������������������������������0000775�0000000�0000000�00000000000�14344174136�0017264�5����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/test/fixtures/parse/bad-cksum--filter-strict.json�����������������������������������0000664�0000000�0000000�00000002174�14344174136�0024677�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "entry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "cksum": 6121, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "error", { "message": "TAR_ENTRY_INVALID: checksum failure", "code": "TAR_ENTRY_INVALID" } ], [ "error", { "message": "TAR_ENTRY_INVALID: checksum failure", "code": "TAR_ENTRY_INVALID" } ], [ "nullBlock" ], [ "eof" ], [ "end" ] ] ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/test/fixtures/parse/bad-cksum--filter.json������������������������������������������0000664�0000000�0000000�00000002016�14344174136�0023364�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "entry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "cksum": 6121, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "warn", "TAR_ENTRY_INVALID", "checksum failure" ], [ "warn", "TAR_ENTRY_INVALID", "checksum failure" ], [ "nullBlock" ], [ "eof" ], [ "end" ] ] ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/test/fixtures/parse/bad-cksum--meta-250-filter-strict.json��������������������������0000664�0000000�0000000�00000002174�14344174136�0026127�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "entry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "cksum": 6121, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "error", { "message": "TAR_ENTRY_INVALID: checksum failure", "code": "TAR_ENTRY_INVALID" } ], [ "error", { "message": "TAR_ENTRY_INVALID: checksum failure", "code": "TAR_ENTRY_INVALID" } ], [ "nullBlock" ], [ "eof" ], [ "end" ] ] ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/test/fixtures/parse/bad-cksum--meta-250-filter.json���������������������������������0000664�0000000�0000000�00000002016�14344174136�0024614�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "entry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "cksum": 6121, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "warn", "TAR_ENTRY_INVALID", "checksum failure" ], [ "warn", "TAR_ENTRY_INVALID", "checksum failure" ], [ "nullBlock" ], [ "eof" ], [ "end" ] ] ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/test/fixtures/parse/bad-cksum--meta-250-strict.json���������������������������������0000664�0000000�0000000�00000002174�14344174136�0024644�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "entry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "cksum": 6121, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "error", { "message": "TAR_ENTRY_INVALID: checksum failure", "code": "TAR_ENTRY_INVALID" } ], [ "error", { "message": "TAR_ENTRY_INVALID: checksum failure", "code": "TAR_ENTRY_INVALID" } ], [ "nullBlock" ], [ "eof" ], [ "end" ] ] ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/test/fixtures/parse/bad-cksum--meta-250.json����������������������������������������0000664�0000000�0000000�00000002016�14344174136�0023331�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "entry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "cksum": 6121, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "warn", "TAR_ENTRY_INVALID", "checksum failure" ], [ "warn", "TAR_ENTRY_INVALID", "checksum failure" ], [ "nullBlock" ], [ "eof" ], [ "end" ] ] ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/test/fixtures/parse/bad-cksum--strict.json������������������������������������������0000664�0000000�0000000�00000002174�14344174136�0023414�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "entry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "cksum": 6121, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "error", { "message": "TAR_ENTRY_INVALID: checksum failure", "code": "TAR_ENTRY_INVALID" } ], [ "error", { "message": "TAR_ENTRY_INVALID: checksum failure", "code": "TAR_ENTRY_INVALID" } ], [ "nullBlock" ], [ "eof" ], [ "end" ] ] ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/test/fixtures/parse/bad-cksum.json��������������������������������������������������0000664�0000000�0000000�00000002016�14344174136�0022024�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "entry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "cksum": 6121, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "warn", "TAR_ENTRY_INVALID", "checksum failure" ], [ "warn", "TAR_ENTRY_INVALID", "checksum failure" ], [ "nullBlock" ], [ "eof" ], [ "end" ] ] ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/test/fixtures/parse/body-byte-counts--filter-strict.json����������������������������0000664�0000000�0000000�00000006556�14344174136�0026250�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": true, "path": "1024-bytes.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 1024, "mtime": "2017-04-10T16:57:47.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "1024-bytes.txt", "mode": 420, "uid": 501, "gid": 20, "size": 1024, "mtime": "2017-04-10T16:57:47.000Z", "cksum": 6109, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": true, "path": "512-bytes.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 512, "mtime": "2017-04-10T17:08:55.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "512-bytes.txt", "mode": 420, "uid": 501, "gid": 20, "size": 512, "mtime": "2017-04-10T17:08:55.000Z", "cksum": 6064, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "cksum": 6121, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": true, "path": "zero-byte.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T17:08:01.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "zero-byte.txt", "mode": 420, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T17:08:01.000Z", "cksum": 6246, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "eof" ], [ "end" ] ] ��������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/test/fixtures/parse/body-byte-counts--filter.json�����������������������������������0000664�0000000�0000000�00000006556�14344174136�0024742�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": true, "path": "1024-bytes.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 1024, "mtime": "2017-04-10T16:57:47.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "1024-bytes.txt", "mode": 420, "uid": 501, "gid": 20, "size": 1024, "mtime": "2017-04-10T16:57:47.000Z", "cksum": 6109, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": true, "path": "512-bytes.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 512, "mtime": "2017-04-10T17:08:55.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "512-bytes.txt", "mode": 420, "uid": 501, "gid": 20, "size": 512, "mtime": "2017-04-10T17:08:55.000Z", "cksum": 6064, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "cksum": 6121, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": true, "path": "zero-byte.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T17:08:01.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "zero-byte.txt", "mode": 420, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T17:08:01.000Z", "cksum": 6246, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "eof" ], [ "end" ] ] ��������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/test/fixtures/parse/body-byte-counts--meta-250-filter-strict.json�������������������0000664�0000000�0000000�00000006556�14344174136�0027500�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": true, "path": "1024-bytes.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 1024, "mtime": "2017-04-10T16:57:47.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "1024-bytes.txt", "mode": 420, "uid": 501, "gid": 20, "size": 1024, "mtime": "2017-04-10T16:57:47.000Z", "cksum": 6109, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": true, "path": "512-bytes.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 512, "mtime": "2017-04-10T17:08:55.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "512-bytes.txt", "mode": 420, "uid": 501, "gid": 20, "size": 512, "mtime": "2017-04-10T17:08:55.000Z", "cksum": 6064, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "cksum": 6121, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": true, "path": "zero-byte.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T17:08:01.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "zero-byte.txt", "mode": 420, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T17:08:01.000Z", "cksum": 6246, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "eof" ], [ "end" ] ] ��������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/test/fixtures/parse/body-byte-counts--meta-250-filter.json��������������������������0000664�0000000�0000000�00000006556�14344174136�0026172�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": true, "path": "1024-bytes.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 1024, "mtime": "2017-04-10T16:57:47.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "1024-bytes.txt", "mode": 420, "uid": 501, "gid": 20, "size": 1024, "mtime": "2017-04-10T16:57:47.000Z", "cksum": 6109, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": true, "path": "512-bytes.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 512, "mtime": "2017-04-10T17:08:55.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "512-bytes.txt", "mode": 420, "uid": 501, "gid": 20, "size": 512, "mtime": "2017-04-10T17:08:55.000Z", "cksum": 6064, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "cksum": 6121, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": true, "path": "zero-byte.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T17:08:01.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "zero-byte.txt", "mode": 420, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T17:08:01.000Z", "cksum": 6246, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "eof" ], [ "end" ] ] ��������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/test/fixtures/parse/body-byte-counts--meta-250-strict.json��������������������������0000664�0000000�0000000�00000006534�14344174136�0026211�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "entry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "1024-bytes.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 1024, "mtime": "2017-04-10T16:57:47.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "1024-bytes.txt", "mode": 420, "uid": 501, "gid": 20, "size": 1024, "mtime": "2017-04-10T16:57:47.000Z", "cksum": 6109, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "512-bytes.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 512, "mtime": "2017-04-10T17:08:55.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "512-bytes.txt", "mode": 420, "uid": 501, "gid": 20, "size": 512, "mtime": "2017-04-10T17:08:55.000Z", "cksum": 6064, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "cksum": 6121, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "zero-byte.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T17:08:01.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "zero-byte.txt", "mode": 420, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T17:08:01.000Z", "cksum": 6246, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "eof" ], [ "end" ] ] ��������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/test/fixtures/parse/body-byte-counts--meta-250.json���������������������������������0000664�0000000�0000000�00000006534�14344174136�0024703�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "entry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "1024-bytes.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 1024, "mtime": "2017-04-10T16:57:47.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "1024-bytes.txt", "mode": 420, "uid": 501, "gid": 20, "size": 1024, "mtime": "2017-04-10T16:57:47.000Z", "cksum": 6109, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "512-bytes.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 512, "mtime": "2017-04-10T17:08:55.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "512-bytes.txt", "mode": 420, "uid": 501, "gid": 20, "size": 512, "mtime": "2017-04-10T17:08:55.000Z", "cksum": 6064, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "cksum": 6121, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "zero-byte.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T17:08:01.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "zero-byte.txt", "mode": 420, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T17:08:01.000Z", "cksum": 6246, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "eof" ], [ "end" ] ] ��������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/test/fixtures/parse/body-byte-counts--strict.json�����������������������������������0000664�0000000�0000000�00000006534�14344174136�0024761�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "entry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "1024-bytes.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 1024, "mtime": "2017-04-10T16:57:47.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "1024-bytes.txt", "mode": 420, "uid": 501, "gid": 20, "size": 1024, "mtime": "2017-04-10T16:57:47.000Z", "cksum": 6109, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "512-bytes.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 512, "mtime": "2017-04-10T17:08:55.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "512-bytes.txt", "mode": 420, "uid": 501, "gid": 20, "size": 512, "mtime": "2017-04-10T17:08:55.000Z", "cksum": 6064, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "cksum": 6121, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "zero-byte.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T17:08:01.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "zero-byte.txt", "mode": 420, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T17:08:01.000Z", "cksum": 6246, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "eof" ], [ "end" ] ] ��������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/test/fixtures/parse/body-byte-counts.json�������������������������������������������0000664�0000000�0000000�00000006534�14344174136�0023376�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "entry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "1024-bytes.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 1024, "mtime": "2017-04-10T16:57:47.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "1024-bytes.txt", "mode": 420, "uid": 501, "gid": 20, "size": 1024, "mtime": "2017-04-10T16:57:47.000Z", "cksum": 6109, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "512-bytes.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 512, "mtime": "2017-04-10T17:08:55.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "512-bytes.txt", "mode": 420, "uid": 501, "gid": 20, "size": 512, "mtime": "2017-04-10T17:08:55.000Z", "cksum": 6064, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "cksum": 6121, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "zero-byte.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T17:08:01.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "zero-byte.txt", "mode": 420, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T17:08:01.000Z", "cksum": 6246, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "eof" ], [ "end" ] ] ��������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/test/fixtures/parse/dir--filter-strict.json�����������������������������������������0000664�0000000�0000000�00000001577�14344174136�0023615�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "dir/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T17:00:17.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "dir/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T17:00:17.000Z", "cksum": 5284, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "eof" ], [ "end" ] ] ���������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/test/fixtures/parse/dir--filter.json������������������������������������������������0000664�0000000�0000000�00000001577�14344174136�0022307�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "dir/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T17:00:17.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "dir/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T17:00:17.000Z", "cksum": 5284, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "eof" ], [ "end" ] ] ���������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/test/fixtures/parse/dir--meta-250-filter-strict.json��������������������������������0000664�0000000�0000000�00000001577�14344174136�0025045�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "dir/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T17:00:17.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "dir/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T17:00:17.000Z", "cksum": 5284, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "eof" ], [ "end" ] ] ���������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/test/fixtures/parse/dir--meta-250-filter.json���������������������������������������0000664�0000000�0000000�00000001577�14344174136�0023537�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "dir/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T17:00:17.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "dir/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T17:00:17.000Z", "cksum": 5284, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "eof" ], [ "end" ] ] ���������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/test/fixtures/parse/dir--meta-250-strict.json���������������������������������������0000664�0000000�0000000�00000001571�14344174136�0023554�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "dir/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T17:00:17.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "dir/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T17:00:17.000Z", "cksum": 5284, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "eof" ], [ "end" ] ] ���������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/test/fixtures/parse/dir--meta-250.json����������������������������������������������0000664�0000000�0000000�00000001571�14344174136�0022246�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "dir/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T17:00:17.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "dir/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T17:00:17.000Z", "cksum": 5284, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "eof" ], [ "end" ] ] ���������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/test/fixtures/parse/dir--strict.json������������������������������������������������0000664�0000000�0000000�00000001571�14344174136�0022324�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "dir/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T17:00:17.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "dir/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T17:00:17.000Z", "cksum": 5284, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "eof" ], [ "end" ] ] ���������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/test/fixtures/parse/dir.json��������������������������������������������������������0000664�0000000�0000000�00000001571�14344174136�0020741�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "dir/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T17:00:17.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "dir/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T17:00:17.000Z", "cksum": 5284, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "eof" ], [ "end" ] ] ���������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/test/fixtures/parse/emptypax--filter-strict.json������������������������������������0000664�0000000�0000000�00000004467�14344174136�0024707�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "meta", "17 path=🌟.txt\n20 ctime=1491843956\n20 atime=1491845601\n23 SCHILY.dev=16777220\n22 SCHILY.ino=9836716\n18 SCHILY.nlink=1\n" ], [ "ignoredEntry", { "extended": { "atime": "2017-04-10T17:33:21.000Z", "charset": null, "comment": null, "ctime": "2017-04-10T17:05:56.000Z", "gid": null, "gname": null, "linkpath": null, "mtime": null, "path": "🌟.txt", "size": null, "uid": null, "uname": null, "dev": 16777220, "ino": 9836716, "nlink": 1, "global": false }, "globalExtended": null, "type": "File", "meta": false, "ignore": true, "path": "🌟.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 106, "mtime": "2017-04-10T17:05:55.000Z", "atime": "2017-04-10T17:33:21.000Z", "ctime": "2017-04-10T17:05:56.000Z", "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "🌟.txt", "mode": 420, "uid": 501, "gid": 20, "size": 106, "mtime": "2017-04-10T17:05:55.000Z", "cksum": 6023, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "cksum": 6121, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "eof" ], [ "end" ] ] ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/test/fixtures/parse/emptypax--filter.json�������������������������������������������0000664�0000000�0000000�00000004467�14344174136�0023401�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "meta", "17 path=🌟.txt\n20 ctime=1491843956\n20 atime=1491845601\n23 SCHILY.dev=16777220\n22 SCHILY.ino=9836716\n18 SCHILY.nlink=1\n" ], [ "ignoredEntry", { "extended": { "atime": "2017-04-10T17:33:21.000Z", "charset": null, "comment": null, "ctime": "2017-04-10T17:05:56.000Z", "gid": null, "gname": null, "linkpath": null, "mtime": null, "path": "🌟.txt", "size": null, "uid": null, "uname": null, "dev": 16777220, "ino": 9836716, "nlink": 1, "global": false }, "globalExtended": null, "type": "File", "meta": false, "ignore": true, "path": "🌟.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 106, "mtime": "2017-04-10T17:05:55.000Z", "atime": "2017-04-10T17:33:21.000Z", "ctime": "2017-04-10T17:05:56.000Z", "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "🌟.txt", "mode": 420, "uid": 501, "gid": 20, "size": 106, "mtime": "2017-04-10T17:05:55.000Z", "cksum": 6023, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "cksum": 6121, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "eof" ], [ "end" ] ] ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/test/fixtures/parse/emptypax--meta-250-filter-strict.json���������������������������0000664�0000000�0000000�00000004467�14344174136�0026137�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "meta", "17 path=🌟.txt\n20 ctime=1491843956\n20 atime=1491845601\n23 SCHILY.dev=16777220\n22 SCHILY.ino=9836716\n18 SCHILY.nlink=1\n" ], [ "ignoredEntry", { "extended": { "atime": "2017-04-10T17:33:21.000Z", "charset": null, "comment": null, "ctime": "2017-04-10T17:05:56.000Z", "gid": null, "gname": null, "linkpath": null, "mtime": null, "path": "🌟.txt", "size": null, "uid": null, "uname": null, "dev": 16777220, "ino": 9836716, "nlink": 1, "global": false }, "globalExtended": null, "type": "File", "meta": false, "ignore": true, "path": "🌟.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 106, "mtime": "2017-04-10T17:05:55.000Z", "atime": "2017-04-10T17:33:21.000Z", "ctime": "2017-04-10T17:05:56.000Z", "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "🌟.txt", "mode": 420, "uid": 501, "gid": 20, "size": 106, "mtime": "2017-04-10T17:05:55.000Z", "cksum": 6023, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "cksum": 6121, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "eof" ], [ "end" ] ] ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/test/fixtures/parse/emptypax--meta-250-filter.json����������������������������������0000664�0000000�0000000�00000004467�14344174136�0024631�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "meta", "17 path=🌟.txt\n20 ctime=1491843956\n20 atime=1491845601\n23 SCHILY.dev=16777220\n22 SCHILY.ino=9836716\n18 SCHILY.nlink=1\n" ], [ "ignoredEntry", { "extended": { "atime": "2017-04-10T17:33:21.000Z", "charset": null, "comment": null, "ctime": "2017-04-10T17:05:56.000Z", "gid": null, "gname": null, "linkpath": null, "mtime": null, "path": "🌟.txt", "size": null, "uid": null, "uname": null, "dev": 16777220, "ino": 9836716, "nlink": 1, "global": false }, "globalExtended": null, "type": "File", "meta": false, "ignore": true, "path": "🌟.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 106, "mtime": "2017-04-10T17:05:55.000Z", "atime": "2017-04-10T17:33:21.000Z", "ctime": "2017-04-10T17:05:56.000Z", "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "🌟.txt", "mode": 420, "uid": 501, "gid": 20, "size": 106, "mtime": "2017-04-10T17:05:55.000Z", "cksum": 6023, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "cksum": 6121, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "eof" ], [ "end" ] ] ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/test/fixtures/parse/emptypax--meta-250-strict.json����������������������������������0000664�0000000�0000000�00000004461�14344174136�0024646�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "meta", "17 path=🌟.txt\n20 ctime=1491843956\n20 atime=1491845601\n23 SCHILY.dev=16777220\n22 SCHILY.ino=9836716\n18 SCHILY.nlink=1\n" ], [ "entry", { "extended": { "atime": "2017-04-10T17:33:21.000Z", "charset": null, "comment": null, "ctime": "2017-04-10T17:05:56.000Z", "gid": null, "gname": null, "linkpath": null, "mtime": null, "path": "🌟.txt", "size": null, "uid": null, "uname": null, "dev": 16777220, "ino": 9836716, "nlink": 1, "global": false }, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "🌟.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 106, "mtime": "2017-04-10T17:05:55.000Z", "atime": "2017-04-10T17:33:21.000Z", "ctime": "2017-04-10T17:05:56.000Z", "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "🌟.txt", "mode": 420, "uid": 501, "gid": 20, "size": 106, "mtime": "2017-04-10T17:05:55.000Z", "cksum": 6023, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "cksum": 6121, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "eof" ], [ "end" ] ] ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/test/fixtures/parse/emptypax--meta-250.json�����������������������������������������0000664�0000000�0000000�00000004461�14344174136�0023340�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "meta", "17 path=🌟.txt\n20 ctime=1491843956\n20 atime=1491845601\n23 SCHILY.dev=16777220\n22 SCHILY.ino=9836716\n18 SCHILY.nlink=1\n" ], [ "entry", { "extended": { "atime": "2017-04-10T17:33:21.000Z", "charset": null, "comment": null, "ctime": "2017-04-10T17:05:56.000Z", "gid": null, "gname": null, "linkpath": null, "mtime": null, "path": "🌟.txt", "size": null, "uid": null, "uname": null, "dev": 16777220, "ino": 9836716, "nlink": 1, "global": false }, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "🌟.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 106, "mtime": "2017-04-10T17:05:55.000Z", "atime": "2017-04-10T17:33:21.000Z", "ctime": "2017-04-10T17:05:56.000Z", "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "🌟.txt", "mode": 420, "uid": 501, "gid": 20, "size": 106, "mtime": "2017-04-10T17:05:55.000Z", "cksum": 6023, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "cksum": 6121, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "eof" ], [ "end" ] ] ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/test/fixtures/parse/emptypax--strict.json�������������������������������������������0000664�0000000�0000000�00000004461�14344174136�0023416�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "meta", "17 path=🌟.txt\n20 ctime=1491843956\n20 atime=1491845601\n23 SCHILY.dev=16777220\n22 SCHILY.ino=9836716\n18 SCHILY.nlink=1\n" ], [ "entry", { "extended": { "atime": "2017-04-10T17:33:21.000Z", "charset": null, "comment": null, "ctime": "2017-04-10T17:05:56.000Z", "gid": null, "gname": null, "linkpath": null, "mtime": null, "path": "🌟.txt", "size": null, "uid": null, "uname": null, "dev": 16777220, "ino": 9836716, "nlink": 1, "global": false }, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "🌟.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 106, "mtime": "2017-04-10T17:05:55.000Z", "atime": "2017-04-10T17:33:21.000Z", "ctime": "2017-04-10T17:05:56.000Z", "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "🌟.txt", "mode": 420, "uid": 501, "gid": 20, "size": 106, "mtime": "2017-04-10T17:05:55.000Z", "cksum": 6023, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "cksum": 6121, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "eof" ], [ "end" ] ] ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/test/fixtures/parse/emptypax.json���������������������������������������������������0000664�0000000�0000000�00000004461�14344174136�0022033�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "meta", "17 path=🌟.txt\n20 ctime=1491843956\n20 atime=1491845601\n23 SCHILY.dev=16777220\n22 SCHILY.ino=9836716\n18 SCHILY.nlink=1\n" ], [ "entry", { "extended": { "atime": "2017-04-10T17:33:21.000Z", "charset": null, "comment": null, "ctime": "2017-04-10T17:05:56.000Z", "gid": null, "gname": null, "linkpath": null, "mtime": null, "path": "🌟.txt", "size": null, "uid": null, "uname": null, "dev": 16777220, "ino": 9836716, "nlink": 1, "global": false }, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "🌟.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 106, "mtime": "2017-04-10T17:05:55.000Z", "atime": "2017-04-10T17:33:21.000Z", "ctime": "2017-04-10T17:05:56.000Z", "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "🌟.txt", "mode": 420, "uid": 501, "gid": 20, "size": 106, "mtime": "2017-04-10T17:05:55.000Z", "cksum": 6023, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "cksum": 6121, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "eof" ], [ "end" ] ] ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/test/fixtures/parse/file--filter-strict.json����������������������������������������0000664�0000000�0000000�00000001604�14344174136�0023745�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "entry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "cksum": 6121, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "eof" ], [ "end" ] ] ����������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/test/fixtures/parse/file--filter.json�����������������������������������������������0000664�0000000�0000000�00000001604�14344174136�0022437�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "entry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "cksum": 6121, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "eof" ], [ "end" ] ] ����������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/test/fixtures/parse/file--meta-250-filter-strict.json�������������������������������0000664�0000000�0000000�00000001604�14344174136�0025175�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "entry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "cksum": 6121, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "eof" ], [ "end" ] ] ����������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/test/fixtures/parse/file--meta-250-filter.json��������������������������������������0000664�0000000�0000000�00000001604�14344174136�0023667�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "entry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "cksum": 6121, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "eof" ], [ "end" ] ] ����������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/test/fixtures/parse/file--meta-250-strict.json��������������������������������������0000664�0000000�0000000�00000001604�14344174136�0023712�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "entry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "cksum": 6121, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "eof" ], [ "end" ] ] ����������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/test/fixtures/parse/file--meta-250.json���������������������������������������������0000664�0000000�0000000�00000001604�14344174136�0022404�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "entry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "cksum": 6121, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "eof" ], [ "end" ] ] ����������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/test/fixtures/parse/file--strict.json�����������������������������������������������0000664�0000000�0000000�00000001604�14344174136�0022462�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "entry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "cksum": 6121, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "eof" ], [ "end" ] ] ����������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/test/fixtures/parse/file.json�������������������������������������������������������0000664�0000000�0000000�00000001604�14344174136�0021077�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "entry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "cksum": 6121, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "eof" ], [ "end" ] ] ����������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/test/fixtures/parse/global-header--filter-strict.json�������������������������������0000664�0000000�0000000�00000002436�14344174136�0025520�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "meta", "11 path=ab\n" ], [ "entry", { "extended": null, "globalExtended": { "atime": null, "charset": null, "comment": null, "ctime": null, "gid": null, "gname": null, "linkpath": null, "mtime": null, "path": "ab", "size": null, "uid": null, "uname": null, "dev": null, "ino": null, "nlink": null, "global": true }, "type": "File", "meta": false, "ignore": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "cksum": 6121, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "eof" ], [ "end" ] ] ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/test/fixtures/parse/global-header--filter.json��������������������������������������0000664�0000000�0000000�00000002436�14344174136�0024212�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "meta", "11 path=ab\n" ], [ "entry", { "extended": null, "globalExtended": { "atime": null, "charset": null, "comment": null, "ctime": null, "gid": null, "gname": null, "linkpath": null, "mtime": null, "path": "ab", "size": null, "uid": null, "uname": null, "dev": null, "ino": null, "nlink": null, "global": true }, "type": "File", "meta": false, "ignore": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "cksum": 6121, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "eof" ], [ "end" ] ] ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/test/fixtures/parse/global-header--meta-250-filter-strict.json����������������������0000664�0000000�0000000�00000002436�14344174136�0026750�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "meta", "11 path=ab\n" ], [ "entry", { "extended": null, "globalExtended": { "atime": null, "charset": null, "comment": null, "ctime": null, "gid": null, "gname": null, "linkpath": null, "mtime": null, "path": "ab", "size": null, "uid": null, "uname": null, "dev": null, "ino": null, "nlink": null, "global": true }, "type": "File", "meta": false, "ignore": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "cksum": 6121, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "eof" ], [ "end" ] ] ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/test/fixtures/parse/global-header--meta-250-filter.json�����������������������������0000664�0000000�0000000�00000002436�14344174136�0025442�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "meta", "11 path=ab\n" ], [ "entry", { "extended": null, "globalExtended": { "atime": null, "charset": null, "comment": null, "ctime": null, "gid": null, "gname": null, "linkpath": null, "mtime": null, "path": "ab", "size": null, "uid": null, "uname": null, "dev": null, "ino": null, "nlink": null, "global": true }, "type": "File", "meta": false, "ignore": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "cksum": 6121, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "eof" ], [ "end" ] ] ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/test/fixtures/parse/global-header--meta-250-strict.json�����������������������������0000664�0000000�0000000�00000002436�14344174136�0025465�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "meta", "11 path=ab\n" ], [ "entry", { "extended": null, "globalExtended": { "atime": null, "charset": null, "comment": null, "ctime": null, "gid": null, "gname": null, "linkpath": null, "mtime": null, "path": "ab", "size": null, "uid": null, "uname": null, "dev": null, "ino": null, "nlink": null, "global": true }, "type": "File", "meta": false, "ignore": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "cksum": 6121, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "eof" ], [ "end" ] ] ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/test/fixtures/parse/global-header--meta-250.json������������������������������������0000664�0000000�0000000�00000002436�14344174136�0024157�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "meta", "11 path=ab\n" ], [ "entry", { "extended": null, "globalExtended": { "atime": null, "charset": null, "comment": null, "ctime": null, "gid": null, "gname": null, "linkpath": null, "mtime": null, "path": "ab", "size": null, "uid": null, "uname": null, "dev": null, "ino": null, "nlink": null, "global": true }, "type": "File", "meta": false, "ignore": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "cksum": 6121, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "eof" ], [ "end" ] ] ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/test/fixtures/parse/global-header--strict.json��������������������������������������0000664�0000000�0000000�00000002436�14344174136�0024235�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "meta", "11 path=ab\n" ], [ "entry", { "extended": null, "globalExtended": { "atime": null, "charset": null, "comment": null, "ctime": null, "gid": null, "gname": null, "linkpath": null, "mtime": null, "path": "ab", "size": null, "uid": null, "uname": null, "dev": null, "ino": null, "nlink": null, "global": true }, "type": "File", "meta": false, "ignore": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "cksum": 6121, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "eof" ], [ "end" ] ] ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/test/fixtures/parse/global-header.json����������������������������������������������0000664�0000000�0000000�00000002436�14344174136�0022652�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "meta", "11 path=ab\n" ], [ "entry", { "extended": null, "globalExtended": { "atime": null, "charset": null, "comment": null, "ctime": null, "gid": null, "gname": null, "linkpath": null, "mtime": null, "path": "ab", "size": null, "uid": null, "uname": null, "dev": null, "ino": null, "nlink": null, "global": true }, "type": "File", "meta": false, "ignore": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "cksum": 6121, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "eof" ], [ "end" ] ] ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/test/fixtures/parse/links--filter-strict.json���������������������������������������0000664�0000000�0000000�00000005072�14344174136�0024151�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": true, "path": "hardlink-1", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 26, "mtime": "2017-04-10T19:27:05.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "hardlink-1", "mode": 420, "uid": 501, "gid": 20, "size": 26, "mtime": "2017-04-10T19:27:05.000Z", "cksum": 5856, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Link", "meta": false, "ignore": true, "path": "hardlink-2", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T19:27:05.000Z", "atime": null, "ctime": null, "linkpath": "hardlink-1", "header": { "cksumValid": true, "needPax": false, "path": "hardlink-2", "mode": 420, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T19:27:05.000Z", "cksum": 6792, "linkpath": "hardlink-1", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "SymbolicLink", "meta": false, "ignore": true, "path": "symlink", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T19:27:33.000Z", "atime": null, "ctime": null, "linkpath": "hardlink-2", "header": { "cksumValid": true, "needPax": false, "path": "symlink", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T19:27:33.000Z", "cksum": 6639, "linkpath": "hardlink-2", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "eof" ], [ "end" ] ] ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/test/fixtures/parse/links--filter.json����������������������������������������������0000664�0000000�0000000�00000005072�14344174136�0022643�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": true, "path": "hardlink-1", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 26, "mtime": "2017-04-10T19:27:05.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "hardlink-1", "mode": 420, "uid": 501, "gid": 20, "size": 26, "mtime": "2017-04-10T19:27:05.000Z", "cksum": 5856, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Link", "meta": false, "ignore": true, "path": "hardlink-2", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T19:27:05.000Z", "atime": null, "ctime": null, "linkpath": "hardlink-1", "header": { "cksumValid": true, "needPax": false, "path": "hardlink-2", "mode": 420, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T19:27:05.000Z", "cksum": 6792, "linkpath": "hardlink-1", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "SymbolicLink", "meta": false, "ignore": true, "path": "symlink", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T19:27:33.000Z", "atime": null, "ctime": null, "linkpath": "hardlink-2", "header": { "cksumValid": true, "needPax": false, "path": "symlink", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T19:27:33.000Z", "cksum": 6639, "linkpath": "hardlink-2", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "eof" ], [ "end" ] ] ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/test/fixtures/parse/links--meta-250-filter-strict.json������������������������������0000664�0000000�0000000�00000005072�14344174136�0025401�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": true, "path": "hardlink-1", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 26, "mtime": "2017-04-10T19:27:05.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "hardlink-1", "mode": 420, "uid": 501, "gid": 20, "size": 26, "mtime": "2017-04-10T19:27:05.000Z", "cksum": 5856, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Link", "meta": false, "ignore": true, "path": "hardlink-2", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T19:27:05.000Z", "atime": null, "ctime": null, "linkpath": "hardlink-1", "header": { "cksumValid": true, "needPax": false, "path": "hardlink-2", "mode": 420, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T19:27:05.000Z", "cksum": 6792, "linkpath": "hardlink-1", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "SymbolicLink", "meta": false, "ignore": true, "path": "symlink", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T19:27:33.000Z", "atime": null, "ctime": null, "linkpath": "hardlink-2", "header": { "cksumValid": true, "needPax": false, "path": "symlink", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T19:27:33.000Z", "cksum": 6639, "linkpath": "hardlink-2", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "eof" ], [ "end" ] ] ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/test/fixtures/parse/links--meta-250-filter.json�������������������������������������0000664�0000000�0000000�00000005072�14344174136�0024073�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": true, "path": "hardlink-1", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 26, "mtime": "2017-04-10T19:27:05.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "hardlink-1", "mode": 420, "uid": 501, "gid": 20, "size": 26, "mtime": "2017-04-10T19:27:05.000Z", "cksum": 5856, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Link", "meta": false, "ignore": true, "path": "hardlink-2", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T19:27:05.000Z", "atime": null, "ctime": null, "linkpath": "hardlink-1", "header": { "cksumValid": true, "needPax": false, "path": "hardlink-2", "mode": 420, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T19:27:05.000Z", "cksum": 6792, "linkpath": "hardlink-1", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "SymbolicLink", "meta": false, "ignore": true, "path": "symlink", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T19:27:33.000Z", "atime": null, "ctime": null, "linkpath": "hardlink-2", "header": { "cksumValid": true, "needPax": false, "path": "symlink", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T19:27:33.000Z", "cksum": 6639, "linkpath": "hardlink-2", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "eof" ], [ "end" ] ] ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/test/fixtures/parse/links--meta-250-strict.json�������������������������������������0000664�0000000�0000000�00000005050�14344174136�0024112�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "entry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "hardlink-1", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 26, "mtime": "2017-04-10T19:27:05.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "hardlink-1", "mode": 420, "uid": 501, "gid": 20, "size": 26, "mtime": "2017-04-10T19:27:05.000Z", "cksum": 5856, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Link", "meta": false, "ignore": false, "path": "hardlink-2", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T19:27:05.000Z", "atime": null, "ctime": null, "linkpath": "hardlink-1", "header": { "cksumValid": true, "needPax": false, "path": "hardlink-2", "mode": 420, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T19:27:05.000Z", "cksum": 6792, "linkpath": "hardlink-1", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "SymbolicLink", "meta": false, "ignore": false, "path": "symlink", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T19:27:33.000Z", "atime": null, "ctime": null, "linkpath": "hardlink-2", "header": { "cksumValid": true, "needPax": false, "path": "symlink", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T19:27:33.000Z", "cksum": 6639, "linkpath": "hardlink-2", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "eof" ], [ "end" ] ] ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/test/fixtures/parse/links--meta-250.json��������������������������������������������0000664�0000000�0000000�00000005050�14344174136�0022604�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "entry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "hardlink-1", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 26, "mtime": "2017-04-10T19:27:05.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "hardlink-1", "mode": 420, "uid": 501, "gid": 20, "size": 26, "mtime": "2017-04-10T19:27:05.000Z", "cksum": 5856, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Link", "meta": false, "ignore": false, "path": "hardlink-2", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T19:27:05.000Z", "atime": null, "ctime": null, "linkpath": "hardlink-1", "header": { "cksumValid": true, "needPax": false, "path": "hardlink-2", "mode": 420, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T19:27:05.000Z", "cksum": 6792, "linkpath": "hardlink-1", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "SymbolicLink", "meta": false, "ignore": false, "path": "symlink", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T19:27:33.000Z", "atime": null, "ctime": null, "linkpath": "hardlink-2", "header": { "cksumValid": true, "needPax": false, "path": "symlink", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T19:27:33.000Z", "cksum": 6639, "linkpath": "hardlink-2", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "eof" ], [ "end" ] ] ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/test/fixtures/parse/links--strict.json����������������������������������������������0000664�0000000�0000000�00000005050�14344174136�0022662�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "entry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "hardlink-1", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 26, "mtime": "2017-04-10T19:27:05.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "hardlink-1", "mode": 420, "uid": 501, "gid": 20, "size": 26, "mtime": "2017-04-10T19:27:05.000Z", "cksum": 5856, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Link", "meta": false, "ignore": false, "path": "hardlink-2", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T19:27:05.000Z", "atime": null, "ctime": null, "linkpath": "hardlink-1", "header": { "cksumValid": true, "needPax": false, "path": "hardlink-2", "mode": 420, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T19:27:05.000Z", "cksum": 6792, "linkpath": "hardlink-1", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "SymbolicLink", "meta": false, "ignore": false, "path": "symlink", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T19:27:33.000Z", "atime": null, "ctime": null, "linkpath": "hardlink-2", "header": { "cksumValid": true, "needPax": false, "path": "symlink", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T19:27:33.000Z", "cksum": 6639, "linkpath": "hardlink-2", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "eof" ], [ "end" ] ] ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/test/fixtures/parse/links-invalid--filter-strict.json�������������������������������0000664�0000000�0000000�00000002423�14344174136�0025572�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "error", { "message": "TAR_ENTRY_INVALID: linkpath forbidden", "code": "TAR_ENTRY_INVALID" } ], [ "error", { "message": "TAR_ENTRY_INVALID: checksum failure", "code": "TAR_ENTRY_INVALID" } ], [ "error", { "message": "TAR_ENTRY_INVALID: linkpath required", "code": "TAR_ENTRY_INVALID" } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "SymbolicLink", "meta": false, "ignore": true, "path": "symlink", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T19:27:33.000Z", "atime": null, "ctime": null, "linkpath": "hardlink-2", "header": { "cksumValid": true, "needPax": false, "path": "symlink", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T19:27:33.000Z", "cksum": 6639, "linkpath": "hardlink-2", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "eof" ], [ "end" ] ] ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/test/fixtures/parse/links-invalid--filter.json��������������������������������������0000664�0000000�0000000�00000002156�14344174136�0024267�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "warn", "TAR_ENTRY_INVALID", "linkpath forbidden" ], [ "warn", "TAR_ENTRY_INVALID", "checksum failure" ], [ "warn", "TAR_ENTRY_INVALID", "linkpath required" ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "SymbolicLink", "meta": false, "ignore": true, "path": "symlink", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T19:27:33.000Z", "atime": null, "ctime": null, "linkpath": "hardlink-2", "header": { "cksumValid": true, "needPax": false, "path": "symlink", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T19:27:33.000Z", "cksum": 6639, "linkpath": "hardlink-2", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "eof" ], [ "end" ] ] ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/test/fixtures/parse/links-invalid--meta-250-filter-strict.json����������������������0000664�0000000�0000000�00000002423�14344174136�0027022�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "error", { "message": "TAR_ENTRY_INVALID: linkpath forbidden", "code": "TAR_ENTRY_INVALID" } ], [ "error", { "message": "TAR_ENTRY_INVALID: checksum failure", "code": "TAR_ENTRY_INVALID" } ], [ "error", { "message": "TAR_ENTRY_INVALID: linkpath required", "code": "TAR_ENTRY_INVALID" } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "SymbolicLink", "meta": false, "ignore": true, "path": "symlink", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T19:27:33.000Z", "atime": null, "ctime": null, "linkpath": "hardlink-2", "header": { "cksumValid": true, "needPax": false, "path": "symlink", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T19:27:33.000Z", "cksum": 6639, "linkpath": "hardlink-2", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "eof" ], [ "end" ] ] ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/test/fixtures/parse/links-invalid--meta-250-filter.json�����������������������������0000664�0000000�0000000�00000002156�14344174136�0025517�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "warn", "TAR_ENTRY_INVALID", "linkpath forbidden" ], [ "warn", "TAR_ENTRY_INVALID", "checksum failure" ], [ "warn", "TAR_ENTRY_INVALID", "linkpath required" ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "SymbolicLink", "meta": false, "ignore": true, "path": "symlink", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T19:27:33.000Z", "atime": null, "ctime": null, "linkpath": "hardlink-2", "header": { "cksumValid": true, "needPax": false, "path": "symlink", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T19:27:33.000Z", "cksum": 6639, "linkpath": "hardlink-2", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "eof" ], [ "end" ] ] ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/test/fixtures/parse/links-invalid--meta-250-strict.json�����������������������������0000664�0000000�0000000�00000002415�14344174136�0025540�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "error", { "message": "TAR_ENTRY_INVALID: linkpath forbidden", "code": "TAR_ENTRY_INVALID" } ], [ "error", { "message": "TAR_ENTRY_INVALID: checksum failure", "code": "TAR_ENTRY_INVALID" } ], [ "error", { "message": "TAR_ENTRY_INVALID: linkpath required", "code": "TAR_ENTRY_INVALID" } ], [ "entry", { "extended": null, "globalExtended": null, "type": "SymbolicLink", "meta": false, "ignore": false, "path": "symlink", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T19:27:33.000Z", "atime": null, "ctime": null, "linkpath": "hardlink-2", "header": { "cksumValid": true, "needPax": false, "path": "symlink", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T19:27:33.000Z", "cksum": 6639, "linkpath": "hardlink-2", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "eof" ], [ "end" ] ] ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/test/fixtures/parse/links-invalid--meta-250.json������������������������������������0000664�0000000�0000000�00000002150�14344174136�0024226�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "warn", "TAR_ENTRY_INVALID", "linkpath forbidden" ], [ "warn", "TAR_ENTRY_INVALID", "checksum failure" ], [ "warn", "TAR_ENTRY_INVALID", "linkpath required" ], [ "entry", { "extended": null, "globalExtended": null, "type": "SymbolicLink", "meta": false, "ignore": false, "path": "symlink", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T19:27:33.000Z", "atime": null, "ctime": null, "linkpath": "hardlink-2", "header": { "cksumValid": true, "needPax": false, "path": "symlink", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T19:27:33.000Z", "cksum": 6639, "linkpath": "hardlink-2", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "eof" ], [ "end" ] ] ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/test/fixtures/parse/links-invalid--strict.json��������������������������������������0000664�0000000�0000000�00000002415�14344174136�0024310�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "error", { "message": "TAR_ENTRY_INVALID: linkpath forbidden", "code": "TAR_ENTRY_INVALID" } ], [ "error", { "message": "TAR_ENTRY_INVALID: checksum failure", "code": "TAR_ENTRY_INVALID" } ], [ "error", { "message": "TAR_ENTRY_INVALID: linkpath required", "code": "TAR_ENTRY_INVALID" } ], [ "entry", { "extended": null, "globalExtended": null, "type": "SymbolicLink", "meta": false, "ignore": false, "path": "symlink", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T19:27:33.000Z", "atime": null, "ctime": null, "linkpath": "hardlink-2", "header": { "cksumValid": true, "needPax": false, "path": "symlink", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T19:27:33.000Z", "cksum": 6639, "linkpath": "hardlink-2", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "eof" ], [ "end" ] ] ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/test/fixtures/parse/links-invalid.json����������������������������������������������0000664�0000000�0000000�00000002150�14344174136�0022721�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "warn", "TAR_ENTRY_INVALID", "linkpath forbidden" ], [ "warn", "TAR_ENTRY_INVALID", "checksum failure" ], [ "warn", "TAR_ENTRY_INVALID", "linkpath required" ], [ "entry", { "extended": null, "globalExtended": null, "type": "SymbolicLink", "meta": false, "ignore": false, "path": "symlink", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T19:27:33.000Z", "atime": null, "ctime": null, "linkpath": "hardlink-2", "header": { "cksumValid": true, "needPax": false, "path": "symlink", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T19:27:33.000Z", "cksum": 6639, "linkpath": "hardlink-2", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "eof" ], [ "end" ] ] ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/test/fixtures/parse/links-strip--filter-strict.json���������������������������������0000664�0000000�0000000�00000010247�14344174136�0025310�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "strip-dir/", "mode": 493, "uid": 0, "gid": 0, "uname": "", "gname": "", "size": 0, "mtime": "2018-11-06T01:45:25.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "strip-dir/", "mode": 493, "uid": 0, "gid": 0, "size": 0, "mtime": "2018-11-06T01:45:25.000Z", "cksum": 4708, "linkpath": "", "uname": "", "gname": "", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": true, "path": "strip-dir/hardlink-1", "mode": 420, "uid": 0, "gid": 0, "uname": "", "gname": "", "size": 26, "mtime": "2018-11-06T01:45:25.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "strip-dir/hardlink-1", "mode": 420, "uid": 0, "gid": 0, "size": 26, "mtime": "2018-11-06T01:45:25.000Z", "cksum": 5644, "linkpath": "", "uname": "", "gname": "", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Link", "meta": false, "ignore": true, "path": "strip-dir/hardlink-2", "mode": 420, "uid": 0, "gid": 0, "uname": "", "gname": "", "size": 0, "mtime": "2018-11-06T01:45:25.000Z", "atime": null, "ctime": null, "linkpath": "strip-dir/hardlink-1", "header": { "cksumValid": true, "needPax": false, "path": "strip-dir/hardlink-2", "mode": 420, "uid": 0, "gid": 0, "size": 0, "mtime": "2018-11-06T01:45:25.000Z", "cksum": 7553, "linkpath": "strip-dir/hardlink-1", "uname": "", "gname": "", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Link", "meta": false, "ignore": true, "path": "strip-dir/1/2/3/hardlink-3", "mode": 420, "uid": 0, "gid": 0, "uname": "", "gname": "", "size": 0, "mtime": "2018-11-06T01:45:25.000Z", "atime": null, "ctime": null, "linkpath": "strip-dir/hardlink-1", "header": { "cksumValid": true, "needPax": false, "path": "strip-dir/1/2/3/hardlink-3", "mode": 420, "uid": 0, "gid": 0, "size": 0, "mtime": "2018-11-06T01:45:25.000Z", "cksum": 7845, "linkpath": "strip-dir/hardlink-1", "uname": "", "gname": "", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "SymbolicLink", "meta": false, "ignore": true, "path": "strip-dir/symlink", "mode": 420, "uid": 0, "gid": 0, "uname": "", "gname": "", "size": 0, "mtime": "2018-11-06T01:45:25.000Z", "atime": null, "ctime": null, "linkpath": "hardlink-2", "header": { "cksumValid": true, "needPax": false, "path": "strip-dir/symlink", "mode": 420, "uid": 0, "gid": 0, "size": 0, "mtime": "2018-11-06T01:45:25.000Z", "cksum": 6417, "linkpath": "hardlink-2", "uname": "", "gname": "", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "end" ] ] ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/test/fixtures/parse/links-strip--filter.json����������������������������������������0000664�0000000�0000000�00000010247�14344174136�0024002�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "strip-dir/", "mode": 493, "uid": 0, "gid": 0, "uname": "", "gname": "", "size": 0, "mtime": "2018-11-06T01:45:25.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "strip-dir/", "mode": 493, "uid": 0, "gid": 0, "size": 0, "mtime": "2018-11-06T01:45:25.000Z", "cksum": 4708, "linkpath": "", "uname": "", "gname": "", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": true, "path": "strip-dir/hardlink-1", "mode": 420, "uid": 0, "gid": 0, "uname": "", "gname": "", "size": 26, "mtime": "2018-11-06T01:45:25.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "strip-dir/hardlink-1", "mode": 420, "uid": 0, "gid": 0, "size": 26, "mtime": "2018-11-06T01:45:25.000Z", "cksum": 5644, "linkpath": "", "uname": "", "gname": "", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Link", "meta": false, "ignore": true, "path": "strip-dir/hardlink-2", "mode": 420, "uid": 0, "gid": 0, "uname": "", "gname": "", "size": 0, "mtime": "2018-11-06T01:45:25.000Z", "atime": null, "ctime": null, "linkpath": "strip-dir/hardlink-1", "header": { "cksumValid": true, "needPax": false, "path": "strip-dir/hardlink-2", "mode": 420, "uid": 0, "gid": 0, "size": 0, "mtime": "2018-11-06T01:45:25.000Z", "cksum": 7553, "linkpath": "strip-dir/hardlink-1", "uname": "", "gname": "", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Link", "meta": false, "ignore": true, "path": "strip-dir/1/2/3/hardlink-3", "mode": 420, "uid": 0, "gid": 0, "uname": "", "gname": "", "size": 0, "mtime": "2018-11-06T01:45:25.000Z", "atime": null, "ctime": null, "linkpath": "strip-dir/hardlink-1", "header": { "cksumValid": true, "needPax": false, "path": "strip-dir/1/2/3/hardlink-3", "mode": 420, "uid": 0, "gid": 0, "size": 0, "mtime": "2018-11-06T01:45:25.000Z", "cksum": 7845, "linkpath": "strip-dir/hardlink-1", "uname": "", "gname": "", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "SymbolicLink", "meta": false, "ignore": true, "path": "strip-dir/symlink", "mode": 420, "uid": 0, "gid": 0, "uname": "", "gname": "", "size": 0, "mtime": "2018-11-06T01:45:25.000Z", "atime": null, "ctime": null, "linkpath": "hardlink-2", "header": { "cksumValid": true, "needPax": false, "path": "strip-dir/symlink", "mode": 420, "uid": 0, "gid": 0, "size": 0, "mtime": "2018-11-06T01:45:25.000Z", "cksum": 6417, "linkpath": "hardlink-2", "uname": "", "gname": "", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "end" ] ] ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/test/fixtures/parse/links-strip--meta-250-filter-strict.json������������������������0000664�0000000�0000000�00000010247�14344174136�0026540�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "strip-dir/", "mode": 493, "uid": 0, "gid": 0, "uname": "", "gname": "", "size": 0, "mtime": "2018-11-06T01:45:25.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "strip-dir/", "mode": 493, "uid": 0, "gid": 0, "size": 0, "mtime": "2018-11-06T01:45:25.000Z", "cksum": 4708, "linkpath": "", "uname": "", "gname": "", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": true, "path": "strip-dir/hardlink-1", "mode": 420, "uid": 0, "gid": 0, "uname": "", "gname": "", "size": 26, "mtime": "2018-11-06T01:45:25.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "strip-dir/hardlink-1", "mode": 420, "uid": 0, "gid": 0, "size": 26, "mtime": "2018-11-06T01:45:25.000Z", "cksum": 5644, "linkpath": "", "uname": "", "gname": "", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Link", "meta": false, "ignore": true, "path": "strip-dir/hardlink-2", "mode": 420, "uid": 0, "gid": 0, "uname": "", "gname": "", "size": 0, "mtime": "2018-11-06T01:45:25.000Z", "atime": null, "ctime": null, "linkpath": "strip-dir/hardlink-1", "header": { "cksumValid": true, "needPax": false, "path": "strip-dir/hardlink-2", "mode": 420, "uid": 0, "gid": 0, "size": 0, "mtime": "2018-11-06T01:45:25.000Z", "cksum": 7553, "linkpath": "strip-dir/hardlink-1", "uname": "", "gname": "", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Link", "meta": false, "ignore": true, "path": "strip-dir/1/2/3/hardlink-3", "mode": 420, "uid": 0, "gid": 0, "uname": "", "gname": "", "size": 0, "mtime": "2018-11-06T01:45:25.000Z", "atime": null, "ctime": null, "linkpath": "strip-dir/hardlink-1", "header": { "cksumValid": true, "needPax": false, "path": "strip-dir/1/2/3/hardlink-3", "mode": 420, "uid": 0, "gid": 0, "size": 0, "mtime": "2018-11-06T01:45:25.000Z", "cksum": 7845, "linkpath": "strip-dir/hardlink-1", "uname": "", "gname": "", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "SymbolicLink", "meta": false, "ignore": true, "path": "strip-dir/symlink", "mode": 420, "uid": 0, "gid": 0, "uname": "", "gname": "", "size": 0, "mtime": "2018-11-06T01:45:25.000Z", "atime": null, "ctime": null, "linkpath": "hardlink-2", "header": { "cksumValid": true, "needPax": false, "path": "strip-dir/symlink", "mode": 420, "uid": 0, "gid": 0, "size": 0, "mtime": "2018-11-06T01:45:25.000Z", "cksum": 6417, "linkpath": "hardlink-2", "uname": "", "gname": "", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "end" ] ] ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/test/fixtures/parse/links-strip--meta-250-filter.json�������������������������������0000664�0000000�0000000�00000010247�14344174136�0025232�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "strip-dir/", "mode": 493, "uid": 0, "gid": 0, "uname": "", "gname": "", "size": 0, "mtime": "2018-11-06T01:45:25.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "strip-dir/", "mode": 493, "uid": 0, "gid": 0, "size": 0, "mtime": "2018-11-06T01:45:25.000Z", "cksum": 4708, "linkpath": "", "uname": "", "gname": "", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": true, "path": "strip-dir/hardlink-1", "mode": 420, "uid": 0, "gid": 0, "uname": "", "gname": "", "size": 26, "mtime": "2018-11-06T01:45:25.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "strip-dir/hardlink-1", "mode": 420, "uid": 0, "gid": 0, "size": 26, "mtime": "2018-11-06T01:45:25.000Z", "cksum": 5644, "linkpath": "", "uname": "", "gname": "", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Link", "meta": false, "ignore": true, "path": "strip-dir/hardlink-2", "mode": 420, "uid": 0, "gid": 0, "uname": "", "gname": "", "size": 0, "mtime": "2018-11-06T01:45:25.000Z", "atime": null, "ctime": null, "linkpath": "strip-dir/hardlink-1", "header": { "cksumValid": true, "needPax": false, "path": "strip-dir/hardlink-2", "mode": 420, "uid": 0, "gid": 0, "size": 0, "mtime": "2018-11-06T01:45:25.000Z", "cksum": 7553, "linkpath": "strip-dir/hardlink-1", "uname": "", "gname": "", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Link", "meta": false, "ignore": true, "path": "strip-dir/1/2/3/hardlink-3", "mode": 420, "uid": 0, "gid": 0, "uname": "", "gname": "", "size": 0, "mtime": "2018-11-06T01:45:25.000Z", "atime": null, "ctime": null, "linkpath": "strip-dir/hardlink-1", "header": { "cksumValid": true, "needPax": false, "path": "strip-dir/1/2/3/hardlink-3", "mode": 420, "uid": 0, "gid": 0, "size": 0, "mtime": "2018-11-06T01:45:25.000Z", "cksum": 7845, "linkpath": "strip-dir/hardlink-1", "uname": "", "gname": "", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "SymbolicLink", "meta": false, "ignore": true, "path": "strip-dir/symlink", "mode": 420, "uid": 0, "gid": 0, "uname": "", "gname": "", "size": 0, "mtime": "2018-11-06T01:45:25.000Z", "atime": null, "ctime": null, "linkpath": "hardlink-2", "header": { "cksumValid": true, "needPax": false, "path": "strip-dir/symlink", "mode": 420, "uid": 0, "gid": 0, "size": 0, "mtime": "2018-11-06T01:45:25.000Z", "cksum": 6417, "linkpath": "hardlink-2", "uname": "", "gname": "", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "end" ] ] ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/test/fixtures/parse/links-strip--meta-250-strict.json�������������������������������0000664�0000000�0000000�00000010211�14344174136�0025244�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "strip-dir/", "mode": 493, "uid": 0, "gid": 0, "uname": "", "gname": "", "size": 0, "mtime": "2018-11-06T01:45:25.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "strip-dir/", "mode": 493, "uid": 0, "gid": 0, "size": 0, "mtime": "2018-11-06T01:45:25.000Z", "cksum": 4708, "linkpath": "", "uname": "", "gname": "", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "strip-dir/hardlink-1", "mode": 420, "uid": 0, "gid": 0, "uname": "", "gname": "", "size": 26, "mtime": "2018-11-06T01:45:25.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "strip-dir/hardlink-1", "mode": 420, "uid": 0, "gid": 0, "size": 26, "mtime": "2018-11-06T01:45:25.000Z", "cksum": 5644, "linkpath": "", "uname": "", "gname": "", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Link", "meta": false, "ignore": false, "path": "strip-dir/hardlink-2", "mode": 420, "uid": 0, "gid": 0, "uname": "", "gname": "", "size": 0, "mtime": "2018-11-06T01:45:25.000Z", "atime": null, "ctime": null, "linkpath": "strip-dir/hardlink-1", "header": { "cksumValid": true, "needPax": false, "path": "strip-dir/hardlink-2", "mode": 420, "uid": 0, "gid": 0, "size": 0, "mtime": "2018-11-06T01:45:25.000Z", "cksum": 7553, "linkpath": "strip-dir/hardlink-1", "uname": "", "gname": "", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Link", "meta": false, "ignore": false, "path": "strip-dir/1/2/3/hardlink-3", "mode": 420, "uid": 0, "gid": 0, "uname": "", "gname": "", "size": 0, "mtime": "2018-11-06T01:45:25.000Z", "atime": null, "ctime": null, "linkpath": "strip-dir/hardlink-1", "header": { "cksumValid": true, "needPax": false, "path": "strip-dir/1/2/3/hardlink-3", "mode": 420, "uid": 0, "gid": 0, "size": 0, "mtime": "2018-11-06T01:45:25.000Z", "cksum": 7845, "linkpath": "strip-dir/hardlink-1", "uname": "", "gname": "", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "SymbolicLink", "meta": false, "ignore": false, "path": "strip-dir/symlink", "mode": 420, "uid": 0, "gid": 0, "uname": "", "gname": "", "size": 0, "mtime": "2018-11-06T01:45:25.000Z", "atime": null, "ctime": null, "linkpath": "hardlink-2", "header": { "cksumValid": true, "needPax": false, "path": "strip-dir/symlink", "mode": 420, "uid": 0, "gid": 0, "size": 0, "mtime": "2018-11-06T01:45:25.000Z", "cksum": 6417, "linkpath": "hardlink-2", "uname": "", "gname": "", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "end" ] ] ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/test/fixtures/parse/links-strip--meta-250.json��������������������������������������0000664�0000000�0000000�00000010211�14344174136�0023736�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "strip-dir/", "mode": 493, "uid": 0, "gid": 0, "uname": "", "gname": "", "size": 0, "mtime": "2018-11-06T01:45:25.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "strip-dir/", "mode": 493, "uid": 0, "gid": 0, "size": 0, "mtime": "2018-11-06T01:45:25.000Z", "cksum": 4708, "linkpath": "", "uname": "", "gname": "", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "strip-dir/hardlink-1", "mode": 420, "uid": 0, "gid": 0, "uname": "", "gname": "", "size": 26, "mtime": "2018-11-06T01:45:25.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "strip-dir/hardlink-1", "mode": 420, "uid": 0, "gid": 0, "size": 26, "mtime": "2018-11-06T01:45:25.000Z", "cksum": 5644, "linkpath": "", "uname": "", "gname": "", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Link", "meta": false, "ignore": false, "path": "strip-dir/hardlink-2", "mode": 420, "uid": 0, "gid": 0, "uname": "", "gname": "", "size": 0, "mtime": "2018-11-06T01:45:25.000Z", "atime": null, "ctime": null, "linkpath": "strip-dir/hardlink-1", "header": { "cksumValid": true, "needPax": false, "path": "strip-dir/hardlink-2", "mode": 420, "uid": 0, "gid": 0, "size": 0, "mtime": "2018-11-06T01:45:25.000Z", "cksum": 7553, "linkpath": "strip-dir/hardlink-1", "uname": "", "gname": "", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Link", "meta": false, "ignore": false, "path": "strip-dir/1/2/3/hardlink-3", "mode": 420, "uid": 0, "gid": 0, "uname": "", "gname": "", "size": 0, "mtime": "2018-11-06T01:45:25.000Z", "atime": null, "ctime": null, "linkpath": "strip-dir/hardlink-1", "header": { "cksumValid": true, "needPax": false, "path": "strip-dir/1/2/3/hardlink-3", "mode": 420, "uid": 0, "gid": 0, "size": 0, "mtime": "2018-11-06T01:45:25.000Z", "cksum": 7845, "linkpath": "strip-dir/hardlink-1", "uname": "", "gname": "", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "SymbolicLink", "meta": false, "ignore": false, "path": "strip-dir/symlink", "mode": 420, "uid": 0, "gid": 0, "uname": "", "gname": "", "size": 0, "mtime": "2018-11-06T01:45:25.000Z", "atime": null, "ctime": null, "linkpath": "hardlink-2", "header": { "cksumValid": true, "needPax": false, "path": "strip-dir/symlink", "mode": 420, "uid": 0, "gid": 0, "size": 0, "mtime": "2018-11-06T01:45:25.000Z", "cksum": 6417, "linkpath": "hardlink-2", "uname": "", "gname": "", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "end" ] ] ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/test/fixtures/parse/links-strip--strict.json����������������������������������������0000664�0000000�0000000�00000010211�14344174136�0024014�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "strip-dir/", "mode": 493, "uid": 0, "gid": 0, "uname": "", "gname": "", "size": 0, "mtime": "2018-11-06T01:45:25.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "strip-dir/", "mode": 493, "uid": 0, "gid": 0, "size": 0, "mtime": "2018-11-06T01:45:25.000Z", "cksum": 4708, "linkpath": "", "uname": "", "gname": "", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "strip-dir/hardlink-1", "mode": 420, "uid": 0, "gid": 0, "uname": "", "gname": "", "size": 26, "mtime": "2018-11-06T01:45:25.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "strip-dir/hardlink-1", "mode": 420, "uid": 0, "gid": 0, "size": 26, "mtime": "2018-11-06T01:45:25.000Z", "cksum": 5644, "linkpath": "", "uname": "", "gname": "", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Link", "meta": false, "ignore": false, "path": "strip-dir/hardlink-2", "mode": 420, "uid": 0, "gid": 0, "uname": "", "gname": "", "size": 0, "mtime": "2018-11-06T01:45:25.000Z", "atime": null, "ctime": null, "linkpath": "strip-dir/hardlink-1", "header": { "cksumValid": true, "needPax": false, "path": "strip-dir/hardlink-2", "mode": 420, "uid": 0, "gid": 0, "size": 0, "mtime": "2018-11-06T01:45:25.000Z", "cksum": 7553, "linkpath": "strip-dir/hardlink-1", "uname": "", "gname": "", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Link", "meta": false, "ignore": false, "path": "strip-dir/1/2/3/hardlink-3", "mode": 420, "uid": 0, "gid": 0, "uname": "", "gname": "", "size": 0, "mtime": "2018-11-06T01:45:25.000Z", "atime": null, "ctime": null, "linkpath": "strip-dir/hardlink-1", "header": { "cksumValid": true, "needPax": false, "path": "strip-dir/1/2/3/hardlink-3", "mode": 420, "uid": 0, "gid": 0, "size": 0, "mtime": "2018-11-06T01:45:25.000Z", "cksum": 7845, "linkpath": "strip-dir/hardlink-1", "uname": "", "gname": "", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "SymbolicLink", "meta": false, "ignore": false, "path": "strip-dir/symlink", "mode": 420, "uid": 0, "gid": 0, "uname": "", "gname": "", "size": 0, "mtime": "2018-11-06T01:45:25.000Z", "atime": null, "ctime": null, "linkpath": "hardlink-2", "header": { "cksumValid": true, "needPax": false, "path": "strip-dir/symlink", "mode": 420, "uid": 0, "gid": 0, "size": 0, "mtime": "2018-11-06T01:45:25.000Z", "cksum": 6417, "linkpath": "hardlink-2", "uname": "", "gname": "", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "end" ] ] ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/test/fixtures/parse/links-strip.json������������������������������������������������0000664�0000000�0000000�00000010211�14344174136�0022431�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "strip-dir/", "mode": 493, "uid": 0, "gid": 0, "uname": "", "gname": "", "size": 0, "mtime": "2018-11-06T01:45:25.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "strip-dir/", "mode": 493, "uid": 0, "gid": 0, "size": 0, "mtime": "2018-11-06T01:45:25.000Z", "cksum": 4708, "linkpath": "", "uname": "", "gname": "", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "strip-dir/hardlink-1", "mode": 420, "uid": 0, "gid": 0, "uname": "", "gname": "", "size": 26, "mtime": "2018-11-06T01:45:25.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "strip-dir/hardlink-1", "mode": 420, "uid": 0, "gid": 0, "size": 26, "mtime": "2018-11-06T01:45:25.000Z", "cksum": 5644, "linkpath": "", "uname": "", "gname": "", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Link", "meta": false, "ignore": false, "path": "strip-dir/hardlink-2", "mode": 420, "uid": 0, "gid": 0, "uname": "", "gname": "", "size": 0, "mtime": "2018-11-06T01:45:25.000Z", "atime": null, "ctime": null, "linkpath": "strip-dir/hardlink-1", "header": { "cksumValid": true, "needPax": false, "path": "strip-dir/hardlink-2", "mode": 420, "uid": 0, "gid": 0, "size": 0, "mtime": "2018-11-06T01:45:25.000Z", "cksum": 7553, "linkpath": "strip-dir/hardlink-1", "uname": "", "gname": "", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Link", "meta": false, "ignore": false, "path": "strip-dir/1/2/3/hardlink-3", "mode": 420, "uid": 0, "gid": 0, "uname": "", "gname": "", "size": 0, "mtime": "2018-11-06T01:45:25.000Z", "atime": null, "ctime": null, "linkpath": "strip-dir/hardlink-1", "header": { "cksumValid": true, "needPax": false, "path": "strip-dir/1/2/3/hardlink-3", "mode": 420, "uid": 0, "gid": 0, "size": 0, "mtime": "2018-11-06T01:45:25.000Z", "cksum": 7845, "linkpath": "strip-dir/hardlink-1", "uname": "", "gname": "", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "SymbolicLink", "meta": false, "ignore": false, "path": "strip-dir/symlink", "mode": 420, "uid": 0, "gid": 0, "uname": "", "gname": "", "size": 0, "mtime": "2018-11-06T01:45:25.000Z", "atime": null, "ctime": null, "linkpath": "hardlink-2", "header": { "cksumValid": true, "needPax": false, "path": "strip-dir/symlink", "mode": 420, "uid": 0, "gid": 0, "size": 0, "mtime": "2018-11-06T01:45:25.000Z", "cksum": 6417, "linkpath": "hardlink-2", "uname": "", "gname": "", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "end" ] ] ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/test/fixtures/parse/links.json������������������������������������������������������0000664�0000000�0000000�00000005050�14344174136�0021277�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "entry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "hardlink-1", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 26, "mtime": "2017-04-10T19:27:05.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "hardlink-1", "mode": 420, "uid": 501, "gid": 20, "size": 26, "mtime": "2017-04-10T19:27:05.000Z", "cksum": 5856, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Link", "meta": false, "ignore": false, "path": "hardlink-2", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T19:27:05.000Z", "atime": null, "ctime": null, "linkpath": "hardlink-1", "header": { "cksumValid": true, "needPax": false, "path": "hardlink-2", "mode": 420, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T19:27:05.000Z", "cksum": 6792, "linkpath": "hardlink-1", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "SymbolicLink", "meta": false, "ignore": false, "path": "symlink", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T19:27:33.000Z", "atime": null, "ctime": null, "linkpath": "hardlink-2", "header": { "cksumValid": true, "needPax": false, "path": "symlink", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T19:27:33.000Z", "cksum": 6639, "linkpath": "hardlink-2", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "eof" ], [ "end" ] ] ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/test/fixtures/parse/long-paths--filter-strict.json����������������������������������0000664�0000000�0000000�00000103631�14344174136�0025105�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": true, "path": "100-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:53:02.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "100-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 100, "mtime": "2017-04-10T16:53:02.000Z", "cksum": 14592, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "meta", "130 path=120-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\n20 ctime=1491843252\n20 atime=1491843717\n23 SCHILY.dev=16777220\n22 SCHILY.ino=9836297\n18 SCHILY.nlink=1\n" ], [ "ignoredEntry", { "extended": { "atime": "2017-04-10T17:01:57.000Z", "charset": null, "comment": null, "ctime": "2017-04-10T16:54:12.000Z", "gid": null, "gname": null, "linkpath": null, "mtime": null, "path": "120-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "size": null, "uid": null, "uname": null, "dev": 16777220, "ino": 9836297, "nlink": 1, "global": false }, "globalExtended": null, "type": "File", "meta": false, "ignore": true, "path": "120-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:54:12.000Z", "atime": "2017-04-10T17:01:57.000Z", "ctime": "2017-04-10T16:54:12.000Z", "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "120-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 100, "mtime": "2017-04-10T16:54:12.000Z", "cksum": 14495, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "meta", "180 path=170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\n20 ctime=1491843378\n20 atime=1491843717\n23 SCHILY.dev=16777220\n22 SCHILY.ino=9836326\n18 SCHILY.nlink=1\n" ], [ "ignoredEntry", { "extended": { "atime": "2017-04-10T17:01:57.000Z", "charset": null, "comment": null, "ctime": "2017-04-10T16:56:18.000Z", "gid": null, "gname": null, "linkpath": null, "mtime": null, "path": "170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "size": null, "uid": null, "uname": null, "dev": 16777220, "ino": 9836326, "nlink": 1, "global": false }, "globalExtended": null, "type": "File", "meta": false, "ignore": true, "path": "170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:56:18.000Z", "atime": "2017-04-10T17:01:57.000Z", "ctime": "2017-04-10T16:56:18.000Z", "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 100, "mtime": "2017-04-10T16:56:18.000Z", "cksum": 14500, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 5870, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6031, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6179, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6323, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6478, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6633, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6801, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6893, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7040, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7188, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7336, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7495, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7587, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7736, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7894, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8049, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8196, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8344, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8505, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8597, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8756, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8900, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 9063, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:58:47.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:58:47.000Z", "cksum": 9223, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/a.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 6, "mtime": "2017-04-10T16:56:46.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/a.txt", "mode": 420, "uid": 501, "gid": 20, "size": 6, "mtime": "2017-04-10T16:56:46.000Z", "cksum": 9714, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 100, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 19068, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "meta", "186 path=long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\n20 ctime=1491843140\n20 atime=1491843717\n23 SCHILY.dev=16777220\n22 SCHILY.ino=9836253\n18 SCHILY.nlink=1\n" ], [ "ignoredEntry", { "extended": { "atime": "2017-04-10T17:01:57.000Z", "charset": null, "comment": null, "ctime": "2017-04-10T16:52:20.000Z", "gid": null, "gname": null, "linkpath": null, "mtime": null, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "size": null, "uid": null, "uname": null, "dev": 16777220, "ino": 9836253, "nlink": 1, "global": false }, "globalExtended": null, "type": "File", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:52:20.000Z", "atime": "2017-04-10T17:01:57.000Z", "ctime": "2017-04-10T16:52:20.000Z", "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 100, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 18969, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "meta", "236 path=long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\n20 ctime=1491843140\n20 atime=1491843717\n23 SCHILY.dev=16777220\n22 SCHILY.ino=9836254\n18 SCHILY.nlink=1\n" ], [ "ignoredEntry", { "extended": { "atime": "2017-04-10T17:01:57.000Z", "charset": null, "comment": null, "ctime": "2017-04-10T16:52:20.000Z", "gid": null, "gname": null, "linkpath": null, "mtime": null, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "size": null, "uid": null, "uname": null, "dev": 16777220, "ino": 9836254, "nlink": 1, "global": false }, "globalExtended": null, "type": "File", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:52:20.000Z", "atime": "2017-04-10T17:01:57.000Z", "ctime": "2017-04-10T16:52:20.000Z", "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 100, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 20019, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "meta", "71 path=long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/Ω.txt\n20 ctime=1491843527\n20 atime=1491844045\n23 SCHILY.dev=16777220\n22 SCHILY.ino=9836396\n18 SCHILY.nlink=1\n" ], [ "ignoredEntry", { "extended": { "atime": "2017-04-10T17:07:25.000Z", "charset": null, "comment": null, "ctime": "2017-04-10T16:58:47.000Z", "gid": null, "gname": null, "linkpath": null, "mtime": null, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/Ω.txt", "size": null, "uid": null, "uname": null, "dev": 16777220, "ino": 9836396, "nlink": 1, "global": false }, "globalExtended": null, "type": "File", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/Ω.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 2, "mtime": "2017-04-10T16:58:47.000Z", "atime": "2017-04-10T17:07:25.000Z", "ctime": "2017-04-10T16:58:47.000Z", "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/Ω.txt", "mode": 420, "uid": 501, "gid": 20, "size": 2, "mtime": "2017-04-10T16:58:47.000Z", "cksum": 9990, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "eof" ], [ "end" ] ] �������������������������������������������������������������������������������������������������������node-tar-6.1.13/test/fixtures/parse/long-paths--filter.json�����������������������������������������0000664�0000000�0000000�00000103631�14344174136�0023577�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": true, "path": "100-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:53:02.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "100-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 100, "mtime": "2017-04-10T16:53:02.000Z", "cksum": 14592, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "meta", "130 path=120-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\n20 ctime=1491843252\n20 atime=1491843717\n23 SCHILY.dev=16777220\n22 SCHILY.ino=9836297\n18 SCHILY.nlink=1\n" ], [ "ignoredEntry", { "extended": { "atime": "2017-04-10T17:01:57.000Z", "charset": null, "comment": null, "ctime": "2017-04-10T16:54:12.000Z", "gid": null, "gname": null, "linkpath": null, "mtime": null, "path": "120-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "size": null, "uid": null, "uname": null, "dev": 16777220, "ino": 9836297, "nlink": 1, "global": false }, "globalExtended": null, "type": "File", "meta": false, "ignore": true, "path": "120-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:54:12.000Z", "atime": "2017-04-10T17:01:57.000Z", "ctime": "2017-04-10T16:54:12.000Z", "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "120-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 100, "mtime": "2017-04-10T16:54:12.000Z", "cksum": 14495, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "meta", "180 path=170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\n20 ctime=1491843378\n20 atime=1491843717\n23 SCHILY.dev=16777220\n22 SCHILY.ino=9836326\n18 SCHILY.nlink=1\n" ], [ "ignoredEntry", { "extended": { "atime": "2017-04-10T17:01:57.000Z", "charset": null, "comment": null, "ctime": "2017-04-10T16:56:18.000Z", "gid": null, "gname": null, "linkpath": null, "mtime": null, "path": "170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "size": null, "uid": null, "uname": null, "dev": 16777220, "ino": 9836326, "nlink": 1, "global": false }, "globalExtended": null, "type": "File", "meta": false, "ignore": true, "path": "170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:56:18.000Z", "atime": "2017-04-10T17:01:57.000Z", "ctime": "2017-04-10T16:56:18.000Z", "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 100, "mtime": "2017-04-10T16:56:18.000Z", "cksum": 14500, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 5870, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6031, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6179, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6323, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6478, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6633, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6801, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6893, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7040, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7188, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7336, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7495, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7587, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7736, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7894, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8049, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8196, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8344, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8505, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8597, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8756, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8900, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 9063, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:58:47.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:58:47.000Z", "cksum": 9223, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/a.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 6, "mtime": "2017-04-10T16:56:46.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/a.txt", "mode": 420, "uid": 501, "gid": 20, "size": 6, "mtime": "2017-04-10T16:56:46.000Z", "cksum": 9714, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 100, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 19068, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "meta", "186 path=long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\n20 ctime=1491843140\n20 atime=1491843717\n23 SCHILY.dev=16777220\n22 SCHILY.ino=9836253\n18 SCHILY.nlink=1\n" ], [ "ignoredEntry", { "extended": { "atime": "2017-04-10T17:01:57.000Z", "charset": null, "comment": null, "ctime": "2017-04-10T16:52:20.000Z", "gid": null, "gname": null, "linkpath": null, "mtime": null, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "size": null, "uid": null, "uname": null, "dev": 16777220, "ino": 9836253, "nlink": 1, "global": false }, "globalExtended": null, "type": "File", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:52:20.000Z", "atime": "2017-04-10T17:01:57.000Z", "ctime": "2017-04-10T16:52:20.000Z", "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 100, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 18969, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "meta", "236 path=long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\n20 ctime=1491843140\n20 atime=1491843717\n23 SCHILY.dev=16777220\n22 SCHILY.ino=9836254\n18 SCHILY.nlink=1\n" ], [ "ignoredEntry", { "extended": { "atime": "2017-04-10T17:01:57.000Z", "charset": null, "comment": null, "ctime": "2017-04-10T16:52:20.000Z", "gid": null, "gname": null, "linkpath": null, "mtime": null, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "size": null, "uid": null, "uname": null, "dev": 16777220, "ino": 9836254, "nlink": 1, "global": false }, "globalExtended": null, "type": "File", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:52:20.000Z", "atime": "2017-04-10T17:01:57.000Z", "ctime": "2017-04-10T16:52:20.000Z", "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 100, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 20019, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "meta", "71 path=long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/Ω.txt\n20 ctime=1491843527\n20 atime=1491844045\n23 SCHILY.dev=16777220\n22 SCHILY.ino=9836396\n18 SCHILY.nlink=1\n" ], [ "ignoredEntry", { "extended": { "atime": "2017-04-10T17:07:25.000Z", "charset": null, "comment": null, "ctime": "2017-04-10T16:58:47.000Z", "gid": null, "gname": null, "linkpath": null, "mtime": null, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/Ω.txt", "size": null, "uid": null, "uname": null, "dev": 16777220, "ino": 9836396, "nlink": 1, "global": false }, "globalExtended": null, "type": "File", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/Ω.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 2, "mtime": "2017-04-10T16:58:47.000Z", "atime": "2017-04-10T17:07:25.000Z", "ctime": "2017-04-10T16:58:47.000Z", "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/Ω.txt", "mode": 420, "uid": 501, "gid": 20, "size": 2, "mtime": "2017-04-10T16:58:47.000Z", "cksum": 9990, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "eof" ], [ "end" ] ] �������������������������������������������������������������������������������������������������������node-tar-6.1.13/test/fixtures/parse/long-paths--meta-250-filter-strict.json�������������������������0000664�0000000�0000000�00000103461�14344174136�0026336�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": true, "path": "100-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:53:02.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "100-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 100, "mtime": "2017-04-10T16:53:02.000Z", "cksum": 14592, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "meta", "130 path=120-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\n20 ctime=1491843252\n20 atime=1491843717\n23 SCHILY.dev=16777220\n22 SCHILY.ino=9836297\n18 SCHILY.nlink=1\n" ], [ "ignoredEntry", { "extended": { "atime": "2017-04-10T17:01:57.000Z", "charset": null, "comment": null, "ctime": "2017-04-10T16:54:12.000Z", "gid": null, "gname": null, "linkpath": null, "mtime": null, "path": "120-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "size": null, "uid": null, "uname": null, "dev": 16777220, "ino": 9836297, "nlink": 1, "global": false }, "globalExtended": null, "type": "File", "meta": false, "ignore": true, "path": "120-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:54:12.000Z", "atime": "2017-04-10T17:01:57.000Z", "ctime": "2017-04-10T16:54:12.000Z", "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "120-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 100, "mtime": "2017-04-10T16:54:12.000Z", "cksum": 14495, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "ExtendedHeader", "meta": true, "ignore": true, "path": "PaxHeader/170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 283, "mtime": "2017-04-10T16:56:18.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "PaxHeader/170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 283, "mtime": "2017-04-10T16:56:18.000Z", "cksum": 14413, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": true, "path": "170-byte-filename-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:56:18.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "170-byte-filename-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 100, "mtime": "2017-04-10T16:56:18.000Z", "cksum": 14500, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 5870, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6031, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6179, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6323, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6478, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6633, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6801, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6893, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7040, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7188, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7336, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7495, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7587, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7736, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7894, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8049, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8196, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8344, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8505, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8597, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8756, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8900, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 9063, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:58:47.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:58:47.000Z", "cksum": 9223, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/a.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 6, "mtime": "2017-04-10T16:56:46.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/a.txt", "mode": 420, "uid": 501, "gid": 20, "size": 6, "mtime": "2017-04-10T16:56:46.000Z", "cksum": 9714, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 100, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 19068, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "ExtendedHeader", "meta": true, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/PaxHeader/cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 289, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/PaxHeader/cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 289, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 18881, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 100, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 18969, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "ExtendedHeader", "meta": true, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/PaxHeader/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxcccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 339, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/PaxHeader/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxcccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 339, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 19932, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 100, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 20019, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "meta", "71 path=long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/Ω.txt\n20 ctime=1491843527\n20 atime=1491844045\n23 SCHILY.dev=16777220\n22 SCHILY.ino=9836396\n18 SCHILY.nlink=1\n" ], [ "ignoredEntry", { "extended": { "atime": "2017-04-10T17:07:25.000Z", "charset": null, "comment": null, "ctime": "2017-04-10T16:58:47.000Z", "gid": null, "gname": null, "linkpath": null, "mtime": null, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/Ω.txt", "size": null, "uid": null, "uname": null, "dev": 16777220, "ino": 9836396, "nlink": 1, "global": false }, "globalExtended": null, "type": "File", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/Ω.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 2, "mtime": "2017-04-10T16:58:47.000Z", "atime": "2017-04-10T17:07:25.000Z", "ctime": "2017-04-10T16:58:47.000Z", "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/Ω.txt", "mode": 420, "uid": 501, "gid": 20, "size": 2, "mtime": "2017-04-10T16:58:47.000Z", "cksum": 9990, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "eof" ], [ "end" ] ] ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/test/fixtures/parse/long-paths--meta-250-filter.json��������������������������������0000664�0000000�0000000�00000103461�14344174136�0025030�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": true, "path": "100-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:53:02.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "100-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 100, "mtime": "2017-04-10T16:53:02.000Z", "cksum": 14592, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "meta", "130 path=120-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\n20 ctime=1491843252\n20 atime=1491843717\n23 SCHILY.dev=16777220\n22 SCHILY.ino=9836297\n18 SCHILY.nlink=1\n" ], [ "ignoredEntry", { "extended": { "atime": "2017-04-10T17:01:57.000Z", "charset": null, "comment": null, "ctime": "2017-04-10T16:54:12.000Z", "gid": null, "gname": null, "linkpath": null, "mtime": null, "path": "120-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "size": null, "uid": null, "uname": null, "dev": 16777220, "ino": 9836297, "nlink": 1, "global": false }, "globalExtended": null, "type": "File", "meta": false, "ignore": true, "path": "120-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:54:12.000Z", "atime": "2017-04-10T17:01:57.000Z", "ctime": "2017-04-10T16:54:12.000Z", "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "120-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 100, "mtime": "2017-04-10T16:54:12.000Z", "cksum": 14495, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "ExtendedHeader", "meta": true, "ignore": true, "path": "PaxHeader/170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 283, "mtime": "2017-04-10T16:56:18.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "PaxHeader/170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 283, "mtime": "2017-04-10T16:56:18.000Z", "cksum": 14413, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": true, "path": "170-byte-filename-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:56:18.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "170-byte-filename-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 100, "mtime": "2017-04-10T16:56:18.000Z", "cksum": 14500, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 5870, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6031, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6179, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6323, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6478, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6633, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6801, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6893, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7040, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7188, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7336, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7495, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7587, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7736, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7894, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8049, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8196, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8344, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8505, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8597, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8756, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8900, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 9063, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:58:47.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:58:47.000Z", "cksum": 9223, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/a.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 6, "mtime": "2017-04-10T16:56:46.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/a.txt", "mode": 420, "uid": 501, "gid": 20, "size": 6, "mtime": "2017-04-10T16:56:46.000Z", "cksum": 9714, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 100, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 19068, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "ExtendedHeader", "meta": true, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/PaxHeader/cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 289, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/PaxHeader/cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 289, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 18881, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 100, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 18969, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "ExtendedHeader", "meta": true, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/PaxHeader/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxcccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 339, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/PaxHeader/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxcccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 339, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 19932, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 100, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 20019, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "meta", "71 path=long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/Ω.txt\n20 ctime=1491843527\n20 atime=1491844045\n23 SCHILY.dev=16777220\n22 SCHILY.ino=9836396\n18 SCHILY.nlink=1\n" ], [ "ignoredEntry", { "extended": { "atime": "2017-04-10T17:07:25.000Z", "charset": null, "comment": null, "ctime": "2017-04-10T16:58:47.000Z", "gid": null, "gname": null, "linkpath": null, "mtime": null, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/Ω.txt", "size": null, "uid": null, "uname": null, "dev": 16777220, "ino": 9836396, "nlink": 1, "global": false }, "globalExtended": null, "type": "File", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/Ω.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 2, "mtime": "2017-04-10T16:58:47.000Z", "atime": "2017-04-10T17:07:25.000Z", "ctime": "2017-04-10T16:58:47.000Z", "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/Ω.txt", "mode": 420, "uid": 501, "gid": 20, "size": 2, "mtime": "2017-04-10T16:58:47.000Z", "cksum": 9990, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "eof" ], [ "end" ] ] ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/test/fixtures/parse/long-paths--meta-250-strict.json��������������������������������0000664�0000000�0000000�00000103161�14344174136�0025050�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "entry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "100-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:53:02.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "100-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 100, "mtime": "2017-04-10T16:53:02.000Z", "cksum": 14592, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "meta", "130 path=120-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\n20 ctime=1491843252\n20 atime=1491843717\n23 SCHILY.dev=16777220\n22 SCHILY.ino=9836297\n18 SCHILY.nlink=1\n" ], [ "entry", { "extended": { "atime": "2017-04-10T17:01:57.000Z", "charset": null, "comment": null, "ctime": "2017-04-10T16:54:12.000Z", "gid": null, "gname": null, "linkpath": null, "mtime": null, "path": "120-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "size": null, "uid": null, "uname": null, "dev": 16777220, "ino": 9836297, "nlink": 1, "global": false }, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "120-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:54:12.000Z", "atime": "2017-04-10T17:01:57.000Z", "ctime": "2017-04-10T16:54:12.000Z", "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "120-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 100, "mtime": "2017-04-10T16:54:12.000Z", "cksum": 14495, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "ExtendedHeader", "meta": true, "ignore": true, "path": "PaxHeader/170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 283, "mtime": "2017-04-10T16:56:18.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "PaxHeader/170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 283, "mtime": "2017-04-10T16:56:18.000Z", "cksum": 14413, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "170-byte-filename-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:56:18.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "170-byte-filename-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 100, "mtime": "2017-04-10T16:56:18.000Z", "cksum": 14500, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 5870, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6031, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6179, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6323, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6478, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6633, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6801, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6893, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7040, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7188, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7336, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7495, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7587, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7736, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7894, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8049, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8196, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8344, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8505, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8597, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8756, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8900, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 9063, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:58:47.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:58:47.000Z", "cksum": 9223, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/a.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 6, "mtime": "2017-04-10T16:56:46.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/a.txt", "mode": 420, "uid": 501, "gid": 20, "size": 6, "mtime": "2017-04-10T16:56:46.000Z", "cksum": 9714, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 100, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 19068, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "ExtendedHeader", "meta": true, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/PaxHeader/cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 289, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/PaxHeader/cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 289, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 18881, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 100, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 18969, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "ExtendedHeader", "meta": true, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/PaxHeader/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxcccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 339, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/PaxHeader/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxcccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 339, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 19932, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 100, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 20019, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "meta", "71 path=long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/Ω.txt\n20 ctime=1491843527\n20 atime=1491844045\n23 SCHILY.dev=16777220\n22 SCHILY.ino=9836396\n18 SCHILY.nlink=1\n" ], [ "entry", { "extended": { "atime": "2017-04-10T17:07:25.000Z", "charset": null, "comment": null, "ctime": "2017-04-10T16:58:47.000Z", "gid": null, "gname": null, "linkpath": null, "mtime": null, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/Ω.txt", "size": null, "uid": null, "uname": null, "dev": 16777220, "ino": 9836396, "nlink": 1, "global": false }, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/Ω.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 2, "mtime": "2017-04-10T16:58:47.000Z", "atime": "2017-04-10T17:07:25.000Z", "ctime": "2017-04-10T16:58:47.000Z", "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/Ω.txt", "mode": 420, "uid": 501, "gid": 20, "size": 2, "mtime": "2017-04-10T16:58:47.000Z", "cksum": 9990, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "eof" ], [ "end" ] ] ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/test/fixtures/parse/long-paths--meta-250.json���������������������������������������0000664�0000000�0000000�00000103161�14344174136�0023542�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "entry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "100-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:53:02.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "100-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 100, "mtime": "2017-04-10T16:53:02.000Z", "cksum": 14592, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "meta", "130 path=120-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\n20 ctime=1491843252\n20 atime=1491843717\n23 SCHILY.dev=16777220\n22 SCHILY.ino=9836297\n18 SCHILY.nlink=1\n" ], [ "entry", { "extended": { "atime": "2017-04-10T17:01:57.000Z", "charset": null, "comment": null, "ctime": "2017-04-10T16:54:12.000Z", "gid": null, "gname": null, "linkpath": null, "mtime": null, "path": "120-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "size": null, "uid": null, "uname": null, "dev": 16777220, "ino": 9836297, "nlink": 1, "global": false }, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "120-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:54:12.000Z", "atime": "2017-04-10T17:01:57.000Z", "ctime": "2017-04-10T16:54:12.000Z", "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "120-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 100, "mtime": "2017-04-10T16:54:12.000Z", "cksum": 14495, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "ExtendedHeader", "meta": true, "ignore": true, "path": "PaxHeader/170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 283, "mtime": "2017-04-10T16:56:18.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "PaxHeader/170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 283, "mtime": "2017-04-10T16:56:18.000Z", "cksum": 14413, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "170-byte-filename-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:56:18.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "170-byte-filename-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 100, "mtime": "2017-04-10T16:56:18.000Z", "cksum": 14500, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 5870, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6031, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6179, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6323, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6478, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6633, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6801, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6893, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7040, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7188, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7336, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7495, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7587, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7736, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7894, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8049, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8196, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8344, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8505, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8597, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8756, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8900, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 9063, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:58:47.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:58:47.000Z", "cksum": 9223, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/a.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 6, "mtime": "2017-04-10T16:56:46.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/a.txt", "mode": 420, "uid": 501, "gid": 20, "size": 6, "mtime": "2017-04-10T16:56:46.000Z", "cksum": 9714, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 100, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 19068, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "ExtendedHeader", "meta": true, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/PaxHeader/cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 289, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/PaxHeader/cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 289, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 18881, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 100, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 18969, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "ExtendedHeader", "meta": true, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/PaxHeader/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxcccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 339, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/PaxHeader/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxcccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 339, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 19932, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 100, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 20019, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "meta", "71 path=long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/Ω.txt\n20 ctime=1491843527\n20 atime=1491844045\n23 SCHILY.dev=16777220\n22 SCHILY.ino=9836396\n18 SCHILY.nlink=1\n" ], [ "entry", { "extended": { "atime": "2017-04-10T17:07:25.000Z", "charset": null, "comment": null, "ctime": "2017-04-10T16:58:47.000Z", "gid": null, "gname": null, "linkpath": null, "mtime": null, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/Ω.txt", "size": null, "uid": null, "uname": null, "dev": 16777220, "ino": 9836396, "nlink": 1, "global": false }, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/Ω.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 2, "mtime": "2017-04-10T16:58:47.000Z", "atime": "2017-04-10T17:07:25.000Z", "ctime": "2017-04-10T16:58:47.000Z", "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/Ω.txt", "mode": 420, "uid": 501, "gid": 20, "size": 2, "mtime": "2017-04-10T16:58:47.000Z", "cksum": 9990, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "eof" ], [ "end" ] ] ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/test/fixtures/parse/long-paths--strict.json�����������������������������������������0000664�0000000�0000000�00000103331�14344174136�0023617�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "entry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "100-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:53:02.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "100-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 100, "mtime": "2017-04-10T16:53:02.000Z", "cksum": 14592, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "meta", "130 path=120-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\n20 ctime=1491843252\n20 atime=1491843717\n23 SCHILY.dev=16777220\n22 SCHILY.ino=9836297\n18 SCHILY.nlink=1\n" ], [ "entry", { "extended": { "atime": "2017-04-10T17:01:57.000Z", "charset": null, "comment": null, "ctime": "2017-04-10T16:54:12.000Z", "gid": null, "gname": null, "linkpath": null, "mtime": null, "path": "120-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "size": null, "uid": null, "uname": null, "dev": 16777220, "ino": 9836297, "nlink": 1, "global": false }, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "120-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:54:12.000Z", "atime": "2017-04-10T17:01:57.000Z", "ctime": "2017-04-10T16:54:12.000Z", "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "120-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 100, "mtime": "2017-04-10T16:54:12.000Z", "cksum": 14495, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "meta", "180 path=170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\n20 ctime=1491843378\n20 atime=1491843717\n23 SCHILY.dev=16777220\n22 SCHILY.ino=9836326\n18 SCHILY.nlink=1\n" ], [ "entry", { "extended": { "atime": "2017-04-10T17:01:57.000Z", "charset": null, "comment": null, "ctime": "2017-04-10T16:56:18.000Z", "gid": null, "gname": null, "linkpath": null, "mtime": null, "path": "170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "size": null, "uid": null, "uname": null, "dev": 16777220, "ino": 9836326, "nlink": 1, "global": false }, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:56:18.000Z", "atime": "2017-04-10T17:01:57.000Z", "ctime": "2017-04-10T16:56:18.000Z", "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 100, "mtime": "2017-04-10T16:56:18.000Z", "cksum": 14500, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 5870, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6031, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6179, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6323, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6478, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6633, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6801, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6893, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7040, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7188, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7336, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7495, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7587, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7736, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7894, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8049, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8196, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8344, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8505, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8597, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8756, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8900, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 9063, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:58:47.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:58:47.000Z", "cksum": 9223, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/a.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 6, "mtime": "2017-04-10T16:56:46.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/a.txt", "mode": 420, "uid": 501, "gid": 20, "size": 6, "mtime": "2017-04-10T16:56:46.000Z", "cksum": 9714, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 100, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 19068, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "meta", "186 path=long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\n20 ctime=1491843140\n20 atime=1491843717\n23 SCHILY.dev=16777220\n22 SCHILY.ino=9836253\n18 SCHILY.nlink=1\n" ], [ "entry", { "extended": { "atime": "2017-04-10T17:01:57.000Z", "charset": null, "comment": null, "ctime": "2017-04-10T16:52:20.000Z", "gid": null, "gname": null, "linkpath": null, "mtime": null, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "size": null, "uid": null, "uname": null, "dev": 16777220, "ino": 9836253, "nlink": 1, "global": false }, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:52:20.000Z", "atime": "2017-04-10T17:01:57.000Z", "ctime": "2017-04-10T16:52:20.000Z", "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 100, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 18969, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "meta", "236 path=long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\n20 ctime=1491843140\n20 atime=1491843717\n23 SCHILY.dev=16777220\n22 SCHILY.ino=9836254\n18 SCHILY.nlink=1\n" ], [ "entry", { "extended": { "atime": "2017-04-10T17:01:57.000Z", "charset": null, "comment": null, "ctime": "2017-04-10T16:52:20.000Z", "gid": null, "gname": null, "linkpath": null, "mtime": null, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "size": null, "uid": null, "uname": null, "dev": 16777220, "ino": 9836254, "nlink": 1, "global": false }, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:52:20.000Z", "atime": "2017-04-10T17:01:57.000Z", "ctime": "2017-04-10T16:52:20.000Z", "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 100, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 20019, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "meta", "71 path=long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/Ω.txt\n20 ctime=1491843527\n20 atime=1491844045\n23 SCHILY.dev=16777220\n22 SCHILY.ino=9836396\n18 SCHILY.nlink=1\n" ], [ "entry", { "extended": { "atime": "2017-04-10T17:07:25.000Z", "charset": null, "comment": null, "ctime": "2017-04-10T16:58:47.000Z", "gid": null, "gname": null, "linkpath": null, "mtime": null, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/Ω.txt", "size": null, "uid": null, "uname": null, "dev": 16777220, "ino": 9836396, "nlink": 1, "global": false }, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/Ω.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 2, "mtime": "2017-04-10T16:58:47.000Z", "atime": "2017-04-10T17:07:25.000Z", "ctime": "2017-04-10T16:58:47.000Z", "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/Ω.txt", "mode": 420, "uid": 501, "gid": 20, "size": 2, "mtime": "2017-04-10T16:58:47.000Z", "cksum": 9990, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "eof" ], [ "end" ] ] �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/test/fixtures/parse/long-paths.json�������������������������������������������������0000664�0000000�0000000�00000103331�14344174136�0022234�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "entry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "100-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:53:02.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "100-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 100, "mtime": "2017-04-10T16:53:02.000Z", "cksum": 14592, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "meta", "130 path=120-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\n20 ctime=1491843252\n20 atime=1491843717\n23 SCHILY.dev=16777220\n22 SCHILY.ino=9836297\n18 SCHILY.nlink=1\n" ], [ "entry", { "extended": { "atime": "2017-04-10T17:01:57.000Z", "charset": null, "comment": null, "ctime": "2017-04-10T16:54:12.000Z", "gid": null, "gname": null, "linkpath": null, "mtime": null, "path": "120-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "size": null, "uid": null, "uname": null, "dev": 16777220, "ino": 9836297, "nlink": 1, "global": false }, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "120-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:54:12.000Z", "atime": "2017-04-10T17:01:57.000Z", "ctime": "2017-04-10T16:54:12.000Z", "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "120-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 100, "mtime": "2017-04-10T16:54:12.000Z", "cksum": 14495, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "meta", "180 path=170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\n20 ctime=1491843378\n20 atime=1491843717\n23 SCHILY.dev=16777220\n22 SCHILY.ino=9836326\n18 SCHILY.nlink=1\n" ], [ "entry", { "extended": { "atime": "2017-04-10T17:01:57.000Z", "charset": null, "comment": null, "ctime": "2017-04-10T16:56:18.000Z", "gid": null, "gname": null, "linkpath": null, "mtime": null, "path": "170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "size": null, "uid": null, "uname": null, "dev": 16777220, "ino": 9836326, "nlink": 1, "global": false }, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:56:18.000Z", "atime": "2017-04-10T17:01:57.000Z", "ctime": "2017-04-10T16:56:18.000Z", "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 100, "mtime": "2017-04-10T16:56:18.000Z", "cksum": 14500, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 5870, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6031, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6179, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6323, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6478, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6633, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6801, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6893, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7040, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7188, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7336, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7495, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7587, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7736, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7894, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8049, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8196, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8344, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8505, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8597, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8756, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8900, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 9063, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:58:47.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:58:47.000Z", "cksum": 9223, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/a.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 6, "mtime": "2017-04-10T16:56:46.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/a.txt", "mode": 420, "uid": 501, "gid": 20, "size": 6, "mtime": "2017-04-10T16:56:46.000Z", "cksum": 9714, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 100, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 19068, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "meta", "186 path=long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\n20 ctime=1491843140\n20 atime=1491843717\n23 SCHILY.dev=16777220\n22 SCHILY.ino=9836253\n18 SCHILY.nlink=1\n" ], [ "entry", { "extended": { "atime": "2017-04-10T17:01:57.000Z", "charset": null, "comment": null, "ctime": "2017-04-10T16:52:20.000Z", "gid": null, "gname": null, "linkpath": null, "mtime": null, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "size": null, "uid": null, "uname": null, "dev": 16777220, "ino": 9836253, "nlink": 1, "global": false }, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:52:20.000Z", "atime": "2017-04-10T17:01:57.000Z", "ctime": "2017-04-10T16:52:20.000Z", "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 100, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 18969, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "meta", "236 path=long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\n20 ctime=1491843140\n20 atime=1491843717\n23 SCHILY.dev=16777220\n22 SCHILY.ino=9836254\n18 SCHILY.nlink=1\n" ], [ "entry", { "extended": { "atime": "2017-04-10T17:01:57.000Z", "charset": null, "comment": null, "ctime": "2017-04-10T16:52:20.000Z", "gid": null, "gname": null, "linkpath": null, "mtime": null, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "size": null, "uid": null, "uname": null, "dev": 16777220, "ino": 9836254, "nlink": 1, "global": false }, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:52:20.000Z", "atime": "2017-04-10T17:01:57.000Z", "ctime": "2017-04-10T16:52:20.000Z", "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 100, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 20019, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "meta", "71 path=long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/Ω.txt\n20 ctime=1491843527\n20 atime=1491844045\n23 SCHILY.dev=16777220\n22 SCHILY.ino=9836396\n18 SCHILY.nlink=1\n" ], [ "entry", { "extended": { "atime": "2017-04-10T17:07:25.000Z", "charset": null, "comment": null, "ctime": "2017-04-10T16:58:47.000Z", "gid": null, "gname": null, "linkpath": null, "mtime": null, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/Ω.txt", "size": null, "uid": null, "uname": null, "dev": 16777220, "ino": 9836396, "nlink": 1, "global": false }, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/Ω.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 2, "mtime": "2017-04-10T16:58:47.000Z", "atime": "2017-04-10T17:07:25.000Z", "ctime": "2017-04-10T16:58:47.000Z", "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/Ω.txt", "mode": 420, "uid": 501, "gid": 20, "size": 2, "mtime": "2017-04-10T16:58:47.000Z", "cksum": 9990, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "eof" ], [ "end" ] ] �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/test/fixtures/parse/long-pax--filter-strict.json������������������������������������0000664�0000000�0000000�00000007600�14344174136�0024555�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "meta", "130 path=120-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\n1069 comment=all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy\n9 gid=20\n15 gname=staff\n20 mtime=1491843252\n12 size=100\n11 uid=501\n16 uname=isaacs\n" ], [ "ignoredEntry", { "extended": { "atime": null, "charset": null, "comment": "all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy", "ctime": null, "gid": 20, "gname": "staff", "linkpath": null, "mtime": "2017-04-10T16:54:12.000Z", "path": "120-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "size": 100, "uid": 501, "uname": "isaacs", "dev": null, "ino": null, "nlink": null, "global": false }, "globalExtended": null, "type": "File", "meta": false, "ignore": true, "path": "120-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:54:12.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "120-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 100, "mtime": "2017-04-10T16:54:12.000Z", "cksum": 14495, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "end" ] ] ��������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/test/fixtures/parse/long-pax--filter.json�������������������������������������������0000664�0000000�0000000�00000007600�14344174136�0023247�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "meta", "130 path=120-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\n1069 comment=all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy\n9 gid=20\n15 gname=staff\n20 mtime=1491843252\n12 size=100\n11 uid=501\n16 uname=isaacs\n" ], [ "ignoredEntry", { "extended": { "atime": null, "charset": null, "comment": "all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy", "ctime": null, "gid": 20, "gname": "staff", "linkpath": null, "mtime": "2017-04-10T16:54:12.000Z", "path": "120-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "size": 100, "uid": 501, "uname": "isaacs", "dev": null, "ino": null, "nlink": null, "global": false }, "globalExtended": null, "type": "File", "meta": false, "ignore": true, "path": "120-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:54:12.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "120-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 100, "mtime": "2017-04-10T16:54:12.000Z", "cksum": 14495, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "end" ] ] ��������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/test/fixtures/parse/long-pax--meta-250-filter-strict.json���������������������������0000664�0000000�0000000�00000004027�14344174136�0026005�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "ExtendedHeader", "meta": true, "ignore": true, "path": "PaxHeader/120-byte-filename-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 1282, "mtime": "2017-04-10T16:54:12.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "PaxHeader/120-byte-filename-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 1282, "mtime": "2017-04-10T16:54:12.000Z", "cksum": 14425, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": true, "path": "120-byte-filename-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:54:12.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "120-byte-filename-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 100, "mtime": "2017-04-10T16:54:12.000Z", "cksum": 14495, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "end" ] ] ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/test/fixtures/parse/long-pax--meta-250-filter.json����������������������������������0000664�0000000�0000000�00000004027�14344174136�0024477�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "ExtendedHeader", "meta": true, "ignore": true, "path": "PaxHeader/120-byte-filename-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 1282, "mtime": "2017-04-10T16:54:12.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "PaxHeader/120-byte-filename-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 1282, "mtime": "2017-04-10T16:54:12.000Z", "cksum": 14425, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": true, "path": "120-byte-filename-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:54:12.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "120-byte-filename-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 100, "mtime": "2017-04-10T16:54:12.000Z", "cksum": 14495, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "end" ] ] ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/test/fixtures/parse/long-pax--meta-250-strict.json����������������������������������0000664�0000000�0000000�00000004021�14344174136�0024514�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "ExtendedHeader", "meta": true, "ignore": true, "path": "PaxHeader/120-byte-filename-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 1282, "mtime": "2017-04-10T16:54:12.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "PaxHeader/120-byte-filename-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 1282, "mtime": "2017-04-10T16:54:12.000Z", "cksum": 14425, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "120-byte-filename-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:54:12.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "120-byte-filename-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 100, "mtime": "2017-04-10T16:54:12.000Z", "cksum": 14495, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "end" ] ] ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/test/fixtures/parse/long-pax--meta-250.json�����������������������������������������0000664�0000000�0000000�00000004021�14344174136�0023206�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "ExtendedHeader", "meta": true, "ignore": true, "path": "PaxHeader/120-byte-filename-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 1282, "mtime": "2017-04-10T16:54:12.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "PaxHeader/120-byte-filename-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 1282, "mtime": "2017-04-10T16:54:12.000Z", "cksum": 14425, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "120-byte-filename-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:54:12.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "120-byte-filename-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 100, "mtime": "2017-04-10T16:54:12.000Z", "cksum": 14495, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "end" ] ] ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/test/fixtures/parse/long-pax--strict.json�������������������������������������������0000664�0000000�0000000�00000007572�14344174136�0023302�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "meta", "130 path=120-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\n1069 comment=all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy\n9 gid=20\n15 gname=staff\n20 mtime=1491843252\n12 size=100\n11 uid=501\n16 uname=isaacs\n" ], [ "entry", { "extended": { "atime": null, "charset": null, "comment": "all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy", "ctime": null, "gid": 20, "gname": "staff", "linkpath": null, "mtime": "2017-04-10T16:54:12.000Z", "path": "120-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "size": 100, "uid": 501, "uname": "isaacs", "dev": null, "ino": null, "nlink": null, "global": false }, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "120-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:54:12.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "120-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 100, "mtime": "2017-04-10T16:54:12.000Z", "cksum": 14495, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "end" ] ] ��������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/test/fixtures/parse/long-pax.json���������������������������������������������������0000664�0000000�0000000�00000007572�14344174136�0021717�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "meta", "130 path=120-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\n1069 comment=all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy\n9 gid=20\n15 gname=staff\n20 mtime=1491843252\n12 size=100\n11 uid=501\n16 uname=isaacs\n" ], [ "entry", { "extended": { "atime": null, "charset": null, "comment": "all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy", "ctime": null, "gid": 20, "gname": "staff", "linkpath": null, "mtime": "2017-04-10T16:54:12.000Z", "path": "120-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "size": 100, "uid": 501, "uname": "isaacs", "dev": null, "ino": null, "nlink": null, "global": false }, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "120-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:54:12.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "120-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 100, "mtime": "2017-04-10T16:54:12.000Z", "cksum": 14495, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "end" ] ] ��������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/test/fixtures/parse/next-file-has-long--filter-strict.json��������������������������0000664�0000000�0000000�00000005741�14344174136�0026435�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "meta", "170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc" ], [ "ignoredEntry", { "extended": { "path": "170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc" }, "globalExtended": null, "type": "File", "meta": false, "ignore": true, "path": "170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:56:18.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 100, "mtime": "2017-04-10T16:56:18.000Z", "cksum": 14500, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "meta", "170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc" ], [ "ignoredEntry", { "extended": { "linkpath": "170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc" }, "globalExtended": null, "type": "SymbolicLink", "meta": false, "ignore": true, "path": "longlink", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T23:22:33.000Z", "atime": null, "ctime": null, "linkpath": "170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "header": { "cksumValid": true, "needPax": false, "path": "longlink", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T23:22:33.000Z", "cksum": 7135, "linkpath": "././@LongSymLink", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "eof" ], [ "end" ] ] �������������������������������node-tar-6.1.13/test/fixtures/parse/next-file-has-long--filter.json���������������������������������0000664�0000000�0000000�00000005741�14344174136�0025127�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "meta", "170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc" ], [ "ignoredEntry", { "extended": { "path": "170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc" }, "globalExtended": null, "type": "File", "meta": false, "ignore": true, "path": "170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:56:18.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 100, "mtime": "2017-04-10T16:56:18.000Z", "cksum": 14500, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "meta", "170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc" ], [ "ignoredEntry", { "extended": { "linkpath": "170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc" }, "globalExtended": null, "type": "SymbolicLink", "meta": false, "ignore": true, "path": "longlink", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T23:22:33.000Z", "atime": null, "ctime": null, "linkpath": "170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "header": { "cksumValid": true, "needPax": false, "path": "longlink", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T23:22:33.000Z", "cksum": 7135, "linkpath": "././@LongSymLink", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "eof" ], [ "end" ] ] �������������������������������node-tar-6.1.13/test/fixtures/parse/next-file-has-long--meta-250-filter-strict.json�����������������0000664�0000000�0000000�00000005741�14344174136�0027665�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "meta", "170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc" ], [ "ignoredEntry", { "extended": { "path": "170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc" }, "globalExtended": null, "type": "File", "meta": false, "ignore": true, "path": "170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:56:18.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 100, "mtime": "2017-04-10T16:56:18.000Z", "cksum": 14500, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "meta", "170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc" ], [ "ignoredEntry", { "extended": { "linkpath": "170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc" }, "globalExtended": null, "type": "SymbolicLink", "meta": false, "ignore": true, "path": "longlink", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T23:22:33.000Z", "atime": null, "ctime": null, "linkpath": "170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "header": { "cksumValid": true, "needPax": false, "path": "longlink", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T23:22:33.000Z", "cksum": 7135, "linkpath": "././@LongSymLink", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "eof" ], [ "end" ] ] �������������������������������node-tar-6.1.13/test/fixtures/parse/next-file-has-long--meta-250-filter.json������������������������0000664�0000000�0000000�00000005741�14344174136�0026357�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "meta", "170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc" ], [ "ignoredEntry", { "extended": { "path": "170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc" }, "globalExtended": null, "type": "File", "meta": false, "ignore": true, "path": "170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:56:18.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 100, "mtime": "2017-04-10T16:56:18.000Z", "cksum": 14500, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "meta", "170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc" ], [ "ignoredEntry", { "extended": { "linkpath": "170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc" }, "globalExtended": null, "type": "SymbolicLink", "meta": false, "ignore": true, "path": "longlink", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T23:22:33.000Z", "atime": null, "ctime": null, "linkpath": "170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "header": { "cksumValid": true, "needPax": false, "path": "longlink", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T23:22:33.000Z", "cksum": 7135, "linkpath": "././@LongSymLink", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "eof" ], [ "end" ] ] �������������������������������node-tar-6.1.13/test/fixtures/parse/next-file-has-long--meta-250-strict.json������������������������0000664�0000000�0000000�00000005725�14344174136�0026404�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "meta", "170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc" ], [ "entry", { "extended": { "path": "170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc" }, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:56:18.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 100, "mtime": "2017-04-10T16:56:18.000Z", "cksum": 14500, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "meta", "170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc" ], [ "entry", { "extended": { "linkpath": "170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc" }, "globalExtended": null, "type": "SymbolicLink", "meta": false, "ignore": false, "path": "longlink", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T23:22:33.000Z", "atime": null, "ctime": null, "linkpath": "170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "header": { "cksumValid": true, "needPax": false, "path": "longlink", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T23:22:33.000Z", "cksum": 7135, "linkpath": "././@LongSymLink", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "eof" ], [ "end" ] ] �������������������������������������������node-tar-6.1.13/test/fixtures/parse/next-file-has-long--meta-250.json�������������������������������0000664�0000000�0000000�00000005725�14344174136�0025076�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "meta", "170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc" ], [ "entry", { "extended": { "path": "170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc" }, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:56:18.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 100, "mtime": "2017-04-10T16:56:18.000Z", "cksum": 14500, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "meta", "170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc" ], [ "entry", { "extended": { "linkpath": "170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc" }, "globalExtended": null, "type": "SymbolicLink", "meta": false, "ignore": false, "path": "longlink", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T23:22:33.000Z", "atime": null, "ctime": null, "linkpath": "170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "header": { "cksumValid": true, "needPax": false, "path": "longlink", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T23:22:33.000Z", "cksum": 7135, "linkpath": "././@LongSymLink", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "eof" ], [ "end" ] ] �������������������������������������������node-tar-6.1.13/test/fixtures/parse/next-file-has-long--strict.json���������������������������������0000664�0000000�0000000�00000005725�14344174136�0025154�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "meta", "170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc" ], [ "entry", { "extended": { "path": "170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc" }, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:56:18.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 100, "mtime": "2017-04-10T16:56:18.000Z", "cksum": 14500, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "meta", "170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc" ], [ "entry", { "extended": { "linkpath": "170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc" }, "globalExtended": null, "type": "SymbolicLink", "meta": false, "ignore": false, "path": "longlink", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T23:22:33.000Z", "atime": null, "ctime": null, "linkpath": "170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "header": { "cksumValid": true, "needPax": false, "path": "longlink", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T23:22:33.000Z", "cksum": 7135, "linkpath": "././@LongSymLink", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "eof" ], [ "end" ] ] �������������������������������������������node-tar-6.1.13/test/fixtures/parse/next-file-has-long.json�����������������������������������������0000664�0000000�0000000�00000005725�14344174136�0023571�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "meta", "170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc" ], [ "entry", { "extended": { "path": "170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc" }, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:56:18.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 100, "mtime": "2017-04-10T16:56:18.000Z", "cksum": 14500, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "meta", "170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc" ], [ "entry", { "extended": { "linkpath": "170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc" }, "globalExtended": null, "type": "SymbolicLink", "meta": false, "ignore": false, "path": "longlink", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T23:22:33.000Z", "atime": null, "ctime": null, "linkpath": "170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "header": { "cksumValid": true, "needPax": false, "path": "longlink", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T23:22:33.000Z", "cksum": 7135, "linkpath": "././@LongSymLink", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "eof" ], [ "end" ] ] �������������������������������������������node-tar-6.1.13/test/fixtures/parse/null-byte--filter-strict.json�����������������������������������0000664�0000000�0000000�00000004467�14344174136�0024753�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "this_is_a_really_long_directory_name_with_a_lot_of_characters/", "mode": 509, "uid": 1000, "gid": 1000, "uname": null, "gname": null, "size": 0, "mtime": "2017-07-31T22:21:58.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "this_is_a_really_long_directory_name_with_a_lot_of_characters/", "mode": 509, "uid": 1000, "gid": 1000, "size": 0, "mtime": "2017-07-31T22:21:58.000Z", "cksum": 11228, "linkpath": "", "uname": null, "gname": null, "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "meta", "this_is_a_really_long_directory_name_with_a_lot_of_characters/this_is_a_really_long_tgz_file_with_a_lot_of_characters.tgz\u0000" ], [ "ignoredEntry", { "extended": { "path": "this_is_a_really_long_directory_name_with_a_lot_of_characters/this_is_a_really_long_tgz_file_with_a_lot_of_characters.tgz" }, "globalExtended": null, "type": "File", "meta": false, "ignore": true, "path": "this_is_a_really_long_directory_name_with_a_lot_of_characters/this_is_a_really_long_tgz_file_with_a_lot_of_characters.tgz", "mode": 436, "uid": 1000, "gid": 1000, "uname": null, "gname": null, "size": 200, "mtime": "2017-07-31T22:21:53.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "this_is_a_really_long_directory_name_with_a_lot_of_characters/this_is_a_really_long_tgz_file_with_a_lot_of_characters.tgz", "mode": 436, "uid": 1000, "gid": 1000, "size": 200, "mtime": "2017-07-31T22:21:53.000Z", "cksum": 15210, "linkpath": "", "uname": null, "gname": null, "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "eof" ], [ "end" ] ] ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/test/fixtures/parse/null-byte--filter.json������������������������������������������0000664�0000000�0000000�00000004467�14344174136�0023445�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "this_is_a_really_long_directory_name_with_a_lot_of_characters/", "mode": 509, "uid": 1000, "gid": 1000, "uname": null, "gname": null, "size": 0, "mtime": "2017-07-31T22:21:58.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "this_is_a_really_long_directory_name_with_a_lot_of_characters/", "mode": 509, "uid": 1000, "gid": 1000, "size": 0, "mtime": "2017-07-31T22:21:58.000Z", "cksum": 11228, "linkpath": "", "uname": null, "gname": null, "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "meta", "this_is_a_really_long_directory_name_with_a_lot_of_characters/this_is_a_really_long_tgz_file_with_a_lot_of_characters.tgz\u0000" ], [ "ignoredEntry", { "extended": { "path": "this_is_a_really_long_directory_name_with_a_lot_of_characters/this_is_a_really_long_tgz_file_with_a_lot_of_characters.tgz" }, "globalExtended": null, "type": "File", "meta": false, "ignore": true, "path": "this_is_a_really_long_directory_name_with_a_lot_of_characters/this_is_a_really_long_tgz_file_with_a_lot_of_characters.tgz", "mode": 436, "uid": 1000, "gid": 1000, "uname": null, "gname": null, "size": 200, "mtime": "2017-07-31T22:21:53.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "this_is_a_really_long_directory_name_with_a_lot_of_characters/this_is_a_really_long_tgz_file_with_a_lot_of_characters.tgz", "mode": 436, "uid": 1000, "gid": 1000, "size": 200, "mtime": "2017-07-31T22:21:53.000Z", "cksum": 15210, "linkpath": "", "uname": null, "gname": null, "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "eof" ], [ "end" ] ] ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/test/fixtures/parse/null-byte--meta-250-filter-strict.json��������������������������0000664�0000000�0000000�00000004467�14344174136�0026203�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "this_is_a_really_long_directory_name_with_a_lot_of_characters/", "mode": 509, "uid": 1000, "gid": 1000, "uname": null, "gname": null, "size": 0, "mtime": "2017-07-31T22:21:58.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "this_is_a_really_long_directory_name_with_a_lot_of_characters/", "mode": 509, "uid": 1000, "gid": 1000, "size": 0, "mtime": "2017-07-31T22:21:58.000Z", "cksum": 11228, "linkpath": "", "uname": null, "gname": null, "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "meta", "this_is_a_really_long_directory_name_with_a_lot_of_characters/this_is_a_really_long_tgz_file_with_a_lot_of_characters.tgz\u0000" ], [ "ignoredEntry", { "extended": { "path": "this_is_a_really_long_directory_name_with_a_lot_of_characters/this_is_a_really_long_tgz_file_with_a_lot_of_characters.tgz" }, "globalExtended": null, "type": "File", "meta": false, "ignore": true, "path": "this_is_a_really_long_directory_name_with_a_lot_of_characters/this_is_a_really_long_tgz_file_with_a_lot_of_characters.tgz", "mode": 436, "uid": 1000, "gid": 1000, "uname": null, "gname": null, "size": 200, "mtime": "2017-07-31T22:21:53.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "this_is_a_really_long_directory_name_with_a_lot_of_characters/this_is_a_really_long_tgz_file_with_a_lot_of_characters.tgz", "mode": 436, "uid": 1000, "gid": 1000, "size": 200, "mtime": "2017-07-31T22:21:53.000Z", "cksum": 15210, "linkpath": "", "uname": null, "gname": null, "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "eof" ], [ "end" ] ] ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/test/fixtures/parse/null-byte--meta-250-filter.json���������������������������������0000664�0000000�0000000�00000004467�14344174136�0024675�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "this_is_a_really_long_directory_name_with_a_lot_of_characters/", "mode": 509, "uid": 1000, "gid": 1000, "uname": null, "gname": null, "size": 0, "mtime": "2017-07-31T22:21:58.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "this_is_a_really_long_directory_name_with_a_lot_of_characters/", "mode": 509, "uid": 1000, "gid": 1000, "size": 0, "mtime": "2017-07-31T22:21:58.000Z", "cksum": 11228, "linkpath": "", "uname": null, "gname": null, "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "meta", "this_is_a_really_long_directory_name_with_a_lot_of_characters/this_is_a_really_long_tgz_file_with_a_lot_of_characters.tgz\u0000" ], [ "ignoredEntry", { "extended": { "path": "this_is_a_really_long_directory_name_with_a_lot_of_characters/this_is_a_really_long_tgz_file_with_a_lot_of_characters.tgz" }, "globalExtended": null, "type": "File", "meta": false, "ignore": true, "path": "this_is_a_really_long_directory_name_with_a_lot_of_characters/this_is_a_really_long_tgz_file_with_a_lot_of_characters.tgz", "mode": 436, "uid": 1000, "gid": 1000, "uname": null, "gname": null, "size": 200, "mtime": "2017-07-31T22:21:53.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "this_is_a_really_long_directory_name_with_a_lot_of_characters/this_is_a_really_long_tgz_file_with_a_lot_of_characters.tgz", "mode": 436, "uid": 1000, "gid": 1000, "size": 200, "mtime": "2017-07-31T22:21:53.000Z", "cksum": 15210, "linkpath": "", "uname": null, "gname": null, "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "eof" ], [ "end" ] ] ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/test/fixtures/parse/null-byte--meta-250-strict.json���������������������������������0000664�0000000�0000000�00000004453�14344174136�0024713�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "this_is_a_really_long_directory_name_with_a_lot_of_characters/", "mode": 509, "uid": 1000, "gid": 1000, "uname": null, "gname": null, "size": 0, "mtime": "2017-07-31T22:21:58.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "this_is_a_really_long_directory_name_with_a_lot_of_characters/", "mode": 509, "uid": 1000, "gid": 1000, "size": 0, "mtime": "2017-07-31T22:21:58.000Z", "cksum": 11228, "linkpath": "", "uname": null, "gname": null, "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "meta", "this_is_a_really_long_directory_name_with_a_lot_of_characters/this_is_a_really_long_tgz_file_with_a_lot_of_characters.tgz\u0000" ], [ "entry", { "extended": { "path": "this_is_a_really_long_directory_name_with_a_lot_of_characters/this_is_a_really_long_tgz_file_with_a_lot_of_characters.tgz" }, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "this_is_a_really_long_directory_name_with_a_lot_of_characters/this_is_a_really_long_tgz_file_with_a_lot_of_characters.tgz", "mode": 436, "uid": 1000, "gid": 1000, "uname": null, "gname": null, "size": 200, "mtime": "2017-07-31T22:21:53.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "this_is_a_really_long_directory_name_with_a_lot_of_characters/this_is_a_really_long_tgz_file_with_a_lot_of_characters.tgz", "mode": 436, "uid": 1000, "gid": 1000, "size": 200, "mtime": "2017-07-31T22:21:53.000Z", "cksum": 15210, "linkpath": "", "uname": null, "gname": null, "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "eof" ], [ "end" ] ] ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/test/fixtures/parse/null-byte--meta-250.json����������������������������������������0000664�0000000�0000000�00000004453�14344174136�0023405�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "this_is_a_really_long_directory_name_with_a_lot_of_characters/", "mode": 509, "uid": 1000, "gid": 1000, "uname": null, "gname": null, "size": 0, "mtime": "2017-07-31T22:21:58.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "this_is_a_really_long_directory_name_with_a_lot_of_characters/", "mode": 509, "uid": 1000, "gid": 1000, "size": 0, "mtime": "2017-07-31T22:21:58.000Z", "cksum": 11228, "linkpath": "", "uname": null, "gname": null, "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "meta", "this_is_a_really_long_directory_name_with_a_lot_of_characters/this_is_a_really_long_tgz_file_with_a_lot_of_characters.tgz\u0000" ], [ "entry", { "extended": { "path": "this_is_a_really_long_directory_name_with_a_lot_of_characters/this_is_a_really_long_tgz_file_with_a_lot_of_characters.tgz" }, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "this_is_a_really_long_directory_name_with_a_lot_of_characters/this_is_a_really_long_tgz_file_with_a_lot_of_characters.tgz", "mode": 436, "uid": 1000, "gid": 1000, "uname": null, "gname": null, "size": 200, "mtime": "2017-07-31T22:21:53.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "this_is_a_really_long_directory_name_with_a_lot_of_characters/this_is_a_really_long_tgz_file_with_a_lot_of_characters.tgz", "mode": 436, "uid": 1000, "gid": 1000, "size": 200, "mtime": "2017-07-31T22:21:53.000Z", "cksum": 15210, "linkpath": "", "uname": null, "gname": null, "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "eof" ], [ "end" ] ] ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/test/fixtures/parse/null-byte--strict.json������������������������������������������0000664�0000000�0000000�00000004453�14344174136�0023463�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "this_is_a_really_long_directory_name_with_a_lot_of_characters/", "mode": 509, "uid": 1000, "gid": 1000, "uname": null, "gname": null, "size": 0, "mtime": "2017-07-31T22:21:58.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "this_is_a_really_long_directory_name_with_a_lot_of_characters/", "mode": 509, "uid": 1000, "gid": 1000, "size": 0, "mtime": "2017-07-31T22:21:58.000Z", "cksum": 11228, "linkpath": "", "uname": null, "gname": null, "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "meta", "this_is_a_really_long_directory_name_with_a_lot_of_characters/this_is_a_really_long_tgz_file_with_a_lot_of_characters.tgz\u0000" ], [ "entry", { "extended": { "path": "this_is_a_really_long_directory_name_with_a_lot_of_characters/this_is_a_really_long_tgz_file_with_a_lot_of_characters.tgz" }, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "this_is_a_really_long_directory_name_with_a_lot_of_characters/this_is_a_really_long_tgz_file_with_a_lot_of_characters.tgz", "mode": 436, "uid": 1000, "gid": 1000, "uname": null, "gname": null, "size": 200, "mtime": "2017-07-31T22:21:53.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "this_is_a_really_long_directory_name_with_a_lot_of_characters/this_is_a_really_long_tgz_file_with_a_lot_of_characters.tgz", "mode": 436, "uid": 1000, "gid": 1000, "size": 200, "mtime": "2017-07-31T22:21:53.000Z", "cksum": 15210, "linkpath": "", "uname": null, "gname": null, "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "eof" ], [ "end" ] ] ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/test/fixtures/parse/null-byte.json��������������������������������������������������0000664�0000000�0000000�00000004453�14344174136�0022100�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "this_is_a_really_long_directory_name_with_a_lot_of_characters/", "mode": 509, "uid": 1000, "gid": 1000, "uname": null, "gname": null, "size": 0, "mtime": "2017-07-31T22:21:58.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "this_is_a_really_long_directory_name_with_a_lot_of_characters/", "mode": 509, "uid": 1000, "gid": 1000, "size": 0, "mtime": "2017-07-31T22:21:58.000Z", "cksum": 11228, "linkpath": "", "uname": null, "gname": null, "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "meta", "this_is_a_really_long_directory_name_with_a_lot_of_characters/this_is_a_really_long_tgz_file_with_a_lot_of_characters.tgz\u0000" ], [ "entry", { "extended": { "path": "this_is_a_really_long_directory_name_with_a_lot_of_characters/this_is_a_really_long_tgz_file_with_a_lot_of_characters.tgz" }, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "this_is_a_really_long_directory_name_with_a_lot_of_characters/this_is_a_really_long_tgz_file_with_a_lot_of_characters.tgz", "mode": 436, "uid": 1000, "gid": 1000, "uname": null, "gname": null, "size": 200, "mtime": "2017-07-31T22:21:53.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "this_is_a_really_long_directory_name_with_a_lot_of_characters/this_is_a_really_long_tgz_file_with_a_lot_of_characters.tgz", "mode": 436, "uid": 1000, "gid": 1000, "size": 200, "mtime": "2017-07-31T22:21:53.000Z", "cksum": 15210, "linkpath": "", "uname": null, "gname": null, "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "eof" ], [ "end" ] ] ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/test/fixtures/parse/path-missing--filter-strict.json��������������������������������0000664�0000000�0000000�00000000675�14344174136�0025440�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "error", { "message": "TAR_ENTRY_INVALID: path is required", "code": "TAR_ENTRY_INVALID" } ], [ "error", { "message": "TAR_ENTRY_INVALID: checksum failure", "code": "TAR_ENTRY_INVALID" } ], [ "nullBlock" ], [ "eof" ], [ "error", { "message": "TAR_BAD_ARCHIVE: Unrecognized archive format", "code": "TAR_BAD_ARCHIVE" } ], [ "end" ] ] �������������������������������������������������������������������node-tar-6.1.13/test/fixtures/parse/path-missing--filter.json���������������������������������������0000664�0000000�0000000�00000000432�14344174136�0024121�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "warn", "TAR_ENTRY_INVALID", "path is required" ], [ "warn", "TAR_ENTRY_INVALID", "checksum failure" ], [ "nullBlock" ], [ "eof" ], [ "warn", "TAR_BAD_ARCHIVE", "Unrecognized archive format" ], [ "end" ] ] ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/test/fixtures/parse/path-missing--meta-250-filter-strict.json�����������������������0000664�0000000�0000000�00000000675�14344174136�0026670�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "error", { "message": "TAR_ENTRY_INVALID: path is required", "code": "TAR_ENTRY_INVALID" } ], [ "error", { "message": "TAR_ENTRY_INVALID: checksum failure", "code": "TAR_ENTRY_INVALID" } ], [ "nullBlock" ], [ "eof" ], [ "error", { "message": "TAR_BAD_ARCHIVE: Unrecognized archive format", "code": "TAR_BAD_ARCHIVE" } ], [ "end" ] ] �������������������������������������������������������������������node-tar-6.1.13/test/fixtures/parse/path-missing--meta-250-filter.json������������������������������0000664�0000000�0000000�00000000432�14344174136�0025351�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "warn", "TAR_ENTRY_INVALID", "path is required" ], [ "warn", "TAR_ENTRY_INVALID", "checksum failure" ], [ "nullBlock" ], [ "eof" ], [ "warn", "TAR_BAD_ARCHIVE", "Unrecognized archive format" ], [ "end" ] ] ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/test/fixtures/parse/path-missing--meta-250-strict.json������������������������������0000664�0000000�0000000�00000000675�14344174136�0025405�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "error", { "message": "TAR_ENTRY_INVALID: path is required", "code": "TAR_ENTRY_INVALID" } ], [ "error", { "message": "TAR_ENTRY_INVALID: checksum failure", "code": "TAR_ENTRY_INVALID" } ], [ "nullBlock" ], [ "eof" ], [ "error", { "message": "TAR_BAD_ARCHIVE: Unrecognized archive format", "code": "TAR_BAD_ARCHIVE" } ], [ "end" ] ] �������������������������������������������������������������������node-tar-6.1.13/test/fixtures/parse/path-missing--meta-250.json�������������������������������������0000664�0000000�0000000�00000000432�14344174136�0024066�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "warn", "TAR_ENTRY_INVALID", "path is required" ], [ "warn", "TAR_ENTRY_INVALID", "checksum failure" ], [ "nullBlock" ], [ "eof" ], [ "warn", "TAR_BAD_ARCHIVE", "Unrecognized archive format" ], [ "end" ] ] ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/test/fixtures/parse/path-missing--strict.json���������������������������������������0000664�0000000�0000000�00000000675�14344174136�0024155�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "error", { "message": "TAR_ENTRY_INVALID: path is required", "code": "TAR_ENTRY_INVALID" } ], [ "error", { "message": "TAR_ENTRY_INVALID: checksum failure", "code": "TAR_ENTRY_INVALID" } ], [ "nullBlock" ], [ "eof" ], [ "error", { "message": "TAR_BAD_ARCHIVE: Unrecognized archive format", "code": "TAR_BAD_ARCHIVE" } ], [ "end" ] ] �������������������������������������������������������������������node-tar-6.1.13/test/fixtures/parse/path-missing.json�����������������������������������������������0000664�0000000�0000000�00000000432�14344174136�0022561�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "warn", "TAR_ENTRY_INVALID", "path is required" ], [ "warn", "TAR_ENTRY_INVALID", "checksum failure" ], [ "nullBlock" ], [ "eof" ], [ "warn", "TAR_BAD_ARCHIVE", "Unrecognized archive format" ], [ "end" ] ] ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/test/fixtures/parse/trailing-slash-corner-case--filter-strict.json������������������0000664�0000000�0000000�00000007470�14344174136�0030155�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/", "mode": 493, "uid": 501, "gid": 20, "uname": null, "gname": null, "size": 0, "mtime": "2018-06-19T00:03:11.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2018-06-19T00:03:11.000Z", "cksum": 13612, "linkpath": "", "uname": null, "gname": null, "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "meta", "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/a-truly-unlucky-file-beyond-130-byte-path-length.txt\u0000" ], [ "ignoredEntry", { "extended": { "path": "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/a-truly-unlucky-file-beyond-130-byte-path-length.txt" }, "globalExtended": null, "type": "File", "meta": false, "ignore": true, "path": "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/a-truly-unlucky-file-beyond-130-byte-path-length.txt", "mode": 420, "uid": 501, "gid": 20, "uname": null, "gname": null, "size": 560, "mtime": "2018-06-19T00:03:11.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/a-truly-unlucky-file-beyond-130-byte-path-length.txt", "mode": 420, "uid": 501, "gid": 20, "size": 560, "mtime": "2018-06-19T00:03:11.000Z", "cksum": 13611, "linkpath": "", "uname": null, "gname": null, "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "meta", "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/some-unlucky-file.txt\u0000" ], [ "ignoredEntry", { "extended": { "path": "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/some-unlucky-file.txt" }, "globalExtended": null, "type": "File", "meta": false, "ignore": true, "path": "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/some-unlucky-file.txt", "mode": 420, "uid": 501, "gid": 20, "uname": null, "gname": null, "size": 560, "mtime": "2018-06-18T23:49:44.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/some-unlucky-file.txt", "mode": 420, "uid": 501, "gid": 20, "size": 560, "mtime": "2018-06-18T23:49:44.000Z", "cksum": 13602, "linkpath": "", "uname": null, "gname": null, "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "eof" ], [ "end" ] ] ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/test/fixtures/parse/trailing-slash-corner-case--filter.json�������������������������0000664�0000000�0000000�00000007470�14344174136�0026647�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/", "mode": 493, "uid": 501, "gid": 20, "uname": null, "gname": null, "size": 0, "mtime": "2018-06-19T00:03:11.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2018-06-19T00:03:11.000Z", "cksum": 13612, "linkpath": "", "uname": null, "gname": null, "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "meta", "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/a-truly-unlucky-file-beyond-130-byte-path-length.txt\u0000" ], [ "ignoredEntry", { "extended": { "path": "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/a-truly-unlucky-file-beyond-130-byte-path-length.txt" }, "globalExtended": null, "type": "File", "meta": false, "ignore": true, "path": "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/a-truly-unlucky-file-beyond-130-byte-path-length.txt", "mode": 420, "uid": 501, "gid": 20, "uname": null, "gname": null, "size": 560, "mtime": "2018-06-19T00:03:11.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/a-truly-unlucky-file-beyond-130-byte-path-length.txt", "mode": 420, "uid": 501, "gid": 20, "size": 560, "mtime": "2018-06-19T00:03:11.000Z", "cksum": 13611, "linkpath": "", "uname": null, "gname": null, "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "meta", "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/some-unlucky-file.txt\u0000" ], [ "ignoredEntry", { "extended": { "path": "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/some-unlucky-file.txt" }, "globalExtended": null, "type": "File", "meta": false, "ignore": true, "path": "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/some-unlucky-file.txt", "mode": 420, "uid": 501, "gid": 20, "uname": null, "gname": null, "size": 560, "mtime": "2018-06-18T23:49:44.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/some-unlucky-file.txt", "mode": 420, "uid": 501, "gid": 20, "size": 560, "mtime": "2018-06-18T23:49:44.000Z", "cksum": 13602, "linkpath": "", "uname": null, "gname": null, "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "eof" ], [ "end" ] ] ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/test/fixtures/parse/trailing-slash-corner-case--meta-250-filter-strict.json���������0000664�0000000�0000000�00000007470�14344174136�0031405�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/", "mode": 493, "uid": 501, "gid": 20, "uname": null, "gname": null, "size": 0, "mtime": "2018-06-19T00:03:11.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2018-06-19T00:03:11.000Z", "cksum": 13612, "linkpath": "", "uname": null, "gname": null, "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "meta", "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/a-truly-unlucky-file-beyond-130-byte-path-length.txt\u0000" ], [ "ignoredEntry", { "extended": { "path": "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/a-truly-unlucky-file-beyond-130-byte-path-length.txt" }, "globalExtended": null, "type": "File", "meta": false, "ignore": true, "path": "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/a-truly-unlucky-file-beyond-130-byte-path-length.txt", "mode": 420, "uid": 501, "gid": 20, "uname": null, "gname": null, "size": 560, "mtime": "2018-06-19T00:03:11.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/a-truly-unlucky-file-beyond-130-byte-path-length.txt", "mode": 420, "uid": 501, "gid": 20, "size": 560, "mtime": "2018-06-19T00:03:11.000Z", "cksum": 13611, "linkpath": "", "uname": null, "gname": null, "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "meta", "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/some-unlucky-file.txt\u0000" ], [ "ignoredEntry", { "extended": { "path": "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/some-unlucky-file.txt" }, "globalExtended": null, "type": "File", "meta": false, "ignore": true, "path": "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/some-unlucky-file.txt", "mode": 420, "uid": 501, "gid": 20, "uname": null, "gname": null, "size": 560, "mtime": "2018-06-18T23:49:44.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/some-unlucky-file.txt", "mode": 420, "uid": 501, "gid": 20, "size": 560, "mtime": "2018-06-18T23:49:44.000Z", "cksum": 13602, "linkpath": "", "uname": null, "gname": null, "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "eof" ], [ "end" ] ] ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/test/fixtures/parse/trailing-slash-corner-case--meta-250-filter.json����������������0000664�0000000�0000000�00000007470�14344174136�0030077�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/", "mode": 493, "uid": 501, "gid": 20, "uname": null, "gname": null, "size": 0, "mtime": "2018-06-19T00:03:11.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2018-06-19T00:03:11.000Z", "cksum": 13612, "linkpath": "", "uname": null, "gname": null, "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "meta", "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/a-truly-unlucky-file-beyond-130-byte-path-length.txt\u0000" ], [ "ignoredEntry", { "extended": { "path": "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/a-truly-unlucky-file-beyond-130-byte-path-length.txt" }, "globalExtended": null, "type": "File", "meta": false, "ignore": true, "path": "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/a-truly-unlucky-file-beyond-130-byte-path-length.txt", "mode": 420, "uid": 501, "gid": 20, "uname": null, "gname": null, "size": 560, "mtime": "2018-06-19T00:03:11.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/a-truly-unlucky-file-beyond-130-byte-path-length.txt", "mode": 420, "uid": 501, "gid": 20, "size": 560, "mtime": "2018-06-19T00:03:11.000Z", "cksum": 13611, "linkpath": "", "uname": null, "gname": null, "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "meta", "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/some-unlucky-file.txt\u0000" ], [ "ignoredEntry", { "extended": { "path": "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/some-unlucky-file.txt" }, "globalExtended": null, "type": "File", "meta": false, "ignore": true, "path": "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/some-unlucky-file.txt", "mode": 420, "uid": 501, "gid": 20, "uname": null, "gname": null, "size": 560, "mtime": "2018-06-18T23:49:44.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/some-unlucky-file.txt", "mode": 420, "uid": 501, "gid": 20, "size": 560, "mtime": "2018-06-18T23:49:44.000Z", "cksum": 13602, "linkpath": "", "uname": null, "gname": null, "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "eof" ], [ "end" ] ] ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/test/fixtures/parse/trailing-slash-corner-case--meta-250-strict.json����������������0000664�0000000�0000000�00000007446�14344174136�0030125�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/", "mode": 493, "uid": 501, "gid": 20, "uname": null, "gname": null, "size": 0, "mtime": "2018-06-19T00:03:11.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2018-06-19T00:03:11.000Z", "cksum": 13612, "linkpath": "", "uname": null, "gname": null, "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "meta", "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/a-truly-unlucky-file-beyond-130-byte-path-length.txt\u0000" ], [ "entry", { "extended": { "path": "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/a-truly-unlucky-file-beyond-130-byte-path-length.txt" }, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/a-truly-unlucky-file-beyond-130-byte-path-length.txt", "mode": 420, "uid": 501, "gid": 20, "uname": null, "gname": null, "size": 560, "mtime": "2018-06-19T00:03:11.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/a-truly-unlucky-file-beyond-130-byte-path-length.txt", "mode": 420, "uid": 501, "gid": 20, "size": 560, "mtime": "2018-06-19T00:03:11.000Z", "cksum": 13611, "linkpath": "", "uname": null, "gname": null, "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "meta", "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/some-unlucky-file.txt\u0000" ], [ "entry", { "extended": { "path": "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/some-unlucky-file.txt" }, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/some-unlucky-file.txt", "mode": 420, "uid": 501, "gid": 20, "uname": null, "gname": null, "size": 560, "mtime": "2018-06-18T23:49:44.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/some-unlucky-file.txt", "mode": 420, "uid": 501, "gid": 20, "size": 560, "mtime": "2018-06-18T23:49:44.000Z", "cksum": 13602, "linkpath": "", "uname": null, "gname": null, "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "eof" ], [ "end" ] ] ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/test/fixtures/parse/trailing-slash-corner-case--meta-250.json�����������������������0000664�0000000�0000000�00000007446�14344174136�0026617�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/", "mode": 493, "uid": 501, "gid": 20, "uname": null, "gname": null, "size": 0, "mtime": "2018-06-19T00:03:11.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2018-06-19T00:03:11.000Z", "cksum": 13612, "linkpath": "", "uname": null, "gname": null, "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "meta", "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/a-truly-unlucky-file-beyond-130-byte-path-length.txt\u0000" ], [ "entry", { "extended": { "path": "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/a-truly-unlucky-file-beyond-130-byte-path-length.txt" }, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/a-truly-unlucky-file-beyond-130-byte-path-length.txt", "mode": 420, "uid": 501, "gid": 20, "uname": null, "gname": null, "size": 560, "mtime": "2018-06-19T00:03:11.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/a-truly-unlucky-file-beyond-130-byte-path-length.txt", "mode": 420, "uid": 501, "gid": 20, "size": 560, "mtime": "2018-06-19T00:03:11.000Z", "cksum": 13611, "linkpath": "", "uname": null, "gname": null, "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "meta", "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/some-unlucky-file.txt\u0000" ], [ "entry", { "extended": { "path": "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/some-unlucky-file.txt" }, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/some-unlucky-file.txt", "mode": 420, "uid": 501, "gid": 20, "uname": null, "gname": null, "size": 560, "mtime": "2018-06-18T23:49:44.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/some-unlucky-file.txt", "mode": 420, "uid": 501, "gid": 20, "size": 560, "mtime": "2018-06-18T23:49:44.000Z", "cksum": 13602, "linkpath": "", "uname": null, "gname": null, "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "eof" ], [ "end" ] ] ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/test/fixtures/parse/trailing-slash-corner-case--strict.json�������������������������0000664�0000000�0000000�00000007446�14344174136�0026675�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/", "mode": 493, "uid": 501, "gid": 20, "uname": null, "gname": null, "size": 0, "mtime": "2018-06-19T00:03:11.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2018-06-19T00:03:11.000Z", "cksum": 13612, "linkpath": "", "uname": null, "gname": null, "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "meta", "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/a-truly-unlucky-file-beyond-130-byte-path-length.txt\u0000" ], [ "entry", { "extended": { "path": "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/a-truly-unlucky-file-beyond-130-byte-path-length.txt" }, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/a-truly-unlucky-file-beyond-130-byte-path-length.txt", "mode": 420, "uid": 501, "gid": 20, "uname": null, "gname": null, "size": 560, "mtime": "2018-06-19T00:03:11.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/a-truly-unlucky-file-beyond-130-byte-path-length.txt", "mode": 420, "uid": 501, "gid": 20, "size": 560, "mtime": "2018-06-19T00:03:11.000Z", "cksum": 13611, "linkpath": "", "uname": null, "gname": null, "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "meta", "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/some-unlucky-file.txt\u0000" ], [ "entry", { "extended": { "path": "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/some-unlucky-file.txt" }, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/some-unlucky-file.txt", "mode": 420, "uid": 501, "gid": 20, "uname": null, "gname": null, "size": 560, "mtime": "2018-06-18T23:49:44.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/some-unlucky-file.txt", "mode": 420, "uid": 501, "gid": 20, "size": 560, "mtime": "2018-06-18T23:49:44.000Z", "cksum": 13602, "linkpath": "", "uname": null, "gname": null, "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "eof" ], [ "end" ] ] ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/test/fixtures/parse/trailing-slash-corner-case.json���������������������������������0000664�0000000�0000000�00000007446�14344174136�0025312�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/", "mode": 493, "uid": 501, "gid": 20, "uname": null, "gname": null, "size": 0, "mtime": "2018-06-19T00:03:11.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2018-06-19T00:03:11.000Z", "cksum": 13612, "linkpath": "", "uname": null, "gname": null, "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "meta", "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/a-truly-unlucky-file-beyond-130-byte-path-length.txt\u0000" ], [ "entry", { "extended": { "path": "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/a-truly-unlucky-file-beyond-130-byte-path-length.txt" }, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/a-truly-unlucky-file-beyond-130-byte-path-length.txt", "mode": 420, "uid": 501, "gid": 20, "uname": null, "gname": null, "size": 560, "mtime": "2018-06-19T00:03:11.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/a-truly-unlucky-file-beyond-130-byte-path-length.txt", "mode": 420, "uid": 501, "gid": 20, "size": 560, "mtime": "2018-06-19T00:03:11.000Z", "cksum": 13611, "linkpath": "", "uname": null, "gname": null, "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "meta", "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/some-unlucky-file.txt\u0000" ], [ "entry", { "extended": { "path": "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/some-unlucky-file.txt" }, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/some-unlucky-file.txt", "mode": 420, "uid": 501, "gid": 20, "uname": null, "gname": null, "size": 560, "mtime": "2018-06-18T23:49:44.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/some-unlucky-file.txt", "mode": 420, "uid": 501, "gid": 20, "size": 560, "mtime": "2018-06-18T23:49:44.000Z", "cksum": 13602, "linkpath": "", "uname": null, "gname": null, "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "eof" ], [ "end" ] ] ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/test/fixtures/parse/utf8--filter-strict.json����������������������������������������0000664�0000000�0000000�00000011043�14344174136�0023712�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "meta", "15 path=Ω.txt\n20 ctime=1491843102\n20 atime=1491843758\n23 SCHILY.dev=16777220\n22 SCHILY.ino=9836217\n18 SCHILY.nlink=1\n" ], [ "ignoredEntry", { "extended": { "atime": "2017-04-10T17:02:38.000Z", "charset": null, "comment": null, "ctime": "2017-04-10T16:51:42.000Z", "gid": null, "gname": null, "linkpath": null, "mtime": null, "path": "Ω.txt", "size": null, "uid": null, "uname": null, "dev": 16777220, "ino": 9836217, "nlink": 1, "global": false }, "globalExtended": null, "type": "File", "meta": false, "ignore": true, "path": "Ω.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 2, "mtime": "2017-04-10T16:51:42.000Z", "atime": "2017-04-10T17:02:38.000Z", "ctime": "2017-04-10T16:51:42.000Z", "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "Ω.txt", "mode": 420, "uid": 501, "gid": 20, "size": 2, "mtime": "2017-04-10T16:51:42.000Z", "cksum": 5688, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "meta", "17 path=🌟.txt\n20 ctime=1491843956\n20 atime=1491843993\n23 SCHILY.dev=16777220\n22 SCHILY.ino=9836716\n18 SCHILY.nlink=1\n" ], [ "ignoredEntry", { "extended": { "atime": "2017-04-10T17:06:33.000Z", "charset": null, "comment": null, "ctime": "2017-04-10T17:05:56.000Z", "gid": null, "gname": null, "linkpath": null, "mtime": null, "path": "🌟.txt", "size": null, "uid": null, "uname": null, "dev": 16777220, "ino": 9836716, "nlink": 1, "global": false }, "globalExtended": null, "type": "File", "meta": false, "ignore": true, "path": "🌟.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 106, "mtime": "2017-04-10T17:05:55.000Z", "atime": "2017-04-10T17:06:33.000Z", "ctime": "2017-04-10T17:05:56.000Z", "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "🌟.txt", "mode": 420, "uid": 501, "gid": 20, "size": 106, "mtime": "2017-04-10T17:05:55.000Z", "cksum": 6023, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "meta", "71 path=long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/Ω.txt\n20 ctime=1491843527\n20 atime=1491843758\n23 SCHILY.dev=16777220\n22 SCHILY.ino=9836396\n18 SCHILY.nlink=1\n" ], [ "ignoredEntry", { "extended": { "atime": "2017-04-10T17:02:38.000Z", "charset": null, "comment": null, "ctime": "2017-04-10T16:58:47.000Z", "gid": null, "gname": null, "linkpath": null, "mtime": null, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/Ω.txt", "size": null, "uid": null, "uname": null, "dev": 16777220, "ino": 9836396, "nlink": 1, "global": false }, "globalExtended": null, "type": "File", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/Ω.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 2, "mtime": "2017-04-10T16:58:47.000Z", "atime": "2017-04-10T17:02:38.000Z", "ctime": "2017-04-10T16:58:47.000Z", "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/Ω.txt", "mode": 420, "uid": 501, "gid": 20, "size": 2, "mtime": "2017-04-10T16:58:47.000Z", "cksum": 9990, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "eof" ], [ "end" ] ] ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/test/fixtures/parse/utf8--filter.json�����������������������������������������������0000664�0000000�0000000�00000011043�14344174136�0022404�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "meta", "15 path=Ω.txt\n20 ctime=1491843102\n20 atime=1491843758\n23 SCHILY.dev=16777220\n22 SCHILY.ino=9836217\n18 SCHILY.nlink=1\n" ], [ "ignoredEntry", { "extended": { "atime": "2017-04-10T17:02:38.000Z", "charset": null, "comment": null, "ctime": "2017-04-10T16:51:42.000Z", "gid": null, "gname": null, "linkpath": null, "mtime": null, "path": "Ω.txt", "size": null, "uid": null, "uname": null, "dev": 16777220, "ino": 9836217, "nlink": 1, "global": false }, "globalExtended": null, "type": "File", "meta": false, "ignore": true, "path": "Ω.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 2, "mtime": "2017-04-10T16:51:42.000Z", "atime": "2017-04-10T17:02:38.000Z", "ctime": "2017-04-10T16:51:42.000Z", "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "Ω.txt", "mode": 420, "uid": 501, "gid": 20, "size": 2, "mtime": "2017-04-10T16:51:42.000Z", "cksum": 5688, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "meta", "17 path=🌟.txt\n20 ctime=1491843956\n20 atime=1491843993\n23 SCHILY.dev=16777220\n22 SCHILY.ino=9836716\n18 SCHILY.nlink=1\n" ], [ "ignoredEntry", { "extended": { "atime": "2017-04-10T17:06:33.000Z", "charset": null, "comment": null, "ctime": "2017-04-10T17:05:56.000Z", "gid": null, "gname": null, "linkpath": null, "mtime": null, "path": "🌟.txt", "size": null, "uid": null, "uname": null, "dev": 16777220, "ino": 9836716, "nlink": 1, "global": false }, "globalExtended": null, "type": "File", "meta": false, "ignore": true, "path": "🌟.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 106, "mtime": "2017-04-10T17:05:55.000Z", "atime": "2017-04-10T17:06:33.000Z", "ctime": "2017-04-10T17:05:56.000Z", "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "🌟.txt", "mode": 420, "uid": 501, "gid": 20, "size": 106, "mtime": "2017-04-10T17:05:55.000Z", "cksum": 6023, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "meta", "71 path=long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/Ω.txt\n20 ctime=1491843527\n20 atime=1491843758\n23 SCHILY.dev=16777220\n22 SCHILY.ino=9836396\n18 SCHILY.nlink=1\n" ], [ "ignoredEntry", { "extended": { "atime": "2017-04-10T17:02:38.000Z", "charset": null, "comment": null, "ctime": "2017-04-10T16:58:47.000Z", "gid": null, "gname": null, "linkpath": null, "mtime": null, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/Ω.txt", "size": null, "uid": null, "uname": null, "dev": 16777220, "ino": 9836396, "nlink": 1, "global": false }, "globalExtended": null, "type": "File", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/Ω.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 2, "mtime": "2017-04-10T16:58:47.000Z", "atime": "2017-04-10T17:02:38.000Z", "ctime": "2017-04-10T16:58:47.000Z", "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/Ω.txt", "mode": 420, "uid": 501, "gid": 20, "size": 2, "mtime": "2017-04-10T16:58:47.000Z", "cksum": 9990, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "eof" ], [ "end" ] ] ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/test/fixtures/parse/utf8--meta-250-filter-strict.json�������������������������������0000664�0000000�0000000�00000011043�14344174136�0025142�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "meta", "15 path=Ω.txt\n20 ctime=1491843102\n20 atime=1491843758\n23 SCHILY.dev=16777220\n22 SCHILY.ino=9836217\n18 SCHILY.nlink=1\n" ], [ "ignoredEntry", { "extended": { "atime": "2017-04-10T17:02:38.000Z", "charset": null, "comment": null, "ctime": "2017-04-10T16:51:42.000Z", "gid": null, "gname": null, "linkpath": null, "mtime": null, "path": "Ω.txt", "size": null, "uid": null, "uname": null, "dev": 16777220, "ino": 9836217, "nlink": 1, "global": false }, "globalExtended": null, "type": "File", "meta": false, "ignore": true, "path": "Ω.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 2, "mtime": "2017-04-10T16:51:42.000Z", "atime": "2017-04-10T17:02:38.000Z", "ctime": "2017-04-10T16:51:42.000Z", "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "Ω.txt", "mode": 420, "uid": 501, "gid": 20, "size": 2, "mtime": "2017-04-10T16:51:42.000Z", "cksum": 5688, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "meta", "17 path=🌟.txt\n20 ctime=1491843956\n20 atime=1491843993\n23 SCHILY.dev=16777220\n22 SCHILY.ino=9836716\n18 SCHILY.nlink=1\n" ], [ "ignoredEntry", { "extended": { "atime": "2017-04-10T17:06:33.000Z", "charset": null, "comment": null, "ctime": "2017-04-10T17:05:56.000Z", "gid": null, "gname": null, "linkpath": null, "mtime": null, "path": "🌟.txt", "size": null, "uid": null, "uname": null, "dev": 16777220, "ino": 9836716, "nlink": 1, "global": false }, "globalExtended": null, "type": "File", "meta": false, "ignore": true, "path": "🌟.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 106, "mtime": "2017-04-10T17:05:55.000Z", "atime": "2017-04-10T17:06:33.000Z", "ctime": "2017-04-10T17:05:56.000Z", "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "🌟.txt", "mode": 420, "uid": 501, "gid": 20, "size": 106, "mtime": "2017-04-10T17:05:55.000Z", "cksum": 6023, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "meta", "71 path=long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/Ω.txt\n20 ctime=1491843527\n20 atime=1491843758\n23 SCHILY.dev=16777220\n22 SCHILY.ino=9836396\n18 SCHILY.nlink=1\n" ], [ "ignoredEntry", { "extended": { "atime": "2017-04-10T17:02:38.000Z", "charset": null, "comment": null, "ctime": "2017-04-10T16:58:47.000Z", "gid": null, "gname": null, "linkpath": null, "mtime": null, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/Ω.txt", "size": null, "uid": null, "uname": null, "dev": 16777220, "ino": 9836396, "nlink": 1, "global": false }, "globalExtended": null, "type": "File", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/Ω.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 2, "mtime": "2017-04-10T16:58:47.000Z", "atime": "2017-04-10T17:02:38.000Z", "ctime": "2017-04-10T16:58:47.000Z", "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/Ω.txt", "mode": 420, "uid": 501, "gid": 20, "size": 2, "mtime": "2017-04-10T16:58:47.000Z", "cksum": 9990, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "eof" ], [ "end" ] ] ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/test/fixtures/parse/utf8--meta-250-filter.json��������������������������������������0000664�0000000�0000000�00000011043�14344174136�0023634�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "meta", "15 path=Ω.txt\n20 ctime=1491843102\n20 atime=1491843758\n23 SCHILY.dev=16777220\n22 SCHILY.ino=9836217\n18 SCHILY.nlink=1\n" ], [ "ignoredEntry", { "extended": { "atime": "2017-04-10T17:02:38.000Z", "charset": null, "comment": null, "ctime": "2017-04-10T16:51:42.000Z", "gid": null, "gname": null, "linkpath": null, "mtime": null, "path": "Ω.txt", "size": null, "uid": null, "uname": null, "dev": 16777220, "ino": 9836217, "nlink": 1, "global": false }, "globalExtended": null, "type": "File", "meta": false, "ignore": true, "path": "Ω.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 2, "mtime": "2017-04-10T16:51:42.000Z", "atime": "2017-04-10T17:02:38.000Z", "ctime": "2017-04-10T16:51:42.000Z", "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "Ω.txt", "mode": 420, "uid": 501, "gid": 20, "size": 2, "mtime": "2017-04-10T16:51:42.000Z", "cksum": 5688, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "meta", "17 path=🌟.txt\n20 ctime=1491843956\n20 atime=1491843993\n23 SCHILY.dev=16777220\n22 SCHILY.ino=9836716\n18 SCHILY.nlink=1\n" ], [ "ignoredEntry", { "extended": { "atime": "2017-04-10T17:06:33.000Z", "charset": null, "comment": null, "ctime": "2017-04-10T17:05:56.000Z", "gid": null, "gname": null, "linkpath": null, "mtime": null, "path": "🌟.txt", "size": null, "uid": null, "uname": null, "dev": 16777220, "ino": 9836716, "nlink": 1, "global": false }, "globalExtended": null, "type": "File", "meta": false, "ignore": true, "path": "🌟.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 106, "mtime": "2017-04-10T17:05:55.000Z", "atime": "2017-04-10T17:06:33.000Z", "ctime": "2017-04-10T17:05:56.000Z", "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "🌟.txt", "mode": 420, "uid": 501, "gid": 20, "size": 106, "mtime": "2017-04-10T17:05:55.000Z", "cksum": 6023, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "meta", "71 path=long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/Ω.txt\n20 ctime=1491843527\n20 atime=1491843758\n23 SCHILY.dev=16777220\n22 SCHILY.ino=9836396\n18 SCHILY.nlink=1\n" ], [ "ignoredEntry", { "extended": { "atime": "2017-04-10T17:02:38.000Z", "charset": null, "comment": null, "ctime": "2017-04-10T16:58:47.000Z", "gid": null, "gname": null, "linkpath": null, "mtime": null, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/Ω.txt", "size": null, "uid": null, "uname": null, "dev": 16777220, "ino": 9836396, "nlink": 1, "global": false }, "globalExtended": null, "type": "File", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/Ω.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 2, "mtime": "2017-04-10T16:58:47.000Z", "atime": "2017-04-10T17:02:38.000Z", "ctime": "2017-04-10T16:58:47.000Z", "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/Ω.txt", "mode": 420, "uid": 501, "gid": 20, "size": 2, "mtime": "2017-04-10T16:58:47.000Z", "cksum": 9990, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "eof" ], [ "end" ] ] ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/test/fixtures/parse/utf8--meta-250-strict.json��������������������������������������0000664�0000000�0000000�00000011021�14344174136�0023653�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "meta", "15 path=Ω.txt\n20 ctime=1491843102\n20 atime=1491843758\n23 SCHILY.dev=16777220\n22 SCHILY.ino=9836217\n18 SCHILY.nlink=1\n" ], [ "entry", { "extended": { "atime": "2017-04-10T17:02:38.000Z", "charset": null, "comment": null, "ctime": "2017-04-10T16:51:42.000Z", "gid": null, "gname": null, "linkpath": null, "mtime": null, "path": "Ω.txt", "size": null, "uid": null, "uname": null, "dev": 16777220, "ino": 9836217, "nlink": 1, "global": false }, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "Ω.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 2, "mtime": "2017-04-10T16:51:42.000Z", "atime": "2017-04-10T17:02:38.000Z", "ctime": "2017-04-10T16:51:42.000Z", "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "Ω.txt", "mode": 420, "uid": 501, "gid": 20, "size": 2, "mtime": "2017-04-10T16:51:42.000Z", "cksum": 5688, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "meta", "17 path=🌟.txt\n20 ctime=1491843956\n20 atime=1491843993\n23 SCHILY.dev=16777220\n22 SCHILY.ino=9836716\n18 SCHILY.nlink=1\n" ], [ "entry", { "extended": { "atime": "2017-04-10T17:06:33.000Z", "charset": null, "comment": null, "ctime": "2017-04-10T17:05:56.000Z", "gid": null, "gname": null, "linkpath": null, "mtime": null, "path": "🌟.txt", "size": null, "uid": null, "uname": null, "dev": 16777220, "ino": 9836716, "nlink": 1, "global": false }, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "🌟.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 106, "mtime": "2017-04-10T17:05:55.000Z", "atime": "2017-04-10T17:06:33.000Z", "ctime": "2017-04-10T17:05:56.000Z", "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "🌟.txt", "mode": 420, "uid": 501, "gid": 20, "size": 106, "mtime": "2017-04-10T17:05:55.000Z", "cksum": 6023, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "meta", "71 path=long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/Ω.txt\n20 ctime=1491843527\n20 atime=1491843758\n23 SCHILY.dev=16777220\n22 SCHILY.ino=9836396\n18 SCHILY.nlink=1\n" ], [ "entry", { "extended": { "atime": "2017-04-10T17:02:38.000Z", "charset": null, "comment": null, "ctime": "2017-04-10T16:58:47.000Z", "gid": null, "gname": null, "linkpath": null, "mtime": null, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/Ω.txt", "size": null, "uid": null, "uname": null, "dev": 16777220, "ino": 9836396, "nlink": 1, "global": false }, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/Ω.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 2, "mtime": "2017-04-10T16:58:47.000Z", "atime": "2017-04-10T17:02:38.000Z", "ctime": "2017-04-10T16:58:47.000Z", "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/Ω.txt", "mode": 420, "uid": 501, "gid": 20, "size": 2, "mtime": "2017-04-10T16:58:47.000Z", "cksum": 9990, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "eof" ], [ "end" ] ] ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/test/fixtures/parse/utf8--meta-250.json���������������������������������������������0000664�0000000�0000000�00000011021�14344174136�0022345�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "meta", "15 path=Ω.txt\n20 ctime=1491843102\n20 atime=1491843758\n23 SCHILY.dev=16777220\n22 SCHILY.ino=9836217\n18 SCHILY.nlink=1\n" ], [ "entry", { "extended": { "atime": "2017-04-10T17:02:38.000Z", "charset": null, "comment": null, "ctime": "2017-04-10T16:51:42.000Z", "gid": null, "gname": null, "linkpath": null, "mtime": null, "path": "Ω.txt", "size": null, "uid": null, "uname": null, "dev": 16777220, "ino": 9836217, "nlink": 1, "global": false }, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "Ω.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 2, "mtime": "2017-04-10T16:51:42.000Z", "atime": "2017-04-10T17:02:38.000Z", "ctime": "2017-04-10T16:51:42.000Z", "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "Ω.txt", "mode": 420, "uid": 501, "gid": 20, "size": 2, "mtime": "2017-04-10T16:51:42.000Z", "cksum": 5688, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "meta", "17 path=🌟.txt\n20 ctime=1491843956\n20 atime=1491843993\n23 SCHILY.dev=16777220\n22 SCHILY.ino=9836716\n18 SCHILY.nlink=1\n" ], [ "entry", { "extended": { "atime": "2017-04-10T17:06:33.000Z", "charset": null, "comment": null, "ctime": "2017-04-10T17:05:56.000Z", "gid": null, "gname": null, "linkpath": null, "mtime": null, "path": "🌟.txt", "size": null, "uid": null, "uname": null, "dev": 16777220, "ino": 9836716, "nlink": 1, "global": false }, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "🌟.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 106, "mtime": "2017-04-10T17:05:55.000Z", "atime": "2017-04-10T17:06:33.000Z", "ctime": "2017-04-10T17:05:56.000Z", "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "🌟.txt", "mode": 420, "uid": 501, "gid": 20, "size": 106, "mtime": "2017-04-10T17:05:55.000Z", "cksum": 6023, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "meta", "71 path=long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/Ω.txt\n20 ctime=1491843527\n20 atime=1491843758\n23 SCHILY.dev=16777220\n22 SCHILY.ino=9836396\n18 SCHILY.nlink=1\n" ], [ "entry", { "extended": { "atime": "2017-04-10T17:02:38.000Z", "charset": null, "comment": null, "ctime": "2017-04-10T16:58:47.000Z", "gid": null, "gname": null, "linkpath": null, "mtime": null, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/Ω.txt", "size": null, "uid": null, "uname": null, "dev": 16777220, "ino": 9836396, "nlink": 1, "global": false }, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/Ω.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 2, "mtime": "2017-04-10T16:58:47.000Z", "atime": "2017-04-10T17:02:38.000Z", "ctime": "2017-04-10T16:58:47.000Z", "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/Ω.txt", "mode": 420, "uid": 501, "gid": 20, "size": 2, "mtime": "2017-04-10T16:58:47.000Z", "cksum": 9990, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "eof" ], [ "end" ] ] ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/test/fixtures/parse/utf8--strict.json�����������������������������������������������0000664�0000000�0000000�00000011021�14344174136�0022423�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "meta", "15 path=Ω.txt\n20 ctime=1491843102\n20 atime=1491843758\n23 SCHILY.dev=16777220\n22 SCHILY.ino=9836217\n18 SCHILY.nlink=1\n" ], [ "entry", { "extended": { "atime": "2017-04-10T17:02:38.000Z", "charset": null, "comment": null, "ctime": "2017-04-10T16:51:42.000Z", "gid": null, "gname": null, "linkpath": null, "mtime": null, "path": "Ω.txt", "size": null, "uid": null, "uname": null, "dev": 16777220, "ino": 9836217, "nlink": 1, "global": false }, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "Ω.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 2, "mtime": "2017-04-10T16:51:42.000Z", "atime": "2017-04-10T17:02:38.000Z", "ctime": "2017-04-10T16:51:42.000Z", "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "Ω.txt", "mode": 420, "uid": 501, "gid": 20, "size": 2, "mtime": "2017-04-10T16:51:42.000Z", "cksum": 5688, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "meta", "17 path=🌟.txt\n20 ctime=1491843956\n20 atime=1491843993\n23 SCHILY.dev=16777220\n22 SCHILY.ino=9836716\n18 SCHILY.nlink=1\n" ], [ "entry", { "extended": { "atime": "2017-04-10T17:06:33.000Z", "charset": null, "comment": null, "ctime": "2017-04-10T17:05:56.000Z", "gid": null, "gname": null, "linkpath": null, "mtime": null, "path": "🌟.txt", "size": null, "uid": null, "uname": null, "dev": 16777220, "ino": 9836716, "nlink": 1, "global": false }, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "🌟.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 106, "mtime": "2017-04-10T17:05:55.000Z", "atime": "2017-04-10T17:06:33.000Z", "ctime": "2017-04-10T17:05:56.000Z", "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "🌟.txt", "mode": 420, "uid": 501, "gid": 20, "size": 106, "mtime": "2017-04-10T17:05:55.000Z", "cksum": 6023, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "meta", "71 path=long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/Ω.txt\n20 ctime=1491843527\n20 atime=1491843758\n23 SCHILY.dev=16777220\n22 SCHILY.ino=9836396\n18 SCHILY.nlink=1\n" ], [ "entry", { "extended": { "atime": "2017-04-10T17:02:38.000Z", "charset": null, "comment": null, "ctime": "2017-04-10T16:58:47.000Z", "gid": null, "gname": null, "linkpath": null, "mtime": null, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/Ω.txt", "size": null, "uid": null, "uname": null, "dev": 16777220, "ino": 9836396, "nlink": 1, "global": false }, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/Ω.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 2, "mtime": "2017-04-10T16:58:47.000Z", "atime": "2017-04-10T17:02:38.000Z", "ctime": "2017-04-10T16:58:47.000Z", "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/Ω.txt", "mode": 420, "uid": 501, "gid": 20, "size": 2, "mtime": "2017-04-10T16:58:47.000Z", "cksum": 9990, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "eof" ], [ "end" ] ] ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/test/fixtures/parse/utf8.json�������������������������������������������������������0000664�0000000�0000000�00000011021�14344174136�0021040�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "meta", "15 path=Ω.txt\n20 ctime=1491843102\n20 atime=1491843758\n23 SCHILY.dev=16777220\n22 SCHILY.ino=9836217\n18 SCHILY.nlink=1\n" ], [ "entry", { "extended": { "atime": "2017-04-10T17:02:38.000Z", "charset": null, "comment": null, "ctime": "2017-04-10T16:51:42.000Z", "gid": null, "gname": null, "linkpath": null, "mtime": null, "path": "Ω.txt", "size": null, "uid": null, "uname": null, "dev": 16777220, "ino": 9836217, "nlink": 1, "global": false }, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "Ω.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 2, "mtime": "2017-04-10T16:51:42.000Z", "atime": "2017-04-10T17:02:38.000Z", "ctime": "2017-04-10T16:51:42.000Z", "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "Ω.txt", "mode": 420, "uid": 501, "gid": 20, "size": 2, "mtime": "2017-04-10T16:51:42.000Z", "cksum": 5688, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "meta", "17 path=🌟.txt\n20 ctime=1491843956\n20 atime=1491843993\n23 SCHILY.dev=16777220\n22 SCHILY.ino=9836716\n18 SCHILY.nlink=1\n" ], [ "entry", { "extended": { "atime": "2017-04-10T17:06:33.000Z", "charset": null, "comment": null, "ctime": "2017-04-10T17:05:56.000Z", "gid": null, "gname": null, "linkpath": null, "mtime": null, "path": "🌟.txt", "size": null, "uid": null, "uname": null, "dev": 16777220, "ino": 9836716, "nlink": 1, "global": false }, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "🌟.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 106, "mtime": "2017-04-10T17:05:55.000Z", "atime": "2017-04-10T17:06:33.000Z", "ctime": "2017-04-10T17:05:56.000Z", "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "🌟.txt", "mode": 420, "uid": 501, "gid": 20, "size": 106, "mtime": "2017-04-10T17:05:55.000Z", "cksum": 6023, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "meta", "71 path=long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/Ω.txt\n20 ctime=1491843527\n20 atime=1491843758\n23 SCHILY.dev=16777220\n22 SCHILY.ino=9836396\n18 SCHILY.nlink=1\n" ], [ "entry", { "extended": { "atime": "2017-04-10T17:02:38.000Z", "charset": null, "comment": null, "ctime": "2017-04-10T16:58:47.000Z", "gid": null, "gname": null, "linkpath": null, "mtime": null, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/Ω.txt", "size": null, "uid": null, "uname": null, "dev": 16777220, "ino": 9836396, "nlink": 1, "global": false }, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/Ω.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 2, "mtime": "2017-04-10T16:58:47.000Z", "atime": "2017-04-10T17:02:38.000Z", "ctime": "2017-04-10T16:58:47.000Z", "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/Ω.txt", "mode": 420, "uid": 501, "gid": 20, "size": 2, "mtime": "2017-04-10T16:58:47.000Z", "cksum": 9990, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "eof" ], [ "end" ] ] ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/test/fixtures/parses.tar������������������������������������������������������������0000664�0000000�0000000�00002424000�14344174136�0020161�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������test/fixtures/parse/��������������������������������������������������������������������������������0000755�0000000�0000000�00000000000�13334177733�013531� 5����������������������������������������������������������������������������������������������������ustar �root����������������������������root�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������test/fixtures/parse/bad-cksum--filter-strict.json���������������������������������������������������0000644�0000000�0000000�00000002020�13334202347�021120� 0����������������������������������������������������������������������������������������������������ustar �root����������������������������root�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "entry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "cksum": 6121, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "error", { "message": "invalid entry" } ], [ "error", { "message": "invalid entry" } ], [ "nullBlock" ], [ "nullBlock" ], [ "end" ] ] ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������test/fixtures/parse/bad-cksum--filter.json����������������������������������������������������������0000644�0000000�0000000�00000001734�13334202347�017625� 0����������������������������������������������������������������������������������������������������ustar �root����������������������������root�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "entry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "cksum": 6121, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "warn", "invalid entry" ], [ "warn", "invalid entry" ], [ "nullBlock" ], [ "nullBlock" ], [ "end" ] ] ������������������������������������test/fixtures/parse/bad-cksum--meta-250-filter-strict.json������������������������������������������0000644�0000000�0000000�00000002020�13334202347�022350� 0����������������������������������������������������������������������������������������������������ustar �root����������������������������root�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "entry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "cksum": 6121, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "error", { "message": "invalid entry" } ], [ "error", { "message": "invalid entry" } ], [ "nullBlock" ], [ "nullBlock" ], [ "end" ] ] ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������test/fixtures/parse/bad-cksum--meta-250-filter.json�������������������������������������������������0000644�0000000�0000000�00000001734�13334202347�021055� 0����������������������������������������������������������������������������������������������������ustar �root����������������������������root�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "entry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "cksum": 6121, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "warn", "invalid entry" ], [ "warn", "invalid entry" ], [ "nullBlock" ], [ "nullBlock" ], [ "end" ] ] ������������������������������������test/fixtures/parse/bad-cksum--meta-250-strict.json�������������������������������������������������0000644�0000000�0000000�00000002020�13334202347�021065� 0����������������������������������������������������������������������������������������������������ustar �root����������������������������root�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "entry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "cksum": 6121, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "error", { "message": "invalid entry" } ], [ "error", { "message": "invalid entry" } ], [ "nullBlock" ], [ "nullBlock" ], [ "end" ] ] ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������test/fixtures/parse/bad-cksum--meta-250.json��������������������������������������������������������0000644�0000000�0000000�00000001734�13334202347�017572� 0����������������������������������������������������������������������������������������������������ustar �root����������������������������root�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "entry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "cksum": 6121, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "warn", "invalid entry" ], [ "warn", "invalid entry" ], [ "nullBlock" ], [ "nullBlock" ], [ "end" ] ] ������������������������������������test/fixtures/parse/bad-cksum--strict.json����������������������������������������������������������0000644�0000000�0000000�00000002020�13334202347�017635� 0����������������������������������������������������������������������������������������������������ustar �root����������������������������root�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "entry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "cksum": 6121, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "error", { "message": "invalid entry" } ], [ "error", { "message": "invalid entry" } ], [ "nullBlock" ], [ "nullBlock" ], [ "end" ] ] ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������test/fixtures/parse/bad-cksum.json������������������������������������������������������������������0000644�0000000�0000000�00000001734�13334202347�016265� 0����������������������������������������������������������������������������������������������������ustar �root����������������������������root�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "entry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "cksum": 6121, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "warn", "invalid entry" ], [ "warn", "invalid entry" ], [ "nullBlock" ], [ "nullBlock" ], [ "end" ] ] ������������������������������������test/fixtures/parse/body-byte-counts--filter-strict.json��������������������������������������������0000644�0000000�0000000�00000006564�13334202347�022502� 0����������������������������������������������������������������������������������������������������ustar �root����������������������������root�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": true, "path": "1024-bytes.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 1024, "mtime": "2017-04-10T16:57:47.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "1024-bytes.txt", "mode": 420, "uid": 501, "gid": 20, "size": 1024, "mtime": "2017-04-10T16:57:47.000Z", "cksum": 6109, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": true, "path": "512-bytes.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 512, "mtime": "2017-04-10T17:08:55.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "512-bytes.txt", "mode": 420, "uid": 501, "gid": 20, "size": 512, "mtime": "2017-04-10T17:08:55.000Z", "cksum": 6064, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "cksum": 6121, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": true, "path": "zero-byte.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T17:08:01.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "zero-byte.txt", "mode": 420, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T17:08:01.000Z", "cksum": 6246, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "nullBlock" ], [ "end" ] ] ��������������������������������������������������������������������������������������������������������������������������������������������test/fixtures/parse/body-byte-counts--filter.json���������������������������������������������������0000644�0000000�0000000�00000006564�13334202347�021174� 0����������������������������������������������������������������������������������������������������ustar �root����������������������������root�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": true, "path": "1024-bytes.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 1024, "mtime": "2017-04-10T16:57:47.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "1024-bytes.txt", "mode": 420, "uid": 501, "gid": 20, "size": 1024, "mtime": "2017-04-10T16:57:47.000Z", "cksum": 6109, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": true, "path": "512-bytes.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 512, "mtime": "2017-04-10T17:08:55.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "512-bytes.txt", "mode": 420, "uid": 501, "gid": 20, "size": 512, "mtime": "2017-04-10T17:08:55.000Z", "cksum": 6064, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "cksum": 6121, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": true, "path": "zero-byte.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T17:08:01.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "zero-byte.txt", "mode": 420, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T17:08:01.000Z", "cksum": 6246, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "nullBlock" ], [ "end" ] ] ��������������������������������������������������������������������������������������������������������������������������������������������test/fixtures/parse/body-byte-counts--meta-250-filter-strict.json�����������������������������������0000644�0000000�0000000�00000006564�13334202347�023732� 0����������������������������������������������������������������������������������������������������ustar �root����������������������������root�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": true, "path": "1024-bytes.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 1024, "mtime": "2017-04-10T16:57:47.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "1024-bytes.txt", "mode": 420, "uid": 501, "gid": 20, "size": 1024, "mtime": "2017-04-10T16:57:47.000Z", "cksum": 6109, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": true, "path": "512-bytes.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 512, "mtime": "2017-04-10T17:08:55.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "512-bytes.txt", "mode": 420, "uid": 501, "gid": 20, "size": 512, "mtime": "2017-04-10T17:08:55.000Z", "cksum": 6064, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "cksum": 6121, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": true, "path": "zero-byte.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T17:08:01.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "zero-byte.txt", "mode": 420, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T17:08:01.000Z", "cksum": 6246, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "nullBlock" ], [ "end" ] ] ��������������������������������������������������������������������������������������������������������������������������������������������test/fixtures/parse/body-byte-counts--meta-250-filter.json������������������������������������������0000644�0000000�0000000�00000006564�13334202347�022424� 0����������������������������������������������������������������������������������������������������ustar �root����������������������������root�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": true, "path": "1024-bytes.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 1024, "mtime": "2017-04-10T16:57:47.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "1024-bytes.txt", "mode": 420, "uid": 501, "gid": 20, "size": 1024, "mtime": "2017-04-10T16:57:47.000Z", "cksum": 6109, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": true, "path": "512-bytes.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 512, "mtime": "2017-04-10T17:08:55.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "512-bytes.txt", "mode": 420, "uid": 501, "gid": 20, "size": 512, "mtime": "2017-04-10T17:08:55.000Z", "cksum": 6064, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "cksum": 6121, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": true, "path": "zero-byte.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T17:08:01.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "zero-byte.txt", "mode": 420, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T17:08:01.000Z", "cksum": 6246, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "nullBlock" ], [ "end" ] ] ��������������������������������������������������������������������������������������������������������������������������������������������test/fixtures/parse/body-byte-counts--meta-250-strict.json������������������������������������������0000644�0000000�0000000�00000006542�13334202347�022443� 0����������������������������������������������������������������������������������������������������ustar �root����������������������������root�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "entry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "1024-bytes.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 1024, "mtime": "2017-04-10T16:57:47.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "1024-bytes.txt", "mode": 420, "uid": 501, "gid": 20, "size": 1024, "mtime": "2017-04-10T16:57:47.000Z", "cksum": 6109, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "512-bytes.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 512, "mtime": "2017-04-10T17:08:55.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "512-bytes.txt", "mode": 420, "uid": 501, "gid": 20, "size": 512, "mtime": "2017-04-10T17:08:55.000Z", "cksum": 6064, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "cksum": 6121, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "zero-byte.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T17:08:01.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "zero-byte.txt", "mode": 420, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T17:08:01.000Z", "cksum": 6246, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "nullBlock" ], [ "end" ] ] ��������������������������������������������������������������������������������������������������������������������������������������������������������������test/fixtures/parse/body-byte-counts--meta-250.json�������������������������������������������������0000644�0000000�0000000�00000006542�13334202347�021135� 0����������������������������������������������������������������������������������������������������ustar �root����������������������������root�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "entry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "1024-bytes.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 1024, "mtime": "2017-04-10T16:57:47.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "1024-bytes.txt", "mode": 420, "uid": 501, "gid": 20, "size": 1024, "mtime": "2017-04-10T16:57:47.000Z", "cksum": 6109, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "512-bytes.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 512, "mtime": "2017-04-10T17:08:55.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "512-bytes.txt", "mode": 420, "uid": 501, "gid": 20, "size": 512, "mtime": "2017-04-10T17:08:55.000Z", "cksum": 6064, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "cksum": 6121, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "zero-byte.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T17:08:01.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "zero-byte.txt", "mode": 420, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T17:08:01.000Z", "cksum": 6246, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "nullBlock" ], [ "end" ] ] ��������������������������������������������������������������������������������������������������������������������������������������������������������������test/fixtures/parse/body-byte-counts--strict.json���������������������������������������������������0000644�0000000�0000000�00000006542�13334202347�021213� 0����������������������������������������������������������������������������������������������������ustar �root����������������������������root�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "entry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "1024-bytes.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 1024, "mtime": "2017-04-10T16:57:47.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "1024-bytes.txt", "mode": 420, "uid": 501, "gid": 20, "size": 1024, "mtime": "2017-04-10T16:57:47.000Z", "cksum": 6109, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "512-bytes.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 512, "mtime": "2017-04-10T17:08:55.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "512-bytes.txt", "mode": 420, "uid": 501, "gid": 20, "size": 512, "mtime": "2017-04-10T17:08:55.000Z", "cksum": 6064, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "cksum": 6121, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "zero-byte.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T17:08:01.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "zero-byte.txt", "mode": 420, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T17:08:01.000Z", "cksum": 6246, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "nullBlock" ], [ "end" ] ] ��������������������������������������������������������������������������������������������������������������������������������������������������������������test/fixtures/parse/body-byte-counts.json�����������������������������������������������������������0000644�0000000�0000000�00000006542�13334202347�017630� 0����������������������������������������������������������������������������������������������������ustar �root����������������������������root�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "entry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "1024-bytes.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 1024, "mtime": "2017-04-10T16:57:47.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "1024-bytes.txt", "mode": 420, "uid": 501, "gid": 20, "size": 1024, "mtime": "2017-04-10T16:57:47.000Z", "cksum": 6109, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "512-bytes.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 512, "mtime": "2017-04-10T17:08:55.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "512-bytes.txt", "mode": 420, "uid": 501, "gid": 20, "size": 512, "mtime": "2017-04-10T17:08:55.000Z", "cksum": 6064, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "cksum": 6121, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "zero-byte.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T17:08:01.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "zero-byte.txt", "mode": 420, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T17:08:01.000Z", "cksum": 6246, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "nullBlock" ], [ "end" ] ] ��������������������������������������������������������������������������������������������������������������������������������������������������������������test/fixtures/parse/dir--filter-strict.json���������������������������������������������������������0000644�0000000�0000000�00000001605�13334202347�020040� 0����������������������������������������������������������������������������������������������������ustar �root����������������������������root�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "dir/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T17:00:17.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "dir/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T17:00:17.000Z", "cksum": 5284, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "nullBlock" ], [ "end" ] ] ���������������������������������������������������������������������������������������������������������������������������test/fixtures/parse/dir--filter.json����������������������������������������������������������������0000644�0000000�0000000�00000001605�13334202347�016532� 0����������������������������������������������������������������������������������������������������ustar �root����������������������������root�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "dir/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T17:00:17.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "dir/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T17:00:17.000Z", "cksum": 5284, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "nullBlock" ], [ "end" ] ] ���������������������������������������������������������������������������������������������������������������������������test/fixtures/parse/dir--meta-250-filter-strict.json������������������������������������������������0000644�0000000�0000000�00000001605�13334202347�021270� 0����������������������������������������������������������������������������������������������������ustar �root����������������������������root�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "dir/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T17:00:17.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "dir/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T17:00:17.000Z", "cksum": 5284, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "nullBlock" ], [ "end" ] ] ���������������������������������������������������������������������������������������������������������������������������test/fixtures/parse/dir--meta-250-filter.json�������������������������������������������������������0000644�0000000�0000000�00000001605�13334202347�017762� 0����������������������������������������������������������������������������������������������������ustar �root����������������������������root�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "dir/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T17:00:17.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "dir/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T17:00:17.000Z", "cksum": 5284, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "nullBlock" ], [ "end" ] ] ���������������������������������������������������������������������������������������������������������������������������test/fixtures/parse/dir--meta-250-strict.json�������������������������������������������������������0000644�0000000�0000000�00000001577�13334202347�020015� 0����������������������������������������������������������������������������������������������������ustar �root����������������������������root�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "dir/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T17:00:17.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "dir/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T17:00:17.000Z", "cksum": 5284, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "nullBlock" ], [ "end" ] ] ���������������������������������������������������������������������������������������������������������������������������������test/fixtures/parse/dir--meta-250.json��������������������������������������������������������������0000644�0000000�0000000�00000001577�13334202347�016507� 0����������������������������������������������������������������������������������������������������ustar �root����������������������������root�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "dir/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T17:00:17.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "dir/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T17:00:17.000Z", "cksum": 5284, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "nullBlock" ], [ "end" ] ] ���������������������������������������������������������������������������������������������������������������������������������test/fixtures/parse/dir--strict.json����������������������������������������������������������������0000644�0000000�0000000�00000001577�13334202347�016565� 0����������������������������������������������������������������������������������������������������ustar �root����������������������������root�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "dir/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T17:00:17.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "dir/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T17:00:17.000Z", "cksum": 5284, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "nullBlock" ], [ "end" ] ] ���������������������������������������������������������������������������������������������������������������������������������test/fixtures/parse/dir.json������������������������������������������������������������������������0000644�0000000�0000000�00000001577�13334202347�015202� 0����������������������������������������������������������������������������������������������������ustar �root����������������������������root�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "dir/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T17:00:17.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "dir/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T17:00:17.000Z", "cksum": 5284, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "nullBlock" ], [ "end" ] ] ���������������������������������������������������������������������������������������������������������������������������������test/fixtures/parse/emptypax--filter-strict.json����������������������������������������������������0000644�0000000�0000000�00000004475�13334202347�021141� 0����������������������������������������������������������������������������������������������������ustar �root����������������������������root�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "meta", "17 path=🌟.txt\n20 ctime=1491843956\n20 atime=1491845601\n23 SCHILY.dev=16777220\n22 SCHILY.ino=9836716\n18 SCHILY.nlink=1\n" ], [ "ignoredEntry", { "extended": { "atime": "2017-04-10T17:33:21.000Z", "charset": null, "comment": null, "ctime": "2017-04-10T17:05:56.000Z", "gid": null, "gname": null, "linkpath": null, "mtime": null, "path": "🌟.txt", "size": null, "uid": null, "uname": null, "dev": 16777220, "ino": 9836716, "nlink": 1, "global": false }, "globalExtended": null, "type": "File", "meta": false, "ignore": true, "path": "🌟.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 106, "mtime": "2017-04-10T17:05:55.000Z", "atime": "2017-04-10T17:33:21.000Z", "ctime": "2017-04-10T17:05:56.000Z", "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "🌟.txt", "mode": 420, "uid": 501, "gid": 20, "size": 106, "mtime": "2017-04-10T17:05:55.000Z", "cksum": 6023, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "cksum": 6121, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "nullBlock" ], [ "end" ] ] ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������test/fixtures/parse/emptypax--filter.json�����������������������������������������������������������0000644�0000000�0000000�00000004475�13334202347�017633� 0����������������������������������������������������������������������������������������������������ustar �root����������������������������root�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "meta", "17 path=🌟.txt\n20 ctime=1491843956\n20 atime=1491845601\n23 SCHILY.dev=16777220\n22 SCHILY.ino=9836716\n18 SCHILY.nlink=1\n" ], [ "ignoredEntry", { "extended": { "atime": "2017-04-10T17:33:21.000Z", "charset": null, "comment": null, "ctime": "2017-04-10T17:05:56.000Z", "gid": null, "gname": null, "linkpath": null, "mtime": null, "path": "🌟.txt", "size": null, "uid": null, "uname": null, "dev": 16777220, "ino": 9836716, "nlink": 1, "global": false }, "globalExtended": null, "type": "File", "meta": false, "ignore": true, "path": "🌟.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 106, "mtime": "2017-04-10T17:05:55.000Z", "atime": "2017-04-10T17:33:21.000Z", "ctime": "2017-04-10T17:05:56.000Z", "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "🌟.txt", "mode": 420, "uid": 501, "gid": 20, "size": 106, "mtime": "2017-04-10T17:05:55.000Z", "cksum": 6023, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "cksum": 6121, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "nullBlock" ], [ "end" ] ] ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������test/fixtures/parse/emptypax--meta-250-filter-strict.json�������������������������������������������0000644�0000000�0000000�00000004475�13334202347�022371� 0����������������������������������������������������������������������������������������������������ustar �root����������������������������root�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "meta", "17 path=🌟.txt\n20 ctime=1491843956\n20 atime=1491845601\n23 SCHILY.dev=16777220\n22 SCHILY.ino=9836716\n18 SCHILY.nlink=1\n" ], [ "ignoredEntry", { "extended": { "atime": "2017-04-10T17:33:21.000Z", "charset": null, "comment": null, "ctime": "2017-04-10T17:05:56.000Z", "gid": null, "gname": null, "linkpath": null, "mtime": null, "path": "🌟.txt", "size": null, "uid": null, "uname": null, "dev": 16777220, "ino": 9836716, "nlink": 1, "global": false }, "globalExtended": null, "type": "File", "meta": false, "ignore": true, "path": "🌟.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 106, "mtime": "2017-04-10T17:05:55.000Z", "atime": "2017-04-10T17:33:21.000Z", "ctime": "2017-04-10T17:05:56.000Z", "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "🌟.txt", "mode": 420, "uid": 501, "gid": 20, "size": 106, "mtime": "2017-04-10T17:05:55.000Z", "cksum": 6023, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "cksum": 6121, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "nullBlock" ], [ "end" ] ] ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������test/fixtures/parse/emptypax--meta-250-filter.json��������������������������������������������������0000644�0000000�0000000�00000004475�13334202347�021063� 0����������������������������������������������������������������������������������������������������ustar �root����������������������������root�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "meta", "17 path=🌟.txt\n20 ctime=1491843956\n20 atime=1491845601\n23 SCHILY.dev=16777220\n22 SCHILY.ino=9836716\n18 SCHILY.nlink=1\n" ], [ "ignoredEntry", { "extended": { "atime": "2017-04-10T17:33:21.000Z", "charset": null, "comment": null, "ctime": "2017-04-10T17:05:56.000Z", "gid": null, "gname": null, "linkpath": null, "mtime": null, "path": "🌟.txt", "size": null, "uid": null, "uname": null, "dev": 16777220, "ino": 9836716, "nlink": 1, "global": false }, "globalExtended": null, "type": "File", "meta": false, "ignore": true, "path": "🌟.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 106, "mtime": "2017-04-10T17:05:55.000Z", "atime": "2017-04-10T17:33:21.000Z", "ctime": "2017-04-10T17:05:56.000Z", "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "🌟.txt", "mode": 420, "uid": 501, "gid": 20, "size": 106, "mtime": "2017-04-10T17:05:55.000Z", "cksum": 6023, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "cksum": 6121, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "nullBlock" ], [ "end" ] ] ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������test/fixtures/parse/emptypax--meta-250-strict.json��������������������������������������������������0000644�0000000�0000000�00000004467�13334202347�021107� 0����������������������������������������������������������������������������������������������������ustar �root����������������������������root�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "meta", "17 path=🌟.txt\n20 ctime=1491843956\n20 atime=1491845601\n23 SCHILY.dev=16777220\n22 SCHILY.ino=9836716\n18 SCHILY.nlink=1\n" ], [ "entry", { "extended": { "atime": "2017-04-10T17:33:21.000Z", "charset": null, "comment": null, "ctime": "2017-04-10T17:05:56.000Z", "gid": null, "gname": null, "linkpath": null, "mtime": null, "path": "🌟.txt", "size": null, "uid": null, "uname": null, "dev": 16777220, "ino": 9836716, "nlink": 1, "global": false }, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "🌟.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 106, "mtime": "2017-04-10T17:05:55.000Z", "atime": "2017-04-10T17:33:21.000Z", "ctime": "2017-04-10T17:05:56.000Z", "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "🌟.txt", "mode": 420, "uid": 501, "gid": 20, "size": 106, "mtime": "2017-04-10T17:05:55.000Z", "cksum": 6023, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "cksum": 6121, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "nullBlock" ], [ "end" ] ] ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������test/fixtures/parse/emptypax--meta-250.json���������������������������������������������������������0000644�0000000�0000000�00000004467�13334202347�017601� 0����������������������������������������������������������������������������������������������������ustar �root����������������������������root�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "meta", "17 path=🌟.txt\n20 ctime=1491843956\n20 atime=1491845601\n23 SCHILY.dev=16777220\n22 SCHILY.ino=9836716\n18 SCHILY.nlink=1\n" ], [ "entry", { "extended": { "atime": "2017-04-10T17:33:21.000Z", "charset": null, "comment": null, "ctime": "2017-04-10T17:05:56.000Z", "gid": null, "gname": null, "linkpath": null, "mtime": null, "path": "🌟.txt", "size": null, "uid": null, "uname": null, "dev": 16777220, "ino": 9836716, "nlink": 1, "global": false }, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "🌟.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 106, "mtime": "2017-04-10T17:05:55.000Z", "atime": "2017-04-10T17:33:21.000Z", "ctime": "2017-04-10T17:05:56.000Z", "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "🌟.txt", "mode": 420, "uid": 501, "gid": 20, "size": 106, "mtime": "2017-04-10T17:05:55.000Z", "cksum": 6023, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "cksum": 6121, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "nullBlock" ], [ "end" ] ] ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������test/fixtures/parse/emptypax--strict.json�����������������������������������������������������������0000644�0000000�0000000�00000004467�13334202347�017657� 0����������������������������������������������������������������������������������������������������ustar �root����������������������������root�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "meta", "17 path=🌟.txt\n20 ctime=1491843956\n20 atime=1491845601\n23 SCHILY.dev=16777220\n22 SCHILY.ino=9836716\n18 SCHILY.nlink=1\n" ], [ "entry", { "extended": { "atime": "2017-04-10T17:33:21.000Z", "charset": null, "comment": null, "ctime": "2017-04-10T17:05:56.000Z", "gid": null, "gname": null, "linkpath": null, "mtime": null, "path": "🌟.txt", "size": null, "uid": null, "uname": null, "dev": 16777220, "ino": 9836716, "nlink": 1, "global": false }, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "🌟.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 106, "mtime": "2017-04-10T17:05:55.000Z", "atime": "2017-04-10T17:33:21.000Z", "ctime": "2017-04-10T17:05:56.000Z", "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "🌟.txt", "mode": 420, "uid": 501, "gid": 20, "size": 106, "mtime": "2017-04-10T17:05:55.000Z", "cksum": 6023, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "cksum": 6121, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "nullBlock" ], [ "end" ] ] ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������test/fixtures/parse/emptypax.json�������������������������������������������������������������������0000644�0000000�0000000�00000004467�13334202347�016274� 0����������������������������������������������������������������������������������������������������ustar �root����������������������������root�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "meta", "17 path=🌟.txt\n20 ctime=1491843956\n20 atime=1491845601\n23 SCHILY.dev=16777220\n22 SCHILY.ino=9836716\n18 SCHILY.nlink=1\n" ], [ "entry", { "extended": { "atime": "2017-04-10T17:33:21.000Z", "charset": null, "comment": null, "ctime": "2017-04-10T17:05:56.000Z", "gid": null, "gname": null, "linkpath": null, "mtime": null, "path": "🌟.txt", "size": null, "uid": null, "uname": null, "dev": 16777220, "ino": 9836716, "nlink": 1, "global": false }, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "🌟.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 106, "mtime": "2017-04-10T17:05:55.000Z", "atime": "2017-04-10T17:33:21.000Z", "ctime": "2017-04-10T17:05:56.000Z", "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "🌟.txt", "mode": 420, "uid": 501, "gid": 20, "size": 106, "mtime": "2017-04-10T17:05:55.000Z", "cksum": 6023, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "cksum": 6121, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "nullBlock" ], [ "end" ] ] ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������test/fixtures/parse/file--filter-strict.json��������������������������������������������������������0000644�0000000�0000000�00000001612�13334202347�020177� 0����������������������������������������������������������������������������������������������������ustar �root����������������������������root�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "entry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "cksum": 6121, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "nullBlock" ], [ "end" ] ] ����������������������������������������������������������������������������������������������������������������������test/fixtures/parse/file--filter.json���������������������������������������������������������������0000644�0000000�0000000�00000001612�13334202347�016671� 0����������������������������������������������������������������������������������������������������ustar �root����������������������������root�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "entry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "cksum": 6121, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "nullBlock" ], [ "end" ] ] ����������������������������������������������������������������������������������������������������������������������test/fixtures/parse/file--meta-250-filter-strict.json�����������������������������������������������0000644�0000000�0000000�00000001612�13334202347�021427� 0����������������������������������������������������������������������������������������������������ustar �root����������������������������root�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "entry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "cksum": 6121, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "nullBlock" ], [ "end" ] ] ����������������������������������������������������������������������������������������������������������������������test/fixtures/parse/file--meta-250-filter.json������������������������������������������������������0000644�0000000�0000000�00000001612�13334202347�020121� 0����������������������������������������������������������������������������������������������������ustar �root����������������������������root�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "entry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "cksum": 6121, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "nullBlock" ], [ "end" ] ] ����������������������������������������������������������������������������������������������������������������������test/fixtures/parse/file--meta-250-strict.json������������������������������������������������������0000644�0000000�0000000�00000001612�13334202347�020144� 0����������������������������������������������������������������������������������������������������ustar �root����������������������������root�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "entry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "cksum": 6121, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "nullBlock" ], [ "end" ] ] ����������������������������������������������������������������������������������������������������������������������test/fixtures/parse/file--meta-250.json�������������������������������������������������������������0000644�0000000�0000000�00000001612�13334202347�016636� 0����������������������������������������������������������������������������������������������������ustar �root����������������������������root�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "entry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "cksum": 6121, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "nullBlock" ], [ "end" ] ] ����������������������������������������������������������������������������������������������������������������������test/fixtures/parse/file--strict.json���������������������������������������������������������������0000644�0000000�0000000�00000001612�13334202347�016714� 0����������������������������������������������������������������������������������������������������ustar �root����������������������������root�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "entry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "cksum": 6121, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "nullBlock" ], [ "end" ] ] ����������������������������������������������������������������������������������������������������������������������test/fixtures/parse/file.json�����������������������������������������������������������������������0000644�0000000�0000000�00000001612�13334202347�015331� 0����������������������������������������������������������������������������������������������������ustar �root����������������������������root�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "entry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "cksum": 6121, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "nullBlock" ], [ "end" ] ] ����������������������������������������������������������������������������������������������������������������������test/fixtures/parse/global-header--filter-strict.json�����������������������������������������������0000644�0000000�0000000�00000002444�13334202347�021752� 0����������������������������������������������������������������������������������������������������ustar �root����������������������������root�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "meta", "11 path=ab\n" ], [ "entry", { "extended": null, "globalExtended": { "atime": null, "charset": null, "comment": null, "ctime": null, "gid": null, "gname": null, "linkpath": null, "mtime": null, "path": "ab", "size": null, "uid": null, "uname": null, "dev": null, "ino": null, "nlink": null, "global": true }, "type": "File", "meta": false, "ignore": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "cksum": 6121, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "nullBlock" ], [ "end" ] ] ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������test/fixtures/parse/global-header--filter.json������������������������������������������������������0000644�0000000�0000000�00000002444�13334202347�020444� 0����������������������������������������������������������������������������������������������������ustar �root����������������������������root�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "meta", "11 path=ab\n" ], [ "entry", { "extended": null, "globalExtended": { "atime": null, "charset": null, "comment": null, "ctime": null, "gid": null, "gname": null, "linkpath": null, "mtime": null, "path": "ab", "size": null, "uid": null, "uname": null, "dev": null, "ino": null, "nlink": null, "global": true }, "type": "File", "meta": false, "ignore": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "cksum": 6121, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "nullBlock" ], [ "end" ] ] ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������test/fixtures/parse/global-header--meta-250-filter-strict.json��������������������������������������0000644�0000000�0000000�00000002444�13334202347�023202� 0����������������������������������������������������������������������������������������������������ustar �root����������������������������root�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "meta", "11 path=ab\n" ], [ "entry", { "extended": null, "globalExtended": { "atime": null, "charset": null, "comment": null, "ctime": null, "gid": null, "gname": null, "linkpath": null, "mtime": null, "path": "ab", "size": null, "uid": null, "uname": null, "dev": null, "ino": null, "nlink": null, "global": true }, "type": "File", "meta": false, "ignore": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "cksum": 6121, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "nullBlock" ], [ "end" ] ] ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������test/fixtures/parse/global-header--meta-250-filter.json���������������������������������������������0000644�0000000�0000000�00000002444�13334202347�021674� 0����������������������������������������������������������������������������������������������������ustar �root����������������������������root�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "meta", "11 path=ab\n" ], [ "entry", { "extended": null, "globalExtended": { "atime": null, "charset": null, "comment": null, "ctime": null, "gid": null, "gname": null, "linkpath": null, "mtime": null, "path": "ab", "size": null, "uid": null, "uname": null, "dev": null, "ino": null, "nlink": null, "global": true }, "type": "File", "meta": false, "ignore": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "cksum": 6121, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "nullBlock" ], [ "end" ] ] ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������test/fixtures/parse/global-header--meta-250-strict.json���������������������������������������������0000644�0000000�0000000�00000002444�13334202347�021717� 0����������������������������������������������������������������������������������������������������ustar �root����������������������������root�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "meta", "11 path=ab\n" ], [ "entry", { "extended": null, "globalExtended": { "atime": null, "charset": null, "comment": null, "ctime": null, "gid": null, "gname": null, "linkpath": null, "mtime": null, "path": "ab", "size": null, "uid": null, "uname": null, "dev": null, "ino": null, "nlink": null, "global": true }, "type": "File", "meta": false, "ignore": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "cksum": 6121, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "nullBlock" ], [ "end" ] ] ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������test/fixtures/parse/global-header--meta-250.json����������������������������������������������������0000644�0000000�0000000�00000002444�13334202347�020411� 0����������������������������������������������������������������������������������������������������ustar �root����������������������������root�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "meta", "11 path=ab\n" ], [ "entry", { "extended": null, "globalExtended": { "atime": null, "charset": null, "comment": null, "ctime": null, "gid": null, "gname": null, "linkpath": null, "mtime": null, "path": "ab", "size": null, "uid": null, "uname": null, "dev": null, "ino": null, "nlink": null, "global": true }, "type": "File", "meta": false, "ignore": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "cksum": 6121, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "nullBlock" ], [ "end" ] ] ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������test/fixtures/parse/global-header--strict.json������������������������������������������������������0000644�0000000�0000000�00000002444�13334202347�020467� 0����������������������������������������������������������������������������������������������������ustar �root����������������������������root�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "meta", "11 path=ab\n" ], [ "entry", { "extended": null, "globalExtended": { "atime": null, "charset": null, "comment": null, "ctime": null, "gid": null, "gname": null, "linkpath": null, "mtime": null, "path": "ab", "size": null, "uid": null, "uname": null, "dev": null, "ino": null, "nlink": null, "global": true }, "type": "File", "meta": false, "ignore": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "cksum": 6121, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "nullBlock" ], [ "end" ] ] ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������test/fixtures/parse/global-header.json��������������������������������������������������������������0000644�0000000�0000000�00000002444�13334202347�017104� 0����������������������������������������������������������������������������������������������������ustar �root����������������������������root�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "meta", "11 path=ab\n" ], [ "entry", { "extended": null, "globalExtended": { "atime": null, "charset": null, "comment": null, "ctime": null, "gid": null, "gname": null, "linkpath": null, "mtime": null, "path": "ab", "size": null, "uid": null, "uname": null, "dev": null, "ino": null, "nlink": null, "global": true }, "type": "File", "meta": false, "ignore": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "one-byte.txt", "mode": 420, "uid": 501, "gid": 20, "size": 1, "mtime": "2017-04-10T16:58:20.000Z", "cksum": 6121, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "nullBlock" ], [ "end" ] ] ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������test/fixtures/parse/links--filter-strict.json�������������������������������������������������������0000644�0000000�0000000�00000005100�13334202347�020374� 0����������������������������������������������������������������������������������������������������ustar �root����������������������������root�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": true, "path": "hardlink-1", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 26, "mtime": "2017-04-10T19:27:05.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "hardlink-1", "mode": 420, "uid": 501, "gid": 20, "size": 26, "mtime": "2017-04-10T19:27:05.000Z", "cksum": 5856, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Link", "meta": false, "ignore": true, "path": "hardlink-2", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T19:27:05.000Z", "atime": null, "ctime": null, "linkpath": "hardlink-1", "header": { "cksumValid": true, "needPax": false, "path": "hardlink-2", "mode": 420, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T19:27:05.000Z", "cksum": 6792, "linkpath": "hardlink-1", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "SymbolicLink", "meta": false, "ignore": true, "path": "symlink", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T19:27:33.000Z", "atime": null, "ctime": null, "linkpath": "hardlink-2", "header": { "cksumValid": true, "needPax": false, "path": "symlink", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T19:27:33.000Z", "cksum": 6639, "linkpath": "hardlink-2", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "nullBlock" ], [ "end" ] ] ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������test/fixtures/parse/links--filter.json��������������������������������������������������������������0000644�0000000�0000000�00000005100�13334202347�017066� 0����������������������������������������������������������������������������������������������������ustar �root����������������������������root�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": true, "path": "hardlink-1", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 26, "mtime": "2017-04-10T19:27:05.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "hardlink-1", "mode": 420, "uid": 501, "gid": 20, "size": 26, "mtime": "2017-04-10T19:27:05.000Z", "cksum": 5856, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Link", "meta": false, "ignore": true, "path": "hardlink-2", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T19:27:05.000Z", "atime": null, "ctime": null, "linkpath": "hardlink-1", "header": { "cksumValid": true, "needPax": false, "path": "hardlink-2", "mode": 420, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T19:27:05.000Z", "cksum": 6792, "linkpath": "hardlink-1", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "SymbolicLink", "meta": false, "ignore": true, "path": "symlink", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T19:27:33.000Z", "atime": null, "ctime": null, "linkpath": "hardlink-2", "header": { "cksumValid": true, "needPax": false, "path": "symlink", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T19:27:33.000Z", "cksum": 6639, "linkpath": "hardlink-2", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "nullBlock" ], [ "end" ] ] ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������test/fixtures/parse/links--meta-250-filter-strict.json����������������������������������������������0000644�0000000�0000000�00000005100�13334202347�021624� 0����������������������������������������������������������������������������������������������������ustar �root����������������������������root�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": true, "path": "hardlink-1", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 26, "mtime": "2017-04-10T19:27:05.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "hardlink-1", "mode": 420, "uid": 501, "gid": 20, "size": 26, "mtime": "2017-04-10T19:27:05.000Z", "cksum": 5856, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Link", "meta": false, "ignore": true, "path": "hardlink-2", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T19:27:05.000Z", "atime": null, "ctime": null, "linkpath": "hardlink-1", "header": { "cksumValid": true, "needPax": false, "path": "hardlink-2", "mode": 420, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T19:27:05.000Z", "cksum": 6792, "linkpath": "hardlink-1", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "SymbolicLink", "meta": false, "ignore": true, "path": "symlink", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T19:27:33.000Z", "atime": null, "ctime": null, "linkpath": "hardlink-2", "header": { "cksumValid": true, "needPax": false, "path": "symlink", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T19:27:33.000Z", "cksum": 6639, "linkpath": "hardlink-2", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "nullBlock" ], [ "end" ] ] ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������test/fixtures/parse/links--meta-250-filter.json�����������������������������������������������������0000644�0000000�0000000�00000005100�13334202347�020316� 0����������������������������������������������������������������������������������������������������ustar �root����������������������������root�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": true, "path": "hardlink-1", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 26, "mtime": "2017-04-10T19:27:05.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "hardlink-1", "mode": 420, "uid": 501, "gid": 20, "size": 26, "mtime": "2017-04-10T19:27:05.000Z", "cksum": 5856, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Link", "meta": false, "ignore": true, "path": "hardlink-2", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T19:27:05.000Z", "atime": null, "ctime": null, "linkpath": "hardlink-1", "header": { "cksumValid": true, "needPax": false, "path": "hardlink-2", "mode": 420, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T19:27:05.000Z", "cksum": 6792, "linkpath": "hardlink-1", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "SymbolicLink", "meta": false, "ignore": true, "path": "symlink", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T19:27:33.000Z", "atime": null, "ctime": null, "linkpath": "hardlink-2", "header": { "cksumValid": true, "needPax": false, "path": "symlink", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T19:27:33.000Z", "cksum": 6639, "linkpath": "hardlink-2", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "nullBlock" ], [ "end" ] ] ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������test/fixtures/parse/links--meta-250-strict.json�����������������������������������������������������0000644�0000000�0000000�00000005056�13334202347�020353� 0����������������������������������������������������������������������������������������������������ustar �root����������������������������root�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "entry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "hardlink-1", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 26, "mtime": "2017-04-10T19:27:05.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "hardlink-1", "mode": 420, "uid": 501, "gid": 20, "size": 26, "mtime": "2017-04-10T19:27:05.000Z", "cksum": 5856, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Link", "meta": false, "ignore": false, "path": "hardlink-2", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T19:27:05.000Z", "atime": null, "ctime": null, "linkpath": "hardlink-1", "header": { "cksumValid": true, "needPax": false, "path": "hardlink-2", "mode": 420, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T19:27:05.000Z", "cksum": 6792, "linkpath": "hardlink-1", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "SymbolicLink", "meta": false, "ignore": false, "path": "symlink", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T19:27:33.000Z", "atime": null, "ctime": null, "linkpath": "hardlink-2", "header": { "cksumValid": true, "needPax": false, "path": "symlink", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T19:27:33.000Z", "cksum": 6639, "linkpath": "hardlink-2", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "nullBlock" ], [ "end" ] ] ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������test/fixtures/parse/links--meta-250.json������������������������������������������������������������0000644�0000000�0000000�00000005056�13334202347�017045� 0����������������������������������������������������������������������������������������������������ustar �root����������������������������root�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "entry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "hardlink-1", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 26, "mtime": "2017-04-10T19:27:05.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "hardlink-1", "mode": 420, "uid": 501, "gid": 20, "size": 26, "mtime": "2017-04-10T19:27:05.000Z", "cksum": 5856, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Link", "meta": false, "ignore": false, "path": "hardlink-2", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T19:27:05.000Z", "atime": null, "ctime": null, "linkpath": "hardlink-1", "header": { "cksumValid": true, "needPax": false, "path": "hardlink-2", "mode": 420, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T19:27:05.000Z", "cksum": 6792, "linkpath": "hardlink-1", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "SymbolicLink", "meta": false, "ignore": false, "path": "symlink", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T19:27:33.000Z", "atime": null, "ctime": null, "linkpath": "hardlink-2", "header": { "cksumValid": true, "needPax": false, "path": "symlink", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T19:27:33.000Z", "cksum": 6639, "linkpath": "hardlink-2", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "nullBlock" ], [ "end" ] ] ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������test/fixtures/parse/links--strict.json��������������������������������������������������������������0000644�0000000�0000000�00000005056�13334202347�017123� 0����������������������������������������������������������������������������������������������������ustar �root����������������������������root�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "entry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "hardlink-1", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 26, "mtime": "2017-04-10T19:27:05.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "hardlink-1", "mode": 420, "uid": 501, "gid": 20, "size": 26, "mtime": "2017-04-10T19:27:05.000Z", "cksum": 5856, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Link", "meta": false, "ignore": false, "path": "hardlink-2", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T19:27:05.000Z", "atime": null, "ctime": null, "linkpath": "hardlink-1", "header": { "cksumValid": true, "needPax": false, "path": "hardlink-2", "mode": 420, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T19:27:05.000Z", "cksum": 6792, "linkpath": "hardlink-1", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "SymbolicLink", "meta": false, "ignore": false, "path": "symlink", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T19:27:33.000Z", "atime": null, "ctime": null, "linkpath": "hardlink-2", "header": { "cksumValid": true, "needPax": false, "path": "symlink", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T19:27:33.000Z", "cksum": 6639, "linkpath": "hardlink-2", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "nullBlock" ], [ "end" ] ] ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������test/fixtures/parse/links-invalid--filter-strict.json�����������������������������������������������0000644�0000000�0000000�00000002206�13334202347�022024� 0����������������������������������������������������������������������������������������������������ustar �root����������������������������root�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "error", { "message": "invalid: linkpath forbidden" } ], [ "error", { "message": "invalid entry" } ], [ "error", { "message": "invalid: linkpath required" } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "SymbolicLink", "meta": false, "ignore": true, "path": "symlink", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T19:27:33.000Z", "atime": null, "ctime": null, "linkpath": "hardlink-2", "header": { "cksumValid": true, "needPax": false, "path": "symlink", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T19:27:33.000Z", "cksum": 6639, "linkpath": "hardlink-2", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "nullBlock" ], [ "end" ] ] ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������test/fixtures/parse/links-invalid--filter.json������������������������������������������������������0000644�0000000�0000000�00000002070�13334202347�020515� 0����������������������������������������������������������������������������������������������������ustar �root����������������������������root�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "warn", "invalid: linkpath forbidden" ], [ "warn", "invalid entry" ], [ "warn", "invalid: linkpath required" ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "SymbolicLink", "meta": false, "ignore": true, "path": "symlink", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T19:27:33.000Z", "atime": null, "ctime": null, "linkpath": "hardlink-2", "header": { "cksumValid": true, "needPax": false, "path": "symlink", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T19:27:33.000Z", "cksum": 6639, "linkpath": "hardlink-2", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "nullBlock" ], [ "end" ] ] ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������test/fixtures/parse/links-invalid--meta-250-filter-strict.json��������������������������������������0000644�0000000�0000000�00000002206�13334202347�023254� 0����������������������������������������������������������������������������������������������������ustar �root����������������������������root�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "error", { "message": "invalid: linkpath forbidden" } ], [ "error", { "message": "invalid entry" } ], [ "error", { "message": "invalid: linkpath required" } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "SymbolicLink", "meta": false, "ignore": true, "path": "symlink", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T19:27:33.000Z", "atime": null, "ctime": null, "linkpath": "hardlink-2", "header": { "cksumValid": true, "needPax": false, "path": "symlink", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T19:27:33.000Z", "cksum": 6639, "linkpath": "hardlink-2", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "nullBlock" ], [ "end" ] ] ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������test/fixtures/parse/links-invalid--meta-250-filter.json���������������������������������������������0000644�0000000�0000000�00000002070�13334202347�021745� 0����������������������������������������������������������������������������������������������������ustar �root����������������������������root�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "warn", "invalid: linkpath forbidden" ], [ "warn", "invalid entry" ], [ "warn", "invalid: linkpath required" ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "SymbolicLink", "meta": false, "ignore": true, "path": "symlink", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T19:27:33.000Z", "atime": null, "ctime": null, "linkpath": "hardlink-2", "header": { "cksumValid": true, "needPax": false, "path": "symlink", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T19:27:33.000Z", "cksum": 6639, "linkpath": "hardlink-2", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "nullBlock" ], [ "end" ] ] ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������test/fixtures/parse/links-invalid--meta-250-strict.json���������������������������������������������0000644�0000000�0000000�00000002200�13334202347�021763� 0����������������������������������������������������������������������������������������������������ustar �root����������������������������root�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "error", { "message": "invalid: linkpath forbidden" } ], [ "error", { "message": "invalid entry" } ], [ "error", { "message": "invalid: linkpath required" } ], [ "entry", { "extended": null, "globalExtended": null, "type": "SymbolicLink", "meta": false, "ignore": false, "path": "symlink", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T19:27:33.000Z", "atime": null, "ctime": null, "linkpath": "hardlink-2", "header": { "cksumValid": true, "needPax": false, "path": "symlink", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T19:27:33.000Z", "cksum": 6639, "linkpath": "hardlink-2", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "nullBlock" ], [ "end" ] ] ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������test/fixtures/parse/links-invalid--meta-250.json����������������������������������������������������0000644�0000000�0000000�00000002062�13334202347�020463� 0����������������������������������������������������������������������������������������������������ustar �root����������������������������root�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "warn", "invalid: linkpath forbidden" ], [ "warn", "invalid entry" ], [ "warn", "invalid: linkpath required" ], [ "entry", { "extended": null, "globalExtended": null, "type": "SymbolicLink", "meta": false, "ignore": false, "path": "symlink", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T19:27:33.000Z", "atime": null, "ctime": null, "linkpath": "hardlink-2", "header": { "cksumValid": true, "needPax": false, "path": "symlink", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T19:27:33.000Z", "cksum": 6639, "linkpath": "hardlink-2", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "nullBlock" ], [ "end" ] ] ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������test/fixtures/parse/links-invalid--strict.json������������������������������������������������������0000644�0000000�0000000�00000002200�13334202347�020533� 0����������������������������������������������������������������������������������������������������ustar �root����������������������������root�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "error", { "message": "invalid: linkpath forbidden" } ], [ "error", { "message": "invalid entry" } ], [ "error", { "message": "invalid: linkpath required" } ], [ "entry", { "extended": null, "globalExtended": null, "type": "SymbolicLink", "meta": false, "ignore": false, "path": "symlink", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T19:27:33.000Z", "atime": null, "ctime": null, "linkpath": "hardlink-2", "header": { "cksumValid": true, "needPax": false, "path": "symlink", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T19:27:33.000Z", "cksum": 6639, "linkpath": "hardlink-2", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "nullBlock" ], [ "end" ] ] ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������test/fixtures/parse/links-invalid.json��������������������������������������������������������������0000644�0000000�0000000�00000002062�13334202347�017156� 0����������������������������������������������������������������������������������������������������ustar �root����������������������������root�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "warn", "invalid: linkpath forbidden" ], [ "warn", "invalid entry" ], [ "warn", "invalid: linkpath required" ], [ "entry", { "extended": null, "globalExtended": null, "type": "SymbolicLink", "meta": false, "ignore": false, "path": "symlink", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T19:27:33.000Z", "atime": null, "ctime": null, "linkpath": "hardlink-2", "header": { "cksumValid": true, "needPax": false, "path": "symlink", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T19:27:33.000Z", "cksum": 6639, "linkpath": "hardlink-2", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "nullBlock" ], [ "end" ] ] ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������test/fixtures/parse/links.json����������������������������������������������������������������������0000644�0000000�0000000�00000005056�13334202347�015540� 0����������������������������������������������������������������������������������������������������ustar �root����������������������������root�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "entry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "hardlink-1", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 26, "mtime": "2017-04-10T19:27:05.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "hardlink-1", "mode": 420, "uid": 501, "gid": 20, "size": 26, "mtime": "2017-04-10T19:27:05.000Z", "cksum": 5856, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Link", "meta": false, "ignore": false, "path": "hardlink-2", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T19:27:05.000Z", "atime": null, "ctime": null, "linkpath": "hardlink-1", "header": { "cksumValid": true, "needPax": false, "path": "hardlink-2", "mode": 420, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T19:27:05.000Z", "cksum": 6792, "linkpath": "hardlink-1", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "SymbolicLink", "meta": false, "ignore": false, "path": "symlink", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T19:27:33.000Z", "atime": null, "ctime": null, "linkpath": "hardlink-2", "header": { "cksumValid": true, "needPax": false, "path": "symlink", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T19:27:33.000Z", "cksum": 6639, "linkpath": "hardlink-2", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "nullBlock" ], [ "end" ] ] ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������test/fixtures/parse/long-paths--filter-strict.json��������������������������������������������������0000644�0000000�0000000�00000103637�13334202347�021346� 0����������������������������������������������������������������������������������������������������ustar �root����������������������������root�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": true, "path": "100-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:53:02.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "100-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 100, "mtime": "2017-04-10T16:53:02.000Z", "cksum": 14592, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "meta", "130 path=120-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\n20 ctime=1491843252\n20 atime=1491843717\n23 SCHILY.dev=16777220\n22 SCHILY.ino=9836297\n18 SCHILY.nlink=1\n" ], [ "ignoredEntry", { "extended": { "atime": "2017-04-10T17:01:57.000Z", "charset": null, "comment": null, "ctime": "2017-04-10T16:54:12.000Z", "gid": null, "gname": null, "linkpath": null, "mtime": null, "path": "120-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "size": null, "uid": null, "uname": null, "dev": 16777220, "ino": 9836297, "nlink": 1, "global": false }, "globalExtended": null, "type": "File", "meta": false, "ignore": true, "path": "120-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:54:12.000Z", "atime": "2017-04-10T17:01:57.000Z", "ctime": "2017-04-10T16:54:12.000Z", "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "120-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 100, "mtime": "2017-04-10T16:54:12.000Z", "cksum": 14495, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "meta", "180 path=170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\n20 ctime=1491843378\n20 atime=1491843717\n23 SCHILY.dev=16777220\n22 SCHILY.ino=9836326\n18 SCHILY.nlink=1\n" ], [ "ignoredEntry", { "extended": { "atime": "2017-04-10T17:01:57.000Z", "charset": null, "comment": null, "ctime": "2017-04-10T16:56:18.000Z", "gid": null, "gname": null, "linkpath": null, "mtime": null, "path": "170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "size": null, "uid": null, "uname": null, "dev": 16777220, "ino": 9836326, "nlink": 1, "global": false }, "globalExtended": null, "type": "File", "meta": false, "ignore": true, "path": "170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:56:18.000Z", "atime": "2017-04-10T17:01:57.000Z", "ctime": "2017-04-10T16:56:18.000Z", "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 100, "mtime": "2017-04-10T16:56:18.000Z", "cksum": 14500, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 5870, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6031, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6179, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6323, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6478, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6633, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6801, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6893, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7040, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7188, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7336, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7495, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7587, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7736, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7894, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8049, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8196, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8344, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8505, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8597, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8756, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8900, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 9063, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:58:47.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:58:47.000Z", "cksum": 9223, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/a.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 6, "mtime": "2017-04-10T16:56:46.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/a.txt", "mode": 420, "uid": 501, "gid": 20, "size": 6, "mtime": "2017-04-10T16:56:46.000Z", "cksum": 9714, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 100, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 19068, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "meta", "186 path=long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\n20 ctime=1491843140\n20 atime=1491843717\n23 SCHILY.dev=16777220\n22 SCHILY.ino=9836253\n18 SCHILY.nlink=1\n" ], [ "ignoredEntry", { "extended": { "atime": "2017-04-10T17:01:57.000Z", "charset": null, "comment": null, "ctime": "2017-04-10T16:52:20.000Z", "gid": null, "gname": null, "linkpath": null, "mtime": null, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "size": null, "uid": null, "uname": null, "dev": 16777220, "ino": 9836253, "nlink": 1, "global": false }, "globalExtended": null, "type": "File", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:52:20.000Z", "atime": "2017-04-10T17:01:57.000Z", "ctime": "2017-04-10T16:52:20.000Z", "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 100, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 18969, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "meta", "236 path=long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\n20 ctime=1491843140\n20 atime=1491843717\n23 SCHILY.dev=16777220\n22 SCHILY.ino=9836254\n18 SCHILY.nlink=1\n" ], [ "ignoredEntry", { "extended": { "atime": "2017-04-10T17:01:57.000Z", "charset": null, "comment": null, "ctime": "2017-04-10T16:52:20.000Z", "gid": null, "gname": null, "linkpath": null, "mtime": null, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "size": null, "uid": null, "uname": null, "dev": 16777220, "ino": 9836254, "nlink": 1, "global": false }, "globalExtended": null, "type": "File", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:52:20.000Z", "atime": "2017-04-10T17:01:57.000Z", "ctime": "2017-04-10T16:52:20.000Z", "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 100, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 20019, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "meta", "71 path=long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/Ω.txt\n20 ctime=1491843527\n20 atime=1491844045\n23 SCHILY.dev=16777220\n22 SCHILY.ino=9836396\n18 SCHILY.nlink=1\n" ], [ "ignoredEntry", { "extended": { "atime": "2017-04-10T17:07:25.000Z", "charset": null, "comment": null, "ctime": "2017-04-10T16:58:47.000Z", "gid": null, "gname": null, "linkpath": null, "mtime": null, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/Ω.txt", "size": null, "uid": null, "uname": null, "dev": 16777220, "ino": 9836396, "nlink": 1, "global": false }, "globalExtended": null, "type": "File", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/Ω.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 2, "mtime": "2017-04-10T16:58:47.000Z", "atime": "2017-04-10T17:07:25.000Z", "ctime": "2017-04-10T16:58:47.000Z", "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/Ω.txt", "mode": 420, "uid": 501, "gid": 20, "size": 2, "mtime": "2017-04-10T16:58:47.000Z", "cksum": 9990, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "nullBlock" ], [ "end" ] ] �������������������������������������������������������������������������������������������������test/fixtures/parse/long-paths--filter.json���������������������������������������������������������0000644�0000000�0000000�00000103637�13334202347�020040� 0����������������������������������������������������������������������������������������������������ustar �root����������������������������root�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": true, "path": "100-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:53:02.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "100-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 100, "mtime": "2017-04-10T16:53:02.000Z", "cksum": 14592, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "meta", "130 path=120-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\n20 ctime=1491843252\n20 atime=1491843717\n23 SCHILY.dev=16777220\n22 SCHILY.ino=9836297\n18 SCHILY.nlink=1\n" ], [ "ignoredEntry", { "extended": { "atime": "2017-04-10T17:01:57.000Z", "charset": null, "comment": null, "ctime": "2017-04-10T16:54:12.000Z", "gid": null, "gname": null, "linkpath": null, "mtime": null, "path": "120-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "size": null, "uid": null, "uname": null, "dev": 16777220, "ino": 9836297, "nlink": 1, "global": false }, "globalExtended": null, "type": "File", "meta": false, "ignore": true, "path": "120-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:54:12.000Z", "atime": "2017-04-10T17:01:57.000Z", "ctime": "2017-04-10T16:54:12.000Z", "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "120-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 100, "mtime": "2017-04-10T16:54:12.000Z", "cksum": 14495, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "meta", "180 path=170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\n20 ctime=1491843378\n20 atime=1491843717\n23 SCHILY.dev=16777220\n22 SCHILY.ino=9836326\n18 SCHILY.nlink=1\n" ], [ "ignoredEntry", { "extended": { "atime": "2017-04-10T17:01:57.000Z", "charset": null, "comment": null, "ctime": "2017-04-10T16:56:18.000Z", "gid": null, "gname": null, "linkpath": null, "mtime": null, "path": "170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "size": null, "uid": null, "uname": null, "dev": 16777220, "ino": 9836326, "nlink": 1, "global": false }, "globalExtended": null, "type": "File", "meta": false, "ignore": true, "path": "170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:56:18.000Z", "atime": "2017-04-10T17:01:57.000Z", "ctime": "2017-04-10T16:56:18.000Z", "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 100, "mtime": "2017-04-10T16:56:18.000Z", "cksum": 14500, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 5870, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6031, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6179, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6323, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6478, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6633, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6801, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6893, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7040, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7188, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7336, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7495, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7587, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7736, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7894, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8049, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8196, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8344, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8505, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8597, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8756, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8900, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 9063, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:58:47.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:58:47.000Z", "cksum": 9223, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/a.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 6, "mtime": "2017-04-10T16:56:46.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/a.txt", "mode": 420, "uid": 501, "gid": 20, "size": 6, "mtime": "2017-04-10T16:56:46.000Z", "cksum": 9714, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 100, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 19068, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "meta", "186 path=long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\n20 ctime=1491843140\n20 atime=1491843717\n23 SCHILY.dev=16777220\n22 SCHILY.ino=9836253\n18 SCHILY.nlink=1\n" ], [ "ignoredEntry", { "extended": { "atime": "2017-04-10T17:01:57.000Z", "charset": null, "comment": null, "ctime": "2017-04-10T16:52:20.000Z", "gid": null, "gname": null, "linkpath": null, "mtime": null, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "size": null, "uid": null, "uname": null, "dev": 16777220, "ino": 9836253, "nlink": 1, "global": false }, "globalExtended": null, "type": "File", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:52:20.000Z", "atime": "2017-04-10T17:01:57.000Z", "ctime": "2017-04-10T16:52:20.000Z", "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 100, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 18969, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "meta", "236 path=long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\n20 ctime=1491843140\n20 atime=1491843717\n23 SCHILY.dev=16777220\n22 SCHILY.ino=9836254\n18 SCHILY.nlink=1\n" ], [ "ignoredEntry", { "extended": { "atime": "2017-04-10T17:01:57.000Z", "charset": null, "comment": null, "ctime": "2017-04-10T16:52:20.000Z", "gid": null, "gname": null, "linkpath": null, "mtime": null, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "size": null, "uid": null, "uname": null, "dev": 16777220, "ino": 9836254, "nlink": 1, "global": false }, "globalExtended": null, "type": "File", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:52:20.000Z", "atime": "2017-04-10T17:01:57.000Z", "ctime": "2017-04-10T16:52:20.000Z", "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 100, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 20019, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "meta", "71 path=long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/Ω.txt\n20 ctime=1491843527\n20 atime=1491844045\n23 SCHILY.dev=16777220\n22 SCHILY.ino=9836396\n18 SCHILY.nlink=1\n" ], [ "ignoredEntry", { "extended": { "atime": "2017-04-10T17:07:25.000Z", "charset": null, "comment": null, "ctime": "2017-04-10T16:58:47.000Z", "gid": null, "gname": null, "linkpath": null, "mtime": null, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/Ω.txt", "size": null, "uid": null, "uname": null, "dev": 16777220, "ino": 9836396, "nlink": 1, "global": false }, "globalExtended": null, "type": "File", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/Ω.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 2, "mtime": "2017-04-10T16:58:47.000Z", "atime": "2017-04-10T17:07:25.000Z", "ctime": "2017-04-10T16:58:47.000Z", "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/Ω.txt", "mode": 420, "uid": 501, "gid": 20, "size": 2, "mtime": "2017-04-10T16:58:47.000Z", "cksum": 9990, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "nullBlock" ], [ "end" ] ] �������������������������������������������������������������������������������������������������test/fixtures/parse/long-paths--meta-250-filter-strict.json�����������������������������������������0000644�0000000�0000000�00000103467�13334202347�022577� 0����������������������������������������������������������������������������������������������������ustar �root����������������������������root�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": true, "path": "100-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:53:02.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "100-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 100, "mtime": "2017-04-10T16:53:02.000Z", "cksum": 14592, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "meta", "130 path=120-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\n20 ctime=1491843252\n20 atime=1491843717\n23 SCHILY.dev=16777220\n22 SCHILY.ino=9836297\n18 SCHILY.nlink=1\n" ], [ "ignoredEntry", { "extended": { "atime": "2017-04-10T17:01:57.000Z", "charset": null, "comment": null, "ctime": "2017-04-10T16:54:12.000Z", "gid": null, "gname": null, "linkpath": null, "mtime": null, "path": "120-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "size": null, "uid": null, "uname": null, "dev": 16777220, "ino": 9836297, "nlink": 1, "global": false }, "globalExtended": null, "type": "File", "meta": false, "ignore": true, "path": "120-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:54:12.000Z", "atime": "2017-04-10T17:01:57.000Z", "ctime": "2017-04-10T16:54:12.000Z", "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "120-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 100, "mtime": "2017-04-10T16:54:12.000Z", "cksum": 14495, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "ExtendedHeader", "meta": true, "ignore": true, "path": "PaxHeader/170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 283, "mtime": "2017-04-10T16:56:18.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "PaxHeader/170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 283, "mtime": "2017-04-10T16:56:18.000Z", "cksum": 14413, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": true, "path": "170-byte-filename-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:56:18.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "170-byte-filename-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 100, "mtime": "2017-04-10T16:56:18.000Z", "cksum": 14500, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 5870, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6031, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6179, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6323, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6478, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6633, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6801, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6893, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7040, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7188, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7336, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7495, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7587, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7736, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7894, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8049, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8196, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8344, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8505, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8597, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8756, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8900, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 9063, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:58:47.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:58:47.000Z", "cksum": 9223, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/a.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 6, "mtime": "2017-04-10T16:56:46.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/a.txt", "mode": 420, "uid": 501, "gid": 20, "size": 6, "mtime": "2017-04-10T16:56:46.000Z", "cksum": 9714, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 100, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 19068, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "ExtendedHeader", "meta": true, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/PaxHeader/cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 289, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/PaxHeader/cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 289, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 18881, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 100, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 18969, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "ExtendedHeader", "meta": true, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/PaxHeader/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxcccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 339, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/PaxHeader/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxcccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 339, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 19932, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 100, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 20019, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "meta", "71 path=long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/Ω.txt\n20 ctime=1491843527\n20 atime=1491844045\n23 SCHILY.dev=16777220\n22 SCHILY.ino=9836396\n18 SCHILY.nlink=1\n" ], [ "ignoredEntry", { "extended": { "atime": "2017-04-10T17:07:25.000Z", "charset": null, "comment": null, "ctime": "2017-04-10T16:58:47.000Z", "gid": null, "gname": null, "linkpath": null, "mtime": null, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/Ω.txt", "size": null, "uid": null, "uname": null, "dev": 16777220, "ino": 9836396, "nlink": 1, "global": false }, "globalExtended": null, "type": "File", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/Ω.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 2, "mtime": "2017-04-10T16:58:47.000Z", "atime": "2017-04-10T17:07:25.000Z", "ctime": "2017-04-10T16:58:47.000Z", "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/Ω.txt", "mode": 420, "uid": 501, "gid": 20, "size": 2, "mtime": "2017-04-10T16:58:47.000Z", "cksum": 9990, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "nullBlock" ], [ "end" ] ] ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������test/fixtures/parse/long-paths--meta-250-filter.json������������������������������������������������0000644�0000000�0000000�00000103467�13334202347�021271� 0����������������������������������������������������������������������������������������������������ustar �root����������������������������root�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": true, "path": "100-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:53:02.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "100-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 100, "mtime": "2017-04-10T16:53:02.000Z", "cksum": 14592, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "meta", "130 path=120-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\n20 ctime=1491843252\n20 atime=1491843717\n23 SCHILY.dev=16777220\n22 SCHILY.ino=9836297\n18 SCHILY.nlink=1\n" ], [ "ignoredEntry", { "extended": { "atime": "2017-04-10T17:01:57.000Z", "charset": null, "comment": null, "ctime": "2017-04-10T16:54:12.000Z", "gid": null, "gname": null, "linkpath": null, "mtime": null, "path": "120-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "size": null, "uid": null, "uname": null, "dev": 16777220, "ino": 9836297, "nlink": 1, "global": false }, "globalExtended": null, "type": "File", "meta": false, "ignore": true, "path": "120-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:54:12.000Z", "atime": "2017-04-10T17:01:57.000Z", "ctime": "2017-04-10T16:54:12.000Z", "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "120-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 100, "mtime": "2017-04-10T16:54:12.000Z", "cksum": 14495, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "ExtendedHeader", "meta": true, "ignore": true, "path": "PaxHeader/170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 283, "mtime": "2017-04-10T16:56:18.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "PaxHeader/170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 283, "mtime": "2017-04-10T16:56:18.000Z", "cksum": 14413, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": true, "path": "170-byte-filename-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:56:18.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "170-byte-filename-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 100, "mtime": "2017-04-10T16:56:18.000Z", "cksum": 14500, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 5870, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6031, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6179, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6323, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6478, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6633, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6801, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6893, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7040, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7188, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7336, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7495, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7587, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7736, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7894, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8049, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8196, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8344, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8505, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8597, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8756, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8900, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 9063, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:58:47.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:58:47.000Z", "cksum": 9223, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/a.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 6, "mtime": "2017-04-10T16:56:46.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/a.txt", "mode": 420, "uid": 501, "gid": 20, "size": 6, "mtime": "2017-04-10T16:56:46.000Z", "cksum": 9714, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 100, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 19068, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "ExtendedHeader", "meta": true, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/PaxHeader/cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 289, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/PaxHeader/cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 289, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 18881, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 100, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 18969, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "ExtendedHeader", "meta": true, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/PaxHeader/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxcccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 339, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/PaxHeader/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxcccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 339, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 19932, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 100, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 20019, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "meta", "71 path=long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/Ω.txt\n20 ctime=1491843527\n20 atime=1491844045\n23 SCHILY.dev=16777220\n22 SCHILY.ino=9836396\n18 SCHILY.nlink=1\n" ], [ "ignoredEntry", { "extended": { "atime": "2017-04-10T17:07:25.000Z", "charset": null, "comment": null, "ctime": "2017-04-10T16:58:47.000Z", "gid": null, "gname": null, "linkpath": null, "mtime": null, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/Ω.txt", "size": null, "uid": null, "uname": null, "dev": 16777220, "ino": 9836396, "nlink": 1, "global": false }, "globalExtended": null, "type": "File", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/Ω.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 2, "mtime": "2017-04-10T16:58:47.000Z", "atime": "2017-04-10T17:07:25.000Z", "ctime": "2017-04-10T16:58:47.000Z", "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/Ω.txt", "mode": 420, "uid": 501, "gid": 20, "size": 2, "mtime": "2017-04-10T16:58:47.000Z", "cksum": 9990, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "nullBlock" ], [ "end" ] ] ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������test/fixtures/parse/long-paths--meta-250-strict.json������������������������������������������������0000644�0000000�0000000�00000103167�13334202347�021311� 0����������������������������������������������������������������������������������������������������ustar �root����������������������������root�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "entry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "100-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:53:02.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "100-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 100, "mtime": "2017-04-10T16:53:02.000Z", "cksum": 14592, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "meta", "130 path=120-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\n20 ctime=1491843252\n20 atime=1491843717\n23 SCHILY.dev=16777220\n22 SCHILY.ino=9836297\n18 SCHILY.nlink=1\n" ], [ "entry", { "extended": { "atime": "2017-04-10T17:01:57.000Z", "charset": null, "comment": null, "ctime": "2017-04-10T16:54:12.000Z", "gid": null, "gname": null, "linkpath": null, "mtime": null, "path": "120-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "size": null, "uid": null, "uname": null, "dev": 16777220, "ino": 9836297, "nlink": 1, "global": false }, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "120-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:54:12.000Z", "atime": "2017-04-10T17:01:57.000Z", "ctime": "2017-04-10T16:54:12.000Z", "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "120-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 100, "mtime": "2017-04-10T16:54:12.000Z", "cksum": 14495, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "ExtendedHeader", "meta": true, "ignore": true, "path": "PaxHeader/170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 283, "mtime": "2017-04-10T16:56:18.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "PaxHeader/170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 283, "mtime": "2017-04-10T16:56:18.000Z", "cksum": 14413, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "170-byte-filename-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:56:18.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "170-byte-filename-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 100, "mtime": "2017-04-10T16:56:18.000Z", "cksum": 14500, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 5870, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6031, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6179, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6323, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6478, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6633, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6801, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6893, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7040, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7188, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7336, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7495, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7587, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7736, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7894, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8049, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8196, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8344, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8505, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8597, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8756, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8900, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 9063, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:58:47.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:58:47.000Z", "cksum": 9223, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/a.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 6, "mtime": "2017-04-10T16:56:46.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/a.txt", "mode": 420, "uid": 501, "gid": 20, "size": 6, "mtime": "2017-04-10T16:56:46.000Z", "cksum": 9714, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 100, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 19068, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "ExtendedHeader", "meta": true, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/PaxHeader/cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 289, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/PaxHeader/cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 289, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 18881, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 100, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 18969, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "ExtendedHeader", "meta": true, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/PaxHeader/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxcccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 339, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/PaxHeader/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxcccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 339, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 19932, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 100, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 20019, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "meta", "71 path=long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/Ω.txt\n20 ctime=1491843527\n20 atime=1491844045\n23 SCHILY.dev=16777220\n22 SCHILY.ino=9836396\n18 SCHILY.nlink=1\n" ], [ "entry", { "extended": { "atime": "2017-04-10T17:07:25.000Z", "charset": null, "comment": null, "ctime": "2017-04-10T16:58:47.000Z", "gid": null, "gname": null, "linkpath": null, "mtime": null, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/Ω.txt", "size": null, "uid": null, "uname": null, "dev": 16777220, "ino": 9836396, "nlink": 1, "global": false }, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/Ω.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 2, "mtime": "2017-04-10T16:58:47.000Z", "atime": "2017-04-10T17:07:25.000Z", "ctime": "2017-04-10T16:58:47.000Z", "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/Ω.txt", "mode": 420, "uid": 501, "gid": 20, "size": 2, "mtime": "2017-04-10T16:58:47.000Z", "cksum": 9990, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "nullBlock" ], [ "end" ] ] ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������test/fixtures/parse/long-paths--meta-250.json�������������������������������������������������������0000644�0000000�0000000�00000103167�13334202347�020003� 0����������������������������������������������������������������������������������������������������ustar �root����������������������������root�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "entry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "100-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:53:02.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "100-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 100, "mtime": "2017-04-10T16:53:02.000Z", "cksum": 14592, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "meta", "130 path=120-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\n20 ctime=1491843252\n20 atime=1491843717\n23 SCHILY.dev=16777220\n22 SCHILY.ino=9836297\n18 SCHILY.nlink=1\n" ], [ "entry", { "extended": { "atime": "2017-04-10T17:01:57.000Z", "charset": null, "comment": null, "ctime": "2017-04-10T16:54:12.000Z", "gid": null, "gname": null, "linkpath": null, "mtime": null, "path": "120-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "size": null, "uid": null, "uname": null, "dev": 16777220, "ino": 9836297, "nlink": 1, "global": false }, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "120-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:54:12.000Z", "atime": "2017-04-10T17:01:57.000Z", "ctime": "2017-04-10T16:54:12.000Z", "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "120-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 100, "mtime": "2017-04-10T16:54:12.000Z", "cksum": 14495, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "ExtendedHeader", "meta": true, "ignore": true, "path": "PaxHeader/170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 283, "mtime": "2017-04-10T16:56:18.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "PaxHeader/170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 283, "mtime": "2017-04-10T16:56:18.000Z", "cksum": 14413, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "170-byte-filename-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:56:18.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "170-byte-filename-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 100, "mtime": "2017-04-10T16:56:18.000Z", "cksum": 14500, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 5870, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6031, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6179, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6323, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6478, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6633, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6801, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6893, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7040, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7188, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7336, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7495, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7587, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7736, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7894, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8049, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8196, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8344, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8505, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8597, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8756, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8900, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 9063, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:58:47.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:58:47.000Z", "cksum": 9223, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/a.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 6, "mtime": "2017-04-10T16:56:46.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/a.txt", "mode": 420, "uid": 501, "gid": 20, "size": 6, "mtime": "2017-04-10T16:56:46.000Z", "cksum": 9714, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 100, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 19068, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "ExtendedHeader", "meta": true, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/PaxHeader/cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 289, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/PaxHeader/cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 289, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 18881, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 100, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 18969, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "ExtendedHeader", "meta": true, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/PaxHeader/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxcccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 339, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/PaxHeader/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxcccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 339, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 19932, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 100, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 20019, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "meta", "71 path=long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/Ω.txt\n20 ctime=1491843527\n20 atime=1491844045\n23 SCHILY.dev=16777220\n22 SCHILY.ino=9836396\n18 SCHILY.nlink=1\n" ], [ "entry", { "extended": { "atime": "2017-04-10T17:07:25.000Z", "charset": null, "comment": null, "ctime": "2017-04-10T16:58:47.000Z", "gid": null, "gname": null, "linkpath": null, "mtime": null, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/Ω.txt", "size": null, "uid": null, "uname": null, "dev": 16777220, "ino": 9836396, "nlink": 1, "global": false }, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/Ω.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 2, "mtime": "2017-04-10T16:58:47.000Z", "atime": "2017-04-10T17:07:25.000Z", "ctime": "2017-04-10T16:58:47.000Z", "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/Ω.txt", "mode": 420, "uid": 501, "gid": 20, "size": 2, "mtime": "2017-04-10T16:58:47.000Z", "cksum": 9990, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "nullBlock" ], [ "end" ] ] ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������test/fixtures/parse/long-paths--strict.json���������������������������������������������������������0000644�0000000�0000000�00000103337�13334202347�020060� 0����������������������������������������������������������������������������������������������������ustar �root����������������������������root�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "entry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "100-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:53:02.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "100-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 100, "mtime": "2017-04-10T16:53:02.000Z", "cksum": 14592, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "meta", "130 path=120-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\n20 ctime=1491843252\n20 atime=1491843717\n23 SCHILY.dev=16777220\n22 SCHILY.ino=9836297\n18 SCHILY.nlink=1\n" ], [ "entry", { "extended": { "atime": "2017-04-10T17:01:57.000Z", "charset": null, "comment": null, "ctime": "2017-04-10T16:54:12.000Z", "gid": null, "gname": null, "linkpath": null, "mtime": null, "path": "120-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "size": null, "uid": null, "uname": null, "dev": 16777220, "ino": 9836297, "nlink": 1, "global": false }, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "120-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:54:12.000Z", "atime": "2017-04-10T17:01:57.000Z", "ctime": "2017-04-10T16:54:12.000Z", "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "120-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 100, "mtime": "2017-04-10T16:54:12.000Z", "cksum": 14495, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "meta", "180 path=170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\n20 ctime=1491843378\n20 atime=1491843717\n23 SCHILY.dev=16777220\n22 SCHILY.ino=9836326\n18 SCHILY.nlink=1\n" ], [ "entry", { "extended": { "atime": "2017-04-10T17:01:57.000Z", "charset": null, "comment": null, "ctime": "2017-04-10T16:56:18.000Z", "gid": null, "gname": null, "linkpath": null, "mtime": null, "path": "170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "size": null, "uid": null, "uname": null, "dev": 16777220, "ino": 9836326, "nlink": 1, "global": false }, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:56:18.000Z", "atime": "2017-04-10T17:01:57.000Z", "ctime": "2017-04-10T16:56:18.000Z", "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 100, "mtime": "2017-04-10T16:56:18.000Z", "cksum": 14500, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 5870, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6031, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6179, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6323, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6478, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6633, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6801, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6893, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7040, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7188, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7336, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7495, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7587, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7736, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7894, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8049, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8196, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8344, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8505, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8597, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8756, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8900, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 9063, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:58:47.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:58:47.000Z", "cksum": 9223, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/a.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 6, "mtime": "2017-04-10T16:56:46.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/a.txt", "mode": 420, "uid": 501, "gid": 20, "size": 6, "mtime": "2017-04-10T16:56:46.000Z", "cksum": 9714, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 100, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 19068, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "meta", "186 path=long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\n20 ctime=1491843140\n20 atime=1491843717\n23 SCHILY.dev=16777220\n22 SCHILY.ino=9836253\n18 SCHILY.nlink=1\n" ], [ "entry", { "extended": { "atime": "2017-04-10T17:01:57.000Z", "charset": null, "comment": null, "ctime": "2017-04-10T16:52:20.000Z", "gid": null, "gname": null, "linkpath": null, "mtime": null, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "size": null, "uid": null, "uname": null, "dev": 16777220, "ino": 9836253, "nlink": 1, "global": false }, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:52:20.000Z", "atime": "2017-04-10T17:01:57.000Z", "ctime": "2017-04-10T16:52:20.000Z", "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 100, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 18969, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "meta", "236 path=long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\n20 ctime=1491843140\n20 atime=1491843717\n23 SCHILY.dev=16777220\n22 SCHILY.ino=9836254\n18 SCHILY.nlink=1\n" ], [ "entry", { "extended": { "atime": "2017-04-10T17:01:57.000Z", "charset": null, "comment": null, "ctime": "2017-04-10T16:52:20.000Z", "gid": null, "gname": null, "linkpath": null, "mtime": null, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "size": null, "uid": null, "uname": null, "dev": 16777220, "ino": 9836254, "nlink": 1, "global": false }, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:52:20.000Z", "atime": "2017-04-10T17:01:57.000Z", "ctime": "2017-04-10T16:52:20.000Z", "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 100, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 20019, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "meta", "71 path=long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/Ω.txt\n20 ctime=1491843527\n20 atime=1491844045\n23 SCHILY.dev=16777220\n22 SCHILY.ino=9836396\n18 SCHILY.nlink=1\n" ], [ "entry", { "extended": { "atime": "2017-04-10T17:07:25.000Z", "charset": null, "comment": null, "ctime": "2017-04-10T16:58:47.000Z", "gid": null, "gname": null, "linkpath": null, "mtime": null, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/Ω.txt", "size": null, "uid": null, "uname": null, "dev": 16777220, "ino": 9836396, "nlink": 1, "global": false }, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/Ω.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 2, "mtime": "2017-04-10T16:58:47.000Z", "atime": "2017-04-10T17:07:25.000Z", "ctime": "2017-04-10T16:58:47.000Z", "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/Ω.txt", "mode": 420, "uid": 501, "gid": 20, "size": 2, "mtime": "2017-04-10T16:58:47.000Z", "cksum": 9990, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "nullBlock" ], [ "end" ] ] �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������test/fixtures/parse/long-paths.json�����������������������������������������������������������������0000644�0000000�0000000�00000103337�13334202347�016475� 0����������������������������������������������������������������������������������������������������ustar �root����������������������������root�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "entry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "100-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:53:02.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "100-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 100, "mtime": "2017-04-10T16:53:02.000Z", "cksum": 14592, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "meta", "130 path=120-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\n20 ctime=1491843252\n20 atime=1491843717\n23 SCHILY.dev=16777220\n22 SCHILY.ino=9836297\n18 SCHILY.nlink=1\n" ], [ "entry", { "extended": { "atime": "2017-04-10T17:01:57.000Z", "charset": null, "comment": null, "ctime": "2017-04-10T16:54:12.000Z", "gid": null, "gname": null, "linkpath": null, "mtime": null, "path": "120-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "size": null, "uid": null, "uname": null, "dev": 16777220, "ino": 9836297, "nlink": 1, "global": false }, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "120-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:54:12.000Z", "atime": "2017-04-10T17:01:57.000Z", "ctime": "2017-04-10T16:54:12.000Z", "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "120-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 100, "mtime": "2017-04-10T16:54:12.000Z", "cksum": 14495, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "meta", "180 path=170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\n20 ctime=1491843378\n20 atime=1491843717\n23 SCHILY.dev=16777220\n22 SCHILY.ino=9836326\n18 SCHILY.nlink=1\n" ], [ "entry", { "extended": { "atime": "2017-04-10T17:01:57.000Z", "charset": null, "comment": null, "ctime": "2017-04-10T16:56:18.000Z", "gid": null, "gname": null, "linkpath": null, "mtime": null, "path": "170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "size": null, "uid": null, "uname": null, "dev": 16777220, "ino": 9836326, "nlink": 1, "global": false }, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:56:18.000Z", "atime": "2017-04-10T17:01:57.000Z", "ctime": "2017-04-10T16:56:18.000Z", "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 100, "mtime": "2017-04-10T16:56:18.000Z", "cksum": 14500, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 5870, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6031, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6179, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6323, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6478, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6633, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6801, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 6893, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7040, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7188, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7336, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7495, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7587, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7736, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 7894, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8049, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8196, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8344, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8505, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8597, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8756, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 8900, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 9063, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T16:58:47.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T16:58:47.000Z", "cksum": 9223, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/a.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 6, "mtime": "2017-04-10T16:56:46.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/a.txt", "mode": 420, "uid": 501, "gid": 20, "size": 6, "mtime": "2017-04-10T16:56:46.000Z", "cksum": 9714, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:52:20.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 100, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 19068, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "meta", "186 path=long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\n20 ctime=1491843140\n20 atime=1491843717\n23 SCHILY.dev=16777220\n22 SCHILY.ino=9836253\n18 SCHILY.nlink=1\n" ], [ "entry", { "extended": { "atime": "2017-04-10T17:01:57.000Z", "charset": null, "comment": null, "ctime": "2017-04-10T16:52:20.000Z", "gid": null, "gname": null, "linkpath": null, "mtime": null, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "size": null, "uid": null, "uname": null, "dev": 16777220, "ino": 9836253, "nlink": 1, "global": false }, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:52:20.000Z", "atime": "2017-04-10T17:01:57.000Z", "ctime": "2017-04-10T16:52:20.000Z", "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 100, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 18969, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "meta", "236 path=long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\n20 ctime=1491843140\n20 atime=1491843717\n23 SCHILY.dev=16777220\n22 SCHILY.ino=9836254\n18 SCHILY.nlink=1\n" ], [ "entry", { "extended": { "atime": "2017-04-10T17:01:57.000Z", "charset": null, "comment": null, "ctime": "2017-04-10T16:52:20.000Z", "gid": null, "gname": null, "linkpath": null, "mtime": null, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "size": null, "uid": null, "uname": null, "dev": 16777220, "ino": 9836254, "nlink": 1, "global": false }, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:52:20.000Z", "atime": "2017-04-10T17:01:57.000Z", "ctime": "2017-04-10T16:52:20.000Z", "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 100, "mtime": "2017-04-10T16:52:20.000Z", "cksum": 20019, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "meta", "71 path=long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/Ω.txt\n20 ctime=1491843527\n20 atime=1491844045\n23 SCHILY.dev=16777220\n22 SCHILY.ino=9836396\n18 SCHILY.nlink=1\n" ], [ "entry", { "extended": { "atime": "2017-04-10T17:07:25.000Z", "charset": null, "comment": null, "ctime": "2017-04-10T16:58:47.000Z", "gid": null, "gname": null, "linkpath": null, "mtime": null, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/Ω.txt", "size": null, "uid": null, "uname": null, "dev": 16777220, "ino": 9836396, "nlink": 1, "global": false }, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/Ω.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 2, "mtime": "2017-04-10T16:58:47.000Z", "atime": "2017-04-10T17:07:25.000Z", "ctime": "2017-04-10T16:58:47.000Z", "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/Ω.txt", "mode": 420, "uid": 501, "gid": 20, "size": 2, "mtime": "2017-04-10T16:58:47.000Z", "cksum": 9990, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "nullBlock" ], [ "end" ] ] �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������test/fixtures/parse/long-pax--filter-strict.json����������������������������������������������������0000644�0000000�0000000�00000007600�13334202347�021010� 0����������������������������������������������������������������������������������������������������ustar �root����������������������������root�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "meta", "130 path=120-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\n1069 comment=all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy\n9 gid=20\n15 gname=staff\n20 mtime=1491843252\n12 size=100\n11 uid=501\n16 uname=isaacs\n" ], [ "ignoredEntry", { "extended": { "atime": null, "charset": null, "comment": "all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy", "ctime": null, "gid": 20, "gname": "staff", "linkpath": null, "mtime": "2017-04-10T16:54:12.000Z", "path": "120-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "size": 100, "uid": 501, "uname": "isaacs", "dev": null, "ino": null, "nlink": null, "global": false }, "globalExtended": null, "type": "File", "meta": false, "ignore": true, "path": "120-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:54:12.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "120-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 100, "mtime": "2017-04-10T16:54:12.000Z", "cksum": 14495, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "end" ] ] ��������������������������������������������������������������������������������������������������������������������������������test/fixtures/parse/long-pax--filter.json�����������������������������������������������������������0000644�0000000�0000000�00000007600�13334202347�017502� 0����������������������������������������������������������������������������������������������������ustar �root����������������������������root�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "meta", "130 path=120-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\n1069 comment=all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy\n9 gid=20\n15 gname=staff\n20 mtime=1491843252\n12 size=100\n11 uid=501\n16 uname=isaacs\n" ], [ "ignoredEntry", { "extended": { "atime": null, "charset": null, "comment": "all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy", "ctime": null, "gid": 20, "gname": "staff", "linkpath": null, "mtime": "2017-04-10T16:54:12.000Z", "path": "120-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "size": 100, "uid": 501, "uname": "isaacs", "dev": null, "ino": null, "nlink": null, "global": false }, "globalExtended": null, "type": "File", "meta": false, "ignore": true, "path": "120-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:54:12.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "120-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 100, "mtime": "2017-04-10T16:54:12.000Z", "cksum": 14495, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "end" ] ] ��������������������������������������������������������������������������������������������������������������������������������test/fixtures/parse/long-pax--meta-250-filter-strict.json�������������������������������������������0000644�0000000�0000000�00000004027�13334202347�022240� 0����������������������������������������������������������������������������������������������������ustar �root����������������������������root�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "ExtendedHeader", "meta": true, "ignore": true, "path": "PaxHeader/120-byte-filename-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 1282, "mtime": "2017-04-10T16:54:12.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "PaxHeader/120-byte-filename-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 1282, "mtime": "2017-04-10T16:54:12.000Z", "cksum": 14425, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": true, "path": "120-byte-filename-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:54:12.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "120-byte-filename-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 100, "mtime": "2017-04-10T16:54:12.000Z", "cksum": 14495, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "end" ] ] ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������test/fixtures/parse/long-pax--meta-250-filter.json��������������������������������������������������0000644�0000000�0000000�00000004027�13334202347�020732� 0����������������������������������������������������������������������������������������������������ustar �root����������������������������root�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "ExtendedHeader", "meta": true, "ignore": true, "path": "PaxHeader/120-byte-filename-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 1282, "mtime": "2017-04-10T16:54:12.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "PaxHeader/120-byte-filename-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 1282, "mtime": "2017-04-10T16:54:12.000Z", "cksum": 14425, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": true, "path": "120-byte-filename-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:54:12.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "120-byte-filename-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 100, "mtime": "2017-04-10T16:54:12.000Z", "cksum": 14495, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "end" ] ] ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������test/fixtures/parse/long-pax--meta-250-strict.json��������������������������������������������������0000644�0000000�0000000�00000004021�13334202347�020747� 0����������������������������������������������������������������������������������������������������ustar �root����������������������������root�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "ExtendedHeader", "meta": true, "ignore": true, "path": "PaxHeader/120-byte-filename-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 1282, "mtime": "2017-04-10T16:54:12.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "PaxHeader/120-byte-filename-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 1282, "mtime": "2017-04-10T16:54:12.000Z", "cksum": 14425, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "120-byte-filename-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:54:12.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "120-byte-filename-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 100, "mtime": "2017-04-10T16:54:12.000Z", "cksum": 14495, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "end" ] ] ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������test/fixtures/parse/long-pax--meta-250.json���������������������������������������������������������0000644�0000000�0000000�00000004021�13334202347�017441� 0����������������������������������������������������������������������������������������������������ustar �root����������������������������root�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "ExtendedHeader", "meta": true, "ignore": true, "path": "PaxHeader/120-byte-filename-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 1282, "mtime": "2017-04-10T16:54:12.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "PaxHeader/120-byte-filename-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 1282, "mtime": "2017-04-10T16:54:12.000Z", "cksum": 14425, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "120-byte-filename-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:54:12.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "120-byte-filename-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 100, "mtime": "2017-04-10T16:54:12.000Z", "cksum": 14495, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "end" ] ] ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������test/fixtures/parse/long-pax--strict.json�����������������������������������������������������������0000644�0000000�0000000�00000007572�13334202347�017535� 0����������������������������������������������������������������������������������������������������ustar �root����������������������������root�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "meta", "130 path=120-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\n1069 comment=all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy\n9 gid=20\n15 gname=staff\n20 mtime=1491843252\n12 size=100\n11 uid=501\n16 uname=isaacs\n" ], [ "entry", { "extended": { "atime": null, "charset": null, "comment": "all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy", "ctime": null, "gid": 20, "gname": "staff", "linkpath": null, "mtime": "2017-04-10T16:54:12.000Z", "path": "120-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "size": 100, "uid": 501, "uname": "isaacs", "dev": null, "ino": null, "nlink": null, "global": false }, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "120-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:54:12.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "120-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 100, "mtime": "2017-04-10T16:54:12.000Z", "cksum": 14495, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "end" ] ] ��������������������������������������������������������������������������������������������������������������������������������������test/fixtures/parse/long-pax.json�������������������������������������������������������������������0000644�0000000�0000000�00000007572�13334202347�016152� 0����������������������������������������������������������������������������������������������������ustar �root����������������������������root�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "meta", "130 path=120-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc\n1069 comment=all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy\n9 gid=20\n15 gname=staff\n20 mtime=1491843252\n12 size=100\n11 uid=501\n16 uname=isaacs\n" ], [ "entry", { "extended": { "atime": null, "charset": null, "comment": "all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy", "ctime": null, "gid": 20, "gname": "staff", "linkpath": null, "mtime": "2017-04-10T16:54:12.000Z", "path": "120-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "size": 100, "uid": 501, "uname": "isaacs", "dev": null, "ino": null, "nlink": null, "global": false }, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "120-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:54:12.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "120-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 100, "mtime": "2017-04-10T16:54:12.000Z", "cksum": 14495, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "end" ] ] ��������������������������������������������������������������������������������������������������������������������������������������test/fixtures/parse/next-file-has-long--filter-strict.json������������������������������������������0000644�0000000�0000000�00000005747�13334202347�022676� 0����������������������������������������������������������������������������������������������������ustar �root����������������������������root�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "meta", "170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc" ], [ "ignoredEntry", { "extended": { "path": "170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc" }, "globalExtended": null, "type": "File", "meta": false, "ignore": true, "path": "170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:56:18.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 100, "mtime": "2017-04-10T16:56:18.000Z", "cksum": 14500, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "meta", "170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc" ], [ "ignoredEntry", { "extended": { "linkpath": "170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc" }, "globalExtended": null, "type": "SymbolicLink", "meta": false, "ignore": true, "path": "longlink", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T23:22:33.000Z", "atime": null, "ctime": null, "linkpath": "170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "header": { "cksumValid": true, "needPax": false, "path": "longlink", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T23:22:33.000Z", "cksum": 7135, "linkpath": "././@LongSymLink", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "nullBlock" ], [ "end" ] ] �������������������������test/fixtures/parse/next-file-has-long--filter.json�������������������������������������������������0000644�0000000�0000000�00000005747�13334202347�021370� 0����������������������������������������������������������������������������������������������������ustar �root����������������������������root�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "meta", "170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc" ], [ "ignoredEntry", { "extended": { "path": "170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc" }, "globalExtended": null, "type": "File", "meta": false, "ignore": true, "path": "170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:56:18.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 100, "mtime": "2017-04-10T16:56:18.000Z", "cksum": 14500, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "meta", "170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc" ], [ "ignoredEntry", { "extended": { "linkpath": "170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc" }, "globalExtended": null, "type": "SymbolicLink", "meta": false, "ignore": true, "path": "longlink", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T23:22:33.000Z", "atime": null, "ctime": null, "linkpath": "170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "header": { "cksumValid": true, "needPax": false, "path": "longlink", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T23:22:33.000Z", "cksum": 7135, "linkpath": "././@LongSymLink", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "nullBlock" ], [ "end" ] ] �������������������������test/fixtures/parse/next-file-has-long--meta-250-filter-strict.json���������������������������������0000644�0000000�0000000�00000005747�13334202347�024126� 0����������������������������������������������������������������������������������������������������ustar �root����������������������������root�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "meta", "170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc" ], [ "ignoredEntry", { "extended": { "path": "170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc" }, "globalExtended": null, "type": "File", "meta": false, "ignore": true, "path": "170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:56:18.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 100, "mtime": "2017-04-10T16:56:18.000Z", "cksum": 14500, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "meta", "170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc" ], [ "ignoredEntry", { "extended": { "linkpath": "170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc" }, "globalExtended": null, "type": "SymbolicLink", "meta": false, "ignore": true, "path": "longlink", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T23:22:33.000Z", "atime": null, "ctime": null, "linkpath": "170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "header": { "cksumValid": true, "needPax": false, "path": "longlink", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T23:22:33.000Z", "cksum": 7135, "linkpath": "././@LongSymLink", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "nullBlock" ], [ "end" ] ] �������������������������test/fixtures/parse/next-file-has-long--meta-250-filter.json����������������������������������������0000644�0000000�0000000�00000005747�13334202347�022620� 0����������������������������������������������������������������������������������������������������ustar �root����������������������������root�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "meta", "170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc" ], [ "ignoredEntry", { "extended": { "path": "170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc" }, "globalExtended": null, "type": "File", "meta": false, "ignore": true, "path": "170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:56:18.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 100, "mtime": "2017-04-10T16:56:18.000Z", "cksum": 14500, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "meta", "170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc" ], [ "ignoredEntry", { "extended": { "linkpath": "170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc" }, "globalExtended": null, "type": "SymbolicLink", "meta": false, "ignore": true, "path": "longlink", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T23:22:33.000Z", "atime": null, "ctime": null, "linkpath": "170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "header": { "cksumValid": true, "needPax": false, "path": "longlink", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T23:22:33.000Z", "cksum": 7135, "linkpath": "././@LongSymLink", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "nullBlock" ], [ "end" ] ] �������������������������test/fixtures/parse/next-file-has-long--meta-250-strict.json����������������������������������������0000644�0000000�0000000�00000005733�13334202347�022636� 0����������������������������������������������������������������������������������������������������ustar �root����������������������������root�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "meta", "170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc" ], [ "entry", { "extended": { "path": "170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc" }, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:56:18.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 100, "mtime": "2017-04-10T16:56:18.000Z", "cksum": 14500, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "meta", "170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc" ], [ "entry", { "extended": { "linkpath": "170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc" }, "globalExtended": null, "type": "SymbolicLink", "meta": false, "ignore": false, "path": "longlink", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T23:22:33.000Z", "atime": null, "ctime": null, "linkpath": "170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "header": { "cksumValid": true, "needPax": false, "path": "longlink", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T23:22:33.000Z", "cksum": 7135, "linkpath": "././@LongSymLink", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "nullBlock" ], [ "end" ] ] �������������������������������������test/fixtures/parse/next-file-has-long--meta-250.json�����������������������������������������������0000644�0000000�0000000�00000005733�13334202347�021330� 0����������������������������������������������������������������������������������������������������ustar �root����������������������������root�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "meta", "170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc" ], [ "entry", { "extended": { "path": "170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc" }, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:56:18.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 100, "mtime": "2017-04-10T16:56:18.000Z", "cksum": 14500, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "meta", "170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc" ], [ "entry", { "extended": { "linkpath": "170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc" }, "globalExtended": null, "type": "SymbolicLink", "meta": false, "ignore": false, "path": "longlink", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T23:22:33.000Z", "atime": null, "ctime": null, "linkpath": "170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "header": { "cksumValid": true, "needPax": false, "path": "longlink", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T23:22:33.000Z", "cksum": 7135, "linkpath": "././@LongSymLink", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "nullBlock" ], [ "end" ] ] �������������������������������������test/fixtures/parse/next-file-has-long--strict.json�������������������������������������������������0000644�0000000�0000000�00000005733�13334202347�021406� 0����������������������������������������������������������������������������������������������������ustar �root����������������������������root�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "meta", "170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc" ], [ "entry", { "extended": { "path": "170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc" }, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:56:18.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 100, "mtime": "2017-04-10T16:56:18.000Z", "cksum": 14500, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "meta", "170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc" ], [ "entry", { "extended": { "linkpath": "170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc" }, "globalExtended": null, "type": "SymbolicLink", "meta": false, "ignore": false, "path": "longlink", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T23:22:33.000Z", "atime": null, "ctime": null, "linkpath": "170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "header": { "cksumValid": true, "needPax": false, "path": "longlink", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T23:22:33.000Z", "cksum": 7135, "linkpath": "././@LongSymLink", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "nullBlock" ], [ "end" ] ] �������������������������������������test/fixtures/parse/next-file-has-long.json���������������������������������������������������������0000644�0000000�0000000�00000005733�13334202347�020023� 0����������������������������������������������������������������������������������������������������ustar �root����������������������������root�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "meta", "170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc" ], [ "entry", { "extended": { "path": "170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc" }, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 100, "mtime": "2017-04-10T16:56:18.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "mode": 420, "uid": 501, "gid": 20, "size": 100, "mtime": "2017-04-10T16:56:18.000Z", "cksum": 14500, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "meta", "170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc" ], [ "entry", { "extended": { "linkpath": "170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc" }, "globalExtended": null, "type": "SymbolicLink", "meta": false, "ignore": false, "path": "longlink", "mode": 493, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 0, "mtime": "2017-04-10T23:22:33.000Z", "atime": null, "ctime": null, "linkpath": "170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc", "header": { "cksumValid": true, "needPax": false, "path": "longlink", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2017-04-10T23:22:33.000Z", "cksum": 7135, "linkpath": "././@LongSymLink", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "nullBlock" ], [ "end" ] ] �������������������������������������test/fixtures/parse/null-byte--filter-strict.json���������������������������������������������������0000644�0000000�0000000�00000005202�13334202347�021172� 0����������������������������������������������������������������������������������������������������ustar �root����������������������������root�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "this_is_a_really_long_directory_name_with_a_lot_of_characters/", "mode": 509, "uid": 1000, "gid": 1000, "uname": null, "gname": null, "size": 0, "mtime": "2017-07-31T22:21:58.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "this_is_a_really_long_directory_name_with_a_lot_of_characters/", "mode": 509, "uid": 1000, "gid": 1000, "size": 0, "mtime": "2017-07-31T22:21:58.000Z", "cksum": 11228, "linkpath": "", "uname": null, "gname": null, "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "meta", "this_is_a_really_long_directory_name_with_a_lot_of_characters/this_is_a_really_long_tgz_file_with_a_lot_of_characters.tgz\u0000" ], [ "ignoredEntry", { "extended": { "path": "this_is_a_really_long_directory_name_with_a_lot_of_characters/this_is_a_really_long_tgz_file_with_a_lot_of_characters.tgz" }, "globalExtended": null, "type": "File", "meta": false, "ignore": true, "path": "this_is_a_really_long_directory_name_with_a_lot_of_characters/this_is_a_really_long_tgz_file_with_a_lot_of_characters.tgz", "mode": 436, "uid": 1000, "gid": 1000, "uname": null, "gname": null, "size": 200, "mtime": "2017-07-31T22:21:53.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "this_is_a_really_long_directory_name_with_a_lot_of_characters/this_is_a_really_long_tgz_file_with_a_lot_of_characters.tgz", "mode": 436, "uid": 1000, "gid": 1000, "size": 200, "mtime": "2017-07-31T22:21:53.000Z", "cksum": 15210, "linkpath": "", "uname": null, "gname": null, "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "end" ] ] ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������test/fixtures/parse/null-byte--filter.json����������������������������������������������������������0000644�0000000�0000000�00000005202�13334202347�017664� 0����������������������������������������������������������������������������������������������������ustar �root����������������������������root�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "this_is_a_really_long_directory_name_with_a_lot_of_characters/", "mode": 509, "uid": 1000, "gid": 1000, "uname": null, "gname": null, "size": 0, "mtime": "2017-07-31T22:21:58.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "this_is_a_really_long_directory_name_with_a_lot_of_characters/", "mode": 509, "uid": 1000, "gid": 1000, "size": 0, "mtime": "2017-07-31T22:21:58.000Z", "cksum": 11228, "linkpath": "", "uname": null, "gname": null, "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "meta", "this_is_a_really_long_directory_name_with_a_lot_of_characters/this_is_a_really_long_tgz_file_with_a_lot_of_characters.tgz\u0000" ], [ "ignoredEntry", { "extended": { "path": "this_is_a_really_long_directory_name_with_a_lot_of_characters/this_is_a_really_long_tgz_file_with_a_lot_of_characters.tgz" }, "globalExtended": null, "type": "File", "meta": false, "ignore": true, "path": "this_is_a_really_long_directory_name_with_a_lot_of_characters/this_is_a_really_long_tgz_file_with_a_lot_of_characters.tgz", "mode": 436, "uid": 1000, "gid": 1000, "uname": null, "gname": null, "size": 200, "mtime": "2017-07-31T22:21:53.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "this_is_a_really_long_directory_name_with_a_lot_of_characters/this_is_a_really_long_tgz_file_with_a_lot_of_characters.tgz", "mode": 436, "uid": 1000, "gid": 1000, "size": 200, "mtime": "2017-07-31T22:21:53.000Z", "cksum": 15210, "linkpath": "", "uname": null, "gname": null, "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "end" ] ] ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������test/fixtures/parse/null-byte--meta-250-filter-strict.json������������������������������������������0000644�0000000�0000000�00000005202�13334202347�022422� 0����������������������������������������������������������������������������������������������������ustar �root����������������������������root�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "this_is_a_really_long_directory_name_with_a_lot_of_characters/", "mode": 509, "uid": 1000, "gid": 1000, "uname": null, "gname": null, "size": 0, "mtime": "2017-07-31T22:21:58.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "this_is_a_really_long_directory_name_with_a_lot_of_characters/", "mode": 509, "uid": 1000, "gid": 1000, "size": 0, "mtime": "2017-07-31T22:21:58.000Z", "cksum": 11228, "linkpath": "", "uname": null, "gname": null, "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "meta", "this_is_a_really_long_directory_name_with_a_lot_of_characters/this_is_a_really_long_tgz_file_with_a_lot_of_characters.tgz\u0000" ], [ "ignoredEntry", { "extended": { "path": "this_is_a_really_long_directory_name_with_a_lot_of_characters/this_is_a_really_long_tgz_file_with_a_lot_of_characters.tgz" }, "globalExtended": null, "type": "File", "meta": false, "ignore": true, "path": "this_is_a_really_long_directory_name_with_a_lot_of_characters/this_is_a_really_long_tgz_file_with_a_lot_of_characters.tgz", "mode": 436, "uid": 1000, "gid": 1000, "uname": null, "gname": null, "size": 200, "mtime": "2017-07-31T22:21:53.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "this_is_a_really_long_directory_name_with_a_lot_of_characters/this_is_a_really_long_tgz_file_with_a_lot_of_characters.tgz", "mode": 436, "uid": 1000, "gid": 1000, "size": 200, "mtime": "2017-07-31T22:21:53.000Z", "cksum": 15210, "linkpath": "", "uname": null, "gname": null, "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "end" ] ] ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������test/fixtures/parse/null-byte--meta-250-filter.json�������������������������������������������������0000644�0000000�0000000�00000005202�13334202347�021114� 0����������������������������������������������������������������������������������������������������ustar �root����������������������������root�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "this_is_a_really_long_directory_name_with_a_lot_of_characters/", "mode": 509, "uid": 1000, "gid": 1000, "uname": null, "gname": null, "size": 0, "mtime": "2017-07-31T22:21:58.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "this_is_a_really_long_directory_name_with_a_lot_of_characters/", "mode": 509, "uid": 1000, "gid": 1000, "size": 0, "mtime": "2017-07-31T22:21:58.000Z", "cksum": 11228, "linkpath": "", "uname": null, "gname": null, "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "meta", "this_is_a_really_long_directory_name_with_a_lot_of_characters/this_is_a_really_long_tgz_file_with_a_lot_of_characters.tgz\u0000" ], [ "ignoredEntry", { "extended": { "path": "this_is_a_really_long_directory_name_with_a_lot_of_characters/this_is_a_really_long_tgz_file_with_a_lot_of_characters.tgz" }, "globalExtended": null, "type": "File", "meta": false, "ignore": true, "path": "this_is_a_really_long_directory_name_with_a_lot_of_characters/this_is_a_really_long_tgz_file_with_a_lot_of_characters.tgz", "mode": 436, "uid": 1000, "gid": 1000, "uname": null, "gname": null, "size": 200, "mtime": "2017-07-31T22:21:53.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "this_is_a_really_long_directory_name_with_a_lot_of_characters/this_is_a_really_long_tgz_file_with_a_lot_of_characters.tgz", "mode": 436, "uid": 1000, "gid": 1000, "size": 200, "mtime": "2017-07-31T22:21:53.000Z", "cksum": 15210, "linkpath": "", "uname": null, "gname": null, "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "end" ] ] ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������test/fixtures/parse/null-byte--meta-250-strict.json�������������������������������������������������0000644�0000000�0000000�00000005166�13334202347�021150� 0����������������������������������������������������������������������������������������������������ustar �root����������������������������root�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "this_is_a_really_long_directory_name_with_a_lot_of_characters/", "mode": 509, "uid": 1000, "gid": 1000, "uname": null, "gname": null, "size": 0, "mtime": "2017-07-31T22:21:58.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "this_is_a_really_long_directory_name_with_a_lot_of_characters/", "mode": 509, "uid": 1000, "gid": 1000, "size": 0, "mtime": "2017-07-31T22:21:58.000Z", "cksum": 11228, "linkpath": "", "uname": null, "gname": null, "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "meta", "this_is_a_really_long_directory_name_with_a_lot_of_characters/this_is_a_really_long_tgz_file_with_a_lot_of_characters.tgz\u0000" ], [ "entry", { "extended": { "path": "this_is_a_really_long_directory_name_with_a_lot_of_characters/this_is_a_really_long_tgz_file_with_a_lot_of_characters.tgz" }, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "this_is_a_really_long_directory_name_with_a_lot_of_characters/this_is_a_really_long_tgz_file_with_a_lot_of_characters.tgz", "mode": 436, "uid": 1000, "gid": 1000, "uname": null, "gname": null, "size": 200, "mtime": "2017-07-31T22:21:53.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "this_is_a_really_long_directory_name_with_a_lot_of_characters/this_is_a_really_long_tgz_file_with_a_lot_of_characters.tgz", "mode": 436, "uid": 1000, "gid": 1000, "size": 200, "mtime": "2017-07-31T22:21:53.000Z", "cksum": 15210, "linkpath": "", "uname": null, "gname": null, "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "end" ] ] ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������test/fixtures/parse/null-byte--meta-250.json��������������������������������������������������������0000644�0000000�0000000�00000005166�13334202347�017642� 0����������������������������������������������������������������������������������������������������ustar �root����������������������������root�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "this_is_a_really_long_directory_name_with_a_lot_of_characters/", "mode": 509, "uid": 1000, "gid": 1000, "uname": null, "gname": null, "size": 0, "mtime": "2017-07-31T22:21:58.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "this_is_a_really_long_directory_name_with_a_lot_of_characters/", "mode": 509, "uid": 1000, "gid": 1000, "size": 0, "mtime": "2017-07-31T22:21:58.000Z", "cksum": 11228, "linkpath": "", "uname": null, "gname": null, "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "meta", "this_is_a_really_long_directory_name_with_a_lot_of_characters/this_is_a_really_long_tgz_file_with_a_lot_of_characters.tgz\u0000" ], [ "entry", { "extended": { "path": "this_is_a_really_long_directory_name_with_a_lot_of_characters/this_is_a_really_long_tgz_file_with_a_lot_of_characters.tgz" }, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "this_is_a_really_long_directory_name_with_a_lot_of_characters/this_is_a_really_long_tgz_file_with_a_lot_of_characters.tgz", "mode": 436, "uid": 1000, "gid": 1000, "uname": null, "gname": null, "size": 200, "mtime": "2017-07-31T22:21:53.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "this_is_a_really_long_directory_name_with_a_lot_of_characters/this_is_a_really_long_tgz_file_with_a_lot_of_characters.tgz", "mode": 436, "uid": 1000, "gid": 1000, "size": 200, "mtime": "2017-07-31T22:21:53.000Z", "cksum": 15210, "linkpath": "", "uname": null, "gname": null, "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "end" ] ] ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������test/fixtures/parse/null-byte--strict.json����������������������������������������������������������0000644�0000000�0000000�00000005166�13334202347�017720� 0����������������������������������������������������������������������������������������������������ustar �root����������������������������root�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "this_is_a_really_long_directory_name_with_a_lot_of_characters/", "mode": 509, "uid": 1000, "gid": 1000, "uname": null, "gname": null, "size": 0, "mtime": "2017-07-31T22:21:58.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "this_is_a_really_long_directory_name_with_a_lot_of_characters/", "mode": 509, "uid": 1000, "gid": 1000, "size": 0, "mtime": "2017-07-31T22:21:58.000Z", "cksum": 11228, "linkpath": "", "uname": null, "gname": null, "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "meta", "this_is_a_really_long_directory_name_with_a_lot_of_characters/this_is_a_really_long_tgz_file_with_a_lot_of_characters.tgz\u0000" ], [ "entry", { "extended": { "path": "this_is_a_really_long_directory_name_with_a_lot_of_characters/this_is_a_really_long_tgz_file_with_a_lot_of_characters.tgz" }, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "this_is_a_really_long_directory_name_with_a_lot_of_characters/this_is_a_really_long_tgz_file_with_a_lot_of_characters.tgz", "mode": 436, "uid": 1000, "gid": 1000, "uname": null, "gname": null, "size": 200, "mtime": "2017-07-31T22:21:53.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "this_is_a_really_long_directory_name_with_a_lot_of_characters/this_is_a_really_long_tgz_file_with_a_lot_of_characters.tgz", "mode": 436, "uid": 1000, "gid": 1000, "size": 200, "mtime": "2017-07-31T22:21:53.000Z", "cksum": 15210, "linkpath": "", "uname": null, "gname": null, "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "end" ] ] ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������test/fixtures/parse/null-byte.json������������������������������������������������������������������0000644�0000000�0000000�00000005166�13334202347�016335� 0����������������������������������������������������������������������������������������������������ustar �root����������������������������root�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "this_is_a_really_long_directory_name_with_a_lot_of_characters/", "mode": 509, "uid": 1000, "gid": 1000, "uname": null, "gname": null, "size": 0, "mtime": "2017-07-31T22:21:58.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "this_is_a_really_long_directory_name_with_a_lot_of_characters/", "mode": 509, "uid": 1000, "gid": 1000, "size": 0, "mtime": "2017-07-31T22:21:58.000Z", "cksum": 11228, "linkpath": "", "uname": null, "gname": null, "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "meta", "this_is_a_really_long_directory_name_with_a_lot_of_characters/this_is_a_really_long_tgz_file_with_a_lot_of_characters.tgz\u0000" ], [ "entry", { "extended": { "path": "this_is_a_really_long_directory_name_with_a_lot_of_characters/this_is_a_really_long_tgz_file_with_a_lot_of_characters.tgz" }, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "this_is_a_really_long_directory_name_with_a_lot_of_characters/this_is_a_really_long_tgz_file_with_a_lot_of_characters.tgz", "mode": 436, "uid": 1000, "gid": 1000, "uname": null, "gname": null, "size": 200, "mtime": "2017-07-31T22:21:53.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "this_is_a_really_long_directory_name_with_a_lot_of_characters/this_is_a_really_long_tgz_file_with_a_lot_of_characters.tgz", "mode": 436, "uid": 1000, "gid": 1000, "size": 200, "mtime": "2017-07-31T22:21:53.000Z", "cksum": 15210, "linkpath": "", "uname": null, "gname": null, "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "end" ] ] ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������test/fixtures/parse/path-missing--filter-strict.json������������������������������������������������0000644�0000000�0000000�00000000332�13334202347�021661� 0����������������������������������������������������������������������������������������������������ustar �root����������������������������root�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "error", { "message": "invalid: path is required" } ], [ "error", { "message": "invalid entry" } ], [ "nullBlock" ], [ "nullBlock" ], [ "end" ] ] ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������test/fixtures/parse/path-missing--filter.json�������������������������������������������������������0000644�0000000�0000000�00000000246�13334202347�020357� 0����������������������������������������������������������������������������������������������������ustar �root����������������������������root�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "warn", "invalid: path is required" ], [ "warn", "invalid entry" ], [ "nullBlock" ], [ "nullBlock" ], [ "end" ] ] ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������test/fixtures/parse/path-missing--meta-250-filter-strict.json���������������������������������������0000644�0000000�0000000�00000000332�13334202347�023111� 0����������������������������������������������������������������������������������������������������ustar �root����������������������������root�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "error", { "message": "invalid: path is required" } ], [ "error", { "message": "invalid entry" } ], [ "nullBlock" ], [ "nullBlock" ], [ "end" ] ] ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������test/fixtures/parse/path-missing--meta-250-filter.json����������������������������������������������0000644�0000000�0000000�00000000246�13334202347�021607� 0����������������������������������������������������������������������������������������������������ustar �root����������������������������root�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "warn", "invalid: path is required" ], [ "warn", "invalid entry" ], [ "nullBlock" ], [ "nullBlock" ], [ "end" ] ] ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������test/fixtures/parse/path-missing--meta-250-strict.json����������������������������������������������0000644�0000000�0000000�00000000332�13334202347�021626� 0����������������������������������������������������������������������������������������������������ustar �root����������������������������root�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "error", { "message": "invalid: path is required" } ], [ "error", { "message": "invalid entry" } ], [ "nullBlock" ], [ "nullBlock" ], [ "end" ] ] ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������test/fixtures/parse/path-missing--meta-250.json�����������������������������������������������������0000644�0000000�0000000�00000000246�13334202347�020324� 0����������������������������������������������������������������������������������������������������ustar �root����������������������������root�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "warn", "invalid: path is required" ], [ "warn", "invalid entry" ], [ "nullBlock" ], [ "nullBlock" ], [ "end" ] ] ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������test/fixtures/parse/path-missing--strict.json�������������������������������������������������������0000644�0000000�0000000�00000000332�13334202347�020376� 0����������������������������������������������������������������������������������������������������ustar �root����������������������������root�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "error", { "message": "invalid: path is required" } ], [ "error", { "message": "invalid entry" } ], [ "nullBlock" ], [ "nullBlock" ], [ "end" ] ] ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������test/fixtures/parse/path-missing.json���������������������������������������������������������������0000644�0000000�0000000�00000000246�13334202347�017017� 0����������������������������������������������������������������������������������������������������ustar �root����������������������������root�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "warn", "invalid: path is required" ], [ "warn", "invalid entry" ], [ "nullBlock" ], [ "nullBlock" ], [ "end" ] ] ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������test/fixtures/parse/trailing-slash-corner-case--filter-strict.json����������������������������������0000644�0000000�0000000�00000007755�13334202347�024416� 0����������������������������������������������������������������������������������������������������ustar �root����������������������������root�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/", "mode": 493, "uid": 501, "gid": 20, "uname": null, "gname": null, "size": 0, "mtime": "2018-06-19T00:03:11.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2018-06-19T00:03:11.000Z", "cksum": 13612, "linkpath": "", "uname": null, "gname": null, "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "meta", "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/a-truly-unlucky-file-beyond-130-byte-path-length.txt\u0000" ], [ "ignoredEntry", { "extended": { "path": "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/a-truly-unlucky-file-beyond-130-byte-path-length.txt" }, "globalExtended": null, "type": "File", "meta": false, "ignore": true, "path": "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/a-truly-unlucky-file-beyond-130-byte-path-length.txt", "mode": 420, "uid": 501, "gid": 20, "uname": null, "gname": null, "size": 560, "mtime": "2018-06-19T00:03:11.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/a-truly-unlucky-file-beyond-130-byte-path-length.txt", "mode": 420, "uid": 501, "gid": 20, "size": 560, "mtime": "2018-06-19T00:03:11.000Z", "cksum": 13611, "linkpath": "", "uname": null, "gname": null, "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "meta", "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/some-unlucky-file.txt\u0000" ], [ "ignoredEntry", { "extended": { "path": "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/some-unlucky-file.txt" }, "globalExtended": null, "type": "File", "meta": false, "ignore": true, "path": "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/some-unlucky-file.txt", "mode": 420, "uid": 501, "gid": 20, "uname": null, "gname": null, "size": 560, "mtime": "2018-06-18T23:49:44.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/some-unlucky-file.txt", "mode": 420, "uid": 501, "gid": 20, "size": 560, "mtime": "2018-06-18T23:49:44.000Z", "cksum": 13602, "linkpath": "", "uname": null, "gname": null, "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "end" ] ] �������������������test/fixtures/parse/trailing-slash-corner-case--filter.json�����������������������������������������0000644�0000000�0000000�00000007755�13334202347�023110� 0����������������������������������������������������������������������������������������������������ustar �root����������������������������root�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/", "mode": 493, "uid": 501, "gid": 20, "uname": null, "gname": null, "size": 0, "mtime": "2018-06-19T00:03:11.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2018-06-19T00:03:11.000Z", "cksum": 13612, "linkpath": "", "uname": null, "gname": null, "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "meta", "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/a-truly-unlucky-file-beyond-130-byte-path-length.txt\u0000" ], [ "ignoredEntry", { "extended": { "path": "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/a-truly-unlucky-file-beyond-130-byte-path-length.txt" }, "globalExtended": null, "type": "File", "meta": false, "ignore": true, "path": "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/a-truly-unlucky-file-beyond-130-byte-path-length.txt", "mode": 420, "uid": 501, "gid": 20, "uname": null, "gname": null, "size": 560, "mtime": "2018-06-19T00:03:11.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/a-truly-unlucky-file-beyond-130-byte-path-length.txt", "mode": 420, "uid": 501, "gid": 20, "size": 560, "mtime": "2018-06-19T00:03:11.000Z", "cksum": 13611, "linkpath": "", "uname": null, "gname": null, "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "meta", "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/some-unlucky-file.txt\u0000" ], [ "ignoredEntry", { "extended": { "path": "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/some-unlucky-file.txt" }, "globalExtended": null, "type": "File", "meta": false, "ignore": true, "path": "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/some-unlucky-file.txt", "mode": 420, "uid": 501, "gid": 20, "uname": null, "gname": null, "size": 560, "mtime": "2018-06-18T23:49:44.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/some-unlucky-file.txt", "mode": 420, "uid": 501, "gid": 20, "size": 560, "mtime": "2018-06-18T23:49:44.000Z", "cksum": 13602, "linkpath": "", "uname": null, "gname": null, "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "end" ] ] �������������������test/fixtures/parse/trailing-slash-corner-case--meta-250-filter-strict.json�������������������������0000644�0000000�0000000�00000007755�13334202347�025646� 0����������������������������������������������������������������������������������������������������ustar �root����������������������������root�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/", "mode": 493, "uid": 501, "gid": 20, "uname": null, "gname": null, "size": 0, "mtime": "2018-06-19T00:03:11.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2018-06-19T00:03:11.000Z", "cksum": 13612, "linkpath": "", "uname": null, "gname": null, "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "meta", "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/a-truly-unlucky-file-beyond-130-byte-path-length.txt\u0000" ], [ "ignoredEntry", { "extended": { "path": "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/a-truly-unlucky-file-beyond-130-byte-path-length.txt" }, "globalExtended": null, "type": "File", "meta": false, "ignore": true, "path": "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/a-truly-unlucky-file-beyond-130-byte-path-length.txt", "mode": 420, "uid": 501, "gid": 20, "uname": null, "gname": null, "size": 560, "mtime": "2018-06-19T00:03:11.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/a-truly-unlucky-file-beyond-130-byte-path-length.txt", "mode": 420, "uid": 501, "gid": 20, "size": 560, "mtime": "2018-06-19T00:03:11.000Z", "cksum": 13611, "linkpath": "", "uname": null, "gname": null, "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "meta", "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/some-unlucky-file.txt\u0000" ], [ "ignoredEntry", { "extended": { "path": "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/some-unlucky-file.txt" }, "globalExtended": null, "type": "File", "meta": false, "ignore": true, "path": "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/some-unlucky-file.txt", "mode": 420, "uid": 501, "gid": 20, "uname": null, "gname": null, "size": 560, "mtime": "2018-06-18T23:49:44.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/some-unlucky-file.txt", "mode": 420, "uid": 501, "gid": 20, "size": 560, "mtime": "2018-06-18T23:49:44.000Z", "cksum": 13602, "linkpath": "", "uname": null, "gname": null, "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "end" ] ] �������������������test/fixtures/parse/trailing-slash-corner-case--meta-250-filter.json��������������������������������0000644�0000000�0000000�00000007755�13334202347�024340� 0����������������������������������������������������������������������������������������������������ustar �root����������������������������root�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/", "mode": 493, "uid": 501, "gid": 20, "uname": null, "gname": null, "size": 0, "mtime": "2018-06-19T00:03:11.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2018-06-19T00:03:11.000Z", "cksum": 13612, "linkpath": "", "uname": null, "gname": null, "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "meta", "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/a-truly-unlucky-file-beyond-130-byte-path-length.txt\u0000" ], [ "ignoredEntry", { "extended": { "path": "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/a-truly-unlucky-file-beyond-130-byte-path-length.txt" }, "globalExtended": null, "type": "File", "meta": false, "ignore": true, "path": "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/a-truly-unlucky-file-beyond-130-byte-path-length.txt", "mode": 420, "uid": 501, "gid": 20, "uname": null, "gname": null, "size": 560, "mtime": "2018-06-19T00:03:11.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/a-truly-unlucky-file-beyond-130-byte-path-length.txt", "mode": 420, "uid": 501, "gid": 20, "size": 560, "mtime": "2018-06-19T00:03:11.000Z", "cksum": 13611, "linkpath": "", "uname": null, "gname": null, "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "meta", "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/some-unlucky-file.txt\u0000" ], [ "ignoredEntry", { "extended": { "path": "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/some-unlucky-file.txt" }, "globalExtended": null, "type": "File", "meta": false, "ignore": true, "path": "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/some-unlucky-file.txt", "mode": 420, "uid": 501, "gid": 20, "uname": null, "gname": null, "size": 560, "mtime": "2018-06-18T23:49:44.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/some-unlucky-file.txt", "mode": 420, "uid": 501, "gid": 20, "size": 560, "mtime": "2018-06-18T23:49:44.000Z", "cksum": 13602, "linkpath": "", "uname": null, "gname": null, "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "end" ] ] �������������������test/fixtures/parse/trailing-slash-corner-case--meta-250-strict.json��������������������������������0000644�0000000�0000000�00000007733�13334202347�024357� 0����������������������������������������������������������������������������������������������������ustar �root����������������������������root�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/", "mode": 493, "uid": 501, "gid": 20, "uname": null, "gname": null, "size": 0, "mtime": "2018-06-19T00:03:11.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2018-06-19T00:03:11.000Z", "cksum": 13612, "linkpath": "", "uname": null, "gname": null, "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "meta", "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/a-truly-unlucky-file-beyond-130-byte-path-length.txt\u0000" ], [ "entry", { "extended": { "path": "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/a-truly-unlucky-file-beyond-130-byte-path-length.txt" }, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/a-truly-unlucky-file-beyond-130-byte-path-length.txt", "mode": 420, "uid": 501, "gid": 20, "uname": null, "gname": null, "size": 560, "mtime": "2018-06-19T00:03:11.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/a-truly-unlucky-file-beyond-130-byte-path-length.txt", "mode": 420, "uid": 501, "gid": 20, "size": 560, "mtime": "2018-06-19T00:03:11.000Z", "cksum": 13611, "linkpath": "", "uname": null, "gname": null, "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "meta", "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/some-unlucky-file.txt\u0000" ], [ "entry", { "extended": { "path": "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/some-unlucky-file.txt" }, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/some-unlucky-file.txt", "mode": 420, "uid": 501, "gid": 20, "uname": null, "gname": null, "size": 560, "mtime": "2018-06-18T23:49:44.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/some-unlucky-file.txt", "mode": 420, "uid": 501, "gid": 20, "size": 560, "mtime": "2018-06-18T23:49:44.000Z", "cksum": 13602, "linkpath": "", "uname": null, "gname": null, "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "end" ] ] �������������������������������������test/fixtures/parse/trailing-slash-corner-case--meta-250.json���������������������������������������0000644�0000000�0000000�00000007733�13334202347�023051� 0����������������������������������������������������������������������������������������������������ustar �root����������������������������root�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/", "mode": 493, "uid": 501, "gid": 20, "uname": null, "gname": null, "size": 0, "mtime": "2018-06-19T00:03:11.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2018-06-19T00:03:11.000Z", "cksum": 13612, "linkpath": "", "uname": null, "gname": null, "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "meta", "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/a-truly-unlucky-file-beyond-130-byte-path-length.txt\u0000" ], [ "entry", { "extended": { "path": "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/a-truly-unlucky-file-beyond-130-byte-path-length.txt" }, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/a-truly-unlucky-file-beyond-130-byte-path-length.txt", "mode": 420, "uid": 501, "gid": 20, "uname": null, "gname": null, "size": 560, "mtime": "2018-06-19T00:03:11.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/a-truly-unlucky-file-beyond-130-byte-path-length.txt", "mode": 420, "uid": 501, "gid": 20, "size": 560, "mtime": "2018-06-19T00:03:11.000Z", "cksum": 13611, "linkpath": "", "uname": null, "gname": null, "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "meta", "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/some-unlucky-file.txt\u0000" ], [ "entry", { "extended": { "path": "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/some-unlucky-file.txt" }, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/some-unlucky-file.txt", "mode": 420, "uid": 501, "gid": 20, "uname": null, "gname": null, "size": 560, "mtime": "2018-06-18T23:49:44.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/some-unlucky-file.txt", "mode": 420, "uid": 501, "gid": 20, "size": 560, "mtime": "2018-06-18T23:49:44.000Z", "cksum": 13602, "linkpath": "", "uname": null, "gname": null, "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "end" ] ] �������������������������������������test/fixtures/parse/trailing-slash-corner-case--strict.json�����������������������������������������0000644�0000000�0000000�00000007733�13334202347�023127� 0����������������������������������������������������������������������������������������������������ustar �root����������������������������root�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/", "mode": 493, "uid": 501, "gid": 20, "uname": null, "gname": null, "size": 0, "mtime": "2018-06-19T00:03:11.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2018-06-19T00:03:11.000Z", "cksum": 13612, "linkpath": "", "uname": null, "gname": null, "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "meta", "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/a-truly-unlucky-file-beyond-130-byte-path-length.txt\u0000" ], [ "entry", { "extended": { "path": "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/a-truly-unlucky-file-beyond-130-byte-path-length.txt" }, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/a-truly-unlucky-file-beyond-130-byte-path-length.txt", "mode": 420, "uid": 501, "gid": 20, "uname": null, "gname": null, "size": 560, "mtime": "2018-06-19T00:03:11.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/a-truly-unlucky-file-beyond-130-byte-path-length.txt", "mode": 420, "uid": 501, "gid": 20, "size": 560, "mtime": "2018-06-19T00:03:11.000Z", "cksum": 13611, "linkpath": "", "uname": null, "gname": null, "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "meta", "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/some-unlucky-file.txt\u0000" ], [ "entry", { "extended": { "path": "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/some-unlucky-file.txt" }, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/some-unlucky-file.txt", "mode": 420, "uid": 501, "gid": 20, "uname": null, "gname": null, "size": 560, "mtime": "2018-06-18T23:49:44.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/some-unlucky-file.txt", "mode": 420, "uid": 501, "gid": 20, "size": 560, "mtime": "2018-06-18T23:49:44.000Z", "cksum": 13602, "linkpath": "", "uname": null, "gname": null, "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "end" ] ] �������������������������������������test/fixtures/parse/trailing-slash-corner-case.json�������������������������������������������������0000644�0000000�0000000�00000007733�13334202347�021544� 0����������������������������������������������������������������������������������������������������ustar �root����������������������������root�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/", "mode": 493, "uid": 501, "gid": 20, "uname": null, "gname": null, "size": 0, "mtime": "2018-06-19T00:03:11.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/", "mode": 493, "uid": 501, "gid": 20, "size": 0, "mtime": "2018-06-19T00:03:11.000Z", "cksum": 13612, "linkpath": "", "uname": null, "gname": null, "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "meta", "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/a-truly-unlucky-file-beyond-130-byte-path-length.txt\u0000" ], [ "entry", { "extended": { "path": "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/a-truly-unlucky-file-beyond-130-byte-path-length.txt" }, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/a-truly-unlucky-file-beyond-130-byte-path-length.txt", "mode": 420, "uid": 501, "gid": 20, "uname": null, "gname": null, "size": 560, "mtime": "2018-06-19T00:03:11.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/a-truly-unlucky-file-beyond-130-byte-path-length.txt", "mode": 420, "uid": 501, "gid": 20, "size": 560, "mtime": "2018-06-19T00:03:11.000Z", "cksum": 13611, "linkpath": "", "uname": null, "gname": null, "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "meta", "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/some-unlucky-file.txt\u0000" ], [ "entry", { "extended": { "path": "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/some-unlucky-file.txt" }, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/some-unlucky-file.txt", "mode": 420, "uid": 501, "gid": 20, "uname": null, "gname": null, "size": 560, "mtime": "2018-06-18T23:49:44.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/some-unlucky-file.txt", "mode": 420, "uid": 501, "gid": 20, "size": 560, "mtime": "2018-06-18T23:49:44.000Z", "cksum": 13602, "linkpath": "", "uname": null, "gname": null, "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "end" ] ] �������������������������������������test/fixtures/parse/utf8--filter-strict.json��������������������������������������������������������0000644�0000000�0000000�00000011051�13334202347�020144� 0����������������������������������������������������������������������������������������������������ustar �root����������������������������root�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "meta", "15 path=Ω.txt\n20 ctime=1491843102\n20 atime=1491843758\n23 SCHILY.dev=16777220\n22 SCHILY.ino=9836217\n18 SCHILY.nlink=1\n" ], [ "ignoredEntry", { "extended": { "atime": "2017-04-10T17:02:38.000Z", "charset": null, "comment": null, "ctime": "2017-04-10T16:51:42.000Z", "gid": null, "gname": null, "linkpath": null, "mtime": null, "path": "Ω.txt", "size": null, "uid": null, "uname": null, "dev": 16777220, "ino": 9836217, "nlink": 1, "global": false }, "globalExtended": null, "type": "File", "meta": false, "ignore": true, "path": "Ω.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 2, "mtime": "2017-04-10T16:51:42.000Z", "atime": "2017-04-10T17:02:38.000Z", "ctime": "2017-04-10T16:51:42.000Z", "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "Ω.txt", "mode": 420, "uid": 501, "gid": 20, "size": 2, "mtime": "2017-04-10T16:51:42.000Z", "cksum": 5688, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "meta", "17 path=🌟.txt\n20 ctime=1491843956\n20 atime=1491843993\n23 SCHILY.dev=16777220\n22 SCHILY.ino=9836716\n18 SCHILY.nlink=1\n" ], [ "ignoredEntry", { "extended": { "atime": "2017-04-10T17:06:33.000Z", "charset": null, "comment": null, "ctime": "2017-04-10T17:05:56.000Z", "gid": null, "gname": null, "linkpath": null, "mtime": null, "path": "🌟.txt", "size": null, "uid": null, "uname": null, "dev": 16777220, "ino": 9836716, "nlink": 1, "global": false }, "globalExtended": null, "type": "File", "meta": false, "ignore": true, "path": "🌟.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 106, "mtime": "2017-04-10T17:05:55.000Z", "atime": "2017-04-10T17:06:33.000Z", "ctime": "2017-04-10T17:05:56.000Z", "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "🌟.txt", "mode": 420, "uid": 501, "gid": 20, "size": 106, "mtime": "2017-04-10T17:05:55.000Z", "cksum": 6023, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "meta", "71 path=long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/Ω.txt\n20 ctime=1491843527\n20 atime=1491843758\n23 SCHILY.dev=16777220\n22 SCHILY.ino=9836396\n18 SCHILY.nlink=1\n" ], [ "ignoredEntry", { "extended": { "atime": "2017-04-10T17:02:38.000Z", "charset": null, "comment": null, "ctime": "2017-04-10T16:58:47.000Z", "gid": null, "gname": null, "linkpath": null, "mtime": null, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/Ω.txt", "size": null, "uid": null, "uname": null, "dev": 16777220, "ino": 9836396, "nlink": 1, "global": false }, "globalExtended": null, "type": "File", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/Ω.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 2, "mtime": "2017-04-10T16:58:47.000Z", "atime": "2017-04-10T17:02:38.000Z", "ctime": "2017-04-10T16:58:47.000Z", "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/Ω.txt", "mode": 420, "uid": 501, "gid": 20, "size": 2, "mtime": "2017-04-10T16:58:47.000Z", "cksum": 9990, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "nullBlock" ], [ "end" ] ] ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������test/fixtures/parse/utf8--filter.json���������������������������������������������������������������0000644�0000000�0000000�00000011051�13334202347�016636� 0����������������������������������������������������������������������������������������������������ustar �root����������������������������root�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "meta", "15 path=Ω.txt\n20 ctime=1491843102\n20 atime=1491843758\n23 SCHILY.dev=16777220\n22 SCHILY.ino=9836217\n18 SCHILY.nlink=1\n" ], [ "ignoredEntry", { "extended": { "atime": "2017-04-10T17:02:38.000Z", "charset": null, "comment": null, "ctime": "2017-04-10T16:51:42.000Z", "gid": null, "gname": null, "linkpath": null, "mtime": null, "path": "Ω.txt", "size": null, "uid": null, "uname": null, "dev": 16777220, "ino": 9836217, "nlink": 1, "global": false }, "globalExtended": null, "type": "File", "meta": false, "ignore": true, "path": "Ω.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 2, "mtime": "2017-04-10T16:51:42.000Z", "atime": "2017-04-10T17:02:38.000Z", "ctime": "2017-04-10T16:51:42.000Z", "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "Ω.txt", "mode": 420, "uid": 501, "gid": 20, "size": 2, "mtime": "2017-04-10T16:51:42.000Z", "cksum": 5688, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "meta", "17 path=🌟.txt\n20 ctime=1491843956\n20 atime=1491843993\n23 SCHILY.dev=16777220\n22 SCHILY.ino=9836716\n18 SCHILY.nlink=1\n" ], [ "ignoredEntry", { "extended": { "atime": "2017-04-10T17:06:33.000Z", "charset": null, "comment": null, "ctime": "2017-04-10T17:05:56.000Z", "gid": null, "gname": null, "linkpath": null, "mtime": null, "path": "🌟.txt", "size": null, "uid": null, "uname": null, "dev": 16777220, "ino": 9836716, "nlink": 1, "global": false }, "globalExtended": null, "type": "File", "meta": false, "ignore": true, "path": "🌟.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 106, "mtime": "2017-04-10T17:05:55.000Z", "atime": "2017-04-10T17:06:33.000Z", "ctime": "2017-04-10T17:05:56.000Z", "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "🌟.txt", "mode": 420, "uid": 501, "gid": 20, "size": 106, "mtime": "2017-04-10T17:05:55.000Z", "cksum": 6023, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "meta", "71 path=long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/Ω.txt\n20 ctime=1491843527\n20 atime=1491843758\n23 SCHILY.dev=16777220\n22 SCHILY.ino=9836396\n18 SCHILY.nlink=1\n" ], [ "ignoredEntry", { "extended": { "atime": "2017-04-10T17:02:38.000Z", "charset": null, "comment": null, "ctime": "2017-04-10T16:58:47.000Z", "gid": null, "gname": null, "linkpath": null, "mtime": null, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/Ω.txt", "size": null, "uid": null, "uname": null, "dev": 16777220, "ino": 9836396, "nlink": 1, "global": false }, "globalExtended": null, "type": "File", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/Ω.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 2, "mtime": "2017-04-10T16:58:47.000Z", "atime": "2017-04-10T17:02:38.000Z", "ctime": "2017-04-10T16:58:47.000Z", "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/Ω.txt", "mode": 420, "uid": 501, "gid": 20, "size": 2, "mtime": "2017-04-10T16:58:47.000Z", "cksum": 9990, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "nullBlock" ], [ "end" ] ] ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������test/fixtures/parse/utf8--meta-250-filter-strict.json�����������������������������������������������0000644�0000000�0000000�00000011051�13334202347�021374� 0����������������������������������������������������������������������������������������������������ustar �root����������������������������root�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "meta", "15 path=Ω.txt\n20 ctime=1491843102\n20 atime=1491843758\n23 SCHILY.dev=16777220\n22 SCHILY.ino=9836217\n18 SCHILY.nlink=1\n" ], [ "ignoredEntry", { "extended": { "atime": "2017-04-10T17:02:38.000Z", "charset": null, "comment": null, "ctime": "2017-04-10T16:51:42.000Z", "gid": null, "gname": null, "linkpath": null, "mtime": null, "path": "Ω.txt", "size": null, "uid": null, "uname": null, "dev": 16777220, "ino": 9836217, "nlink": 1, "global": false }, "globalExtended": null, "type": "File", "meta": false, "ignore": true, "path": "Ω.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 2, "mtime": "2017-04-10T16:51:42.000Z", "atime": "2017-04-10T17:02:38.000Z", "ctime": "2017-04-10T16:51:42.000Z", "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "Ω.txt", "mode": 420, "uid": 501, "gid": 20, "size": 2, "mtime": "2017-04-10T16:51:42.000Z", "cksum": 5688, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "meta", "17 path=🌟.txt\n20 ctime=1491843956\n20 atime=1491843993\n23 SCHILY.dev=16777220\n22 SCHILY.ino=9836716\n18 SCHILY.nlink=1\n" ], [ "ignoredEntry", { "extended": { "atime": "2017-04-10T17:06:33.000Z", "charset": null, "comment": null, "ctime": "2017-04-10T17:05:56.000Z", "gid": null, "gname": null, "linkpath": null, "mtime": null, "path": "🌟.txt", "size": null, "uid": null, "uname": null, "dev": 16777220, "ino": 9836716, "nlink": 1, "global": false }, "globalExtended": null, "type": "File", "meta": false, "ignore": true, "path": "🌟.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 106, "mtime": "2017-04-10T17:05:55.000Z", "atime": "2017-04-10T17:06:33.000Z", "ctime": "2017-04-10T17:05:56.000Z", "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "🌟.txt", "mode": 420, "uid": 501, "gid": 20, "size": 106, "mtime": "2017-04-10T17:05:55.000Z", "cksum": 6023, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "meta", "71 path=long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/Ω.txt\n20 ctime=1491843527\n20 atime=1491843758\n23 SCHILY.dev=16777220\n22 SCHILY.ino=9836396\n18 SCHILY.nlink=1\n" ], [ "ignoredEntry", { "extended": { "atime": "2017-04-10T17:02:38.000Z", "charset": null, "comment": null, "ctime": "2017-04-10T16:58:47.000Z", "gid": null, "gname": null, "linkpath": null, "mtime": null, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/Ω.txt", "size": null, "uid": null, "uname": null, "dev": 16777220, "ino": 9836396, "nlink": 1, "global": false }, "globalExtended": null, "type": "File", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/Ω.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 2, "mtime": "2017-04-10T16:58:47.000Z", "atime": "2017-04-10T17:02:38.000Z", "ctime": "2017-04-10T16:58:47.000Z", "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/Ω.txt", "mode": 420, "uid": 501, "gid": 20, "size": 2, "mtime": "2017-04-10T16:58:47.000Z", "cksum": 9990, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "nullBlock" ], [ "end" ] ] ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������test/fixtures/parse/utf8--meta-250-filter.json������������������������������������������������������0000644�0000000�0000000�00000011051�13334202347�020066� 0����������������������������������������������������������������������������������������������������ustar �root����������������������������root�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "meta", "15 path=Ω.txt\n20 ctime=1491843102\n20 atime=1491843758\n23 SCHILY.dev=16777220\n22 SCHILY.ino=9836217\n18 SCHILY.nlink=1\n" ], [ "ignoredEntry", { "extended": { "atime": "2017-04-10T17:02:38.000Z", "charset": null, "comment": null, "ctime": "2017-04-10T16:51:42.000Z", "gid": null, "gname": null, "linkpath": null, "mtime": null, "path": "Ω.txt", "size": null, "uid": null, "uname": null, "dev": 16777220, "ino": 9836217, "nlink": 1, "global": false }, "globalExtended": null, "type": "File", "meta": false, "ignore": true, "path": "Ω.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 2, "mtime": "2017-04-10T16:51:42.000Z", "atime": "2017-04-10T17:02:38.000Z", "ctime": "2017-04-10T16:51:42.000Z", "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "Ω.txt", "mode": 420, "uid": 501, "gid": 20, "size": 2, "mtime": "2017-04-10T16:51:42.000Z", "cksum": 5688, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "meta", "17 path=🌟.txt\n20 ctime=1491843956\n20 atime=1491843993\n23 SCHILY.dev=16777220\n22 SCHILY.ino=9836716\n18 SCHILY.nlink=1\n" ], [ "ignoredEntry", { "extended": { "atime": "2017-04-10T17:06:33.000Z", "charset": null, "comment": null, "ctime": "2017-04-10T17:05:56.000Z", "gid": null, "gname": null, "linkpath": null, "mtime": null, "path": "🌟.txt", "size": null, "uid": null, "uname": null, "dev": 16777220, "ino": 9836716, "nlink": 1, "global": false }, "globalExtended": null, "type": "File", "meta": false, "ignore": true, "path": "🌟.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 106, "mtime": "2017-04-10T17:05:55.000Z", "atime": "2017-04-10T17:06:33.000Z", "ctime": "2017-04-10T17:05:56.000Z", "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "🌟.txt", "mode": 420, "uid": 501, "gid": 20, "size": 106, "mtime": "2017-04-10T17:05:55.000Z", "cksum": 6023, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "meta", "71 path=long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/Ω.txt\n20 ctime=1491843527\n20 atime=1491843758\n23 SCHILY.dev=16777220\n22 SCHILY.ino=9836396\n18 SCHILY.nlink=1\n" ], [ "ignoredEntry", { "extended": { "atime": "2017-04-10T17:02:38.000Z", "charset": null, "comment": null, "ctime": "2017-04-10T16:58:47.000Z", "gid": null, "gname": null, "linkpath": null, "mtime": null, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/Ω.txt", "size": null, "uid": null, "uname": null, "dev": 16777220, "ino": 9836396, "nlink": 1, "global": false }, "globalExtended": null, "type": "File", "meta": false, "ignore": true, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/Ω.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 2, "mtime": "2017-04-10T16:58:47.000Z", "atime": "2017-04-10T17:02:38.000Z", "ctime": "2017-04-10T16:58:47.000Z", "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/Ω.txt", "mode": 420, "uid": 501, "gid": 20, "size": 2, "mtime": "2017-04-10T16:58:47.000Z", "cksum": 9990, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "nullBlock" ], [ "end" ] ] ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������test/fixtures/parse/utf8--meta-250-strict.json������������������������������������������������������0000644�0000000�0000000�00000011027�13334202347�020114� 0����������������������������������������������������������������������������������������������������ustar �root����������������������������root�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "meta", "15 path=Ω.txt\n20 ctime=1491843102\n20 atime=1491843758\n23 SCHILY.dev=16777220\n22 SCHILY.ino=9836217\n18 SCHILY.nlink=1\n" ], [ "entry", { "extended": { "atime": "2017-04-10T17:02:38.000Z", "charset": null, "comment": null, "ctime": "2017-04-10T16:51:42.000Z", "gid": null, "gname": null, "linkpath": null, "mtime": null, "path": "Ω.txt", "size": null, "uid": null, "uname": null, "dev": 16777220, "ino": 9836217, "nlink": 1, "global": false }, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "Ω.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 2, "mtime": "2017-04-10T16:51:42.000Z", "atime": "2017-04-10T17:02:38.000Z", "ctime": "2017-04-10T16:51:42.000Z", "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "Ω.txt", "mode": 420, "uid": 501, "gid": 20, "size": 2, "mtime": "2017-04-10T16:51:42.000Z", "cksum": 5688, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "meta", "17 path=🌟.txt\n20 ctime=1491843956\n20 atime=1491843993\n23 SCHILY.dev=16777220\n22 SCHILY.ino=9836716\n18 SCHILY.nlink=1\n" ], [ "entry", { "extended": { "atime": "2017-04-10T17:06:33.000Z", "charset": null, "comment": null, "ctime": "2017-04-10T17:05:56.000Z", "gid": null, "gname": null, "linkpath": null, "mtime": null, "path": "🌟.txt", "size": null, "uid": null, "uname": null, "dev": 16777220, "ino": 9836716, "nlink": 1, "global": false }, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "🌟.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 106, "mtime": "2017-04-10T17:05:55.000Z", "atime": "2017-04-10T17:06:33.000Z", "ctime": "2017-04-10T17:05:56.000Z", "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "🌟.txt", "mode": 420, "uid": 501, "gid": 20, "size": 106, "mtime": "2017-04-10T17:05:55.000Z", "cksum": 6023, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "meta", "71 path=long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/Ω.txt\n20 ctime=1491843527\n20 atime=1491843758\n23 SCHILY.dev=16777220\n22 SCHILY.ino=9836396\n18 SCHILY.nlink=1\n" ], [ "entry", { "extended": { "atime": "2017-04-10T17:02:38.000Z", "charset": null, "comment": null, "ctime": "2017-04-10T16:58:47.000Z", "gid": null, "gname": null, "linkpath": null, "mtime": null, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/Ω.txt", "size": null, "uid": null, "uname": null, "dev": 16777220, "ino": 9836396, "nlink": 1, "global": false }, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/Ω.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 2, "mtime": "2017-04-10T16:58:47.000Z", "atime": "2017-04-10T17:02:38.000Z", "ctime": "2017-04-10T16:58:47.000Z", "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/Ω.txt", "mode": 420, "uid": 501, "gid": 20, "size": 2, "mtime": "2017-04-10T16:58:47.000Z", "cksum": 9990, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "nullBlock" ], [ "end" ] ] ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������test/fixtures/parse/utf8--meta-250.json�������������������������������������������������������������0000644�0000000�0000000�00000011027�13334202347�016606� 0����������������������������������������������������������������������������������������������������ustar �root����������������������������root�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "meta", "15 path=Ω.txt\n20 ctime=1491843102\n20 atime=1491843758\n23 SCHILY.dev=16777220\n22 SCHILY.ino=9836217\n18 SCHILY.nlink=1\n" ], [ "entry", { "extended": { "atime": "2017-04-10T17:02:38.000Z", "charset": null, "comment": null, "ctime": "2017-04-10T16:51:42.000Z", "gid": null, "gname": null, "linkpath": null, "mtime": null, "path": "Ω.txt", "size": null, "uid": null, "uname": null, "dev": 16777220, "ino": 9836217, "nlink": 1, "global": false }, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "Ω.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 2, "mtime": "2017-04-10T16:51:42.000Z", "atime": "2017-04-10T17:02:38.000Z", "ctime": "2017-04-10T16:51:42.000Z", "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "Ω.txt", "mode": 420, "uid": 501, "gid": 20, "size": 2, "mtime": "2017-04-10T16:51:42.000Z", "cksum": 5688, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "meta", "17 path=🌟.txt\n20 ctime=1491843956\n20 atime=1491843993\n23 SCHILY.dev=16777220\n22 SCHILY.ino=9836716\n18 SCHILY.nlink=1\n" ], [ "entry", { "extended": { "atime": "2017-04-10T17:06:33.000Z", "charset": null, "comment": null, "ctime": "2017-04-10T17:05:56.000Z", "gid": null, "gname": null, "linkpath": null, "mtime": null, "path": "🌟.txt", "size": null, "uid": null, "uname": null, "dev": 16777220, "ino": 9836716, "nlink": 1, "global": false }, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "🌟.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 106, "mtime": "2017-04-10T17:05:55.000Z", "atime": "2017-04-10T17:06:33.000Z", "ctime": "2017-04-10T17:05:56.000Z", "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "🌟.txt", "mode": 420, "uid": 501, "gid": 20, "size": 106, "mtime": "2017-04-10T17:05:55.000Z", "cksum": 6023, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "meta", "71 path=long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/Ω.txt\n20 ctime=1491843527\n20 atime=1491843758\n23 SCHILY.dev=16777220\n22 SCHILY.ino=9836396\n18 SCHILY.nlink=1\n" ], [ "entry", { "extended": { "atime": "2017-04-10T17:02:38.000Z", "charset": null, "comment": null, "ctime": "2017-04-10T16:58:47.000Z", "gid": null, "gname": null, "linkpath": null, "mtime": null, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/Ω.txt", "size": null, "uid": null, "uname": null, "dev": 16777220, "ino": 9836396, "nlink": 1, "global": false }, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/Ω.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 2, "mtime": "2017-04-10T16:58:47.000Z", "atime": "2017-04-10T17:02:38.000Z", "ctime": "2017-04-10T16:58:47.000Z", "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/Ω.txt", "mode": 420, "uid": 501, "gid": 20, "size": 2, "mtime": "2017-04-10T16:58:47.000Z", "cksum": 9990, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "nullBlock" ], [ "end" ] ] ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������test/fixtures/parse/utf8--strict.json���������������������������������������������������������������0000644�0000000�0000000�00000011027�13334202347�016664� 0����������������������������������������������������������������������������������������������������ustar �root����������������������������root�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "meta", "15 path=Ω.txt\n20 ctime=1491843102\n20 atime=1491843758\n23 SCHILY.dev=16777220\n22 SCHILY.ino=9836217\n18 SCHILY.nlink=1\n" ], [ "entry", { "extended": { "atime": "2017-04-10T17:02:38.000Z", "charset": null, "comment": null, "ctime": "2017-04-10T16:51:42.000Z", "gid": null, "gname": null, "linkpath": null, "mtime": null, "path": "Ω.txt", "size": null, "uid": null, "uname": null, "dev": 16777220, "ino": 9836217, "nlink": 1, "global": false }, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "Ω.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 2, "mtime": "2017-04-10T16:51:42.000Z", "atime": "2017-04-10T17:02:38.000Z", "ctime": "2017-04-10T16:51:42.000Z", "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "Ω.txt", "mode": 420, "uid": 501, "gid": 20, "size": 2, "mtime": "2017-04-10T16:51:42.000Z", "cksum": 5688, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "meta", "17 path=🌟.txt\n20 ctime=1491843956\n20 atime=1491843993\n23 SCHILY.dev=16777220\n22 SCHILY.ino=9836716\n18 SCHILY.nlink=1\n" ], [ "entry", { "extended": { "atime": "2017-04-10T17:06:33.000Z", "charset": null, "comment": null, "ctime": "2017-04-10T17:05:56.000Z", "gid": null, "gname": null, "linkpath": null, "mtime": null, "path": "🌟.txt", "size": null, "uid": null, "uname": null, "dev": 16777220, "ino": 9836716, "nlink": 1, "global": false }, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "🌟.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 106, "mtime": "2017-04-10T17:05:55.000Z", "atime": "2017-04-10T17:06:33.000Z", "ctime": "2017-04-10T17:05:56.000Z", "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "🌟.txt", "mode": 420, "uid": 501, "gid": 20, "size": 106, "mtime": "2017-04-10T17:05:55.000Z", "cksum": 6023, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "meta", "71 path=long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/Ω.txt\n20 ctime=1491843527\n20 atime=1491843758\n23 SCHILY.dev=16777220\n22 SCHILY.ino=9836396\n18 SCHILY.nlink=1\n" ], [ "entry", { "extended": { "atime": "2017-04-10T17:02:38.000Z", "charset": null, "comment": null, "ctime": "2017-04-10T16:58:47.000Z", "gid": null, "gname": null, "linkpath": null, "mtime": null, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/Ω.txt", "size": null, "uid": null, "uname": null, "dev": 16777220, "ino": 9836396, "nlink": 1, "global": false }, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/Ω.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 2, "mtime": "2017-04-10T16:58:47.000Z", "atime": "2017-04-10T17:02:38.000Z", "ctime": "2017-04-10T16:58:47.000Z", "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/Ω.txt", "mode": 420, "uid": 501, "gid": 20, "size": 2, "mtime": "2017-04-10T16:58:47.000Z", "cksum": 9990, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "nullBlock" ], [ "end" ] ] ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������test/fixtures/parse/utf8.json�����������������������������������������������������������������������0000644�0000000�0000000�00000011027�13334202347�015301� 0����������������������������������������������������������������������������������������������������ustar �root����������������������������root�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "meta", "15 path=Ω.txt\n20 ctime=1491843102\n20 atime=1491843758\n23 SCHILY.dev=16777220\n22 SCHILY.ino=9836217\n18 SCHILY.nlink=1\n" ], [ "entry", { "extended": { "atime": "2017-04-10T17:02:38.000Z", "charset": null, "comment": null, "ctime": "2017-04-10T16:51:42.000Z", "gid": null, "gname": null, "linkpath": null, "mtime": null, "path": "Ω.txt", "size": null, "uid": null, "uname": null, "dev": 16777220, "ino": 9836217, "nlink": 1, "global": false }, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "Ω.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 2, "mtime": "2017-04-10T16:51:42.000Z", "atime": "2017-04-10T17:02:38.000Z", "ctime": "2017-04-10T16:51:42.000Z", "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "Ω.txt", "mode": 420, "uid": 501, "gid": 20, "size": 2, "mtime": "2017-04-10T16:51:42.000Z", "cksum": 5688, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "meta", "17 path=🌟.txt\n20 ctime=1491843956\n20 atime=1491843993\n23 SCHILY.dev=16777220\n22 SCHILY.ino=9836716\n18 SCHILY.nlink=1\n" ], [ "entry", { "extended": { "atime": "2017-04-10T17:06:33.000Z", "charset": null, "comment": null, "ctime": "2017-04-10T17:05:56.000Z", "gid": null, "gname": null, "linkpath": null, "mtime": null, "path": "🌟.txt", "size": null, "uid": null, "uname": null, "dev": 16777220, "ino": 9836716, "nlink": 1, "global": false }, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "🌟.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 106, "mtime": "2017-04-10T17:05:55.000Z", "atime": "2017-04-10T17:06:33.000Z", "ctime": "2017-04-10T17:05:56.000Z", "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "🌟.txt", "mode": 420, "uid": 501, "gid": 20, "size": 106, "mtime": "2017-04-10T17:05:55.000Z", "cksum": 6023, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "meta", "71 path=long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/Ω.txt\n20 ctime=1491843527\n20 atime=1491843758\n23 SCHILY.dev=16777220\n22 SCHILY.ino=9836396\n18 SCHILY.nlink=1\n" ], [ "entry", { "extended": { "atime": "2017-04-10T17:02:38.000Z", "charset": null, "comment": null, "ctime": "2017-04-10T16:58:47.000Z", "gid": null, "gname": null, "linkpath": null, "mtime": null, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/Ω.txt", "size": null, "uid": null, "uname": null, "dev": 16777220, "ino": 9836396, "nlink": 1, "global": false }, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/Ω.txt", "mode": 420, "uid": 501, "gid": 20, "uname": "isaacs", "gname": "staff", "size": 2, "mtime": "2017-04-10T16:58:47.000Z", "atime": "2017-04-10T17:02:38.000Z", "ctime": "2017-04-10T16:58:47.000Z", "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/Ω.txt", "mode": 420, "uid": 501, "gid": 20, "size": 2, "mtime": "2017-04-10T16:58:47.000Z", "cksum": 9990, "linkpath": "", "uname": "isaacs", "gname": "staff", "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "nullBlock" ], [ "end" ] ] ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������test/fixtures/parse/links-strip--meta-250-filter-strict.json����������������������������������������0000644�0000000�0000000�00000007340�13334202347�022773� 0����������������������������������������������������������������������������������������������������ustar �root����������������������������root�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "strip-dir/", "mode": 493, "uid": 0, "gid": 0, "uname": null, "gname": null, "size": 0, "mtime": "2018-08-13T04:10:48.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "strip-dir/", "mode": 493, "uid": 0, "gid": 0, "size": 0, "mtime": "2018-08-13T04:10:48.000Z", "cksum": 4912, "linkpath": "", "uname": null, "gname": null, "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": true, "path": "strip-dir/hardlink-1", "mode": 420, "uid": 501, "gid": 50, "uname": null, "gname": null, "size": 26, "mtime": "2017-04-10T19:27:05.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "strip-dir/hardlink-1", "mode": 420, "uid": 501, "gid": 50, "size": 26, "mtime": "2017-04-10T19:27:05.000Z", "cksum": 5515, "linkpath": "", "uname": null, "gname": null, "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Link", "meta": false, "ignore": true, "path": "strip-dir/hardlink-2", "mode": 420, "uid": 501, "gid": 50, "uname": null, "gname": null, "size": 0, "mtime": "2017-04-10T19:27:05.000Z", "atime": null, "ctime": null, "linkpath": "strip-dir/hardlink-1", "header": { "cksumValid": true, "needPax": false, "path": "strip-dir/hardlink-2", "mode": 420, "uid": 501, "gid": 50, "size": 0, "mtime": "2017-04-10T19:27:05.000Z", "cksum": 7424, "linkpath": "strip-dir/hardlink-1", "uname": null, "gname": null, "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "SymbolicLink", "meta": false, "ignore": true, "path": "strip-dir/symlink", "mode": 511, "uid": 501, "gid": 50, "uname": null, "gname": null, "size": 0, "mtime": "2017-04-10T19:27:33.000Z", "atime": null, "ctime": null, "linkpath": "hardlink-2", "header": { "cksumValid": true, "needPax": false, "path": "strip-dir/symlink", "mode": 511, "uid": 501, "gid": 50, "size": 0, "mtime": "2017-04-10T19:27:33.000Z", "cksum": 6302, "linkpath": "hardlink-2", "uname": null, "gname": null, "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "end" ] ] ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������test/fixtures/parse/links-strip--meta-250-filter.json�����������������������������������������������0000644�0000000�0000000�00000007340�13334202347�021465� 0����������������������������������������������������������������������������������������������������ustar �root����������������������������root�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "strip-dir/", "mode": 493, "uid": 0, "gid": 0, "uname": null, "gname": null, "size": 0, "mtime": "2018-08-13T04:10:48.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "strip-dir/", "mode": 493, "uid": 0, "gid": 0, "size": 0, "mtime": "2018-08-13T04:10:48.000Z", "cksum": 4912, "linkpath": "", "uname": null, "gname": null, "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": true, "path": "strip-dir/hardlink-1", "mode": 420, "uid": 501, "gid": 50, "uname": null, "gname": null, "size": 26, "mtime": "2017-04-10T19:27:05.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "strip-dir/hardlink-1", "mode": 420, "uid": 501, "gid": 50, "size": 26, "mtime": "2017-04-10T19:27:05.000Z", "cksum": 5515, "linkpath": "", "uname": null, "gname": null, "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Link", "meta": false, "ignore": true, "path": "strip-dir/hardlink-2", "mode": 420, "uid": 501, "gid": 50, "uname": null, "gname": null, "size": 0, "mtime": "2017-04-10T19:27:05.000Z", "atime": null, "ctime": null, "linkpath": "strip-dir/hardlink-1", "header": { "cksumValid": true, "needPax": false, "path": "strip-dir/hardlink-2", "mode": 420, "uid": 501, "gid": 50, "size": 0, "mtime": "2017-04-10T19:27:05.000Z", "cksum": 7424, "linkpath": "strip-dir/hardlink-1", "uname": null, "gname": null, "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "SymbolicLink", "meta": false, "ignore": true, "path": "strip-dir/symlink", "mode": 511, "uid": 501, "gid": 50, "uname": null, "gname": null, "size": 0, "mtime": "2017-04-10T19:27:33.000Z", "atime": null, "ctime": null, "linkpath": "hardlink-2", "header": { "cksumValid": true, "needPax": false, "path": "strip-dir/symlink", "mode": 511, "uid": 501, "gid": 50, "size": 0, "mtime": "2017-04-10T19:27:33.000Z", "cksum": 6302, "linkpath": "hardlink-2", "uname": null, "gname": null, "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "end" ] ] ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������test/fixtures/parse/links-strip--meta-250-strict.json�����������������������������������������������0000644�0000000�0000000�00000007310�13334202347�021505� 0����������������������������������������������������������������������������������������������������ustar �root����������������������������root�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "strip-dir/", "mode": 493, "uid": 0, "gid": 0, "uname": null, "gname": null, "size": 0, "mtime": "2018-08-13T04:10:48.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "strip-dir/", "mode": 493, "uid": 0, "gid": 0, "size": 0, "mtime": "2018-08-13T04:10:48.000Z", "cksum": 4912, "linkpath": "", "uname": null, "gname": null, "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "strip-dir/hardlink-1", "mode": 420, "uid": 501, "gid": 50, "uname": null, "gname": null, "size": 26, "mtime": "2017-04-10T19:27:05.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "strip-dir/hardlink-1", "mode": 420, "uid": 501, "gid": 50, "size": 26, "mtime": "2017-04-10T19:27:05.000Z", "cksum": 5515, "linkpath": "", "uname": null, "gname": null, "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Link", "meta": false, "ignore": false, "path": "strip-dir/hardlink-2", "mode": 420, "uid": 501, "gid": 50, "uname": null, "gname": null, "size": 0, "mtime": "2017-04-10T19:27:05.000Z", "atime": null, "ctime": null, "linkpath": "strip-dir/hardlink-1", "header": { "cksumValid": true, "needPax": false, "path": "strip-dir/hardlink-2", "mode": 420, "uid": 501, "gid": 50, "size": 0, "mtime": "2017-04-10T19:27:05.000Z", "cksum": 7424, "linkpath": "strip-dir/hardlink-1", "uname": null, "gname": null, "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "SymbolicLink", "meta": false, "ignore": false, "path": "strip-dir/symlink", "mode": 511, "uid": 501, "gid": 50, "uname": null, "gname": null, "size": 0, "mtime": "2017-04-10T19:27:33.000Z", "atime": null, "ctime": null, "linkpath": "hardlink-2", "header": { "cksumValid": true, "needPax": false, "path": "strip-dir/symlink", "mode": 511, "uid": 501, "gid": 50, "size": 0, "mtime": "2017-04-10T19:27:33.000Z", "cksum": 6302, "linkpath": "hardlink-2", "uname": null, "gname": null, "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "end" ] ] ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������test/fixtures/parse/links-strip--meta-250.json������������������������������������������������������0000644�0000000�0000000�00000007310�13334202347�020177� 0����������������������������������������������������������������������������������������������������ustar �root����������������������������root�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "strip-dir/", "mode": 493, "uid": 0, "gid": 0, "uname": null, "gname": null, "size": 0, "mtime": "2018-08-13T04:10:48.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "strip-dir/", "mode": 493, "uid": 0, "gid": 0, "size": 0, "mtime": "2018-08-13T04:10:48.000Z", "cksum": 4912, "linkpath": "", "uname": null, "gname": null, "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "strip-dir/hardlink-1", "mode": 420, "uid": 501, "gid": 50, "uname": null, "gname": null, "size": 26, "mtime": "2017-04-10T19:27:05.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "strip-dir/hardlink-1", "mode": 420, "uid": 501, "gid": 50, "size": 26, "mtime": "2017-04-10T19:27:05.000Z", "cksum": 5515, "linkpath": "", "uname": null, "gname": null, "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Link", "meta": false, "ignore": false, "path": "strip-dir/hardlink-2", "mode": 420, "uid": 501, "gid": 50, "uname": null, "gname": null, "size": 0, "mtime": "2017-04-10T19:27:05.000Z", "atime": null, "ctime": null, "linkpath": "strip-dir/hardlink-1", "header": { "cksumValid": true, "needPax": false, "path": "strip-dir/hardlink-2", "mode": 420, "uid": 501, "gid": 50, "size": 0, "mtime": "2017-04-10T19:27:05.000Z", "cksum": 7424, "linkpath": "strip-dir/hardlink-1", "uname": null, "gname": null, "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "SymbolicLink", "meta": false, "ignore": false, "path": "strip-dir/symlink", "mode": 511, "uid": 501, "gid": 50, "uname": null, "gname": null, "size": 0, "mtime": "2017-04-10T19:27:33.000Z", "atime": null, "ctime": null, "linkpath": "hardlink-2", "header": { "cksumValid": true, "needPax": false, "path": "strip-dir/symlink", "mode": 511, "uid": 501, "gid": 50, "size": 0, "mtime": "2017-04-10T19:27:33.000Z", "cksum": 6302, "linkpath": "hardlink-2", "uname": null, "gname": null, "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "end" ] ] ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������test/fixtures/parse/links-strip--filter-strict.json�������������������������������������������������0000644�0000000�0000000�00000007340�13334202347�021543� 0����������������������������������������������������������������������������������������������������ustar �root����������������������������root�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "strip-dir/", "mode": 493, "uid": 0, "gid": 0, "uname": null, "gname": null, "size": 0, "mtime": "2018-08-13T04:10:48.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "strip-dir/", "mode": 493, "uid": 0, "gid": 0, "size": 0, "mtime": "2018-08-13T04:10:48.000Z", "cksum": 4912, "linkpath": "", "uname": null, "gname": null, "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": true, "path": "strip-dir/hardlink-1", "mode": 420, "uid": 501, "gid": 50, "uname": null, "gname": null, "size": 26, "mtime": "2017-04-10T19:27:05.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "strip-dir/hardlink-1", "mode": 420, "uid": 501, "gid": 50, "size": 26, "mtime": "2017-04-10T19:27:05.000Z", "cksum": 5515, "linkpath": "", "uname": null, "gname": null, "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Link", "meta": false, "ignore": true, "path": "strip-dir/hardlink-2", "mode": 420, "uid": 501, "gid": 50, "uname": null, "gname": null, "size": 0, "mtime": "2017-04-10T19:27:05.000Z", "atime": null, "ctime": null, "linkpath": "strip-dir/hardlink-1", "header": { "cksumValid": true, "needPax": false, "path": "strip-dir/hardlink-2", "mode": 420, "uid": 501, "gid": 50, "size": 0, "mtime": "2017-04-10T19:27:05.000Z", "cksum": 7424, "linkpath": "strip-dir/hardlink-1", "uname": null, "gname": null, "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "SymbolicLink", "meta": false, "ignore": true, "path": "strip-dir/symlink", "mode": 511, "uid": 501, "gid": 50, "uname": null, "gname": null, "size": 0, "mtime": "2017-04-10T19:27:33.000Z", "atime": null, "ctime": null, "linkpath": "hardlink-2", "header": { "cksumValid": true, "needPax": false, "path": "strip-dir/symlink", "mode": 511, "uid": 501, "gid": 50, "size": 0, "mtime": "2017-04-10T19:27:33.000Z", "cksum": 6302, "linkpath": "hardlink-2", "uname": null, "gname": null, "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "end" ] ] ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������test/fixtures/parse/links-strip--filter.json��������������������������������������������������������0000644�0000000�0000000�00000007340�13334202347�020235� 0����������������������������������������������������������������������������������������������������ustar �root����������������������������root�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": true, "path": "strip-dir/", "mode": 493, "uid": 0, "gid": 0, "uname": null, "gname": null, "size": 0, "mtime": "2018-08-13T04:10:48.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "strip-dir/", "mode": 493, "uid": 0, "gid": 0, "size": 0, "mtime": "2018-08-13T04:10:48.000Z", "cksum": 4912, "linkpath": "", "uname": null, "gname": null, "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": true, "path": "strip-dir/hardlink-1", "mode": 420, "uid": 501, "gid": 50, "uname": null, "gname": null, "size": 26, "mtime": "2017-04-10T19:27:05.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "strip-dir/hardlink-1", "mode": 420, "uid": 501, "gid": 50, "size": 26, "mtime": "2017-04-10T19:27:05.000Z", "cksum": 5515, "linkpath": "", "uname": null, "gname": null, "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "Link", "meta": false, "ignore": true, "path": "strip-dir/hardlink-2", "mode": 420, "uid": 501, "gid": 50, "uname": null, "gname": null, "size": 0, "mtime": "2017-04-10T19:27:05.000Z", "atime": null, "ctime": null, "linkpath": "strip-dir/hardlink-1", "header": { "cksumValid": true, "needPax": false, "path": "strip-dir/hardlink-2", "mode": 420, "uid": 501, "gid": 50, "size": 0, "mtime": "2017-04-10T19:27:05.000Z", "cksum": 7424, "linkpath": "strip-dir/hardlink-1", "uname": null, "gname": null, "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "ignoredEntry", { "extended": null, "globalExtended": null, "type": "SymbolicLink", "meta": false, "ignore": true, "path": "strip-dir/symlink", "mode": 511, "uid": 501, "gid": 50, "uname": null, "gname": null, "size": 0, "mtime": "2017-04-10T19:27:33.000Z", "atime": null, "ctime": null, "linkpath": "hardlink-2", "header": { "cksumValid": true, "needPax": false, "path": "strip-dir/symlink", "mode": 511, "uid": 501, "gid": 50, "size": 0, "mtime": "2017-04-10T19:27:33.000Z", "cksum": 6302, "linkpath": "hardlink-2", "uname": null, "gname": null, "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "end" ] ] ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������test/fixtures/parse/links-strip--strict.json��������������������������������������������������������0000644�0000000�0000000�00000007310�13334202347�020255� 0����������������������������������������������������������������������������������������������������ustar �root����������������������������root�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "strip-dir/", "mode": 493, "uid": 0, "gid": 0, "uname": null, "gname": null, "size": 0, "mtime": "2018-08-13T04:10:48.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "strip-dir/", "mode": 493, "uid": 0, "gid": 0, "size": 0, "mtime": "2018-08-13T04:10:48.000Z", "cksum": 4912, "linkpath": "", "uname": null, "gname": null, "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "strip-dir/hardlink-1", "mode": 420, "uid": 501, "gid": 50, "uname": null, "gname": null, "size": 26, "mtime": "2017-04-10T19:27:05.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "strip-dir/hardlink-1", "mode": 420, "uid": 501, "gid": 50, "size": 26, "mtime": "2017-04-10T19:27:05.000Z", "cksum": 5515, "linkpath": "", "uname": null, "gname": null, "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Link", "meta": false, "ignore": false, "path": "strip-dir/hardlink-2", "mode": 420, "uid": 501, "gid": 50, "uname": null, "gname": null, "size": 0, "mtime": "2017-04-10T19:27:05.000Z", "atime": null, "ctime": null, "linkpath": "strip-dir/hardlink-1", "header": { "cksumValid": true, "needPax": false, "path": "strip-dir/hardlink-2", "mode": 420, "uid": 501, "gid": 50, "size": 0, "mtime": "2017-04-10T19:27:05.000Z", "cksum": 7424, "linkpath": "strip-dir/hardlink-1", "uname": null, "gname": null, "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "SymbolicLink", "meta": false, "ignore": false, "path": "strip-dir/symlink", "mode": 511, "uid": 501, "gid": 50, "uname": null, "gname": null, "size": 0, "mtime": "2017-04-10T19:27:33.000Z", "atime": null, "ctime": null, "linkpath": "hardlink-2", "header": { "cksumValid": true, "needPax": false, "path": "strip-dir/symlink", "mode": 511, "uid": 501, "gid": 50, "size": 0, "mtime": "2017-04-10T19:27:33.000Z", "cksum": 6302, "linkpath": "hardlink-2", "uname": null, "gname": null, "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "end" ] ] ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������test/fixtures/parse/links-strip.json����������������������������������������������������������������0000644�0000000�0000000�00000007310�13334202347�016672� 0����������������������������������������������������������������������������������������������������ustar �root����������������������������root�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������[ [ "entry", { "extended": null, "globalExtended": null, "type": "Directory", "meta": false, "ignore": false, "path": "strip-dir/", "mode": 493, "uid": 0, "gid": 0, "uname": null, "gname": null, "size": 0, "mtime": "2018-08-13T04:10:48.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "strip-dir/", "mode": 493, "uid": 0, "gid": 0, "size": 0, "mtime": "2018-08-13T04:10:48.000Z", "cksum": 4912, "linkpath": "", "uname": null, "gname": null, "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "File", "meta": false, "ignore": false, "path": "strip-dir/hardlink-1", "mode": 420, "uid": 501, "gid": 50, "uname": null, "gname": null, "size": 26, "mtime": "2017-04-10T19:27:05.000Z", "atime": null, "ctime": null, "linkpath": "", "header": { "cksumValid": true, "needPax": false, "path": "strip-dir/hardlink-1", "mode": 420, "uid": 501, "gid": 50, "size": 26, "mtime": "2017-04-10T19:27:05.000Z", "cksum": 5515, "linkpath": "", "uname": null, "gname": null, "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "Link", "meta": false, "ignore": false, "path": "strip-dir/hardlink-2", "mode": 420, "uid": 501, "gid": 50, "uname": null, "gname": null, "size": 0, "mtime": "2017-04-10T19:27:05.000Z", "atime": null, "ctime": null, "linkpath": "strip-dir/hardlink-1", "header": { "cksumValid": true, "needPax": false, "path": "strip-dir/hardlink-2", "mode": 420, "uid": 501, "gid": 50, "size": 0, "mtime": "2017-04-10T19:27:05.000Z", "cksum": 7424, "linkpath": "strip-dir/hardlink-1", "uname": null, "gname": null, "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "entry", { "extended": null, "globalExtended": null, "type": "SymbolicLink", "meta": false, "ignore": false, "path": "strip-dir/symlink", "mode": 511, "uid": 501, "gid": 50, "uname": null, "gname": null, "size": 0, "mtime": "2017-04-10T19:27:33.000Z", "atime": null, "ctime": null, "linkpath": "hardlink-2", "header": { "cksumValid": true, "needPax": false, "path": "strip-dir/symlink", "mode": 511, "uid": 501, "gid": 50, "size": 0, "mtime": "2017-04-10T19:27:33.000Z", "cksum": 6302, "linkpath": "hardlink-2", "uname": null, "gname": null, "devmaj": 0, "devmin": 0, "atime": null, "ctime": null } } ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "nullBlock" ], [ "end" ] ] ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/test/fixtures/sync-gzip-fail.tgz����������������������������������������������������0000664�0000000�0000000�00000000450�14344174136�0021533�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000�������������������������������������������������������������������������������������������������������������������������������������������������������������������������:Z�j1@7?7>P(;TE oęל\W,!PrѤ&d9w羕m]߷헝N<~h>c=?Xw?۳wgjRgt?B5)3O?B5 3zj{?B̬|F?&j>@#(OI2տOI4?&?B��������������^B�P��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/test/fixtures/taprc.js��������������������������������������������������������������0000664�0000000�0000000�00000000401�14344174136�0017614�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������const fs = require('fs') const path = require('path') if (process.platform === 'win32') { fs.writeFileSync(path.resolve(__dirname, '..', '..', '.taprc'), [ 'lines: 98', 'branches: 98', 'statements: 98', 'functions: 98', ].join('\n')) } ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/test/fixtures/tars/�����������������������������������������������������������������0000775�0000000�0000000�00000000000�14344174136�0017123�5����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/test/fixtures/tars/bad-cksum.tar����������������������������������������������������0000664�0000000�0000000�00000006000�14344174136�0021475�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������one-byte.txt����������������������������������������������������������������������������������������000644 �000765 �000024 �00000000001 13072734654 013751� 0����������������������������������������������������������������������������������������������������ustar�00isaacs��������������������������staff���������������������������000000 �000000 ������������������������������������������������������������������������������������������������������������������������������������������������������������������������a�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������nne-byte.txt����������������������������������������������������������������������������������������000644 �000765 �000024 �00000000001 13072734654 013751� 0����������������������������������������������������������������������������������������������������ustar�00isaacs��������������������������staff���������������������������000000 �000000 ������������������������������������������������������������������������������������������������������������������������������������������������������������������������a�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/test/fixtures/tars/body-byte-counts.tar���������������������������������������������0000664�0000000�0000000�00000012000�14344174136�0023033�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������1024-bytes.txt��������������������������������������������������������������������������������������000644 �000765 �000024 �00000002000 13072734613 013735� 0����������������������������������������������������������������������������������������������������ustar�00isaacs��������������������������staff���������������������������000000 �000000 ������������������������������������������������������������������������������������������������������������������������������������������������������������������������xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 512-bytes.txt���������������������������������������������������������������������������������������000644 �000765 �000024 �00000001000 13072736047 013660� 0����������������������������������������������������������������������������������������������������ustar�00isaacs��������������������������staff���������������������������000000 �000000 ������������������������������������������������������������������������������������������������������������������������������������������������������������������������xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx one-byte.txt����������������������������������������������������������������������������������������000644 �000765 �000024 �00000000001 13072734654 013751� 0����������������������������������������������������������������������������������������������������ustar�00isaacs��������������������������staff���������������������������000000 �000000 ������������������������������������������������������������������������������������������������������������������������������������������������������������������������a�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������zero-byte.txt���������������������������������������������������������������������������������������000644 �000765 �000024 �00000000000 13072735761 014146� 0����������������������������������������������������������������������������������������������������ustar�00isaacs��������������������������staff���������������������������000000 �000000 ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/test/fixtures/tars/dir.tar����������������������������������������������������������0000664�0000000�0000000�00000003000�14344174136�0020402�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������dir/������������������������������������������������������������������������������������������������000755 �000765 �000024 �00000000000 13072735041 012244� 5����������������������������������������������������������������������������������������������������ustar�00isaacs��������������������������staff���������������������������000000 �000000 ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/test/fixtures/tars/emptypax.tar�����������������������������������������������������0000664�0000000�0000000�00000011000�14344174136�0021472�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������PaxHeader/🌟.txt����������������������������������������������������������������������������������000644 �000765 �000024 �00000000170 13072735563 015560� x����������������������������������������������������������������������������������������������������ustar�00isaacs��������������������������staff���������������������������000000 �000000 ������������������������������������������������������������������������������������������������������������������������������������������������������������������������17 path=🌟.txt 20 ctime=1491843956 20 atime=1491845601 23 SCHILY.dev=16777220 22 SCHILY.ino=9836716 18 SCHILY.nlink=1 ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������🌟.txt��������������������������������������������������������������������������������������������000644 �000765 �000024 �00000000152 13072735563 013607� 0����������������������������������������������������������������������������������������������������ustar�00isaacs��������������������������staff���������������������������000000 �000000 ������������������������������������������������������������������������������������������������������������������������������������������������������������������������🌟✧✩⭐︎✪✫✬✭✮⚝✯✰✵✶✷✸✹❂⭑⭒★☆✡☪✴︎✦✡️🔯✴️🌠 ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������PaxHeader/🌟.txt����������������������������������������������������������������������������������000644 �000765 �000024 �0000000000 �13072735563�015430 �x����������������������������������������������������������������������������������������������������ustar�00isaacs��������������������������staff���������������������������000000 �000000 ������������������������������������������������������������������������������������������������������������������������������������������������������������������������one-byte.txt����������������������������������������������������������������������������������������000644 �000765 �000024 �00000000001 13072734654 013751� 0����������������������������������������������������������������������������������������������������ustar�00isaacs��������������������������staff���������������������������000000 �000000 ������������������������������������������������������������������������������������������������������������������������������������������������������������������������a�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/test/fixtures/tars/file.tar���������������������������������������������������������0000664�0000000�0000000�00000004000�14344174136�0020544�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������one-byte.txt����������������������������������������������������������������������������������������000644 �000765 �000024 �00000000001 13072734654 013751� 0����������������������������������������������������������������������������������������������������ustar�00isaacs��������������������������staff���������������������������000000 �000000 ������������������������������������������������������������������������������������������������������������������������������������������������������������������������a�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/test/fixtures/tars/global-header.tar������������������������������������������������0000664�0000000�0000000�00000006000�14344174136�0022315�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������PaxHeader/ab����������������������������������������������������������������������������������������000644 �����������������0000000013 �������������007054 �g����������������������������������������������������������������������������������������������������ustar�00����������������������������������������������������������������000000 �000000 ������������������������������������������������������������������������������������������������������������������������������������������������������������������������11 path=ab ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������one-byte.txt����������������������������������������������������������������������������������������000644 �000765 �000024 �00000000001 13072734654 013751� 0����������������������������������������������������������������������������������������������������ustar�00isaacs��������������������������staff���������������������������000000 �000000 ������������������������������������������������������������������������������������������������������������������������������������������������������������������������a�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/test/fixtures/tars/links-invalid.tar������������������������������������������������0000664�0000000�0000000�00000006000�14344174136�0022373�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������hardlink-1������������������������������������������������������������������������������������������000644 �000765 �000024 �0000000032 �13072756211�015074 �0hardlink-2������������������������������������������������������������������������������������������ustar�00isaacs��������������������������staff���������������������������000000 �000000 ������������������������������������������������������������������������������������������������������������������������������������������������������������������������this link is like diamond ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������hardlink-2������������������������������������������������������������������������������������������000644 �000765 �000024 �0000000000 �13072756211�013215 �1����������������������������������������������������������������������������������������������������ustar�00isaacs��������������������������staff���������������������������000000 �000000 ������������������������������������������������������������������������������������������������������������������������������������������������������������������������symlink���������������������������������������������������������������������������������������������000755 �000765 �000024 �00000000000 13072756245 014757� 2hardlink-2������������������������������������������������������������������������������������������ustar�00isaacs��������������������������staff���������������������������000000 �000000 ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/test/fixtures/tars/links-strip.tar��������������������������������������������������0000664�0000000�0000000�00000006000�14344174136�0022106�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������strip-dir/������������������������������������������������������������������������������������������000755 �000000 �000000 �00000000000 13370171065 011144 �5����������������������������������������������������������������������������������������������������ustar�00����������������������������������������������������������������000000 �000000 ������������������������������������������������������������������������������������������������������������������������������������������������������������������������strip-dir/hardlink-1��������������������������������������������������������������������������������000644 �000000 �000000 �00000000032 13370171065 013014 �0����������������������������������������������������������������������������������������������������ustar�00����������������������������������������������������������������000000 �000000 ������������������������������������������������������������������������������������������������������������������������������������������������������������������������this link is like diamond ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������strip-dir/hardlink-2��������������������������������������������������������������������������������000644 �000000 �000000 �00000000000 13370171065 016601 �1strip-dir/hardlink-1��������������������������������������������������������������������������������ustar�00����������������������������������������������������������������000000 �000000 ������������������������������������������������������������������������������������������������������������������������������������������������������������������������strip-dir/1/2/3/hardlink-3��������������������������������������������������������������������������000644 �000000 �000000 �00000000000 13370171065 017245 �1strip-dir/hardlink-1��������������������������������������������������������������������������������ustar�00����������������������������������������������������������������000000 �000000 ������������������������������������������������������������������������������������������������������������������������������������������������������������������������strip-dir/symlink�����������������������������������������������������������������������������������000644 �000000 �000000 �00000000000 13370171065 014421 �2hardlink-2������������������������������������������������������������������������������������������ustar�00����������������������������������������������������������������000000 �000000 ������������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/test/fixtures/tars/links.tar��������������������������������������������������������0000664�0000000�0000000�00000006000�14344174136�0020747�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������hardlink-1������������������������������������������������������������������������������������������000644 �000765 �000024 �00000000032 13072756211 013340� 0����������������������������������������������������������������������������������������������������ustar�00isaacs��������������������������staff���������������������������000000 �000000 ������������������������������������������������������������������������������������������������������������������������������������������������������������������������this link is like diamond ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������hardlink-2������������������������������������������������������������������������������������������000644 �000765 �000024 �00000000000 13072756211 015210� 1hardlink-1������������������������������������������������������������������������������������������ustar�00isaacs��������������������������staff���������������������������000000 �000000 ������������������������������������������������������������������������������������������������������������������������������������������������������������������������symlink���������������������������������������������������������������������������������������������000755 �000765 �000024 �00000000000 13072756245 014757� 2hardlink-2������������������������������������������������������������������������������������������ustar�00isaacs��������������������������staff���������������������������000000 �000000 ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/test/fixtures/tars/long-paths.tar���������������������������������������������������0000664�0000000�0000000�00000064000�14344174136�0021707�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������100-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc000644 �000765 �000024 �00000000144 13072734156 034400� 0����������������������������������������������������������������������������������������������������ustar�00isaacs��������������������������staff���������������������������000000 �000000 ������������������������������������������������������������������������������������������������������������������������������������������������������������������������cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������PaxHeader/120-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc��000644 �000765 �000024 �00000000351 13072734264 034107� x����������������������������������������������������������������������������������������������������ustar�00isaacs��������������������������staff���������������������������000000 �000000 ������������������������������������������������������������������������������������������������������������������������������������������������������������������������130 path=120-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc 20 ctime=1491843252 20 atime=1491843717 23 SCHILY.dev=16777220 22 SCHILY.ino=9836297 18 SCHILY.nlink=1 ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������120-byte-filename-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc�000644 �000765 �000024 �00000000144 13072734264 034237� 0����������������������������������������������������������������������������������������������������ustar�00isaacs��������������������������staff���������������������������000000 �000000 ������������������������������������������������������������������������������������������������������������������������������������������������������������������������cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������PaxHeader/170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc��000644 �000765 �000024 �00000000433 13072734462 034115� x����������������������������������������������������������������������������������������������������ustar�00isaacs��������������������������staff���������������������������000000 �000000 ������������������������������������������������������������������������������������������������������������������������������������������������������������������������180 path=170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc 20 ctime=1491843378 20 atime=1491843717 23 SCHILY.dev=16777220 22 SCHILY.ino=9836326 18 SCHILY.nlink=1 �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������170-byte-filename-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc�000644 �000765 �000024 �00000000144 13072734462 034244� 0����������������������������������������������������������������������������������������������������ustar�00isaacs��������������������������staff���������������������������000000 �000000 ������������������������������������������������������������������������������������������������������������������������������������������������������������������������cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������long-path/������������������������������������������������������������������������������������������000755 �000765 �000024 �00000000000 13072734104 013356� 5����������������������������������������������������������������������������������������������������ustar�00isaacs��������������������������staff���������������������������000000 �000000 ������������������������������������������������������������������������������������������������������������������������������������������������������������������������long-path/r/����������������������������������������������������������������������������������������000755 �000765 �000024 �00000000000 13072734104 013617� 5����������������������������������������������������������������������������������������������������ustar�00isaacs��������������������������staff���������������������������000000 �000000 ������������������������������������������������������������������������������������������������������������������������������������������������������������������������long-path/r/e/��������������������������������������������������������������������������������������000755 �000765 �000024 �00000000000 13072734104 014043� 5����������������������������������������������������������������������������������������������������ustar�00isaacs��������������������������staff���������������������������000000 �000000 ������������������������������������������������������������������������������������������������������������������������������������������������������������������������long-path/r/e/a/������������������������������������������������������������������������������������000755 �000765 �000024 �00000000000 13072734104 014263� 5����������������������������������������������������������������������������������������������������ustar�00isaacs��������������������������staff���������������������������000000 �000000 ������������������������������������������������������������������������������������������������������������������������������������������������������������������������long-path/r/e/a/l/����������������������������������������������������������������������������������000755 �000765 �000024 �00000000000 13072734104 014516� 5����������������������������������������������������������������������������������������������������ustar�00isaacs��������������������������staff���������������������������000000 �000000 ������������������������������������������������������������������������������������������������������������������������������������������������������������������������long-path/r/e/a/l/l/��������������������������������������������������������������������������������000755 �000765 �000024 �00000000000 13072734104 014751� 5����������������������������������������������������������������������������������������������������ustar�00isaacs��������������������������staff���������������������������000000 �000000 ������������������������������������������������������������������������������������������������������������������������������������������������������������������������long-path/r/e/a/l/l/y/������������������������������������������������������������������������������000755 �000765 �000024 �00000000000 13072734104 015221� 5����������������������������������������������������������������������������������������������������ustar�00isaacs��������������������������staff���������������������������000000 �000000 ������������������������������������������������������������������������������������������������������������������������������������������������������������������������long-path/r/e/a/l/l/y/-/����������������������������������������������������������������������������000755 �000765 �000024 �00000000000 13072734104 015355� 5����������������������������������������������������������������������������������������������������ustar�00isaacs��������������������������staff���������������������������000000 �000000 ������������������������������������������������������������������������������������������������������������������������������������������������������������������������long-path/r/e/a/l/l/y/-/d/��������������������������������������������������������������������������000755 �000765 �000024 �00000000000 13072734104 015600� 5����������������������������������������������������������������������������������������������������ustar�00isaacs��������������������������staff���������������������������000000 �000000 ������������������������������������������������������������������������������������������������������������������������������������������������������������������������long-path/r/e/a/l/l/y/-/d/e/������������������������������������������������������������������������000755 �000765 �000024 �00000000000 13072734104 016024� 5����������������������������������������������������������������������������������������������������ustar�00isaacs��������������������������staff���������������������������000000 �000000 ������������������������������������������������������������������������������������������������������������������������������������������������������������������������long-path/r/e/a/l/l/y/-/d/e/e/����������������������������������������������������������������������000755 �000765 �000024 �00000000000 13072734104 016250� 5����������������������������������������������������������������������������������������������������ustar�00isaacs��������������������������staff���������������������������000000 �000000 ������������������������������������������������������������������������������������������������������������������������������������������������������������������������long-path/r/e/a/l/l/y/-/d/e/e/p/��������������������������������������������������������������������000755 �000765 �000024 �00000000000 13072734104 016507� 5����������������������������������������������������������������������������������������������������ustar�00isaacs��������������������������staff���������������������������000000 �000000 ������������������������������������������������������������������������������������������������������������������������������������������������������������������������long-path/r/e/a/l/l/y/-/d/e/e/p/-/������������������������������������������������������������������000755 �000765 �000024 �00000000000 13072734104 016643� 5����������������������������������������������������������������������������������������������������ustar�00isaacs��������������������������staff���������������������������000000 �000000 ������������������������������������������������������������������������������������������������������������������������������������������������������������������������long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/����������������������������������������������������������������000755 �000765 �000024 �00000000000 13072734104 017070� 5����������������������������������������������������������������������������������������������������ustar�00isaacs��������������������������staff���������������������������000000 �000000 ������������������������������������������������������������������������������������������������������������������������������������������������������������������������long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/��������������������������������������������������������������000755 �000765 �000024 �00000000000 13072734104 017326� 5����������������������������������������������������������������������������������������������������ustar�00isaacs��������������������������staff���������������������������000000 �000000 ������������������������������������������������������������������������������������������������������������������������������������������������������������������������long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/������������������������������������������������������������000755 �000765 �000024 �00000000000 13072734104 017561� 5����������������������������������������������������������������������������������������������������ustar�00isaacs��������������������������staff���������������������������000000 �000000 ������������������������������������������������������������������������������������������������������������������������������������������������������������������������long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/����������������������������������������������������������000755 �000765 �000024 �00000000000 13072734104 020004� 5����������������������������������������������������������������������������������������������������ustar�00isaacs��������������������������staff���������������������������000000 �000000 ������������������������������������������������������������������������������������������������������������������������������������������������������������������������long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/��������������������������������������������������������000755 �000765 �000024 �00000000000 13072734104 020230� 5����������������������������������������������������������������������������������������������������ustar�00isaacs��������������������������staff���������������������������000000 �000000 ������������������������������������������������������������������������������������������������������������������������������������������������������������������������long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/������������������������������������������������������000755 �000765 �000024 �00000000000 13072734104 020471� 5����������������������������������������������������������������������������������������������������ustar�00isaacs��������������������������staff���������������������������000000 �000000 ������������������������������������������������������������������������������������������������������������������������������������������������������������������������long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/����������������������������������������������������000755 �000765 �000024 �00000000000 13072734104 020625� 5����������������������������������������������������������������������������������������������������ustar�00isaacs��������������������������staff���������������������������000000 �000000 ������������������������������������������������������������������������������������������������������������������������������������������������������������������������long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/��������������������������������������������������000755 �000765 �000024 �00000000000 13072734104 021064� 5����������������������������������������������������������������������������������������������������ustar�00isaacs��������������������������staff���������������������������000000 �000000 ������������������������������������������������������������������������������������������������������������������������������������������������������������������������long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/������������������������������������������������000755 �000765 �000024 �00000000000 13072734104 021304� 5����������������������������������������������������������������������������������������������������ustar�00isaacs��������������������������staff���������������������������000000 �000000 ������������������������������������������������������������������������������������������������������������������������������������������������������������������������long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/����������������������������������������������000755 �000765 �000024 �00000000000 13072734104 021547� 5����������������������������������������������������������������������������������������������������ustar�00isaacs��������������������������staff���������������������������000000 �000000 ������������������������������������������������������������������������������������������������������������������������������������������������������������������������long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/��������������������������������������������000755 �000765 �000024 �00000000000 13072734707 022007� 5����������������������������������������������������������������������������������������������������ustar�00isaacs��������������������������staff���������������������������000000 �000000 ������������������������������������������������������������������������������������������������������������������������������������������������������������������������long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/a.txt���������������������������������������000644 �000765 �000024 �00000000006 13072734516 022762� 0����������������������������������������������������������������������������������������������������ustar�00isaacs��������������������������staff���������������������������000000 �000000 ������������������������������������������������������������������������������������������������������������������������������������������������������������������������short ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc000644 �000765 �000024 �00000000144 13072734104 045174� 0����������������������������������������������������������������������������������������������������ustar�00isaacs��������������������������staff���������������������������000000 �000000 �long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h����������������������������������������������������������������������������������������������������������������cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������h/PaxHeader/cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc000644 �000765 �000024 �00000000441 13072734104 044701� x����������������������������������������������������������������������������������������������������ustar�00isaacs��������������������������staff���������������������������000000 �000000 �long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t������������������������������������������������������������������������������������������������������������������186 path=long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc 20 ctime=1491843140 20 atime=1491843717 23 SCHILY.dev=16777220 22 SCHILY.ino=9836253 18 SCHILY.nlink=1 �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc�000644 �000765 �000024 �00000000144 13072734104 045031� 0����������������������������������������������������������������������������������������������������ustar�00isaacs��������������������������staff���������������������������000000 �000000 �long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h����������������������������������������������������������������������������������������������������������������cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������h/PaxHeader/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxcccccccccccccccccccccccccccccccccccccc000644 �000765 �000024 �00000000523 13072734104 046734� x����������������������������������������������������������������������������������������������������ustar�00isaacs��������������������������staff���������������������������000000 �000000 �long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t������������������������������������������������������������������������������������������������������������������236 path=long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc 20 ctime=1491843140 20 atime=1491843717 23 SCHILY.dev=16777220 22 SCHILY.ino=9836254 18 SCHILY.nlink=1 �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxccccccccccccccccccccccccccccccccccccccccccccccccc�000644 �000765 �000024 �00000000144 13072734104 047063� 0����������������������������������������������������������������������������������������������������ustar�00isaacs��������������������������staff���������������������������000000 �000000 �long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h����������������������������������������������������������������������������������������������������������������cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/PaxHeader/Ω.txt����������������������������000644 �000765 �000024 �00000000256 13072734707 025372� x����������������������������������������������������������������������������������������������������ustar�00isaacs��������������������������staff���������������������������000000 �000000 ������������������������������������������������������������������������������������������������������������������������������������������������������������������������71 path=long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/Ω.txt 20 ctime=1491843527 20 atime=1491844045 23 SCHILY.dev=16777220 22 SCHILY.ino=9836396 18 SCHILY.nlink=1 ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/Ω.txt��������������������������������������000644 �000765 �000024 �00000000002 13072734707 023406� 0����������������������������������������������������������������������������������������������������ustar�00isaacs��������������������������staff���������������������������000000 �000000 ������������������������������������������������������������������������������������������������������������������������������������������������������������������������Ω����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/test/fixtures/tars/long-pax.tar�����������������������������������������������������0000664�0000000�0000000�00000006000�14344174136�0021354�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������PaxHeader/120-byte-filename-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc�000644 �000765 �000024 �0000002402 �13072734264�034131 �x����������������������������������������������������������������������������������������������������ustar�00isaacs��������������������������staff���������������������������000000 �000000 ������������������������������������������������������������������������������������������������������������������������������������������������������������������������130 path=120-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc 1069 comment=all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy all work and no play makes johnny a tar boy 9 gid=20 15 gname=staff 20 mtime=1491843252 12 size=100 11 uid=501 16 uname=isaacs ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������120-byte-filename-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc�000644 �000765 �000024 �00000000144 13072734264 034237� 0����������������������������������������������������������������������������������������������������ustar�00isaacs��������������������������staff���������������������������000000 �000000 ������������������������������������������������������������������������������������������������������������������������������������������������������������������������cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/test/fixtures/tars/next-file-has-long.tar�������������������������������������������0000664�0000000�0000000�00000011000�14344174136�0023224�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������NextFileHasLongPath���������������������������������������������������������������������������������������������������������0000000252 �������������007674 �L����������������������������������������������������������������������������������������������������ustar�00����������������������������������������������������������������000000 �000000 ������������������������������������������������������������������������������������������������������������������������������������������������������������������������170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������170-byte-filename-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc�000644 �000765 �000024 �00000000144 13072734462 034244� 0����������������������������������������������������������������������������������������������������ustar�00isaacs��������������������������staff���������������������������000000 �000000 ������������������������������������������������������������������������������������������������������������������������������������������������������������������������cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������NextFileHasLongLinkpath�����������������������������������������������������������������������������������������������������0000000252 �������������010551 �K����������������������������������������������������������������������������������������������������ustar�00����������������������������������������������������������������000000 �000000 ������������������������������������������������������������������������������������������������������������������������������������������������������������������������170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������longlink��������������������������������������������������������������������������������������������000755 �000765 �000024 �00000000000 13073011671 015737� 2././@LongSymLink������������������������������������������������������������������������������������ustar�00isaacs��������������������������staff���������������������������000000 �000000 ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/test/fixtures/tars/null-byte.tar����������������������������������������������������0000664�0000000�0000000�00000024000�14344174136�0021542�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������this_is_a_really_long_directory_name_with_a_lot_of_characters/��������������������������������������0000775�0001750�0001750�00000000000�13137726606�025734� 5����������������������������������������������������������������������������������������������������ustar �freitagb������������������������freitagb���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������././@LongLink���������������������������������������������������������������������������������������0000644�0000000�0000000�00000000172�00000000000�011603� L����������������������������������������������������������������������������������������������������ustar �root����������������������������root�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������this_is_a_really_long_directory_name_with_a_lot_of_characters/this_is_a_really_long_tgz_file_with_a_lot_of_characters.tgz�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������this_is_a_really_long_directory_name_with_a_lot_of_characters/this_is_a_really_long_tgz_file_with_a_0000664�0001750�0001750�00000000310�13137726601�035552� 0����������������������������������������������������������������������������������������������������ustar �freitagb������������������������freitagb����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Y�ij1 a)lca605xT>NPB(} !,>]}_.ķ9c)BM>NZ}CUMX[\ƨB?dE|* 5~?/Q2!ƭ|];^ɿ=ߔUEOy{6������������uT�(��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/test/fixtures/tars/path-missing.tar�������������������������������������������������0000664�0000000�0000000�00000004000�14344174136�0022230�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������000644 �000765 �000024 �0000000001 �13072734654�011350 �0����������������������������������������������������������������������������������������������������ustar�00isaacs��������������������������staff���������������������������000000 �000000 ������������������������������������������������������������������������������������������������������������������������������������������������������������������������a�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/test/fixtures/tars/trailing-slash-corner-case.tar�����������������������������������0000664�0000000�0000000�00000024000�14344174136�0024747�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/0000755�0000765�0000024�00000000000�13312044077�032454� 5����������������������������������������������������������������������������������������������������ustar �rmg�����������������������������staff������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������././@LongLink���������������������������������������������������������������������������������������0000644�0000000�0000000�00000000231�00000000000�011720� L����������������������������������������������������������������������������������������������������ustar �root����������������������������wheel������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/a-truly-unlucky-file-beyond-130-byte-path-length.txt������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/0000644�0000765�0000024�00000001060�13312044077�032453� 0����������������������������������������������������������������������������������������������������ustar �rmg�����������������������������staff������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Behold! I am a text file and NOT a tar header. xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������././@LongLink���������������������������������������������������������������������������������������0000644�0000000�0000000�00000000172�00000000000�011724� L����������������������������������������������������������������������������������������������������ustar �root����������������������������wheel������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/some-unlucky-file.txt�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������99-byte-dirname-ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc/0000644�0000765�0000024�00000001060�13312042430�032442� 0����������������������������������������������������������������������������������������������������ustar �rmg�����������������������������staff������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Behold! I am a text file and NOT a tar header. xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/test/fixtures/tars/utf8.tar���������������������������������������������������������0000664�0000000�0000000�00000016000�14344174136�0020516�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������PaxHeader/Ω.txt������������������������������������������������������������������������������������000644 �000765 �000024 �00000000166 13072734036 015054� x����������������������������������������������������������������������������������������������������ustar�00isaacs��������������������������staff���������������������������000000 �000000 ������������������������������������������������������������������������������������������������������������������������������������������������������������������������15 path=Ω.txt 20 ctime=1491843102 20 atime=1491843758 23 SCHILY.dev=16777220 22 SCHILY.ino=9836217 18 SCHILY.nlink=1 ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������Ω.txt����������������������������������������������������������������������������������������������000644 �000765 �000024 �00000000002 13072734036 013070� 0����������������������������������������������������������������������������������������������������ustar�00isaacs��������������������������staff���������������������������000000 �000000 ������������������������������������������������������������������������������������������������������������������������������������������������������������������������Ω������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������PaxHeader/🌟.txt����������������������������������������������������������������������������������000644 �000765 �000024 �00000000170 13072735563 015560� x����������������������������������������������������������������������������������������������������ustar�00isaacs��������������������������staff���������������������������000000 �000000 ������������������������������������������������������������������������������������������������������������������������������������������������������������������������17 path=🌟.txt 20 ctime=1491843956 20 atime=1491843993 23 SCHILY.dev=16777220 22 SCHILY.ino=9836716 18 SCHILY.nlink=1 ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������🌟.txt��������������������������������������������������������������������������������������������000644 �000765 �000024 �00000000152 13072735563 013607� 0����������������������������������������������������������������������������������������������������ustar�00isaacs��������������������������staff���������������������������000000 �000000 ������������������������������������������������������������������������������������������������������������������������������������������������������������������������🌟✧✩⭐︎✪✫✬✭✮⚝✯✰✵✶✷✸✹❂⭑⭒★☆✡☪✴︎✦✡️🔯✴️🌠 ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/PaxHeader/Ω.txt����������������������������000644 �000765 �000024 �00000000256 13072734707 025372� x����������������������������������������������������������������������������������������������������ustar�00isaacs��������������������������staff���������������������������000000 �000000 ������������������������������������������������������������������������������������������������������������������������������������������������������������������������71 path=long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/Ω.txt 20 ctime=1491843527 20 atime=1491843758 23 SCHILY.dev=16777220 22 SCHILY.ino=9836396 18 SCHILY.nlink=1 ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/Ω.txt��������������������������������������000644 �000765 �000024 �00000000002 13072734707 023406� 0����������������������������������������������������������������������������������������������������ustar�00isaacs��������������������������staff���������������������������000000 �000000 ������������������������������������������������������������������������������������������������������������������������������������������������������������������������Ω����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/test/fixtures/test.js���������������������������������������������������������������0000664�0000000�0000000�00000000777�14344174136�0017502�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������const platform = process.platform === 'win32' ? 'win32' : 'posix' const { spawn } = require('child_process') const c = spawn(process.execPath, [ process.env.npm_execpath, 'run', `test:${platform}`, '--', ...process.argv.slice(2), ], { stdio: 'inherit', }) c.on('close', (code, signal) => { process.exitCode = code if (signal) { process.kill(process.pid, signal) setTimeout(() => {}, 200) } }) process.on('SIGTERM', () => c.kill('SIGTERM')) process.on('SIGINT', () => c.kill('SIGINT')) �node-tar-6.1.13/test/get-write-flag.js��������������������������������������������������������������0000664�0000000�0000000�00000003172�14344174136�0017460�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������const t = require('tap') // run three scenarios // unix (no fmap) // win32 (without fmap support) // win32 (with fmap support) const fs = require('fs') const hasFmap = !!fs.constants.UV_FS_O_FILEMAP const platform = process.platform const UV_FS_O_FILEMAP = 0x20000000 switch (process.argv[2]) { case 'win32-fmap': { if (!hasFmap) { global.__FAKE_TESTING_FS__ = { constants: { ...fs.constants, ...{ UV_FS_O_FILEMAP }, }, } } const { O_CREAT, O_TRUNC, O_WRONLY } = fs.constants if (platform !== 'win32') { process.env.__FAKE_PLATFORM__ = 'win32' } const getFlag = require('../lib/get-write-flag.js') t.equal(getFlag(1), UV_FS_O_FILEMAP | O_TRUNC | O_CREAT | O_WRONLY) t.equal(getFlag(512 * 1024 + 1), 'w') break } case 'win32-nofmap': { if (hasFmap) { global.__FAKE_TESTING_FS__ = { constants: { ...fs.constants, ...{ UV_FS_O_FILEMAP: 0 }, }, } } if (platform !== 'win32') { process.env.__FAKE_PLATFORM__ = 'win32' } const getFlag = require('../lib/get-write-flag.js') t.equal(getFlag(1), 'w') t.equal(getFlag(512 * 1024 + 1), 'w') break } case 'unix': { if (platform === 'win32') { process.env.__FAKE_PLATFORM__ = 'darwin' } const getFlag = require('../lib/get-write-flag.js') t.equal(getFlag(1), 'w') t.equal(getFlag(512 * 1024 + 1), 'w') break } default: { const node = process.execPath t.spawn(node, [__filename, 'win32-fmap']) t.spawn(node, [__filename, 'win32-nofmap']) t.spawn(node, [__filename, 'unix']) } } ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/test/header.js����������������������������������������������������������������������0000664�0000000�0000000�00000055057�14344174136�0016103�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������'use strict' const t = require('tap') const Header = require('../lib/header.js') t.test('ustar format', t => { const buf = Buffer.from( '666f6f2e74787400000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000030303037353520003035373736312000303030303234200037373737' + '3737373737373700313236373735363735343000303133303531200030000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0075737461720030306973616163730000000000000000000000000000000000' + '0000000000000000007374616666000000000000000000000000000000000000' + '0000000000000000003030303030302000303030303030200000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000', 'hex') const h = new Header({ path: 'foo.txt', }) const slab = Buffer.alloc(1024) h.set({ mode: 0o755, uid: 24561, gid: 20, size: 0o77777777777, mtime: new Date('2016-04-01T22:00Z'), type: 'File', uname: 'isaacs', gname: 'staff', }) h.encode(slab) t.equal(slab.slice(0, 512).toString('hex'), buf.toString('hex')) t.equal(slab.toString('hex'), buf.toString('hex') + (new Array(1025).join('0'))) const h2 = new Header(buf) t.match(h2, { path: 'foo.txt', mode: 0o755, uid: 24561, gid: 20, size: 0o77777777777, ctime: null, atime: null, uname: 'isaacs', gname: 'staff', cksumValid: true, cksum: 5673, }) t.end() }) t.test('xstar format', t => { const buf = Buffer.from( '666f6f2e74787400000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000030303037353520003035373736312000303030303234200030303030' + '3030303134342000313236373735363735343000303135313331200030000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0075737461720030306973616163730000000000000000000000000000000000' + '0000000000000000007374616666000000000000000000000000000000000000' + '0000000000000000003030303030302000303030303030200000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000031323637' + '3735363735343000313236373735363735343000000000000000000000000000' + // just some junk '420420420420420420420420420420420420420420420420420420420420', 'hex') const h = new Header({ path: 'foo.txt', }) h.set({ mode: 0o755, uid: 24561, gid: 20, size: 100, mtime: new Date('2016-04-01T22:00Z'), ctime: new Date('2016-04-01T22:00Z'), atime: new Date('2016-04-01T22:00Z'), type: 'File', uname: 'isaacs', gname: 'staff', }) h.encode() const slab = h.block t.equal(slab.toString('hex'), buf.slice(0, 512).toString('hex')) const h2 = new Header(buf) t.match(h2, { path: 'foo.txt', mode: 0o755, uid: 24561, gid: 20, size: 100, mtime: new Date('2016-04-01T22:00Z'), ctime: new Date('2016-04-01T22:00Z'), atime: new Date('2016-04-01T22:00Z'), type: 'File', uname: 'isaacs', gname: 'staff', cksumValid: true, cksum: 6745, }) t.end() }) t.test('prefix handling', t => { t.plan(4) t.test('no times', t => { const buf = Buffer.from( '666f6f2e74787400000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000030303037353520003035373736312000303030303234200030303030' + '3030303134342000313236373735363735343000303337323734200030000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0075737461720030306973616163730000000000000000000000000000000000' + '0000000000000000007374616666000000000000000000000000000000000000' + '00000000000000000030303030303020003030303030302000722f652f612f6c' + '2f6c2f792f2d2f722f652f612f6c2f6c2f792f2d2f722f652f612f6c2f6c2f79' + '2f2d2f722f652f612f6c2f6c2f792f2d2f722f652f612f6c2f6c2f792f2d2f72' + '2f652f612f6c2f6c2f792f2d2f722f652f612f6c2f6c2f792f2d2f722f652f61' + '2f6c2f6c2f792f2d2f722f652f612f6c2f6c2f792f2d2f642f652f652f702f2d' + '2f702f612f742f68000000000000000000000000000000000000000000000000', 'hex') const h = new Header({ path: 'r/e/a/l/l/y/-/r/e/a/l/l/y/-/r/e/a/l/l/y/-/' + 'r/e/a/l/l/y/-/r/e/a/l/l/y/-/r/e/a/l/l/y/-/r/e/a/l/l/y/-' + '/r/e/a/l/l/y/-/r/e/a/l/l/y/-/d/e/e/p/-/p/a/t/h/foo.txt', mode: 0o755, uid: 24561, gid: 20, size: 100, mtime: new Date('2016-04-01T22:00Z'), ctime: null, atime: undefined, type: '0', uname: 'isaacs', gname: 'staff', }) const b2 = Buffer.alloc(512) h.encode(b2, 0) t.equal(b2.toString().replace(/\0+/g, ' '), buf.toString().replace(/\0+/g, ' ')) t.equal(b2.toString('hex'), buf.toString('hex')) const h2 = new Header(buf) t.match(h2, { path: 'r/e/a/l/l/y/-/r/e/a/l/l/y/-/r/e/a/l/l/y/-/' + 'r/e/a/l/l/y/-/r/e/a/l/l/y/-/r/e/a/l/l/y/-/r/e/a/l/l/y/-' + '/r/e/a/l/l/y/-/r/e/a/l/l/y/-/d/e/e/p/-/p/a/t/h/foo.txt', mode: 0o755, uid: 24561, gid: 20, size: 100, mtime: new Date('2016-04-01T22:00Z'), ctime: null, atime: null, type: 'File', uname: 'isaacs', gname: 'staff', cksumValid: true, cksum: 16060, needPax: false, }) t.equal(b2.toString().replace(/\0.*$/, ''), 'foo.txt') t.equal(b2.slice(345).toString().replace(/\0.*$/, ''), 'r/e/a/l/l/y/-' + '/r/e/a/l/l/y/-/r/e/a/l/l/y/-/r/e/a/l/l/y/-/r/e/a/l/l/y/-' + '/r/e/a/l/l/y/-/r/e/a/l/l/y/-/r/e/a/l/l/y/-/r/e/a/l/l/y/-' + '/d/e/e/p/-/p/a/t/h') t.end() }) t.test('a/c times, use shorter prefix field', t => { const buf = Buffer.from( '652f702f2d2f702f612f742f682f666f6f2e7478740000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000030303037353520003035373736312000303030303234200030303030' + '3030303134342000313236373735363735343000303431353030200030000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0075737461720030306973616163730000000000000000000000000000000000' + '0000000000000000007374616666000000000000000000000000000000000000' + '00000000000000000030303030303020003030303030302000722f652f612f6c' + '2f6c2f792f2d2f722f652f612f6c2f6c2f792f2d2f722f652f612f6c2f6c2f79' + '2f2d2f722f652f612f6c2f6c2f792f2d2f722f652f612f6c2f6c2f792f2d2f72' + '2f652f612f6c2f6c2f792f2d2f722f652f612f6c2f6c2f792f2d2f722f652f61' + '2f6c2f6c2f792f2d2f722f652f612f6c2f6c2f792f2d2f642f65000031323637' + '3735363735343000313236373735363735343000000000000000000000000000', 'hex') const h = new Header() h.path = 'r/e/a/l/l/y/-/r/e/a/l/l/y/-/r/e/a/l/l/y/-/' + 'r/e/a/l/l/y/-/r/e/a/l/l/y/-/r/e/a/l/l/y/-/r/e/a/l/l/y/-' + '/r/e/a/l/l/y/-/r/e/a/l/l/y/-/d/e/e/p/-/p/a/t/h/foo.txt' h.mode = 0o755 h.uid = 24561 h.gid = 20 h.size = 100 h.mtime = new Date('2016-04-01T22:00Z') h.ctime = new Date('2016-04-01T22:00Z') h.atime = new Date('2016-04-01T22:00Z') h.type = 'File' h.uname = 'isaacs' h.gname = 'staff' const b2 = Buffer.alloc(512) h.encode(b2, 0) t.equal(b2.toString('hex'), buf.toString('hex')) const b3 = Buffer.alloc(1024) h.encode(b3, 100) t.equal(b2.toString('hex'), b3.slice(100, 612).toString('hex')) const h2 = new Header(b3, 100) t.match(h2, { path: 'r/e/a/l/l/y/-/r/e/a/l/l/y/-/r/e/a/l/l/y/-/' + 'r/e/a/l/l/y/-/r/e/a/l/l/y/-/r/e/a/l/l/y/-/r/e/a/l/l/y/-' + '/r/e/a/l/l/y/-/r/e/a/l/l/y/-/d/e/e/p/-/p/a/t/h/foo.txt', mode: 0o755, uid: 24561, gid: 20, size: 100, mtime: new Date('2016-04-01T22:00Z'), ctime: new Date('2016-04-01T22:00Z'), atime: new Date('2016-04-01T22:00Z'), type: 'File', uname: 'isaacs', gname: 'staff', cksumValid: true, cksum: 17216, needPax: false, }, 'header from buffer') t.equal(b2.toString().replace(/\0.*$/, ''), 'e/p/-/p/a/t/h/foo.txt') t.equal(b2.slice(345).toString().replace(/\0.*$/, ''), 'r/e/a/l/l/y/-' + '/r/e/a/l/l/y/-/r/e/a/l/l/y/-/r/e/a/l/l/y/-/r/e/a/l/l/y/-' + '/r/e/a/l/l/y/-/r/e/a/l/l/y/-/r/e/a/l/l/y/-/r/e/a/l/l/y/-/d/e') t.end() }) t.test('hella long basename', t => { const buf = Buffer.from( '6c6f6e672d66696c652d6c6f6e672d66696c652d6c6f6e672d66696c652d6c6f' + '6e672d66696c652d6c6f6e672d66696c652d6c6f6e672d66696c652d6c6f6e67' + '2d66696c652d6c6f6e672d66696c652d6c6f6e672d66696c652d6c6f6e672d66' + '696c650030303037353520003035373736312000303030303234200030303030' + '3030303134342000313236373735363735343000303630313431200030000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0075737461720030306973616163730000000000000000000000000000000000' + '0000000000000000007374616666000000000000000000000000000000000000' + '00000000000000000030303030303020003030303030302000722f652f612f6c' + '2f6c2f792f2d2f722f652f612f6c2f6c2f792f2d2f722f652f612f6c2f6c2f79' + '2f2d2f722f652f612f6c2f6c2f792f2d2f722f652f612f6c2f6c2f792f2d2f72' + '2f652f612f6c2f6c2f792f2d2f722f652f612f6c2f6c2f792f2d2f722f652f61' + '2f6c2f6c2f792f2d2f722f652f612f6c2f6c2f792f2d2f642f652f652f702f2d' + '2f702f612f742f68000000000000000000000000000000000000000000000000', 'hex') const h = new Header({ path: 'r/e/a/l/l/y/-/r/e/a/l/l/y/-/r/e/a/l/l/y/-/' + 'r/e/a/l/l/y/-/r/e/a/l/l/y/-/r/e/a/l/l/y/-/r/e/a/l/l/y/-/' + 'r/e/a/l/l/y/-/r/e/a/l/l/y/-/d/e/e/p/-/p/a/t/h/' + (new Array(20).join('long-file-')) + 'long-file.txt', mode: 0o755, uid: 24561, gid: 20, size: 100, mtime: new Date('2016-04-01T22:00Z'), ctime: null, atime: undefined, type: '0', uname: 'isaacs', gname: 'staff', }) const b2 = Buffer.alloc(513) h.encode(b2, 1) t.equal(b2.toString('hex'), '00' + buf.toString('hex')) t.ok(h.needPax, 'need pax because long filename') const h2 = new Header(b2, 1) t.match(h2, { cksumValid: true, cksum: 24673, path: 'r/e/a/l/l/y/-/r/e/a/l/l/y/-/r/e/a/l/l/y/-/r/e/a/l/l/y/-/' + 'r/e/a/l/l/y/-/r/e/a/l/l/y/-/r/e/a/l/l/y/-/r/e/a/l/l/y/-/' + 'r/e/a/l/l/y/-/d/e/e/p/-/p/a/t/h/long-file-long-file-long-' + 'file-long-file-long-file-long-file-long-file-long-file-long-' + 'file-long-file', needPax: false, }) t.end() }) t.test('long basename, long dirname', t => { const buf = Buffer.from( '6c6f6e672d6469726e616d652d6c6f6e672d6469726e616d652d6c6f6e672d64' + '69726e616d652d6c6f6e672d6469726e616d652d6c6f6e672d6469726e616d65' + '2d6c6f6e672d6469726e616d652d6c6f6e672d6469726e616d652d6c6f6e672d' + '6469720030303037353520003035373736312000303030303234200030303030' + '3030303134342000313236373735363735343000303334323035200030000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0075737461720030306973616163730000000000000000000000000000000000' + '0000000000000000007374616666000000000000000000000000000000000000' + '0000000000000000003030303030302000303030303030200000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000', 'hex') const h = new Header({ path: (new Array(30).join('long-dirname-')) + 'long-dirname/' + (new Array(20).join('long-file-')) + 'long-file.txt', mode: 0o755, uid: 24561, gid: 20, size: 100, mtime: new Date('2016-04-01T22:00Z'), ctime: null, atime: undefined, type: '0', uname: 'isaacs', gname: 'staff', }) const b2 = Buffer.alloc(512) h.encode(b2, 0) t.equal(h.type, 'File') t.equal(h.typeKey, '0') t.equal(b2.toString('hex'), buf.toString('hex')) t.equal(h.cksum, 14469) t.ok(h.needPax, 'need pax because long filename') const h2 = new Header(b2) t.match(h2, { path: 'long-dirname-long-dirname-long-dirname-long-dirname-' + 'long-dirname-long-dirname-long-dirname-long-dir', cksum: 14469, cksumValid: true, needPax: false, }) t.end() }) }) t.test('throwers', t => { t.throws(_ => new Header(Buffer.alloc(100)), new Error('need 512 bytes for header')) t.throws(_ => new Header({}).encode(Buffer.alloc(100)), new Error('need 512 bytes for header')) t.end() }) t.test('null block', t => { const h = new Header(Buffer.alloc(512)) t.match(h, { cksumValid: false, needPax: false, path: '', type: 'File', mode: null, uid: null, gid: null, size: null, mtime: null, cksum: null, linkpath: '', uname: null, gname: null, devmaj: 0, devmin: 0, atime: null, ctime: null, nullBlock: true, }) t.end() }) t.test('unknown type', t => { const h = new Header(Buffer.from( '666f6f2e74787400000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000030303037353520003035373736312000303030303234200030303030' + '303030313434200031323637373536373534300030303630373620005a000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000', 'hex')) t.equal(h.type, 'Z') t.equal(h.typeKey, 'Z') t.end() }) t.test('dir as file with trailing /', t => { const b = Buffer.from( '782f792f00000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000030303030' + '3030303030302000000000000000000000000000303034363136200030000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0075737461720030300000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000003030303030302000303030303030200000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000', 'hex') const h = new Header(b) t.equal(h.type, 'Directory') b[156] = '0'.charCodeAt(0) const h2 = new Header(b) t.equal(h2.type, 'Directory') t.end() }) t.test('null numeric values do not get written', t => { const b = Buffer.alloc(512) const h = new Header() h.encode(b, 0) t.equal( b.toString('hex'), '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000303033303737200030000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0075737461720030300000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000003030303030302000303030303030200000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000') const h2 = new Header(b) t.match(h2, { type: 'File', cksumValid: true, needPax: false, nullBlock: false, path: '', mode: null, uid: null, gid: null, size: null, mtime: null, cksum: 1599, linkpath: '', uname: '', gname: '', devmaj: 0, devmin: 0, atime: null, ctime: null, }) t.end() }) t.test('big numbers', t => { const b = Buffer.alloc(512) const h = new Header({ path: 'bignum', size: 0o77777777777 + 1, }) h.encode(b, 0) const h2 = new Header(b) t.equal(h2.size, 0o77777777777 + 1) t.end() }) t.test('dir with long body', t => { const b = Buffer.from( '7061636b6167652f76656e646f72000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000030303037353520003030303030302000303030303030200030303030' + '3030313030303020313330363133303232343120303132303236200035000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0075737461720030300000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000003030303030302000303030303030200000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000', 'hex') const h = new Header(b) t.equal(h.type, 'Directory') t.equal(h.size, 0) t.end() }) t.test('null block, global extended header', t => { const h = new Header(Buffer.alloc(512), 0, { undef: undefined, blerg: 'bloo', }, { path: '/global.path', foo: 'global foo', }) t.match(h, { cksumValid: false, needPax: false, path: '', type: 'File', mode: null, uid: null, gid: null, size: null, mtime: null, cksum: null, linkpath: '', uname: null, gname: null, devmaj: 0, devmin: 0, atime: null, ctime: null, nullBlock: true, blerg: 'bloo', foo: 'global foo', }) t.end() }) t.test('gnutar-generated 10gb file size', t => { const b = Buffer.from( '313067622e696d67000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000030303030363634003030303137353000303030313735300080000000' + '0000000280000000313334373434303132303500303131313437002030000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0075737461722020006973616163730000000000000000000000000000000000' + '0000000000000000006973616163730000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000', 'hex') const h = new Header(b) t.equal(h.size, 1024 * 1024 * 1024 * 10, 'should be 10gb file') t.end() }) ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/test/high-level-opt.js��������������������������������������������������������������0000664�0000000�0000000�00000001141�14344174136�0017460�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������'use strict' const t = require('tap') const hlo = require('../lib/high-level-opt.js') t.same(hlo(), {}) t.same(hlo({ C: 'dir', f: 'file', z: 'zip', P: 'preserve', U: 'unlink', 'strip-components': 99, foo: 'bar', }), { cwd: 'dir', file: 'file', gzip: 'zip', preservePaths: 'preserve', unlink: 'unlink', strip: 99, foo: 'bar', }) t.same(hlo({ C: 'dir', f: 'file', z: 'zip', P: 'preserve', U: 'unlink', stripComponents: 99, foo: 'bar', }), { cwd: 'dir', file: 'file', gzip: 'zip', preservePaths: 'preserve', unlink: 'unlink', strip: 99, foo: 'bar', }) �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/test/index.js�����������������������������������������������������������������������0000664�0000000�0000000�00000003435�14344174136�0015753�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������const t = require('tap') const tar = require('../') t.match(tar, { create: Function, c: Function, replace: Function, r: Function, list: Function, t: Function, update: Function, u: Function, extract: Function, x: Function, Pack: Function, Unpack: Function, Parse: Function, ReadEntry: Function, WriteEntry: Function, Header: Function, Pax: Function, types: { name: new Map([ ['0', 'File'], ['', 'OldFile'], ['1', 'Link'], ['2', 'SymbolicLink'], ['3', 'CharacterDevice'], ['4', 'BlockDevice'], ['5', 'Directory'], ['6', 'FIFO'], ['7', 'ContiguousFile'], ['g', 'GlobalExtendedHeader'], ['x', 'ExtendedHeader'], ['A', 'SolarisACL'], ['D', 'GNUDumpDir'], ['I', 'Inode'], ['K', 'NextFileHasLongLinkpath'], ['L', 'NextFileHasLongPath'], ['M', 'ContinuationFile'], ['N', 'OldGnuLongPath'], ['S', 'SparseFile'], ['V', 'TapeVolumeHeader'], ['X', 'OldExtendedHeader'], ]), code: new Map([ ['File', '0'], ['OldFile', ''], ['Link', '1'], ['SymbolicLink', '2'], ['CharacterDevice', '3'], ['BlockDevice', '4'], ['Directory', '5'], ['FIFO', '6'], ['ContiguousFile', '7'], ['GlobalExtendedHeader', 'g'], ['ExtendedHeader', 'x'], ['SolarisACL', 'A'], ['GNUDumpDir', 'D'], ['Inode', 'I'], ['NextFileHasLongLinkpath', 'K'], ['NextFileHasLongPath', 'L'], ['ContinuationFile', 'M'], ['OldGnuLongPath', 'N'], ['SparseFile', 'S'], ['TapeVolumeHeader', 'V'], ['OldExtendedHeader', 'X'], ]), }, }) t.match(tar.Pack.Sync, Function) t.match(tar.WriteEntry.Sync, Function) t.match(tar.WriteEntry.Tar, Function) t.match(tar.Pax.parse, Function) �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/test/large-numbers.js���������������������������������������������������������������0000664�0000000�0000000�00000005326�14344174136�0017410�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������'use strict' const large = require('../lib/large-numbers.js') const encode = large.encode const parse = large.parse const t = require('tap') t.test('parse', t => { const cases = new Map([ ['ffffffffffffffffffffffff', -1], ['800000000000100000000020', 17592186044448], ['fffffffffffffffe1ecc8020', -8073215968], ['fffffffffffffff000000020', -68719476704], ['80000000001fffffffffffff', 9007199254740991], // MAX_SAFE_INTEGER ['ffffffffffe0000000000001', -9007199254740991], // MIN_SAFE_INTEGER ['800000000000100000000000', 17592186044416], ['fffffffffffffffe1ecc8000', -8073216000], ['fffffffffffffff000000000', -68719476736], ['800000000000000353b66200', 14289363456], ]) t.plan(cases.size) cases.forEach((value, hex) => t.equal(parse(Buffer.from(hex, 'hex')), value)) }) t.test('parse out of range', t => { const cases = [ '800000030000000000000000', '800000000020000000000000', // MAX_SAFE_INTEGER + 1 'ffffffffffe0000000000000', // MIN_SAFE_INTEGER - 1 'fffffffffdd0000000000000', ] t.plan(cases.length) cases.forEach((hex) => t.throws(_ => parse(Buffer.from(hex, 'hex')), Error('parsed number outside of javascript safe integer range'))) }) t.test('parse invalid base256 encoding', t => { const cases = [ '313233343536373131', // octal encoded '700000030000000000000000', // does not start with 0x80 or 0xff ] t.plan(cases.length) cases.forEach((hex) => t.throws(_ => parse(Buffer.from(hex, 'hex')), Error('invalid base256 encoding'))) }) t.test('encode', t => { const cases = new Map([ ['ffffffffffffffffffffffff', -1], ['800000000000100000000020', 17592186044448], ['800000000000100000000000', 17592186044416], ['fffffffffffffffe1ecc8020', -8073215968], ['fffffffffffffff000000020', -68719476704], ['fffffffffffffff000000000', -68719476736], // Allows us to test the case where there's a trailing 00 ['80000000001fffffffffffff', 9007199254740991], // MAX_SAFE_INTEGER ['ffffffffffe0000000000001', -9007199254740991], // MIN_SAFE_INTEGER ]) t.plan(2) t.test('alloc', t => { t.plan(cases.size) cases.forEach((value, hex) => t.equal(encode(value, Buffer.alloc(12)).toString('hex'), hex)) }) t.test('allocUnsafe', t => { t.plan(cases.size) cases.forEach((value, hex) => t.equal(encode(value, Buffer.allocUnsafe(12)).toString('hex'), hex)) }) }) t.test('encode unsafe numbers', t => { const cases = [ Number.MAX_VALUE, Number.MAX_SAFE_INTEGER + 1, Number.MIN_SAFE_INTEGER - 1, Number.MIN_VALUE, ] t.plan(cases.length) cases.forEach((value) => t.throws(_ => encode(value), Error('cannot encode number outside of javascript safe integer range'))) }) ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/test/list.js������������������������������������������������������������������������0000664�0000000�0000000�00000015123�14344174136�0015614�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������'use strict' const t = require('tap') const list = require('../lib/list.js') const path = require('path') const fs = require('fs') const mutateFS = require('mutate-fs') t.test('basic', t => { const file = path.resolve(__dirname, 'fixtures/tars/long-paths.tar') const expect = require('./fixtures/parse/long-paths.json').filter( e => Array.isArray(e) && e[0] === 'entry' ).map(e => e[1].path) const check = (actual, t) => { t.same(actual, expect) return Promise.resolve(null) } ;[1000, null].forEach(maxReadSize => { t.test('file maxReadSize=' + maxReadSize, t => { t.test('sync', t => { const actual = [] const onentry = entry => actual.push(entry.path) list({ file: file, sync: true, onentry: onentry, maxReadSize: maxReadSize, }) return check(actual, t) }) t.test('async promise', t => { const actual = [] const onentry = entry => actual.push(entry.path) return list({ file: file, onentry: onentry, maxReadSize: maxReadSize, }).then(_ => check(actual, t)) }) t.test('async cb', t => { const actual = [] const onentry = entry => actual.push(entry.path) list({ file: file, onentry: onentry, maxReadSize: maxReadSize, }, er => { if (er) { throw er } check(actual, t) t.end() }) }) t.end() }) }) t.test('stream', t => { t.test('sync', t => { const actual = [] const onentry = entry => actual.push(entry.path) const l = list({ sync: true, onentry: onentry }) l.end(fs.readFileSync(file)) return check(actual, t) }) t.test('async', t => { const actual = [] const onentry = entry => actual.push(entry.path) const l = list() l.on('entry', onentry) l.on('end', _ => check(actual, t).then(_ => t.end())) fs.createReadStream(file).pipe(l) }) t.end() }) t.test('no onentry function', t => list({ file: file })) t.test('limit to specific files', t => { const fileList = [ 'long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t', '170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc///', ] const expect = [ '170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc', 'long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/', 'long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/', 'long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/a.txt', 'long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc', 'long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc', 'long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc', 'long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/Ω.txt', ] t.test('no filter function', t => { const check = _ => t.same(actual, expect) const actual = [] return list({ file: file, onentry: entry => actual.push(entry.path), }, fileList).then(check) }) t.test('no filter function, stream', t => { const check = _ => t.same(actual, expect) const actual = [] const onentry = entry => actual.push(entry.path) fs.createReadStream(file).pipe(list(fileList) .on('entry', onentry) .on('end', _ => { check() t.end() })) }) t.test('filter function', t => { const check = _ => t.same(actual, expect.slice(0, 1)) const actual = [] return list({ file: file, filter: path => path === expect[0], onentry: entry => actual.push(entry.path), }, fileList).then(check) }) return t.test('list is unmunged', t => { t.same(fileList, [ 'long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t', '170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc///', ]) t.end() }) }) t.end() }) t.test('bad args', t => { t.throws(_ => list({ file: __filename, sync: true }, _ => _), new TypeError('callback not supported for sync tar functions')) t.throws(_ => list(_ => _), new TypeError('callback only supported with file option')) t.end() }) t.test('stat fails', t => { const poop = new Error('poop') t.teardown(mutateFS.statFail(poop)) t.test('sync', t => { t.plan(1) t.throws(_ => list({ file: __filename, sync: true }), poop) }) t.test('cb', t => { t.plan(1) list({ file: __filename }, er => t.equal(er, poop)) }) t.test('promise', t => { t.plan(1) list({ file: __filename }).catch(er => t.equal(er, poop)) }) t.end() }) t.test('read fail', t => { t.test('sync', t => { const poop = new Error('poop') t.teardown(mutateFS.fail('read', poop)) t.plan(1) t.throws(_ => list({ file: __filename, sync: true, maxReadSize: 10, }), poop) }) t.test('cb', t => { const poop = new Error('poop') t.teardown(mutateFS.fail('read', poop)) t.plan(1) list({ file: __filename }, er => t.equal(er, poop)) }) t.test('promise', t => { const poop = new Error('poop') t.teardown(mutateFS.fail('read', poop)) t.plan(1) list({ file: __filename }).catch(er => t.equal(er, poop)) }) t.end() }) t.test('noResume option', t => { const file = path.resolve(__dirname, 'fixtures/tars/file.tar') t.test('sync', t => { let e list({ file: file, onentry: entry => { e = entry process.nextTick(_ => { t.notOk(entry.flowing) entry.resume() }) }, sync: true, noResume: true, }) t.ok(e) t.notOk(e.flowing) e.on('end', _ => t.end()) }) t.test('async', t => list({ file: file, onentry: entry => { process.nextTick(_ => { t.notOk(entry.flowing) entry.resume() }) }, noResume: true, })) t.end() }) ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/test/load-all.js��������������������������������������������������������������������0000664�0000000�0000000�00000000524�14344174136�0016325�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������'use strict' // just load all the files so we can't cheat coverage by avoiding something require('../') const fs = require('fs') const path = require('path') const lib = path.resolve(__dirname, '../lib') fs.readdirSync(lib) .filter(f => /\.js$/.test(f)) .forEach(f => require('../lib/' + f)) require('tap').pass('all lib files loaded') ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/test/make-tar.js��������������������������������������������������������������������0000664�0000000�0000000�00000001245�14344174136�0016342�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������'use strict' // a little utility to create virtual tar data if (module === require.main) { return require('tap').pass('this is fine') } const Header = require('../lib/header.js') module.exports = chunks => { let dataLen = 0 return Buffer.concat(chunks.map(chunk => { if (Buffer.isBuffer(chunk)) { dataLen += chunk.length return chunk } const size = Math.max(typeof chunk === 'string' ? 512 * Math.ceil(chunk.length / 512) : 512) dataLen += size const buf = Buffer.alloc(size) if (typeof chunk === 'string') { buf.write(chunk) } else { new Header(chunk).encode(buf, 0) } return buf }), dataLen) } �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/test/map.js�������������������������������������������������������������������������0000664�0000000�0000000�00000000422�14344174136�0015412�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������const t = require('tap') const map = require('../map.js') t.equal(map('test/index.js'), 'index.js') t.same(map('test/unpack.js'), ['lib/unpack.js', 'lib/mkdir.js']) t.same(map('test/load-all.js'), []) t.equal(map(__filename), 'map.js') t.equal(map('test/asdf'), 'lib/asdf') ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/test/mode-fix.js��������������������������������������������������������������������0000664�0000000�0000000�00000000756�14344174136�0016357�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������'use strict' const t = require('tap') const mf = require('../lib/mode-fix.js') t.equal(mf(0o10644, false), 0o644) t.equal(mf(0o10644, true), 0o755) t.equal(mf(0o10604, true), 0o705) t.equal(mf(0o10600, true), 0o700) t.equal(mf(0o10066, true), 0o077) t.equal(mf(0o10664, false, true), 0o644) t.equal(mf(0o10066, false, true), 0o644) t.equal(mf(0o10666, true, true), 0o755) t.equal(mf(0o10604, true, true), 0o705) t.equal(mf(0o10600, true, true), 0o700) t.equal(mf(0o10066, true, true), 0o755) ������������������node-tar-6.1.13/test/normalize-unicode.js�����������������������������������������������������������0000664�0000000�0000000�00000000656�14344174136�0020272�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������const t = require('tap') const normalize = require('../lib/normalize-unicode.js') // café const cafe1 = Buffer.from([0x63, 0x61, 0x66, 0xc3, 0xa9]).toString() // cafe with a ` const cafe2 = Buffer.from([0x63, 0x61, 0x66, 0x65, 0xcc, 0x81]).toString() t.equal(normalize(cafe1), normalize(cafe2), 'matching unicodes') t.equal(normalize(cafe1), normalize(cafe2), 'cached') t.equal(normalize('foo'), 'foo', 'non-unicode string') ����������������������������������������������������������������������������������node-tar-6.1.13/test/normalize-windows-path.js������������������������������������������������������0000664�0000000�0000000�00000001573�14344174136�0021267�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������const t = require('tap') const realPlatform = process.platform const fakePlatform = realPlatform === 'win32' ? 'posix' : 'win32' t.test('posix', t => { if (realPlatform === 'win32') { process.env.TESTING_TAR_FAKE_PLATFORM = fakePlatform } else { delete process.env.TESTING_TAR_FAKE_PLATFORM } const normPath = t.mock('../lib/normalize-windows-path.js') t.equal(normPath('/some/path/back\\slashes'), '/some/path/back\\slashes') t.equal(normPath('c:\\foo\\bar'), 'c:\\foo\\bar') t.end() }) t.test('win32', t => { if (realPlatform !== 'win32') { process.env.TESTING_TAR_FAKE_PLATFORM = fakePlatform } else { delete process.env.TESTING_TAR_FAKE_PLATFORM } const normPath = t.mock('../lib/normalize-windows-path.js') t.equal(normPath('/some/path/back\\slashes'), '/some/path/back/slashes') t.equal(normPath('c:\\foo\\bar'), 'c:/foo/bar') t.end() }) �������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/test/pack.js������������������������������������������������������������������������0000664�0000000�0000000�00000077246�14344174136�0015575�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������'use strict' const t = require('tap') const Pack = require('../lib/pack.js') const PackSync = Pack.Sync const fs = require('fs') const path = require('path') const fixtures = path.resolve(__dirname, 'fixtures') const files = path.resolve(fixtures, 'files') const tars = path.resolve(fixtures, 'tars') const chmodr = require('chmodr') const Header = require('../lib/header.js') const zlib = require('zlib') const miniz = require('minizlib') const mutateFS = require('mutate-fs') const MiniPass = require('minipass') process.env.USER = 'isaacs' const EE = require('events').EventEmitter const rimraf = require('rimraf') const mkdirp = require('mkdirp') const ReadEntry = require('../lib/read-entry.js') const isWindows = process.platform === 'win32' const normPath = require('../lib/normalize-windows-path.js') const ctime = new Date('2017-05-10T01:03:12.000Z') const atime = new Date('2017-04-17T00:00:00.000Z') const mtime = new Date('2016-04-01T19:00:00.000Z') t.teardown(mutateFS.statMutate((er, st) => { if (st) { st.ctime = ctime st.atime = atime st.mtime = mtime } })) t.test('set up', t => { const one = fs.statSync(files + '/hardlink-1') const two = fs.statSync(files + '/hardlink-2') if (one.dev !== two.dev || one.ino !== two.ino) { try { fs.unlinkSync(files + '/hardlink-2') } catch (e) {} fs.linkSync(files + '/hardlink-1', files + '/hardlink-2') } chmodr.sync(files, 0o644) t.end() }) t.test('pack a file', t => { const out = [] new Pack({ cwd: files }) .end('one-byte.txt') .on('data', c => out.push(c)) .on('end', _ => { const data = Buffer.concat(out) t.equal(data.length, 2048) t.match(data.slice(512).toString(), /^a\0{511}\0{1024}$/) const h = new Header(data) const expect = { cksumValid: true, needPax: false, path: 'one-byte.txt', mode: isWindows ? 0o666 : 0o644, size: 1, mtime: mtime, cksum: Number, linkpath: '', uname: 'isaacs', gname: '', devmaj: 0, devmin: 0, atime: atime, ctime: ctime, nullBlock: false, type: 'File', } t.match(h, expect) || console.log(h, expect) const ps = new PackSync({ cwd: files }) const sout = [] ps.on('data', chunk => sout.push(chunk)) ps.add('one-byte.txt').end() const sync = Buffer.concat(sout) if (sync.length === 0) { throw new Error('no data!') } t.equal(sync.slice(512).toString(), data.slice(512).toString()) const hs = new Header(sync) t.match(hs, expect) t.end() }) }) t.test('pack a file with a prefix', t => { const out = [] new Pack({ cwd: files, prefix: 'package/' }) .end('.dotfile') .on('data', c => out.push(c)) .on('end', _ => { const data = Buffer.concat(out) t.equal(data.length, 2048) t.match(data.slice(512).toString(), /^.\n\0{510}\0{1024}$/) const h = new Header(data) const expect = { cksumValid: true, needPax: false, path: 'package/.dotfile', mode: isWindows ? 0o666 : 0o644, size: 2, mtime: mtime, cksum: Number, linkpath: '', uname: 'isaacs', gname: '', devmaj: 0, devmin: 0, atime: atime, ctime: ctime, nullBlock: false, type: 'File', } t.match(h, expect) const sync = new PackSync({ cwd: files, prefix: 'package' }) .add('.dotfile').end().read() t.equal(sync.slice(512).toString(), data.slice(512).toString()) const hs = new Header(sync) t.match(hs, expect) t.end() }) }) t.test('portable pack a dir', t => { const out = [] new Pack({ cwd: files, portable: true, gzip: true }) .add('dir') .on('data', c => out.push(c)) .end() .on('end', _ => { const zipped = Buffer.concat(out) t.equal(zipped[9], 255, 'gzip OS flag set to "unknown"') const data = new miniz.Gunzip().end(zipped).read() // dir/, dir/x, and the nulls // neither the dir or the file have any body bits const h = new Header(data) const expect = { type: 'Directory', cksumValid: true, needPax: false, path: 'dir/', mode: 0o755, size: 0, mtime: null, cksum: Number, linkpath: '', uname: '', gname: '', devmaj: 0, devmin: 0, atime: null, ctime: null, nullBlock: false, } t.match(h, expect) t.equal(data.length, 2048) t.match(data.slice(1024).toString(), /^\0{1024}$/) const syncgz = new PackSync({ cwd: files, portable: true, gzip: true }) .add('dir').end().read() t.equal(syncgz[9], 255, 'gzip OS flag set to "unknown"') const sync = new miniz.Gunzip().end(zipped).read() t.equal(sync.slice(512).toString(), data.slice(512).toString()) const hs = new Header(sync) t.match(hs, expect) const expect2 = { type: 'File', cksumValid: true, needPax: false, path: 'dir/x', mode: 0o644, size: 0, mtime: mtime, cksum: Number, linkpath: '', uname: '', gname: '', devmaj: 0, devmin: 0, atime: null, ctime: null, nullBlock: false, } t.match(new Header(data.slice(512)), expect2) t.match(new Header(sync.slice(512)), expect2) t.end() }) }) t.test('use process cwd if cwd not specified', t => { const cwd = process.cwd() t.teardown(_ => process.chdir(cwd)) process.chdir(files) const out = [] new Pack() .add('dir') .on('data', c => out.push(c)) .end() .on('end', _ => { const data = Buffer.concat(out) // dir/, dir/x, and the nulls // neither the dir or the file have any body bits const h = new Header(data) const expect = { type: 'Directory', cksumValid: true, needPax: false, path: 'dir/', mode: isWindows ? 0o777 : 0o755, size: 0, mtime: mtime, cksum: Number, linkpath: '', uname: 'isaacs', gname: '', devmaj: 0, devmin: 0, atime: atime, ctime: ctime, nullBlock: false, } t.match(h, expect) t.equal(data.length, 2048) t.match(data.slice(1024).toString(), /^\0{1024}$/) const sync = new PackSync({ cwd: files }) .add('dir').end().read() t.equal(sync.slice(512).toString(), data.slice(512).toString()) const hs = new Header(sync) t.match(hs, expect) const expect2 = { type: 'File', cksumValid: true, needPax: false, path: 'dir/x', mode: isWindows ? 0o666 : 0o644, size: 0, mtime: mtime, cksum: Number, linkpath: '', uname: 'isaacs', gname: '', devmaj: 0, devmin: 0, atime: atime, ctime: ctime, nullBlock: false, } t.match(new Header(data.slice(512)), expect2) t.match(new Header(sync.slice(512)), expect2) t.end() }) }) t.test('filter', t => { const out = [] const filter = (path, stat) => stat.isDirectory() // only include directories, so dir/x should not appear new Pack({ cwd: files, filter: filter }) .add('dir') .on('data', c => out.push(c)) .end() .on('end', _ => { const data = Buffer.concat(out) // dir/, dir/x, and the nulls // neither the dir or the file have any body bits const h = new Header(data) const expect = { type: 'Directory', cksumValid: true, needPax: false, path: 'dir/', mode: isWindows ? 0o777 : 0o755, size: 0, mtime: mtime, cksum: Number, linkpath: '', uname: 'isaacs', gname: '', devmaj: 0, devmin: 0, atime: atime, ctime: ctime, nullBlock: false, } t.match(h, expect) t.equal(data.length, 1536) t.match(data.slice(512).toString(), /^\0{1024}$/) const sync = new PackSync({ cwd: files, filter: filter }) .add('dir').end().read() t.equal(sync.slice(512).toString(), data.slice(512).toString()) const hs = new Header(sync) t.match(hs, expect) t.end() }) }) t.test('add the same dir twice (exercise cache code)', t => { const out = [] const filter = (path, stat) => stat.isDirectory() // only include directories, so dir/x should not appear const pack = new Pack({ cwd: files, filter: filter }) .add('dir') .add('dir') .on('data', c => out.push(c)) .end() .on('end', _ => { const data = Buffer.concat(out) // dir/, dir/x, and the nulls // neither the dir or the file have any body bits const h = new Header(data) const expect = { type: 'Directory', cksumValid: true, needPax: false, path: 'dir/', mode: isWindows ? 0o777 : 0o755, size: 0, mtime: mtime, cksum: Number, linkpath: '', uname: 'isaacs', gname: '', devmaj: 0, devmin: 0, atime: atime, ctime: ctime, nullBlock: false, } t.match(h, expect) const h2 = new Header(data.slice(512)) t.match(h2, expect) t.equal(data.length, 2048) t.match(data.slice(1024).toString(), /^\0{1024}$/) const sync = new PackSync({ cwd: files, filter: filter, linkCache: pack.linkCache, readdirCache: pack.readdirCache, statCache: pack.statCache, }) .add('dir').add('dir').end().read() t.equal(sync.slice(1024).toString(), data.slice(1024).toString()) const hs = new Header(sync) t.match(hs, expect) const hs2 = new Header(sync.slice(512)) t.match(hs2, expect) t.end() }) }) t.test('if gzip is truthy, make it an object', t => { const opt = { gzip: true } new Pack(opt) t.type(opt.gzip, 'object') t.end() }) t.test('gzip, also a very deep path', t => { const out = [] new Pack({ cwd: files, gzip: { flush: 1 }, }) .add('dir') .add('long-path') .on('data', c => out.push(c)) .end() .on('end', _ => { const zipped = Buffer.concat(out) const data = zlib.unzipSync(zipped) const entries = [] for (var i = 0; i < data.length; i += 512) { const slice = data.slice(i, i + 512) const h = new Header(slice) if (h.nullBlock) { entries.push('null block') } else if (h.cksumValid) { entries.push([h.type, h.path]) } else if (entries[entries.length - 1][0] === 'File') { entries[entries.length - 1].push(slice.toString().replace(/\0.*$/, '')) } } const expect = [ ['Directory', 'dir/'], ['Directory', 'long-path/'], ['File', 'dir/x'], ['Directory', 'long-path/r/'], ['Directory', 'long-path/r/e/'], ['Directory', 'long-path/r/e/a/'], ['Directory', 'long-path/r/e/a/l/'], ['Directory', 'long-path/r/e/a/l/l/'], ['Directory', 'long-path/r/e/a/l/l/y/'], ['Directory', 'long-path/r/e/a/l/l/y/-/'], ['Directory', 'long-path/r/e/a/l/l/y/-/d/'], ['Directory', 'long-path/r/e/a/l/l/y/-/d/e/'], ['Directory', 'long-path/r/e/a/l/l/y/-/d/e/e/'], ['Directory', 'long-path/r/e/a/l/l/y/-/d/e/e/p/'], ['Directory', 'long-path/r/e/a/l/l/y/-/d/e/e/p/-/'], ['Directory', 'long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/'], ['Directory', 'long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/'], ['Directory', 'long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/'], ['Directory', 'long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/'], ['Directory', 'long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/'], ['Directory', 'long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/'], ['Directory', 'long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/'], ['Directory', 'long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/'], ['Directory', 'long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/'], ['Directory', 'long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/'], ['Directory', 'long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/'], ['File', 'long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/a.txt', 'short\n'], ['File', 'long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc', '1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111'], ['ExtendedHeader', 'PaxHeader/ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc'], ['File', 'long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc', '2222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222'], ['ExtendedHeader', 'PaxHeader/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxccccccccccccccccccccccccccccccccccccccc'], ['File', 'long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxccccccccccccccccccccccccccccccccccccccccccccccccc', 'cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc'], ['ExtendedHeader', 'PaxHeader/Ω.txt'], ['File', 'long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/Ω.txt', 'Ω'], 'null block', 'null block', ] let ok = true entries.forEach((entry, i) => { ok = ok && t.equal(entry[0], expect[i][0]) && t.equal(entry[1], expect[i][1]) && (!entry[2] || t.equal(entry[2], expect[i][2])) }) // t.match(entries, expect) t.end() }) }) t.test('very deep gzip path, sync', t => { const pack = new PackSync({ cwd: files, gzip: true, }).add('dir') .add('long-path') .end() // these do nothing! pack.pause() pack.resume() const zipped = pack.read() t.type(zipped, Buffer) const data = zlib.unzipSync(zipped) const entries = [] for (var i = 0; i < data.length; i += 512) { const slice = data.slice(i, i + 512) const h = new Header(slice) if (h.nullBlock) { entries.push('null block') } else if (h.cksumValid) { entries.push([h.type, h.path]) } else if (entries[entries.length - 1][0] === 'File') { entries[entries.length - 1].push(slice.toString().replace(/\0.*$/, '')) } } const expect = [ ['Directory', 'dir/'], ['File', 'dir/x'], ['Directory', 'long-path/'], ['Directory', 'long-path/r/'], ['Directory', 'long-path/r/e/'], ['Directory', 'long-path/r/e/a/'], ['Directory', 'long-path/r/e/a/l/'], ['Directory', 'long-path/r/e/a/l/l/'], ['Directory', 'long-path/r/e/a/l/l/y/'], ['Directory', 'long-path/r/e/a/l/l/y/-/'], ['Directory', 'long-path/r/e/a/l/l/y/-/d/'], ['Directory', 'long-path/r/e/a/l/l/y/-/d/e/'], ['Directory', 'long-path/r/e/a/l/l/y/-/d/e/e/'], ['Directory', 'long-path/r/e/a/l/l/y/-/d/e/e/p/'], ['Directory', 'long-path/r/e/a/l/l/y/-/d/e/e/p/-/'], ['Directory', 'long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/'], ['Directory', 'long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/'], ['Directory', 'long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/'], ['Directory', 'long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/'], ['Directory', 'long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/'], ['Directory', 'long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/'], ['Directory', 'long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/'], ['Directory', 'long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/'], ['Directory', 'long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/'], ['Directory', 'long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/'], ['Directory', 'long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/'], ['File', 'long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/a.txt', 'short\n'], ['File', 'long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc', '1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111'], ['ExtendedHeader', 'PaxHeader/ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc'], ['File', 'long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc', '2222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222'], ['ExtendedHeader', 'PaxHeader/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxccccccccccccccccccccccccccccccccccccccc'], ['File', 'long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxccccccccccccccccccccccccccccccccccccccccccccccccc', 'cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc'], ['ExtendedHeader', 'PaxHeader/Ω.txt'], ['File', 'long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/Ω.txt', 'Ω'], 'null block', 'null block', ] let ok = true entries.forEach((entry, i) => { ok = ok && t.equal(entry[0], expect[i][0]) && t.equal(entry[1], expect[i][1]) && (!entry[2] || t.equal(entry[2], expect[i][2])) }) // t.match(entries, expect) t.end() }) t.test('write after end', t => { const p = new Pack() p.end() t.throws(_ => p.add('nope'), new Error('write after end')) t.end() }) t.test('emit error when stat fail', t => { t.teardown(mutateFS.statFail(new Error('xyz'))) t.throws(_ => new PackSync({ cwd: files }).add('one-byte.txt'), new Error('xyz')) new Pack({ cwd: files }).add('one-byte.txt').on('error', e => { t.match(e, { message: 'xyz' }) t.end() }) }) t.test('readdir fail', t => { t.teardown(mutateFS.fail('readdir', new Error('xyz'))) t.throws(_ => new PackSync({ cwd: files }).add('dir'), new Error('xyz')) new Pack({ cwd: files }).add('dir').on('error', e => { t.match(e, { message: 'xyz' }) t.end() }) }) t.test('pipe into a slow reader', t => { const out = [] const mp = new MiniPass() const mp2 = new MiniPass() const p = new Pack({ cwd: files }).add('long-path').end() p.pause() p.pipe(mp).pipe(mp2) setTimeout(_ => { mp2.on('data', c => out.push(c)) setTimeout(_ => p.resume(), 100) }, 100) mp.on('end', _ => { const data = Buffer.concat(out) const h = new Header(data) const expect = { type: 'Directory', cksumValid: true, needPax: false, path: 'long-path/', mode: isWindows ? 0o777 : 0o755, size: 0, mtime: mtime, cksum: Number, linkpath: '', uname: 'isaacs', gname: '', devmaj: 0, devmin: 0, atime: atime, ctime: ctime, nullBlock: false, } t.match(h, expect) t.equal(data.length, 21504) t.match(data.slice(data.length - 1024).toString(), /^\0{1024}$/) t.end() }) }) t.test('pipe into a slow gzip reader', t => { const out = [] const mp2 = new miniz.Unzip() const p = new Pack({ cwd: files, gzip: true }).add('long-path').end() p.pause() class SlowStream extends EE { write (chunk) { mp2.write(chunk) setTimeout(_ => { this.emit('drain') p.resume() }) return false } end (chunk) { return mp2.end(chunk) } } const ss = new SlowStream() setTimeout(_ => { p.pipe(ss) p.resume() }) mp2.on('data', c => out.push(c)) mp2.on('end', _ => { t.pass('mp2 end') const data = Buffer.concat(out) // dir/, dir/x, and the nulls // neither the dir or the file have any body bits const h = new Header(data) const expect = { type: 'Directory', cksumValid: true, needPax: false, path: 'long-path/', mode: isWindows ? 0o777 : 0o755, size: 0, mtime: mtime, cksum: Number, linkpath: '', uname: 'isaacs', gname: '', devmaj: 0, devmin: 0, atime: atime, ctime: ctime, nullBlock: false, } t.match(h, expect) t.equal(data.length, 21504) t.match(data.slice(data.length - 1024).toString(), /^\0{1024}$/) t.end() }) }) t.test('ignores mid-queue', t => { // we let the first one through, and then ignore all the others // so that we trigger the case where an ignored entry is not the // head of the queue. let didFirst = false const p = new Pack({ cwd: tars, filter: (p, st) => { if (p === './') { return true } if (!didFirst) { return didFirst = true } return false }, }) const out = [] const files = fs.readdirSync(tars) p.on('data', c => out.push(c)) p.on('end', _ => { const data = Buffer.concat(out) t.equal(data.slice(0, 100).toString().replace(/\0.*$/, ''), './') const file = data.slice(512, 612).toString().replace(/\0.*$/, '') t.not(files.indexOf(file), -1) t.end() }) p.add('') p.end() }) t.test('warnings', t => { const f = path.resolve(files, '512-bytes.txt') t.test('preservePaths=false strict=false', t => { const warnings = [] const p = new Pack({ cwd: files, onwarn: (c, m, p) => warnings.push([c, m, p]), }).end(f).on('data', c => out.push(c)) const out = [] p.on('end', _ => { const data = Buffer.concat(out) t.equal(data.length, 2048) t.match(warnings, [[ 'TAR_ENTRY_INFO', /stripping .* from absolute path/, { path: normPath(f) }, ]]) t.match(new Header(data), { path: normPath(f).replace(/^(\/|[a-z]:\/)/i, ''), }) t.end() }) }) t.test('preservePaths=true', t => { t.plan(2) // with preservePaths, strictness doens't matter ;[true, false].forEach(strict => { t.test('strict=' + strict, t => { const warnings = [] const out = [] const p = new Pack({ cwd: files, strict: strict, preservePaths: true, onwarn: (c, m, p) => warnings.push([c, m, p]), }).end(f).on('data', c => out.push(c)) p.on('end', _ => { const data = Buffer.concat(out) t.equal(warnings.length, 0) t.match(new Header(data), { path: normPath(f), }) t.end() }) }) }) }) t.test('preservePaths=false strict=true', t => { new Pack({ strict: true, cwd: files, }).end(f).on('error', e => { t.match(e, { message: /stripping .* from absolute path/, path: normPath(f), }) t.end() }) }) t.end() }) t.test('no dir recurse', t => { const dir = path.resolve(fixtures, 'pack-no-dir-recurse') t.teardown(_ => rimraf.sync(dir)) t.beforeEach(() => { rimraf.sync(dir) mkdirp.sync(dir + '/x') fs.writeFileSync(dir + '/x/y', 'y') }) const check = (t, data) => { t.equal(data.length, 512 + 1024) t.equal(data.slice(512).toString(), new Array(1025).join('\0')) t.match(new Header(data), { type: 'Directory', path: 'x/', size: 0, }) t.end() } t.test('async', t => { const p = new Pack({ cwd: dir, noDirRecurse: true, }) const out = [] p.end('x') .on('data', c => out.push(c)) .on('end', _ => check(t, Buffer.concat(out))) }) t.test('sync', t => { const p = new Pack.Sync({ cwd: dir, noDirRecurse: true, }) p.end('x') check(t, p.read()) }) t.end() }) t.test('follow', { skip: isWindows && 'file symlinks not available' }, t => { const check = (out, t) => { const data = Buffer.concat(out) t.equal(data.length, 2048) t.match(new Header(data, 0), { type: 'File', cksumValid: true, needPax: false, path: 'symlink', mode: isWindows ? 0o666 : 0o644, size: 26, }) t.match(data.slice(512).toString(), /this link is like diamond\n\0+$/) t.end() } t.test('async', t => { const out = [] const p = new Pack({ cwd: files, follow: true }) p.on('data', c => out.push(c)) p.on('end', _ => check(out, t)) p.end('symlink') }) t.test('sync', t => { const out = [] const p = new Pack.Sync({ cwd: files, follow: true }) p.on('data', c => out.push(c)) p.end('symlink') check(out, t) }) t.end() }) t.test('pack ReadEntries', t => { t.test('basic', t => { const readEntry = new ReadEntry(new Header({ path: 'x', type: 'File', size: 1, })) const p = new Pack() p.end(readEntry) const out = [] p.on('data', c => out.push(c)) p.on('end', _ => { const data = Buffer.concat(out) t.equal(data.length, 2048) t.match(data.slice(1024).toString(), /^\0+$/) t.equal(data.slice(0, 100).toString().replace(/\0.*$/, ''), 'x') t.equal(data.slice(512, 514).toString(), 'x\0') t.end() }) const buf = Buffer.alloc(512) buf.write('x') readEntry.end(buf) }) t.test('prefix', t => { const readEntry = new ReadEntry(new Header({ path: 'x', type: 'File', size: 1, })) const p = new Pack({ prefix: 'y' }) p.end(readEntry) const out = [] p.on('data', c => out.push(c)) p.on('end', _ => { const data = Buffer.concat(out) t.equal(data.length, 2048) t.match(data.slice(1024).toString(), /^\0+$/) t.equal(data.slice(0, 100).toString().replace(/\0.*$/, ''), 'y/x') t.equal(data.slice(512, 514).toString(), 'x\0') t.end() }) const buf = Buffer.alloc(512) buf.write('x') readEntry.end(buf) }) t.test('filter out', t => { const re1 = new ReadEntry(new Header({ path: 'a', type: 'File', size: 1, })) const re2 = new ReadEntry(new Header({ path: 'x', type: 'File', size: 1, })) const re3 = new ReadEntry(new Header({ path: 'y', type: 'File', size: 1, })) const p = new Pack({ filter: p => p === 'x' }) p.add(re1) p.add(re2) p.end(re3) const out = [] p.on('data', c => out.push(c)) p.on('end', _ => { const data = Buffer.concat(out) t.equal(data.length, 2048) t.match(data.slice(1024).toString(), /^\0+$/) t.equal(data.slice(0, 100).toString().replace(/\0.*$/, ''), 'x') t.equal(data.slice(512, 514).toString(), 'x\0') t.end() }) { const buf = Buffer.alloc(512) buf.write('x') re1.end(buf) } { const buf = Buffer.alloc(512) buf.write('x') re2.end(buf) } { const buf = Buffer.alloc(512) buf.write('x') re3.end(buf) } }) t.end() }) t.test('filter out everything', t => { const filter = _ => false const check = (out, t) => { const data = Buffer.concat(out) t.equal(data.length, 1024) t.match(data.toString(), /^\0+$/) t.end() } t.test('sync', t => { const out = [] const p = new Pack.Sync({ cwd: files, filter: filter }) p.on('data', c => out.push(c)) p.end('./') check(out, t) }) t.test('async', t => { const out = [] const p = new Pack.Sync({ cwd: files, filter: filter }) p.on('data', c => out.push(c)) p.on('end', _ => check(out, t)) p.end('./') }) t.end() }) t.test('fs.open fails', t => { const poop = new Error('poop') t.teardown(mutateFS.fail('open', poop)) t.test('async', t => { t.plan(1) new Pack({ cwd: files }) .on('error', er => t.equal(er, poop)) .end('one-byte.txt') }) t.test('sync', t => { t.plan(1) t.throws(_ => new Pack.Sync({ cwd: files }).end('one-byte.txt'), poop) }) t.end() }) const write = opts => new Promise((resolve, reject) => { const p = new Pack() let totalSize = 0 p.on('data', d => totalSize += d.length) p.once('error', reject) p.once('end', () => resolve(totalSize)) const file1 = new ReadEntry(new Header({ path: 'file1.txt', size: 5, })) if (opts.before) { file1.end('file1') p.add(file1) } else { p.add(file1) file1.end('file1') } p.end() }) t.test('padding works regardless of arite/add order', t => Promise.all([ write({ before: true }), write({ before: false }), ]).then(res => t.equal(res[0], res[1], 'length is the same regardless of write/add order'))) t.test('prefix and subdirs', t => { const dir = path.resolve(fixtures, 'pack-prefix-subdirs') t.teardown(_ => rimraf.sync(dir)) mkdirp.sync(dir + '/in/a/b/c') fs.writeFileSync(dir + '/in/a/b/c/d', 'ddd') fs.writeFileSync(dir + '/in/a/b/d', 'ddd') fs.writeFileSync(dir + '/in/a/d', 'ddd') fs.writeFileSync(dir + '/in/d', 'ddd') const expect = [ 'out/x/\0', 'out/x/a/\0', 'out/x/d\0', 'ddd\0', 'out/x/a/b/\0', 'out/x/a/d\0', 'ddd\0', 'out/x/a/b/c/\0', 'out/x/a/b/d\0', 'ddd\0', 'out/x/a/b/c/d\0', 'ddd\0', '\0', '\0', ] const check = (out, t) => { const data = Buffer.concat(out) expect.forEach((e, i) => t.equal(e, data.slice(i * 512, i * 512 + e.length).toString())) t.end() } const runTest = (t, path, Class) => { const p = new Class({ cwd: dir + '/in', prefix: 'out/x', }) const out = [] p.on('data', d => out.push(d)) p.on('end', _ => check(out, t)) p.end(path) } t.test('async', t => { t.test('.', t => runTest(t, '.', Pack)) return t.test('./', t => runTest(t, './', Pack)) }) return t.test('sync', t => { t.test('.', t => runTest(t, '.', Pack.Sync)) return t.test('./', t => runTest(t, './', Pack.Sync)) }) }) // https://github.com/npm/node-tar/issues/284 t.test('prefix and hard links', t => { const dir = path.resolve(fixtures, 'pack-prefix-hardlinks') t.teardown(_ => rimraf.sync(dir)) mkdirp.sync(dir + '/in/z/b/c') fs.writeFileSync(dir + '/in/target', 'ddd') fs.linkSync(dir + '/in/target', dir + '/in/z/b/c/d') fs.linkSync(dir + '/in/target', dir + '/in/z/b/d') fs.linkSync(dir + '/in/target', dir + '/in/z/d') fs.linkSync(dir + '/in/target', dir + '/in/y') const expect = [ 'out/x/\0', { type: 'File', size: 3, path: 'out/x/target', linkpath: '', }, 'ddd\0\0\0\0\0\0\0\0\0\0\0', { path: 'out/x/y', type: 'Link', linkpath: 'out/x/target', }, 'out/x/z/\0', 'out/x/z/b/\0', { path: 'out/x/z/d', type: 'Link', linkpath: 'out/x/target', }, 'out/x/z/b/c/\0', { path: 'out/x/z/b/d', type: 'Link', linkpath: 'out/x/target', }, { path: 'out/x/z/b/c/d', type: 'Link', linkpath: 'out/x/target', }, '\0', '\0', ] const check = (out, t) => { const data = Buffer.concat(out) expect.forEach((e, i) => { if (typeof e === 'string') { t.equal(data.slice(i * 512, i * 512 + e.length).toString(), e) } else { t.match(new Header(data.slice(i * 512, (i + 1) * 512)), e) } }) t.end() } const runTest = (t, path, Class) => { const p = new Class({ cwd: dir + '/in', prefix: 'out/x', noDirRecurse: true, }) const out = [] p.on('data', d => out.push(d)) p.on('end', () => check(out, t)) p.write(path) if (path === '.') { path = './' } p.write(`${path}target`) p.write(`${path}y`) p.write(`${path}z`) p.write(`${path}z/b`) p.write(`${path}z/d`) p.write(`${path}z/b/c`) p.write(`${path}z/b/d`) p.write(`${path}z/b/c/d`) p.end() } t.test('async', t => { t.test('.', t => runTest(t, '.', Pack)) return t.test('./', t => runTest(t, './', Pack)) }) t.test('sync', t => { t.test('.', t => runTest(t, '.', Pack.Sync)) return t.test('./', t => runTest(t, './', Pack.Sync)) }) t.end() }) ����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/test/parse.js�����������������������������������������������������������������������0000664�0000000�0000000�00000037163�14344174136�0015763�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������'use strict' const t = require('tap') const Parse = require('../lib/parse.js') const makeTar = require('./make-tar.js') const fs = require('fs') const path = require('path') const tardir = path.resolve(__dirname, 'fixtures/tars') const zlib = require('zlib') const MiniPass = require('minipass') const Header = require('../lib/header.js') const EE = require('events').EventEmitter t.test('fixture tests', t => { class ByteStream extends MiniPass { write (chunk) { for (let i = 0; i < chunk.length - 1; i++) { super.write(chunk.slice(i, i + 1)) } return super.write(chunk.slice(chunk.length - 1, chunk.length)) } } const trackEvents = (t, expect, p, slow) => { let ok = true let cursor = 0 p.on('entry', entry => { ok = ok && t.match(['entry', entry], expect[cursor++], entry.path) if (slow) { setTimeout(_ => entry.resume()) } else { entry.resume() } }) p.on('ignoredEntry', entry => { ok = ok && t.match(['ignoredEntry', entry], expect[cursor++], 'ignored: ' + entry.path) }) p.on('warn', (c, message, data) => { ok = ok && t.match(['warn', c, message], expect[cursor++], 'warn') }) p.on('nullBlock', _ => { ok = ok && t.match(['nullBlock'], expect[cursor++], 'null') }) p.on('error', er => { ok = ok && t.match(['error', er], expect[cursor++], 'error') }) p.on('meta', meta => { ok = ok && t.match(['meta', meta], expect[cursor++], 'meta') }) p.on('eof', _ => { ok = ok && t.match(['eof'], expect[cursor++], 'eof') }) p.on('end', _ => { ok = ok && t.match(['end'], expect[cursor++], 'end') t.end() }) } t.jobs = 4 const path = require('path') const parsedir = path.resolve(__dirname, 'fixtures/parse') const files = fs.readdirSync(tardir) const maxMetaOpt = [250, null] const filterOpt = [true, false] const strictOpt = [true, false] const runTest = (file, maxMeta, filter, strict) => { const tardata = fs.readFileSync(file) const base = path.basename(file, '.tar') t.test('file=' + base + '.tar' + ' maxmeta=' + maxMeta + ' filter=' + filter + ' strict=' + strict, t => { const o = (maxMeta ? '-meta-' + maxMeta : '') + (filter ? '-filter' : '') + (strict ? '-strict' : '') const tail = (o ? '-' + o : '') + '.json' const eventsFile = parsedir + '/' + base + tail const expect = require(eventsFile) t.test('one byte at a time', t => { const bs = new ByteStream() const opt = (maxMeta || filter || strict) ? { maxMetaEntrySize: maxMeta, filter: filter ? (path, entry) => entry.size % 2 !== 0 : null, strict: strict, } : null const bp = new Parse(opt) trackEvents(t, expect, bp) bs.pipe(bp) bs.end(tardata) }) t.test('all at once', t => { const p = new Parse({ maxMetaEntrySize: maxMeta, filter: filter ? (path, entry) => entry.size % 2 !== 0 : null, strict: strict, }) trackEvents(t, expect, p) p.end(tardata) }) t.test('gzipped all at once', t => { const p = new Parse({ maxMetaEntrySize: maxMeta, filter: filter ? (path, entry) => entry.size % 2 !== 0 : null, strict: strict, }) trackEvents(t, expect, p) p.end(zlib.gzipSync(tardata)) }) t.test('gzipped byte at a time', t => { const bs = new ByteStream() const bp = new Parse({ maxMetaEntrySize: maxMeta, filter: filter ? (path, entry) => entry.size % 2 !== 0 : null, strict: strict, }) trackEvents(t, expect, bp) bs.pipe(bp) bs.end(zlib.gzipSync(tardata)) }) t.test('async chunks', t => { const p = new Parse({ maxMetaEntrySize: maxMeta, filter: filter ? (path, entry) => entry.size % 2 !== 0 : null, strict: strict, }) trackEvents(t, expect, p, true) p.write(tardata.slice(0, Math.floor(tardata.length / 2))) process.nextTick(_ => p.end(tardata.slice(Math.floor(tardata.length / 2)))) }) t.end() }) } files .map(f => path.resolve(tardir, f)).forEach(file => maxMetaOpt.forEach(maxMeta => strictOpt.forEach(strict => filterOpt.forEach(filter => runTest(file, maxMeta, filter, strict))))) t.end() }) t.test('strict warn with an error emits that error', t => { t.plan(1) const p = new Parse({ strict: true, }) p.on('error', emitted => t.equal(emitted, er)) const er = new Error('yolo') p.warn('TAR_TEST', er) }) t.test('onwarn gets added to the warn event', t => { t.plan(1) const p = new Parse({ onwarn (code, message) { t.equal(message, 'this is fine') }, }) p.warn('TAR_TEST', 'this is fine') }) t.test('onentry gets added to entry event', t => { t.plan(1) const p = new Parse({ onentry: entry => t.equal(entry, 'yes hello this is dog'), }) p.emit('entry', 'yes hello this is dog') }) t.test('drain event timings', t => { let sawOndone = false const ondone = function () { sawOndone = true this.emit('prefinish') this.emit('finish') this.emit('end') this.emit('close') } // write 1 header and body, write 2 header, verify false return // wait for drain event before continuing. // write 2 body, 3 header and body, 4 header, verify false return // wait for drain event // write 4 body and null blocks const data = [ [ { path: 'one', size: 513, type: 'File', }, new Array(513).join('1'), '1', { path: 'two', size: 513, type: 'File', }, new Array(513).join('2'), '2', { path: 'three', size: 1024, type: 'File', }, ], [ new Array(513).join('3'), new Array(513).join('3'), { path: 'four', size: 513, type: 'File', }, ], [ new Array(513).join('4'), '4', { path: 'five', size: 1024, type: 'File', }, new Array(513).join('5'), new Array(513).join('5'), { path: 'six', size: 1024, type: 'File', }, new Array(513).join('6'), new Array(513).join('6'), { path: 'seven', size: 1024, type: 'File', }, new Array(513).join('7'), new Array(513).join('7'), { path: 'eight', size: 1024, type: 'File', }, new Array(513).join('8'), new Array(513).join('8'), { path: 'four', size: 513, type: 'File', }, new Array(513).join('4'), '4', { path: 'five', size: 1024, type: 'File', }, new Array(513).join('5'), new Array(513).join('5'), { path: 'six', size: 1024, type: 'File', }, new Array(513).join('6'), new Array(513).join('6'), { path: 'seven', size: 1024, type: 'File', }, new Array(513).join('7'), new Array(513).join('7'), { path: 'eight', size: 1024, type: 'File', }, new Array(513).join('8'), ], [ new Array(513).join('8'), { path: 'nine', size: 1537, type: 'File', }, new Array(513).join('9'), ], [new Array(513).join('9')], [new Array(513).join('9')], ['9'], ].map(chunks => makeTar(chunks)) const expect = [ 'one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight', 'four', 'five', 'six', 'seven', 'eight', 'nine', 'one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight', 'four', 'five', 'six', 'seven', 'eight', 'nine', ] class SlowStream extends EE { write () { setTimeout(_ => this.emit('drain')) return false } end () { return this.write() } } let currentEntry const autoPipe = true const p = new Parse({ ondone, onentry: entry => { t.equal(entry.path, expect.shift()) currentEntry = entry if (autoPipe) { setTimeout(_ => entry.pipe(new SlowStream())) } }, }) data.forEach(d => { if (!t.equal(p.write(d), false, 'write should return false')) { return t.end() } }) let interval const go = _ => { const d = data.shift() if (d === undefined) { return p.end() } let paused if (currentEntry) { currentEntry.pause() paused = true } const hunklen = Math.floor(d.length / 2) const hunks = [ d.slice(0, hunklen), d.slice(hunklen), ] p.write(hunks[0]) if (currentEntry && !paused) { console.error('has current entry') currentEntry.pause() paused = true } if (!t.equal(p.write(hunks[1]), false, 'write should return false: ' + d)) { return t.end() } p.once('drain', go) if (paused) { currentEntry.resume() } } p.once('drain', go) p.on('end', _ => { clearInterval(interval) t.ok(sawOndone) t.end() }) go() }) t.test('consume while consuming', t => { const data = makeTar([ { path: 'one', size: 0, type: 'File', }, { path: 'zero', size: 0, type: 'File', }, { path: 'two', size: 513, type: 'File', }, new Array(513).join('2'), '2', { path: 'three', size: 1024, type: 'File', }, new Array(513).join('3'), new Array(513).join('3'), { path: 'zero', size: 0, type: 'File', }, { path: 'zero', size: 0, type: 'File', }, { path: 'four', size: 1024, type: 'File', }, new Array(513).join('4'), new Array(513).join('4'), { path: 'zero', size: 0, type: 'File', }, { path: 'zero', size: 0, type: 'File', }, ]) const runTest = (t, size) => { const p = new Parse() const first = data.slice(0, size) const rest = data.slice(size) p.once('entry', entry => { for (let pos = 0; pos < rest.length; pos += size) { p.write(rest.slice(pos, pos + size)) } p.end() }) .on('entry', entry => entry.resume()) .on('end', _ => t.end()) .write(first) } // one that aligns, and another that doesn't, so that we // get some cases where there's leftover chunk and a buffer t.test('size=1000', t => runTest(t, 1000)) t.test('size=1024', t => runTest(t, 4096)) t.end() }) t.test('truncated input', t => { const data = makeTar([ { path: 'foo/', type: 'Directory', }, { path: 'foo/bar', type: 'File', size: 18, }, ]) t.test('truncated at block boundary', t => { const warnings = [] const p = new Parse({ onwarn: (c, message) => warnings.push(message) }) p.end(data) t.same(warnings, [ 'Truncated input (needed 512 more bytes, only 0 available)', ]) t.end() }) t.test('truncated mid-block', t => { const warnings = [] const p = new Parse({ onwarn: (c, message) => warnings.push(message) }) p.write(data) p.end(Buffer.from('not a full block')) t.same(warnings, [ 'Truncated input (needed 512 more bytes, only 16 available)', ]) t.end() }) t.end() }) t.test('truncated gzip input', t => { const raw = makeTar([ { path: 'foo/', type: 'Directory', }, { path: 'foo/bar', type: 'File', size: 18, }, new Array(19).join('x'), '', '', ]) const tgz = zlib.gzipSync(raw) const split = Math.floor(tgz.length * 2 / 3) const trunc = tgz.slice(0, split) const skipEarlyEnd = process.version.match(/^v4\./) t.test('early end', { skip: skipEarlyEnd ? 'not a zlib error on v4' : false, }, t => { const warnings = [] const p = new Parse() p.on('error', er => warnings.push(er.message)) let aborted = false p.on('abort', _ => aborted = true) p.end(trunc) t.equal(aborted, true, 'aborted writing') t.same(warnings, ['zlib: unexpected end of file']) t.end() }) t.test('just wrong', t => { const warnings = [] const p = new Parse() p.on('error', er => warnings.push(er.message)) let aborted = false p.on('abort', _ => aborted = true) p.write(trunc) p.write(trunc) p.write(tgz.slice(split)) p.end() t.equal(aborted, true, 'aborted writing') t.same(warnings, ['zlib: incorrect data check']) t.end() }) t.end() }) t.test('end while consuming', t => { // https://github.com/npm/node-tar/issues/157 const data = zlib.gzipSync(makeTar([ { path: 'package/package.json', type: 'File', size: 130, }, new Array(131).join('x'), { path: 'package/node_modules/@c/d/node_modules/e/package.json', type: 'File', size: 30, }, new Array(31).join('e'), { path: 'package/node_modules/@c/d/package.json', type: 'File', size: 33, }, new Array(34).join('d'), { path: 'package/node_modules/a/package.json', type: 'File', size: 59, }, new Array(60).join('a'), { path: 'package/node_modules/b/package.json', type: 'File', size: 30, }, new Array(31).join('b'), '', '', ])) const actual = [] const expect = [ 'package/package.json', 'package/node_modules/@c/d/node_modules/e/package.json', 'package/node_modules/@c/d/package.json', 'package/node_modules/a/package.json', 'package/node_modules/b/package.json', ] const mp = new MiniPass() const p = new Parse({ onentry: entry => { actual.push(entry.path) entry.resume() }, onwarn: (c, m, data) => t.fail(`${c}: ${m}`, data), }) p.on('end', () => { t.same(actual, expect) t.end() }) mp.end(data) mp.pipe(p) }) t.test('bad archives', t => { const p = new Parse() const warnings = [] p.on('warn', (code, msg, data) => { warnings.push([code, msg, data]) }) p.on('end', () => { // last one should be 'this archive sucks' t.match(warnings.pop(), [ 'TAR_BAD_ARCHIVE', 'Unrecognized archive format', { code: 'TAR_BAD_ARCHIVE', tarCode: 'TAR_BAD_ARCHIVE' }, ]) t.end() }) // javascript test is not a tarball. p.end(fs.readFileSync(__filename)) }) t.test('header that throws', t => { const p = new Parse() p.on('warn', (c, m, d) => { t.equal(m, 'invalid base256 encoding') t.match(d, { code: 'TAR_ENTRY_INVALID', }) t.end() }) const h = new Header({ path: 'path', mode: 0o07777, // gonna make this one invalid uid: 1234, gid: 4321, type: 'File', size: 1, }) h.encode() const buf = h.block const bad = Buffer.from([0x81, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff]) bad.copy(buf, 100) t.throws(() => new Header(buf), 'the header with that buffer throws') p.write(buf) }) t.test('warnings that are not so bad', t => { const p = new Parse() const warnings = [] p.on('warn', (code, m, d) => { warnings.push([code, m, d]) t.fail('should get no warnings') }) // the parser doesn't actually decide what's "ok" or "supported", // it just parses. So we have to set it ourselves like unpack does p.once('entry', entry => entry.invalid = true) p.on('entry', entry => entry.resume()) const data = makeTar([ { path: '/a/b/c', type: 'File', size: 1, }, 'a', { path: 'a/b/c', type: 'Directory', }, '', '', ]) p.on('end', () => { t.same(warnings, []) t.end() }) p.end(data) }) �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/test/path-reservations.js�����������������������������������������������������������0000664�0000000�0000000�00000010120�14344174136�0020307�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������const t = require('tap') // load up the posix and windows versions of the reserver if (process.platform === 'win32') { process.env.TESTING_TAR_FAKE_PLATFORM = 'posix' } const { reserve } = t.mock('../lib/path-reservations.js', { path: require('path').posix, })() delete process.env.TESTING_TAR_FAKE_PLATFORM if (process.platform !== 'win32') { process.env.TESTING_TAR_FAKE_PLATFORM = 'win32' } const { reserve: winReserve } = t.mock('../lib/path-reservations.js', { path: require('path').win32, })() t.test('basic race', t => { // simulate the race conditions we care about let didFile = false const file = done => { t.equal(didFile, false, 'only call file once') didFile = true t.equal(didLink, false, 'do file before link') setTimeout(done) } let didLink = false const link = done => { t.equal(didLink, false, 'only call once') t.equal(didFile, true, 'do file before link') didLink = true // make sure this one is super duper cleared lol // the subsequent calls are no-ops, but verify as much done() done() done() } let didDir = false const dir = done => { t.equal(didDir, false, 'only do dir once') t.equal(didLink, true, 'do link before dir') didDir = true done() } let didDir2 = false const dir2 = done => { t.equal(didDir, true, 'did dir before dir2') t.equal(didDir2, false, 'only do dir2 once') didDir2 = true done() } let didDir3 = false const dir3 = done => { t.equal(didDir2, true, 'did dir2 before dir3') t.equal(didDir3, false, 'only do dir3 once') didDir3 = true done() t.end() } t.ok(reserve(['a/b/c/d'], file), 'file starts right away') t.notOk(reserve(['a/B/c////D', 'a/b/e'], link), 'link waits') t.notOk(reserve(['a/b/e/f'], dir), 'dir waits') t.notOk(reserve(['a/b'], dir2), 'dir2 waits') t.notOk(reserve(['a/b/x'], dir3), 'dir3 waits') }) t.test('unicode shenanigans', t => { const e1 = Buffer.from([0xc3, 0xa9]) const e2 = Buffer.from([0x65, 0xcc, 0x81]) let didCafe1 = false const cafe1 = done => { t.equal(didCafe1, false, 'did cafe1 only once') t.equal(didCafe2, false, 'did cafe1 before cafe2') didCafe1 = true setTimeout(done) } let didCafe2 = false const cafe2 = done => { t.equal(didCafe1, true, 'did cafe1 before cafe2') t.equal(didCafe2, false, 'did cafe2 only once') didCafe2 = true done() t.end() } const cafePath1 = `c/a/f/${e1}` const cafePath2 = `c/a/f/${e2}` t.ok(reserve([cafePath1], cafe1)) t.notOk(reserve([cafePath2], cafe2)) }) t.test('absolute paths and trailing slash', t => { let calledA1 = false let calledA2 = false const a1 = done => { t.equal(calledA1, false, 'called a1 only once') t.equal(calledA2, false, 'called a1 before 2') calledA1 = true setTimeout(done) } const a2 = done => { t.equal(calledA1, true, 'called a1 before 2') t.equal(calledA2, false, 'called a2 only once') calledA2 = true done() if (calledR2) { t.end() } } let calledR1 = false let calledR2 = false const r1 = done => { t.equal(calledR1, false, 'called r1 only once') t.equal(calledR2, false, 'called r1 before 2') calledR1 = true setTimeout(done) } const r2 = done => { t.equal(calledR1, true, 'called r1 before 2') t.equal(calledR2, false, 'called r1 only once') calledR2 = true done() if (calledA2) { t.end() } } t.ok(reserve(['/p/a/t/h'], a1)) t.notOk(reserve(['/p/a/t/h/'], a2)) t.ok(reserve(['p/a/t/h'], r1)) t.notOk(reserve(['p/a/t/h/'], r2)) }) t.test('on windows, everything collides with everything', t => { const reserve = winReserve let called1 = false let called2 = false const f1 = done => { t.equal(called1, false, 'only call 1 once') t.equal(called2, false, 'call 1 before 2') called1 = true setTimeout(done) } const f2 = done => { t.equal(called1, true, 'call 1 before 2') t.equal(called2, false, 'only call 2 once') called2 = true done() t.end() } t.equal(reserve(['some/path'], f1), true) t.equal(reserve(['other/path'], f2), false) }) ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/test/pax.js�������������������������������������������������������������������������0000664�0000000�0000000�00000020554�14344174136�0015435�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������'use strict' const t = require('tap') const Pax = require('../lib/pax.js') t.test('create a pax', t => { const p = new Pax({ atime: new Date('1979-07-01T19:10:00.000Z'), ctime: new Date('1979-07-01T19:10:00.000Z'), mtime: new Date('1979-07-01T19:10:00.000Z'), gid: 20, gname: 'staff', uid: 24561, uname: 'isaacs', path: 'foo.txt', size: 100, dev: 123456, ino: 7890, nlink: 1, }) // console.log(p.encode().toString('hex').split('').reduce((s,c)=>{if(s[s.length-1].length<64)s[s.length-1]+=c;else s.push(c);return s},[''])) const buf = Buffer.from( // pax entry header '5061784865616465722f666f6f2e747874000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000030303036343420003035373736312000303030303234200030303030' + '3030303330342000323136373231373631302000303136373332200078000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0075737461720030306973616163730000000000000000000000000000000000' + '0000000000000000007374616666000000000000000000000000000000000000' + '0000000000000000003030303030302000303030303030200000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000032313637' + '3231373631302000323136373231373631302000000000000000000000000000' + // entry body '313620706174683d666f6f2e7478740a3139206374696d653d32393937303432' + '30300a3139206174696d653d3239393730343230300a323120534348494c592e' + '6465763d3132333435360a313920534348494c592e696e6f3d373839300a3138' + '20534348494c592e6e6c696e6b3d310a39206769643d32300a313520676e616d' + '653d73746166660a3139206d74696d653d3239393730343230300a3132207369' + '7a653d3130300a3133207569643d32343536310a313620756e616d653d697361' + '6163730a00000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000', 'hex') const actual = p.encode() t.equal(actual.toString('hex'), buf.toString('hex')) t.end() }) t.test('null pax', t => { const p = new Pax({}) t.equal(p.encode(), null) t.end() }) t.test('tiny pax', t => { // weird to have a global setting a path. Maybe this should be // an error? const p = new Pax({ path: 'ab' }, true) const actual = p.encode() // console.log(actual.toString('hex').split('').reduce((s,c)=>{if(s[s.length-1].length<64)s[s.length-1]+=c;else s.push(c);return s},[''])) // return Promise.resolve() const buf = Buffer.from( // header '5061784865616465722f61620000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000030303036343420000000000000000000000000000000000030303030' + '3030303031332000000000000000000000000000303037303534200067000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0075737461720030300000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000003030303030302000303030303030200000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + // body // note that a 2-char path is 11, but a 1 char path is 9, because // adding the second char bumps the n to 10, which adds 1, which // means it has to be 11. // a 1-char path COULD be encoded as EITHER "10 path=x\n", or as // "9 path=x\n", and it'd be true either way. '313120706174683d61620a000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000', 'hex') t.equal(actual.toString('hex'), buf.toString('hex')) t.end() }) t.test('parse', t => { t.same(Pax.parse('11 path=ab\n', { uid: 24561 }, true), { atime: null, charset: null, comment: null, ctime: null, gid: null, gname: null, linkpath: null, mtime: null, path: 'ab', size: null, uid: 24561, uname: null, dev: null, ino: null, nlink: null, global: true, }) t.same(Pax.parse('11 path=ab\n', null, false), { atime: null, charset: null, comment: null, ctime: null, gid: null, gname: null, linkpath: null, mtime: null, path: 'ab', size: null, uid: null, uname: null, dev: null, ino: null, nlink: null, global: false, }) t.same(Pax.parse('9 gid=20\n9 path=x\n', null, false), { atime: null, charset: null, comment: null, ctime: null, gid: 20, gname: null, linkpath: null, mtime: null, path: 'x', size: null, uid: null, uname: null, dev: null, ino: null, nlink: null, global: false, }) t.same(Pax.parse('9 gid=20\n9 path=x\n', null, false), { atime: null, charset: null, comment: null, ctime: null, gid: 20, gname: null, linkpath: null, mtime: null, path: 'x', size: null, uid: null, uname: null, dev: null, ino: null, nlink: null, global: false, }) t.same(Pax.parse('20 mtime=1491436800\n', null, false), { atime: null, charset: null, comment: null, ctime: null, gid: null, gname: null, linkpath: null, mtime: new Date('2017-04-06'), path: null, size: null, uid: null, uname: null, dev: null, ino: null, nlink: null, global: false, }) const breaky = '93 NODETAR.package.readme=karma-moment\n' + '=================\n' + '\n' + 'Karma plugin for Moment framework\n' + '\n' const noKey = '10 =pathx\n' t.same(Pax.parse(breaky + '9 gid=20\n10 path=x\n' + noKey, null, false), { atime: null, charset: null, comment: null, ctime: null, gid: 20, gname: null, linkpath: null, mtime: null, path: 'x', size: null, uid: null, uname: null, dev: null, ino: null, nlink: null, global: false, }) t.end() }) ����������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/test/read-entry.js������������������������������������������������������������������0000664�0000000�0000000�00000012017�14344174136�0016712�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������'use strict' const t = require('tap') const ReadEntry = require('../lib/read-entry.js') const Header = require('../lib/header.js') t.test('create read entry', t => { const h = new Header({ path: 'oof.txt', mode: 0o755, uid: 24561, gid: 20, size: 100, mtime: new Date('2016-04-01T22:00Z'), ctime: new Date('2016-04-01T22:00Z'), atime: new Date('2016-04-01T22:00Z'), type: 'File', uname: 'isaacs', gname: 'staff', }) h.encode() const entry = new ReadEntry(h, { x: 'y', path: 'foo.txt' }, { z: 0, a: null, b: undefined }) t.ok(entry.header.cksumValid, 'header checksum should be valid') t.match(entry, { extended: { x: 'y', path: 'foo.txt' }, globalExtended: { z: 0, a: null, b: undefined }, header: { cksumValid: true, needPax: false, path: 'oof.txt', mode: 0o755, uid: 24561, gid: 20, size: 100, mtime: new Date('2016-04-01T22:00:00.000Z'), typeKey: '0', type: 'File', linkpath: null, uname: 'isaacs', gname: 'staff', devmaj: 0, devmin: 0, atime: new Date('2016-04-01T22:00:00.000Z'), ctime: new Date('2016-04-01T22:00:00.000Z'), }, blockRemain: 512, remain: 100, type: 'File', meta: false, ignore: false, path: 'foo.txt', mode: 0o755, uid: 24561, gid: 20, uname: 'isaacs', gname: 'staff', size: 100, mtime: new Date('2016-04-01T22:00:00.000Z'), atime: new Date('2016-04-01T22:00:00.000Z'), ctime: new Date('2016-04-01T22:00:00.000Z'), linkpath: null, x: 'y', z: 0, }) let data = '' let ended = false entry.on('data', c => data += c) entry.on('end', _ => ended = true) const body = Buffer.alloc(512) body.write(new Array(101).join('z'), 0) entry.write(body) entry.end() t.equal(data, new Array(101).join('z')) t.ok(ended, 'saw end event') t.end() }) t.test('meta entry', t => { const h = new Header({ path: 'PaxHeader/foo.txt', mode: 0o755, uid: 24561, gid: 20, size: 23, mtime: new Date('2016-04-01T22:00Z'), ctime: new Date('2016-04-01T22:00Z'), atime: new Date('2016-04-01T22:00Z'), type: 'NextFileHasLongLinkpath', uname: 'isaacs', gname: 'staff', }) const body = Buffer.alloc(512) body.write('not that long, actually') const expect = 'not that long, actually' let actual = '' const entry = new ReadEntry(h) entry.on('data', c => actual += c) entry.write(body.slice(0, 1)) entry.write(body.slice(1, 25)) entry.write(body.slice(25)) t.throws(_ => entry.write(Buffer.alloc(1024))) t.equal(actual, expect) t.match(entry, { meta: true, type: 'NextFileHasLongLinkpath' }) t.end() }) t.test('unknown entry type', t => { const h = new Header({ path: 'PaxHeader/foo.txt', mode: 0o755, uid: 24561, gid: 20, size: 23, mtime: new Date('2016-04-01T22:00Z'), ctime: new Date('2016-04-01T22:00Z'), atime: new Date('2016-04-01T22:00Z'), uname: 'isaacs', gname: 'staff', }) h.encode() h.block.write('9', 156, 1, 'ascii') const body = Buffer.alloc(512) body.write('not that long, actually') const expect = '' let actual = '' const entry = new ReadEntry(new Header(h.block)) entry.on('data', c => actual += c) entry.write(body.slice(0, 1)) entry.write(body.slice(1, 25)) entry.write(body.slice(25)) t.throws(_ => entry.write(Buffer.alloc(1024))) t.equal(actual, expect) t.match(entry, { ignore: true }) t.end() }) t.test('entry without mode', t => { const h = new Header({ path: 'foo.txt', uid: 24561, gid: 20, size: 100, mtime: new Date('2016-04-01T22:00Z'), ctime: new Date('2016-04-01T22:00Z'), atime: new Date('2016-04-01T22:00Z'), type: 'File', uname: 'isaacs', gname: 'staff', }) h.encode() const entry = new ReadEntry(h) t.ok(entry.header.cksumValid, 'header checksum should be valid') t.match(entry, { header: { cksumValid: true, needPax: false, path: 'foo.txt', mode: null, uid: 24561, gid: 20, size: 100, mtime: new Date('2016-04-01T22:00:00.000Z'), typeKey: '0', type: 'File', linkpath: null, uname: 'isaacs', gname: 'staff', devmaj: 0, devmin: 0, atime: new Date('2016-04-01T22:00:00.000Z'), ctime: new Date('2016-04-01T22:00:00.000Z'), }, blockRemain: 512, remain: 100, type: 'File', meta: false, ignore: false, path: 'foo.txt', mode: null, uid: 24561, gid: 20, uname: 'isaacs', gname: 'staff', size: 100, mtime: new Date('2016-04-01T22:00:00.000Z'), atime: new Date('2016-04-01T22:00:00.000Z'), ctime: new Date('2016-04-01T22:00:00.000Z'), linkpath: null, }) let data = '' let ended = false entry.on('data', c => data += c) entry.on('end', _ => ended = true) const body = Buffer.alloc(512) body.write(new Array(101).join('z'), 0) entry.write(body) entry.end() t.equal(data, new Array(101).join('z')) t.ok(ended, 'saw end event') t.end() }) �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/test/replace.js���������������������������������������������������������������������0000664�0000000�0000000�00000022753�14344174136�0016263�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������'use strict' const t = require('tap') const r = require('../lib/replace.js') const path = require('path') const fs = require('fs') const mutateFS = require('mutate-fs') const list = require('../lib/list.js') const { resolve } = require('path') const fixtures = path.resolve(__dirname, 'fixtures') const tars = path.resolve(fixtures, 'tars') const zlib = require('zlib') const spawn = require('child_process').spawn const data = fs.readFileSync(tars + '/body-byte-counts.tar') const dataNoNulls = data.slice(0, data.length - 1024) const fixtureDef = { 'body-byte-counts.tar': data, 'no-null-eof.tar': dataNoNulls, 'truncated-head.tar': Buffer.concat([dataNoNulls, data.slice(0, 500)]), 'truncated-body.tar': Buffer.concat([dataNoNulls, data.slice(0, 700)]), 'zero.tar': Buffer.from(''), 'empty.tar': Buffer.alloc(512), 'compressed.tgz': zlib.gzipSync(data), } t.test('basic file add to archive (good or truncated)', t => { const check = (file, t) => { const c = spawn('tar', ['tf', file], { stdio: [0, 'pipe', 2] }) const out = [] c.stdout.on('data', chunk => out.push(chunk)) c.on('close', (code, signal) => { t.equal(code, 0) t.equal(signal, null) const actual = Buffer.concat(out).toString().trim().split(/\r?\n/) t.same(actual, [ '1024-bytes.txt', '512-bytes.txt', 'one-byte.txt', 'zero-byte.txt', path.basename(__filename), ]) t.end() }) } const files = [ 'body-byte-counts.tar', 'no-null-eof.tar', 'truncated-head.tar', 'truncated-body.tar', ] const td = files.map(f => [f, fixtureDef[f]]).reduce((s, [k, v]) => { s[k] = v return s }, {}) const fileList = [path.basename(__filename)] t.test('sync', t => { t.plan(files.length) const dir = t.testdir(td) for (const file of files) { t.test(file, t => { r({ sync: true, file: resolve(dir, file), cwd: __dirname, }, fileList) check(resolve(dir, file), t) }) } }) t.test('async cb', t => { t.plan(files.length) const dir = t.testdir(td) for (const file of files) { t.test(file, t => { r({ file: resolve(dir, file), cwd: __dirname, }, fileList, er => { if (er) { throw er } check(resolve(dir, file), t) }) }) } }) t.test('async', t => { t.plan(files.length) const dir = t.testdir(td) for (const file of files) { t.test(file, t => { r({ file: resolve(dir, file), cwd: __dirname, }, fileList).then(() => { check(resolve(dir, file), t) }) }) } }) t.end() }) t.test('add to empty archive', t => { const check = (file, t) => { const c = spawn('tar', ['tf', file]) const out = [] c.stdout.on('data', chunk => out.push(chunk)) c.on('close', (code, signal) => { t.equal(code, 0) t.equal(signal, null) const actual = Buffer.concat(out).toString().trim().split('\n') t.same(actual, [ path.basename(__filename), ]) t.end() }) } const files = [ 'empty.tar', 'zero.tar', ] const td = files.map(f => [f, fixtureDef[f]]).reduce((s, [k, v]) => { s[k] = v return s }, {}) files.push('not-existing.tar') t.test('sync', t => { const dir = t.testdir(td) t.plan(files.length) for (const file of files) { t.test(file, t => { r({ sync: true, file: resolve(dir, file), cwd: __dirname, }, [path.basename(__filename)]) check(resolve(dir, file), t) }) } }) t.test('async cb', t => { const dir = t.testdir(td) t.plan(files.length) for (const file of files) { t.test(file, t => { r({ file: resolve(dir, file), cwd: __dirname, }, [path.basename(__filename)], er => { if (er) { throw er } check(resolve(dir, file), t) }) }) } }) t.test('async', async t => { const dir = t.testdir(td) t.plan(files.length) for (const file of files) { t.test(file, t => { r({ file: resolve(dir, file), cwd: __dirname, }, [path.basename(__filename)]).then(() => { check(resolve(dir, file), t) }) }) } }) t.end() }) t.test('cannot append to gzipped archives', async t => { const dir = t.testdir({ 'compressed.tgz': fixtureDef['compressed.tgz'], }) const file = resolve(dir, 'compressed.tgz') const expect = new Error('cannot append to compressed archives') const expectT = new TypeError('cannot append to compressed archives') t.throws(_ => r({ file, cwd: __dirname, gzip: true, }, [path.basename(__filename)]), expectT) t.throws(_ => r({ file, cwd: __dirname, sync: true, }, [path.basename(__filename)]), expect) return r({ file, cwd: __dirname, }, [path.basename(__filename)], er => t.match(er, expect)) }) t.test('other throws', t => { t.throws(_ => r({}, ['asdf']), new TypeError('file is required')) t.throws(_ => r({ file: 'asdf' }, []), new TypeError('no files or directories specified')) t.end() }) t.test('broken open', t => { const dir = t.testdir({ 'body-byte-counts.tar': fixtureDef['body-byte-counts.tar'], }) const file = resolve(dir, 'body-byte-counts.tar') const poop = new Error('poop') t.teardown(mutateFS.fail('open', poop)) t.throws(_ => r({ sync: true, file }, ['README.md']), poop) r({ file }, ['README.md'], er => { t.match(er, poop) t.end() }) }) t.test('broken fstat', t => { const td = { 'body-byte-counts.tar': fixtureDef['body-byte-counts.tar'], } const poop = new Error('poop') t.test('sync', t => { const dir = t.testdir(td) const file = resolve(dir, 'body-byte-counts.tar') t.teardown(mutateFS.fail('fstat', poop)) t.throws(_ => r({ sync: true, file }, ['README.md']), poop) t.end() }) t.test('async', t => { const dir = t.testdir(td) const file = resolve(dir, 'body-byte-counts.tar') t.teardown(mutateFS.fail('fstat', poop)) r({ file }, ['README.md'], async er => { t.match(er, poop) t.end() }) }) t.end() }) t.test('broken read', t => { const dir = t.testdir({ 'body-byte-counts.tar': fixtureDef['body-byte-counts.tar'], }) const file = resolve(dir, 'body-byte-counts.tar') const poop = new Error('poop') t.teardown(mutateFS.fail('read', poop)) t.throws(_ => r({ sync: true, file }, ['README.md']), poop) r({ file }, ['README.md'], er => { t.match(er, poop) t.end() }) }) t.test('mtime cache', async t => { const td = { 'body-byte-counts.tar': fixtureDef['body-byte-counts.tar'], } let mtimeCache const check = (file, t) => { const c = spawn('tar', ['tf', file]) const out = [] c.stdout.on('data', chunk => out.push(chunk)) c.on('close', (code, signal) => { t.equal(code, 0) t.equal(signal, null) const actual = Buffer.concat(out).toString().trim().split(/\r?\n/) t.same(actual, [ '1024-bytes.txt', '512-bytes.txt', 'one-byte.txt', 'zero-byte.txt', path.basename(__filename), ]) const mtc = {} mtimeCache.forEach((v, k) => mtc[k] = mtimeCache.get(k).toISOString()) t.same(mtc, { '1024-bytes.txt': '2017-04-10T16:57:47.000Z', '512-bytes.txt': '2017-04-10T17:08:55.000Z', 'one-byte.txt': '2017-04-10T16:58:20.000Z', 'zero-byte.txt': '2017-04-10T17:08:01.000Z', }) t.end() }) } t.test('sync', t => { const dir = t.testdir(td) const file = resolve(dir, 'body-byte-counts.tar') r({ sync: true, file, cwd: __dirname, mtimeCache: mtimeCache = new Map(), }, [path.basename(__filename)]) check(file, t) }) t.test('async cb', t => { const dir = t.testdir(td) const file = resolve(dir, 'body-byte-counts.tar') r({ file, cwd: __dirname, mtimeCache: mtimeCache = new Map(), }, [path.basename(__filename)], er => { if (er) { throw er } check(file, t) }) }) t.test('async promise', t => { const dir = t.testdir(td) const file = resolve(dir, 'body-byte-counts.tar') r({ file, cwd: __dirname, mtimeCache: mtimeCache = new Map(), }, [path.basename(__filename)]).then(_ => check(file, t)) }) t.end() }) t.test('create tarball out of another tarball', t => { const td = { 'out.tar': fs.readFileSync(path.resolve(tars, 'dir.tar')), } const check = (out, t) => { const expect = [ 'dir/', 'Ω.txt', '🌟.txt', 'long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/Ω.txt', ] list({ f: out, sync: true, onentry: entry => { t.equal(entry.path, expect.shift()) } }) t.same(expect, []) t.end() } t.test('sync', t => { const dir = t.testdir(td) const out = resolve(dir, 'out.tar') r({ f: out, cwd: tars, sync: true, }, ['@utf8.tar']) check(out, t) }) t.test('async cb', t => { const dir = t.testdir(td) const out = resolve(dir, 'out.tar') r({ f: out, cwd: tars, }, ['@utf8.tar'], er => { if (er) { throw er } check(out, t) }) }) t.test('async', t => { const dir = t.testdir(td) const out = resolve(dir, 'out.tar') r({ f: out, cwd: tars, }, ['@utf8.tar']).then(() => check(out, t)) }) t.end() }) ���������������������node-tar-6.1.13/test/strip-absolute-path.js���������������������������������������������������������0000664�0000000�0000000�00000003214�14344174136�0020546�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������const t = require('tap') const stripAbsolutePath = require('../lib/strip-absolute-path.js') const cwd = process.cwd() t.test('basic', t => { const cases = { '/': ['/', ''], '////': ['////', ''], 'c:///a/b/c': ['c:///', 'a/b/c'], '\\\\foo\\bar\\baz': ['\\\\foo\\bar\\', 'baz'], '//foo//bar//baz': ['//', 'foo//bar//baz'], 'c:\\c:\\c:\\c:\\\\d:\\e/f/g': ['c:\\c:\\c:\\c:\\\\d:\\', 'e/f/g'], } for (const [input, [root, stripped]] of Object.entries(cases)) { t.strictSame(stripAbsolutePath(input, cwd), [root, stripped], input) } t.end() }) t.test('drive-local paths', t => { const env = process.env t.teardown(() => process.env = env) const cwd = 'D:\\safety\\land' const realPath = require('path') // be windowsy const path = { ...realPath.win32, win32: realPath.win32, posix: realPath.posix, } const stripAbsolutePath = t.mock('../lib/strip-absolute-path.js', { path }) const cases = { '/': ['/', ''], '////': ['////', ''], 'c:///a/b/c': ['c:///', 'a/b/c'], '\\\\foo\\bar\\baz': ['\\\\foo\\bar\\', 'baz'], '//foo//bar//baz': ['//', 'foo//bar//baz'], 'c:\\c:\\c:\\c:\\\\d:\\e/f/g': ['c:\\c:\\c:\\c:\\\\d:\\', 'e/f/g'], 'c:..\\system\\explorer.exe': ['c:', '..\\system\\explorer.exe'], 'd:..\\..\\unsafe\\land': ['d:', '..\\..\\unsafe\\land'], 'c:foo': ['c:', 'foo'], 'D:mark': ['D:', 'mark'], '//?/X:/y/z': ['//?/X:/', 'y/z'], '\\\\?\\X:\\y\\z': ['\\\\?\\X:\\', 'y\\z'], } for (const [input, [root, stripped]] of Object.entries(cases)) { if (!t.strictSame(stripAbsolutePath(input, cwd), [root, stripped], input)) { break } } t.end() }) ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/test/strip-trailing-slashes.js������������������������������������������������������0000664�0000000�0000000�00000000500�14344174136�0021242�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������const t = require('tap') const stripSlash = require('../lib/strip-trailing-slashes.js') const short = '///a///b///c///' const long = short.repeat(10) + '/'.repeat(1000000) t.equal(stripSlash('no slash'), 'no slash') t.equal(stripSlash(short), '///a///b///c') t.equal(stripSlash(long), short.repeat(9) + '///a///b///c') ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/test/types.js�����������������������������������������������������������������������0000664�0000000�0000000�00000000300�14344174136�0015774�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������'use strict' // not much to test here, just 2 maps. const t = require('tap') const types = require('../lib/types.js') t.equal(types.name.get('0'), 'File') t.equal(types.code.get('File'), '0') ��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/test/unpack.js����������������������������������������������������������������������0000664�0000000�0000000�00000236341�14344174136�0016131�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������'use strict' process.umask(0o022) const Unpack = require('../lib/unpack.js') const UnpackSync = Unpack.Sync const t = require('tap') const MiniPass = require('minipass') const makeTar = require('./make-tar.js') const Header = require('../lib/header.js') const z = require('minizlib') const fs = require('fs') const path = require('path') const fixtures = path.resolve(__dirname, 'fixtures') const tars = path.resolve(fixtures, 'tars') const parses = path.resolve(fixtures, 'parse') const unpackdir = path.resolve(fixtures, 'unpack') const { promisify } = require('util') const rimraf = promisify(require('rimraf')) const mkdirp = require('mkdirp') const mutateFS = require('mutate-fs') const eos = require('end-of-stream') const normPath = require('../lib/normalize-windows-path.js') // On Windows in particular, the "really deep folder path" file // often tends to cause problems, which don't indicate a failure // of this library, it's just what happens on Windows with super // long file paths. const isWindows = process.platform === 'win32' const isLongFile = f => f.match(/r.e.a.l.l.y.-.d.e.e.p.-.f.o.l.d.e.r.-.p.a.t.h/) t.teardown(_ => rimraf(unpackdir)) t.before(async () => { await rimraf(unpackdir) await mkdirp(unpackdir) }) t.test('basic file unpack tests', t => { const basedir = path.resolve(unpackdir, 'basic') t.teardown(_ => rimraf(basedir)) const cases = { 'emptypax.tar': { '🌟.txt': '🌟✧✩⭐︎✪✫✬✭✮⚝✯✰✵✶✷✸✹❂⭑⭒★☆✡☪✴︎✦✡️🔯✴️🌠\n', 'one-byte.txt': 'a', }, 'body-byte-counts.tar': { '1024-bytes.txt': new Array(1024).join('x') + '\n', '512-bytes.txt': new Array(512).join('x') + '\n', 'one-byte.txt': 'a', 'zero-byte.txt': '', }, 'utf8.tar': { '🌟.txt': '🌟✧✩⭐︎✪✫✬✭✮⚝✯✰✵✶✷✸✹❂⭑⭒★☆✡☪✴︎✦✡️🔯✴️🌠\n', 'Ω.txt': 'Ω', 'long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/Ω.txt': 'Ω', }, 'file.tar': { 'one-byte.txt': 'a', }, 'global-header.tar': { 'one-byte.txt': 'a', }, 'long-pax.tar': { '120-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc': 'cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc', }, 'long-paths.tar': { '100-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc': 'cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc', '120-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc': 'cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc', '170-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc': 'cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc', 'long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/a.txt': 'short\n', 'long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc': 'cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc', 'long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc': 'cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc', 'long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc': 'cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc', 'long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/Ω.txt': 'Ω', }, } const tarfiles = Object.keys(cases) t.plan(tarfiles.length) t.jobs = tarfiles.length tarfiles.forEach(tarfile => { t.test(tarfile, t => { const tf = path.resolve(tars, tarfile) const dir = path.resolve(basedir, tarfile) const linkdir = path.resolve(basedir, tarfile + '.link') t.beforeEach(async () => { await rimraf(dir) await rimraf(linkdir) await mkdirp(dir) fs.symlinkSync(dir, linkdir, 'junction') }) const check = t => { const expect = cases[tarfile] Object.keys(expect).forEach(file => { const f = path.resolve(dir, file) if (isWindows && isLongFile(file)) { return } t.equal(fs.readFileSync(f, 'utf8'), expect[file], file) }) t.end() } t.plan(2) t.test('async unpack', t => { t.plan(2) t.test('strict', t => { const unpack = new Unpack({ cwd: linkdir, strict: true }) fs.createReadStream(tf).pipe(unpack) eos(unpack, _ => check(t)) }) t.test('loose', t => { const unpack = new Unpack({ cwd: linkdir }) fs.createReadStream(tf).pipe(unpack) eos(unpack, _ => check(t)) }) }) t.test('sync unpack', t => { t.plan(2) t.test('strict', t => { const unpack = new UnpackSync({ cwd: linkdir }) unpack.end(fs.readFileSync(tf)) check(t) }) t.test('loose', t => { const unpack = new UnpackSync({ cwd: linkdir }) unpack.end(fs.readFileSync(tf)) check(t) }) }) }) }) }) t.test('cwd default to process cwd', t => { const u = new Unpack() const us = new UnpackSync() const cwd = normPath(process.cwd()) t.equal(u.cwd, cwd) t.equal(us.cwd, cwd) t.end() }) t.test('links!', t => { const dir = path.resolve(unpackdir, 'links') const data = fs.readFileSync(tars + '/links.tar') const stripData = fs.readFileSync(tars + '/links-strip.tar') t.plan(6) t.beforeEach(() => mkdirp(dir)) t.afterEach(() => rimraf(dir)) const check = t => { const hl1 = fs.lstatSync(dir + '/hardlink-1') const hl2 = fs.lstatSync(dir + '/hardlink-2') t.equal(hl1.dev, hl2.dev) t.equal(hl1.ino, hl2.ino) t.equal(hl1.nlink, 2) t.equal(hl2.nlink, 2) if (!isWindows) { // doesn't work on win32 without special privs const sym = fs.lstatSync(dir + '/symlink') t.ok(sym.isSymbolicLink()) t.equal(fs.readlinkSync(dir + '/symlink'), 'hardlink-2') } t.end() } const checkForStrip = t => { const hl1 = fs.lstatSync(dir + '/hardlink-1') const hl2 = fs.lstatSync(dir + '/hardlink-2') const hl3 = fs.lstatSync(dir + '/1/2/3/hardlink-3') t.equal(hl1.dev, hl2.dev) t.equal(hl1.ino, hl2.ino) t.equal(hl1.dev, hl3.dev) t.equal(hl1.ino, hl3.ino) t.equal(hl1.nlink, 3) t.equal(hl2.nlink, 3) if (!isWindows) { const sym = fs.lstatSync(dir + '/symlink') t.ok(sym.isSymbolicLink()) t.equal(fs.readlinkSync(dir + '/symlink'), 'hardlink-2') } t.end() } const checkForStrip3 = t => { // strips the linkpath entirely, so the link doesn't get extracted. t.throws(() => fs.lstatSync(dir + '/3'), { code: 'ENOENT' }) t.end() } t.test('async', t => { const unpack = new Unpack({ cwd: dir }) let finished = false unpack.on('finish', _ => finished = true) unpack.on('close', _ => t.ok(finished, 'emitted finish before close')) unpack.on('close', _ => check(t)) unpack.end(data) }) t.test('sync', t => { const unpack = new UnpackSync({ cwd: dir }) unpack.end(data) check(t) }) t.test('sync strip', t => { const unpack = new UnpackSync({ cwd: dir, strip: 1 }) unpack.end(stripData) checkForStrip(t) }) t.test('async strip', t => { const unpack = new Unpack({ cwd: dir, strip: 1 }) let finished = false unpack.on('finish', _ => finished = true) unpack.on('close', _ => t.ok(finished, 'emitted finish before close')) unpack.on('close', _ => checkForStrip(t)) unpack.end(stripData) }) t.test('sync strip 3', t => { const unpack = new UnpackSync({ cwd: dir, strip: 3 }) unpack.end(fs.readFileSync(tars + '/links-strip.tar')) checkForStrip3(t) }) t.test('async strip 3', t => { const unpack = new Unpack({ cwd: dir, strip: 3 }) let finished = false unpack.on('finish', _ => finished = true) unpack.on('close', _ => t.ok(finished, 'emitted finish before close')) unpack.on('close', _ => checkForStrip3(t)) unpack.end(stripData) }) }) t.test('links without cleanup (exercise clobbering code)', t => { const dir = path.resolve(unpackdir, 'links') const data = fs.readFileSync(tars + '/links.tar') t.plan(6) mkdirp.sync(dir) t.teardown(_ => rimraf(dir)) t.beforeEach(() => { // clobber this junk try { mkdirp.sync(dir + '/hardlink-1') mkdirp.sync(dir + '/hardlink-2') fs.writeFileSync(dir + '/symlink', 'not a symlink') } catch (er) {} }) const check = t => { const hl1 = fs.lstatSync(dir + '/hardlink-1') const hl2 = fs.lstatSync(dir + '/hardlink-2') t.equal(hl1.dev, hl2.dev) t.equal(hl1.ino, hl2.ino) t.equal(hl1.nlink, 2) t.equal(hl2.nlink, 2) if (!isWindows) { const sym = fs.lstatSync(dir + '/symlink') t.ok(sym.isSymbolicLink()) t.equal(fs.readlinkSync(dir + '/symlink'), 'hardlink-2') } t.end() } t.test('async', t => { const unpack = new Unpack({ cwd: dir }) let prefinished = false unpack.on('prefinish', _ => prefinished = true) unpack.on('finish', _ => t.ok(prefinished, 'emitted prefinish before finish')) unpack.on('close', _ => check(t)) unpack.end(data) }) t.test('sync', t => { const unpack = new UnpackSync({ cwd: dir }) unpack.end(data) check(t) }) t.test('async again', t => { const unpack = new Unpack({ cwd: dir }) eos(unpack, _ => check(t)) unpack.end(data) }) t.test('sync again', t => { const unpack = new UnpackSync({ cwd: dir }) unpack.end(data) check(t) }) t.test('async unlink', t => { const unpack = new Unpack({ cwd: dir, unlink: true }) unpack.on('close', _ => check(t)) unpack.end(data) }) t.test('sync unlink', t => { const unpack = new UnpackSync({ cwd: dir, unlink: true }) unpack.end(data) check(t) }) }) t.test('nested dir dupe', t => { const dir = path.resolve(unpackdir, 'nested-dir') mkdirp.sync(dir + '/d/e/e/p') t.teardown(_ => rimraf(dir)) const expect = { 'd/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/a.txt': 'short\n', 'd/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc': 'cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc', 'd/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc': 'cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc', 'd/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc': 'cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc', 'd/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/Ω.txt': 'Ω', } const check = t => { const entries = fs.readdirSync(dir) t.equal(entries.length, 1) t.equal(entries[0], 'd') Object.keys(expect).forEach(f => { const file = dir + '/' + f t.equal(fs.readFileSync(file, 'utf8'), expect[f]) }) t.end() } const unpack = new Unpack({ cwd: dir, strip: 8 }) const data = fs.readFileSync(tars + '/long-paths.tar') // while we're at it, why not use gzip too? const zip = new z.Gzip() zip.pipe(unpack) unpack.on('close', _ => check(t)) zip.end(data) }) t.test('symlink in dir path', { skip: isWindows && 'symlinks not fully supported', }, t => { const dir = path.resolve(unpackdir, 'symlink-junk') t.teardown(_ => rimraf(dir)) t.beforeEach(async () => { await rimraf(dir) await mkdirp(dir) }) const data = makeTar([ { path: 'd/i', type: 'Directory', }, { path: 'd/i/r/dir', type: 'Directory', mode: 0o751, mtime: new Date('2011-03-27T22:16:31.000Z'), }, { path: 'd/i/r/file', type: 'File', size: 1, atime: new Date('1979-07-01T19:10:00.000Z'), ctime: new Date('2011-03-27T22:16:31.000Z'), }, 'a', { path: 'd/i/r/link', type: 'Link', linkpath: 'd/i/r/file', atime: new Date('1979-07-01T19:10:00.000Z'), ctime: new Date('2011-03-27T22:16:31.000Z'), mtime: new Date('2011-03-27T22:16:31.000Z'), }, { path: 'd/i/r/symlink', type: 'SymbolicLink', linkpath: './dir', atime: new Date('1979-07-01T19:10:00.000Z'), ctime: new Date('2011-03-27T22:16:31.000Z'), mtime: new Date('2011-03-27T22:16:31.000Z'), }, { path: 'd/i/r/symlink/x', type: 'File', size: 0, atime: new Date('1979-07-01T19:10:00.000Z'), ctime: new Date('2011-03-27T22:16:31.000Z'), mtime: new Date('2011-03-27T22:16:31.000Z'), }, '', '', ]) t.test('no clobbering', t => { const warnings = [] const u = new Unpack({ cwd: dir, onwarn: (c, w, d) => warnings.push([c, w, d]), }) u.on('close', _ => { t.equal(fs.lstatSync(dir + '/d/i').mode & 0o7777, isWindows ? 0o666 : 0o755) t.equal(fs.lstatSync(dir + '/d/i/r/dir').mode & 0o7777, isWindows ? 0o666 : 0o751) t.ok(fs.lstatSync(dir + '/d/i/r/file').isFile(), 'got file') if (!isWindows) { t.ok(fs.lstatSync(dir + '/d/i/r/symlink').isSymbolicLink(), 'got symlink') t.throws(_ => fs.statSync(dir + '/d/i/r/symlink/x')) } t.equal(warnings[0][0], 'TAR_ENTRY_ERROR') if (!isWindows) { t.equal(warnings[0][1], 'Cannot extract through symbolic link') t.match(warnings[0][2], { name: 'SylinkError', path: dir + '/d/i/r/symlink/', symlink: dir + '/d/i/r/symlink', }) } t.equal(warnings.length, 1) t.end() }) u.end(data) }) t.test('no clobbering, sync', t => { const warnings = [] const u = new UnpackSync({ cwd: dir, onwarn: (c, w, d) => warnings.push([c, w, d]), }) u.end(data) t.equal(fs.lstatSync(dir + '/d/i/r/dir').mode & 0o7777, isWindows ? 0o666 : 0o751) t.ok(fs.lstatSync(dir + '/d/i/r/file').isFile(), 'got file') if (!isWindows) { t.ok(fs.lstatSync(dir + '/d/i/r/symlink').isSymbolicLink(), 'got symlink') t.throws(_ => fs.statSync(dir + '/d/i/r/symlink/x')) } t.equal(warnings.length, 1) t.equal(warnings[0][0], 'TAR_ENTRY_ERROR') t.equal(warnings[0][1], 'Cannot extract through symbolic link') t.match(warnings[0][2], { name: 'SylinkError', path: dir + '/d/i/r/symlink/', symlink: dir + '/d/i/r/symlink', }) t.end() }) t.test('extract through symlink', t => { const warnings = [] const u = new Unpack({ cwd: dir, onwarn: (c, w, d) => warnings.push([c, w, d]), preservePaths: true, }) u.on('close', _ => { t.same(warnings, []) t.equal(fs.lstatSync(dir + '/d/i/r/dir').mode & 0o7777, 0o751) t.ok(fs.lstatSync(dir + '/d/i/r/file').isFile(), 'got file') t.ok(fs.lstatSync(dir + '/d/i/r/symlink').isSymbolicLink(), 'got symlink') t.ok(fs.lstatSync(dir + '/d/i/r/dir/x').isFile(), 'x thru link') t.ok(fs.lstatSync(dir + '/d/i/r/symlink/x').isFile(), 'x thru link') t.end() }) u.end(data) }) t.test('extract through symlink sync', t => { const warnings = [] const u = new UnpackSync({ cwd: dir, onwarn: (c, w, d) => warnings.push([c, w, d]), preservePaths: true, }) u.end(data) t.same(warnings, []) t.equal(fs.lstatSync(dir + '/d/i/r/dir').mode & 0o7777, 0o751) t.ok(fs.lstatSync(dir + '/d/i/r/file').isFile(), 'got file') t.ok(fs.lstatSync(dir + '/d/i/r/symlink').isSymbolicLink(), 'got symlink') t.ok(fs.lstatSync(dir + '/d/i/r/dir/x').isFile(), 'x thru link') t.ok(fs.lstatSync(dir + '/d/i/r/symlink/x').isFile(), 'x thru link') t.end() }) t.test('clobber through symlink', t => { const warnings = [] const u = new Unpack({ cwd: dir, onwarn: (c, w, d) => warnings.push([c, w, d]), unlink: true, }) u.on('close', _ => { t.same(warnings, []) t.equal(fs.lstatSync(dir + '/d/i/r/dir').mode & 0o7777, 0o751) t.ok(fs.lstatSync(dir + '/d/i/r/file').isFile(), 'got file') t.notOk(fs.lstatSync(dir + '/d/i/r/symlink').isSymbolicLink(), 'no link') t.ok(fs.lstatSync(dir + '/d/i/r/symlink').isDirectory(), 'sym is dir') t.ok(fs.lstatSync(dir + '/d/i/r/symlink/x').isFile(), 'x thru link') t.end() }) u.end(data) }) t.test('clobber through symlink with busted unlink', t => { const poop = new Error('poop') t.teardown(mutateFS.fail('unlink', poop)) const warnings = [] const u = new Unpack({ cwd: dir, onwarn: (c, w, d) => warnings.push([c, w, d]), unlink: true, }) u.on('close', _ => { t.same(warnings, [['TAR_ENTRY_ERROR', 'poop', poop]]) t.end() }) u.end(data) }) t.test('clobber through symlink sync', t => { const warnings = [] const u = new UnpackSync({ cwd: dir, onwarn: (c, w, d) => warnings.push([c, w, d]), unlink: true, }) u.end(data) t.equal(fs.lstatSync(dir + '/d/i/r/dir').mode & 0o7777, 0o751) t.ok(fs.lstatSync(dir + '/d/i/r/file').isFile(), 'got file') t.notOk(fs.lstatSync(dir + '/d/i/r/symlink').isSymbolicLink(), 'no link') t.ok(fs.lstatSync(dir + '/d/i/r/symlink').isDirectory(), 'sym is dir') t.ok(fs.lstatSync(dir + '/d/i/r/symlink/x').isFile(), 'x thru link') t.end() }) t.test('clobber dirs', t => { mkdirp.sync(dir + '/d/i/r/dir') mkdirp.sync(dir + '/d/i/r/file') mkdirp.sync(dir + '/d/i/r/link') mkdirp.sync(dir + '/d/i/r/symlink') const warnings = [] const u = new Unpack({ cwd: dir, onwarn: (c, w, d) => { warnings.push([c, w, d]) }, }) u.on('close', _ => { t.equal(fs.lstatSync(dir + '/d/i/r/dir').mode & 0o7777, 0o751) t.ok(fs.lstatSync(dir + '/d/i/r/file').isFile(), 'got file') t.ok(fs.lstatSync(dir + '/d/i/r/symlink').isSymbolicLink(), 'got symlink') t.throws(_ => fs.statSync(dir + '/d/i/r/symlink/x')) t.equal(warnings.length, 1) t.equal(warnings[0][0], 'TAR_ENTRY_ERROR') t.equal(warnings[0][1], 'Cannot extract through symbolic link') t.match(warnings[0][2], { name: 'SylinkError', path: dir + '/d/i/r/symlink/', symlink: dir + '/d/i/r/symlink', }) t.end() }) u.end(data) }) t.test('clobber dirs sync', t => { mkdirp.sync(dir + '/d/i/r/dir') mkdirp.sync(dir + '/d/i/r/file') mkdirp.sync(dir + '/d/i/r/link') mkdirp.sync(dir + '/d/i/r/symlink') const warnings = [] const u = new UnpackSync({ cwd: dir, onwarn: (c, w, d) => { warnings.push([c, w, d]) }, }) u.end(data) t.equal(fs.lstatSync(dir + '/d/i/r/dir').mode & 0o7777, 0o751) t.ok(fs.lstatSync(dir + '/d/i/r/file').isFile(), 'got file') t.ok(fs.lstatSync(dir + '/d/i/r/symlink').isSymbolicLink(), 'got symlink') t.throws(_ => fs.statSync(dir + '/d/i/r/symlink/x')) t.equal(warnings.length, 1) t.equal(warnings[0][0], 'TAR_ENTRY_ERROR') t.equal(warnings[0][1], 'Cannot extract through symbolic link') t.match(warnings[0][2], { name: 'SylinkError', path: dir + '/d/i/r/symlink/', symlink: dir + '/d/i/r/symlink', }) t.end() }) t.end() }) t.test('unsupported entries', t => { const dir = path.resolve(unpackdir, 'unsupported-entries') mkdirp.sync(dir) t.teardown(_ => rimraf(dir)) const unknown = new Header({ path: 'qux', type: 'File', size: 4 }) unknown.type = 'Z' unknown.encode() const data = makeTar([ { path: 'dev/random', type: 'CharacterDevice', }, { path: 'dev/hd0', type: 'BlockDevice', }, { path: 'dev/fifo0', type: 'FIFO', }, // note: unrecognized types are ignored, so this won't emit a warning. // gnutar and bsdtar treat unrecognized types as 'file', so it may be // worth doing the same thing, but with a warning. unknown.block, 'asdf', '', '', ]) t.test('basic, warns', t => { const warnings = [] const u = new Unpack({ cwd: dir, onwarn: (c, w, d) => warnings.push([c, w, d]) }) const c = 'TAR_ENTRY_UNSUPPORTED' const expect = [ [c, 'unsupported entry type: CharacterDevice', { entry: { path: 'dev/random' } }], [c, 'unsupported entry type: BlockDevice', { entry: { path: 'dev/hd0' } }], [c, 'unsupported entry type: FIFO', { entry: { path: 'dev/fifo0' } }], ] u.on('close', _ => { t.equal(fs.readdirSync(dir).length, 0) t.match(warnings, expect) t.end() }) u.end(data) }) t.test('strict, throws', t => { const warnings = [] const errors = [] const u = new Unpack({ cwd: dir, strict: true, onwarn: (c, w, d) => warnings.push([c, w, d]), }) u.on('error', e => errors.push(e)) u.on('close', _ => { t.equal(fs.readdirSync(dir).length, 0) t.same(warnings, []) t.match(errors, [ { message: 'unsupported entry type: CharacterDevice', entry: { path: 'dev/random' }, }, { message: 'unsupported entry type: BlockDevice', entry: { path: 'dev/hd0' }, }, { message: 'unsupported entry type: FIFO', entry: { path: 'dev/fifo0' }, }, ]) t.end() }) u.end(data) }) t.end() }) t.test('file in dir path', t => { const dir = path.resolve(unpackdir, 'file-junk') t.teardown(_ => rimraf(dir)) t.beforeEach(async () => { await rimraf(dir) await mkdirp(dir) }) const data = makeTar([ { path: 'd/i/r/file', type: 'File', size: 1, atime: new Date('1979-07-01T19:10:00.000Z'), ctime: new Date('2011-03-27T22:16:31.000Z'), mtime: new Date('2011-03-27T22:16:31.000Z'), }, 'a', { path: 'd/i/r/file/a/b/c', type: 'File', size: 1, atime: new Date('1979-07-01T19:10:00.000Z'), ctime: new Date('2011-03-27T22:16:31.000Z'), mtime: new Date('2011-03-27T22:16:31.000Z'), }, 'b', '', '', ]) t.test('fail because of file', t => { const check = t => { t.equal(fs.readFileSync(dir + '/d/i/r/file', 'utf8'), 'a') t.throws(_ => fs.statSync(dir + '/d/i/r/file/a/b/c')) t.end() } t.plan(2) t.test('async', t => { new Unpack({ cwd: dir }).on('close', _ => check(t)).end(data) }) t.test('sync', t => { new UnpackSync({ cwd: dir }).end(data) check(t) }) }) t.test('clobber on through', t => { const check = t => { t.ok(fs.statSync(dir + '/d/i/r/file').isDirectory()) t.equal(fs.readFileSync(dir + '/d/i/r/file/a/b/c', 'utf8'), 'b') t.end() } t.plan(2) t.test('async', t => { new Unpack({ cwd: dir, unlink: true }).on('close', _ => check(t)).end(data) }) t.test('sync', t => { new UnpackSync({ cwd: dir, unlink: true }).end(data) check(t) }) }) t.end() }) t.test('set umask option', t => { const dir = path.resolve(unpackdir, 'umask') mkdirp.sync(dir) t.teardown(_ => rimraf(dir)) const data = makeTar([ { path: 'd/i/r/dir', type: 'Directory', mode: 0o751, }, '', '', ]) new Unpack({ umask: 0o027, cwd: dir, }).on('close', _ => { t.equal(fs.statSync(dir + '/d/i/r').mode & 0o7777, isWindows ? 0o666 : 0o750) t.equal(fs.statSync(dir + '/d/i/r/dir').mode & 0o7777, isWindows ? 0o666 : 0o751) t.end() }).end(data) }) t.test('absolute paths', t => { const dir = path.join(unpackdir, 'absolute-paths') t.teardown(_ => rimraf(dir)) t.beforeEach(async () => { await rimraf(dir) await mkdirp(dir) }) const absolute = path.resolve(dir, 'd/i/r/absolute') const root = path.parse(absolute).root const extraAbsolute = root + root + root + absolute t.ok(path.isAbsolute(extraAbsolute)) t.ok(path.isAbsolute(absolute)) const parsed = path.parse(absolute) const relative = absolute.slice(parsed.root.length) t.notOk(path.isAbsolute(relative)) const data = makeTar([ { path: extraAbsolute, type: 'File', size: 1, atime: new Date('1979-07-01T19:10:00.000Z'), ctime: new Date('2011-03-27T22:16:31.000Z'), mtime: new Date('2011-03-27T22:16:31.000Z'), }, 'a', '', '', ]) t.test('warn and correct', t => { const check = t => { const r = normPath(root) t.match(warnings, [[ `stripping ${r}${r}${r}${r} from absolute path`, { path: normPath(absolute), code: 'TAR_ENTRY_INFO' }, ]]) t.ok(fs.lstatSync(path.resolve(dir, relative)).isFile(), 'is file') t.end() } const warnings = [] t.test('async', t => { warnings.length = 0 new Unpack({ cwd: dir, onwarn: (c, w, d) => warnings.push([w, d]), }).on('close', _ => check(t)).end(data) }) t.test('sync', t => { warnings.length = 0 new UnpackSync({ cwd: dir, onwarn: (c, w, d) => warnings.push([w, d]), }).end(data) check(t) }) t.end() }) t.test('preserve absolute path', t => { // if we use the extraAbsolute path here, we end up creating a dir // like C:\C:\C:\C:\path\to\absolute, which is both 100% valid on // windows, as well as SUUUUUPER annoying. const data = makeTar([ { path: isWindows ? absolute : extraAbsolute, type: 'File', size: 1, atime: new Date('1979-07-01T19:10:00.000Z'), ctime: new Date('2011-03-27T22:16:31.000Z'), mtime: new Date('2011-03-27T22:16:31.000Z'), }, 'a', '', '', ]) const check = t => { t.same(warnings, []) t.ok(fs.lstatSync(absolute).isFile(), 'is file') t.end() } const warnings = [] t.test('async', t => { warnings.length = 0 new Unpack({ preservePaths: true, cwd: dir, onwarn: (c, w, d) => warnings.push([w, d]), }).on('close', _ => check(t)).end(data) }) t.test('sync', t => { warnings.length = 0 new UnpackSync({ preservePaths: true, cwd: dir, onwarn: (c, w, d) => warnings.push([w, d]), }).end(data) check(t) }) t.end() }) t.end() }) t.test('.. paths', t => { const dir = path.join(unpackdir, 'dotted-paths') t.teardown(_ => rimraf(dir)) t.beforeEach(async () => { await rimraf(dir) await mkdirp(dir) }) const fmode = 0o755 const dotted = 'a/b/c/../d' const resolved = path.resolve(dir, dotted) const data = makeTar([ { path: dotted, type: 'File', size: 1, atime: new Date('1979-07-01T19:10:00.000Z'), ctime: new Date('2011-03-27T22:16:31.000Z'), mtime: new Date('2011-03-27T22:16:31.000Z'), }, 'd', '', '', ]) t.test('warn and skip', t => { const check = t => { t.match(warnings, [[ 'path contains \'..\'', { path: dotted, code: 'TAR_ENTRY_ERROR' }, ]]) t.throws(_ => fs.lstatSync(resolved)) t.end() } const warnings = [] t.test('async', t => { warnings.length = 0 new Unpack({ fmode: fmode, cwd: dir, onwarn: (c, w, d) => warnings.push([w, d]), }).on('close', _ => check(t)).end(data) }) t.test('sync', t => { warnings.length = 0 new UnpackSync({ fmode: fmode, cwd: dir, onwarn: (c, w, d) => warnings.push([w, d]), }).end(data) check(t) }) t.end() }) t.test('preserve dotted path', t => { const check = t => { t.same(warnings, []) t.ok(fs.lstatSync(resolved).isFile(), 'is file') t.equal(fs.lstatSync(resolved).mode & 0o777, isWindows ? 0o666 : fmode) t.end() } const warnings = [] t.test('async', t => { warnings.length = 0 new Unpack({ fmode: fmode, preservePaths: true, cwd: dir, onwarn: (c, w, d) => warnings.push([w, d]), }).on('close', _ => check(t)).end(data) }) t.test('sync', t => { warnings.length = 0 new UnpackSync({ fmode: fmode, preservePaths: true, cwd: dir, onwarn: (c, w, d) => warnings.push([w, d]), }).end(data) check(t) }) t.end() }) t.end() }) t.test('fail all stats', t => { const poop = new Error('poop') poop.code = 'EPOOP' const dir = normPath(path.join(unpackdir, 'stat-fail')) const { stat, fstat, lstat, statSync, fstatSync, lstatSync, } = fs const unmutate = () => Object.assign(fs, { stat, fstat, lstat, statSync, fstatSync, lstatSync, }) const mutate = () => { fs.stat = fs.lstat = fs.fstat = (...args) => { // don't fail statting the cwd, or we get different errors if (normPath(args[0]) === dir) { return lstat(dir, args.pop()) } process.nextTick(() => args.pop()(poop)) } fs.statSync = fs.lstatSync = fs.fstatSync = (...args) => { if (normPath(args[0]) === dir) { return lstatSync(dir) } throw poop } } const warnings = [] t.beforeEach(() => { warnings.length = 0 mkdirp.sync(dir) mutate() }) t.afterEach(async () => { unmutate() await rimraf(dir) }) const data = makeTar([ { path: 'd/i/r/file/', type: 'Directory', atime: new Date('1979-07-01T19:10:00.000Z'), ctime: new Date('2011-03-27T22:16:31.000Z'), mtime: new Date('2011-03-27T22:16:31.000Z'), }, { path: 'd/i/r/dir/', type: 'Directory', mode: 0o751, atime: new Date('1979-07-01T19:10:00.000Z'), ctime: new Date('2011-03-27T22:16:31.000Z'), mtime: new Date('2011-03-27T22:16:31.000Z'), }, { path: 'd/i/r/file', type: 'File', size: 1, atime: new Date('1979-07-01T19:10:00.000Z'), ctime: new Date('2011-03-27T22:16:31.000Z'), mtime: new Date('2011-03-27T22:16:31.000Z'), }, 'a', { path: 'd/i/r/link', type: 'Link', linkpath: 'd/i/r/file', atime: new Date('1979-07-01T19:10:00.000Z'), ctime: new Date('2011-03-27T22:16:31.000Z'), mtime: new Date('2011-03-27T22:16:31.000Z'), }, { path: 'd/i/r/symlink', type: 'SymbolicLink', linkpath: './dir', atime: new Date('1979-07-01T19:10:00.000Z'), ctime: new Date('2011-03-27T22:16:31.000Z'), mtime: new Date('2011-03-27T22:16:31.000Z'), }, '', '', ]) const check = (t, expect) => { t.match(warnings, expect) warnings.forEach(w => t.equal(w[0], w[1].message)) t.end() } t.test('async', t => { const expect = [ ['poop', poop], ['poop', poop], ] new Unpack({ cwd: dir, onwarn: (c, w, d) => warnings.push([w, d]), }).on('close', _ => check(t, expect)).end(data) }) t.test('sync', t => { const expect = [ [ String, { code: 'EISDIR', path: normPath(path.resolve(dir, 'd/i/r/file')), syscall: 'open', }, ], [ String, { dest: normPath(path.resolve(dir, 'd/i/r/link')), path: normPath(path.resolve(dir, 'd/i/r/file')), syscall: 'link', }, ], ] new UnpackSync({ cwd: dir, onwarn: (c, w, d) => warnings.push([w, d]), }).end(data) check(t, expect) }) t.end() }) t.test('fail symlink', t => { const poop = new Error('poop') poop.code = 'EPOOP' const unmutate = mutateFS.fail('symlink', poop) const dir = path.join(unpackdir, 'symlink-fail') t.teardown(async _ => { unmutate() await rimraf(dir) }) const warnings = [] t.beforeEach(async () => { warnings.length = 0 await rimraf(dir) await mkdirp(dir) }) const data = makeTar([ { path: 'd/i/r/dir/', type: 'Directory', mode: 0o751, atime: new Date('1979-07-01T19:10:00.000Z'), ctime: new Date('2011-03-27T22:16:31.000Z'), mtime: new Date('2011-03-27T22:16:31.000Z'), }, { path: 'd/i/r/symlink', type: 'SymbolicLink', linkpath: './dir', atime: new Date('1979-07-01T19:10:00.000Z'), ctime: new Date('2011-03-27T22:16:31.000Z'), mtime: new Date('2011-03-27T22:16:31.000Z'), }, '', '', ]) const check = (t, expect) => { t.match(warnings, expect) warnings.forEach(w => t.equal(w[0], w[1].message)) t.end() } t.test('async', t => { const expect = [['poop', poop]] new Unpack({ cwd: dir, onwarn: (c, w, d) => warnings.push([w, d]), }).on('close', _ => check(t, expect)).end(data) }) t.test('sync', t => { const expect = [['poop', poop]] new UnpackSync({ cwd: dir, onwarn: (c, w, d) => warnings.push([w, d]), }).end(data) check(t, expect) }) t.end() }) t.test('fail chmod', t => { const poop = new Error('poop') poop.code = 'EPOOP' const unmutate = mutateFS.fail('chmod', poop) const dir = path.join(unpackdir, 'chmod-fail') t.teardown(async _ => { unmutate() await rimraf(dir) }) const warnings = [] t.beforeEach(async () => { warnings.length = 0 await rimraf(dir) await mkdirp(dir) }) const data = makeTar([ { path: 'd/i/r/dir/', type: 'Directory', atime: new Date('1979-07-01T19:10:00.000Z'), ctime: new Date('2011-03-27T22:16:31.000Z'), mtime: new Date('2011-03-27T22:16:31.000Z'), }, { path: 'd/i/r/dir/', type: 'Directory', mode: 0o751, atime: new Date('1979-07-01T19:10:00.000Z'), ctime: new Date('2011-03-27T22:16:31.000Z'), mtime: new Date('2011-03-27T22:16:31.000Z'), }, '', '', ]) const check = (t, expect) => { t.match(warnings, expect) warnings.forEach(w => t.equal(w[0], w[1].message)) t.end() } t.test('async', t => { const expect = [['poop', poop]] new Unpack({ cwd: dir, onwarn: (c, w, d) => warnings.push([w, d]), }).on('close', _ => check(t, expect)).end(data) }) t.test('sync', t => { const expect = [['poop', poop]] new UnpackSync({ cwd: dir, onwarn: (c, w, d) => warnings.push([w, d]), }).end(data) check(t, expect) }) t.end() }) t.test('fail mkdir', t => { const poop = new Error('poop') poop.code = 'EPOOP' let unmutate const dir = path.join(unpackdir, 'mkdir-fail') t.teardown(_ => rimraf(dir)) const warnings = [] t.beforeEach(async () => { warnings.length = 0 await rimraf(dir) await mkdirp(dir) unmutate = mutateFS.fail('mkdir', poop) }) t.afterEach(() => unmutate()) const data = makeTar([ { path: 'dir/', type: 'Directory', mode: 0o751, atime: new Date('1979-07-01T19:10:00.000Z'), ctime: new Date('2011-03-27T22:16:31.000Z'), mtime: new Date('2011-03-27T22:16:31.000Z'), }, '', '', ]) const expect = [[ 'ENOENT: no such file or directory', { code: 'ENOENT', syscall: 'lstat', path: normPath(path.resolve(dir, 'dir')), }, ]] const check = t => { t.match(warnings, expect) warnings.forEach(w => t.equal(w[0], w[1].message)) t.end() } t.test('sync', t => { new UnpackSync({ cwd: dir, onwarn: (c, w, d) => warnings.push([w, d]), }).end(data) check(t) }) t.test('async', t => { new Unpack({ cwd: dir, onwarn: (c, w, d) => warnings.push([w, d]), }).on('close', _ => check(t)).end(data) }) t.end() }) t.test('fail write', t => { const poop = new Error('poop') poop.code = 'EPOOP' const unmutate = mutateFS.fail('write', poop) const dir = path.join(unpackdir, 'write-fail') t.teardown(async _ => { unmutate() await rimraf(dir) }) const warnings = [] t.beforeEach(async () => { warnings.length = 0 await rimraf(dir) await mkdirp(dir) }) const data = makeTar([ { path: 'x', type: 'File', size: 1, mode: 0o751, mtime: new Date('2011-03-27T22:16:31.000Z'), }, 'x', '', '', ]) const expect = [['poop', poop]] const check = t => { t.match(warnings, expect) warnings.forEach(w => t.equal(w[0], w[1].message)) t.end() } t.test('async', t => { new Unpack({ cwd: dir, onwarn: (c, w, d) => warnings.push([w, d]), }).on('close', _ => check(t)).end(data) }) t.test('sync', t => { new UnpackSync({ cwd: dir, onwarn: (c, w, d) => warnings.push([w, d]), }).end(data) check(t) }) t.end() }) t.test('skip existing', t => { const dir = path.join(unpackdir, 'skip-newer') t.teardown(_ => rimraf(dir)) const date = new Date('2011-03-27T22:16:31.000Z') t.beforeEach(async () => { await rimraf(dir) await mkdirp(dir) fs.writeFileSync(dir + '/x', 'y') fs.utimesSync(dir + '/x', date, date) }) const data = makeTar([ { path: 'x', type: 'File', size: 1, mode: 0o751, mtime: new Date('2013-12-19T17:00:00.000Z'), }, 'x', '', '', ]) const check = t => { const st = fs.lstatSync(dir + '/x') t.equal(st.atime.toISOString(), date.toISOString()) t.equal(st.mtime.toISOString(), date.toISOString()) const data = fs.readFileSync(dir + '/x', 'utf8') t.equal(data, 'y') t.end() } t.test('async', t => { new Unpack({ cwd: dir, keep: true, }).on('close', _ => check(t)).end(data) }) t.test('sync', t => { new UnpackSync({ cwd: dir, keep: true, }).end(data) check(t) }) t.end() }) t.test('skip newer', t => { const dir = path.join(unpackdir, 'skip-newer') t.teardown(_ => rimraf(dir)) const date = new Date('2013-12-19T17:00:00.000Z') t.beforeEach(async () => { await rimraf(dir) await mkdirp(dir) fs.writeFileSync(dir + '/x', 'y') fs.utimesSync(dir + '/x', date, date) }) const data = makeTar([ { path: 'x', type: 'File', size: 1, mode: 0o751, mtime: new Date('2011-03-27T22:16:31.000Z'), }, 'x', '', '', ]) const check = t => { const st = fs.lstatSync(dir + '/x') t.equal(st.atime.toISOString(), date.toISOString()) t.equal(st.mtime.toISOString(), date.toISOString()) const data = fs.readFileSync(dir + '/x', 'utf8') t.equal(data, 'y') t.end() } t.test('async', t => { new Unpack({ cwd: dir, newer: true, }).on('close', _ => check(t)).end(data) }) t.test('sync', t => { new UnpackSync({ cwd: dir, newer: true, }).end(data) check(t) }) t.end() }) t.test('no mtime', t => { const dir = path.join(unpackdir, 'skip-newer') t.teardown(_ => rimraf(dir)) t.beforeEach(async () => { await rimraf(dir) await mkdirp(dir) }) const date = new Date('2011-03-27T22:16:31.000Z') const data = makeTar([ { path: 'x/', type: 'Directory', size: 0, atime: date, ctime: date, mtime: date, }, { path: 'x/y', type: 'File', size: 1, mode: 0o751, atime: date, ctime: date, mtime: date, }, 'x', '', '', ]) const check = t => { // this may fail if it's run on March 27, 2011 const stx = fs.lstatSync(dir + '/x') t.not(stx.atime.toISOString(), date.toISOString()) t.not(stx.mtime.toISOString(), date.toISOString()) const sty = fs.lstatSync(dir + '/x/y') t.not(sty.atime.toISOString(), date.toISOString()) t.not(sty.mtime.toISOString(), date.toISOString()) const data = fs.readFileSync(dir + '/x/y', 'utf8') t.equal(data, 'x') t.end() } t.test('async', t => { new Unpack({ cwd: dir, noMtime: true, }).on('close', _ => check(t)).end(data) }) t.test('sync', t => { new UnpackSync({ cwd: dir, noMtime: true, }).end(data) check(t) }) t.end() }) t.test('unpack big enough to pause/drain', t => { const dir = path.resolve(unpackdir, 'drain-clog') mkdirp.sync(dir) t.teardown(_ => rimraf(dir)) const stream = fs.createReadStream(fixtures + '/parses.tar') const u = new Unpack({ cwd: dir, strip: 3, strict: true, }) u.on('ignoredEntry', entry => t.fail('should not get ignored entry: ' + entry.path)) u.on('close', _ => { t.pass('extraction finished') const actual = fs.readdirSync(dir) const expected = fs.readdirSync(parses) t.same(actual, expected) t.end() }) stream.pipe(u) }) t.test('set owner', t => { // fake it on platforms that don't have getuid const myUid = 501 const myGid = 1024 const getuid = process.getuid const getgid = process.getgid process.getuid = _ => myUid process.getgid = _ => myGid t.teardown(_ => (process.getuid = getuid, process.getgid = getgid)) // can't actually do this because it requires root, but we can // verify that chown gets called. t.test('as root, defaults to true', t => { const getuid = process.getuid process.getuid = _ => 0 const u = new Unpack() t.equal(u.preserveOwner, true, 'preserveOwner enabled') process.getuid = getuid t.end() }) t.test('as non-root, defaults to false', t => { const getuid = process.getuid process.getuid = _ => 501 const u = new Unpack() t.equal(u.preserveOwner, false, 'preserveOwner disabled') process.getuid = getuid t.end() }) const data = makeTar([ { uid: 2456124561, gid: 813708013, path: 'foo/', type: 'Directory', }, { uid: myUid, gid: 813708013, path: 'foo/my-uid-different-gid', type: 'File', size: 3, }, 'qux', { uid: 2456124561, path: 'foo/different-uid-nogid', type: 'Directory', }, { uid: 2456124561, path: 'foo/different-uid-nogid/bar', type: 'File', size: 3, }, 'qux', { gid: 813708013, path: 'foo/different-gid-nouid/bar', type: 'File', size: 3, }, 'qux', { uid: myUid, gid: myGid, path: 'foo-mine/', type: 'Directory', }, { uid: myUid, gid: myGid, path: 'foo-mine/bar', type: 'File', size: 3, }, 'qux', { uid: myUid, path: 'foo-mine/nogid', type: 'Directory', }, { uid: myUid, path: 'foo-mine/nogid/bar', type: 'File', size: 3, }, 'qux', '', '', ]) t.test('chown failure results in unpack failure', t => { const dir = path.resolve(unpackdir, 'chown') const poop = new Error('expected chown failure') const un = mutateFS.fail('chown', poop) const unl = mutateFS.fail('lchown', poop) const unf = mutateFS.fail('fchown', poop) t.teardown(async () => { un() unf() unl() await rimraf(dir) }) t.test('sync', t => { mkdirp.sync(dir) t.teardown(_ => rimraf(dir)) let warned = false const u = new Unpack.Sync({ cwd: dir, preserveOwner: true, onwarn: (c, m, er) => { if (!warned) { warned = true t.equal(er, poop) t.end() } }, }) u.end(data) }) t.test('async', t => { mkdirp.sync(dir) t.teardown(_ => rimraf(dir)) let warned = false const u = new Unpack({ cwd: dir, preserveOwner: true, onwarn: (c, m, er) => { if (!warned) { warned = true t.equal(er, poop) t.end() } }, }) u.end(data) }) t.end() }) t.test('chown when true', t => { const dir = path.resolve(unpackdir, 'chown') const chown = fs.chown const lchown = fs.lchown const fchown = fs.fchown const chownSync = fs.chownSync const fchownSync = fs.fchownSync const lchownSync = fs.lchownSync let called = 0 fs.fchown = fs.chown = fs.lchown = (path, owner, group, cb) => { called++ cb() } fs.chownSync = fs.lchownSync = fs.fchownSync = _ => called++ t.teardown(_ => { fs.chown = chown fs.fchown = fchown fs.lchown = lchown fs.chownSync = chownSync fs.fchownSync = fchownSync fs.lchownSync = lchownSync }) t.test('sync', t => { mkdirp.sync(dir) t.teardown(_ => rimraf(dir)) called = 0 const u = new Unpack.Sync({ cwd: dir, preserveOwner: true }) u.end(data) t.ok(called >= 5, 'called chowns') t.end() }) t.test('async', t => { mkdirp.sync(dir) t.teardown(_ => rimraf(dir)) called = 0 const u = new Unpack({ cwd: dir, preserveOwner: true }) u.end(data) u.on('close', _ => { t.ok(called >= 5, 'called chowns') t.end() }) }) t.end() }) t.test('no chown when false', t => { const dir = path.resolve(unpackdir, 'nochown') const poop = new Error('poop') const un = mutateFS.fail('chown', poop) const unf = mutateFS.fail('fchown', poop) const unl = mutateFS.fail('lchown', poop) t.teardown(async _ => { un() unf() unl() await rimraf(dir) }) t.beforeEach(() => mkdirp(dir)) t.afterEach(() => rimraf(dir)) const check = t => { const dirStat = fs.statSync(dir + '/foo') t.not(dirStat.uid, 2456124561) t.not(dirStat.gid, 813708013) const fileStat = fs.statSync(dir + '/foo/my-uid-different-gid') t.not(fileStat.uid, 2456124561) t.not(fileStat.gid, 813708013) const dirStat2 = fs.statSync(dir + '/foo/different-uid-nogid') t.not(dirStat2.uid, 2456124561) const fileStat2 = fs.statSync(dir + '/foo/different-uid-nogid/bar') t.not(fileStat2.uid, 2456124561) t.end() } t.test('sync', t => { const u = new Unpack.Sync({ cwd: dir, preserveOwner: false }) u.end(data) check(t) }) t.test('async', t => { const u = new Unpack({ cwd: dir, preserveOwner: false }) u.end(data) u.on('close', _ => check(t)) }) t.end() }) t.end() }) t.test('unpack when dir is not writable', t => { const data = makeTar([ { path: 'a/', type: 'Directory', mode: 0o444, }, { path: 'a/b', type: 'File', size: 1, }, 'a', '', '', ]) const dir = path.resolve(unpackdir, 'nowrite-dir') t.beforeEach(() => mkdirp(dir)) t.afterEach(() => rimraf(dir)) const check = t => { t.equal(fs.statSync(dir + '/a').mode & 0o7777, isWindows ? 0o666 : 0o744) t.equal(fs.readFileSync(dir + '/a/b', 'utf8'), 'a') t.end() } t.test('sync', t => { const u = new Unpack.Sync({ cwd: dir, strict: true }) u.end(data) check(t) }) t.test('async', t => { const u = new Unpack({ cwd: dir, strict: true }) u.end(data) u.on('close', _ => check(t)) }) t.end() }) t.test('transmute chars on windows', t => { const data = makeTar([ { path: '<|>?:.txt', size: 5, type: 'File', }, '<|>?:', '', '', ]) const dir = path.resolve(unpackdir, 'winchars') t.beforeEach(() => mkdirp(dir)) t.afterEach(() => rimraf(dir)) const hex = 'ef80bcef81bcef80beef80bfef80ba2e747874' const uglyName = Buffer.from(hex, 'hex').toString() const ugly = path.resolve(dir, uglyName) const check = t => { t.same(fs.readdirSync(dir), [uglyName]) t.equal(fs.readFileSync(ugly, 'utf8'), '<|>?:') t.end() } t.test('async', t => { const u = new Unpack({ cwd: dir, win32: true, }) u.end(data) u.on('close', _ => check(t)) }) t.test('sync', t => { const u = new Unpack.Sync({ cwd: dir, win32: true, }) u.end(data) check(t) }) t.end() }) t.test('safely transmute chars on windows with absolutes', t => { // don't actually make the directory const poop = new Error('poop') t.teardown(mutateFS.fail('mkdir', poop)) const data = makeTar([ { path: 'c:/x/y/z/<|>?:.txt', size: 5, type: 'File', }, '<|>?:', '', '', ]) const hex = 'ef80bcef81bcef80beef80bfef80ba2e747874' const uglyName = Buffer.from(hex, 'hex').toString() const uglyPath = 'c:/x/y/z/' + uglyName const u = new Unpack({ win32: true, preservePaths: true, }) u.on('entry', entry => { t.equal(entry.path, uglyPath) t.end() }) u.end(data) }) t.test('use explicit chmod when required by umask', t => { process.umask(0o022) const basedir = path.resolve(unpackdir, 'umask-chmod') const data = makeTar([ { path: 'x/y/z', mode: 0o775, type: 'Directory', }, '', '', ]) const check = async t => { const st = fs.statSync(basedir + '/x/y/z') t.equal(st.mode & 0o777, isWindows ? 0o666 : 0o775) await rimraf(basedir) t.end() } t.test('async', t => { mkdirp.sync(basedir) const unpack = new Unpack({ cwd: basedir }) unpack.on('close', _ => check(t)) unpack.end(data) }) return t.test('sync', t => { mkdirp.sync(basedir) const unpack = new Unpack.Sync({ cwd: basedir }) unpack.end(data) check(t) }) }) t.test('dont use explicit chmod if noChmod flag set', t => { process.umask(0o022) const { umask } = process t.teardown(() => process.umask = umask) process.umask = () => { throw new Error('should not call process.umask()') } const basedir = path.resolve(unpackdir, 'umask-no-chmod') const data = makeTar([ { path: 'x/y/z', mode: 0o775, type: 'Directory', }, '', '', ]) const check = async t => { const st = fs.statSync(basedir + '/x/y/z') t.equal(st.mode & 0o777, isWindows ? 0o666 : 0o755) await rimraf(basedir) t.end() } t.test('async', t => { mkdirp.sync(basedir) const unpack = new Unpack({ cwd: basedir, noChmod: true }) unpack.on('close', _ => check(t)) unpack.end(data) }) return t.test('sync', t => { mkdirp.sync(basedir) const unpack = new Unpack.Sync({ cwd: basedir, noChmod: true }) unpack.end(data) check(t) }) }) t.test('chown implicit dirs and also the entries', t => { const basedir = path.resolve(unpackdir, 'chownr') // club these so that the test can run as non-root const chown = fs.chown const chownSync = fs.chownSync const lchown = fs.lchown const lchownSync = fs.lchownSync const fchown = fs.fchown const fchownSync = fs.fchownSync const getuid = process.getuid const getgid = process.getgid t.teardown(_ => { fs.chown = chown fs.chownSync = chownSync fs.lchown = lchown fs.lchownSync = lchownSync fs.fchown = fchown fs.fchownSync = fchownSync process.getgid = getgid }) let chowns = 0 let currentTest = null fs.lchown = fs.fchown = fs.chown = (path, uid, gid, cb) => { currentTest.equal(uid, 420, 'chown(' + path + ') uid') currentTest.equal(gid, 666, 'chown(' + path + ') gid') chowns++ cb() } fs.lchownSync = fs.chownSync = fs.fchownSync = (path, uid, gid) => { currentTest.equal(uid, 420, 'chownSync(' + path + ') uid') currentTest.equal(gid, 666, 'chownSync(' + path + ') gid') chowns++ } const data = makeTar([ { path: 'a/b/c', mode: 0o775, type: 'File', size: 1, uid: null, gid: null, }, '.', { path: 'x/y/z', mode: 0o775, uid: 12345, gid: 54321, type: 'File', size: 1, }, '.', '', '', ]) const check = async t => { currentTest = null t.equal(chowns, 8) chowns = 0 await rimraf(basedir) t.end() } t.test('throws when setting uid/gid improperly', t => { t.throws(_ => new Unpack({ uid: 420 }), TypeError('cannot set owner without number uid and gid')) t.throws(_ => new Unpack({ gid: 666 }), TypeError('cannot set owner without number uid and gid')) t.throws(_ => new Unpack({ uid: 1, gid: 2, preserveOwner: true }), TypeError('cannot preserve owner in archive and also set owner explicitly')) t.end() }) const tests = () => t.test('async', t => { currentTest = t mkdirp.sync(basedir) const unpack = new Unpack({ cwd: basedir, uid: 420, gid: 666 }) unpack.on('close', _ => check(t)) unpack.end(data) }).then(t.test('sync', t => { currentTest = t mkdirp.sync(basedir) const unpack = new Unpack.Sync({ cwd: basedir, uid: 420, gid: 666 }) unpack.end(data) check(t) })) tests() t.test('make it look like processUid is 420', t => { process.getuid = () => 420 t.end() }) tests() t.test('make it look like processGid is 666', t => { process.getuid = getuid process.getgid = () => 666 t.end() }) return tests() }) t.test('bad cwd setting', t => { const basedir = path.resolve(unpackdir, 'bad-cwd') mkdirp.sync(basedir) t.teardown(_ => rimraf(basedir)) const cases = [ // the cwd itself { path: './', type: 'Directory', }, // a file directly in the cwd { path: 'a', type: 'File', }, // a file nested within a subdir of the cwd { path: 'a/b/c', type: 'File', }, ] fs.writeFileSync(basedir + '/file', 'xyz') cases.forEach(c => t.test(c.type + ' ' + c.path, t => { const data = makeTar([ { path: c.path, mode: 0o775, type: c.type, size: 0, uid: null, gid: null, }, '', '', ]) t.test('cwd is a file', t => { const cwd = basedir + '/file' const opt = { cwd: cwd } t.throws(_ => new Unpack.Sync(opt).end(data), { name: 'CwdError', message: 'ENOTDIR: Cannot cd into \'' + normPath(cwd) + '\'', path: normPath(cwd), code: 'ENOTDIR', }) new Unpack(opt).on('error', er => { t.match(er, { name: 'CwdError', message: 'ENOTDIR: Cannot cd into \'' + normPath(cwd) + '\'', path: normPath(cwd), code: 'ENOTDIR', }) t.end() }).end(data) }) return t.test('cwd is missing', t => { const cwd = basedir + '/asdf/asdf/asdf' const opt = { cwd: cwd } t.throws(_ => new Unpack.Sync(opt).end(data), { name: 'CwdError', message: 'ENOENT: Cannot cd into \'' + normPath(cwd) + '\'', path: normPath(cwd), code: 'ENOENT', }) new Unpack(opt).on('error', er => { t.match(er, { name: 'CwdError', message: 'ENOENT: Cannot cd into \'' + normPath(cwd) + '\'', path: normPath(cwd), code: 'ENOENT', }) t.end() }).end(data) }) })) t.end() }) t.test('transform', t => { const basedir = path.resolve(unpackdir, 'transform') t.teardown(_ => rimraf(basedir)) const cases = { 'emptypax.tar': { '🌟.txt': '🌟✧✩⭐︎✪✫✬✭✮⚝✯✰✵✶✷✸✹❂⭑⭒★☆✡☪✴︎✦✡️🔯✴️🌠\n', 'one-byte.txt': '[a]', }, 'body-byte-counts.tar': { '1024-bytes.txt': new Array(1024).join('[x]') + '[\n]', '512-bytes.txt': new Array(512).join('[x]') + '[\n]', 'one-byte.txt': '[a]', 'zero-byte.txt': '', }, 'utf8.tar': { '🌟.txt': '🌟✧✩⭐︎✪✫✬✭✮⚝✯✰✵✶✷✸✹❂⭑⭒★☆✡☪✴︎✦✡️🔯✴️🌠\n', 'Ω.txt': '[Ω]', 'long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/Ω.txt': '[Ω]', }, } const txFn = entry => { switch (path.basename(entry.path)) { case 'zero-bytes.txt': return entry case 'one-byte.txt': case '1024-bytes.txt': case '512-bytes.txt': case 'Ω.txt': return new Bracer() } } class Bracer extends MiniPass { write (data) { const d = data.toString().split('').map(c => '[' + c + ']').join('') return super.write(d) } } const tarfiles = Object.keys(cases) t.plan(tarfiles.length) t.jobs = tarfiles.length tarfiles.forEach(tarfile => { t.test(tarfile, t => { const tf = path.resolve(tars, tarfile) const dir = path.resolve(basedir, tarfile) t.beforeEach(async () => { await rimraf(dir) await mkdirp(dir) }) const check = t => { const expect = cases[tarfile] Object.keys(expect).forEach(file => { const f = path.resolve(dir, file) t.equal(fs.readFileSync(f, 'utf8'), expect[file], file) }) t.end() } t.plan(2) t.test('async unpack', t => { t.plan(2) t.test('strict', t => { const unpack = new Unpack({ cwd: dir, strict: true, transform: txFn }) fs.createReadStream(tf).pipe(unpack) eos(unpack, _ => check(t)) }) t.test('loose', t => { const unpack = new Unpack({ cwd: dir, transform: txFn }) fs.createReadStream(tf).pipe(unpack) eos(unpack, _ => check(t)) }) }) t.test('sync unpack', t => { t.plan(2) t.test('strict', t => { const unpack = new UnpackSync({ cwd: dir, strict: true, transform: txFn }) unpack.end(fs.readFileSync(tf)) check(t) }) t.test('loose', t => { const unpack = new UnpackSync({ cwd: dir, transform: txFn }) unpack.end(fs.readFileSync(tf)) check(t) }) }) }) }) }) t.test('transform error', t => { const dir = path.resolve(unpackdir, 'transform-error') mkdirp.sync(dir) t.teardown(_ => rimraf(dir)) const tarfile = path.resolve(tars, 'body-byte-counts.tar') const tardata = fs.readFileSync(tarfile) const poop = new Error('poop') const txFn = () => { const tx = new MiniPass() tx.write = () => tx.emit('error', poop) tx.resume() return tx } t.test('sync unpack', t => { t.test('strict', t => { const unpack = new UnpackSync({ cwd: dir, strict: true, transform: txFn }) const expect = 3 let actual = 0 unpack.on('error', er => { t.equal(er, poop) actual++ }) unpack.end(tardata) t.equal(actual, expect, 'error count') t.end() }) t.test('loose', t => { const unpack = new UnpackSync({ cwd: dir, transform: txFn }) const expect = 3 let actual = 0 unpack.on('warn', (code, msg, er) => { t.equal(er, poop) actual++ }) unpack.end(tardata) t.equal(actual, expect, 'error count') t.end() }) t.end() }) t.test('async unpack', t => { // the last error is about the folder being deleted, just ignore that one t.test('strict', t => { const unpack = new Unpack({ cwd: dir, strict: true, transform: txFn }) t.plan(3) t.teardown(() => { unpack.removeAllListeners('error') unpack.on('error', () => {}) }) unpack.on('error', er => t.equal(er, poop)) unpack.end(tardata) }) t.test('loose', t => { const unpack = new Unpack({ cwd: dir, transform: txFn }) t.plan(3) t.teardown(() => unpack.removeAllListeners('warn')) unpack.on('warn', (code, msg, er) => t.equal(er, poop)) unpack.end(tardata) }) t.end() }) t.end() }) t.test('futimes/fchown failures', t => { const archive = path.resolve(tars, 'utf8.tar') const dir = path.resolve(unpackdir, 'futimes-fchown-fails') const tardata = fs.readFileSync(archive) const poop = new Error('poop') const second = new Error('second error') t.beforeEach(async () => { await rimraf(dir) await mkdirp(dir) }) t.teardown(() => rimraf(dir)) const methods = ['utimes', 'chown'] methods.forEach(method => { const fc = method === 'chown' t.test(method + ' fallback', t => { t.teardown(mutateFS.fail('f' + method, poop)) // forceChown will fail on systems where the user is not root // and/or the uid/gid in the archive aren't valid. We're just // verifying coverage here, so make the method auto-pass. t.teardown(mutateFS.pass(method)) t.plan(2) t.test('async unpack', t => { t.plan(2) t.test('strict', t => { const unpack = new Unpack({ cwd: dir, strict: true, forceChown: fc }) unpack.on('finish', t.end) unpack.end(tardata) }) t.test('loose', t => { const unpack = new Unpack({ cwd: dir, forceChown: fc }) unpack.on('finish', t.end) unpack.on('warn', t.fail) unpack.end(tardata) }) }) t.test('sync unpack', t => { t.plan(2) t.test('strict', t => { const unpack = new Unpack.Sync({ cwd: dir, strict: true, forceChown: fc }) unpack.end(tardata) t.end() }) t.test('loose', t => { const unpack = new Unpack.Sync({ cwd: dir, forceChown: fc }) unpack.on('warn', t.fail) unpack.end(tardata) t.end() }) }) }) t.test('also fail ' + method, t => { const unmutate = mutateFS.fail('f' + method, poop) const unmutate2 = mutateFS.fail(method, second) t.teardown(() => { unmutate() unmutate2() }) t.plan(2) t.test('async unpack', t => { t.plan(2) t.test('strict', t => { const unpack = new Unpack({ cwd: dir, strict: true, forceChown: fc }) t.plan(3) unpack.on('error', er => t.equal(er, poop)) unpack.end(tardata) }) t.test('loose', t => { const unpack = new Unpack({ cwd: dir, forceChown: fc }) t.plan(3) unpack.on('warn', (code, m, er) => t.equal(er, poop)) unpack.end(tardata) }) }) t.test('sync unpack', t => { t.plan(2) t.test('strict', t => { const unpack = new Unpack.Sync({ cwd: dir, strict: true, forceChown: fc }) t.plan(3) unpack.on('error', er => t.equal(er, poop)) unpack.end(tardata) }) t.test('loose', t => { const unpack = new Unpack.Sync({ cwd: dir, forceChown: fc }) t.plan(3) unpack.on('warn', (c, m, er) => t.equal(er, poop)) unpack.end(tardata) }) }) }) }) t.end() }) t.test('onentry option is preserved', t => { const basedir = path.resolve(unpackdir, 'onentry-method') mkdirp.sync(basedir) t.teardown(() => rimraf(basedir)) let oecalls = 0 const onentry = entry => oecalls++ const data = makeTar([ { path: 'd/i', type: 'Directory', }, { path: 'd/i/r/dir', type: 'Directory', mode: 0o751, mtime: new Date('2011-03-27T22:16:31.000Z'), }, { path: 'd/i/r/file', type: 'File', size: 1, atime: new Date('1979-07-01T19:10:00.000Z'), ctime: new Date('2011-03-27T22:16:31.000Z'), }, 'a', '', '', ]) const check = t => { t.equal(oecalls, 3) oecalls = 0 t.end() } t.test('sync', t => { const dir = path.join(basedir, 'sync') mkdirp.sync(dir) const unpack = new UnpackSync({ cwd: dir, onentry }) unpack.end(data) check(t) }) t.test('async', t => { const dir = path.join(basedir, 'async') mkdirp.sync(dir) const unpack = new Unpack({ cwd: dir, onentry }) unpack.on('finish', () => check(t)) unpack.end(data) }) t.end() }) t.test('do not reuse hardlinks, only nlink=1 files', t => { const basedir = path.resolve(unpackdir, 'hardlink-reuse') mkdirp.sync(basedir) t.teardown(() => rimraf(basedir)) const now = new Date('2018-04-30T18:30:39.025Z') const data = makeTar([ { path: 'overwriteme', type: 'File', size: 4, mode: 0o644, mtime: now, }, 'foo\n', { path: 'link', linkpath: 'overwriteme', type: 'Link', mode: 0o644, mtime: now, }, { path: 'link', type: 'File', size: 4, mode: 0o644, mtime: now, }, 'bar\n', '', '', ]) const checks = { link: 'bar\n', overwriteme: 'foo\n', } const check = t => { for (const f in checks) { t.equal(fs.readFileSync(basedir + '/' + f, 'utf8'), checks[f], f) t.equal(fs.statSync(basedir + '/' + f).nlink, 1, f) } t.end() } t.test('async', t => { const u = new Unpack({ cwd: basedir }) u.on('close', () => check(t)) u.end(data) }) t.test('sync', t => { const u = new UnpackSync({ cwd: basedir }) u.end(data) check(t) }) t.end() }) t.test('trying to unpack a non-zlib gzip file should fail', t => { const data = Buffer.from('hello this is not gzip data') const dataGzip = Buffer.concat([Buffer.from([0x1f, 0x8b]), data]) const basedir = path.resolve(unpackdir, 'bad-archive') t.test('abort if gzip has an error', t => { t.plan(2) const expect = { message: /^zlib/, errno: Number, code: /^Z/, recoverable: false, cwd: normPath(basedir), tarCode: 'TAR_ABORT', } const opts = { cwd: basedir, gzip: true, } new Unpack(opts) .once('error', er => t.match(er, expect, 'async emits')) .end(dataGzip) const skip = !/^v([0-9]|1[0-3])\./.test(process.version) ? false : 'node prior to v14 did not raise sync zlib errors properly' t.throws(() => new UnpackSync(opts).end(dataGzip), expect, 'sync throws', { skip }) }) t.test('bad archive if no gzip', t => { t.plan(2) const expect = { tarCode: 'TAR_BAD_ARCHIVE', recoverable: false, } const opts = { cwd: basedir } new Unpack(opts) .on('error', er => t.match(er, expect, 'async emits')) .end(data) t.throws(() => new UnpackSync(opts).end(data), expect, 'sync throws') }) t.end() }) t.test('handle errors on fs.close', t => { const poop = new Error('poop') const { close, closeSync } = fs // have to actually close them, or else windows gets mad fs.close = (fd, cb) => close(fd, () => cb(poop)) fs.closeSync = (fd) => { closeSync(fd) throw poop } t.teardown(() => Object.assign(fs, { close, closeSync })) const dir = path.resolve(unpackdir, 'close-fail') mkdirp.sync(dir + '/sync') mkdirp.sync(dir + '/async') const data = makeTar([ { path: 'file', type: 'File', size: 1, atime: new Date('1979-07-01T19:10:00.000Z'), ctime: new Date('2011-03-27T22:16:31.000Z'), mtime: new Date('2011-03-27T22:16:31.000Z'), }, 'a', '', '', ]) t.plan(2) new Unpack({ cwd: dir + '/async', strict: true }) .on('error', er => t.equal(er, poop, 'async')) .end(data) t.throws(() => new UnpackSync({ cwd: normPath(dir + '/sync'), strict: true, }).end(data), poop, 'sync') }) t.test('drop entry from dirCache if no longer a directory', { skip: isWindows && 'symlinks not fully supported', }, t => { const dir = path.resolve(unpackdir, 'dir-cache-error') mkdirp.sync(dir + '/sync/y') mkdirp.sync(dir + '/async/y') const data = makeTar([ { path: 'x', type: 'Directory', }, { path: 'x', type: 'SymbolicLink', linkpath: './y', }, { path: 'x/ginkoid', type: 'File', size: 'ginkoid'.length, }, 'ginkoid', '', '', ]) t.plan(2) const WARNINGS = {} const check = (t, path) => { t.equal(fs.statSync(path + '/x').isDirectory(), true) t.equal(fs.lstatSync(path + '/x').isSymbolicLink(), true) t.equal(fs.statSync(path + '/y').isDirectory(), true) t.strictSame(fs.readdirSync(path + '/y'), []) t.throws(() => fs.readFileSync(path + '/x/ginkoid'), { code: 'ENOENT' }) t.strictSame(WARNINGS[path], [ 'TAR_ENTRY_ERROR', 'Cannot extract through symbolic link', ]) t.end() } t.test('async', t => { const path = dir + '/async' new Unpack({ cwd: path }) .on('warn', (code, msg) => WARNINGS[path] = [code, msg]) .on('end', () => check(t, path)) .end(data) }) t.test('sync', t => { const path = dir + '/sync' new UnpackSync({ cwd: path }) .on('warn', (code, msg) => WARNINGS[path] = [code, msg]) .end(data) check(t, path) }) }) t.test('using strip option when top level file exists', t => { const dir = path.resolve(unpackdir, 'strip-with-top-file') mkdirp.sync(dir + '/sync/y') mkdirp.sync(dir + '/async/y') const data = makeTar([ { path: 'top', type: 'File', size: 0, }, { path: 'x', type: 'Directory', }, { path: 'x/a', type: 'File', size: 'a'.length, }, 'a', { path: 'y', type: 'GNUDumpDir', }, { path: 'y/b', type: 'File', size: 'b'.length, }, 'b', '', '', ]) t.plan(2) const check = (t, path) => { t.equal(fs.statSync(path).isDirectory(), true) t.equal(fs.readFileSync(path + '/a', 'utf8'), 'a') t.equal(fs.readFileSync(path + '/b', 'utf8'), 'b') t.throws(() => fs.statSync(path + '/top'), { code: 'ENOENT' }) t.end() } t.test('async', t => { const path = dir + '/async' new Unpack({ cwd: path, strip: 1 }) .on('end', () => check(t, path)) .end(data) }) t.test('sync', t => { const path = dir + '/sync' new UnpackSync({ cwd: path, strip: 1 }).end(data) check(t, path) }) }) t.test('handle EPERMs when creating symlinks', t => { // https://github.com/npm/node-tar/issues/265 const msg = 'You do not have sufficient privilege to perform this operation.' const er = Object.assign(new Error(msg), { code: 'EPERM', }) t.teardown(mutateFS.fail('symlink', er)) const data = makeTar([ { path: 'x', type: 'Directory', }, { path: 'x/y', type: 'File', size: 'hello, world'.length, }, 'hello, world', { path: 'x/link1', type: 'SymbolicLink', linkpath: './y', }, { path: 'x/link2', type: 'SymbolicLink', linkpath: './y', }, { path: 'x/link3', type: 'SymbolicLink', linkpath: './y', }, { path: 'x/z', type: 'File', size: 'hello, world'.length, }, 'hello, world', '', '', ]) const dir = path.resolve(unpackdir, 'eperm-symlinks') mkdirp.sync(`${dir}/sync`) mkdirp.sync(`${dir}/async`) const check = path => { t.match(WARNINGS, [ ['TAR_ENTRY_ERROR', msg], ['TAR_ENTRY_ERROR', msg], ['TAR_ENTRY_ERROR', msg], ], 'got expected warnings') t.equal(WARNINGS.length, 3) WARNINGS.length = 0 t.equal(fs.readFileSync(`${path}/x/y`, 'utf8'), 'hello, world') t.equal(fs.readFileSync(`${path}/x/z`, 'utf8'), 'hello, world') t.throws(() => fs.statSync(`${path}/x/link1`), { code: 'ENOENT' }) t.throws(() => fs.statSync(`${path}/x/link2`), { code: 'ENOENT' }) t.throws(() => fs.statSync(`${path}/x/link3`), { code: 'ENOENT' }) } const WARNINGS = [] const u = new Unpack({ cwd: `${dir}/async`, onwarn: (code, msg, er) => WARNINGS.push([code, msg]), }) u.on('end', () => { check(`${dir}/async`) const u = new UnpackSync({ cwd: `${dir}/sync`, onwarn: (code, msg, er) => WARNINGS.push([code, msg]), }) u.end(data) check(`${dir}/sync`) t.end() }) u.end(data) }) t.test('close fd when error writing', t => { const data = makeTar([ { type: 'Directory', path: 'x', }, { type: 'File', size: 1, path: 'x/y', }, '.', '', '', ]) t.teardown(mutateFS.fail('write', new Error('nope'))) const CLOSES = [] const OPENS = {} const { open } = require('fs') t.teardown(() => fs.open = open) fs.open = (...args) => { const cb = args.pop() args.push((er, fd) => { OPENS[args[0]] = fd cb(er, fd) }) return open.call(fs, ...args) } t.teardown(mutateFS.mutateArgs('close', ([fd]) => { CLOSES.push(fd) return [fd] })) const WARNINGS = [] const dir = path.resolve(unpackdir, 'close-on-write-error') mkdirp.sync(dir) const unpack = new Unpack({ cwd: dir, onwarn: (code, msg) => WARNINGS.push([code, msg]), }) unpack.on('end', () => { for (const [path, fd] of Object.entries(OPENS)) { t.equal(CLOSES.includes(fd), true, 'closed fd for ' + path) } t.end() }) unpack.end(data) }) t.test('close fd when error setting mtime', t => { const data = makeTar([ { type: 'Directory', path: 'x', }, { type: 'File', size: 1, path: 'x/y', atime: new Date('1979-07-01T19:10:00.000Z'), ctime: new Date('2011-03-27T22:16:31.000Z'), mtime: new Date('2011-03-27T22:16:31.000Z'), }, '.', '', '', ]) // have to clobber these both, because we fall back t.teardown(mutateFS.fail('futimes', new Error('nope'))) t.teardown(mutateFS.fail('utimes', new Error('nooooope'))) const CLOSES = [] const OPENS = {} const { open } = require('fs') t.teardown(() => fs.open = open) fs.open = (...args) => { const cb = args.pop() args.push((er, fd) => { OPENS[args[0]] = fd cb(er, fd) }) return open.call(fs, ...args) } t.teardown(mutateFS.mutateArgs('close', ([fd]) => { CLOSES.push(fd) return [fd] })) const WARNINGS = [] const dir = path.resolve(unpackdir, 'close-on-futimes-error') mkdirp.sync(dir) const unpack = new Unpack({ cwd: dir, onwarn: (code, msg) => WARNINGS.push([code, msg]), }) unpack.on('end', () => { for (const [path, fd] of Object.entries(OPENS)) { t.equal(CLOSES.includes(fd), true, 'closed fd for ' + path) } t.end() }) unpack.end(data) }) t.test('do not hang on large files that fail to open()', t => { const data = makeTar([ { type: 'Directory', path: 'x', }, { type: 'File', size: 31745, path: 'x/y', }, 'x'.repeat(31745), '', '', ]) t.teardown(mutateFS.fail('open', new Error('nope'))) const dir = path.resolve(unpackdir, 'no-hang-for-large-file-failures') mkdirp.sync(dir) const WARNINGS = [] const unpack = new Unpack({ cwd: dir, onwarn: (code, msg) => WARNINGS.push([code, msg]), }) unpack.on('end', () => { t.strictSame(WARNINGS, [['TAR_ENTRY_ERROR', 'nope']]) t.end() }) unpack.write(data.slice(0, 2048)) setTimeout(() => { unpack.write(data.slice(2048, 4096)) setTimeout(() => { unpack.write(data.slice(4096)) setTimeout(() => { unpack.end() }) }) }) }) t.test('dirCache pruning unicode normalized collisions', { skip: isWindows && 'symlinks not fully supported', }, t => { const data = makeTar([ { type: 'Directory', path: 'foo', }, { type: 'File', path: 'foo/bar', size: 1, }, 'x', { type: 'Directory', // café path: Buffer.from([0x63, 0x61, 0x66, 0xc3, 0xa9]).toString(), }, { type: 'SymbolicLink', // cafe with a ` path: Buffer.from([0x63, 0x61, 0x66, 0x65, 0xcc, 0x81]).toString(), linkpath: 'foo', }, { type: 'Directory', path: 'foo', }, { type: 'File', path: Buffer.from([0x63, 0x61, 0x66, 0xc3, 0xa9]).toString() + '/bar', size: 1, }, 'y', '', '', ]) const check = (path, dirCache, t) => { path = path.replace(/\\/g, '/') t.strictSame([...dirCache.entries()][0], [`${path}/foo`, true]) t.equal(fs.readFileSync(path + '/foo/bar', 'utf8'), 'x') t.end() } t.test('sync', t => { const path = t.testdir() const dirCache = new Map() new UnpackSync({ cwd: path, dirCache }).end(data) check(path, dirCache, t) }) t.test('async', t => { const path = t.testdir() const dirCache = new Map() new Unpack({ cwd: path, dirCache }) .on('close', () => check(path, dirCache, t)) .end(data) }) t.end() }) t.test('dircache prune all on windows when symlink encountered', t => { if (process.platform !== 'win32') { process.env.TESTING_TAR_FAKE_PLATFORM = 'win32' t.teardown(() => { delete process.env.TESTING_TAR_FAKE_PLATFORM }) } const symlinks = [] const Unpack = t.mock('../lib/unpack.js', { fs: { ...fs, symlink: (target, dest, cb) => { symlinks.push(['async', target, dest]) process.nextTick(cb) }, symlinkSync: (target, dest) => symlinks.push(['sync', target, dest]), }, }) const UnpackSync = Unpack.Sync const data = makeTar([ { type: 'Directory', path: 'foo', }, { type: 'File', path: 'foo/bar', size: 1, }, 'x', { type: 'Directory', // café path: Buffer.from([0x63, 0x61, 0x66, 0xc3, 0xa9]).toString(), }, { type: 'SymbolicLink', // cafe with a ` path: Buffer.from([0x63, 0x61, 0x66, 0x65, 0xcc, 0x81]).toString(), linkpath: 'safe/actually/but/cannot/be/too/careful', }, { type: 'File', path: 'bar/baz', size: 1, }, 'z', '', '', ]) const check = (path, dirCache, t) => { // symlink blew away all dirCache entries before it path = path.replace(/\\/g, '/') t.strictSame([...dirCache.entries()], [ [`${path}/bar`, true], ]) t.equal(fs.readFileSync(`${path}/foo/bar`, 'utf8'), 'x') t.equal(fs.readFileSync(`${path}/bar/baz`, 'utf8'), 'z') t.end() } t.test('sync', t => { const path = t.testdir() const dirCache = new Map() new UnpackSync({ cwd: path, dirCache }).end(data) check(path, dirCache, t) }) t.test('async', t => { const path = t.testdir() const dirCache = new Map() new Unpack({ cwd: path, dirCache }) .on('close', () => check(path, dirCache, t)) .end(data) }) t.end() }) t.test('recognize C:.. as a dot path part', t => { if (process.platform !== 'win32') { process.env.TESTING_TAR_FAKE_PLATFORM = 'win32' t.teardown(() => { delete process.env.TESTING_TAR_FAKE_PLATFORM }) } const Unpack = t.mock('../lib/unpack.js', { path: { ...path.win32, win32: path.win32, posix: path.posix, }, }) const UnpackSync = Unpack.Sync const data = makeTar([ { type: 'File', path: 'C:../x/y/z', size: 1, }, 'z', { type: 'File', path: 'x:..\\y\\z', size: 1, }, 'x', { type: 'File', path: 'Y:foo', size: 1, }, 'y', '', '', ]) const check = (path, warnings, t) => { t.equal(fs.readFileSync(`${path}/foo`, 'utf8'), 'y') t.strictSame(warnings, [ [ 'TAR_ENTRY_ERROR', "path contains '..'", 'C:../x/y/z', 'C:../x/y/z', ], ['TAR_ENTRY_ERROR', "path contains '..'", 'x:../y/z', 'x:../y/z'], [ 'TAR_ENTRY_INFO', 'stripping Y: from absolute path', 'Y:foo', 'foo', ], ]) t.end() } t.test('async', t => { const warnings = [] const path = t.testdir() new Unpack({ cwd: path, onwarn: (c, w, { entry, path }) => warnings.push([c, w, path, entry.path]), }) .on('close', () => check(path, warnings, t)) .end(data) }) t.test('sync', t => { const warnings = [] const path = t.testdir() new UnpackSync({ cwd: path, onwarn: (c, w, { entry, path }) => warnings.push([c, w, path, entry.path]), }).end(data) check(path, warnings, t) }) t.end() }) �����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/test/update.js����������������������������������������������������������������������0000664�0000000�0000000�00000021532�14344174136�0016124�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������'use strict' const t = require('tap') const u = require('../lib/update.js') const path = require('path') const fs = require('fs') const mutateFS = require('mutate-fs') const { resolve } = require('path') const fixtures = path.resolve(__dirname, 'fixtures') const tars = path.resolve(fixtures, 'tars') const zlib = require('zlib') const spawn = require('child_process').spawn const data = fs.readFileSync(tars + '/body-byte-counts.tar') const dataNoNulls = data.slice(0, data.length - 1024) const fixtureDef = { 'body-byte-counts.tar': data, 'no-null-eof.tar': dataNoNulls, 'truncated-head.tar': Buffer.concat([dataNoNulls, data.slice(0, 500)]), 'truncated-body.tar': Buffer.concat([dataNoNulls, data.slice(0, 700)]), 'zero.tar': Buffer.from(''), 'empty.tar': Buffer.alloc(512), 'compressed.tgz': zlib.gzipSync(data), } t.test('basic file add to archive (good or truncated)', t => { const check = (file, t) => { const c = spawn('tar', ['tf', file]) const out = [] c.stdout.on('data', chunk => out.push(chunk)) c.on('close', (code, signal) => { t.equal(code, 0) t.equal(signal, null) const actual = Buffer.concat(out).toString().trim().split(/\r?\n/) t.same(actual, [ '1024-bytes.txt', '512-bytes.txt', 'one-byte.txt', 'zero-byte.txt', path.basename(__filename), ]) t.end() }) } const files = [ 'body-byte-counts.tar', 'no-null-eof.tar', 'truncated-head.tar', 'truncated-body.tar', ] const td = files.map(f => [f, fixtureDef[f]]).reduce((s, [k, v]) => { s[k] = v return s }, {}) const fileList = [path.basename(__filename)] t.test('sync', t => { t.plan(files.length) const dir = t.testdir(td) for (const file of files) { t.test(file, t => { u({ sync: true, file: resolve(dir, file), cwd: __dirname, }, fileList) check(resolve(dir, file), t) }) } }) t.test('async cb', t => { t.plan(files.length) const dir = t.testdir(td) for (const file of files) { t.test(file, t => { u({ file: resolve(dir, file), cwd: __dirname, }, fileList, er => { if (er) { throw er } check(resolve(dir, file), t) }) }) } }) t.test('async', t => { t.plan(files.length) const dir = t.testdir(td) for (const file of files) { t.test(file, t => { u({ file: resolve(dir, file), cwd: __dirname, }, fileList).then(() => { check(resolve(dir, file), t) }) }) } }) t.end() }) t.test('add to empty archive', t => { const check = (file, t) => { const c = spawn('tar', ['tf', file]) const out = [] c.stdout.on('data', chunk => out.push(chunk)) c.on('close', (code, signal) => { t.equal(code, 0) t.equal(signal, null) const actual = Buffer.concat(out).toString().trim().split(/\r?\n/) t.same(actual, [ path.basename(__filename), ]) t.end() }) } const files = [ 'empty.tar', 'zero.tar', ] const td = files.map(f => [f, fixtureDef[f]]).reduce((s, [k, v]) => { s[k] = v return s }, {}) files.push('not-existing.tar') t.test('sync', t => { const dir = t.testdir(td) t.plan(files.length) for (const file of files) { t.test(file, t => { u({ sync: true, file: resolve(dir, file), cwd: __dirname, }, [path.basename(__filename)]) check(resolve(dir, file), t) }) } }) t.test('async cb', t => { const dir = t.testdir(td) t.plan(files.length) for (const file of files) { t.test(file, t => { u({ file: resolve(dir, file), cwd: __dirname, }, [path.basename(__filename)], er => { if (er) { throw er } check(resolve(dir, file), t) }) }) } }) t.test('async', async t => { const dir = t.testdir(td) t.plan(files.length) for (const file of files) { t.test(file, t => { u({ file: resolve(dir, file), cwd: __dirname, }, [path.basename(__filename)]).then(() => { check(resolve(dir, file), t) }) }) } }) t.end() }) t.test('cannot append to gzipped archives', t => { const dir = t.testdir({ 'compressed.tgz': fixtureDef['compressed.tgz'], }) const file = resolve(dir, 'compressed.tgz') const expect = new Error('cannot append to compressed archives') const expectT = new TypeError('cannot append to compressed archives') t.throws(_ => u({ file, cwd: __dirname, gzip: true, }, [path.basename(__filename)]), expectT) t.throws(_ => u({ file, cwd: __dirname, sync: true, }, [path.basename(__filename)]), expect) u({ file, cwd: __dirname, }, [path.basename(__filename)], er => { t.match(er, expect) t.end() }) }) t.test('other throws', t => { t.throws(_ => u({}, ['asdf']), new TypeError('file is required')) t.throws(_ => u({ file: 'asdf' }, []), new TypeError('no files or directories specified')) t.end() }) t.test('broken open', t => { const dir = t.testdir({ 'body-byte-counts.tar': fixtureDef['body-byte-counts.tar'], }) const file = resolve(dir, 'body-byte-counts.tar') const poop = new Error('poop') t.teardown(mutateFS.fail('open', poop)) t.throws(_ => u({ sync: true, file: file }, ['README.md']), poop) u({ file }, ['README.md'], er => { t.match(er, poop) t.end() }) }) t.test('broken fstat', t => { const td = { 'body-byte-counts.tar': fixtureDef['body-byte-counts.tar'], } const poop = new Error('poop') t.test('sync', t => { const dir = t.testdir(td) const file = resolve(dir, 'body-byte-counts.tar') t.teardown(mutateFS.fail('fstat', poop)) t.throws(_ => u({ sync: true, file }, ['README.md']), poop) t.end() }) t.test('async', t => { const dir = t.testdir(td) const file = resolve(dir, 'body-byte-counts.tar') t.teardown(mutateFS.fail('fstat', poop)) u({ file }, ['README.md'], async er => { t.match(er, poop) t.end() }) }) t.end() }) t.test('broken read', t => { const dir = t.testdir({ 'body-byte-counts.tar': fixtureDef['body-byte-counts.tar'], }) const file = resolve(dir, 'body-byte-counts.tar') const poop = new Error('poop') t.teardown(mutateFS.fail('read', poop)) t.throws(_ => u({ sync: true, file }, ['README.md']), poop) u({ file }, ['README.md'], er => { t.match(er, poop) t.end() }) }) t.test('do not add older file', t => { const dir = t.testdir({ 'body-byte-counts.tar': fixtureDef['body-byte-counts.tar'], '1024-bytes.txt': '.'.repeat(1024), foo: 'foo', }) const file = resolve(dir, 'body-byte-counts.tar') const f = resolve(dir, '1024-bytes.txt') const oldDate = new Date('1997-04-10T16:57:47.000Z') fs.utimesSync(f, oldDate, oldDate) // file size should not change const expect = fixtureDef['body-byte-counts.tar'].length const check = t => { t.equal(fs.statSync(file).size, expect) t.end() } t.test('sync', t => { u({ mtimeCache: new Map(), file, cwd: dir, sync: true, filter: path => path === '1024-bytes.txt', }, ['1024-bytes.txt', 'foo']) check(t) }) t.test('async', t => { u({ file, cwd: dir }, ['1024-bytes.txt']).then(_ => check(t)) }) t.test('async cb', t => { u({ file, cwd: dir }, ['1024-bytes.txt'], er => { if (er) { throw er } check(t) }) }) t.end() }) t.test('do add newer file', t => { const setup = t => { const dir = t.testdir({ 'body-byte-counts.tar': fixtureDef['body-byte-counts.tar'], '1024-bytes.txt': '.'.repeat(1024), foo: 'foo', }) const f = resolve(dir, '1024-bytes.txt') const newDate = new Date(Date.now() + 24 * 60 * 60 * 1000) fs.utimesSync(f, newDate, newDate) return dir } // a chunk for the header, then 2 for the body const expect = fixtureDef['body-byte-counts.tar'].length + 512 + 1024 const check = (file, t) => { t.equal(fs.statSync(file).size, expect) t.end() } t.test('sync', t => { const dir = setup(t) const file = resolve(dir, 'body-byte-counts.tar') u({ mtimeCache: new Map(), file, cwd: dir, sync: true, filter: path => path === '1024-bytes.txt', }, ['1024-bytes.txt', 'foo']) check(file, t) }) t.test('async', t => { const dir = setup(t) const file = resolve(dir, 'body-byte-counts.tar') u({ file, cwd: dir }, ['1024-bytes.txt']).then(_ => check(file, t)) }) t.test('async cb', t => { const dir = setup(t) const file = resolve(dir, 'body-byte-counts.tar') u({ file, cwd: dir }, ['1024-bytes.txt'], er => { if (er) { throw er } check(file, t) }) }) t.end() }) ����������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/test/warn-mixin.js������������������������������������������������������������������0000664�0000000�0000000�00000002073�14344174136�0016732�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������const t = require('tap') const EE = require('events').EventEmitter const warner = require('../lib/warn-mixin.js') const Warner = warner(EE) const w = new Warner() t.type(w.warn, 'function') const warning = [] w.once('warn', (code, msg, data) => warning.push(code, msg, data)) w.warn('code', 'hello') t.same(warning, ['code', 'hello', { tarCode: 'code', code: 'code' }]) warning.length = 0 w.once('warn', (code, msg, data) => warning.push(code, msg, data)) w.warn('ok', new Error('this is fine'), { foo: 'bar' }) t.match(warning, ['ok', 'this is fine', { message: 'this is fine', foo: 'bar', }]) w.strict = true t.throws(_ => w.warn('code', 'hello', { data: 123 }), { message: 'hello', data: 123 }) const poop = new Error('poop') t.throws(_ => w.warn('ok', poop), poop) w.file = 'some/file' t.throws(_ => w.warn('ok', 'this is fine'), { file: 'some/file' }) w.cwd = 'some/dir' t.throws(_ => w.warn('ok', 'this is fine'), { cwd: 'some/dir' }) w.strict = false t.throws(_ => w.warn('ok', 'this is fine', { recoverable: false }), { cwd: 'some/dir', recoverable: false }) ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/test/winchars.js��������������������������������������������������������������������0000664�0000000�0000000�00000000370�14344174136�0016455�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������'use strict' const t = require('tap') const wc = require('../lib/winchars.js') t.equal(wc.encode('<>'), '\uf03c\uf03e', 'encode') t.equal(wc.decode(wc.encode('<>')), '<>', 'decode') t.equal(wc.decode(wc.encode('\\|<>?:')), '\\|<>?:', 'all chars') ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������node-tar-6.1.13/test/write-entry.js�����������������������������������������������������������������0000664�0000000�0000000�00000123011�14344174136�0017126�0����������������������������������������������������������������������������������������������������ustar�00root����������������������������root����������������������������0000000�0000000������������������������������������������������������������������������������������������������������������������������������������������������������������������������'use strict' const t = require('tap') const mkdirp = require('mkdirp') // make our tests verify that windows link targets get turned into / paths const fs = require('fs') const { readlink, readlinkSync } = fs fs.readlink = (path, cb) => { readlink(path, (er, path) => { if (er) { return cb(er) } else { cb(null, path.replace(/\//g, '\\')) } }) } fs.readlinkSync = path => readlinkSync(path).replace(/\//g, '\\') const ReadEntry = require('../lib/read-entry.js') const makeTar = require('./make-tar.js') const WriteEntry = require('../lib/write-entry.js') const path = require('path') const fixtures = path.resolve(__dirname, 'fixtures') const files = path.resolve(fixtures, 'files') const Header = require('../lib/header.js') const mutateFS = require('mutate-fs') process.env.USER = 'isaacs' const chmodr = require('chmodr') const Parser = require('../lib/parse.js') const rimraf = require('rimraf') const isWindows = process.platform === 'win32' const normPath = require('../lib/normalize-windows-path.js') t.test('set up', t => { const one = fs.statSync(files + '/hardlink-1') const two = fs.statSync(files + '/hardlink-2') if (one.dev !== two.dev || one.ino !== two.ino) { fs.unlinkSync(files + '/hardlink-2') fs.linkSync(files + '/hardlink-1', files + '/hardlink-2') } chmodr.sync(files, isWindows ? 0o666 : 0o644) t.end() }) t.test('100 byte filename', t => { // do this one twice, so we have it with and without cache let statCache = null let linkCache = null t.plan(2) const runTest = t => { const f = '100-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc' const ws = new WriteEntry(f, { cwd: files, linkCache: linkCache, statCache: statCache, }) let out = [] ws.on('data', c => out.push(c)) ws.on('end', _ => { out = Buffer.concat(out) t.match(ws, { header: { cksumValid: true, needPax: false, path: '100-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc', mode: isWindows ? 0o666 : 0o644, size: 100, linkpath: null, uname: 'isaacs', gname: null, devmaj: 0, devmin: 0, }, }) const wss = new WriteEntry.Sync(f, { cwd: files, linkCache: linkCache, statCache: statCache, }) linkCache = ws.linkCache statCache = ws.statCache t.equal(out.slice(512).toString('hex'), wss.read().slice(512).toString('hex')) t.equal(out.length, 1024) t.equal(out.slice(0, 100).toString(), f) const h = new Header(out.slice(0, 512)) t.match(h, { cksumValid: true, needPax: false, path: '100-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc', mode: isWindows ? 0o666 : 0o644, size: 100, linkpath: '', uname: 'isaacs', gname: '', devmaj: 0, devmin: 0, }) t.equal(out.slice(512).toString('hex'), '6363636363636363636363636363636363636363636363636363636363636363' + '6363636363636363636363636363636363636363636363636363636363636363' + '6363636363636363636363636363636363636363636363636363636363636363' + '6363636300000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000' + '0000000000000000000000000000000000000000000000000000000000000000') t.end() }) } t.test('uncached', runTest) t.test('cached', runTest) }) t.test('directory', t => { const ws = new WriteEntry('dir', { cwd: files, }) let out = [] ws.on('data', c => out.push(c)) ws.on('end', _ => { out = Buffer.concat(out) t.match(ws.header, { cksumValid: true, needPax: false, path: 'dir/', mode: isWindows ? 0o777 : 0o755, size: 0, linkpath: null, uname: 'isaacs', gname: null, devmaj: 0, devmin: 0, }) t.equal(out.length, 512) const wss = new WriteEntry.Sync('dir', { cwd: files }) t.equal(wss.read().length, 512) t.match(wss.header, { cksumValid: true, needPax: false, path: 'dir/', mode: isWindows ? 0o777 : 0o755, size: 0, linkpath: null, uname: 'isaacs', gname: null, devmaj: 0, devmin: 0, }) t.end() }) }) t.test('empty path for cwd', t => { const ws = new WriteEntry('') let out = [] ws.on('data', c => out.push(c)) ws.on('end', _ => { out = Buffer.concat(out) t.match(ws.header, { cksumValid: true, needPax: false, path: './', mode: isWindows ? 0o777 : fs.statSync('./').mode & 0o7777, size: 0, linkpath: null, uname: 'isaacs', gname: null, devmaj: 0, devmin: 0, }) t.end() }) }) t.test('symlink', { skip: isWindows && 'symlinks not fully supported', }, t => { const ws = new WriteEntry('symlink', { cwd: files }) let out = [] ws.on('data', c => out.push(c)) const header = { cksumValid: true, needPax: false, path: 'symlink', size: 0, linkpath: 'hardlink-2', uname: 'isaacs', gname: null, devmaj: 0, devmin: 0, } const wss = new WriteEntry.Sync('symlink', { cwd: files }) t.match(wss.header, header) ws.on('end', _ => { out = Buffer.concat(out) t.equal(out.length, 512) t.match(ws.header, header) t.end() }) }) t.test('zero-byte file', t => { const ws = new WriteEntry('files/zero-byte.txt', { cwd: fixtures }) let out = [] ws.on('data', c => out.push(c)) ws.on('end', _ => { out = Buffer.concat(out) t.equal(out.length, 512) t.match(ws.header, { path: 'files/zero-byte.txt', cksumValid: true, needPax: false, mode: isWindows ? 0o666 : 0o644, size: 0, linkpath: null, uname: 'isaacs', gname: null, devmaj: 0, devmin: 0, }) t.end() }) }) t.test('zero-byte file, but close fails', t => { const poop = new Error('poop') t.teardown(mutateFS.fail('close', poop)) const ws = new WriteEntry('files/1024-bytes.txt', { cwd: fixtures }) ws.on('end', _ => t.fail('should not get an end, because the close fails')) ws.on('error', er => { t.match(er, { message: 'poop' }) t.end() }) ws.resume() }) t.test('hardlinks', t => { const wss = new WriteEntry.Sync('hardlink-1', { cwd: files, }) const ws = new WriteEntry('files/hardlink-2', { cwd: fixtures, linkCache: wss.linkCache, }) let out = [] ws.on('data', c => out.push(c)) ws.on('end', _ => { out = Buffer.concat(out) t.equal(out.length, 512) t.match(ws.header, { type: 'Link', path: 'files/hardlink-2', cksumValid: true, needPax: false, mode: isWindows ? 0o666 : 0o644, size: 0, linkpath: 'files/hardlink-1', uname: 'isaacs', gname: null, devmaj: 0, devmin: 0, }) t.end() }) }) t.test('hardlinks far away', t => { const h1 = 'hardlink-1' const f = path.resolve(files, h1) const stat = fs.statSync(f) const linkCache = new Map([[stat.dev + ':' + stat.ino, '/a/b/c/d/e']]) const ws = new WriteEntry('files/hardlink-2', { cwd: fixtures, linkCache: linkCache, }) let out = [] ws.on('data', c => out.push(c)) ws.on('end', _ => { out = Buffer.concat(out) t.equal(out.length, 1024) t.match(ws.header, { path: 'files/hardlink-2', cksumValid: true, needPax: false, mode: isWindows ? 0o666 : 0o644, size: 26, linkpath: null, uname: 'isaacs', gname: null, devmaj: 0, devmin: 0, }) t.end() }) }) t.test('really deep path', t => { const f = 'long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc' const ws = new WriteEntry(f, { cwd: files }) let out = [] ws.on('data', c => out.push(c)) ws.on('end', _ => { out = Buffer.concat(out) t.match(ws.header, { cksumValid: true, needPax: true, path: 'long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc', mode: isWindows ? 0o666 : 0o644, size: 100, linkpath: null, uname: 'isaacs', gname: null, devmaj: 0, devmin: 0, }) t.equal(out.length, 2048) t.end() }) }) t.test('no pax', t => { const f = 'long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc' const ws = new WriteEntry(f, { cwd: files, noPax: true }) let out = [] ws.on('data', c => out.push(c)) ws.on('end', _ => { out = Buffer.concat(out) t.match(ws.header, { cksumValid: true, needPax: true, path: 'long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc', mode: isWindows ? 0o666 : 0o644, size: 100, linkpath: null, uname: 'isaacs', gname: null, devmaj: 0, devmin: 0, }) t.equal(out.length, 1024) t.end() }) }) t.test('nonexistent file', t => { const f = path.resolve(files, 'does not exist') const ws = new WriteEntry('does not exist', { cwd: files }) ws.on('error', er => { t.match(er, { message: 'ENOENT: no such file or directory, lstat \'' + f + '\'', code: 'ENOENT', path: f, syscall: 'lstat', }) t.end() }) }) t.test('absolute path', t => { const absolute = path.resolve(files, '512-bytes.txt') const { root } = path.parse(absolute) const f = root + root + root + absolute const warn = normPath(isWindows ? root : root + root + root + root) t.test('preservePaths=false strict=false', t => { const warnings = [] // on windows, c:\c:\c:\... is a valid path, so just use the // single-root absolute version of it. const ws = new WriteEntry(isWindows ? absolute : f, { cwd: files, onwarn: (c, m, p) => warnings.push([c, m, p]), }) let out = [] ws.on('data', c => out.push(c)) ws.on('end', _ => { out = Buffer.concat(out) t.equal(out.length, 1024) t.match(warnings, [[ 'TAR_ENTRY_INFO', `stripping ${warn} from absolute path`, { path: normPath(isWindows ? absolute : f) }, ]]) t.match(ws.header, { cksumValid: true, needPax: false, path: normPath(absolute.replace(/^(\/|[a-z]:[/\\])*/i, '')), mode: isWindows ? 0o666 : 0o644, size: 512, linkpath: null, uname: 'isaacs', gname: null, devmaj: 0, devmin: 0, }) t.end() }) }) t.test('preservePaths=true', t => { t.plan(2) // with preservePaths, strictness doens't matter ;[true, false].forEach(strict => { t.test('strict=' + strict, t => { const warnings = [] const ws = new WriteEntry(isWindows ? absolute : f, { cwd: files, strict: strict, preservePaths: true, onwarn: (c, m, p) => warnings.push([c, m, p]), }) let out = [] ws.on('data', c => out.push(c)) ws.on('end', _ => { out = Buffer.concat(out) t.equal(warnings.length, 0) t.match(ws.header, { cksumValid: true, needPax: false, path: normPath(isWindows ? absolute : f), mode: isWindows ? 0o666 : 0o644, size: 512, linkpath: null, uname: 'isaacs', gname: null, devmaj: 0, devmin: 0, }) t.end() }) }) }) }) t.test('preservePaths=false strict=true', t => { t.throws(_ => { new WriteEntry(isWindows ? absolute : f, { strict: true, cwd: files, }) }, { message: /stripping .* from absolute path/, path: normPath(isWindows ? absolute : f), }) t.end() }) t.end() }) t.throws(_ => new WriteEntry(null), new TypeError('path is required')) t.test('no user environ, sets uname to empty string', t => { delete process.env.USER const ws = new WriteEntry('512-bytes.txt', { cwd: files }) let out = [] ws.on('data', c => out.push(c)) ws.on('end', _ => { out = Buffer.concat(out) t.equal(out.length, 1024) t.match(ws.header, { cksumValid: true, needPax: false, path: '512-bytes.txt', mode: isWindows ? 0o666 : 0o644, size: 512, uname: '', linkpath: null, gname: null, devmaj: 0, devmin: 0, }) t.end() }) }) t.test('an unsuppored type', { skip: isWindows && '/dev/random on windows', }, t => { const ws = new WriteEntry('/dev/random', { preservePaths: true }) ws.on('data', c => { throw new Error('should not get data from random') }) ws.on('stat', stat => { t.match(stat, { dev: Number, mode: 0o020666, nlink: 1, rdev: Number, blksize: Number, ino: Number, size: 0, blocks: 0, }) t.ok(stat.isCharacterDevice(), 'random is a character device') }) ws.on('end', _ => { t.match(ws, { type: 'Unsupported', path: '/dev/random' }) t.end() }) }) t.test('readlink fail', t => { const expect = { syscall: 'readlink', path: String, } // pretend everything is a symbolic link, then read something that isn't t.teardown(mutateFS.statType('SymbolicLink')) t.throws(_ => { return new WriteEntry.Sync('write-entry.js', { cwd: __dirname }) }, expect) new WriteEntry('write-entry.js', { cwd: __dirname }).on('error', er => { t.match(er, expect) t.equal(normPath(er.path), normPath(__filename)) t.end() }) }) t.test('open fail', t => { t.teardown(mutateFS.fail('open', new Error('pwn'))) t.throws(_ => new WriteEntry.Sync('write-entry.js', { cwd: __dirname }), { message: 'pwn' }) new WriteEntry('write-entry.js', { cwd: __dirname }).on('error', er => { t.match(er, { message: 'pwn' }) t.end() }) }) t.test('read fail', t => { const expect = { message: 'EISDIR: illegal operation on a directory, read', code: 'EISDIR', syscall: 'read', } // pretend everything is a file, then read something that isn't t.teardown(mutateFS.statMutate((er, st) => { if (er) { return [er, st] } st.isFile = () => true st.size = 123 })) t.throws(_ => new WriteEntry.Sync('fixtures', { cwd: __dirname, }), expect) new WriteEntry('fixtures', { cwd: __dirname }).on('error', er => { t.match(er, expect) t.end() }) }) t.test('read invalid EOF', t => { t.teardown(mutateFS.mutate('read', (er, br) => [er, 0])) const expect = { message: 'encountered unexpected EOF', path: normPath(__filename), syscall: 'read', code: 'EOF', } t.throws(_ => new WriteEntry.Sync('write-entry.js', { cwd: __dirname }), expect) new WriteEntry('write-entry.js', { cwd: __dirname }).on('error', er => { t.match(er, expect) t.end() }) }) t.test('read overflow expectation', t => { t.teardown(mutateFS.statMutate((er, st) => { if (st) { st.size = 3 } })) const f = '512-bytes.txt' const expect = { message: 'did not encounter expected EOF', path: normPath(path.resolve(files, f)), syscall: 'read', code: 'EOF', } t.plan(2) t.throws(_ => new WriteEntry.Sync(f, { cwd: files, maxReadSize: 2 }), expect) new WriteEntry(f, { cwd: files, maxReadSize: 2 }).on('error', er => { t.match(er, expect) }).resume() }) t.test('short reads', t => { t.teardown(mutateFS.zenoRead()) const cases = { '1024-bytes.txt': new Array(1024).join('x') + '\n', '100-byte-filename-cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc': new Array(101).join('c'), } const maxReadSize = [null, 1024, 100, 111] Object.keys(cases).forEach(filename => { t.test(filename.split('byte').shift() + 'byte', t => { const contents = cases[filename] maxReadSize.forEach(mRS => { t.test('maxReadSize=' + mRS, t => { let out = [] const ws = new WriteEntry(filename, { maxReadSize: mRS, cwd: files, }) ws.on('data', c => out.push(c)) ws.on('end', _ => { out = Buffer.concat(out) t.equal(out.length, 512 * Math.ceil(1 + contents.length / 512)) t.equal(out.slice(512).toString().replace(/\0.*$/, ''), contents) const wss = new WriteEntry.Sync(filename, { cwd: files }) const syncOut = wss.read() t.equal(syncOut.length, out.length) t.equal(syncOut.slice(512).toString(), out.slice(512).toString()) t.end() }) }) }) t.end() }) }) t.end() }) t.test('win32 path conversion', { skip: isWindows && 'no need to test on windows', }, t => { const ws = new WriteEntry('long-path\\r', { cwd: files, win32: true, }) t.equal(ws.path, 'long-path/r') t.end() }) t.test('win32 <|>? in paths', { skip: isWindows && 'do not create annoying junk on windows systems', }, t => { const file = path.resolve(fixtures, '<|>?.txt') const uglyName = Buffer.from('ef80bcef81bcef80beef80bf2e747874', 'hex').toString() const ugly = path.resolve(fixtures, uglyName) t.teardown(_ => { rimraf.sync(file) rimraf.sync(ugly) }) fs.writeFileSync(ugly, '<|>?') const wc = new WriteEntry(uglyName, { cwd: fixtures, win32: true, }) const out = [] wc.on('data', c => out.push(c)) wc.on('end', _ => { const data = Buffer.concat(out).toString() t.equal(data.slice(0, 4), '<|>?') t.end() }) t.equal(wc.path, '<|>?.txt') t.equal(wc.absolute, ugly) }) t.test('uid doesnt match, dont set uname', t => { t.teardown(mutateFS.statMutate((er, st) => { if (st) { st.uid -= 1 } })) const ws = new WriteEntry('long-path/r', { cwd: files, }) t.notOk(ws.uname) t.end() }) t.test('override absolute to some other file', t => { const ws = new WriteEntry('blerg', { absolute: files + '/one-byte.txt', }) const out = [] ws.on('data', c => out.push(c)) ws.on('end', _ => { const data = Buffer.concat(out) t.equal(data.length, 1024) t.match(data.slice(512).toString(), /^a\0{511}$/) t.match(ws, { path: 'blerg', header: { size: 1 }, }) const wss = new WriteEntry.Sync('blerg', { absolute: files + '/one-byte.txt', }) const sdata = wss.read() t.equal(sdata.length, 1024) t.match(sdata.slice(512).toString(), /^a\0{511}$/) t.match(wss, { path: 'blerg', header: { size: 1 }, }) t.end() }) }) t.test('portable entries, nothing platform-specific', t => { const om = 'long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/Ω.txt' const ws = new WriteEntry(om, { cwd: files, portable: true, }) const pexpect = { atime: null, charset: null, comment: null, ctime: null, gid: null, gname: null, linkpath: null, path: 'long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/Ω.txt', size: 2, uid: null, uname: null, dev: null, ino: null, nlink: null, } const hexpect = { size: 2, ctime: null, atime: null, uid: null, uname: '', gid: null, gname: '', } const ps = new Parser() const wss = new WriteEntry.Sync(om, { cwd: files, portable: true, }) ps.on('entry', entry => { t.match(entry.extended, pexpect) t.match(entry.header, hexpect) }) ps.end(wss.read()) const p = new Parser() ws.pipe(p) p.on('entry', entry => { t.match(entry.extended, pexpect) t.match(entry.header, hexpect) t.end() }) }) t.test('no mtime', t => { const om = 'long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/Ω.txt' const ws = new WriteEntry(om, { cwd: files, noMtime: true, portable: true, }) const pexpect = { atime: null, mtime: null, charset: null, comment: null, ctime: null, gid: null, gname: null, linkpath: null, path: 'long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/Ω.txt', size: 2, uid: null, uname: null, dev: null, ino: null, nlink: null, } const hexpect = { size: 2, ctime: null, atime: null, mtime: null, uid: null, uname: '', gid: null, gname: '', } const ps = new Parser() const wss = new WriteEntry.Sync(om, { cwd: files, portable: true, noMtime: true, }) ps.on('entry', entry => { t.match(entry.extended, pexpect) t.match(entry.header, hexpect) }) ps.end(wss.read()) const p = new Parser() ws.pipe(p) p.on('entry', entry => { t.match(entry.extended, pexpect) t.match(entry.header, hexpect) t.end() }) }) t.test('force mtime', t => { const om = 'long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/Ω.txt' const date = new Date('1979-07-01T19:10:00.000Z') const ws = new WriteEntry(om, { cwd: files, mtime: date, portable: true, }) const pexpect = { atime: null, mtime: new Date('1979-07-01T19:10:00.000Z'), charset: null, comment: null, ctime: null, gid: null, gname: null, linkpath: null, path: 'long-path/r/e/a/l/l/y/-/d/e/e/p/-/f/o/l/d/e/r/-/p/a/t/h/Ω.txt', size: 2, uid: null, uname: null, dev: null, ino: null, nlink: null, } const hexpect = { size: 2, ctime: null, atime: null, mtime: new Date('1979-07-01T19:10:00.000Z'), uid: null, uname: '', gid: null, gname: '', } const ps = new Parser() const wss = new WriteEntry.Sync(om, { cwd: files, portable: true, mtime: new Date('1979-07-01T19:10:00.000Z'), }) ps.on('entry', entry => { t.match(entry.extended, pexpect) t.match(entry.header, hexpect) }) ps.end(wss.read()) const p = new Parser() ws.pipe(p) p.on('entry', entry => { t.match(entry.extended, pexpect) t.match(entry.header, hexpect) t.end() }) }) t.test('portable dir entries, no mtime', t => { const dir = 'long-path/' const ws = new WriteEntry(dir, { cwd: files, portable: true, }) const hexpect = { path: 'long-path/', ctime: null, atime: null, uid: null, uname: '', gid: null, gname: '', mtime: null, } const ps = new Parser() const wss = new WriteEntry.Sync(dir, { cwd: files, portable: true, }) ps.on('entry', entry => { t.match(entry.header, hexpect) }) ps.end(wss.read()) const p = new Parser() ws.pipe(p) p.on('entry', entry => { t.match(entry.header, hexpect) t.end() }) }) t.test('writing more data than is appropriate', t => { const path = t.testdir({ file: 'hello', }) const wss = new WriteEntry(`${path}/file`) wss.on('error', er => { t.match(er, { message: 'writing more data than expected', }) t.end() }) wss.on('stat', () => wss.write(Buffer.from('some more stuff'))) }) t.test('write entry from read entry', t => { const data = makeTar([ { path: '$', type: 'File', size: 10, mode: isWindows ? 0o777 : 0o755, uid: 123, gid: 321, ctime: new Date('1979-07-01'), atime: new Date('1980-08-17'), }, '$$$$$$$$$$', { path: 'blep', type: 'SymbolicLink', linkpath: 'xyz', }, '', '', ]) t.test('basic file', t => { const fileEntry = new ReadEntry(new Header(data)) const wetFile = new WriteEntry.Tar(fileEntry) const out = [] let wetFileEnded = false wetFile.on('data', c => out.push(c)) wetFile.on('end', _ => wetFileEnded = true) fileEntry.write(data.slice(512, 550)) fileEntry.write(data.slice(550, 1000)) fileEntry.end(data.slice(1000, 1024)) t.equal(wetFileEnded, true) const result = Buffer.concat(out) t.equal(result.length, 1024) t.equal(result.toString().replace(/\0.*$/, ''), '$') const body = result.slice(512).toString().replace(/\0*$/, '') t.equal(body, '$$$$$$$$$$') t.end() }) t.test('basic file', t => { const data = makeTar([ { path: '$', type: 'Directory', size: 0, mode: isWindows ? 0o777 : 0o755, uid: 123, gid: 321, ctime: new Date('1979-07-01'), atime: new Date('1980-08-17'), mtime: new Date('1997-06-21'), }, '', '', ]) const fileEntry = new ReadEntry(new Header(data)) const wetFile = new WriteEntry.Tar(fileEntry, { portable: true }) const out = [] let wetFileEnded = false wetFile.on('data', c => out.push(c)) wetFile.on('end', _ => wetFileEnded = true) fileEntry.end() t.equal(wetFileEnded, true) const result = Buffer.concat(out) t.match(new Header(result), { mtime: null }) t.end() }) t.test('with pax header', t => { const fileEntryPax = new ReadEntry(new Header(data)) fileEntryPax.path = new Array(200).join('$') const wetPax = new WriteEntry.Tar(fileEntryPax) let wetPaxEnded = false const out = [] wetPax.on('data', c => out.push(c)) wetPax.on('end', _ => wetPaxEnded = true) fileEntryPax.write(data.slice(512, 550)) fileEntryPax.write(data.slice(550, 1000)) fileEntryPax.end(data.slice(1000, 1024)) t.equal(wetPaxEnded, true) const result = Buffer.concat(out) t.equal(result.length, 2048) t.match(result.slice(1024, 1124).toString(), /^\$+\0?$/) const body = result.slice(1536).toString().replace(/\0*$/, '') t.match(new Header(result), { type: 'ExtendedHeader' }) t.equal(body, '$$$$$$$$$$') t.end() }) t.test('pax and portable', t => { const fileEntryPax = new ReadEntry(new Header(data)) fileEntryPax.path = new Array(200).join('$') const wetPax = new WriteEntry.Tar(fileEntryPax, { portable: true }) let wetPaxEnded = false const out = [] wetPax.on('data', c => out.push(c)) wetPax.on('end', _ => wetPaxEnded = true) fileEntryPax.write(data.slice(512, 550)) fileEntryPax.write(data.slice(550, 1000)) fileEntryPax.end(data.slice(1000, 1024)) t.equal(wetPaxEnded, true) const result = Buffer.concat(out) t.equal(result.length, 2048) t.match(result.slice(1024, 1124).toString(), /^\$+\0?$/) t.match(new Header(result), { type: 'ExtendedHeader' }) t.match(new Header(result.slice(1024)), { ctime: null, atime: null, uname: '', gname: '', }) const body = result.slice(1536).toString().replace(/\0*$/, '') t.equal(body, '$$$$$$$$$$') t.end() }) t.test('pax, portable, and noMtime', t => { const fileEntryPax = new ReadEntry(new Header(data)) fileEntryPax.path = new Array(200).join('$') const wetPax = new WriteEntry.Tar(fileEntryPax, { noMtime: true, portable: true, }) let wetPaxEnded = false const out = [] wetPax.on('data', c => out.push(c)) wetPax.on('end', _ => wetPaxEnded = true) fileEntryPax.write(data.slice(512, 550)) fileEntryPax.write(data.slice(550, 1000)) fileEntryPax.end(data.slice(1000, 1024)) t.equal(wetPaxEnded, true) const result = Buffer.concat(out) t.equal(result.length, 2048) t.match(result.slice(1024, 1124).toString(), /^\$+\0?$/) t.match(new Header(result), { type: 'ExtendedHeader' }) t.match(new Header(result.slice(1024)), { mtime: null, ctime: null, atime: null, uname: '', gname: '', }) const body = result.slice(1536).toString().replace(/\0*$/, '') t.equal(body, '$$$$$$$$$$') t.end() }) t.test('abs path', t => { const fileEntry = new ReadEntry(new Header(data)) fileEntry.path = '/a/b/c' t.test('warn', t => { const warnings = [] new WriteEntry.Tar(fileEntry, { onwarn: (code, msg, data) => warnings.push(code, msg, data), }) t.match(warnings, ['TAR_ENTRY_INFO', 'stripping / from absolute path', { path: '/a/b/c', }]) t.end() }) t.test('preserve', t => { const warnings = [] new WriteEntry.Tar(fileEntry, { onwarn: (code, msg, data) => warnings.push(code, msg, data), preservePaths: true, }) t.same(warnings, []) t.end() }) t.test('throw', t => { t.throws(_ => new WriteEntry.Tar(fileEntry, { strict: true, })) t.end() }) t.end() }) t.test('no block remain', t => { const readEntry = new ReadEntry(new Header({ size: 512, type: 'File', path: 'x', })) const wet = new WriteEntry.Tar(readEntry) const out = [] wet.on('data', c => out.push(c)) let wetEnded = false wet.on('end', _ => wetEnded = true) t.equal(wetEnded, false) readEntry.end(Buffer.from(new Array(513).join('@'))) t.equal(wetEnded, true) const res = Buffer.concat(out) t.equal(res.length, 1024) t.match(res.slice(512).toString(), /^@+$/) t.end() }) t.test('write more than appropriate', t => { const readEntry = new ReadEntry(new Header({ path: 'x', type: 'File', size: '1', })) const wet = new WriteEntry.Tar(readEntry) t.throws(_ => wet.write(Buffer.from(new Array(1024).join('x')))) t.end() }) t.end() }) // https://github.com/npm/node-tar/issues/284 t.test('prefix and hard links', t => { const dir = path.resolve(fixtures, 'writeentry-prefix-hardlinks') rimraf.sync(dir) t.teardown(_ => rimraf.sync(dir)) mkdirp.sync(dir + '/in/z/b/c') fs.writeFileSync(dir + '/in/target', 'ddd') fs.linkSync(dir + '/in/target', dir + '/in/z/b/c/d') fs.linkSync(dir + '/in/target', dir + '/in/z/b/d') fs.linkSync(dir + '/in/target', dir + '/in/z/d') fs.linkSync(dir + '/in/target', dir + '/in/y') const long = 'y'.repeat(250) fs.linkSync(dir + '/in/target', dir + '/in/' + long) const expect = [ { type: 'Directory', path: 'out/x/', }, { type: 'File', size: 3, path: 'out/x/target', }, 'ddd\0', { path: 'out/x/y', type: 'Link', linkpath: 'out/x/target', }, { path: 'PaxHeader/yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy', type: 'ExtendedHeader', }, new RegExp('^266 path=out.x.' + long + '[\\w\\W]*linkpath=out.x.target'), { path: 'out/x/yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy', type: 'Link', linkpath: 'out/x/target', }, { type: 'Directory', path: 'out/x/z/', }, { type: 'Directory', path: 'out/x/z/b/', }, { path: 'out/x/z/d', type: 'Link', linkpath: 'out/x/target', }, { type: 'Directory', path: 'out/x/z/b/c/', }, { path: 'out/x/z/b/d', type: 'Link', linkpath: 'out/x/target', }, { path: 'out/x/z/b/c/d', type: 'Link', linkpath: 'out/x/target', }, ] const check = (out, t) => { const data = Buffer.concat(out) expect.forEach((e, i) => { if (typeof e === 'string') { t.equal(data.slice(i * 512, i * 512 + e.length).toString(), e) } else if (e instanceof RegExp) { t.match(data.slice(i * 512, (i + 1) * 512).toString(), e) } else { t.match(new Header(data.slice(i * 512, (i + 1) * 512)), e) } }) } const runTest = async (t, path, Class) => { const linkCache = new Map() const statCache = new Map() const opt = { cwd: dir + '/in', prefix: 'out/x', noDirRecurse: true, linkCache, statCache, } const out = [] const entry = (path) => new Promise(resolve => { const p = new Class(path, opt) p.on('end', resolve) p.on('data', d => out.push(d)) }) await entry(path) if (path === '.') { path = './' } await entry(`${path}target`) await entry(`${path}y`) await entry(`${path}${long}`) await entry(`${path}z`) await entry(`${path}z/b`) await entry(`${path}z/d`) await entry(`${path}z/b/c`) await entry(`${path}z/b/d`) await entry(`${path}z/b/c/d`) check(out, t) } t.test('async', t => { t.test('.', t => runTest(t, '.', WriteEntry)) return t.test('./', t => runTest(t, './', WriteEntry)) }) t.test('sync', t => { t.test('.', t => runTest(t, '.', WriteEntry.Sync)) return t.test('./', t => runTest(t, './', WriteEntry.Sync)) }) t.end() }) t.test('prefix and hard links from tar entries', t => { const long = 'y'.repeat(250) const expect = [ { type: 'Directory', path: 'out/x/', }, { type: 'File', size: 3, path: 'out/x/target', }, 'ddd\0', { path: 'out/x/y', type: 'Link', linkpath: 'out/x/target', }, { path: 'PaxHeader/yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy', type: 'ExtendedHeader', }, new RegExp('^266 path=out.x.' + long + '[\\w\\W]*linkpath=out.x.target'), { path: 'out/x/yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy', type: 'Link', linkpath: 'out/x/target', }, { type: 'Directory', path: 'out/x/z/', }, { type: 'Directory', path: 'out/x/z/b/', }, { path: 'out/x/z/d', type: 'Link', linkpath: 'out/x/target', }, { type: 'Directory', path: 'out/x/z/b/c/', }, { path: 'out/x/z/b/d', type: 'Link', linkpath: 'out/x/target', }, { path: 'out/x/z/b/c/d', type: 'Link', linkpath: 'out/x/target', }, ] const data = makeTar([ { type: 'Directory', path: './', }, { type: 'File', size: 3, path: 'target', }, 'ddd\0', { path: 'y', type: 'Link', linkpath: 'target', }, { path: 'PaxHeader/yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy', type: 'ExtendedHeader', size: ('260 path=' + long + '\n19 linkpath=target\n').length, }, '260 path=' + long + '\n19 linkpath=target\n', { path: 'yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy', type: 'Link', linkpath: 'target', }, { type: 'Directory', path: 'z/', }, { type: 'Directory', path: 'z/b/', }, { path: 'z/d', type: 'Link', linkpath: 'target', }, { type: 'Directory', path: 'z/b/c/', }, { path: 'z/b/d', type: 'Link', linkpath: 'target', }, { path: 'z/b/c/d', type: 'Link', linkpath: 'target', }, '', '', ]) const check = (out, t) => { const data = Buffer.concat(out) expect.forEach((e, i) => { if (typeof e === 'string') { t.equal(data.slice(i * 512, i * 512 + e.length).toString(), e) } else if (e instanceof RegExp) { t.match(data.slice(i * 512, (i + 1) * 512).toString(), e) } else { t.match(new Header(data.slice(i * 512, (i + 1) * 512)), e) } }) } const runTest = async (t, path) => { const linkCache = new Map() const statCache = new Map() const opt = { prefix: 'out/x', noDirRecurse: true, linkCache, statCache, } const out = [] const parser = new Parser({ strict: true, onentry: readEntry => { const p = new WriteEntry.Tar(readEntry, opt) p.on('data', d => out.push(d)) }, }) parser.on('end', () => check(out, t)) parser.end(data) } t.test('.', t => runTest(t, '.')) t.test('./', t => runTest(t, './')) t.end() }) t.test('hard links and no prefix', t => { const dir = path.resolve(fixtures, 'writeentry-prefix-hardlinks') t.teardown(_ => rimraf.sync(dir)) mkdirp.sync(dir + '/in/z/b/c') fs.writeFileSync(dir + '/in/target', 'ddd') fs.linkSync(dir + '/in/target', dir + '/in/z/b/c/d') fs.linkSync(dir + '/in/target', dir + '/in/z/b/d') fs.linkSync(dir + '/in/target', dir + '/in/z/d') fs.linkSync(dir + '/in/target', dir + '/in/y') const expect = [ { type: 'Directory', path: './', }, { type: 'File', size: 3, path: 'target', }, 'ddd\0', { path: 'y', type: 'Link', linkpath: 'target', }, { type: 'Directory', path: 'z/', }, { type: 'Directory', path: 'z/b/', }, { path: 'z/d', type: 'Link', linkpath: 'target', }, { type: 'Directory', path: 'z/b/c/', }, { path: 'z/b/d', type: 'Link', linkpath: 'target', }, { path: 'z/b/c/d', type: 'Link', linkpath: 'target', }, ] const check = (out, t) => { const data = Buffer.concat(out) expect.forEach((e, i) => { if (typeof e === 'string') { t.equal(data.slice(i * 512, i * 512 + e.length).toString(), e) } else { t.match(new Header(data.slice(i * 512, (i + 1) * 512)), e) } }) } const runTest = async (t, path, Class) => { const linkCache = new Map() const statCache = new Map() const opt = { cwd: dir + '/in', linkCache, statCache, } const out = [] const entry = (path) => new Promise(resolve => { const p = new Class(path, opt) p.on('end', resolve) p.on('data', d => out.push(d)) }) await entry(path) if (path === '.') { path = './' } await entry(`${path}target`) await entry(`${path}y`) await entry(`${path}z`) await entry(`${path}z/b`) await entry(`${path}z/d`) await entry(`${path}z/b/c`) await entry(`${path}z/b/d`) await entry(`${path}z/b/c/d`) check(out, t) } t.test('async', t => { t.test('.', t => runTest(t, '.', WriteEntry)) return t.test('./', t => runTest(t, './', WriteEntry)) }) t.test('sync', t => { t.test('.', t => runTest(t, '.', WriteEntry.Sync)) return t.test('./', t => runTest(t, './', WriteEntry.Sync)) }) t.end() }) t.test('hard links from tar entries and no prefix', t => { const expect = [ { type: 'Directory', path: './', }, { type: 'File', size: 3, path: 'target', }, 'ddd\0', { path: 'y', type: 'Link', linkpath: 'target', }, { type: 'Directory', path: 'z/', }, { type: 'Directory', path: 'z/b/', }, { path: 'z/d', type: 'Link', linkpath: 'target', }, { type: 'Directory', path: 'z/b/c/', }, { path: 'z/b/d', type: 'Link', linkpath: 'target', }, { path: 'z/b/c/d', type: 'Link', linkpath: 'target', }, ] const data = makeTar([ { type: 'Directory', path: './', }, { type: 'File', size: 3, path: 'target', }, 'ddd\0', { path: 'y', type: 'Link', linkpath: 'target', }, { type: 'Directory', path: 'z/', }, { type: 'Directory', path: 'z/b/', }, { path: 'z/d', type: 'Link', linkpath: 'target', }, { type: 'Directory', path: 'z/b/c/', }, { path: 'z/b/d', type: 'Link', linkpath: 'target', }, { path: 'z/b/c/d', type: 'Link', linkpath: 'target', }, ]) const check = (out, t) => { const data = Buffer.concat(out) expect.forEach((e, i) => { if (typeof e === 'string') { t.equal(data.slice(i * 512, i * 512 + e.length).toString(), e) } else if (e instanceof RegExp) { t.match(data.slice(i * 512, (i + 1) * 512).toString(), e) } else { t.match(new Header(data.slice(i * 512, (i + 1) * 512)), e) } }) } const runTest = async (t, path) => { const linkCache = new Map() const statCache = new Map() const opt = { noDirRecurse: true, linkCache, statCache, } const out = [] const parser = new Parser({ onentry: readEntry => { const p = new WriteEntry.Tar(readEntry, opt) p.on('data', d => out.push(d)) }, }) parser.on('end', () => check(out, t)) parser.end(data) } t.test('.', t => runTest(t, '.')) t.test('./', t => runTest(t, './')) t.end() }) t.test('myuid set by getuid() if available, otherwise 0', t => { const { getuid } = process process.getuid = null const noUid = new WriteEntry(__filename) t.equal(noUid.myuid, 0, 'set to zero if no getuid function') process.getuid = () => 123456789 const hasUid = new WriteEntry(__filename) t.equal(hasUid.myuid, 123456789, 'set to process.getuid()') process.getuid = getuid t.end() }) ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������