diff --git a/peach-web/Cargo.toml b/peach-web/Cargo.toml index c3a34ab..63be68f 100644 --- a/peach-web/Cargo.toml +++ b/peach-web/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "peach-web" -version = "0.6.19" +version = "0.6.20" authors = ["Andrew Reid ", "Max Fowler "] edition = "2018" description = "peach-web is a web application which provides a web interface for monitoring and interacting with the PeachCloud device. This allows administration of the single-board computer (ie. Raspberry Pi) running PeachCloud, as well as the ssb-server and related plugins." diff --git a/peach-web/src/main.rs b/peach-web/src/main.rs index 868496d..01ccc73 100644 --- a/peach-web/src/main.rs +++ b/peach-web/src/main.rs @@ -39,6 +39,12 @@ lazy_static! { static ref THEME: RwLock = RwLock::new(Theme::Light); } +/// Wireless interface identifier. +pub const WLAN_IFACE: &str = "wlan0"; + +/// Access point interface identifier. +pub const AP_IFACE: &str = "ap0"; + /// Session data for each authenticated client. #[derive(Debug, Clone)] pub struct SessionData { diff --git a/peach-web/src/routes/settings/network/add_ap.rs b/peach-web/src/routes/settings/network/add_ap.rs index 1efc972..fed88ad 100644 --- a/peach-web/src/routes/settings/network/add_ap.rs +++ b/peach-web/src/routes/settings/network/add_ap.rs @@ -8,6 +8,7 @@ use crate::{ flash::{FlashRequest, FlashResponse}, theme, }, + WLAN_IFACE, }; // ROUTE: /settings/network/wifi/add @@ -73,7 +74,7 @@ pub fn handle_form(request: &Request) -> Response { pass: String, })); - let (name, msg) = match network::add("wlan0", &data.ssid, &data.pass) { + let (name, msg) = match network::add(WLAN_IFACE, &data.ssid, &data.pass) { Ok(_) => match network::reconfigure() { Ok(_) => ("success".to_string(), "Added WiFi credentials".to_string()), Err(err) => ( diff --git a/peach-web/src/routes/settings/network/ap_details.rs b/peach-web/src/routes/settings/network/ap_details.rs index 6a67847..20985b4 100644 --- a/peach-web/src/routes/settings/network/ap_details.rs +++ b/peach-web/src/routes/settings/network/ap_details.rs @@ -7,6 +7,7 @@ use rouille::Request; use crate::{ templates, utils::{flash::FlashRequest, theme}, + WLAN_IFACE, }; // ROUTE: /settings/network/wifi? @@ -114,12 +115,12 @@ fn retrieve_network_data() -> ( Vec, String, ) { - let all_wifi_networks = network::all_networks("wlan0"); + let all_wifi_networks = network::all_networks(WLAN_IFACE); let saved_wifi_networks = match network::saved_networks() { Ok(Some(ssids)) => ssids, _ => Vec::new(), }; - let wlan_ssid = match network::ssid("wlan0") { + let wlan_ssid = match network::ssid(WLAN_IFACE) { Ok(Some(ssid)) => ssid, _ => String::from("Not connected"), }; diff --git a/peach-web/src/routes/settings/network/data_usage_limits.rs b/peach-web/src/routes/settings/network/data_usage_limits.rs index efa5038..3e0fcb8 100644 --- a/peach-web/src/routes/settings/network/data_usage_limits.rs +++ b/peach-web/src/routes/settings/network/data_usage_limits.rs @@ -19,6 +19,7 @@ use vnstat_parse::Vnstat; use crate::{ templates, utils::{flash::FlashRequest, theme}, + WLAN_IFACE, }; // ROUTE: /settings/network/wifi/usage @@ -138,7 +139,7 @@ fn render_buttons() -> Markup { pub fn build_template(request: &Request) -> PreEscaped { let (flash_name, flash_msg) = request.retrieve_flash(); - let wlan_data = Vnstat::get("wlan0"); + let wlan_data = Vnstat::get(WLAN_IFACE); // wlan_data.all_time_total // wlan_data.all_time_total_unit diff --git a/peach-web/src/routes/settings/network/list_aps.rs b/peach-web/src/routes/settings/network/list_aps.rs index 9a78b0f..bc2b326 100644 --- a/peach-web/src/routes/settings/network/list_aps.rs +++ b/peach-web/src/routes/settings/network/list_aps.rs @@ -3,7 +3,7 @@ use std::collections::HashMap; use maud::{html, Markup, PreEscaped}; use peach_network::{network, network::AccessPoint}; -use crate::{templates, utils::theme}; +use crate::{templates, utils::theme, AP_IFACE, WLAN_IFACE}; // ROUTE: /settings/network/wifi @@ -65,7 +65,7 @@ fn render_network_unavailable_elements(ssid: String, ap_state: String) -> Markup /// WiFi network list template builder. pub fn build_template() -> PreEscaped { - let (ap_state, wlan_ssid, network_list) = get_network_state_data("ap0", "wlan0"); + let (ap_state, wlan_ssid, network_list) = get_network_state_data(AP_IFACE, WLAN_IFACE); let list_template = html! { div class="card center" { diff --git a/peach-web/src/routes/settings/network/menu.rs b/peach-web/src/routes/settings/network/menu.rs index e4ae934..2ccd451 100644 --- a/peach-web/src/routes/settings/network/menu.rs +++ b/peach-web/src/routes/settings/network/menu.rs @@ -5,6 +5,7 @@ use rouille::Request; use crate::{ templates, utils::{flash::FlashRequest, theme}, + AP_IFACE, }; // ROUTE: /settings/network @@ -12,7 +13,7 @@ use crate::{ /// Read the wireless interface mode (WiFi AP or client) and selectively render /// the activation button for the deactivated mode. fn render_mode_toggle_button() -> Markup { - match network::state("ap0") { + match network::state(AP_IFACE) { Ok(Some(state)) if state == "up" => { html! { a id="connectWifi" class="button button-primary center" href="/settings/network/wifi/activate" title="Enable WiFi" { "Enable WiFi" } diff --git a/peach-web/src/routes/settings/network/modify_ap.rs b/peach-web/src/routes/settings/network/modify_ap.rs index 8e7b6fd..86a92fb 100644 --- a/peach-web/src/routes/settings/network/modify_ap.rs +++ b/peach-web/src/routes/settings/network/modify_ap.rs @@ -8,6 +8,7 @@ use crate::{ flash::{FlashRequest, FlashResponse}, theme, }, + WLAN_IFACE, }; // ROUTE: /settings/network/wifi/modify? @@ -74,7 +75,7 @@ pub fn handle_form(request: &Request) -> Response { pass: String, })); - let (name, msg) = match network::id("wlan0", &data.ssid) { + let (name, msg) = match network::id(WLAN_IFACE, &data.ssid) { Ok(Some(id)) => match network::modify(&id, &data.ssid, &data.pass) { Ok(_) => ("success".to_string(), "WiFi password updated".to_string()), Err(err) => (