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'));
......
...@@ -11,11 +11,11 @@ ...@@ -11,11 +11,11 @@
<section> <section>
<p>Welcome to debomatic web interface. Here you can monitor debomatic service, <p>Welcome to debomatic web interface. Here you can monitor debomatic service,
browse the packages already built and real-time check the building process of a new incoming browse the packages already built and real-time check the building process of a new incoming
package. package.
<p>Most of these actions can be taken in <p>Most of these actions can be taken in
<a href="<%= web.paths.distribution %>">distribution</a> page. </p> <a href="<%= web.paths.distribution %>">distribution</a> page. </p>
<p>If you want a bit customization <p>If you want a bit customization
check the <a href="<%= web.paths.preferences %>">preferences</a> page out.</p> check the <a href="<%= web.paths.preferences %>">preferences</a> page out.</p>
</section> </section>
...@@ -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" >
...@@ -94,15 +95,15 @@ scp_compress = 1 ...@@ -94,15 +95,15 @@ scp_compress = 1
<header><h3>About debomatic</h3></header> <header><h3>About debomatic</h3></header>
<section> <section>
<p><strong>Deb-o-Matic</strong> is an easy to use utility to build Debian source packages, meant <p><strong>Deb-o-Matic</strong> is an easy to use utility to build Debian source packages, meant
to help developers to automate building of their packages with limited user interaction to help developers to automate building of their packages with limited user interaction
and a simple startup configuration.</p> and a simple startup configuration.</p>
<p>It provides some useful features such as automatic chroot update, rebuilds of <p>It provides some useful features such as automatic chroot update, rebuilds of
source packages, post-build checks, and much more.</p> source packages, post-build checks, and much more.</p>
<p>It is also extendable using modules that are loaded and executed <p>It is also extendable using modules that are loaded and executed
during the build phases.</p> during the build phases.</p>
<p><a class="btn btn-primary" href="http://launchpad.net/debomatic">Get more!</a></p> <p><a class="btn btn-primary" href="http://launchpad.net/debomatic">Get more!</a></p>
</section> </section>
</article> </article>
...@@ -112,7 +113,7 @@ scp_compress = 1 ...@@ -112,7 +113,7 @@ scp_compress = 1
<section> <section>
<p><strong>debomatic-webui</strong> is a web interface for Deb-o-Matic aims to give to users a simple <p><strong>debomatic-webui</strong> is a web interface for Deb-o-Matic aims to give to users a simple
way to browse logs and to know what's going on debomatic build service providing a real-time packages status.</p> way to browse logs and to know what's going on debomatic build service providing a real-time packages status.</p>
<p>This interface is built up on <a href="//nodejs.org">node</a> platform <p>This interface is built up on <a href="//nodejs.org">node</a> platform
and uses intensely <a href="//socket.io">socket.io</a> and <a href="//jquery.com/">jquery</a> technologies.</p> and uses intensely <a href="//socket.io">socket.io</a> and <a href="//jquery.com/">jquery</a> technologies.</p>
...@@ -125,4 +126,4 @@ scp_compress = 1 ...@@ -125,4 +126,4 @@ scp_compress = 1
</section> </section>
</article> </article>
<% include footer.ejs %> <% include footer.ejs %>
\ No newline at end of file
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