Paul Martin
2016-04-16 eecaad8b8e2c447429c31a01d49260ddd6b4ee03
src/main/java/com/gitblit/transport/ssh/SshKey.java
@@ -1,3 +1,18 @@
/*
 * Copyright 2014 gitblit.com.
 *
 * 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.gitblit.transport.ssh;
import java.io.Serializable;
@@ -7,11 +22,13 @@
import org.apache.commons.codec.binary.Base64;
import org.apache.sshd.common.SshException;
import org.apache.sshd.common.util.Buffer;
import org.apache.sshd.common.util.buffer.Buffer;
import org.apache.sshd.common.util.buffer.ByteArrayBuffer;
import org.eclipse.jgit.lib.Constants;
import com.gitblit.Constants.AccessPermission;
import com.gitblit.utils.StringUtils;
import com.google.common.base.Joiner;
/**
 * Class that encapsulates a public SSH key and it's metadata.
@@ -36,7 +53,8 @@
   private AccessPermission permission;
   public SshKey(String data) {
      this.rawData = data;
      // strip out line breaks (issue-571)
      this.rawData = Joiner.on("").join(data.replace("\r\n", "\n").split("\n"));
      this.permission = AccessPermission.PUSH;
   }
@@ -55,9 +73,9 @@
         }
         final byte[] bin = Base64.decodeBase64(Constants.encodeASCII(parts[1]));
         try {
            publicKey = new Buffer(bin).getRawPublicKey();
            publicKey = new ByteArrayBuffer(bin).getRawPublicKey();
         } catch (SshException e) {
            e.printStackTrace();
            throw new RuntimeException(e);
         }
      }
      return publicKey;
@@ -128,7 +146,7 @@
   public String getRawData() {
      if (rawData == null && publicKey != null) {
         // build the raw data manually from the public key
         Buffer buf = new Buffer();
         Buffer buf = new ByteArrayBuffer();
         // 1: identify the algorithm
         buf.putRawPublicKey(publicKey);