From 7c643b65f3613e30a14e8e9decc92fddb8bfd654 Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Fri, 01 Jul 2011 17:42:56 -0400
Subject: [PATCH] Documentation. Include LICENSE and NOTICE files in both builds.
---
src/com/gitblit/GitBlitServer.java | 124 ++++-------------------------------------
1 files changed, 13 insertions(+), 111 deletions(-)
diff --git a/src/com/gitblit/GitBlitServer.java b/src/com/gitblit/GitBlitServer.java
index 2495aee..02cc54a 100644
--- a/src/com/gitblit/GitBlitServer.java
+++ b/src/com/gitblit/GitBlitServer.java
@@ -30,17 +30,7 @@
import java.util.ArrayList;
import java.util.List;
-import org.apache.log4j.ConsoleAppender;
-import org.apache.log4j.PatternLayout;
-import org.apache.wicket.protocol.http.ContextParamWebApplicationFactory;
-import org.apache.wicket.protocol.http.WicketFilter;
-import org.eclipse.jetty.http.security.Constraint;
-import org.eclipse.jetty.security.ConstraintMapping;
-import org.eclipse.jetty.security.ConstraintSecurityHandler;
-import org.eclipse.jetty.security.LoginService;
-import org.eclipse.jetty.security.authentication.BasicAuthenticator;
import org.eclipse.jetty.server.Connector;
-import org.eclipse.jetty.server.Handler;
import org.eclipse.jetty.server.Server;
import org.eclipse.jetty.server.bio.SocketConnector;
import org.eclipse.jetty.server.nio.SelectChannelConnector;
@@ -48,9 +38,6 @@
import org.eclipse.jetty.server.ssl.SslConnector;
import org.eclipse.jetty.server.ssl.SslSelectChannelConnector;
import org.eclipse.jetty.server.ssl.SslSocketConnector;
-import org.eclipse.jetty.servlet.FilterHolder;
-import org.eclipse.jetty.servlet.FilterMapping;
-import org.eclipse.jetty.servlet.ServletHolder;
import org.eclipse.jetty.util.thread.QueuedThreadPool;
import org.eclipse.jetty.webapp.WebAppContext;
import org.slf4j.Logger;
@@ -61,7 +48,6 @@
import com.beust.jcommander.ParameterException;
import com.beust.jcommander.Parameters;
import com.gitblit.utils.StringUtils;
-import com.gitblit.wicket.GitBlitWebApp;
public class GitBlitServer {
@@ -125,27 +111,7 @@
* Start Server.
*/
private static void start(Params params) {
- FileSettings settings = params.FILESETTINGS;
- String pattern = settings.getString(Keys.server.log4jPattern,
- "%-5p %d{MM-dd HH:mm:ss.SSS} %-20.20c{1} %m%n");
-
- // allow os override of logging pattern
- String os = System.getProperty("os.name").toLowerCase();
- if (os.indexOf("windows") > -1) {
- String winPattern = settings.getString(Keys.server.log4jPattern_windows, pattern);
- if (!StringUtils.isEmpty(winPattern)) {
- pattern = winPattern;
- }
- } else if (os.indexOf("linux") > -1) {
- String linuxPattern = settings.getString(Keys.server.log4jPattern_linux, pattern);
- if (!StringUtils.isEmpty(linuxPattern)) {
- pattern = linuxPattern;
- }
- }
-
- PatternLayout layout = new PatternLayout(pattern);
- org.apache.log4j.Logger rootLogger = org.apache.log4j.Logger.getRootLogger();
- rootLogger.addAppender(new ConsoleAppender(layout));
+ FileSettings settings = Params.FILESETTINGS;
logger = LoggerFactory.getLogger(GitBlitServer.class);
logger.info(Constants.BORDER);
@@ -228,83 +194,19 @@
sessionManager.setSecureCookies(params.port <= 0 && params.securePort > 0);
rootContext.getSessionHandler().setSessionManager(sessionManager);
- // Wicket Filter
- String wicketPathSpec = "/*";
- FilterHolder wicketFilter = new FilterHolder(WicketFilter.class);
- wicketFilter.setInitParameter(ContextParamWebApplicationFactory.APP_CLASS_PARAM,
- GitBlitWebApp.class.getName());
- wicketFilter.setInitParameter(WicketFilter.FILTER_MAPPING_PARAM, wicketPathSpec);
- wicketFilter.setInitParameter(WicketFilter.IGNORE_PATHS_PARAM, "git/");
- rootContext.addFilter(wicketFilter, wicketPathSpec, FilterMapping.DEFAULT);
-
- // Zip Servlet
- rootContext.addServlet(DownloadZipServlet.class, Constants.ZIP_SERVLET_PATH + "*");
-
- // Syndication Servlet
- rootContext.addServlet(SyndicationServlet.class, Constants.SYNDICATION_SERVLET_PATH + "*");
-
- // Git Servlet
- ServletHolder gitServlet = null;
- String gitServletPathSpec = Constants.GIT_SERVLET_PATH + "*";
- if (settings.getBoolean(Keys.git.enableGitServlet, true)) {
- gitServlet = rootContext.addServlet(GitBlitServlet.class, gitServletPathSpec);
- gitServlet.setInitParameter("base-path", params.repositoriesFolder);
- gitServlet.setInitParameter("export-all",
- settings.getBoolean(Keys.git.exportAll, true) ? "1" : "0");
+ // Ensure there is a defined User Service
+ String realmUsers = params.userService;
+ if (StringUtils.isEmpty(realmUsers)) {
+ logger.error(MessageFormat.format("PLEASE SPECIFY {0}!!", Keys.realm.userService));
+ return;
}
- // Login Service
- LoginService loginService = null;
- String realmUsers = params.realmFile;
- if (!StringUtils.isEmpty(realmUsers)) {
- File realmFile = new File(realmUsers);
- if (realmFile.exists()) {
- logger.info("Setting up login service from " + realmUsers);
- JettyLoginService jettyLoginService = new JettyLoginService(realmFile);
- GitBlit.self().setLoginService(jettyLoginService);
- loginService = jettyLoginService;
- }
- }
-
- // Determine what handler to use
- Handler handler;
- if (gitServlet != null) {
- if (loginService != null) {
- // Authenticate Clone/Push
- logger.info("Setting up authenticated git servlet clone/push access");
-
- Constraint constraint = new Constraint();
- constraint.setAuthenticate(true);
- constraint.setRoles(new String[] { "*" });
-
- ConstraintMapping mapping = new ConstraintMapping();
- mapping.setPathSpec(gitServletPathSpec);
- mapping.setConstraint(constraint);
-
- ConstraintSecurityHandler security = new ConstraintSecurityHandler();
- security.addConstraintMapping(mapping);
- security.setAuthenticator(new BasicAuthenticator());
- security.setLoginService(loginService);
- security.setStrict(false);
-
- security.setHandler(rootContext);
-
- handler = security;
- } else {
- // Anonymous Pull/Push
- logger.info("Setting up anonymous git servlet pull/push access");
- handler = rootContext;
- }
- } else {
- logger.info("Git servlet clone/push disabled");
- handler = rootContext;
- }
-
- logger.info("Git repositories folder "
- + new File(params.repositoriesFolder).getAbsolutePath());
+ // Override settings
+ settings.overrideSetting(Keys.realm.userService, params.userService);
+ settings.overrideSetting(Keys.git.repositoriesFolder, params.repositoriesFolder);
// Set the server's contexts
- server.setHandler(handler);
+ server.setHandler(rootContext);
// Setup the GitBlit context
GitBlit gitblit = GitBlit.self();
@@ -440,7 +342,7 @@
@Parameter(names = { "--stop" }, description = "Stop Server")
public Boolean stop = false;
- @Parameter(names = { "--tempFolder" }, description = "Server temp folder")
+ @Parameter(names = { "--tempFolder" }, description = "Folder for server to extract built-in webapp")
public String temp = FILESETTINGS.getString(Keys.server.tempFolder, "temp");
/*
@@ -453,8 +355,8 @@
/*
* Authentication Parameters
*/
- @Parameter(names = { "--realmFile" }, description = "Users Realm Hash File")
- public String realmFile = FILESETTINGS.getString(Keys.realm.realmFile, "users.properties");
+ @Parameter(names = { "--userService" }, description = "Authentication and Authorization Service (filename or fully qualified classname)")
+ public String userService = FILESETTINGS.getString(Keys.realm.userService, "users.properties");
/*
* JETTY Parameters
--
Gitblit v1.9.1