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
This commit is contained in:
Dave Borowitz
2015-08-27 11:33:24 -04:00
parent 73cfbe6529
commit b84c227162
41 changed files with 19 additions and 1239 deletions

View File

@@ -182,9 +182,7 @@ public final class Account {
@Column(id = 4, notNull = false)
protected String preferredEmail;
/** When did the user last give us contact information? Null if never. */
@Column(id = 5, notNull = false)
protected Timestamp contactFiledOn;
// DELETED: id = 5 (contactFiledOn)
/** This user's preferences */
@Column(id = 6, name = Column.NONE)
@@ -257,18 +255,6 @@ public final class Account {
generalPreferences = p;
}
public boolean isContactFiled() {
return contactFiledOn != null;
}
public Timestamp getContactFiledOn() {
return contactFiledOn;
}
public void setContactFiled(Timestamp ts) {
contactFiledOn = ts;
}
public boolean isActive() {
return ! inactive;
}

View File

@@ -1,85 +0,0 @@
// Copyright (C) 2008 The Android Open Source Project
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
package com.google.gerrit.reviewdb.client;
import com.google.gwtorm.client.Column;
/** Non-Internet contact details, such as a postal address and telephone. */
public final class ContactInformation {
@Column(id = 1, length = Integer.MAX_VALUE, notNull = false)
protected String address;
@Column(id = 2, notNull = false, length = 40)
protected String country;
@Column(id = 3, notNull = false, length = 30)
protected String phoneNbr;
@Column(id = 4, notNull = false, length = 30)
protected String faxNbr;
public ContactInformation() {
}
public String getAddress() {
return address;
}
public void setAddress(final String a) {
address = a;
}
public String getCountry() {
return country;
}
public void setCountry(final String c) {
country = c;
}
public String getPhoneNumber() {
return phoneNbr;
}
public void setPhoneNumber(final String p) {
phoneNbr = p;
}
public String getFaxNumber() {
return faxNbr;
}
public void setFaxNumber(final String f) {
faxNbr = f;
}
public static boolean hasData(final ContactInformation contactInformation) {
if (contactInformation == null) {
return false;
}
return hasData(contactInformation.address)
|| hasData(contactInformation.country)
|| hasData(contactInformation.phoneNbr)
|| hasData(contactInformation.faxNbr);
}
public static boolean hasAddress(final ContactInformation contactInformation) {
return contactInformation != null && hasData(contactInformation.address);
}
private static boolean hasData(final String s) {
return s != null && s.trim().length() > 0;
}
}