From 77701527bc92cb2cbf1d9aa12a7bd90aa807dbde Mon Sep 17 00:00:00 2001 From: HIROE Shin Date: Tue, 2 Oct 2012 10:10:24 +0900 Subject: [PATCH 1/2] http header value to lowercase. --- src/org/java_websocket/drafts/Draft_76.java | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/org/java_websocket/drafts/Draft_76.java b/src/org/java_websocket/drafts/Draft_76.java index 5d6c4b8f6..944087cc7 100644 --- a/src/org/java_websocket/drafts/Draft_76.java +++ b/src/org/java_websocket/drafts/Draft_76.java @@ -130,8 +130,11 @@ public HandshakeState acceptHandshakeAsClient( ClientHandshake request, ServerHa @Override public HandshakeState acceptHandshakeAsServer( ClientHandshake handshakedata ) { - if( handshakedata.getFieldValue( "Upgrade" ).equals( "WebSocket" ) && handshakedata.getFieldValue( "Connection" ).contains( "Upgrade" ) && handshakedata.getFieldValue( "Sec-WebSocket-Key1" ).length() > 0 && !handshakedata.getFieldValue( "Sec-WebSocket-Key2" ).isEmpty() && handshakedata.hasFieldValue( "Origin" ) ) - return HandshakeState.MATCHED; + if( handshakedata.getFieldValue( "Upgrade" ).toLowerCase( Locale.ENGLISH ).equals( "websocket" ) && + handshakedata.getFieldValue( "Connection" ).toLowerCase( Locale.ENGLISH ).contains( "upgrade" ) && + handshakedata.getFieldValue( "Sec-WebSocket-Key1" ).length() > 0 && + !handshakedata.getFieldValue( "Sec-WebSocket-Key2" ).isEmpty() && handshakedata.hasFieldValue( "Origin" ) ) + return HandshakeState.MATCHED; return HandshakeState.NOT_MATCHED; } From 7da7b4b89f2427a7f1c0a9017a3b68dee4464905 Mon Sep 17 00:00:00 2001 From: HIROE Shin Date: Tue, 2 Oct 2012 11:08:30 +0900 Subject: [PATCH 2/2] add Locale class --- src/org/java_websocket/drafts/Draft_75.java | 4 +++- src/org/java_websocket/drafts/Draft_76.java | 4 +++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/org/java_websocket/drafts/Draft_75.java b/src/org/java_websocket/drafts/Draft_75.java index 091b8dced..63ef85fb0 100644 --- a/src/org/java_websocket/drafts/Draft_75.java +++ b/src/org/java_websocket/drafts/Draft_75.java @@ -5,6 +5,7 @@ import java.util.LinkedList; import java.util.List; import java.util.Random; +import java.util.Locale; import org.java_websocket.exceptions.InvalidDataException; import org.java_websocket.exceptions.InvalidHandshakeException; @@ -51,7 +52,8 @@ public class Draft_75 extends Draft { @Override public HandshakeState acceptHandshakeAsClient( ClientHandshake request, ServerHandshake response ) { - return request.getFieldValue( "WebSocket-Origin" ).equals( response.getFieldValue( "Origin" ) ) && basicAccept( response ) ? HandshakeState.MATCHED : HandshakeState.NOT_MATCHED; + return request.getFieldValue( "WebSocket-Origin" ).toLowerCase( Locale.ENGLISH ).equals( response.getFieldValue( "Origin" ).toLowerCase( Locale.ENGLISH ) ) && + basicAccept( response ) ? HandshakeState.MATCHED : HandshakeState.NOT_MATCHED; } @Override diff --git a/src/org/java_websocket/drafts/Draft_76.java b/src/org/java_websocket/drafts/Draft_76.java index 944087cc7..38a7d8356 100644 --- a/src/org/java_websocket/drafts/Draft_76.java +++ b/src/org/java_websocket/drafts/Draft_76.java @@ -8,6 +8,7 @@ import java.util.LinkedList; import java.util.List; import java.util.Random; +import java.util.Locale; import org.java_websocket.WebSocket.Role; import org.java_websocket.exceptions.IncompleteHandshakeException; @@ -133,7 +134,8 @@ public HandshakeState acceptHandshakeAsServer( ClientHandshake handshakedata ) { if( handshakedata.getFieldValue( "Upgrade" ).toLowerCase( Locale.ENGLISH ).equals( "websocket" ) && handshakedata.getFieldValue( "Connection" ).toLowerCase( Locale.ENGLISH ).contains( "upgrade" ) && handshakedata.getFieldValue( "Sec-WebSocket-Key1" ).length() > 0 && - !handshakedata.getFieldValue( "Sec-WebSocket-Key2" ).isEmpty() && handshakedata.hasFieldValue( "Origin" ) ) + !handshakedata.getFieldValue( "Sec-WebSocket-Key2" ).isEmpty() && + handshakedata.hasFieldValue( "Origin" ) ) return HandshakeState.MATCHED; return HandshakeState.NOT_MATCHED; }