use tlsfs module to load certs

This commit is contained in:
Richard Remer 2015-09-29 12:46:20 -07:00
parent 71c1516d18
commit 257d4681db
2 changed files with 8 additions and 20 deletions

View File

@ -1,6 +1,6 @@
{
"name": "smtp2http",
"version": "1.1.0",
"version": "1.1.1",
"description": "SMTP to HTTP gateway",
"bin": {
"smtp2http": "./smtp2http.js"
@ -10,7 +10,9 @@
"squabble": "^1",
"request": "^2",
"mailparser": "^0.5",
"colors": "^1"
"colors": "^1",
"objektify": "^1",
"tlsfs": "git+https://e549446c3065af492571a7566890c26144efcab3:x-oauth-basic@github.com/Zingle/tlsfs.git#master"
},
"repository": {
"type": "git",

View File

@ -2,7 +2,8 @@
var squabble = require("squabble").createParser(),
smtp = require("smtp-protocol"),
http = require("request"),
readFile = require("fs").readFileSync,
tlsfs = require("tlsfs"),
copy = require("objektify").copy,
MailParser = require("mailparser").MailParser,
args, tlsTokens, serverOpts = {};
@ -36,23 +37,8 @@ if (args.named["--quiet"]) {
}
if (args.named["--tls"]) {
tlsTokens = args.named["--tls"].split(":");
switch (tlsTokens.length) {
case 1:
serverOpts.pfx = readFile(tlsTokens.shift());
break;
case 2:
serverOpts.cert = readFile(tlsTokens.shift());
serverOpts.key = readFile(tlsTokens.shift());
break;
case 3:
serverOpts.cert = readFile(tlsTokens.shift());
serverOpts.key = readFile(tlsTokens.shift());
serverOpts.ca = readFile(tlsTokens.shift());
break;
default:
throw new Error("unrecognized --tls argument");
}
tlsPaths = args.named["--tls"].split(":");
copy(serverOpts, tlsfs.readCertsSync(tlsPaths));
}
// create and start SMTP server