]> git.proxmox.com Git - mirror_novnc.git/commitdiff
Fix web-socket-js: encode sent data across FABridge.
authorJoel Martin <jmartin@sentryds.com>
Fri, 28 May 2010 19:10:57 +0000 (14:10 -0500)
committerJoel Martin <jmartin@sentryds.com>
Fri, 28 May 2010 20:34:54 +0000 (15:34 -0500)
include/web-socket-js/flash-src/WebSocket.as
include/web-socket-js/web_socket.js

index 40085c18e5150fe021b0acd5e2e6b6e504fd645a..df254b524046a534a731b141f40cab6828658260 100644 (file)
@@ -104,14 +104,14 @@ public class WebSocket extends EventDispatcher {
   public function send(data:String):int {
     if (readyState == OPEN) {
       socket.writeByte(0x00);
-      socket.writeUTFBytes(data);
+      socket.writeUTFBytes(decodeURIComponent(data));
       socket.writeByte(0xff);
       socket.flush();
       main.log("sent: " + data);
       return -1;
     } else if (readyState == CLOSED) {
       var bytes:ByteArray = new ByteArray();
-      bytes.writeUTFBytes(data);
+      bytes.writeUTFBytes(decodeURIComponent(data));
       bufferedAmount += bytes.length; // not sure whether it should include \x00 and \xff
       // We use return value to let caller know bufferedAmount because we cannot fire
       // stateChange event here which causes weird error:
index 69053a114a1fd5e0ece2c1f3f822a41da9549872..d5f2ccce45bc0085ba7c5238ed42a58683f7d476 100755 (executable)
@@ -86,7 +86,7 @@
     if (!this.__flash || this.readyState == WebSocket.CONNECTING) {
       throw "INVALID_STATE_ERR: Web Socket connection has not been established";
     }
-    var result = this.__flash.send(data);
+    var result = this.__flash.send(encodeURIComponent(data));
     if (result < 0) { // success
       return true;
     } else {