First Commit

This commit is contained in:
Craig Yamato 2018-09-20 23:46:38 +00:00
commit 4bcf268228
11 changed files with 3892 additions and 0 deletions

21
LICENSE Normal file
View File

@ -0,0 +1,21 @@
MIT License
Copyright (c) 2018 Craig Yamato
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.

50
package.json Normal file
View File

@ -0,0 +1,50 @@
{
"name": "Syslog-CKY",
"version": "0.0.0",
"description": "A Syslog client which options for UDP, TCP, and TLS transport and suport for both RFC-3164 and RFC-5424 including Structured Data.",
"repository": "",
"author": {
"name": "Craig Yamato",
"email": "craig.yamato2@gmail.com",
"url": "http://linkedin.com/in/cyamato"
},
"contributors": [
{
"name": "Craig Yamato",
"email": "craig.yamato2@gmail.com",
"url": "http://linkedin.com/in/cyamato"
}
],
"license": "MIT",
"dependencies": {
"moment": "^2.22.2"
},
"devDependencies": {
"docco": "^0.8.0",
"docdash": "^1.0.0",
"jest": "^23.5.0",
"jsdoc": "^3.5.5"
},
"scripts": {
"test": "jest --colors --expand --logHeapUsage --runInBand",
"doc": "jsdoc *.js --destination ./docs/jsdoc --private --readme ./README.md --template ../../../node_modules/docdash"
},
"jest": {
"collectCoverage": true,
"coverageDirectory": "coverage",
"coverageReporters": [
"json",
"text",
"lcov"
],
"globals": {
"udpServerPort": 8000,
"tcpServerPort": 8001,
"tlsBasicServerPort": 8002,
"tlsAuthServerPort": 8003
},
"notify": true,
"testEnvironment": "node",
"verbose": true
}
}

126
syslog meta.js Normal file
View File

@ -0,0 +1,126 @@
send (msg) {
return new Promise((resolve, reject) => {
if (typeof msg !== 'string') {
reject(new Error("TYPE ERROR: Syslog message must be a string"));
return;
}
// Test for target DNS and Address Family (IPv4/6) by looking up the DNS
const dnsOptions = {
verbatim: true
};
dnsPromises.lookup(this.target, dnsOptions)
.then((result) => {
// Turn msg in to a UTF8 buffer
const msgBuffer = Buffer.from(msg, 'utf8');
if (this.protocol === 'udp') {
// Do UDP transport
const dgram = require('dgram');
const udpType = result.family === 4 ? 'udp4' : 'udp6';
const udpClient = dgram.createSocket(udpType);
udpClient.send(msgBuffer, this.port, result.address, (error) => {
udpClient.close();
resolve(msg);
});
} else if (this.protocol === 'tcp') {
// Use TCP client
const net = require('net');
const tcpOptions = {
host: result.address,
port: this.port,
family: result.family
};
const client = net.createConnection(tcpOptions, () => {
client.write(msgBuffer, () => {
client.end();
});
});
client.setTimeout(this.tcpTimeout);
// client.on('data', (data) => {});
client.on('end', () => {
resolve(msg);
});
client.on('timeout', () => {
client.end();
reject(new Error('TIMEOUT ERROR: Syslog server TCP timeout'));
});
client.on('error', (error) => {
client.destroy();
reject(error);
});
} else if (this.protocol === 'tls') {
// Use a TLS client
const tls = require('tls');
const tlsOptions = {
host: this.target,
port: this.port,
family: result.family
};
if (typeof this.tlsClientKey === 'string'
&& typeof this.tlsClientCert === 'string') {
tlsOptions.key = fs.readFileSync(this.tlsClientKey);
tlsOptions.cert = fs.readFileSync(this.tlsClientCert);
} else if (typeof this.tlsClientKey !== 'string'
&& typeof this.tlsClientKey !== 'undefined') {
let errMsg = 'TYPE ERROR: TLS Client Key is not a file';
errMsg += 'location string';
reject(new Error(errMsg));
return;
} else if (typeof this.tlsClientCert !== 'string'
&& typeof this.tlsClientCert !== 'undefined') {
let errMsg = 'TYPE ERROR: TLS Client Cert is not a file';
errMsg += 'location string';
reject(new Error(errMsg));
return;
}
let tlsCerts = this.tlsServerCerts.length;
if (tlsCerts > 0) {
let tlsOptionsCerts = [];
for (let certIndex=0; certIndex<tlsCerts; certIndex++) {
if (typeof this.tlsServerCerts[certIndex] !== 'string') {
let errMsg = 'TYPE ERROR: TLS Server Cert is not a file';
errMsg += 'location string';
reject(new Error(errMsg));
}
let cert = fs.readFileSync(this.tlsServerCerts[certIndex]);
tlsOptionsCerts.push(cert);
}
tlsOptions.ca = tlsOptionsCerts;
tlsOptions.rejectUnauthorized = true;
}
const client = tls.connect(tlsOptions, () => {
client.write(msgBuffer, () => {
client.end();
});
});
client.setTimeout(this.tcpTimeout);
// client.on('data', (data) => {});
client.on('end', () => {
resolve(msg);
});
client.on('timeout', () => {
client.end();
reject(new Error('TIMEOUT ERROR: Syslog server TLS timeout'));
});
client.on('error', (error) => {
client.destroy();
reject(error);
});
} else {
reject(new Error('FORMAT ERROR: Protocol is not UDP|TCP|TLS'));
}
})
.catch((error) => {
reject(error); // Reject out of the sendMessage function promise
});
});
}
}

