nav tabs on admin dashboard
This commit is contained in:
46
node_modules/cacache/lib/util/fix-owner.js
generated
vendored
46
node_modules/cacache/lib/util/fix-owner.js
generated
vendored
@@ -31,6 +31,34 @@ function fixOwner (filepath, uid, gid) {
|
||||
)
|
||||
}
|
||||
|
||||
module.exports.chownr.sync = fixOwnerSync
|
||||
function fixOwnerSync (filepath, uid, gid) {
|
||||
if (!process.getuid) {
|
||||
// This platform doesn't need ownership fixing
|
||||
return
|
||||
}
|
||||
if (typeof uid !== 'number' && typeof gid !== 'number') {
|
||||
// There's no permissions override. Nothing to do here.
|
||||
return
|
||||
}
|
||||
if ((typeof uid === 'number' && process.getuid() === uid) &&
|
||||
(typeof gid === 'number' && process.getgid() === gid)) {
|
||||
// No need to override if it's already what we used.
|
||||
return
|
||||
}
|
||||
try {
|
||||
chownr.sync(
|
||||
filepath,
|
||||
typeof uid === 'number' ? uid : process.getuid(),
|
||||
typeof gid === 'number' ? gid : process.getgid()
|
||||
)
|
||||
} catch (err) {
|
||||
if (err.code === 'ENOENT') {
|
||||
return null
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
module.exports.mkdirfix = mkdirfix
|
||||
function mkdirfix (p, uid, gid, cb) {
|
||||
return mkdirp(p).then(made => {
|
||||
@@ -42,3 +70,21 @@ function mkdirfix (p, uid, gid, cb) {
|
||||
return fixOwner(p, uid, gid).then(() => null)
|
||||
})
|
||||
}
|
||||
|
||||
module.exports.mkdirfix.sync = mkdirfixSync
|
||||
function mkdirfixSync (p, uid, gid) {
|
||||
try {
|
||||
const made = mkdirp.sync(p)
|
||||
if (made) {
|
||||
fixOwnerSync(made, uid, gid)
|
||||
return made
|
||||
}
|
||||
} catch (err) {
|
||||
if (err.code === 'EEXIST') {
|
||||
fixOwnerSync(p, uid, gid)
|
||||
return null
|
||||
} else {
|
||||
throw err
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user