@@ -5,6 +5,8 @@ use anyhow::{Context, Result, anyhow};
55use serde:: { Deserialize , Serialize } ;
66
77const DEFAULT_APP_CONFIG : & str = include_str ! ( "../assets/defaults/linuxdo-accelerator.toml" ) ;
8+ const OLD_DEFAULT_LOOPBACK : & str = "127.0.0.1" ;
9+ const NEW_DEFAULT_LOOPBACK : & str = "127.211.73.84" ;
810
911#[ derive( Debug , Clone , Serialize , Deserialize ) ]
1012pub struct AppConfig {
@@ -84,6 +86,7 @@ impl AppConfig {
8486 if let Ok ( mut config) = toml:: from_str :: < AppConfig > ( & content) {
8587 let defaults = default_app_config ( ) ;
8688 let mut changed = false ;
89+ changed |= migrate_loopback_defaults ( & mut config) ;
8790 changed |= merge_missing_values ( & mut config. doh_endpoints , defaults. doh_endpoints ) ;
8891 changed |= merge_missing_values ( & mut config. proxy_domains , defaults. proxy_domains ) ;
8992 changed |= merge_missing_values (
@@ -127,6 +130,7 @@ impl AppConfig {
127130 ca_common_name : legacy. ca_common_name ,
128131 server_common_name : legacy. server_common_name ,
129132 } ;
133+ migrate_loopback_defaults ( & mut config) ;
130134 merge_missing_values ( & mut config. doh_endpoints , defaults. doh_endpoints ) ;
131135 merge_missing_values ( & mut config. proxy_domains , defaults. proxy_domains ) ;
132136 merge_missing_values (
@@ -213,6 +217,22 @@ fn merge_missing_values(target: &mut Vec<String>, defaults: Vec<String>) -> bool
213217 changed
214218}
215219
220+ fn migrate_loopback_defaults ( config : & mut AppConfig ) -> bool {
221+ let mut changed = false ;
222+
223+ if config. listen_host == OLD_DEFAULT_LOOPBACK {
224+ config. listen_host = NEW_DEFAULT_LOOPBACK . to_string ( ) ;
225+ changed = true ;
226+ }
227+
228+ if config. hosts_ip == OLD_DEFAULT_LOOPBACK {
229+ config. hosts_ip = NEW_DEFAULT_LOOPBACK . to_string ( ) ;
230+ changed = true ;
231+ }
232+
233+ changed
234+ }
235+
216236fn normalize_toml ( content : & str ) -> String {
217237 content
218238 . lines ( )
0 commit comments