2352
syslog.js Normal file

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,30 @@
-----BEGIN CERTIFICATE-----
MIIFLjCCAxYCCQDXwdzKGESh8zANBgkqhkiG9w0BAQsFADBZMQswCQYDVQQGEwJB
VTETMBEGA1UECAwKU29tZS1TdGF0ZTEhMB8GA1UECgwYSW50ZXJuZXQgV2lkZ2l0
cyBQdHkgTHRkMRIwEAYDVQQDDAlsb2NhbGhvc3QwHhcNMTgwOTExMDAwNTIyWhcN
MTgxMDExMDAwNTIyWjBZMQswCQYDVQQGEwJBVTETMBEGA1UECAwKU29tZS1TdGF0
ZTEhMB8GA1UECgwYSW50ZXJuZXQgV2lkZ2l0cyBQdHkgTHRkMRIwEAYDVQQDDAls
b2NhbGhvc3QwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCW3NFnGFMB
SLH6CR6FcnuwBDh4hic3q7CQKCrbPgq32AfQqH5WI3phQ/j9S9EJNZeUKXP1TxO0
QQK9wpOQ/d04sq3iti54BHGDbG7nJEeknJF8U1v5Gn5x/cHxTONQ8UwDqjVsw/Vp
eCXXO1MRaVv8SvJ4BBeQ5ueJXefbZ0tRePrdFvJ3aHVGflWoIFefcDOXUOCXXjfB
EpEFJ2EfHQWOFnBwr1cDncth8D8O7w+Vcww6S5nSUIrLuxLRhOKHxhWCDRtVAvhQ
G9CQJzBbqxzGIwibx6gNwEajmqoh6AqEw03rklpxWMZghvNfbmofujS/p1MX+QwE
2Nn6pdkFdtUtGfLXR1e7tA3CHpDcBA92G9sjh3nEupwKWRF4N7XnHPlGh94yz5Uf
qQkNLVTsbdRWnV2tr1MPRpgkE6523Mm9Akdzv6Z7Xyu8B5ZdYQ1yFNx5pXbwhHWe
ypZ5xMQiW5PZvv7rlOA2WMbdg8fb8KBTGuyExl7qF7v420sLnp+H4Uqb5tC1OZ6s
GpmIkccGRRF84mUMVZQjJsiINnxXH7S/QN2wNLLCPG5L81SIbb7n07raDCSgXOle
a9eUHmC6geljM5hf9qip0eb68cFSnc8x/4quTsrjCCeP1rb/m57vey5QCFZ1YuYm
0PivOU/DcCDf85gEgniByw4/RkJbr/2Y4QIDAQABMA0GCSqGSIb3DQEBCwUAA4IC
AQA95Oct5YaOXaS7QeyjyPTOtXGDQQYwkRxFxbaKsZ7MvK3msncYtk2Q6dC+WA6q
yC2H6D31Yzi0wIWoV44BKiyCH5WU1O9TzMZdOEt67Zt9CJR2xTsjx9l6WexsKI7d
/lUAmj5WPeBEC19E5CX+SKovS7mtDcrIujBCiB8BdsFLJXdTPbymWJFCTwDRPJdZ
8boK3myTYPvEEfbtEOwsVFcdlwKpfo9TyAqSlFUGh9VK5IyJvWNuAtCS5vecQDAa
Lg6DkBNZQJZ1mB1QVb257j/BI6HkPpM8fuaCd7prEg7ndVL+I+NGitn57SEeBUk/
LE85sK1hc5CsCwTAj9wBjHCj0pARLY6cxIcsJOj6t0Tf6TveR97GWTEwCTs63G3V
604o75q9LALQEWDUzJKk9dUYv98wbfRKJUlPZH8SyUw9G3i76iey3R0oRqYe81ho
AFcrsqhrxs7x6f4odENrvlBObY+QoqAFWtee0VDIEIXD8YZHuY1K6Z2mInE9cAOI
gvbU8nRtCGOGzHRAG3LI3cVw35GWEf74ZVgLno2JyiN4AqxJcqbyt22TLgq+t3QB
Or8Osjwni6KjHDq/LCr4WKwO1+RLhLDYotiXrR7QhuglQBnxA37I4OK3WPPctSTl
mZiYSN0GhUCObk0DUmoz7ZMaAQu3qiKOfj1EZM4TVBou5g==
-----END CERTIFICATE-----

