diff options
author | Florian Dold <florian.dold@gmail.com> | 2017-05-03 15:35:00 +0200 |
---|---|---|
committer | Florian Dold <florian.dold@gmail.com> | 2017-05-03 15:35:00 +0200 |
commit | de98e0b232509d5f40c135d540a70e415272ff85 (patch) | |
tree | a79222a5b58484ab3b80d18efcaaa7ccc4769b33 /node_modules/parse-passwd | |
parent | e0c9d480a73fa629c1e4a47d3e721f1d2d345406 (diff) |
node_modules
Diffstat (limited to 'node_modules/parse-passwd')
-rw-r--r-- | node_modules/parse-passwd/LICENSE | 21 | ||||
-rw-r--r-- | node_modules/parse-passwd/README.md | 86 | ||||
-rw-r--r-- | node_modules/parse-passwd/index.js | 56 | ||||
-rw-r--r-- | node_modules/parse-passwd/package.json | 55 |
4 files changed, 218 insertions, 0 deletions
diff --git a/node_modules/parse-passwd/LICENSE b/node_modules/parse-passwd/LICENSE new file mode 100644 index 000000000..f92fdcf87 --- /dev/null +++ b/node_modules/parse-passwd/LICENSE @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2016 Brian Woodward + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/node_modules/parse-passwd/README.md b/node_modules/parse-passwd/README.md new file mode 100644 index 000000000..31b1e794f --- /dev/null +++ b/node_modules/parse-passwd/README.md @@ -0,0 +1,86 @@ +# parse-passwd [![NPM version](https://img.shields.io/npm/v/parse-passwd.svg?style=flat)](https://www.npmjs.com/package/parse-passwd) [![NPM downloads](https://img.shields.io/npm/dm/parse-passwd.svg?style=flat)](https://npmjs.org/package/parse-passwd) [![Linux Build Status](https://img.shields.io/travis/doowb/parse-passwd.svg?style=flat&label=Travis)](https://travis-ci.org/doowb/parse-passwd) [![Windows Build Status](https://img.shields.io/appveyor/ci/doowb/parse-passwd.svg?style=flat&label=AppVeyor)](https://ci.appveyor.com/project/doowb/parse-passwd) + +> Parse a passwd file into a list of users. + +## Install + +Install with [npm](https://www.npmjs.com/): + +```sh +$ npm install --save parse-passwd +``` + +## Usage + +```js +var parse = require('parse-passwd'); +``` + +## API + +**Example** + +```js +// assuming '/etc/passwd' contains: +// doowb:*:123:123:Brian Woodward:/Users/doowb:/bin/bash +console.log(parse(fs.readFileSync('/etc/passwd', 'utf8'))); + +//=> [ +//=> { +//=> username: 'doowb', +//=> password: '*', +//=> uid: '123', +//=> gid: '123', +//=> gecos: 'Brian Woodward', +//=> homedir: '/Users/doowb', +//=> shell: '/bin/bash' +//=> } +//=> ] +``` + +**Params** + +* `content` **{String}**: Content of a passwd file to parse. +* `returns` **{Array}**: Array of user objects parsed from the content. + +## About + +### Contributing + +Pull requests and stars are always welcome. For bugs and feature requests, [please create an issue](../../issues/new). + +Please read the [contributing guide](contributing.md) for avice on opening issues, pull requests, and coding standards. + +### Building docs + +_(This document was generated by [verb-generate-readme](https://github.com/verbose/verb-generate-readme) (a [verb](https://github.com/verbose/verb) generator), please don't edit the readme directly. Any changes to the readme must be made in [.verb.md](.verb.md).)_ + +To generate the readme and API documentation with [verb](https://github.com/verbose/verb): + +```sh +$ npm install -g verb verb-generate-readme && verb +``` + +### Running tests + +Install dev dependencies: + +```sh +$ npm install -d && npm test +``` + +### Author + +**Brian Woodward** + +* [github/doowb](https://github.com/doowb) +* [twitter/doowb](http://twitter.com/doowb) + +### License + +Copyright © 2016, [Brian Woodward](https://github.com/doowb). +Released under the [MIT license](LICENSE). + +*** + +_This file was generated by [verb-generate-readme](https://github.com/verbose/verb-generate-readme), v0.2.0, on October 19, 2016._
\ No newline at end of file diff --git a/node_modules/parse-passwd/index.js b/node_modules/parse-passwd/index.js new file mode 100644 index 000000000..7524520bc --- /dev/null +++ b/node_modules/parse-passwd/index.js @@ -0,0 +1,56 @@ +'use strict'; + +/** + * Parse the content of a passwd file into a list of user objects. + * This function ignores blank lines and comments. + * + * ```js + * // assuming '/etc/passwd' contains: + * // doowb:*:123:123:Brian Woodward:/Users/doowb:/bin/bash + * console.log(parse(fs.readFileSync('/etc/passwd', 'utf8'))); + * + * //=> [ + * //=> { + * //=> username: 'doowb', + * //=> password: '*', + * //=> uid: '123', + * //=> gid: '123', + * //=> gecos: 'Brian Woodward', + * //=> homedir: '/Users/doowb', + * //=> shell: '/bin/bash' + * //=> } + * //=> ] + * ``` + * @param {String} `content` Content of a passwd file to parse. + * @return {Array} Array of user objects parsed from the content. + * @api public + */ + +module.exports = function(content) { + if (typeof content !== 'string') { + throw new Error('expected a string'); + } + return content + .split('\n') + .map(user) + .filter(Boolean); +}; + +function user(line, i) { + if (!line || !line.length || line.charAt(0) === '#') { + return null; + } + + // see https://en.wikipedia.org/wiki/Passwd for field descriptions + var fields = line.split(':'); + return { + username: fields[0], + password: fields[1], + uid: fields[2], + gid: fields[3], + // see https://en.wikipedia.org/wiki/Gecos_field for GECOS field descriptions + gecos: fields[4], + homedir: fields[5], + shell: fields[6] + }; +} diff --git a/node_modules/parse-passwd/package.json b/node_modules/parse-passwd/package.json new file mode 100644 index 000000000..b09fb0fa9 --- /dev/null +++ b/node_modules/parse-passwd/package.json @@ -0,0 +1,55 @@ +{ + "name": "parse-passwd", + "description": "Parse a passwd file into a list of users.", + "version": "1.0.0", + "homepage": "https://github.com/doowb/parse-passwd", + "author": "Brian Woodward (https://github.com/doowb)", + "repository": "doowb/parse-passwd", + "bugs": { + "url": "https://github.com/doowb/parse-passwd/issues" + }, + "license": "MIT", + "files": [ + "index.js", + "LICENSE" + ], + "main": "index.js", + "engines": { + "node": ">=0.10.0" + }, + "scripts": { + "test": "mocha" + }, + "devDependencies": { + "gulp-format-md": "^0.1.11", + "mocha": "^3.1.2" + }, + "keywords": [ + "etc", + "etc-passwd", + "etc/passwd", + "parse", + "parse-passwd", + "passwd" + ], + "verb": { + "toc": false, + "layout": "default", + "tasks": [ + "readme" + ], + "plugins": [ + "gulp-format-md" + ], + "lint": { + "reflinks": true + }, + "related": { + "list": [] + }, + "reflinks": [ + "verb", + "verb-generate-readme" + ] + } +} |