netwerk/test/unit/socks_client_subprocess.js

Thu, 15 Jan 2015 15:55:04 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Thu, 15 Jan 2015 15:55:04 +0100
branch
TOR_BUG_9701
changeset 9
a63d609f5ebe
permissions
-rw-r--r--

Back out 97036ab72558 which inappropriately compared turds to third parties.

     1 const CC = Components.Constructor;
     2 const Cc = Components.classes;
     3 const Ci = Components.interfaces;
     5 const BinaryInputStream = CC("@mozilla.org/binaryinputstream;1",
     6                              "nsIBinaryInputStream",
     7                              "setInputStream");
     8 const ProtocolProxyService = CC("@mozilla.org/network/protocol-proxy-service;1",
     9                                 "nsIProtocolProxyService");
    10 var sts = Cc["@mozilla.org/network/socket-transport-service;1"]
    11           .getService(Ci.nsISocketTransportService);
    13 function launchConnection(socks_vers, socks_port, dest_host, dest_port, dns)
    14 {
    15   var pi_flags = 0;
    16   if (dns == 'remote')
    17     pi_flags = Ci.nsIProxyInfo.TRANSPARENT_PROXY_RESOLVES_HOST;
    19   var pps = new ProtocolProxyService();
    20   var pi = pps.newProxyInfo(socks_vers, 'localhost', socks_port,
    21           pi_flags, -1, null);
    22   var trans = sts.createTransport(null, 0, dest_host, dest_port, pi);
    23   var input = trans.openInputStream(Ci.nsITransport.OPEN_BLOCKING,0,0);
    24   var output = trans.openOutputStream(Ci.nsITransport.OPEN_BLOCKING,0,0);
    25   var bin = new BinaryInputStream(input);
    26   var data = bin.readBytes(5);
    27   if (data == 'PING!') {
    28     print('client: got ping, sending pong.');
    29     output.write('PONG!', 5);
    30   } else {
    31     print('client: wrong data from server:', data);
    32     output.write('Error: wrong data received.', 27);
    33   }
    34   output.close();
    35 }
    37 for each (var arg in arguments) {
    38   print('client: running test', arg);
    39   test = arg.split('|');
    40   launchConnection(test[0], parseInt(test[1]), test[2],
    41        parseInt(test[3]), test[4]);
    42 }

mercurial