@@ -6,8 +6,9 @@ use tokio::io::AsyncWriteExt;
66// this is for pip
77use std:: path:: PathBuf ;
88use std:: process:: exit;
9+ use std:: str:: FromStr ;
910use std:: sync:: Arc ;
10- use std:: net:: IpAddr ;
11+ use std:: net:: { IpAddr , SocketAddr } ;
1112use tokio:: sync:: mpsc;
1213use tokio:: io:: AsyncReadExt ;
1314use crate :: server_api:: APISocket ;
@@ -82,7 +83,7 @@ impl ServerManager {
8283 }
8384 ServerMessage :: SyncPeers ( peer_change_message) => {
8485 if let Some ( public_key) = peer_change_message. remove_public_key {
85- if server_manager. config. map( |x|x. identity. pk_base64 != public_key) . unwrap_or_else ( true ) {
86+ if server_manager. config. as_ref ( ) . map( |x|x. identity. pk_base64 != public_key) . unwrap_or ( true ) {
8687 match Identity :: get_pub_identity_from_base64( & public_key) {
8788 Ok ( ( x_pub_key, _) ) => {
8889 server_manager. wr_manager. remove_peer( & x_pub_key) . await ;
@@ -96,23 +97,25 @@ impl ServerManager {
9697 if let Some ( peer) = peer_change_message. add_peer {
9798 let ip: IpAddr = peer. address. first( ) . unwrap( ) . parse( ) . unwrap( ) ;
9899 let allowed_ip: Vec <AllowedIP > = peer. allowed_ip. into_iter( ) . map( |ip| AllowedIP :: from_str( & ip) . unwrap( ) ) . collect( ) ;
100+ let endpoint = peer. endpoint. map( |endpoint| endpoint. parse:: <SocketAddr >( ) . unwrap( ) ) ;
101+ let ( x_pub_key, _) = Identity :: get_pub_identity_from_base64( & peer. public_key) . unwrap( ) ;
99102 server_manager. wr_manager. add_peer(
100- peer. public_key,
101- false ,
102- peer. endpoint,
103+ x_pub_key,
104+ endpoint,
103105 & allowed_ip,
104106 ip,
105107 Some ( peer. persistence_keep_alive as u16 ) ,
106108 ) . await ;
107109 }
108110 if let Some ( peer) = peer_change_message. change_peer {
109- if server_manager. config. map( |x|x. identity. pk_base64 != public_key) . unwrap_or_else ( true ) {
111+ if server_manager. config. as_ref ( ) . map( |x|x. identity. pk_base64 != peer . public_key) . unwrap_or ( true ) {
110112 let ip: IpAddr = peer. address. first( ) . unwrap( ) . parse( ) . unwrap( ) ;
111113 let allowed_ip: Vec <AllowedIP > = peer. allowed_ip. into_iter( ) . map( |ip| AllowedIP :: from_str( & ip) . unwrap( ) ) . collect( ) ;
114+ let endpoint = peer. endpoint. map( |endpoint| endpoint. parse:: <SocketAddr >( ) . unwrap( ) ) ;
115+ let ( x_pub_key, _) = Identity :: get_pub_identity_from_base64( & peer. public_key) . unwrap( ) ;
112116 server_manager. wr_manager. add_peer(
113- peer. public_key,
114- false ,
115- peer. endpoint,
117+ x_pub_key,
118+ endpoint,
116119 & allowed_ip,
117120 ip,
118121 Some ( peer. persistence_keep_alive as u16 ) ,
0 commit comments