You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mina.apache.org by el...@apache.org on 2015/12/26 20:22:19 UTC
[1/2] mina git commit: Fixed some SonarQube warnings
Repository: mina
Updated Branches:
refs/heads/2.0 7f2edfb98 -> 101a32e7e
Fixed some SonarQube warnings
Project: http://git-wip-us.apache.org/repos/asf/mina/repo
Commit: http://git-wip-us.apache.org/repos/asf/mina/commit/90542865
Tree: http://git-wip-us.apache.org/repos/asf/mina/tree/90542865
Diff: http://git-wip-us.apache.org/repos/asf/mina/diff/90542865
Branch: refs/heads/2.0
Commit: 9054286522cbd6b1102dc5fd37d4f13d6d011e73
Parents: 7f2edfb
Author: Emmanuel Lécharny <el...@symas.com>
Authored: Fri Dec 25 22:46:56 2015 +0100
Committer: Emmanuel Lécharny <el...@symas.com>
Committed: Fri Dec 25 22:46:56 2015 +0100
----------------------------------------------------------------------
.../org/apache/mina/core/filterchain/IoFilterEvent.java | 4 ++--
.../org/apache/mina/core/session/AbstractIoSession.java | 2 +-
.../org/apache/mina/filter/executor/ExecutorFilter.java | 2 +-
.../mina/filter/executor/OrderedThreadPoolExecutor.java | 2 +-
.../transport/socket/DefaultDatagramSessionConfig.java | 10 +++++-----
.../transport/socket/DefaultSocketSessionConfig.java | 12 ++++++------
.../mina/transport/socket/nio/NioDatagramAcceptor.java | 4 +---
.../java/org/apache/mina/http/HttpClientDecoder.java | 2 +-
.../mina/integration/beans/InetSocketAddressEditor.java | 2 +-
9 files changed, 19 insertions(+), 21 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/mina/blob/90542865/mina-core/src/main/java/org/apache/mina/core/filterchain/IoFilterEvent.java
----------------------------------------------------------------------
diff --git a/mina-core/src/main/java/org/apache/mina/core/filterchain/IoFilterEvent.java b/mina-core/src/main/java/org/apache/mina/core/filterchain/IoFilterEvent.java
index 076343d..035fe9a 100644
--- a/mina-core/src/main/java/org/apache/mina/core/filterchain/IoFilterEvent.java
+++ b/mina-core/src/main/java/org/apache/mina/core/filterchain/IoFilterEvent.java
@@ -37,10 +37,10 @@ import org.slf4j.LoggerFactory;
*/
public class IoFilterEvent extends IoEvent {
/** A logger for this class */
- private static Logger LOGGER = LoggerFactory.getLogger(IoFilterEvent.class);
+ private static final Logger LOGGER = LoggerFactory.getLogger(IoFilterEvent.class);
/** A speedup for logs */
- private static boolean DEBUG = LOGGER.isDebugEnabled();
+ private static final boolean DEBUG = LOGGER.isDebugEnabled();
private final NextFilter nextFilter;
http://git-wip-us.apache.org/repos/asf/mina/blob/90542865/mina-core/src/main/java/org/apache/mina/core/session/AbstractIoSession.java
----------------------------------------------------------------------
diff --git a/mina-core/src/main/java/org/apache/mina/core/session/AbstractIoSession.java b/mina-core/src/main/java/org/apache/mina/core/session/AbstractIoSession.java
index 25c712c..9897697 100644
--- a/mina-core/src/main/java/org/apache/mina/core/session/AbstractIoSession.java
+++ b/mina-core/src/main/java/org/apache/mina/core/session/AbstractIoSession.java
@@ -332,7 +332,7 @@ public abstract class AbstractIoSession implements IoSession {
return closeFuture;
}
- private final CloseFuture closeOnFlush() {
+ private CloseFuture closeOnFlush() {
getWriteRequestQueue().offer(this, CLOSE_REQUEST);
getProcessor().flush(this);
return closeFuture;
http://git-wip-us.apache.org/repos/asf/mina/blob/90542865/mina-core/src/main/java/org/apache/mina/filter/executor/ExecutorFilter.java
----------------------------------------------------------------------
diff --git a/mina-core/src/main/java/org/apache/mina/filter/executor/ExecutorFilter.java b/mina-core/src/main/java/org/apache/mina/filter/executor/ExecutorFilter.java
index 325f79a..47cd3a2 100644
--- a/mina-core/src/main/java/org/apache/mina/filter/executor/ExecutorFilter.java
+++ b/mina-core/src/main/java/org/apache/mina/filter/executor/ExecutorFilter.java
@@ -138,7 +138,7 @@ public class ExecutorFilter extends IoFilterAdapter {
private static final boolean NOT_MANAGEABLE_EXECUTOR = false;
/** A list of default EventTypes to be handled by the executor */
- private static IoEventType[] DEFAULT_EVENT_SET = new IoEventType[] { IoEventType.EXCEPTION_CAUGHT,
+ private static final IoEventType[] DEFAULT_EVENT_SET = new IoEventType[] { IoEventType.EXCEPTION_CAUGHT,
IoEventType.MESSAGE_RECEIVED, IoEventType.MESSAGE_SENT, IoEventType.SESSION_CLOSED,
IoEventType.SESSION_IDLE, IoEventType.SESSION_OPENED };
http://git-wip-us.apache.org/repos/asf/mina/blob/90542865/mina-core/src/main/java/org/apache/mina/filter/executor/OrderedThreadPoolExecutor.java
----------------------------------------------------------------------
diff --git a/mina-core/src/main/java/org/apache/mina/filter/executor/OrderedThreadPoolExecutor.java b/mina-core/src/main/java/org/apache/mina/filter/executor/OrderedThreadPoolExecutor.java
index 14c400f..101aa2b 100644
--- a/mina-core/src/main/java/org/apache/mina/filter/executor/OrderedThreadPoolExecutor.java
+++ b/mina-core/src/main/java/org/apache/mina/filter/executor/OrderedThreadPoolExecutor.java
@@ -54,7 +54,7 @@ import org.slf4j.LoggerFactory;
*/
public class OrderedThreadPoolExecutor extends ThreadPoolExecutor {
/** A logger for this class (commented as it breaks MDCFlter tests) */
- private static Logger LOGGER = LoggerFactory.getLogger(OrderedThreadPoolExecutor.class);
+ private static final Logger LOGGER = LoggerFactory.getLogger(OrderedThreadPoolExecutor.class);
/** A default value for the initial pool size */
private static final int DEFAULT_INITIAL_THREAD_POOL_SIZE = 0;
http://git-wip-us.apache.org/repos/asf/mina/blob/90542865/mina-core/src/main/java/org/apache/mina/transport/socket/DefaultDatagramSessionConfig.java
----------------------------------------------------------------------
diff --git a/mina-core/src/main/java/org/apache/mina/transport/socket/DefaultDatagramSessionConfig.java b/mina-core/src/main/java/org/apache/mina/transport/socket/DefaultDatagramSessionConfig.java
index 50ae037..843e893 100644
--- a/mina-core/src/main/java/org/apache/mina/transport/socket/DefaultDatagramSessionConfig.java
+++ b/mina-core/src/main/java/org/apache/mina/transport/socket/DefaultDatagramSessionConfig.java
@@ -27,17 +27,17 @@ import java.net.DatagramSocket;
* @author <a href="http://mina.apache.org">Apache MINA Project</a>
*/
public class DefaultDatagramSessionConfig extends AbstractDatagramSessionConfig {
- private static boolean DEFAULT_BROADCAST = false;
+ private static final boolean DEFAULT_BROADCAST = false;
- private static boolean DEFAULT_REUSE_ADDRESS = false;
+ private static final boolean DEFAULT_REUSE_ADDRESS = false;
/* The SO_RCVBUF parameter. Set to -1 (ie, will default to OS default) */
- private static int DEFAULT_RECEIVE_BUFFER_SIZE = -1;
+ private static final int DEFAULT_RECEIVE_BUFFER_SIZE = -1;
/* The SO_SNDBUF parameter. Set to -1 (ie, will default to OS default) */
- private static int DEFAULT_SEND_BUFFER_SIZE = -1;
+ private static final int DEFAULT_SEND_BUFFER_SIZE = -1;
- private static int DEFAULT_TRAFFIC_CLASS = 0;
+ private static final int DEFAULT_TRAFFIC_CLASS = 0;
private boolean broadcast = DEFAULT_BROADCAST;
http://git-wip-us.apache.org/repos/asf/mina/blob/90542865/mina-core/src/main/java/org/apache/mina/transport/socket/DefaultSocketSessionConfig.java
----------------------------------------------------------------------
diff --git a/mina-core/src/main/java/org/apache/mina/transport/socket/DefaultSocketSessionConfig.java b/mina-core/src/main/java/org/apache/mina/transport/socket/DefaultSocketSessionConfig.java
index 7ddd9bf..f88bd4c 100644
--- a/mina-core/src/main/java/org/apache/mina/transport/socket/DefaultSocketSessionConfig.java
+++ b/mina-core/src/main/java/org/apache/mina/transport/socket/DefaultSocketSessionConfig.java
@@ -27,17 +27,17 @@ import org.apache.mina.core.service.IoService;
* @author <a href="http://mina.apache.org">Apache MINA Project</a>
*/
public class DefaultSocketSessionConfig extends AbstractSocketSessionConfig {
- private static boolean DEFAULT_REUSE_ADDRESS = false;
+ private static final boolean DEFAULT_REUSE_ADDRESS = false;
- private static int DEFAULT_TRAFFIC_CLASS = 0;
+ private static final int DEFAULT_TRAFFIC_CLASS = 0;
- private static boolean DEFAULT_KEEP_ALIVE = false;
+ private static final boolean DEFAULT_KEEP_ALIVE = false;
- private static boolean DEFAULT_OOB_INLINE = false;
+ private static final boolean DEFAULT_OOB_INLINE = false;
- private static int DEFAULT_SO_LINGER = -1;
+ private static final int DEFAULT_SO_LINGER = -1;
- private static boolean DEFAULT_TCP_NO_DELAY = false;
+ private static final boolean DEFAULT_TCP_NO_DELAY = false;
protected IoService parent;
http://git-wip-us.apache.org/repos/asf/mina/blob/90542865/mina-core/src/main/java/org/apache/mina/transport/socket/nio/NioDatagramAcceptor.java
----------------------------------------------------------------------
diff --git a/mina-core/src/main/java/org/apache/mina/transport/socket/nio/NioDatagramAcceptor.java b/mina-core/src/main/java/org/apache/mina/transport/socket/nio/NioDatagramAcceptor.java
index 64bdee2..c353de3 100644
--- a/mina-core/src/main/java/org/apache/mina/transport/socket/nio/NioDatagramAcceptor.java
+++ b/mina-core/src/main/java/org/apache/mina/transport/socket/nio/NioDatagramAcceptor.java
@@ -637,9 +637,7 @@ public final class NioDatagramAcceptor extends AbstractIoAcceptor implements Dat
byte[] ipV6Address = ((Inet6Address) inetAddress).getAddress();
byte[] ipV4Address = new byte[4];
- for (int i = 0; i < 4; i++) {
- ipV4Address[i] = ipV6Address[12 + i];
- }
+ System.arraycopy(ipV6Address, 12, ipV4Address, 0, 4);
InetAddress inet4Adress = Inet4Address.getByAddress(ipV4Address);
return new InetSocketAddress(inet4Adress, inetSocketAddress.getPort());
http://git-wip-us.apache.org/repos/asf/mina/blob/90542865/mina-http/src/main/java/org/apache/mina/http/HttpClientDecoder.java
----------------------------------------------------------------------
diff --git a/mina-http/src/main/java/org/apache/mina/http/HttpClientDecoder.java b/mina-http/src/main/java/org/apache/mina/http/HttpClientDecoder.java
index 9f92edd..bd3e9a0 100644
--- a/mina-http/src/main/java/org/apache/mina/http/HttpClientDecoder.java
+++ b/mina-http/src/main/java/org/apache/mina/http/HttpClientDecoder.java
@@ -117,7 +117,7 @@ public class HttpClientDecoder implements ProtocolDecoder {
session.setAttribute(BODY_REMAINING_BYTES, Integer.valueOf(contentLen));
} else if ("chunked".equalsIgnoreCase(rp.getHeader("transfer-encoding"))) {
LOG.debug("no content len but chunked");
- session.setAttribute(BODY_CHUNKED, Boolean.valueOf("true"));
+ session.setAttribute(BODY_CHUNKED, Boolean.TRUE);
} else if ("close".equalsIgnoreCase(rp.getHeader("connection"))) {
session.close(true);
} else {
http://git-wip-us.apache.org/repos/asf/mina/blob/90542865/mina-integration-beans/src/main/java/org/apache/mina/integration/beans/InetSocketAddressEditor.java
----------------------------------------------------------------------
diff --git a/mina-integration-beans/src/main/java/org/apache/mina/integration/beans/InetSocketAddressEditor.java b/mina-integration-beans/src/main/java/org/apache/mina/integration/beans/InetSocketAddressEditor.java
index c8c79eb..7b7259b 100644
--- a/mina-integration-beans/src/main/java/org/apache/mina/integration/beans/InetSocketAddressEditor.java
+++ b/mina-integration-beans/src/main/java/org/apache/mina/integration/beans/InetSocketAddressEditor.java
@@ -59,7 +59,7 @@ public class InetSocketAddressEditor extends AbstractPropertyEditor {
return defaultValue();
}
- int colonIndex = text.lastIndexOf(":");
+ int colonIndex = text.lastIndexOf(':');
if (colonIndex > 0) {
String host = text.substring(0, colonIndex);
if (!"*".equals(host)) {
[2/2] mina git commit: Many fixes for various errors found by
SonarQube
Posted by el...@apache.org.
Many fixes for various errors found by SonarQube
Project: http://git-wip-us.apache.org/repos/asf/mina/repo
Commit: http://git-wip-us.apache.org/repos/asf/mina/commit/101a32e7
Tree: http://git-wip-us.apache.org/repos/asf/mina/tree/101a32e7
Diff: http://git-wip-us.apache.org/repos/asf/mina/diff/101a32e7
Branch: refs/heads/2.0
Commit: 101a32e7e815b402134e14d6c40c635c5824deb9
Parents: 9054286
Author: Emmanuel Lécharny <el...@symas.com>
Authored: Sat Dec 26 20:21:55 2015 +0100
Committer: Emmanuel Lécharny <el...@symas.com>
Committed: Sat Dec 26 20:21:55 2015 +0100
----------------------------------------------------------------------
.../apache/mina/core/MinaBenchmarkServer.java | 8 +--
.../mina/core/buffer/AbstractIoBuffer.java | 25 ++++++++-
.../statemachine/IntegerDecodingState.java | 44 ++++++++-------
.../statemachine/ShortIntegerDecodingState.java | 7 ++-
.../org/apache/mina/proxy/ProxyConnector.java | 2 +-
.../handlers/socks/Socks5LogicHandler.java | 2 +-
.../main/java/org/apache/mina/util/Base64.java | 58 ++++++++++----------
.../util/byteaccess/CompositeByteArray.java | 12 ++--
8 files changed, 91 insertions(+), 67 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/mina/blob/101a32e7/mina-benchmarks/src/test/java/org/apache/mina/core/MinaBenchmarkServer.java
----------------------------------------------------------------------
diff --git a/mina-benchmarks/src/test/java/org/apache/mina/core/MinaBenchmarkServer.java b/mina-benchmarks/src/test/java/org/apache/mina/core/MinaBenchmarkServer.java
index 0b27db7..f71a90f 100755
--- a/mina-benchmarks/src/test/java/org/apache/mina/core/MinaBenchmarkServer.java
+++ b/mina-benchmarks/src/test/java/org/apache/mina/core/MinaBenchmarkServer.java
@@ -74,19 +74,19 @@ public class MinaBenchmarkServer implements BenchmarkServer {
while (buffer.remaining() > 0) {
switch (state) {
case WAIT_FOR_FIRST_BYTE_LENGTH:
- length = (buffer.get() & 255) << 24;
+ length = (buffer.get() & 0xFF) << 24;
state = State.WAIT_FOR_SECOND_BYTE_LENGTH;
break;
case WAIT_FOR_SECOND_BYTE_LENGTH:
- length += (buffer.get() & 255) << 16;
+ length += (buffer.get() & 0xFF) << 16;
state = State.WAIT_FOR_THIRD_BYTE_LENGTH;
break;
case WAIT_FOR_THIRD_BYTE_LENGTH:
- length += (buffer.get() & 255) << 8;
+ length += (buffer.get() & 0xFF) << 8;
state = State.WAIT_FOR_FOURTH_BYTE_LENGTH;
break;
case WAIT_FOR_FOURTH_BYTE_LENGTH:
- length += (buffer.get() & 255);
+ length += (buffer.get() & 0xFF);
state = State.READING;
if ((length == 0) && (buffer.remaining() == 0)) {
session.write(ACK.slice());
http://git-wip-us.apache.org/repos/asf/mina/blob/101a32e7/mina-core/src/main/java/org/apache/mina/core/buffer/AbstractIoBuffer.java
----------------------------------------------------------------------
diff --git a/mina-core/src/main/java/org/apache/mina/core/buffer/AbstractIoBuffer.java b/mina-core/src/main/java/org/apache/mina/core/buffer/AbstractIoBuffer.java
index 183a115..4ce6425 100644
--- a/mina-core/src/main/java/org/apache/mina/core/buffer/AbstractIoBuffer.java
+++ b/mina-core/src/main/java/org/apache/mina/core/buffer/AbstractIoBuffer.java
@@ -1430,6 +1430,7 @@ public abstract class AbstractIoBuffer extends IoBuffer {
int b1 = getUnsigned(index);
int b2 = getUnsigned(index + 1);
int b3 = getUnsigned(index + 2);
+
if (ByteOrder.BIG_ENDIAN.equals(order())) {
return b1 << 16 | b2 << 8 | b3;
}
@@ -2167,8 +2168,10 @@ public abstract class AbstractIoBuffer extends IoBuffer {
int oldLimit = limit();
limit(position() + length);
+ ObjectInputStream in = null;
+
try {
- ObjectInputStream in = new ObjectInputStream(asInputStream()) {
+ in = new ObjectInputStream(asInputStream()) {
@Override
protected ObjectStreamClass readClassDescriptor() throws IOException, ClassNotFoundException {
int type = read();
@@ -2207,6 +2210,14 @@ public abstract class AbstractIoBuffer extends IoBuffer {
} catch (IOException e) {
throw new BufferDataException(e);
} finally {
+ try {
+ if (in != null) {
+ in.close();
+ }
+ } catch (IOException ioe) {
+ // Nothing to do
+ }
+
limit(oldLimit);
}
}
@@ -2218,8 +2229,10 @@ public abstract class AbstractIoBuffer extends IoBuffer {
public IoBuffer putObject(Object o) {
int oldPos = position();
skip(4); // Make a room for the length field.
+ ObjectOutputStream out = null;
+
try {
- ObjectOutputStream out = new ObjectOutputStream(asOutputStream()) {
+ out = new ObjectOutputStream(asOutputStream()) {
@Override
protected void writeClassDescriptor(ObjectStreamClass desc) throws IOException {
Class<?> clazz = desc.forClass();
@@ -2238,6 +2251,14 @@ public abstract class AbstractIoBuffer extends IoBuffer {
out.flush();
} catch (IOException e) {
throw new BufferDataException(e);
+ } finally {
+ try {
+ if (out != null) {
+ out.close();
+ }
+ } catch (IOException ioe) {
+ // Nothing to do
+ }
}
// Fill the length field
http://git-wip-us.apache.org/repos/asf/mina/blob/101a32e7/mina-core/src/main/java/org/apache/mina/filter/codec/statemachine/IntegerDecodingState.java
----------------------------------------------------------------------
diff --git a/mina-core/src/main/java/org/apache/mina/filter/codec/statemachine/IntegerDecodingState.java b/mina-core/src/main/java/org/apache/mina/filter/codec/statemachine/IntegerDecodingState.java
index 5fcbf97..e21672c 100644
--- a/mina-core/src/main/java/org/apache/mina/filter/codec/statemachine/IntegerDecodingState.java
+++ b/mina-core/src/main/java/org/apache/mina/filter/codec/statemachine/IntegerDecodingState.java
@@ -30,36 +30,38 @@ import org.apache.mina.filter.codec.ProtocolDecoderOutput;
* @author <a href="http://mina.apache.org">Apache MINA Project</a>
*/
public abstract class IntegerDecodingState implements DecodingState {
-
- private int firstByte;
-
- private int secondByte;
-
- private int thirdByte;
-
private int counter;
/**
* {@inheritDoc}
*/
public DecodingState decode(IoBuffer in, ProtocolDecoderOutput out) throws Exception {
+ int firstByte = 0;
+ int secondByte = 0;
+ int thirdByte = 0;
+
while (in.hasRemaining()) {
switch (counter) {
- case 0:
- firstByte = in.getUnsigned();
- break;
- case 1:
- secondByte = in.getUnsigned();
- break;
- case 2:
- thirdByte = in.getUnsigned();
- break;
- case 3:
- counter = 0;
- return finishDecode((firstByte << 24) | (secondByte << 16) | (thirdByte << 8) | in.getUnsigned(), out);
- default:
- throw new InternalError();
+ case 0:
+ firstByte = in.getUnsigned();
+ break;
+
+ case 1:
+ secondByte = in.getUnsigned();
+ break;
+
+ case 2:
+ thirdByte = in.getUnsigned();
+ break;
+
+ case 3:
+ counter = 0;
+ return finishDecode((firstByte << 24) | (secondByte << 16) | (thirdByte << 8) | in.getUnsigned(), out);
+
+ default:
+ throw new InternalError();
}
+
counter++;
}
http://git-wip-us.apache.org/repos/asf/mina/blob/101a32e7/mina-core/src/main/java/org/apache/mina/filter/codec/statemachine/ShortIntegerDecodingState.java
----------------------------------------------------------------------
diff --git a/mina-core/src/main/java/org/apache/mina/filter/codec/statemachine/ShortIntegerDecodingState.java b/mina-core/src/main/java/org/apache/mina/filter/codec/statemachine/ShortIntegerDecodingState.java
index a03d8c7..c81d4c8 100644
--- a/mina-core/src/main/java/org/apache/mina/filter/codec/statemachine/ShortIntegerDecodingState.java
+++ b/mina-core/src/main/java/org/apache/mina/filter/codec/statemachine/ShortIntegerDecodingState.java
@@ -30,24 +30,25 @@ import org.apache.mina.filter.codec.ProtocolDecoderOutput;
* @author <a href="http://mina.apache.org">Apache MINA Project</a>
*/
public abstract class ShortIntegerDecodingState implements DecodingState {
-
- private int highByte;
-
private int counter;
/**
* {@inheritDoc}
*/
public DecodingState decode(IoBuffer in, ProtocolDecoderOutput out) throws Exception {
+ int highByte = 0;
+
while (in.hasRemaining()) {
switch (counter) {
case 0:
highByte = in.getUnsigned();
break;
+
case 1:
counter = 0;
return finishDecode((short) ((highByte << 8) | in.getUnsigned()), out);
+
default:
throw new InternalError();
}
http://git-wip-us.apache.org/repos/asf/mina/blob/101a32e7/mina-core/src/main/java/org/apache/mina/proxy/ProxyConnector.java
----------------------------------------------------------------------
diff --git a/mina-core/src/main/java/org/apache/mina/proxy/ProxyConnector.java b/mina-core/src/main/java/org/apache/mina/proxy/ProxyConnector.java
index a1ab0b8..916b34e 100644
--- a/mina-core/src/main/java/org/apache/mina/proxy/ProxyConnector.java
+++ b/mina-core/src/main/java/org/apache/mina/proxy/ProxyConnector.java
@@ -213,7 +213,7 @@ public class ProxyConnector extends AbstractIoConnector {
*
* @param connector the connector to use
*/
- private final void setConnector(final SocketConnector connector) {
+ private void setConnector(final SocketConnector connector) {
if (connector == null) {
throw new IllegalArgumentException("connector cannot be null");
}
http://git-wip-us.apache.org/repos/asf/mina/blob/101a32e7/mina-core/src/main/java/org/apache/mina/proxy/handlers/socks/Socks5LogicHandler.java
----------------------------------------------------------------------
diff --git a/mina-core/src/main/java/org/apache/mina/proxy/handlers/socks/Socks5LogicHandler.java b/mina-core/src/main/java/org/apache/mina/proxy/handlers/socks/Socks5LogicHandler.java
index 0de96fd..fce364f 100644
--- a/mina-core/src/main/java/org/apache/mina/proxy/handlers/socks/Socks5LogicHandler.java
+++ b/mina-core/src/main/java/org/apache/mina/proxy/handlers/socks/Socks5LogicHandler.java
@@ -354,7 +354,7 @@ public class Socks5LogicHandler extends AbstractSocksLogicHandler {
if (buf.get(0) != 0x01) {
throw new IllegalStateException("Authentication failed");
}
- if (buf.get(1) == 0x00FF) {
+ if ((buf.get(1) & 0x00FF) == 0x00FF) {
throw new IllegalStateException("Authentication failed: GSS API Security Context Failure");
}
http://git-wip-us.apache.org/repos/asf/mina/blob/101a32e7/mina-core/src/main/java/org/apache/mina/util/Base64.java
----------------------------------------------------------------------
diff --git a/mina-core/src/main/java/org/apache/mina/util/Base64.java b/mina-core/src/main/java/org/apache/mina/util/Base64.java
index cb50d60..caa59a7 100644
--- a/mina-core/src/main/java/org/apache/mina/util/Base64.java
+++ b/mina-core/src/main/java/org/apache/mina/util/Base64.java
@@ -278,27 +278,27 @@ public class Base64 {
k = (byte) (b1 & 0x03);
byte val1 = ((b1 & SIGN) == 0) ? (byte) (b1 >> 2) : (byte) ((b1) >> 2 ^ 0xc0);
- byte val2 = ((b2 & SIGN) == 0) ? (byte) (b2 >> 4) : (byte) ((b2) >> 4 ^ 0xf0);
- byte val3 = ((b3 & SIGN) == 0) ? (byte) (b3 >> 6) : (byte) ((b3) >> 6 ^ 0xfc);
-
- encodedData[encodedIndex] = lookUpBase64Alphabet[val1];
- encodedData[encodedIndex + 1] = lookUpBase64Alphabet[val2 | (k << 4)];
- encodedData[encodedIndex + 2] = lookUpBase64Alphabet[(l << 2) | val3];
- encodedData[encodedIndex + 3] = lookUpBase64Alphabet[b3 & 0x3f];
-
- encodedIndex += 4;
-
- // If we are chunking, let's put a chunk separator down.
- if (isChunked) {
- // this assumes that CHUNK_SIZE % 4 == 0
- if (encodedIndex == nextSeparatorIndex) {
- System.arraycopy(CHUNK_SEPARATOR, 0, encodedData, encodedIndex, CHUNK_SEPARATOR.length);
- chunksSoFar++;
- nextSeparatorIndex = (CHUNK_SIZE * (chunksSoFar + 1)) + (chunksSoFar * CHUNK_SEPARATOR.length);
- encodedIndex += CHUNK_SEPARATOR.length;
+ byte val2 = ((b2 & SIGN) == 0) ? (byte) (b2 >> 4) : (byte) ((b2) >> 4 ^ 0xf0);
+ byte val3 = ((b3 & SIGN) == 0) ? (byte) (b3 >> 6) : (byte) ((b3) >> 6 ^ 0xfc);
+
+ encodedData[encodedIndex] = lookUpBase64Alphabet[val1];
+ encodedData[encodedIndex + 1] = lookUpBase64Alphabet[val2 | (k << 4)];
+ encodedData[encodedIndex + 2] = lookUpBase64Alphabet[(l << 2) | val3];
+ encodedData[encodedIndex + 3] = lookUpBase64Alphabet[b3 & 0x3f];
+
+ encodedIndex += 4;
+
+ // If we are chunking, let's put a chunk separator down.
+ if (isChunked) {
+ // this assumes that CHUNK_SIZE % 4 == 0
+ if (encodedIndex == nextSeparatorIndex) {
+ System.arraycopy(CHUNK_SEPARATOR, 0, encodedData, encodedIndex, CHUNK_SEPARATOR.length);
+ chunksSoFar++;
+ nextSeparatorIndex = (CHUNK_SIZE * (chunksSoFar + 1)) + (chunksSoFar * CHUNK_SEPARATOR.length);
+ encodedIndex += CHUNK_SEPARATOR.length;
+ }
}
}
- }
// form integral number of 6-bit groups
dataIndex = i * 3;
@@ -307,10 +307,10 @@ public class Base64 {
b1 = binaryData[dataIndex];
k = (byte) (b1 & 0x03);
byte val1 = ((b1 & SIGN) == 0) ? (byte) (b1 >> 2) : (byte) ((b1) >> 2 ^ 0xc0);
- encodedData[encodedIndex] = lookUpBase64Alphabet[val1];
- encodedData[encodedIndex + 1] = lookUpBase64Alphabet[k << 4];
- encodedData[encodedIndex + 2] = PAD;
- encodedData[encodedIndex + 3] = PAD;
+ encodedData[encodedIndex] = lookUpBase64Alphabet[val1];
+ encodedData[encodedIndex + 1] = lookUpBase64Alphabet[k << 4];
+ encodedData[encodedIndex + 2] = PAD;
+ encodedData[encodedIndex + 3] = PAD;
} else if (fewerThan24bits == SIXTEENBIT) {
b1 = binaryData[dataIndex];
@@ -319,12 +319,12 @@ public class Base64 {
k = (byte) (b1 & 0x03);
byte val1 = ((b1 & SIGN) == 0) ? (byte) (b1 >> 2) : (byte) ((b1) >> 2 ^ 0xc0);
- byte val2 = ((b2 & SIGN) == 0) ? (byte) (b2 >> 4) : (byte) ((b2) >> 4 ^ 0xf0);
-
- encodedData[encodedIndex] = lookUpBase64Alphabet[val1];
- encodedData[encodedIndex + 1] = lookUpBase64Alphabet[val2 | (k << 4)];
- encodedData[encodedIndex + 2] = lookUpBase64Alphabet[l << 2];
- encodedData[encodedIndex + 3] = PAD;
+ byte val2 = ((b2 & SIGN) == 0) ? (byte) (b2 >> 4) : (byte) ((b2) >> 4 ^ 0xf0);
+
+ encodedData[encodedIndex] = lookUpBase64Alphabet[val1];
+ encodedData[encodedIndex + 1] = lookUpBase64Alphabet[val2 | (k << 4)];
+ encodedData[encodedIndex + 2] = lookUpBase64Alphabet[l << 2];
+ encodedData[encodedIndex + 3] = PAD;
}
if (isChunked) {
http://git-wip-us.apache.org/repos/asf/mina/blob/101a32e7/mina-core/src/main/java/org/apache/mina/util/byteaccess/CompositeByteArray.java
----------------------------------------------------------------------
diff --git a/mina-core/src/main/java/org/apache/mina/util/byteaccess/CompositeByteArray.java b/mina-core/src/main/java/org/apache/mina/util/byteaccess/CompositeByteArray.java
index 6c67d8e..36cf17a 100644
--- a/mina-core/src/main/java/org/apache/mina/util/byteaccess/CompositeByteArray.java
+++ b/mina-core/src/main/java/org/apache/mina/util/byteaccess/CompositeByteArray.java
@@ -48,22 +48,22 @@ public final class CompositeByteArray extends AbstractByteArray {
/**
* Called when the first component in the composite is entered by the cursor.
*/
- public void enteredFirstComponent(int componentIndex, ByteArray component);
+ void enteredFirstComponent(int componentIndex, ByteArray component);
/**
* Called when the next component in the composite is entered by the cursor.
*/
- public void enteredNextComponent(int componentIndex, ByteArray component);
+ void enteredNextComponent(int componentIndex, ByteArray component);
/**
* Called when the previous component in the composite is entered by the cursor.
*/
- public void enteredPreviousComponent(int componentIndex, ByteArray component);
+ void enteredPreviousComponent(int componentIndex, ByteArray component);
/**
* Called when the last component in the composite is entered by the cursor.
*/
- public void enteredLastComponent(int componentIndex, ByteArray component);
+ void enteredLastComponent(int componentIndex, ByteArray component);
}
/**
@@ -985,9 +985,9 @@ public final class CompositeByteArray extends AbstractByteArray {
byte b0 = get();
byte b1 = get();
if (order.equals(ByteOrder.BIG_ENDIAN)) {
- return (char) ((b0 << 8) | (b1 << 0));
+ return (char)((b0 << 8) | (b1 & 0xFF));
} else {
- return (char) ((b1 << 8) | (b0 << 0));
+ return (char)((b1 << 8) | (b0 & 0xFF));
}
}
}