Commit 21dd4de5 authored by Leo Iannacone's avatar Leo Iannacone

Merge remote-tracking branch 'github/master' into portable

parents 975d5cc4 a9c973b9
...@@ -34,24 +34,44 @@ if ('development' == env) { ...@@ -34,24 +34,44 @@ if ('development' == env) {
app.set('views', __dirname + '/views'); app.set('views', __dirname + '/views');
app.set('view engine', 'ejs'); app.set('view engine', 'ejs');
// Routes // index page
app.get('/', routes.index); app.get('/', routes.index);
// distibution page // distibution page
app.get(config.routes.distribution, routes.distribution); app.get(config.routes.distribution, routes.distribution);
// parefernces page // parefernces page
if (config.routes.preferences) if (config.routes.preferences)
app.get(config.routes.preferences, routes.preferences); app.get(config.routes.preferences, routes.preferences);
// commands page // commands page
if (config.routes.commands) if (config.routes.commands)
app.get(config.routes.commands, routes.commands); app.get(config.routes.commands, routes.commands);
// debomatic static page // debomatic static page
app.use(config.routes.debomatic, serve_static(config.debomatic.path)); if (config.routes.debomatic) {
app.use(config.routes.debomatic, serve_index(config.debomatic.path, { app.all(config.routes.debomatic + '*', function (req, res, next) {
filter: function (filename) { // send 403 status when users want to browse the chroots:
// do not show these files and directories // - unstable/unstable
return ['dev', 'sys'].indexOf(filename) < 0; // - unstable/build/*
} // this prevents system crashes
})); var base = config.routes.debomatic;
base += base[base.length - 1] != '/' ? '/' : ''; // append /
var match = req.url.replace(base, '').split('/');
if (match[match.length - 1] === '') match.pop();
if (match.length >= 2 && (
(match[0] == match[1]) || /* case unstable/unstable */
(match[1] == 'build' && match.length > 2) /* case unstable/build/* */
)) {
res.status(403).send('<h1>403 Forbidden</h1>');
} else
next(); // call next() here to move on to next middleware/router
});
app.use(config.routes.debomatic, serve_static(config.debomatic.path));
app.use(config.routes.debomatic, serve_index(config.debomatic.path));
}
// serve stylesheet-javascript // serve stylesheet-javascript
app.use(serve_static(__dirname + '/public')); app.use(serve_static(__dirname + '/public'));
......
...@@ -30,12 +30,13 @@ ...@@ -30,12 +30,13 @@
<p>For build account requests please mail <span subject="Build account request for <%= web.debomatic.dput.host %>" address="<%= web.debomatic.admin.email %>" class="email"></span>.</p> <p>For build account requests please mail <span subject="Build account request for <%= web.debomatic.dput.host %>" address="<%= web.debomatic.admin.email %>" class="email"></span>.</p>
</div> </div>
</div> </div>
<% if (web.paths.debomatic) { %>
<section> <section>
<p class="alert alert-warning"><strong>Remember:</strong> if you do not find here what you are <p class="alert alert-warning"><strong>Remember:</strong> if you do not find here what you are
looking for, you are always able to browse debomatic static directory looking for, you are always able to browse debomatic static directory
in <a class="alert-link" href="<%= web.paths.debomatic %>">this page</a>.</p> in <a class="alert-link" href="<%= web.paths.debomatic %>">this page</a>.</p>
</section> </section>
<% } %>
</article> </article>
<article id="configuration" > <article id="configuration" >
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment