@@ -56,6 +56,7 @@ pub(crate) struct ProxyServer {
5656 cert_dir : PathBuf ,
5757 reset_tx : broadcast:: Sender < ( ) > ,
5858 https_cert_tx : broadcast:: Sender < ( String , String ) > ,
59+ clear_https_tx : broadcast:: Sender < ( ) > ,
5960 /// `Some` only when the main HTTP server is bound to port 80.
6061 /// Used to hand off port 80 gracefully during ACME HTTP-01 challenges.
6162 port80_pause_tx : Option < mpsc:: Sender < ( oneshot:: Sender < ( ) > , oneshot:: Receiver < ( ) > ) > > ,
@@ -73,6 +74,7 @@ impl ProxyServer {
7374 cert_dir : PathBuf ,
7475 reset_tx : broadcast:: Sender < ( ) > ,
7576 https_cert_tx : broadcast:: Sender < ( String , String ) > ,
77+ clear_https_tx : broadcast:: Sender < ( ) > ,
7678 port80_pause_tx : Option < mpsc:: Sender < ( oneshot:: Sender < ( ) > , oneshot:: Receiver < ( ) > ) > > ,
7779 logs_rx : LogsReceiver ,
7880 acme_staging : bool ,
@@ -88,6 +90,7 @@ impl ProxyServer {
8890 cert_dir,
8991 reset_tx,
9092 https_cert_tx,
93+ clear_https_tx,
9194 port80_pause_tx,
9295 logs_rx,
9396 acme_staging,
@@ -213,6 +216,7 @@ impl Clone for ProxyServer {
213216 cert_dir : self . cert_dir . clone ( ) ,
214217 reset_tx : self . reset_tx . clone ( ) ,
215218 https_cert_tx : self . https_cert_tx . clone ( ) ,
219+ clear_https_tx : self . clear_https_tx . clone ( ) ,
216220 port80_pause_tx : self . port80_pause_tx . clone ( ) ,
217221 logs_rx : Arc :: clone ( & self . logs_rx ) ,
218222 acme_staging : self . acme_staging ,
@@ -267,6 +271,7 @@ impl proxy_server::Proxy for ProxyServer {
267271 let connected = Arc :: clone ( & self . connected ) ;
268272 let cookie_key = Arc :: clone ( & self . cookie_key ) ;
269273 let https_cert_tx = self . https_cert_tx . clone ( ) ;
274+ let clear_https_tx = self . clear_https_tx . clone ( ) ;
270275 tokio:: spawn (
271276 async move {
272277 let mut stream = request. into_inner ( ) ;
@@ -292,6 +297,12 @@ impl proxy_server::Proxy for ProxyServer {
292297 ) ;
293298 }
294299 }
300+ core_response:: Payload :: ClearHttpsCerts ( _) => {
301+ info ! ( "Received ClearHttpsCerts from Core" ) ;
302+ if let Err ( err) = clear_https_tx. send ( ( ) ) {
303+ error ! ( "Failed to broadcast ClearHttpsCerts: {err}" ) ;
304+ }
305+ }
295306 other => {
296307 let maybe_rx = results. write ( ) . expect ( "Failed to acquire lock on results hashmap when processing response" ) . remove ( & response. id ) ;
297308 if let Some ( rx) = maybe_rx {
0 commit comments