James Moger
2014-03-27 ab07d0d86d8b64b4f7c88b45bc81f1eec22105db
src/main/java/com/gitblit/transport/ssh/FileKeyManager.java
@@ -130,7 +130,7 @@
   public boolean addKey(String username, SshKey key) {
      try {
         String newKey = stripCommentFromKey(key.getRawData());
         boolean replaced = false;
         List<String> lines = new ArrayList<String>();
         File keystore = getKeystore(username);
         if (keystore.exists()) {
@@ -147,16 +147,22 @@
                  continue;
               }
               // only add keys that do not match the new key
               String oldKey = stripCommentFromKey(line);
               if (!newKey.equals(oldKey)) {
               if (newKey.equals(oldKey)) {
                  // replace key
                  lines.add(key.getRawData());
                  replaced = true;
               } else {
                  // retain key
                  lines.add(entry);
               }
            }
         }
         // add new key
         lines.add(key.getRawData());
         if (!replaced) {
            // new key, append
            lines.add(key.getRawData());
         }
         // write keystore
         String content = Joiner.on("\n").join(lines).trim().concat("\n");