feat: multiple shared directories
Shares::scan_many merges several roots into one index, suffixing duplicate root names so virtual paths cannot collide, and skipping unreadable roots instead of failing. ClientSettings now takes shared_directories: Vec<String>; config gains a shared_dirs list (combined with the single shared_dir and --shared-dir, deduped), with an explicitly empty value still disabling sharing and the share-what-you-download default unchanged.
This commit is contained in:
@@ -96,7 +96,7 @@ impl TestServer {
|
||||
server_address: PeerAddress::new(self.host.clone(), self.port),
|
||||
enable_listen: false,
|
||||
listen_port: 0,
|
||||
shared_directory: None,
|
||||
shared_directories: Vec::new(),
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1164,7 +1164,7 @@ fn two_real_clients_search_and_download() {
|
||||
|
||||
let sharer_port = free_port().expect("sharer port");
|
||||
let mut sharer = Client::with_settings(ClientSettings {
|
||||
shared_directory: Some(share_dir.display().to_string()),
|
||||
shared_directories: vec![share_dir.display().to_string()],
|
||||
..server.listening_settings("e2e_sharer", "pw", sharer_port)
|
||||
});
|
||||
sharer.connect().expect("sharer connect");
|
||||
@@ -1260,7 +1260,7 @@ fn browse_a_peers_shared_files() {
|
||||
|
||||
let sharer_port = free_port().expect("sharer port");
|
||||
let mut sharer = Client::with_settings(ClientSettings {
|
||||
shared_directory: Some(share_dir.display().to_string()),
|
||||
shared_directories: vec![share_dir.display().to_string()],
|
||||
..server.listening_settings("e2e_browsee", "pw", sharer_port)
|
||||
});
|
||||
sharer.connect().expect("sharer connect");
|
||||
@@ -1316,7 +1316,7 @@ fn browse_a_firewalled_peer_via_broker() {
|
||||
// Sharer does NOT listen (firewalled): the browser's direct dial will fail,
|
||||
// forcing the server-brokered connect-back.
|
||||
let mut sharer = Client::with_settings(ClientSettings {
|
||||
shared_directory: Some(share_dir.display().to_string()),
|
||||
shared_directories: vec![share_dir.display().to_string()],
|
||||
..server.settings("e2e_fw_sharer", "pw")
|
||||
});
|
||||
sharer.connect().expect("sharer connect");
|
||||
|
||||
Reference in New Issue
Block a user