ssh-config 5.0.4 → 5.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/Readme.md +24 -0
- package/dist/glob.d.ts +2 -2
- package/dist/glob.js +2 -2
- package/dist/ssh-config.d.ts +97 -5
- package/dist/ssh-config.js +55 -28
- package/dist/ssh-config.js.map +1 -1
- package/lib/glob.d.ts +9 -0
- package/lib/glob.js +38 -0
- package/lib/glob.js.map +1 -0
- package/lib/ssh-config.d.ts +199 -0
- package/lib/ssh-config.js +602 -0
- package/lib/ssh-config.js.map +1 -0
- package/package.json +17 -11
- package/dist/index.d.ts +0 -3
- package/dist/index.js +0 -23
- package/dist/index.js.map +0 -1
package/Readme.md
CHANGED
|
@@ -2,7 +2,9 @@
|
|
|
2
2
|
|
|
3
3
|
[](https://www.npmjs.com/package/ssh-config)
|
|
4
4
|
[](https://www.npmjs.com/package/ssh-config)
|
|
5
|
+

|
|
5
6
|
[](https://travis-ci.org/cyjake/ssh-config)
|
|
7
|
+
[](https://github.com/cyjake/ssh-config/actions/workflows/deno.yml)
|
|
6
8
|
[](https://github.com/cyjake/ssh-config/actions/workflows/nodejs.yml)
|
|
7
9
|
[](https://codecov.io/gh/cyjake/ssh-config)
|
|
8
10
|
|
|
@@ -93,6 +95,28 @@ suggested that the general settings shall be at the end of your config file.
|
|
|
93
95
|
The `IdentityFile` parameter always contain an array to make possible multiple
|
|
94
96
|
`IdentityFile` settings to be able to coexist.
|
|
95
97
|
|
|
98
|
+
#### Case-Insensitive Matching
|
|
99
|
+
|
|
100
|
+
OpenSSH treats configuration directives case-insensitively. By default, `compute()`
|
|
101
|
+
preserves the original case from the config file. To normalize directive names to
|
|
102
|
+
lowercase (matching OpenSSH behavior), use the `ignoreCase` option:
|
|
103
|
+
|
|
104
|
+
```js
|
|
105
|
+
const config = SSHConfig.parse(`
|
|
106
|
+
Host example
|
|
107
|
+
hOsTnaME 1.2.3.4
|
|
108
|
+
USER admin
|
|
109
|
+
`)
|
|
110
|
+
|
|
111
|
+
// Default - preserves original case
|
|
112
|
+
config.compute('example')
|
|
113
|
+
// => { hOsTnaME: '1.2.3.4', USER: 'admin' }
|
|
114
|
+
|
|
115
|
+
// With ignoreCase - lowercase to match OpenSSH
|
|
116
|
+
config.compute('example', { ignoreCase: true })
|
|
117
|
+
// => { hostname: '1.2.3.4', user: 'admin' }
|
|
118
|
+
```
|
|
119
|
+
|
|
96
120
|
### `.find` sections by Host or Match
|
|
97
121
|
|
|
98
122
|
**NOTICE**: This method is provided to find the corresponding section in the
|
package/dist/glob.d.ts
CHANGED
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
* A helper function to match input against [pattern-list](https://www.freebsd.org/cgi/man.cgi?query=ssh_config&sektion=5#PATTERNS).
|
|
3
3
|
* According to `man ssh_config`, negated patterns shall be matched first.
|
|
4
4
|
*
|
|
5
|
-
* @param {string|string[]} patternList
|
|
6
|
-
* @param {string}
|
|
5
|
+
* @param {string|string[]} patternList one or more glob patterns to match
|
|
6
|
+
* @param {string} text the text to match
|
|
7
7
|
*/
|
|
8
8
|
declare function glob(patternList: string | string[], text: string): boolean;
|
|
9
9
|
export default glob;
|
package/dist/glob.js
CHANGED
|
@@ -17,8 +17,8 @@ function match(pattern, text) {
|
|
|
17
17
|
* A helper function to match input against [pattern-list](https://www.freebsd.org/cgi/man.cgi?query=ssh_config&sektion=5#PATTERNS).
|
|
18
18
|
* According to `man ssh_config`, negated patterns shall be matched first.
|
|
19
19
|
*
|
|
20
|
-
* @param {string|string[]} patternList
|
|
21
|
-
* @param {string}
|
|
20
|
+
* @param {string|string[]} patternList one or more glob patterns to match
|
|
21
|
+
* @param {string} text the text to match
|
|
22
22
|
*/
|
|
23
23
|
function glob(patternList, text) {
|
|
24
24
|
const patterns = Array.isArray(patternList) ? patternList : patternList.split(/,/);
|
package/dist/ssh-config.d.ts
CHANGED
|
@@ -1,59 +1,144 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { Buffer } from 'node:buffer';
|
|
2
|
+
import glob from './glob.ts';
|
|
3
|
+
/**
|
|
4
|
+
* A type of line in an ssh-config file. Differentiates between directives,
|
|
5
|
+
* comments, and empty lines.
|
|
6
|
+
*/
|
|
2
7
|
export declare enum LineType {
|
|
8
|
+
/** line with a directive in an ssh-config file */
|
|
3
9
|
DIRECTIVE = 1,
|
|
10
|
+
/** line with a comment in an ssh-config file */
|
|
4
11
|
COMMENT = 2,
|
|
12
|
+
/** empty line in an ssh-config file */
|
|
5
13
|
EMPTY = 3
|
|
6
14
|
}
|
|
15
|
+
/** A separator character in a directive. */
|
|
7
16
|
export type Separator = ' ' | '=' | '\t';
|
|
17
|
+
/**
|
|
18
|
+
* A directive in an ssh-config file. This is the main type of element in the
|
|
19
|
+
* file. The directive primarily consists of a
|
|
20
|
+
* {@link Directive.param | parameter}, and a {@link Directive.value | value},
|
|
21
|
+
* much like a key-value pair.
|
|
22
|
+
*
|
|
23
|
+
* We additionally keep track of a few other fields in order to print out a
|
|
24
|
+
* directive exactly as it was read, even though the used syntax is equivalent.
|
|
25
|
+
*/
|
|
8
26
|
export interface Directive {
|
|
27
|
+
/** type of line, always {@link LineType.DIRECTIVE} */
|
|
9
28
|
type: LineType.DIRECTIVE;
|
|
29
|
+
/** unrelated string encountered before this directive */
|
|
10
30
|
before: string;
|
|
31
|
+
/** unrelated string encountered after this directive */
|
|
11
32
|
after: string;
|
|
33
|
+
/** parameter name of this directive */
|
|
12
34
|
param: string;
|
|
35
|
+
/** separator char used in this directive */
|
|
13
36
|
separator: Separator;
|
|
37
|
+
/** the actual value of this directive */
|
|
14
38
|
value: string | {
|
|
15
39
|
val: string;
|
|
16
40
|
separator: string;
|
|
17
41
|
quoted?: boolean;
|
|
18
42
|
}[];
|
|
43
|
+
/** whether or not quotes were used for the directive value */
|
|
19
44
|
quoted?: boolean;
|
|
20
45
|
}
|
|
46
|
+
/**
|
|
47
|
+
* A section is a Host or Match directive in an ssh-config file. It includes a
|
|
48
|
+
* reference to the contained config via {@link Section.config}.
|
|
49
|
+
*/
|
|
21
50
|
export interface Section extends Directive {
|
|
51
|
+
/** the config contained in this section */
|
|
22
52
|
config: SSHConfig;
|
|
23
53
|
}
|
|
54
|
+
/**
|
|
55
|
+
* Represents a Match directive in an ssh-config file. It includes a reference
|
|
56
|
+
* to the contained config via {@link Section.config}, and a map of all match
|
|
57
|
+
* criteria via {@link Match.criteria}.
|
|
58
|
+
*/
|
|
24
59
|
export interface Match extends Section {
|
|
60
|
+
/** the match criteria contained in this Match section */
|
|
25
61
|
criteria: Record<string, string | {
|
|
62
|
+
/** the value of this match criterion */
|
|
26
63
|
val: string;
|
|
64
|
+
/** separator used for this match criterion */
|
|
27
65
|
separator: string;
|
|
66
|
+
/** whether this match criterion was quoted */
|
|
28
67
|
quoted?: boolean;
|
|
29
68
|
}[]>;
|
|
30
69
|
}
|
|
70
|
+
/**
|
|
71
|
+
* A comment in an ssh-config file. Stores the content of the comment as a
|
|
72
|
+
* string in {@link Comment.content}.
|
|
73
|
+
*/
|
|
31
74
|
export interface Comment {
|
|
75
|
+
/** type of line, always {@link LineType.COMMENT} */
|
|
32
76
|
type: LineType.COMMENT;
|
|
77
|
+
/** unrelated string encountered before this directive */
|
|
33
78
|
before: string;
|
|
79
|
+
/** unrelated string encountered after this directive */
|
|
34
80
|
after: string;
|
|
81
|
+
/** content of the comment */
|
|
35
82
|
content: string;
|
|
36
83
|
}
|
|
84
|
+
/**
|
|
85
|
+
* An empty or whitespace-only line in an ssh-config file. This is mainly used
|
|
86
|
+
* to represent empty config ssh-config files. The actual whitespace characters
|
|
87
|
+
* is usually stored in the {@link Empty.before | before} field. Storing it in
|
|
88
|
+
* the {@link Empty.after | after} field is permitted, too.
|
|
89
|
+
*/
|
|
37
90
|
export interface Empty {
|
|
91
|
+
/** type of line, always {@link LineType.COMMENT} */
|
|
38
92
|
type: LineType.EMPTY;
|
|
93
|
+
/** unrelated string encountered before this directive */
|
|
39
94
|
before: string;
|
|
95
|
+
/** unrelated string encountered after this directive */
|
|
40
96
|
after: string;
|
|
41
97
|
}
|
|
98
|
+
/**
|
|
99
|
+
* A single line in an ssh-config file. The union can be discrimiated via its
|
|
100
|
+
* `type` property of type {@link LineType}.
|
|
101
|
+
*/
|
|
42
102
|
export type Line = Match | Section | Directive | Comment | Empty;
|
|
103
|
+
/**
|
|
104
|
+
* Options for finding a {@link Section} via Host or Match.
|
|
105
|
+
*/
|
|
43
106
|
export interface FindOptions {
|
|
107
|
+
/** the host to look for */
|
|
44
108
|
Host?: string;
|
|
45
109
|
}
|
|
110
|
+
/**
|
|
111
|
+
* Options for querying an SSH config via host and user.
|
|
112
|
+
*/
|
|
46
113
|
export interface MatchOptions {
|
|
114
|
+
/** the host of the query */
|
|
47
115
|
Host: string;
|
|
116
|
+
/** the user of the query */
|
|
48
117
|
User?: string;
|
|
49
118
|
}
|
|
119
|
+
/**
|
|
120
|
+
* Options for computing SSH config results.
|
|
121
|
+
*/
|
|
122
|
+
export interface ComputeOptions {
|
|
123
|
+
/** when true, normalizes directive names to lowercase to match OpenSSH behavior */
|
|
124
|
+
ignoreCase?: boolean;
|
|
125
|
+
}
|
|
126
|
+
/**
|
|
127
|
+
* Represents parsed SSH config. Main element of this library.
|
|
128
|
+
*
|
|
129
|
+
* A parsed SSH config is modelled as an array of {@link Line}s.
|
|
130
|
+
*/
|
|
50
131
|
export default class SSHConfig extends Array<Line> {
|
|
132
|
+
/** shortcut to access {@link LineType.DIRECTIVE} */
|
|
51
133
|
static readonly DIRECTIVE: LineType.DIRECTIVE;
|
|
134
|
+
/** shortcut to access {@link LineType.COMMENT} */
|
|
52
135
|
static readonly COMMENT: LineType.COMMENT;
|
|
136
|
+
/** shortcut to access {@link LineType.EMPTY} */
|
|
137
|
+
static readonly EMPTY: LineType.EMPTY;
|
|
53
138
|
/**
|
|
54
139
|
* Parse SSH config text into structured object.
|
|
55
140
|
*/
|
|
56
|
-
static parse(text: string): SSHConfig;
|
|
141
|
+
static parse(text: string | Buffer): SSHConfig;
|
|
57
142
|
/**
|
|
58
143
|
* Stringify structured object into SSH config text.
|
|
59
144
|
*/
|
|
@@ -65,7 +150,11 @@ export default class SSHConfig extends Array<Line> {
|
|
|
65
150
|
/**
|
|
66
151
|
* Query SSH config by host and user.
|
|
67
152
|
*/
|
|
68
|
-
compute(opts: MatchOptions): Record<string, string | string[]>;
|
|
153
|
+
compute(opts: MatchOptions, computeOpts?: ComputeOptions): Record<string, string | string[]>;
|
|
154
|
+
/**
|
|
155
|
+
* Query SSH config by host with options.
|
|
156
|
+
*/
|
|
157
|
+
compute(host: string, computeOpts?: ComputeOptions): Record<string, string | string[]>;
|
|
69
158
|
/**
|
|
70
159
|
* Find by Host or Match.
|
|
71
160
|
*/
|
|
@@ -86,6 +175,9 @@ export default class SSHConfig extends Array<Line> {
|
|
|
86
175
|
* matching line is given.
|
|
87
176
|
*/
|
|
88
177
|
remove(predicate: (line: Line, index: number, config: Line[]) => unknown): Line[] | undefined;
|
|
178
|
+
/**
|
|
179
|
+
* Convert this SSH config to its textual presentation via {@link stringify}.
|
|
180
|
+
*/
|
|
89
181
|
toString(): string;
|
|
90
182
|
/**
|
|
91
183
|
* Append new section to existing SSH config.
|
|
@@ -99,9 +191,9 @@ export default class SSHConfig extends Array<Line> {
|
|
|
99
191
|
/**
|
|
100
192
|
* Parse SSH config text into structured object.
|
|
101
193
|
*/
|
|
102
|
-
export declare function parse(text: string): SSHConfig;
|
|
194
|
+
export declare function parse(text: string | Buffer): SSHConfig;
|
|
103
195
|
/**
|
|
104
196
|
* Stringify structured object into SSH config text.
|
|
105
197
|
*/
|
|
106
198
|
export declare function stringify(config: SSHConfig): string;
|
|
107
|
-
export { glob };
|
|
199
|
+
export { glob, SSHConfig };
|
package/dist/ssh-config.js
CHANGED
|
@@ -3,23 +3,30 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.glob = exports.LineType = void 0;
|
|
6
|
+
exports.SSHConfig = exports.glob = exports.LineType = void 0;
|
|
7
7
|
exports.parse = parse;
|
|
8
8
|
exports.stringify = stringify;
|
|
9
|
-
const
|
|
10
|
-
exports.glob =
|
|
11
|
-
const
|
|
12
|
-
const
|
|
9
|
+
const glob_ts_1 = __importDefault(require("./glob.js"));
|
|
10
|
+
exports.glob = glob_ts_1.default;
|
|
11
|
+
const node_child_process_1 = require("node:child_process");
|
|
12
|
+
const node_os_1 = __importDefault(require("node:os"));
|
|
13
13
|
const RE_SPACE = /\s/;
|
|
14
14
|
const RE_LINE_BREAK = /\r|\n/;
|
|
15
15
|
const RE_SECTION_DIRECTIVE = /^(Host|Match)$/i;
|
|
16
16
|
const RE_MULTI_VALUE_DIRECTIVE = /^(GlobalKnownHostsFile|Host|IPQoS|SendEnv|UserKnownHostsFile|ProxyCommand|Match|CanonicalDomains)$/i;
|
|
17
17
|
const RE_QUOTE_DIRECTIVE = /^(?:CertificateFile|IdentityFile|IdentityAgent|User)$/i;
|
|
18
18
|
const RE_SINGLE_LINE_DIRECTIVE = /^(Include|IdentityFile)$/i;
|
|
19
|
+
/**
|
|
20
|
+
* A type of line in an ssh-config file. Differentiates between directives,
|
|
21
|
+
* comments, and empty lines.
|
|
22
|
+
*/
|
|
19
23
|
var LineType;
|
|
20
24
|
(function (LineType) {
|
|
25
|
+
/** line with a directive in an ssh-config file */
|
|
21
26
|
LineType[LineType["DIRECTIVE"] = 1] = "DIRECTIVE";
|
|
27
|
+
/** line with a comment in an ssh-config file */
|
|
22
28
|
LineType[LineType["COMMENT"] = 2] = "COMMENT";
|
|
29
|
+
/** empty line in an ssh-config file */
|
|
23
30
|
LineType[LineType["EMPTY"] = 3] = "EMPTY";
|
|
24
31
|
})(LineType || (exports.LineType = LineType = {}));
|
|
25
32
|
const REPEATABLE_DIRECTIVES = [
|
|
@@ -30,6 +37,7 @@ const REPEATABLE_DIRECTIVES = [
|
|
|
30
37
|
'CertificateFile',
|
|
31
38
|
];
|
|
32
39
|
function compare(line, opts) {
|
|
40
|
+
// @ts-ignore
|
|
33
41
|
return opts.hasOwnProperty(line.param) && opts[line.param] === line.value;
|
|
34
42
|
}
|
|
35
43
|
function getIndent(config) {
|
|
@@ -60,15 +68,15 @@ function match(criteria, context) {
|
|
|
60
68
|
${criterion}
|
|
61
69
|
}
|
|
62
70
|
main`;
|
|
63
|
-
return (0,
|
|
71
|
+
return (0, node_child_process_1.spawnSync)(command, { shell: true }).status === 0;
|
|
64
72
|
case 'host':
|
|
65
|
-
return (0,
|
|
73
|
+
return (0, glob_ts_1.default)(criterion, context.params.HostName);
|
|
66
74
|
case 'originalhost':
|
|
67
|
-
return (0,
|
|
75
|
+
return (0, glob_ts_1.default)(criterion, context.params.OriginalHost);
|
|
68
76
|
case 'user':
|
|
69
|
-
return (0,
|
|
77
|
+
return (0, glob_ts_1.default)(criterion, context.params.User);
|
|
70
78
|
case 'localuser':
|
|
71
|
-
return (0,
|
|
79
|
+
return (0, glob_ts_1.default)(criterion, context.params.LocalUser);
|
|
72
80
|
}
|
|
73
81
|
};
|
|
74
82
|
for (const key in criteria) {
|
|
@@ -80,7 +88,18 @@ function match(criteria, context) {
|
|
|
80
88
|
}
|
|
81
89
|
return true;
|
|
82
90
|
}
|
|
91
|
+
/**
|
|
92
|
+
* Represents parsed SSH config. Main element of this library.
|
|
93
|
+
*
|
|
94
|
+
* A parsed SSH config is modelled as an array of {@link Line}s.
|
|
95
|
+
*/
|
|
83
96
|
class SSHConfig extends Array {
|
|
97
|
+
/** shortcut to access {@link LineType.DIRECTIVE} */
|
|
98
|
+
static DIRECTIVE = LineType.DIRECTIVE;
|
|
99
|
+
/** shortcut to access {@link LineType.COMMENT} */
|
|
100
|
+
static COMMENT = LineType.COMMENT;
|
|
101
|
+
/** shortcut to access {@link LineType.EMPTY} */
|
|
102
|
+
static EMPTY = LineType.EMPTY;
|
|
84
103
|
/**
|
|
85
104
|
* Parse SSH config text into structured object.
|
|
86
105
|
*/
|
|
@@ -93,14 +112,14 @@ class SSHConfig extends Array {
|
|
|
93
112
|
static stringify(config) {
|
|
94
113
|
return stringify(config);
|
|
95
114
|
}
|
|
96
|
-
compute(opts) {
|
|
115
|
+
compute(opts, computeOpts) {
|
|
97
116
|
if (typeof opts === 'string')
|
|
98
117
|
opts = { Host: opts };
|
|
99
118
|
let userInfo;
|
|
100
119
|
try {
|
|
101
|
-
userInfo =
|
|
120
|
+
userInfo = node_os_1.default.userInfo();
|
|
102
121
|
}
|
|
103
|
-
catch
|
|
122
|
+
catch {
|
|
104
123
|
// os.userInfo() throws a SystemError if a user has no username or homedir.
|
|
105
124
|
userInfo = { username: process.env.USER || process.env.USERNAME || '' };
|
|
106
125
|
}
|
|
@@ -117,9 +136,10 @@ class SSHConfig extends Array {
|
|
|
117
136
|
};
|
|
118
137
|
const obj = {};
|
|
119
138
|
const setProperty = (name, value) => {
|
|
139
|
+
const key = computeOpts?.ignoreCase ? name.toLowerCase() : name;
|
|
120
140
|
let val;
|
|
121
141
|
if (Array.isArray(value)) {
|
|
122
|
-
if (/ProxyCommand/i.test(
|
|
142
|
+
if (/ProxyCommand/i.test(key)) {
|
|
123
143
|
val = value.map(({ val, separator, quoted }) => {
|
|
124
144
|
return `${separator}${quoted ? `"${val.replace(/"/g, '\\"')}"` : val}`;
|
|
125
145
|
}).join('').trim();
|
|
@@ -132,18 +152,20 @@ class SSHConfig extends Array {
|
|
|
132
152
|
val = value;
|
|
133
153
|
}
|
|
134
154
|
const val0 = Array.isArray(val) ? val[0] : val;
|
|
135
|
-
|
|
136
|
-
|
|
155
|
+
// Use case-insensitive check for repeatable directives
|
|
156
|
+
const isRepeatable = REPEATABLE_DIRECTIVES.some(d => d.toLowerCase() === name.toLowerCase());
|
|
157
|
+
if (isRepeatable) {
|
|
158
|
+
const list = (obj[key] || (obj[key] = []));
|
|
137
159
|
list.push(...[].concat(val));
|
|
138
160
|
}
|
|
139
|
-
else if (obj[
|
|
161
|
+
else if (obj[key] == null) {
|
|
140
162
|
if (name === 'HostName') {
|
|
141
163
|
context.params.HostName = val0;
|
|
142
164
|
}
|
|
143
165
|
else if (name === 'User') {
|
|
144
166
|
context.params.User = val0;
|
|
145
167
|
}
|
|
146
|
-
obj[
|
|
168
|
+
obj[key] = val;
|
|
147
169
|
}
|
|
148
170
|
};
|
|
149
171
|
if (opts.User !== undefined) {
|
|
@@ -153,7 +175,8 @@ class SSHConfig extends Array {
|
|
|
153
175
|
for (const line of this) {
|
|
154
176
|
if (line.type !== LineType.DIRECTIVE)
|
|
155
177
|
continue;
|
|
156
|
-
|
|
178
|
+
// Host and Match directives are always case-insensitive (per OpenSSH behavior)
|
|
179
|
+
if (/^host$/i.test(line.param) && (0, glob_ts_1.default)(Array.isArray(line.value) ? line.value.map(({ val }) => val) : line.value, context.params.Host)) {
|
|
157
180
|
let canonicalizeHostName = false;
|
|
158
181
|
let canonicalDomains = [];
|
|
159
182
|
setProperty(line.param, line.value);
|
|
@@ -171,7 +194,7 @@ class SSHConfig extends Array {
|
|
|
171
194
|
if (canonicalDomains.length > 0 && canonicalizeHostName && context.params.Host === context.params.OriginalHost) {
|
|
172
195
|
for (const domain of canonicalDomains) {
|
|
173
196
|
const host = `${context.params.OriginalHost}.${domain}`;
|
|
174
|
-
const { status, stderr } = (0,
|
|
197
|
+
const { status, stderr } = (0, node_child_process_1.spawnSync)('nslookup', [host]);
|
|
175
198
|
if (status === 0 && !/can't find/.test(stderr.toString())) {
|
|
176
199
|
context.params.Host = host;
|
|
177
200
|
setProperty('Host', host);
|
|
@@ -181,14 +204,14 @@ class SSHConfig extends Array {
|
|
|
181
204
|
}
|
|
182
205
|
}
|
|
183
206
|
}
|
|
184
|
-
else if (line.param
|
|
207
|
+
else if (/^match$/i.test(line.param) && 'criteria' in line && match(line.criteria, context)) {
|
|
185
208
|
for (const subline of line.config) {
|
|
186
209
|
if (subline.type === LineType.DIRECTIVE) {
|
|
187
210
|
setProperty(subline.param, subline.value);
|
|
188
211
|
}
|
|
189
212
|
}
|
|
190
213
|
}
|
|
191
|
-
else if (
|
|
214
|
+
else if (!/^(host|match)$/i.test(line.param)) {
|
|
192
215
|
setProperty(line.param, line.value);
|
|
193
216
|
}
|
|
194
217
|
}
|
|
@@ -207,7 +230,7 @@ class SSHConfig extends Array {
|
|
|
207
230
|
if (!(opts && ('Host' in opts || 'Match' in opts))) {
|
|
208
231
|
throw new Error('Can only find by Host or Match');
|
|
209
232
|
}
|
|
210
|
-
return super.find(line => compare(line, opts));
|
|
233
|
+
return super.find((line) => 'param' in line && compare(line, opts));
|
|
211
234
|
}
|
|
212
235
|
remove(opts) {
|
|
213
236
|
let index;
|
|
@@ -218,11 +241,14 @@ class SSHConfig extends Array {
|
|
|
218
241
|
throw new Error('Can only remove by Host or Match');
|
|
219
242
|
}
|
|
220
243
|
else {
|
|
221
|
-
index = super.findIndex(line => compare(line, opts));
|
|
244
|
+
index = super.findIndex((line) => 'param' in line && compare(line, opts));
|
|
222
245
|
}
|
|
223
246
|
if (index >= 0)
|
|
224
247
|
return this.splice(index, 1);
|
|
225
248
|
}
|
|
249
|
+
/**
|
|
250
|
+
* Convert this SSH config to its textual presentation via {@link stringify}.
|
|
251
|
+
*/
|
|
226
252
|
toString() {
|
|
227
253
|
return stringify(this);
|
|
228
254
|
}
|
|
@@ -322,19 +348,20 @@ class SSHConfig extends Array {
|
|
|
322
348
|
return config;
|
|
323
349
|
}
|
|
324
350
|
}
|
|
325
|
-
SSHConfig.DIRECTIVE = LineType.DIRECTIVE;
|
|
326
|
-
SSHConfig.COMMENT = LineType.COMMENT;
|
|
327
351
|
exports.default = SSHConfig;
|
|
352
|
+
exports.SSHConfig = SSHConfig;
|
|
328
353
|
/**
|
|
329
354
|
* Parse SSH config text into structured object.
|
|
330
355
|
*/
|
|
331
356
|
function parse(text) {
|
|
357
|
+
// Handle Buffer input by converting to string
|
|
358
|
+
const input = typeof text === 'string' ? text : text.toString('utf-8');
|
|
332
359
|
let i = 0;
|
|
333
360
|
let chr = next();
|
|
334
361
|
let config = new SSHConfig();
|
|
335
362
|
let configWas = config;
|
|
336
363
|
function next() {
|
|
337
|
-
return
|
|
364
|
+
return input[i++];
|
|
338
365
|
}
|
|
339
366
|
function space() {
|
|
340
367
|
let spaces = '';
|
|
@@ -555,7 +582,7 @@ function stringify(config) {
|
|
|
555
582
|
}
|
|
556
583
|
function formatDirective(line) {
|
|
557
584
|
const quoted = line.quoted
|
|
558
|
-
|| (RE_QUOTE_DIRECTIVE.test(line.param) && RE_SPACE.test(line.value));
|
|
585
|
+
|| (RE_QUOTE_DIRECTIVE.test(line.param) && typeof line.value === 'string' && RE_SPACE.test(line.value));
|
|
559
586
|
const value = formatValue(line.value, quoted);
|
|
560
587
|
return `${line.param}${line.separator}${value}`;
|
|
561
588
|
}
|
package/dist/ssh-config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ssh-config.js","sourceRoot":"","sources":["../src/ssh-config.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ssh-config.js","sourceRoot":"","sources":["../src/ssh-config.ts"],"names":[],"mappings":"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"}
|
package/lib/glob.d.ts
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A helper function to match input against [pattern-list](https://www.freebsd.org/cgi/man.cgi?query=ssh_config&sektion=5#PATTERNS).
|
|
3
|
+
* According to `man ssh_config`, negated patterns shall be matched first.
|
|
4
|
+
*
|
|
5
|
+
* @param {string|string[]} patternList one or more glob patterns to match
|
|
6
|
+
* @param {string} text the text to match
|
|
7
|
+
*/
|
|
8
|
+
declare function glob(patternList: string | string[], text: string): boolean;
|
|
9
|
+
export default glob;
|
package/lib/glob.js
ADDED
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
function escapeChars(text, chars) {
|
|
2
|
+
for (let char of chars) {
|
|
3
|
+
text = text.replace(new RegExp('\\' + char, 'g'), '\\' + char);
|
|
4
|
+
}
|
|
5
|
+
return text;
|
|
6
|
+
}
|
|
7
|
+
function match(pattern, text) {
|
|
8
|
+
pattern = escapeChars(pattern, '\\()[]{}.+^$|');
|
|
9
|
+
pattern = pattern
|
|
10
|
+
.replace(/\*/g, '.*')
|
|
11
|
+
.replace(/\?/g, '.?');
|
|
12
|
+
return new RegExp('^(?:' + pattern + ')$').test(text);
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* A helper function to match input against [pattern-list](https://www.freebsd.org/cgi/man.cgi?query=ssh_config&sektion=5#PATTERNS).
|
|
16
|
+
* According to `man ssh_config`, negated patterns shall be matched first.
|
|
17
|
+
*
|
|
18
|
+
* @param {string|string[]} patternList one or more glob patterns to match
|
|
19
|
+
* @param {string} text the text to match
|
|
20
|
+
*/
|
|
21
|
+
function glob(patternList, text) {
|
|
22
|
+
const patterns = Array.isArray(patternList) ? patternList : patternList.split(/,/);
|
|
23
|
+
// > If a negated entry is matched, then the Host entry is ignored, regardless of whether any other patterns on the line match.
|
|
24
|
+
let result = false;
|
|
25
|
+
for (const pattern of patterns) {
|
|
26
|
+
const negate = pattern[0] == '!';
|
|
27
|
+
if (negate && match(pattern.slice(1), text)) {
|
|
28
|
+
return false;
|
|
29
|
+
}
|
|
30
|
+
else if (match(pattern, text)) {
|
|
31
|
+
// wait until all of the pattern match results because there might be a negated pattern
|
|
32
|
+
result = true;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
return result;
|
|
36
|
+
}
|
|
37
|
+
export default glob;
|
|
38
|
+
//# sourceMappingURL=glob.js.map
|
package/lib/glob.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"glob.js","sourceRoot":"","sources":["../src/glob.ts"],"names":[],"mappings":"AACA,SAAS,WAAW,CAAC,IAAY,EAAE,KAAa;IAC9C,KAAK,IAAI,IAAI,IAAI,KAAK,EAAE,CAAC;QACvB,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,IAAI,GAAG,IAAI,EAAE,GAAG,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC,CAAA;IAChE,CAAC;IAED,OAAO,IAAI,CAAA;AACb,CAAC;AAED,SAAS,KAAK,CAAC,OAAe,EAAE,IAAY;IAC1C,OAAO,GAAG,WAAW,CAAC,OAAO,EAAE,eAAe,CAAC,CAAA;IAC/C,OAAO,GAAG,OAAO;SACd,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC;SACpB,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;IAEvB,OAAO,IAAI,MAAM,CAAC,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACvD,CAAC;AAED;;;;;;GAMG;AACH,SAAS,IAAI,CAAC,WAA8B,EAAE,IAAY;IACxD,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAElF,+HAA+H;IAC/H,IAAI,MAAM,GAAG,KAAK,CAAA;IAClB,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,GAAG,CAAA;QAEhC,IAAI,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC;YAC5C,OAAO,KAAK,CAAA;QACd,CAAC;aAAM,IAAI,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,CAAC;YAChC,uFAAuF;YACvF,MAAM,GAAG,IAAI,CAAA;QACf,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAA;AACf,CAAC;AAED,eAAe,IAAI,CAAA"}
|