Merge pull request 'Specify network iface values as consts' (#139) from iface_config_vars into main

Reviewed-on: #139
This commit is contained in:
glyph 2022-10-18 15:02:36 +00:00
commit 441d2a6a3b
8 changed files with 20 additions and 9 deletions

View File

@ -1,6 +1,6 @@
[package]
name = "peach-web"
version = "0.6.19"
version = "0.6.20"
authors = ["Andrew Reid <gnomad@cryptolab.net>", "Max Fowler <max@mfowler.info>"]
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."

View File

@ -39,6 +39,12 @@ lazy_static! {
static ref THEME: RwLock<Theme> = 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 {

View File

@ -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) => (

View File

@ -7,6 +7,7 @@ use rouille::Request;
use crate::{
templates,
utils::{flash::FlashRequest, theme},
WLAN_IFACE,
};
// ROUTE: /settings/network/wifi?<ssid>
@ -114,12 +115,12 @@ fn retrieve_network_data() -> (
Vec<String>,
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"),
};

View File

@ -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<String> {
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

View File

@ -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<String> {
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" {

View File

@ -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" }

View File

@ -8,6 +8,7 @@ use crate::{
flash::{FlashRequest, FlashResponse},
theme,
},
WLAN_IFACE,
};
// ROUTE: /settings/network/wifi/modify?<ssid>
@ -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) => (