lazy loading bugfix
This commit is contained in:
		
							parent
							
								
									8c4687bd23
								
							
						
					
					
						commit
						d5a7ab6049
					
				@ -56,21 +56,6 @@ module.exports.create = function (securePort, certsPath, vhostsdir) {
 | 
			
		||||
  var domainMergeMap  = {};
 | 
			
		||||
  var domainMerged    = [];
 | 
			
		||||
 | 
			
		||||
  function loadDummyCerts() {
 | 
			
		||||
    var certs = {
 | 
			
		||||
      key:          fs.readFileSync(path.join(certsPath, 'server', 'dummy-server.key.pem'))
 | 
			
		||||
    , cert:         fs.readFileSync(path.join(certsPath, 'server', 'dummy-server.crt.pem'))
 | 
			
		||||
    , ca:           fs.readdirSync(path.join(certsPath, 'ca')).filter(function (node) {
 | 
			
		||||
                      return /crt\.pem$/.test(node);
 | 
			
		||||
                    }).map(function (node) {
 | 
			
		||||
                      console.log('[Add CA]', node);
 | 
			
		||||
                      return fs.readFileSync(path.join(certsPath, 'ca', node));
 | 
			
		||||
                    })
 | 
			
		||||
    };
 | 
			
		||||
    return certs
 | 
			
		||||
  }
 | 
			
		||||
  dummyCerts = loadDummyCerts();
 | 
			
		||||
 | 
			
		||||
  function createSecureContext(certs) {
 | 
			
		||||
    // workaround for v0.12 / v1.2 backwards compat
 | 
			
		||||
    try {
 | 
			
		||||
@ -79,7 +64,14 @@ module.exports.create = function (securePort, certsPath, vhostsdir) {
 | 
			
		||||
      return require('crypto').createCredentials(certs).context;
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
  secureContexts.dummy = createSecureContext(dummyCerts);
 | 
			
		||||
 | 
			
		||||
  function getDummyAppContext(err, msg) {
 | 
			
		||||
    console.error(err);
 | 
			
		||||
    console.error(msg);
 | 
			
		||||
    return function (req, res) {
 | 
			
		||||
      res.end('{ "error": { "message": "' + msg + '" } }');
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  function getAppContext(domaininfo) {
 | 
			
		||||
    var localApp;
 | 
			
		||||
@ -123,10 +115,10 @@ module.exports.create = function (securePort, certsPath, vhostsdir) {
 | 
			
		||||
                      return fs.readFileSync(path.join(certsPath, 'ca', node));
 | 
			
		||||
                    })
 | 
			
		||||
    };
 | 
			
		||||
    secureContexts.dummy = crypto.createCredentials(certs).context;
 | 
			
		||||
    secureContexts.dummy = createSecureContext(dummyCerts);
 | 
			
		||||
    dummyCerts = certs;
 | 
			
		||||
    return certs
 | 
			
		||||
  }
 | 
			
		||||
  loadDummyCerts();
 | 
			
		||||
 | 
			
		||||
  function loadCerts(domainname) {
 | 
			
		||||
    // TODO make async
 | 
			
		||||
@ -230,6 +222,8 @@ module.exports.create = function (securePort, certsPath, vhostsdir) {
 | 
			
		||||
 | 
			
		||||
  function runServer() {
 | 
			
		||||
    //provide a SNICallback when you create the options for the https server
 | 
			
		||||
 | 
			
		||||
    loadDummyCerts();
 | 
			
		||||
    secureOpts = {
 | 
			
		||||
                    // fallback / default dummy certs
 | 
			
		||||
      key:          dummyCerts.key
 | 
			
		||||
@ -245,7 +239,7 @@ module.exports.create = function (securePort, certsPath, vhostsdir) {
 | 
			
		||||
        var secureContext = secureContexts[domainname]
 | 
			
		||||
          || loadCerts(domainname)
 | 
			
		||||
          || secureContexts.dummy
 | 
			
		||||
          //|| createSecureContext(dummyCerts)
 | 
			
		||||
          || createSecureContext(dummyCerts)
 | 
			
		||||
          //|| createSecureContext(loadDummyCerts())
 | 
			
		||||
          ;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										10
									
								
								package.json
									
									
									
									
									
								
							
							
						
						
									
										10
									
								
								package.json
									
									
									
									
									
								
							@ -38,16 +38,26 @@
 | 
			
		||||
  "homepage": "https://github.com/Daplie/walnut",
 | 
			
		||||
  "dependencies": {
 | 
			
		||||
    "bluebird": "^2.9.9",
 | 
			
		||||
    "body-parser": "^1.12.0",
 | 
			
		||||
    "check-ip-address": "^1.1.0",
 | 
			
		||||
    "cli": "^0.6.5",
 | 
			
		||||
    "compression": "^1.4.1",
 | 
			
		||||
    "connect": "^3.3.4",
 | 
			
		||||
    "connect-cors": "^0.5.6",
 | 
			
		||||
    "connect-query": "^0.2.0",
 | 
			
		||||
    "cookie-parser": "^1.3.4",
 | 
			
		||||
    "errorhandler": "^1.3.4",
 | 
			
		||||
    "escape-string-regexp": "^1.0.2",
 | 
			
		||||
    "express": "^4.11.2",
 | 
			
		||||
    "express-session": "^1.10.3",
 | 
			
		||||
    "foreachasync": "^5.0.5",
 | 
			
		||||
    "human-readable-ids": "^1.0.1",
 | 
			
		||||
    "nat-pmp": "0.0.3",
 | 
			
		||||
    "node-acme": "0.0.1",
 | 
			
		||||
    "request": "^2.53.0",
 | 
			
		||||
    "serve-static": "^1.9.1",
 | 
			
		||||
    "ssl-root-cas": "^1.1.7",
 | 
			
		||||
    "urlrouter": "^0.5.4",
 | 
			
		||||
    "vhost": "^3.0.0",
 | 
			
		||||
    "xml2js": "^0.4.5"
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user