gerrit/Documentation/config-cla.txt
Dave Borowitz b84c227162 Remove contact store functionality
Class loading of PGP functionality has never worked out of the box,
from which we can conclude that this feature is unused in the wild.

PGP functionality has never been located in bcprov-*.jar, at least as
long as the original library download configuration has existed.
3bccd773 points to bcprov-jdk16-144.jar, which does not contain PGP
classes:

  $ curl -sOL http://www.bouncycastle.org/download/bcprov-jdk16-144.jar && jar tf bcprov-jdk16-144.jar | grep -i pgp
  org/bouncycastle/crypto/modes/OpenPGPCFBBlockCipher.class
  org/bouncycastle/crypto/modes/PGPCFBBlockCipher.class

Even before that commit, in 44671f5c, we were checking for the
presence of PGPPublicKey.class in the havePGP() helper method.

This functionality at one point was used by Google to implement CLA
checking, but that used a different build system and so did not see
the breakage caused by incorrect library download configuration. These
days, Google does not even use the same contact store mechanism for
googlesource.com; CLAs are managed using a different system.

Also delete UI associated with storing contact information. Although
it was possible to configure a CLA to prompt the user for contact
information, looking at the logic in AccountSecurityImpl, this info
was dropped on the floor unless a ContactStore was configured. As we
know, this was never the case, so claiming to store encrypted contact
information in the UI was basically a lie.

Similarly, the contactFiledOn field in Account was only set in the
same ContactStore-enabled codepath, so we can kill that as well.

Change-Id: I497cd374566c7d56262dafeeb96e4612fee54e8f
2015-08-28 14:08:58 -04:00

79 lines
2.7 KiB
Plaintext

= Gerrit Code Review - Contributor Agreements
Users can be required to sign one or more contributor agreements before
being able to submit a change in a project.
Contributor agreements are global and can be configured by modifying
the `project.config` file on the `All-Projects` project. Push permission
needs to be granted for the `refs/meta/config` branch to be able to push
back the `project.config` file. Consult
link:access-control.html[access controls] for details on how access
permissions work.
To retrieve the `project.config` file, initialize a temporary Git
repository to edit the configuration:
====
mkdir cfg_dir
cd cfg_dir
git init
====
Download the existing configuration from Gerrit:
====
git fetch ssh://localhost:29418/All-Projects refs/meta/config
git checkout FETCH_HEAD
====
Contributor agreements are defined as contributor-agreement sections in
`project.config`:
====
[contributor-agreement "Individual"]
description = If you are going to be contributing code on your own, this is the one you want. You can sign this one online.
agreementUrl = static/cla_individual.html
autoVerify = group CLA Accepted - Individual
accepted = group CLA Accepted - Individual
====
Each `contributor-agreement` section within the `project.config` file must
have a unique name. The section name will appear in the web UI.
If not already present, add the UUID of the groups used in the
`autoVerify` and `accepted` variables in the groups file.
Commit the configuration change, and push it back:
====
git commit -a -m "Add Individual contributor agreement"
git push ssh://localhost:29418/All-Projects HEAD:refs/meta/config
====
[[contributor-agreement.name.description]]contributor-agreement.<name>.description::
+
Short text describing the contributor agreement. This text will appear
when the user selects an agreement.
[[contributor-agreement.name.agreementUrl]]contributor-agreement.<name>.agreementUrl::
+
An absolute URL or a relative path to an HTML file containing the text
of the contributor agreement. The URL must use the http or https
scheme. The path is relative to the `gerrit.basePath` variable in
`gerrit.config`.
[[contributor-agreement.name.autoVerify]]contributor-agreement.<name>.autoVerify::
+
If present, the user can sign the contributor agreement online. The
value is the group to which the user will be added after signing the
agreement. The group's UUID must also appear in the `groups` file.
[[contributor-agreement.name.accepted]]contributor-agreement.<name>.accepted::
+
List of groups that will be considered when verifying that a
contributor agreement has been accepted. The groups' UUID must also
appear in the `groups` file.
GERRIT
------
Part of link:index.html[Gerrit Code Review]
SEARCHBOX
---------