Commit 881c8fd
committed
fix: descend into mountable share entries during network search
Shares below a server URI such as smb://server/ are reported by gvfs
as mountable entries, not directories, and their canonical location is
only available in the standard::target-uri attribute. The search
traversal only queued directories, so a search started from a server
view matched share names without descending into any share.
Request target-uri during search enumeration and queue mountable
entries via their resolved URI. Mounted shares are now searched
recursively; enumerating an unmounted share fails with NotMounted and
is skipped, so no mount prompts are triggered. Also track visited URIs
to guard against traversal cycles now that redirects are followed.
Verified against a samba container: gio reports the share as mountable
with a target-uri, search from the server view now recurses into the
mounted share, and completes cleanly with only the share name match
when the share is unmounted.
This change was developed with AI assistance. I have reviewed and
tested the changes and understand them in full.1 parent d70fb7b commit 881c8fd
1 file changed
Lines changed: 23 additions & 3 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
279 | 279 | | |
280 | 280 | | |
281 | 281 | | |
| 282 | + | |
| 283 | + | |
| 284 | + | |
| 285 | + | |
282 | 286 | | |
283 | 287 | | |
| 288 | + | |
284 | 289 | | |
285 | 290 | | |
| 291 | + | |
| 292 | + | |
| 293 | + | |
| 294 | + | |
| 295 | + | |
286 | 296 | | |
287 | | - | |
| 297 | + | |
288 | 298 | | |
289 | 299 | | |
290 | 300 | | |
| |||
322 | 332 | | |
323 | 333 | | |
324 | 334 | | |
325 | | - | |
326 | | - | |
| 335 | + | |
| 336 | + | |
| 337 | + | |
| 338 | + | |
| 339 | + | |
| 340 | + | |
| 341 | + | |
| 342 | + | |
| 343 | + | |
| 344 | + | |
| 345 | + | |
| 346 | + | |
327 | 347 | | |
328 | 348 | | |
329 | 349 | | |
| |||
0 commit comments