diff --git a/lib/BUCK b/lib/BUCK
index f194ac7..844e469 100644
--- a/lib/BUCK
+++ b/lib/BUCK
@@ -1,5 +1,5 @@
 include_defs('//lib/maven.defs')
-GERRITFORGE = 'http://gerritforge.com/snapshot'
+GITBLIT = 'https://gitblit.github.io/gitblit-maven'
 
 maven_jar(
   name = 'pf4j',
@@ -10,10 +10,10 @@
 
 maven_jar(
   name = 'gitblit-jar',
-  id = 'com.gitblit:gitblit:1.7.0-SNAPSHOT',
-  sha1 = '72bda6de3fa76bad61b52f17e8120120d9b5870d',
+  id = 'com.gitblit:gitblit:1.7.1',
+  sha1 = '9dafec39c3bd2ad61b5c346654eee0169b031b3f',
   license = 'Apache2.0',
-  repository = GERRITFORGE,
+  repository = GITBLIT,
 )
 
 maven_jar(
diff --git a/src/main/java/com/googlesource/gerrit/plugins/gitblit/GitBlitServletModule.java b/src/main/java/com/googlesource/gerrit/plugins/gitblit/GitBlitServletModule.java
index 11946bf..20dd78b 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/gitblit/GitBlitServletModule.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/gitblit/GitBlitServletModule.java
@@ -25,9 +25,11 @@
 import com.gitblit.guice.ITicketServiceProvider;
 import com.gitblit.guice.WorkQueueProvider;
 import com.gitblit.manager.FederationManager;
+import com.gitblit.manager.FilestoreManager;
 import com.gitblit.manager.GitblitManager;
 import com.gitblit.manager.IAuthenticationManager;
 import com.gitblit.manager.IFederationManager;
+import com.gitblit.manager.IFilestoreManager;
 import com.gitblit.manager.IGitblit;
 import com.gitblit.manager.INotificationManager;
 import com.gitblit.manager.IPluginManager;
@@ -91,6 +93,7 @@
     bind(IRepositoryManager.class).to(RepositoryManager.class);
     bind(IProjectManager.class).to(ProjectManager.class);
     bind(IFederationManager.class).to(FederationManager.class);
+    bind(IFilestoreManager.class).to(FilestoreManager.class);
 
     // the monolithic manager
     bind(IGitblit.class).to(GitblitManager.class);
diff --git a/src/main/java/com/googlesource/gerrit/plugins/gitblit/auth/GerritAuthFilter.java b/src/main/java/com/googlesource/gerrit/plugins/gitblit/auth/GerritAuthFilter.java
index ba34643..b898ba9 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/gitblit/auth/GerritAuthFilter.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/gitblit/auth/GerritAuthFilter.java
@@ -63,7 +63,7 @@
 
     user =
         gitBlit.authenticate(username,
-            (GerritToGitBlitUserService.SESSIONAUTH + token).toCharArray());
+            (GerritToGitBlitUserService.SESSIONAUTH + token).toCharArray(), null);
     if (user != null) {
       return user;
     }
diff --git a/src/main/java/com/googlesource/gerrit/plugins/gitblit/auth/GerritToGitBlitUserService.java b/src/main/java/com/googlesource/gerrit/plugins/gitblit/auth/GerritToGitBlitUserService.java
index 229416c..c76065e 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/gitblit/auth/GerritToGitBlitUserService.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/gitblit/auth/GerritToGitBlitUserService.java
@@ -67,7 +67,7 @@
   }
 
   @Override
-  public UserModel authenticate(String username, char[] password) {
+  public UserModel authenticate(String username, char[] password, String remoteIP) {
     String passwordString = new String(password);
 
     if (username.equals(GerritToGitBlitUserModel.ANONYMOUS_USER)) {
@@ -142,7 +142,7 @@
     String gerritUsername =
         (String) httpRequest.getAttribute("gerrit-username");
     String gerritToken = (String) httpRequest.getAttribute("gerrit-token");
-    httpRequest.getSession().setAttribute(Constants.AUTHENTICATION_TYPE,
+    httpRequest.getSession().setAttribute(Constants.ATTRIB_AUTHTYPE,
         AuthenticationType.CONTAINER);
 
     if (Strings.isNullOrEmpty(gerritUsername)
