Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(20)

Unified Diff: runtime/bin/main.cc

Issue 2515023002: Allow binding the vm service to IPv6 addresses. (Closed)
Patch Set: . Created 4 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | runtime/bin/vmservice/server.dart » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: runtime/bin/main.cc
diff --git a/runtime/bin/main.cc b/runtime/bin/main.cc
index 21fde137d62be90016eece862e7baf3ff78f0e70..2f07f919b1dfdc8c49b8abde222342ecb0d15b65 100644
--- a/runtime/bin/main.cc
+++ b/runtime/bin/main.cc
@@ -108,7 +108,7 @@ static bool trace_loading = false;
static Dart_Isolate main_isolate = NULL;
-static const char* DEFAULT_VM_SERVICE_SERVER_IP = "127.0.0.1";
+static const char* DEFAULT_VM_SERVICE_SERVER_IP = "localhost";
static const int DEFAULT_VM_SERVICE_SERVER_PORT = 8181;
// VM Service options.
static const char* vm_service_server_ip = DEFAULT_VM_SERVICE_SERVER_IP;
@@ -223,17 +223,18 @@ static void* GetHashmapKeyFromString(char* key) {
}
-static bool ExtractPortAndIP(const char* option_value,
- int* out_port,
- const char** out_ip,
- int default_port,
- const char* default_ip) {
+static bool ExtractPortAndAddress(const char* option_value,
+ int* out_port,
+ const char** out_ip,
+ int default_port,
+ const char* default_ip) {
// [option_value] has to be one of the following formats:
// - ""
// - ":8181"
// - "=8181"
// - ":8181/192.168.0.1"
// - "=8181/192.168.0.1"
+ // - "=8181/::1"
if (*option_value == '\0') {
*out_ip = default_ip;
@@ -253,16 +254,9 @@ static bool ExtractPortAndIP(const char* option_value,
return true;
}
- int _, n;
- if (sscanf(option_value + 1, "%d/%d.%d.%d.%d%n", // NOLINT(runtime/printf)
- &_, &_, &_, &_, &_, &n)) {
- if (option_value[1 + n] == '\0') {
- *out_ip = slash + 1;
- *out_port = port;
- return true;
- }
- }
- return false;
+ *out_ip = slash + 1;
+ *out_port = port;
+ return true;
}
@@ -376,12 +370,12 @@ static bool ProcessEnableVmServiceOption(const char* option_value,
CommandLineOptions* vm_options) {
ASSERT(option_value != NULL);
- if (!ExtractPortAndIP(option_value, &vm_service_server_port,
- &vm_service_server_ip, DEFAULT_VM_SERVICE_SERVER_PORT,
- DEFAULT_VM_SERVICE_SERVER_IP)) {
+ if (!ExtractPortAndAddress(
+ option_value, &vm_service_server_port, &vm_service_server_ip,
+ DEFAULT_VM_SERVICE_SERVER_PORT, DEFAULT_VM_SERVICE_SERVER_IP)) {
Log::PrintErr(
"unrecognized --enable-vm-service option syntax. "
- "Use --enable-vm-service[=<port number>[/<IPv4 address>]]\n");
+ "Use --enable-vm-service[=<port number>[/<bind address>]]\n");
return false;
}
@@ -405,12 +399,12 @@ static bool ProcessObserveOption(const char* option_value,
CommandLineOptions* vm_options) {
ASSERT(option_value != NULL);
- if (!ExtractPortAndIP(option_value, &vm_service_server_port,
- &vm_service_server_ip, DEFAULT_VM_SERVICE_SERVER_PORT,
- DEFAULT_VM_SERVICE_SERVER_IP)) {
+ if (!ExtractPortAndAddress(
+ option_value, &vm_service_server_port, &vm_service_server_ip,
+ DEFAULT_VM_SERVICE_SERVER_PORT, DEFAULT_VM_SERVICE_SERVER_IP)) {
Log::PrintErr(
"unrecognized --observe option syntax. "
- "Use --observe[=<port number>[/<IPv4 address>]]\n");
+ "Use --observe[=<port number>[/<bind address>]]\n");
return false;
}
@@ -1030,7 +1024,7 @@ static void PrintUsage() {
"\n"
"--enable-vm-service[=<port>[/<bind-address>]]\n"
" enables the VM service and listens on specified port for connections\n"
-" (default port number is 8181, default bind address is 127.0.0.1).\n"
+" (default port number is 8181, default bind address is localhost).\n"
#if !defined(TARGET_OS_MACOS)
"\n"
"--root-certs-file=<path>\n"
« no previous file with comments | « no previous file | runtime/bin/vmservice/server.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698