Merge topic 'web-session-regression'
* changes:
Patch guice servlet extension to fix cookies bug
WebSession: Prevent NPE in GitSmartHttpTools.isGitClient()
WebSessionCache: Make response parameter optional
diff --git a/gerrit-httpd/src/main/java/com/google/gerrit/httpd/CacheBasedWebSession.java b/gerrit-httpd/src/main/java/com/google/gerrit/httpd/CacheBasedWebSession.java
index b472bbd..d315fa3 100644
--- a/gerrit-httpd/src/main/java/com/google/gerrit/httpd/CacheBasedWebSession.java
+++ b/gerrit-httpd/src/main/java/com/google/gerrit/httpd/CacheBasedWebSession.java
@@ -68,7 +68,8 @@
this.anonymousProvider = anonymousProvider;
this.identified = identified;
- if (!GitSmartHttpTools.isGitClient(request)) {
+ if (request.getRequestURI() == null
+ || !GitSmartHttpTools.isGitClient(request)) {
String cookie = readCookie();
if (cookie != null) {
key = new Key(cookie);
@@ -184,6 +185,10 @@
}
private void saveCookie() {
+ if (response == null) {
+ return;
+ }
+
final String token;
final int ageSeconds;
diff --git a/gerrit-httpd/src/main/java/com/google/gerrit/httpd/H2CacheBasedWebSession.java b/gerrit-httpd/src/main/java/com/google/gerrit/httpd/H2CacheBasedWebSession.java
index 3dfb9fb..4b68f02 100644
--- a/gerrit-httpd/src/main/java/com/google/gerrit/httpd/H2CacheBasedWebSession.java
+++ b/gerrit-httpd/src/main/java/com/google/gerrit/httpd/H2CacheBasedWebSession.java
@@ -17,6 +17,7 @@
import static java.util.concurrent.TimeUnit.MINUTES;
import com.google.common.cache.Cache;
+import com.google.gerrit.common.Nullable;
import com.google.gerrit.extensions.registration.DynamicItem;
import com.google.gerrit.httpd.WebSessionManager.Val;
import com.google.gerrit.server.AnonymousUser;
@@ -56,7 +57,7 @@
@Inject
H2CacheBasedWebSession(
HttpServletRequest request,
- HttpServletResponse response,
+ @Nullable HttpServletResponse response,
WebSessionManagerFactory managerFactory,
@Named(WebSessionManager.CACHE_NAME) Cache<String, Val> cache,
AuthConfig authConfig,
diff --git a/lib/guice/BUCK b/lib/guice/BUCK
index 946bf9d..162ad07 100644
--- a/lib/guice/BUCK
+++ b/lib/guice/BUCK
@@ -1,6 +1,7 @@
include_defs('//lib/maven.defs')
VERSION = '4.0-beta'
+COOKIE_PATCH = '4.0-beta-98-g8d88344'
EXCLUDE = [
'META-INF/DEPENDENCIES',
'META-INF/LICENSE',
@@ -41,8 +42,9 @@
maven_jar(
name = 'guice-servlet',
- id = 'com.google.inject.extensions:guice-servlet:' + VERSION,
- sha1 = '46b44984f254c0bf92d0c972fad1a70292ada28e',
+ id = 'com.google.inject.extensions:guice-servlet:' + COOKIE_PATCH,
+ repository = GERRIT,
+ sha1 = 'fa17d57a083fe9fc86b93f2dc37069573a2e65cd',
license = 'Apache2.0',
deps = [':guice'],
exclude = EXCLUDE,