diff --git a/kotlin/android/app/src/main/java/dev/firezone/android/tunnel/model/Resource.kt b/kotlin/android/app/src/main/java/dev/firezone/android/tunnel/model/Resource.kt index 2cb26ad14..51d2cbf07 100644 --- a/kotlin/android/app/src/main/java/dev/firezone/android/tunnel/model/Resource.kt +++ b/kotlin/android/app/src/main/java/dev/firezone/android/tunnel/model/Resource.kt @@ -29,6 +29,9 @@ enum class TypeEnum { @Json(name = "cidr") CIDR, + + @Json(name = "internet") + Internet, } enum class StatusEnum { diff --git a/rust/connlib/shared/src/callbacks.rs b/rust/connlib/shared/src/callbacks.rs index 8d5d59923..bf9ec9f3b 100644 --- a/rust/connlib/shared/src/callbacks.rs +++ b/rust/connlib/shared/src/callbacks.rs @@ -34,7 +34,7 @@ impl ResourceDescription { match self { ResourceDescription::Dns(r) => &r.name, ResourceDescription::Cidr(r) => &r.name, - ResourceDescription::Internet(_) => "Internet", + ResourceDescription::Internet(r) => &r.name, } } @@ -120,8 +120,15 @@ pub struct ResourceDescriptionCidr { /// Description of an Internet resource #[derive(Debug, Serialize, Deserialize, Clone, PartialEq, Eq, Hash, PartialOrd, Ord)] pub struct ResourceDescriptionInternet { + /// Name for display always set to "Internet Resource" + pub name: String, + + /// Address for display always set to "All internet addresses" + pub address: String, + pub id: ResourceId, pub sites: Vec, + pub status: Status, pub can_be_disabled: bool, } diff --git a/rust/connlib/shared/src/messages/client.rs b/rust/connlib/shared/src/messages/client.rs index ae1aba083..e3304ba2d 100644 --- a/rust/connlib/shared/src/messages/client.rs +++ b/rust/connlib/shared/src/messages/client.rs @@ -86,6 +86,8 @@ pub struct ResourceDescriptionInternet { impl ResourceDescriptionInternet { pub fn with_status(self, status: Status) -> crate::callbacks::ResourceDescriptionInternet { crate::callbacks::ResourceDescriptionInternet { + name: "Internet Resource".to_string(), + address: "All internet addresses".to_string(), id: self.id, sites: self.sites, can_be_disabled: false, diff --git a/rust/gui-client/src-tauri/src/client/gui/system_tray.rs b/rust/gui-client/src-tauri/src/client/gui/system_tray.rs index 9ed951f15..fd1bf6467 100644 --- a/rust/gui-client/src-tauri/src/client/gui/system_tray.rs +++ b/rust/gui-client/src-tauri/src/client/gui/system_tray.rs @@ -338,9 +338,8 @@ mod tests { { "id": "1106047c-cd5d-4151-b679-96b93da7383b", "type": "internet", - "name": "internet", - "address": "0.0.0.0/0", - "address_description": "The whole entire Internet", + "name": "Internet Resource", + "address": "All internet addresses", "sites": [{"name": "test", "id": "eb94482a-94f4-47cb-8127-14fb3afa5516"}], "status": "Offline", "can_be_disabled": false @@ -448,12 +447,12 @@ mod tests { .copyable(GATEWAY_CONNECTED), ) .add_submenu( - "Internet", + "Internet Resource", Menu::default() .copyable("") .separator() .disabled("Resource") - .copyable("Internet") + .copyable("Internet Resource") .copyable("") .item( Event::AddFavorite( @@ -535,12 +534,12 @@ mod tests { .copyable(NO_ACTIVITY), ) .add_submenu( - "Internet", + "Internet Resource", Menu::default() .copyable("") .separator() .disabled("Resource") - .copyable("Internet") + .copyable("Internet Resource") .copyable("") .item( Event::AddFavorite(ResourceId::from_str( @@ -622,12 +621,12 @@ mod tests { .copyable(GATEWAY_CONNECTED), ) .add_submenu( - "Internet", + "Internet Resource", Menu::default() .copyable("") .separator() .disabled("Resource") - .copyable("Internet") + .copyable("Internet Resource") .copyable("") .item( Event::AddFavorite(ResourceId::from_str( diff --git a/swift/apple/FirezoneKit/Sources/FirezoneKit/Models/Resource.swift b/swift/apple/FirezoneKit/Sources/FirezoneKit/Models/Resource.swift index a7a50870f..ef682730d 100644 --- a/swift/apple/FirezoneKit/Sources/FirezoneKit/Models/Resource.swift +++ b/swift/apple/FirezoneKit/Sources/FirezoneKit/Models/Resource.swift @@ -77,4 +77,5 @@ public enum ResourceType: String, Decodable { case dns = "dns" case cidr = "cidr" case ip = "ip" + case internet = "internet" }