aboutsummaryrefslogtreecommitdiff
path: root/node_modules/parse-passwd
diff options
context:
space:
mode:
authorFlorian Dold <florian.dold@gmail.com>2017-05-03 15:35:00 +0200
committerFlorian Dold <florian.dold@gmail.com>2017-05-03 15:35:00 +0200
commitde98e0b232509d5f40c135d540a70e415272ff85 (patch)
treea79222a5b58484ab3b80d18efcaaa7ccc4769b33 /node_modules/parse-passwd
parente0c9d480a73fa629c1e4a47d3e721f1d2d345406 (diff)
node_modules
Diffstat (limited to 'node_modules/parse-passwd')
-rw-r--r--node_modules/parse-passwd/LICENSE21
-rw-r--r--node_modules/parse-passwd/README.md86
-rw-r--r--node_modules/parse-passwd/index.js56
-rw-r--r--node_modules/parse-passwd/package.json55
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"
+ ]
+ }
+}