diff options
author | Luke Karrys <luke@lukekarrys.com> | 2022-10-18 02:07:10 +0300 |
---|---|---|
committer | Luke Karrys <luke@lukekarrys.com> | 2022-10-19 00:12:42 +0300 |
commit | aa010722996ef6de46e1bb937c6f8a94dc2844fa (patch) | |
tree | dfd845c3f845ff829dac29f31aed065e883bba2e /node_modules/cacache/lib/util/fix-owner.js | |
parent | 38dc7f62dcee948bd834ddf59a9c24692bc98d90 (diff) |
deps: update the following dependencies
- @npmcli/config@6.0.1
- @npmcli/disparity-colors@3.0.0
- @npmcli/git@4.0.1
- @npmcli/installed-package-contents@2.0.0
- @npmcli/map-workspaces@3.0.0
- @npmcli/metavuln-calculator@5.0.0
- @npmcli/move-file@3.0.0
- @npmcli/node-gyp@3.0.0
- @npmcli/package-json@3.0.0
- @npmcli/promise-spawn@4.0.0
- @npmcli/query@3.0.0
- @npmcli/run-script@5.0.0
- bin-links@4.0.1
- cacache@17.0.1
- ignore-walk@6.0.0
- init-package-json@4.0.1
- json-parse-even-better-errors@3.0.0
- make-fetch-happen@11.0.1
- normalize-package-data@5.0.0
- npm-audit-report@4.0.0
- npm-install-checks@6.0.0
- npm-packlist@7.0.1
- npm-pick-manifest@8.0.1
- npm-profile@7.0.1
- npm-registry-fetch@14.0.2
- npmlog@7.0.0
- pacote@15.0.1
- parse-conflict-json@3.0.0
- proc-log@3.0.0
- read-package-json-fast@3.0.1
- read-package-json@6.0.0
- ssri@10.0.0
- treeverse@3.0.0
- validate-npm-package-name@5.0.0
- write-file-atomic@5.0.0
Removed dependencies:
- `@npmcli/fs`
Diffstat (limited to 'node_modules/cacache/lib/util/fix-owner.js')
-rw-r--r-- | node_modules/cacache/lib/util/fix-owner.js | 145 |
1 files changed, 0 insertions, 145 deletions
diff --git a/node_modules/cacache/lib/util/fix-owner.js b/node_modules/cacache/lib/util/fix-owner.js deleted file mode 100644 index 182fcb028..000000000 --- a/node_modules/cacache/lib/util/fix-owner.js +++ /dev/null @@ -1,145 +0,0 @@ -'use strict' - -const util = require('util') - -const chownr = util.promisify(require('chownr')) -const mkdirp = require('mkdirp') -const inflight = require('promise-inflight') -const inferOwner = require('infer-owner') - -// Memoize getuid()/getgid() calls. -// patch process.setuid/setgid to invalidate cached value on change -const self = { uid: null, gid: null } -const getSelf = () => { - if (typeof self.uid !== 'number') { - self.uid = process.getuid() - const setuid = process.setuid - process.setuid = (uid) => { - self.uid = null - process.setuid = setuid - return process.setuid(uid) - } - } - if (typeof self.gid !== 'number') { - self.gid = process.getgid() - const setgid = process.setgid - process.setgid = (gid) => { - self.gid = null - process.setgid = setgid - return process.setgid(gid) - } - } -} - -module.exports.chownr = fixOwner - -async function fixOwner (cache, filepath) { - if (!process.getuid) { - // This platform doesn't need ownership fixing - return - } - - getSelf() - if (self.uid !== 0) { - // almost certainly can't chown anyway - return - } - - const { uid, gid } = await inferOwner(cache) - - // No need to override if it's already what we used. - if (self.uid === uid && self.gid === gid) { - return - } - - return inflight('fixOwner: fixing ownership on ' + filepath, () => - chownr( - filepath, - typeof uid === 'number' ? uid : self.uid, - typeof gid === 'number' ? gid : self.gid - ).catch((err) => { - if (err.code === 'ENOENT') { - return null - } - - throw err - }) - ) -} - -module.exports.chownr.sync = fixOwnerSync - -function fixOwnerSync (cache, filepath) { - if (!process.getuid) { - // This platform doesn't need ownership fixing - return - } - const { uid, gid } = inferOwner.sync(cache) - getSelf() - if (self.uid !== 0) { - // almost certainly can't chown anyway - return - } - - if (self.uid === uid && self.gid === gid) { - // No need to override if it's already what we used. - return - } - try { - chownr.sync( - filepath, - typeof uid === 'number' ? uid : self.uid, - typeof gid === 'number' ? gid : self.gid - ) - } catch (err) { - // only catch ENOENT, any other error is a problem. - if (err.code === 'ENOENT') { - return null - } - - throw err - } -} - -module.exports.mkdirfix = mkdirfix - -async function mkdirfix (cache, p, cb) { - // we have to infer the owner _before_ making the directory, even though - // we aren't going to use the results, since the cache itself might not - // exist yet. If we mkdirp it, then our current uid/gid will be assumed - // to be correct if it creates the cache folder in the process. - await inferOwner(cache) - try { - const made = await mkdirp(p) - if (made) { - await fixOwner(cache, made) - return made - } - } catch (err) { - if (err.code === 'EEXIST') { - await fixOwner(cache, p) - return null - } - throw err - } -} - -module.exports.mkdirfix.sync = mkdirfixSync - -function mkdirfixSync (cache, p) { - try { - inferOwner.sync(cache) - const made = mkdirp.sync(p) - if (made) { - fixOwnerSync(cache, made) - return made - } - } catch (err) { - if (err.code === 'EEXIST') { - fixOwnerSync(cache, p) - return null - } else { - throw err - } - } -} |