View File

@ -0,0 +1,27 @@
-----BEGIN CERTIFICATE REQUEST-----
MIIEnjCCAoYCAQAwWTELMAkGA1UEBhMCQVUxEzARBgNVBAgMClNvbWUtU3RhdGUx
ITAfBgNVBAoMGEludGVybmV0IFdpZGdpdHMgUHR5IEx0ZDESMBAGA1UEAwwJbG9j
YWxob3N0MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAltzRZxhTAUix
+gkehXJ7sAQ4eIYnN6uwkCgq2z4Kt9gH0Kh+ViN6YUP4/UvRCTWXlClz9U8TtEEC
vcKTkP3dOLKt4rYueARxg2xu5yRHpJyRfFNb+Rp+cf3B8UzjUPFMA6o1bMP1aXgl
1ztTEWlb/EryeAQXkObniV3n22dLUXj63Rbyd2h1Rn5VqCBXn3Azl1Dgl143wRKR
BSdhHx0FjhZwcK9XA53LYfA/Du8PlXMMOkuZ0lCKy7sS0YTih8YVgg0bVQL4UBvQ
kCcwW6scxiMIm8eoDcBGo5qqIegKhMNN65JacVjGYIbzX25qH7o0v6dTF/kMBNjZ
+qXZBXbVLRny10dXu7QNwh6Q3AQPdhvbI4d5xLqcClkReDe15xz5RofeMs+VH6kJ
DS1U7G3UVp1dra9TD0aYJBOudtzJvQJHc7+me18rvAeWXWENchTceaV28IR1nsqW
ecTEIluT2b7+65TgNljG3YPH2/CgUxrshMZe6he7+NtLC56fh+FKm+bQtTmerBqZ
iJHHBkURfOJlDFWUIybIiDZ8Vx+0v0DdsDSywjxuS/NUiG2+59O62gwkoFzpXmvX
lB5guoHpYzOYX/aoqdHm+vHBUp3PMf+Krk7K4wgnj9a2/5ue73suUAhWdWLmJtD4
rzlPw3Ag3/OYBIJ4gcsOP0ZCW6/9mOECAwEAAaAAMA0GCSqGSIb3DQEBCwUAA4IC
AQAvY5cFoOXLYh1MRN71+HyscclUxemAiZw1A+Bm0wNOPVvR/ghs3YN5vHE6yJwd
8xeTxvV44JKzk3bOmV6hI4iQGoJmWDgUiiquRe0psr8Hy8Be8EWmbTUp0d3vz4nS
XLNnk1YOUrsWcjHYBBs+LdJlsXQsPZsndj536t/ygv9lWLzMTRmtEwRgrGH7P6y+
Pd/Eba1WtkFjIyhHyh9NRT+B20bkJ3KURGhN6uxKqHHx9dpSUHFUOutqs9UQqPEp
CH1ABulZyz+Dmo36MKnDhbS0j/yrjtVgIxJPD+2pJhp469ckwYqaFmLuJmxkg23D
Y/V2ePxJT78267ce4YE4g7g3JhHHO1FVvNUzBKF9kkg3sPResgoZQM4YXzD8pj75
GnNkRes3MgvDeb5V+940AVwa2Sy7aVn2l51aYk2ZAWGf5uNBRd9xIf9W+Gj+OakN
wJNUxXB0UjZFC0nTqv76PcGPpC7p8Or9Ki1R4luVlcq6lpjbuR7wqbvlVjZVHIQF
JKm5S8iYSEUIdIR5vgArYlpYA87aAdjf4Ik36ijzjvHXNlXQN0pCn9MgKmJUykkq
WxX8ckkBpOTm+6lSuMqlJS1kawK/9oVt0AGLZSzegHbiEqy9Oz35qHocUmwhmxo4
Rwl9+hEe3JMQRAKq0Pd7z75vo6N+YsS7xyJdnvfyY2zUnQ==
-----END CERTIFICATE REQUEST-----

