summaryrefslogtreecommitdiffstats
path: root/support
diff options
context:
space:
mode:
authorNarayan Kamath <narayan@google.com>2014-12-16 20:34:53 +0000
committerAndroid Git Automerger <android-git-automerger@android.com>2014-12-16 20:34:53 +0000
commit155147bcc7deb957f7313f6b5f8ad9c19c07b75d (patch)
tree7184afc702ae454b326159e809dfff5164219c2e /support
parent4ed5a8423743c67a08c86a39aa492fdbb0399eea (diff)
parent8f090052bdddc1312fe9238eca702c4e8eafff11 (diff)
downloadlibcore-155147bcc7deb957f7313f6b5f8ad9c19c07b75d.zip
libcore-155147bcc7deb957f7313f6b5f8ad9c19c07b75d.tar.gz
libcore-155147bcc7deb957f7313f6b5f8ad9c19c07b75d.tar.bz2
am 8f090052: Merge "Repurpose "HexEncoding" for internal users."
* commit '8f090052bdddc1312fe9238eca702c4e8eafff11': Repurpose "HexEncoding" for internal users.
Diffstat (limited to 'support')
-rw-r--r--support/src/test/java/libcore/tlswire/handshake/ClientHello.java6
-rw-r--r--support/src/test/java/libcore/tlswire/handshake/HelloExtension.java2
-rw-r--r--support/src/test/java/libcore/tlswire/util/HexEncoding.java93
3 files changed, 4 insertions, 97 deletions
diff --git a/support/src/test/java/libcore/tlswire/handshake/ClientHello.java b/support/src/test/java/libcore/tlswire/handshake/ClientHello.java
index 8d25cd5..ec88662 100644
--- a/support/src/test/java/libcore/tlswire/handshake/ClientHello.java
+++ b/support/src/test/java/libcore/tlswire/handshake/ClientHello.java
@@ -17,8 +17,8 @@
package libcore.tlswire.handshake;
import libcore.tlswire.util.TlsProtocolVersion;
-import libcore.tlswire.util.HexEncoding;
import libcore.tlswire.util.IoUtils;
+import libcore.util.HexEncoding;
import java.io.ByteArrayInputStream;
import java.io.DataInput;
import java.io.DataInputStream;
@@ -98,8 +98,8 @@ public class ClientHello extends HandshakeMessage {
@Override
public String toString() {
return "ClientHello{client version: " + clientVersion
- + ", random: " + HexEncoding.encode(random)
- + ", sessionId: " + HexEncoding.encode(sessionId)
+ + ", random: " + new String(HexEncoding.encode(random))
+ + ", sessionId: " + new String(HexEncoding.encode(sessionId))
+ ", cipher suites: " + cipherSuites
+ ", compression methods: " + compressionMethods
+ ((extensions != null) ? (", extensions: " + String.valueOf(extensions)) : "")
diff --git a/support/src/test/java/libcore/tlswire/handshake/HelloExtension.java b/support/src/test/java/libcore/tlswire/handshake/HelloExtension.java
index e3361b9..5741072 100644
--- a/support/src/test/java/libcore/tlswire/handshake/HelloExtension.java
+++ b/support/src/test/java/libcore/tlswire/handshake/HelloExtension.java
@@ -16,8 +16,8 @@
package libcore.tlswire.handshake;
-import libcore.tlswire.util.HexEncoding;
import libcore.tlswire.util.IoUtils;
+import libcore.util.HexEncoding;
import java.io.DataInput;
import java.io.IOException;
import java.util.HashMap;
diff --git a/support/src/test/java/libcore/tlswire/util/HexEncoding.java b/support/src/test/java/libcore/tlswire/util/HexEncoding.java
deleted file mode 100644
index 2061fcc..0000000
--- a/support/src/test/java/libcore/tlswire/util/HexEncoding.java
+++ /dev/null
@@ -1,93 +0,0 @@
-/*
- * Copyright (C) 2014 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 libcore.tlswire.util;
-
-import java.nio.ByteBuffer;
-
-/**
- * Hexadecimal encoding where each byte is represented by two hexadecimal digits.
- */
-public class HexEncoding {
-
- /** Hidden constructor to prevent instantiation. */
- private HexEncoding() {}
-
- private static final char[] HEX_DIGITS = "0123456789abcdef".toCharArray();
-
- /**
- * Encodes the provided data as a hexadecimal string.
- */
- public static String encode(byte[] data) {
- return encode(data, 0, data.length);
- }
-
- /**
- * Encodes the provided data as a hexadecimal string.
- */
- public static String encode(byte[] data, int offset, int len) {
- StringBuilder result = new StringBuilder(len * 2);
- for (int i = 0; i < len; i++) {
- byte b = data[offset + i];
- result.append(HEX_DIGITS[(b >>> 4) & 0x0f]);
- result.append(HEX_DIGITS[b & 0x0f]);
- }
- return result.toString();
- }
-
- /**
- * Encodes the provided data as a hexadecimal string.
- */
- public static String encode(ByteBuffer buf) {
- return encode(buf.array(), buf.arrayOffset() + buf.position(), buf.remaining());
- }
-
- /**
- * Decodes the provided hexadecimal string into an array of bytes.
- */
- public static byte[] decode(String encoded) {
- // IMPLEMENTATION NOTE: Special care is taken to permit odd number of hexadecimal digits.
- int resultLengthBytes = (encoded.length() + 1) / 2;
- byte[] result = new byte[resultLengthBytes];
- int resultOffset = 0;
- int encodedCharOffset = 0;
- if ((encoded.length() % 2) != 0) {
- // Odd number of digits -- the first digit is the lower 4 bits of the first result byte.
- result[resultOffset++] =
- (byte) getHexadecimalDigitValue(encoded.charAt(encodedCharOffset));
- encodedCharOffset++;
- }
- for (int len = encoded.length(); encodedCharOffset < len; encodedCharOffset += 2) {
- result[resultOffset++] = (byte) (
- (getHexadecimalDigitValue(encoded.charAt(encodedCharOffset)) << 4)
- | getHexadecimalDigitValue(encoded.charAt(encodedCharOffset + 1)));
- }
- return result;
- }
-
- private static int getHexadecimalDigitValue(char c) {
- if ((c >= 'a') && (c <= 'f')) {
- return (c - 'a') + 0x0a;
- } else if ((c >= 'A') && (c <= 'F')) {
- return (c - 'A') + 0x0a;
- } else if ((c >= '0') && (c <= '9')) {
- return c - '0';
- } else {
- throw new IllegalArgumentException("Invalid hexadecimal digit at position : '" + c
- + "' (0x" + Integer.toHexString(c) + ")");
- }
- }
-}