From e9de3f7fd55dd4d4535cd7b2fc2bee8094152e39 Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Sat, 17 Mar 2012 12:09:01 -0400
Subject: [PATCH] Implemented RPC administration of indexed branches
---
src/com/gitblit/wicket/pages/RootPage.java | 27 ++++++++++++++++++++-------
1 files changed, 20 insertions(+), 7 deletions(-)
diff --git a/src/com/gitblit/wicket/pages/RootPage.java b/src/com/gitblit/wicket/pages/RootPage.java
index 686fc72..d81fae1 100644
--- a/src/com/gitblit/wicket/pages/RootPage.java
+++ b/src/com/gitblit/wicket/pages/RootPage.java
@@ -101,6 +101,9 @@
pages.add(new PageRegistration("gb.repositories", RepositoriesPage.class,
getRootPageParameters()));
pages.add(new PageRegistration("gb.activity", ActivityPage.class, getRootPageParameters()));
+ if (GitBlit.getBoolean(Keys.lucene.enable, false)) {
+ pages.add(new PageRegistration("gb.search", LucenePage.class));
+ }
if (showAdmin) {
pages.add(new PageRegistration("gb.users", UsersPage.class));
}
@@ -171,12 +174,19 @@
private PageParameters getRootPageParameters() {
if (reusePageParameters()) {
- PageParameters params = getPageParameters();
- if (params != null) {
+ PageParameters pp = getPageParameters();
+ if (pp != null) {
+ PageParameters params = new PageParameters(pp);
// remove named repository parameter
params.remove("r");
- }
- return params;
+
+ // remove days back parameter if it is the default value
+ if (params.containsKey("db")
+ && params.getInt("db") == GitBlit.getInteger(Keys.web.activityDuration, 14)) {
+ params.remove("db");
+ }
+ return params;
+ }
}
return null;
}
@@ -188,7 +198,10 @@
private void loginUser(UserModel user) {
if (user != null) {
// Set the user into the session
- GitBlitWebSession.get().setUser(user);
+ GitBlitWebSession session = GitBlitWebSession.get();
+ // issue 62: fix session fixation vulnerability
+ session.replaceSession();
+ session.setUser(user);
// Set Cookie
if (GitBlit.getBoolean(Keys.web.allowCookieAuthentication, false)) {
@@ -262,7 +275,7 @@
if (addedExpression) {
filters.add(new DropDownMenuItem());
}
- }
+ }
return new ArrayList<DropDownMenuItem>(filters);
}
@@ -362,7 +375,7 @@
if (!hasParameter) {
models.addAll(availableModels);
}
-
+
// time-filter the list
if (daysBack > 0) {
Calendar cal = Calendar.getInstance();
--
Gitblit v1.9.1