jgit/org.eclipse.jgit.http.server
David Ostrovsky 8cd07cb815 Repository: Add getIdentifier() method to avoid instanceof operator
This change is needed to implement permission aware ref database in
Gerrit: [1], that is a pre-requisite to re-enable Git v2 protocol in
Gerrit: [2].

Background: Last year Git v2 protocol was enabled in Gerrit. The fact,
that JGit layer was not calling ref advertise filter for Git v2
protocol, introduced security vulnerability.

The lesson learned from this security incident: Gerrit should not rely
on ref advertise filter being called by JGit to implement crictical
security checks. Instead, the idea is to use the same approach as
currently used by Google's internal code on googlesource.com that
didn't suffer from this vulnerability: provide a custom repository to
JGit. The repository provides a RefDatabase that is permission-aware
and will only ever return refs that the user has access to.

However, due to hard coded instanceof operator usages in JGit code
base, some tests in Gerrit are failing with: [1] in place. This change
addresses this problem.

[1] https://gerrit-review.googlesource.com/c/gerrit/+/212874
[2] https://gerrit-review.googlesource.com/c/gerrit/+/226754

Change-Id: I67c0f53ca33b149442e7ee3e51910d19e3f348d5
Signed-off-by: David Ostrovsky <david@ostrovsky.org>
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
2019-06-05 21:50:15 +02:00
..
.settings Disable Eclipse warning about unrecognized @SuppressWarnings value 2018-10-17 10:40:36 +09:00
META-INF Add missing source bundles and add them to a single source feature 2019-04-02 01:57:28 -04:00
resources/org/eclipse/jgit/http/server Skip logging stack trace on corrupt objects 2015-05-06 16:02:27 -07:00
src/org/eclipse/jgit/http/server Repository: Add getIdentifier() method to avoid instanceof operator 2019-06-05 21:50:15 +02:00
.classpath Change JGit minimum execution environment to JavaSE-1.8 2016-09-20 11:32:36 +02:00
.fbprefs Simple dumb HTTP server for Git 2010-01-12 12:01:24 -08:00
.gitignore Simple dumb HTTP server for Git 2010-01-12 12:01:24 -08:00
.project Enforce the use of Java5 API:s only (with a few exceptions) 2011-12-16 01:01:36 +01:00
BUILD Bazel: Restrict src globs to Java source files 2017-04-13 14:14:55 +09:00
about.html Add missing about.html files to all shipped bundles 2011-06-08 21:51:51 +02:00
build.properties Add missing resources from source.. in build.properties 2013-10-30 17:42:38 +01:00
plugin.properties Fix plugin provider names to conform with release train requirement 2013-04-08 23:05:36 +02:00
pom.xml Add missing source bundles and add them to a single source feature 2019-04-02 01:57:28 -04:00