mirror of
https://github.com/zhigang1992/npm.git
synced 2026-06-12 00:24:51 +08:00
Fixes #5591 The root cause here is that a change from 022 (a number in octal literal format) to '022' (a string) caused the string to later be interpreted as a decimal number, making for some wacky umask values. Solution is multipart. First, use the actual process.umask() value from the user's environment. This is almost certainly what they want anyway. Second, validate all default values just like we do with user- supplied values, rather than trusting them to never be wrong. This would've found the problem much sooner, while in dev. This second part requires that we allow a value of null for 'path' type args, allow 'undefined' for the 'local-address' config, and avoid looking up a cafile of 'null', all of which are good hygenic things to add defense-in-depth anyway.