From 7dc890057cc7f02df8f27ab988aa7055cbb3af65 Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Tue, 08 Jan 2013 15:19:28 -0500
Subject: [PATCH] Wrap pushlog update code with an exception handler, just-in-case
---
src/com/gitblit/wicket/pages/BasePage.java | 14 +++++++++++---
1 files changed, 11 insertions(+), 3 deletions(-)
diff --git a/src/com/gitblit/wicket/pages/BasePage.java b/src/com/gitblit/wicket/pages/BasePage.java
index 5721adf..9f98135 100644
--- a/src/com/gitblit/wicket/pages/BasePage.java
+++ b/src/com/gitblit/wicket/pages/BasePage.java
@@ -98,6 +98,10 @@
return GitBlitWebSession.get().getLocale().getLanguage();
}
+ protected String getCountryCode() {
+ return GitBlitWebSession.get().getLocale().getCountry().toLowerCase();
+ }
+
protected TimeUtils getTimeUtils() {
if (timeUtils == null) {
ResourceBundle bundle;
@@ -130,14 +134,18 @@
}
private void login() {
+ GitBlitWebSession session = GitBlitWebSession.get();
+ if (session.isLoggedIn() && !session.isSessionInvalidated()) {
+ // already have a session
+ return;
+ }
+
// try to authenticate by servlet request
HttpServletRequest httpRequest = ((WebRequest) getRequestCycle().getRequest()).getHttpServletRequest();
UserModel user = GitBlit.self().authenticate(httpRequest);
// Login the user
if (user != null) {
- // Set the user into the session
- GitBlitWebSession session = GitBlitWebSession.get();
// issue 62: fix session fixation vulnerability
session.replaceSession();
session.setUser(user);
@@ -425,7 +433,7 @@
GitBlitWebSession session = GitBlitWebSession.get();
if (session.isLoggedIn()) {
UserModel user = session.getUser();
- boolean editCredentials = GitBlit.self().supportsCredentialChanges();
+ boolean editCredentials = GitBlit.self().supportsCredentialChanges(user);
boolean standardLogin = session.authenticationType.isStandard();
// username, logout, and change password
--
Gitblit v1.9.1