pbsbanner: use match and also return error
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
This commit is contained in:
		| @ -18,31 +18,28 @@ configure this server - connect to: | ||||
|         "" | ||||
|     ); | ||||
|  | ||||
|     if let Ok(saddrs) = addr.to_socket_addrs() { | ||||
|         let saddrs: Vec<_> = saddrs | ||||
|     let msg = match addr.to_socket_addrs() { | ||||
|         Ok(saddrs) => { | ||||
|             let saddrs: Vec<_> = saddrs | ||||
|             .filter_map(|s| match !s.ip().is_loopback() { | ||||
|                 true => Some(format!(" https://{}/", s)), | ||||
|                 false => None, | ||||
|             }) | ||||
|             .collect(); | ||||
|  | ||||
|         if !saddrs.is_empty() { | ||||
|             writeln!(&mut banner, "{}", saddrs.join("\n")).unwrap(); | ||||
|         } else { | ||||
|             writeln!( | ||||
|                 &mut banner, | ||||
|                 "hostname '{}' does not resolves to any non-loopback address", | ||||
|                 nodename | ||||
|             ) | ||||
|             .unwrap(); | ||||
|         } | ||||
|     } else { | ||||
|         writeln!(&mut banner, "could not resolve hostname '{}'", nodename).unwrap(); | ||||
|     } | ||||
|             if !saddrs.is_empty() { | ||||
|                 saddrs.join("\n") | ||||
|             } else { | ||||
|                 format!("hostname '{}' does not resolves to any non-loopback address", nodename) | ||||
|             } | ||||
|         }, | ||||
|         Err(e) => format!("could not resolve hostname '{}': {}", nodename, e), | ||||
|     }; | ||||
|     banner += &msg; | ||||
|  | ||||
|     // unwrap will never fail for write!: | ||||
|     // https://github.com/rust-lang/rust/blob/1.39.0/src/liballoc/string.rs#L2318-L2331 | ||||
|     write!(&mut banner, "\n{:-<78}\n\n", "").unwrap(); | ||||
|     write!(&mut banner, "\n\n{:-<78}\n\n", "").unwrap(); | ||||
|  | ||||
|     fs::write("/etc/issue", banner.as_bytes()).expect("Unable to write banner to issue file"); | ||||
| } | ||||
|  | ||||
		Reference in New Issue
	
	Block a user