RETIRED, Gerrit as used by OpenStack
Go to file
Han-Wen Nienhuys 84d830b5b3 gerrit-server: use hashed passwords for HTTP.
Consequences:
* Removes the GET endpoint for the HTTP password
* Removes digest authentication
* Removes auth.gitBasicAuth config option.

With the move to NoteDB, the per-account data (including the HTTP
password) will be stored in a branch in the All-Users repo, where
it is subject to Gerrit ACLs.  Since these are notoriously hard to
setup correctly, we want to avoid storing the password in plaintext.

With this change, we support hashed passwords, and a schema upgrade
populates the existing 'password' field using previous passwords.

Tested migration manually:

  * ran schema upgrade
  * verified that schema upgrade inserts hashed passwords with gsql.
  * verified that the password still works with the new code.

Tested passwords manually:
  * verified that correct passwords get accepted when using curl --user.
  * verified that wrong passwords get rejected when using curl --user.

Change-Id: I26f5bcd7848040107e3721eeabf75baeb79c1724
2017-02-28 09:09:33 +01:00
.settings Remove internal Eclipse java formatter 2017-02-10 09:20:15 +00:00
Documentation gerrit-server: use hashed passwords for HTTP. 2017-02-28 09:09:33 +01:00
ReleaseNotes Remove Buck based build 2017-01-23 12:44:58 +00:00
contrib Format all Java files with google-java-format 2017-02-07 10:04:39 +09:00
gerrit-acceptance-framework gerrit-server: use hashed passwords for HTTP. 2017-02-28 09:09:33 +01:00
gerrit-acceptance-tests gerrit-server: use hashed passwords for HTTP. 2017-02-28 09:09:33 +01:00
gerrit-antlr Format all Java files with google-java-format 2017-02-07 10:04:39 +09:00
gerrit-cache-h2 Squash redundant string concatenations introduced by google-java-format 2017-02-17 08:57:46 +09:00
gerrit-common Allow users given specific permission to delete their own changes 2017-02-21 11:11:40 +00:00
gerrit-elasticsearch Store the number of unresolved comments in change index 2017-02-13 11:31:49 +01:00
gerrit-extension-api gerrit-server: use hashed passwords for HTTP. 2017-02-28 09:09:33 +01:00
gerrit-gpg Squash redundant string concatenations introduced by google-java-format 2017-02-17 08:57:46 +09:00
gerrit-gwtdebug Format all Java files with google-java-format 2017-02-07 10:04:39 +09:00
gerrit-gwtexpui Format java files with google-java-format 2017-02-17 13:21:04 +09:00
gerrit-gwtui Add support for deleting tags through the web ui 2017-02-23 08:48:04 +00:00
gerrit-gwtui-common Revert "Fix GWT UI AddFileBox to provide path suggestions continuously" 2017-02-17 10:48:40 +00:00
gerrit-httpd gerrit-server: use hashed passwords for HTTP. 2017-02-28 09:09:33 +01:00
gerrit-launcher GerritLauncher: Fix ClassNewInstance warning flagged by error prone 2017-02-20 08:58:12 +00:00
gerrit-lucene Store the number of unresolved comments in change index 2017-02-13 11:31:49 +01:00
gerrit-main Format all Java files with google-java-format 2017-02-07 10:04:39 +09:00
gerrit-oauth Format all Java files with google-java-format 2017-02-07 10:04:39 +09:00
gerrit-openid Format all Java files with google-java-format 2017-02-07 10:04:39 +09:00
gerrit-patch-commonsnet Format all Java files with google-java-format 2017-02-07 10:04:39 +09:00
gerrit-patch-jgit Format all Java files with google-java-format 2017-02-07 10:04:39 +09:00
gerrit-pgm gerrit-server: use hashed passwords for HTTP. 2017-02-28 09:09:33 +01:00
gerrit-plugin-api Expose commons-lang3 in plugin API 2017-02-05 23:42:37 +00:00
gerrit-plugin-gwtui Format all Java files with google-java-format 2017-02-07 10:04:39 +09:00
gerrit-prettify Format all Java files with google-java-format 2017-02-07 10:04:39 +09:00
gerrit-reviewdb gerrit-server: use hashed passwords for HTTP. 2017-02-28 09:09:33 +01:00
gerrit-server gerrit-server: use hashed passwords for HTTP. 2017-02-28 09:09:33 +01:00
gerrit-sshd Allow to index all changes of a project 2017-02-24 11:10:22 +00:00
gerrit-test-util Format all Java files with google-java-format 2017-02-07 10:04:39 +09:00
gerrit-util-cli Format all Java files with google-java-format 2017-02-07 10:04:39 +09:00
gerrit-util-http Format all Java files with google-java-format 2017-02-07 10:04:39 +09:00
gerrit-util-ssl Format all Java files with google-java-format 2017-02-07 10:04:39 +09:00
gerrit-war Squash redundant string concatenations introduced by google-java-format 2017-02-17 08:57:46 +09:00
lib Update CodeMirror to 5.24.2 2017-02-22 23:24:18 +00:00
plugins Update git submodules 2017-02-23 09:17:54 +00:00
polygerrit-ui Merge "Add <ctrl>+S to help screen" 2017-02-25 00:50:53 +00:00
tools Make built-in bouncycastle actually work 2017-02-20 15:02:06 +01:00
website/releases Fix Diffy logo on release page by encoding the image 2015-12-29 10:36:39 -08:00
.bazelproject Remove Buck based build 2017-01-23 12:44:58 +00:00
.editorconfig Added continuation indent to editorconfig 2016-04-26 14:42:58 +02:00
.git-blame-ignore-revs Update git hyper-blame configuration 2017-02-17 16:35:50 +09:00
.gitignore Document gjf and add a script to standardize/streamline setup 2017-02-07 12:38:37 -05:00
.gitmodules Adapt .gitmodules to enable superproject subscriptions 2016-07-27 12:01:40 -07:00
.mailmap Update .mailmap 2017-02-21 14:18:02 +09:00
.pydevproject Update PyDev project to use Python 2.7 2014-10-02 15:16:44 +09:00
BUILD Bazel: Add :api rule to build all API artifacts at once 2016-12-24 09:33:27 +01:00
COPYING Initial project setup of Gerrit 2 2008-11-14 16:59:34 -08:00
INSTALL Remove Gerrit 1.x to 2.x import tools 2009-03-27 20:20:10 -07:00
README.md Remove Buck based build 2017-01-23 12:44:58 +00:00
SUBMITTING_PATCHES Update push URL in SUBMITTING_PATCHES 2012-03-29 00:57:14 -04:00
WORKSPACE Update CodeMirror to 5.24.2 2017-02-22 23:24:18 +00:00
version.bzl Bazel: Reformat build files 2016-12-07 11:33:07 +00:00

