From 23732fa5167f82d82d001671e271cf206ed68a2a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tomasz=20Drwi=C4=99ga?= Date: Fri, 24 Jun 2016 12:10:36 +0200 Subject: [PATCH 1/3] Fixing interface and port for parity ui --- parity/configuration.rs | 16 ++++++++++++++++ parity/dapps.rs | 7 +------ parity/main.rs | 9 ++++++--- parity/rpc.rs | 7 +------ 4 files changed, 24 insertions(+), 15 deletions(-) diff --git a/parity/configuration.rs b/parity/configuration.rs index 4560324d3..4d201ffa8 100644 --- a/parity/configuration.rs +++ b/parity/configuration.rs @@ -438,6 +438,22 @@ impl Configuration { Some(self.args.flag_signer_port) } } + + pub fn rpc_interface(&self) -> String { + match self.network_settings().rpc_interface.as_str() { + "all" => "0.0.0.0", + "local" => "127.0.0.1", + x => x, + }.into() + } + + pub fn dapps_interface(&self) -> String { + match self.args.flag_dapps_interface.as_str() { + "all" => "0.0.0.0", + "local" => "127.0.0.1", + x => x, + }.into() + } } #[cfg(test)] diff --git a/parity/dapps.rs b/parity/dapps.rs index 59a9ee552..917c59fc6 100644 --- a/parity/dapps.rs +++ b/parity/dapps.rs @@ -45,12 +45,7 @@ pub fn new(configuration: Configuration, deps: Dependencies) -> Option "0.0.0.0", - "local" => "127.0.0.1", - x => x, - }; - let url = format!("{}:{}", interface, configuration.port); + let url = format!("{}:{}", configuration.interface, configuration.port); let addr = SocketAddr::from_str(&url).unwrap_or_else(|_| die!("{}: Invalid Webapps listen host/port given.", url)); let auth = configuration.user.as_ref().map(|username| { diff --git a/parity/main.rs b/parity/main.rs index 8beba61b5..de1d81b0b 100644 --- a/parity/main.rs +++ b/parity/main.rs @@ -252,7 +252,7 @@ fn execute_client(conf: Configuration, spec: Spec, client_config: ClientConfig) // Setup http rpc let rpc_server = rpc::new_http(rpc::HttpConfiguration { enabled: network_settings.rpc_enabled, - interface: network_settings.rpc_interface.clone(), + interface: conf.rpc_interface(), port: network_settings.rpc_port, apis: conf.rpc_apis(), cors: conf.rpc_cors(), @@ -265,7 +265,7 @@ fn execute_client(conf: Configuration, spec: Spec, client_config: ClientConfig) if conf.args.flag_webapp { println!("WARNING: Flag -w/--webapp is deprecated. Dapps server is now on by default. Ignoring."); } let dapps_server = dapps::new(dapps::Configuration { enabled: !conf.args.flag_dapps_off && !conf.args.flag_no_dapps, - interface: conf.args.flag_dapps_interface.clone(), + interface: conf.dapps_interface(), port: conf.args.flag_dapps_port, user: conf.args.flag_dapps_user.clone(), pass: conf.args.flag_dapps_pass.clone(), @@ -296,7 +296,10 @@ fn execute_client(conf: Configuration, spec: Spec, client_config: ClientConfig) service.register_io_handler(io_handler).expect("Error registering IO handler"); if conf.args.cmd_ui { - url::open("http://localhost:8080/") + if conf.args.flag_dapps_off { + die_with_message("Cannot use UI command with Dapps turned off."); + } + url::open(&format!("http://{}:{}/", conf.dapps_interface(), conf.args.flag_dapps_port)); } // Handle exit diff --git a/parity/rpc.rs b/parity/rpc.rs index c10635889..df1e14524 100644 --- a/parity/rpc.rs +++ b/parity/rpc.rs @@ -66,13 +66,8 @@ pub fn new_http(conf: HttpConfiguration, deps: &Dependencies) -> Option "0.0.0.0", - "local" => "127.0.0.1", - x => x, - }; let apis = conf.apis.split(',').collect(); - let url = format!("{}:{}", interface, conf.port); + let url = format!("{}:{}", conf.interface, conf.port); let addr = SocketAddr::from_str(&url).unwrap_or_else(|_| die!("{}: Invalid JSONRPC listen host/port given.", url)); Some(setup_http_rpc_server(deps, &addr, conf.cors, apis)) From 566bb030ec48ef2ee7f1e3281fd3340df81b41b5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tomasz=20Drwi=C4=99ga?= Date: Fri, 24 Jun 2016 12:14:46 +0200 Subject: [PATCH 2/3] Fixing detecting if dapps are off --- parity/configuration.rs | 4 ++++ parity/main.rs | 4 ++-- parity/url.rs | 2 +- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/parity/configuration.rs b/parity/configuration.rs index 4d201ffa8..e27ad3f2a 100644 --- a/parity/configuration.rs +++ b/parity/configuration.rs @@ -454,6 +454,10 @@ impl Configuration { x => x, }.into() } + + pub fn dapps_enabled(&self) -> bool { + !self.args.flag_dapps_off && !self.args.flag_no_dapps + } } #[cfg(test)] diff --git a/parity/main.rs b/parity/main.rs index de1d81b0b..26f7b45ac 100644 --- a/parity/main.rs +++ b/parity/main.rs @@ -264,7 +264,7 @@ fn execute_client(conf: Configuration, spec: Spec, client_config: ClientConfig) if conf.args.flag_webapp { println!("WARNING: Flag -w/--webapp is deprecated. Dapps server is now on by default. Ignoring."); } let dapps_server = dapps::new(dapps::Configuration { - enabled: !conf.args.flag_dapps_off && !conf.args.flag_no_dapps, + enabled: conf.dapps_enabled(), interface: conf.dapps_interface(), port: conf.args.flag_dapps_port, user: conf.args.flag_dapps_user.clone(), @@ -296,7 +296,7 @@ fn execute_client(conf: Configuration, spec: Spec, client_config: ClientConfig) service.register_io_handler(io_handler).expect("Error registering IO handler"); if conf.args.cmd_ui { - if conf.args.flag_dapps_off { + if !conf.dapps_enabled() { die_with_message("Cannot use UI command with Dapps turned off."); } url::open(&format!("http://{}:{}/", conf.dapps_interface(), conf.args.flag_dapps_port)); diff --git a/parity/url.rs b/parity/url.rs index 8ab6a2eda..4ba866241 100644 --- a/parity/url.rs +++ b/parity/url.rs @@ -55,5 +55,5 @@ pub fn open(url: &str) { #[cfg(target_os="linux")] pub fn open(url: &str) { use std; - let _ = std::process::Command::new("xdg-open").arg(url).output(); + let _ = std::process::Command::new("xdg-open").arg(url).spawn(); } From 653a36878392399c84017a003b95ce278d833a6b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tomasz=20Drwi=C4=99ga?= Date: Fri, 24 Jun 2016 12:30:54 +0200 Subject: [PATCH 3/3] Changing macos impl --- parity/url.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/parity/url.rs b/parity/url.rs index 4ba866241..129812387 100644 --- a/parity/url.rs +++ b/parity/url.rs @@ -49,7 +49,7 @@ pub fn open(url: &str) { #[cfg(target_os="macos")] pub fn open(url: &str) { use std; - let _ = std::process::Command::new("open").arg(url).output(); + let _ = std::process::Command::new("open").arg(url).spawn(); } #[cfg(target_os="linux")]