Allow dynamically enabling debug output
This has a significant performance impact because it prints to the JS
console for every packet. Enabled with:
postMessage({cmd:"debug",data:true})
Change-Id: Id052698882b5721f559e034fb0d6f6890e7d94a3
Signed-off-by: Kevin Cernekee <cernekee@chromium.org>
diff --git a/vpn_instance.cc b/vpn_instance.cc
index 02272c3..e74a9d5 100644
--- a/vpn_instance.cc
+++ b/vpn_instance.cc
@@ -46,6 +46,7 @@
const char* const kPause = "pause";
const char* const kResume = "resume";
const char* const kReconnect = "reconnect";
+const char* const kCmdDebug = "debug";
const char* const kCryptoGetCert = "crypto-getcert";
const char* const kCryptoGetPrivkey = "crypto-getprivkey";
const char* const kCryptoSign = "crypto-sign";
@@ -145,7 +146,7 @@
pp::Instance(instance) {
nacl_io_init_ppapi(instance, pp::Module::Get()->get_browser_interface());
core_ = pp::Module::Get()->core();
- debug_enabled_ = false; // XXX
+ debug_enabled_ = false;
InitBackgroundThreads();
pthread_mutex_init(&lib_mutex_, NULL);
@@ -206,6 +207,8 @@
// i.e. drop connection, then immediate reinstate it
SetDesiredState(kStateRunning);
SendCommand(OC_CMD_PAUSE);
+ } else if (cmd == kCmdDebug) {
+ debug_enabled_ = dict->Get(kData).AsBool();
} else {
Log(kError, "unrecognized command '%s'", cmd.c_str());
}