diff --git a/src/apps.js b/src/apps.js index 4d88a7741..d5ca05b91 100644 --- a/src/apps.js +++ b/src/apps.js @@ -48,7 +48,7 @@ var addons = require('./addons.js'), async = require('async'), backups = require('./backups.js'), BackupsError = require('./backups.js').BackupsError, - certificateManager = require('./certificatemanager.js'), + certificates = require('./certificates.js'), config = require('./config.js'), constants = require('./constants.js'), DatabaseError = require('./databaseerror.js'), @@ -340,7 +340,7 @@ function install(appId, appStoreId, manifest, location, portBindings, accessRest } } - error = certificateManager.validateCertificate(cert, key, config.appFqdn(location)); + error = certificates.validateCertificate(cert, key, config.appFqdn(location)); if (error) return callback(new AppsError(AppsError.BAD_CERTIFICATE, error.message)); debug('Will install app with id : ' + appId); @@ -381,7 +381,7 @@ function configure(appId, location, portBindings, accessRestriction, oauthProxy, error = validateAccessRestriction(accessRestriction); if (error) return callback(new AppsError(AppsError.BAD_FIELD, error.message)); - error = certificateManager.validateCertificate(cert, key, config.appFqdn(location)); + error = certificates.validateCertificate(cert, key, config.appFqdn(location)); if (error) return callback(new AppsError(AppsError.BAD_CERTIFICATE, error.message)); appdb.get(appId, function (error, app) { diff --git a/src/certificatemanager.js b/src/certificates.js similarity index 97% rename from src/certificatemanager.js rename to src/certificates.js index 40960a295..b01cd7d4b 100644 --- a/src/certificatemanager.js +++ b/src/certificates.js @@ -5,7 +5,7 @@ var acme = require('./cert/acme.js'), assert = require('assert'), config = require('./config.js'), - debug = require('debug')('src/certificatemanager'), + debug = require('debug')('src/certificates'), paths = require('./paths.js'), safe = require('safetydance'), sysinfo = require('./sysinfo.js'), diff --git a/src/cron.js b/src/cron.js index 92d757999..5c44a3f1a 100644 --- a/src/cron.js +++ b/src/cron.js @@ -7,7 +7,7 @@ exports = module.exports = { var apps = require('./apps.js'), assert = require('assert'), - certificateManager = require('./certificatemanager.js'), + certificates = require('./certificates.js'), cloudron = require('./cloudron.js'), config = require('./config.js'), CronJob = require('cron').CronJob, @@ -112,7 +112,7 @@ function recreateJobs(unusedTimeZone, callback) { if (gCertificateRenewJob) gCertificateRenewJob.stop(); gCertificateRenewJob = new CronJob({ cronTime: '00 00 */12 * * *', // every 12 hours - onTick: certificateManager.autoRenew, + onTick: certificates.autoRenew, start: true, timeZone: allSettings[settings.TIME_ZONE_KEY] }); diff --git a/src/server.js b/src/server.js index 44f166f69..8d378ba5c 100644 --- a/src/server.js +++ b/src/server.js @@ -10,7 +10,7 @@ exports = module.exports = { var assert = require('assert'), async = require('async'), auth = require('./auth.js'), - certificateManager = require('./certificatemanager.js'), + certificates = require('./certificates.js'), cloudron = require('./cloudron.js'), cron = require('./cron.js'), config = require('./config.js'), @@ -235,7 +235,7 @@ function start(callback) { async.series([ auth.initialize, database.initialize, - certificateManager.initialize, + certificates.initialize, cloudron.initialize, // keep this here because it reads activation state that others depend on taskmanager.initialize, mailer.initialize, @@ -256,7 +256,7 @@ function stop(callback) { taskmanager.uninitialize, cron.uninitialize, mailer.uninitialize, - certificateManager.initialize, + certificates.initialize, database.uninitialize, gHttpServer.close.bind(gHttpServer), gInternalHttpServer.close.bind(gInternalHttpServer) diff --git a/src/settings.js b/src/settings.js index b6bfabbe7..c00534d2e 100644 --- a/src/settings.js +++ b/src/settings.js @@ -43,7 +43,7 @@ exports = module.exports = { }; var assert = require('assert'), - certificateManager = require('./certificatemanager.js'), + certificates = require('./certificates.js'), config = require('./config.js'), constants = require('./constants.js'), CronJob = require('cron').CronJob, @@ -327,7 +327,7 @@ function setCertificate(cert, key, callback) { assert.strictEqual(typeof key, 'string'); assert.strictEqual(typeof callback, 'function'); - var error = certificateManager.validateCertificate(cert, key, '*.' + config.fqdn()); + var error = certificates.validateCertificate(cert, key, '*.' + config.fqdn()); if (error) return callback(new SettingsError(SettingsError.INVALID_CERT, error.message)); // backup the cert @@ -356,7 +356,7 @@ function setAdminCertificate(cert, key, callback) { var certFilePath = path.join(paths.APP_CERTS_DIR, vhost + '.cert'); var keyFilePath = path.join(paths.APP_CERTS_DIR, vhost + '.key'); - var error = certificateManager.validateCertificate(cert, key, vhost); + var error = certificates.validateCertificate(cert, key, vhost); if (error) return callback(new SettingsError(SettingsError.INVALID_CERT, error.message)); // backup the cert diff --git a/src/test/certificatemanager-test.js b/src/test/certificates-test.js similarity index 75% rename from src/test/certificatemanager-test.js rename to src/test/certificates-test.js index 174d9699e..8d2af5f7c 100644 --- a/src/test/certificatemanager-test.js +++ b/src/test/certificates-test.js @@ -6,10 +6,10 @@ 'use strict'; -var certificateManager = require('../certificatemanager.js'), +var certificates = require('../certificates.js'), expect = require('expect.js'); -describe('CertificateManager', function () { +describe('Certificates', function () { describe('validateCertificate', function () { /* Generate these with: @@ -31,60 +31,60 @@ describe('CertificateManager', function () { var validKey2 = '-----BEGIN RSA PRIVATE KEY-----\nMIIBOQIBAAJBAMO1Flv1aEHj79pfdpd13J7WXssNZwYh8ZNWsWcAumrjltv83wP/\n04O37+Kuaip1dZ/+9SIjAIXnhXKX6IGOa08CAwEAAQJAUPD3Y2cXDJFaJQXwhWnw\nqhzdLbvITUgCor5rNr+dWhE2MopGPpRHiabA1PeWEPx8CfblyTZGd8KUR/2W1c0r\naQIhAP4ZxB3+uhuzzMfyRrn/khr12pFn/FCIDbwnDbyUxLrTAiEAxSuVOFs+Mupt\nYCz/pPrDCx3eid0wyXRObbkLHOxJiBUCIBTp5fxaBNNW3xnt1OhmIo5Zgd3J4zh1\nmjvMMxM8Y1zFAiAxOP0qsZSoj1+41+MGY9fXaaCJ2F96m3+M4tpEYTTGNQIgdESZ\nz+hzHBeYVbWJpIR8uaNkx7wveUF90FpipXyeTsA=\n-----END RSA PRIVATE KEY-----'; it('allows both null', function () { - expect(certificateManager.validateCertificate(null, null, 'foobar.com')).to.be(null); + expect(certificates.validateCertificate(null, null, 'foobar.com')).to.be(null); }); it('does not allow only cert', function () { - expect(certificateManager.validateCertificate('cert', null, 'foobar.com')).to.be.an(Error); + expect(certificates.validateCertificate('cert', null, 'foobar.com')).to.be.an(Error); }); it('does not allow only key', function () { - expect(certificateManager.validateCertificate(null, 'key', 'foobar.com')).to.be.an(Error); + expect(certificates.validateCertificate(null, 'key', 'foobar.com')).to.be.an(Error); }); it('does not allow empty string for cert', function () { - expect(certificateManager.validateCertificate('', 'key', 'foobar.com')).to.be.an(Error); + expect(certificates.validateCertificate('', 'key', 'foobar.com')).to.be.an(Error); }); it('does not allow empty string for key', function () { - expect(certificateManager.validateCertificate('cert', '', 'foobar.com')).to.be.an(Error); + expect(certificates.validateCertificate('cert', '', 'foobar.com')).to.be.an(Error); }); it('does not allow invalid cert', function () { - expect(certificateManager.validateCertificate('someinvalidcert', validKey0, 'foobar.com')).to.be.an(Error); + expect(certificates.validateCertificate('someinvalidcert', validKey0, 'foobar.com')).to.be.an(Error); }); it('does not allow invalid key', function () { - expect(certificateManager.validateCertificate(validCert0, 'invalidkey', 'foobar.com')).to.be.an(Error); + expect(certificates.validateCertificate(validCert0, 'invalidkey', 'foobar.com')).to.be.an(Error); }); it('does not allow cert without matching domain', function () { - expect(certificateManager.validateCertificate(validCert0, validKey0, 'cloudron.io')).to.be.an(Error); + expect(certificates.validateCertificate(validCert0, validKey0, 'cloudron.io')).to.be.an(Error); }); it('allows valid cert with matching domain', function () { - expect(certificateManager.validateCertificate(validCert0, validKey0, 'foobar.com')).to.be(null); + expect(certificates.validateCertificate(validCert0, validKey0, 'foobar.com')).to.be(null); }); it('allows valid cert with matching domain (wildcard)', function () { - expect(certificateManager.validateCertificate(validCert1, validKey1, 'abc.foobar.com')).to.be(null); + expect(certificates.validateCertificate(validCert1, validKey1, 'abc.foobar.com')).to.be(null); }); it('does now allow cert without matching domain (wildcard)', function () { - expect(certificateManager.validateCertificate(validCert1, validKey1, 'foobar.com')).to.be.an(Error); - expect(certificateManager.validateCertificate(validCert1, validKey1, 'bar.abc.foobar.com')).to.be.an(Error); + expect(certificates.validateCertificate(validCert1, validKey1, 'foobar.com')).to.be.an(Error); + expect(certificates.validateCertificate(validCert1, validKey1, 'bar.abc.foobar.com')).to.be.an(Error); }); it('allows valid cert with matching domain (subdomain)', function () { - expect(certificateManager.validateCertificate(validCert2, validKey2, 'baz.foobar.com')).to.be(null); + expect(certificates.validateCertificate(validCert2, validKey2, 'baz.foobar.com')).to.be(null); }); it('does not allow cert without matching domain (subdomain)', function () { - expect(certificateManager.validateCertificate(validCert0, validKey0, 'baz.foobar.com')).to.be.an(Error); + expect(certificates.validateCertificate(validCert0, validKey0, 'baz.foobar.com')).to.be.an(Error); }); it('does not allow invalid cert/key tuple', function () { - expect(certificateManager.validateCertificate(validCert0, validKey1, 'foobar.com')).to.be.an(Error); + expect(certificates.validateCertificate(validCert0, validKey1, 'foobar.com')).to.be.an(Error); }); }); });