diff --git a/briar-android/src/net/sf/briar/android/HomeScreenActivity.java b/briar-android/src/net/sf/briar/android/HomeScreenActivity.java index f33052720509bf02f224ede0e71f26f5385b37e8..4f13b65fc2a371d2a7e80bc0468deb9dad3be32f 100644 --- a/briar-android/src/net/sf/briar/android/HomeScreenActivity.java +++ b/briar-android/src/net/sf/briar/android/HomeScreenActivity.java @@ -5,6 +5,7 @@ import static android.view.ViewGroup.LayoutParams.MATCH_PARENT; import static java.util.logging.Level.INFO; import static java.util.logging.Level.WARNING; import static net.sf.briar.android.widgets.CommonLayoutParams.MATCH_MATCH; +import static net.sf.briar.api.messaging.Rating.GOOD; import java.util.ArrayList; import java.util.List; @@ -123,6 +124,7 @@ public class HomeScreenActivity extends BriarActivity { serviceConnection.waitForStartup(); long now = System.currentTimeMillis(); db.addLocalAuthor(a); + db.setRating(a.getId(), GOOD); long duration = System.currentTimeMillis() - now; if(LOG.isLoggable(INFO)) LOG.info("Storing author took " + duration + " ms"); diff --git a/briar-android/src/net/sf/briar/android/identity/CreateIdentityActivity.java b/briar-android/src/net/sf/briar/android/identity/CreateIdentityActivity.java index a600f954892bf56a86d81dd1141c13d2a9a626a8..d91a2f95247d34be31d35baa3530498d3e4a128b 100644 --- a/briar-android/src/net/sf/briar/android/identity/CreateIdentityActivity.java +++ b/briar-android/src/net/sf/briar/android/identity/CreateIdentityActivity.java @@ -12,6 +12,7 @@ import static java.util.logging.Level.INFO; import static java.util.logging.Level.WARNING; import static net.sf.briar.android.widgets.CommonLayoutParams.MATCH_MATCH; import static net.sf.briar.android.widgets.CommonLayoutParams.WRAP_WRAP; +import static net.sf.briar.api.messaging.Rating.GOOD; import java.io.IOException; import java.security.KeyPair; @@ -157,6 +158,7 @@ implements OnEditorActionListener, OnClickListener { serviceConnection.waitForStartup(); long now = System.currentTimeMillis(); db.addLocalAuthor(a); + db.setRating(a.getId(), GOOD); long duration = System.currentTimeMillis() - now; if(LOG.isLoggable(INFO)) LOG.info("Storing author took " + duration + " ms"); diff --git a/briar-core/src/net/sf/briar/invitation/Connector.java b/briar-core/src/net/sf/briar/invitation/Connector.java index c9592538ab8f93dbbd59a8bd38a64bde0be68816..e938f6f0cda5fa14a8cc50bd434a8efc01fb3701 100644 --- a/briar-core/src/net/sf/briar/invitation/Connector.java +++ b/briar-core/src/net/sf/briar/invitation/Connector.java @@ -9,6 +9,7 @@ import static net.sf.briar.api.TransportPropertyConstants.MAX_PROPERTIES_PER_TRA import static net.sf.briar.api.TransportPropertyConstants.MAX_PROPERTY_LENGTH; import static net.sf.briar.api.invitation.InvitationConstants.CONNECTION_TIMEOUT; import static net.sf.briar.api.invitation.InvitationConstants.HASH_LENGTH; +import static net.sf.briar.api.messaging.Rating.GOOD; import java.io.IOException; import java.security.GeneralSecurityException; @@ -275,13 +276,15 @@ abstract class Connector extends Thread { long epoch, boolean alice) throws DbException { // Add the contact to the database ContactId c = db.addContact(remoteAuthor, localAuthor.getId()); + // Add a positive rating for the contact's pseudonym + db.setRating(remoteAuthor.getId(), GOOD); // Store the remote transport properties db.setRemoteProperties(c, remoteProps); // Create an endpoint for each transport shared with the contact List<TransportId> ids = new ArrayList<TransportId>(); for(TransportId id : localProps.keySet()) if(remoteProps.containsKey(id)) ids.add(id); - // Assign indices to the transports in a deterministic way + // Assign indices to the transports deterministically and derive keys Collections.sort(ids, TransportIdComparator.INSTANCE); int size = ids.size(); for(int i = 0; i < size; i++) {