View File

@ -0,0 +1,51 @@
-----BEGIN RSA PRIVATE KEY-----
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
-----END RSA PRIVATE KEY-----

View File

@ -0,0 +1,30 @@
-----BEGIN CERTIFICATE-----
MIIFLjCCAxYCCQDXguUi764BnTANBgkqhkiG9w0BAQsFADBZMQswCQYDVQQGEwJB
VTETMBEGA1UECAwKU29tZS1TdGF0ZTEhMB8GA1UECgwYSW50ZXJuZXQgV2lkZ2l0
cyBQdHkgTHRkMRIwEAYDVQQDDAlsb2NhbGhvc3QwHhcNMTgwOTExMDAwNDMzWhcN
MTgxMDExMDAwNDMzWjBZMQswCQYDVQQGEwJBVTETMBEGA1UECAwKU29tZS1TdGF0
ZTEhMB8GA1UECgwYSW50ZXJuZXQgV2lkZ2l0cyBQdHkgTHRkMRIwEAYDVQQDDAls
b2NhbGhvc3QwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC3ZnQuReE+
ky72WQNTFGBBcSoJTRK1UXFGuNWrm++vhHbXBLDJkdwMZEDW31iPJB2UZbWRGjLU
/NCwJKLYQYWfTyR5RcrjeSQeZKcX/cO0Rv7dPaxRiSQrJv48oQUzmdeRWCJhmjKl
IKUNXuT2h9BTKmdJlzFOGzLHWwEcE2x8cuqR9UfzCkcySZa8pHERwj/fDqh2HhLR
BSrHZPtUjx8W/QSTuCLioADyjdo23mabDbUdx9mJ0jywSJykYGVNXGYTUf+01vFW
t5N2vzyoLuarIaw9FySY6tWnVfCmOFscG+NISnD8m+sWOs2hQgibSns9HKgYcoB7
BuhL0tiflJEp3Z3jbCQ6kKNOQ0auy/C8kV/5For8Ptq3kJsJFiOMV/0Zc94MvFiS
ncsBsIDKBDqRlcDLpT8ftq25fDs5Ax8ECy1L+kjOO9SUQJlNzrN+AJX42+DDKKf0
9Ug7Yk/Wtf5v0LWAZrZrHQSAjYEfcX6dn8IMUu073ALpy9wuCyRnD1JH3ZpSVRug
iqLNauaKEU8sNl6X1tPG0uzeJ+xg5jicl4kVMT5O2RYOKiKRUebp3KGeFdfi16Gm
Ms6N2qSTGoVl/68OXD686toSyJBVtJ2T7btQVQKHOIIhR/MPhJoFoMWv1oNx05z8
K98qQc67TfH3QeC1IWmF+ogGU5AwWkV4DwIDAQABMA0GCSqGSIb3DQEBCwUAA4IC
AQBgam2+ODFmS1F6vUHgBk5F87It5cFxWBIAFxedae9K1FVx4p+LDgxRp3DGsLVi
+D/EGvwICRWwrUQpqeM3PoKf9jCb0K+LITx9P531bvpfPogPaGe+zXf6TPEzuQaC
oQodmi9dGrnOpQI+KGbup+mCg5Etx0Gz/ZyQsJZfRNipuOPWOqikbNSKZfca9GLq
eZZxP/mIU1/pAUVR2sCkkojeX3Q99VKTexhqvSTvdxunM79onyeYKhardL4UD13T
d/MZ7jWwRfTLN45hb0KwJc1cO4NANkCxddyv8C7METcG8obeI5/dSZzdp3nAPvjc
AmldzHrODKTWCOqU0vNgxLehRDewWWnOI8A1JwLEXZqsO6dhIwVUG0WHuDznys49
Kn5WJJ+j3UguPvyaVlVDTJnQqbW9pbRPKp1qKSb9rw2dfZh1rLoxFU/eILoHYldD
vwD8LMZKLfyFULbk6SXi0E+qZZkIv+4N7SFMC+ulfagnLKL1KdWcr+8XylLkMBOG
r6BvN1rzAkrQTFZ+ml2AMFYVeh8zrrad9pALxGE4QCe2Nzd/Z9ZA+ltDWoxmyvvU
Fo//JWbinuJQ73VJqqODam/8CxGg+KdgxzZS0rLw0dKa6jJN1ymVJoSpkh6CmY5a
xopO74X6AwzGT4SX3oLOIJQWsnlUXaCVOTLg+MvWvGIwpg==
-----END CERTIFICATE-----