README.md

Gerrit Code Review

Gerrit is a code review and project management tool for Git based projects.

Build Status

Objective

Gerrit makes reviews easier by showing changes in a side-by-side display, and allowing inline comments to be added by any reviewer.

Gerrit simplifies Git based project maintainership by permitting any authorized user to submit changes to the master Git repository, rather than requiring all approved changes to be merged in by hand by the project maintainer.

Documentation

For information about how to install and use Gerrit, refer to the documentation.

Source

Our canonical Git repository is located on googlesource.com. There is a mirror of the repository on Github.

Reporting bugs

Please report bugs on the issue tracker.

Contribute

Gerrit is the work of hundreds of contributors. We appreciate your help!

Please read the contribution guidelines.

Note that we do not accept Pull Requests via the Github mirror.

Getting in contact

The IRC channel on freenode is #gerrit. An archive is available at: echelog.com.

The Developer Mailing list is repo-discuss on Google Groups.

License

Gerrit is provided under the Apache License 2.0.

Build

Install Bazel and run the following:

    git clone --recursive https://gerrit.googlesource.com/gerrit
    cd gerrit && bazel build release

Install binary packages (Deb/Rpm)

The instruction how to configure GerritForge/BinTray repositories is here

On Debian/Ubuntu run:

    apt-get update & apt-get install gerrit=<version>-<release>

NOTE: release is a counter that starts with 1 and indicates the number of packages that have been released with the same version of the software.

On CentOS/RedHat run:

    yum clean all && yum install gerrit-<version>[-<release>]

On Fedora run:

    dnf clean all && dnf install gerrit-<version>[-<release>]

Use pre-built Gerrit images on Docker

Docker images of Gerrit are available on DockerHub

To run a CentOS 7 based Gerrit image:

    docker run -p 8080:8080 gerritforge/gerrit-centos7[:version]

To run a Ubuntu 15.04 based Gerrit image:

    docker run -p 8080:8080 gerritforge/gerrit-ubuntu15.04[:version]

NOTE: release is optional. Last released package of the version is installed if the release number is omitted.