mirror of https://github.com/lukechilds/node.git
Browse Source
Set the mode bits on the history file to 0o600 instead of leaving it unspecified, which resulted in 0o755 on Unices. Test code mostly written by Trott: https://github.com/nodejs/node/issues/3392#issuecomment-148634126. PR-URL: https://github.com/nodejs/node/pull/3394 Fixes: https://github.com/nodejs/node/issues/3392 Reviewed-By: Rich Trott <rtrott@gmail.com> Reviewed-By: Roman Reiss <me@silverwind.io> Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com> Reviewed-By: Santiago Gimeno <santiago.gimeno@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com>v6.x
Carl Lei
9 years ago
committed by
Evan Lucas
2 changed files with 57 additions and 1 deletions
@ -0,0 +1,53 @@ |
|||
'use strict'; |
|||
// Flags: --expose_internals
|
|||
|
|||
const common = require('../common'); |
|||
|
|||
if (common.isWindows) { |
|||
console.log('1..0 # Skipped: Win32 uses ACLs for file permissions, ' + |
|||
'modes are always 0666 and says nothing about group/other ' + |
|||
'read access.'); |
|||
return; |
|||
} |
|||
|
|||
const assert = require('assert'); |
|||
const path = require('path'); |
|||
const fs = require('fs'); |
|||
const repl = require('internal/repl'); |
|||
const Duplex = require('stream').Duplex; |
|||
// Invoking the REPL should create a repl history file at the specified path
|
|||
// and mode 600.
|
|||
|
|||
var stream = new Duplex(); |
|||
stream.pause = stream.resume = function() {}; |
|||
// ends immediately
|
|||
stream._read = function() { |
|||
this.push(null); |
|||
}; |
|||
stream._write = function(c, e, cb) { |
|||
cb(); |
|||
}; |
|||
stream.readable = stream.writable = true; |
|||
|
|||
common.refreshTmpDir(); |
|||
const replHistoryPath = path.join(common.tmpDir, '.node_repl_history'); |
|||
|
|||
const checkResults = common.mustCall(function(err, r) { |
|||
if (err) |
|||
throw err; |
|||
r.input.end(); |
|||
const stat = fs.statSync(replHistoryPath); |
|||
assert.strictEqual( |
|||
stat.mode & 0o777, 0o600, |
|||
'REPL history file should be mode 0600'); |
|||
}); |
|||
|
|||
repl.createInternalRepl( |
|||
{NODE_REPL_HISTORY: replHistoryPath}, |
|||
{ |
|||
terminal: true, |
|||
input: stream, |
|||
output: stream |
|||
}, |
|||
checkResults |
|||
); |
Loading…
Reference in new issue