View File

@ -0,0 +1,27 @@
-----BEGIN CERTIFICATE REQUEST-----
MIIEnjCCAoYCAQAwWTELMAkGA1UEBhMCQVUxEzARBgNVBAgMClNvbWUtU3RhdGUx
ITAfBgNVBAoMGEludGVybmV0IFdpZGdpdHMgUHR5IEx0ZDESMBAGA1UEAwwJbG9j
YWxob3N0MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAt2Z0LkXhPpMu
9lkDUxRgQXEqCU0StVFxRrjVq5vvr4R21wSwyZHcDGRA1t9YjyQdlGW1kRoy1PzQ
sCSi2EGFn08keUXK43kkHmSnF/3DtEb+3T2sUYkkKyb+PKEFM5nXkVgiYZoypSCl
DV7k9ofQUypnSZcxThsyx1sBHBNsfHLqkfVH8wpHMkmWvKRxEcI/3w6odh4S0QUq
x2T7VI8fFv0Ek7gi4qAA8o3aNt5mmw21HcfZidI8sEicpGBlTVxmE1H/tNbxVreT
dr88qC7mqyGsPRckmOrVp1XwpjhbHBvjSEpw/JvrFjrNoUIIm0p7PRyoGHKAewbo
S9LYn5SRKd2d42wkOpCjTkNGrsvwvJFf+RaK/D7at5CbCRYjjFf9GXPeDLxYkp3L
AbCAygQ6kZXAy6U/H7atuXw7OQMfBAstS/pIzjvUlECZTc6zfgCV+Nvgwyin9PVI
O2JP1rX+b9C1gGa2ax0EgI2BH3F+nZ/CDFLtO9wC6cvcLgskZw9SR92aUlUboIqi
zWrmihFPLDZel9bTxtLs3ifsYOY4nJeJFTE+TtkWDioikVHm6dyhnhXX4tehpjLO
jdqkkxqFZf+vDlw+vOraEsiQVbSdk+27UFUChziCIUfzD4SaBaDFr9aDcdOc/Cvf
KkHOu03x90HgtSFphfqIBlOQMFpFeA8CAwEAAaAAMA0GCSqGSIb3DQEBCwUAA4IC
AQA+npIeXIl1kjpssuar8eXmZP4JnH5HDgne8UL9LjcgBdtenuF31ShiHMzvW6CQ
bCYXcSJ27fypXBdKSn8orOf0anqVCB0NsGCrgm0zi1Bp0uGxUy7dwD24faKKgGoj
0dznJ+J83CrbMefmUjGyAbRhHCejfGIXJlcCIorP3XESmaLQtSxpJyjp28rz5MMs
ba5hgmfIDIqLAlChqmsA75pMaycA91lHbIRQiuJmfAmLOEWa7o39fkwu0MXCl/po
j3yWveuXX0TXX9Lqr4HF8ewoDZ2kvtbY4zR+BBNE4ao61bUgjjcAMtvGfA1yGhMI
PWpvL4hqged7JldWymlSzkIsd+xkZfAmuS/N3krSNMWRKfbzIQM74e3wz4gDCFmp
dS5lBTW1jfqRiyj7Mfl+o6cd0n4Dx8jasOe95v6RXejlQaFx8ZU/jtR1gkPWkUXk
ujVGla1DndEY2TgV7BietuS+GzniTEjbatfk5oUDnQ6vw1w8lHt2XNqg492VV3pC
1Sd+WwlPv4gvgR5tSnh9+gUVQpqcJeyaUd8NTB5V8zEUYDKIxWY//ALlFFtbYnny
WelmqlGw7MOjkXxRiwXdKm04nD1o754ynR8MuxZ9AXGyHPiYjfbzLDYBY/vvZeze
RV3ncjnLpmFDZWBceTT6BJbgHOqPQlNfqa45aJ+lAphKSA==
-----END CERTIFICATE REQUEST-----

View File

@ -0,0 +1,51 @@
-----BEGIN RSA PRIVATE KEY-----
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
-----END RSA PRIVATE KEY-----

1127
tests/syslog.test.js Normal file

File diff suppressed because it is too large Load Diff