nwconn: keep AFP file entry IDs on nwatalk fallback
All checks were successful
Source release / source-package (push) Successful in 47s

This commit is contained in:
Mario Fetka
2026-05-30 18:59:24 +00:00
parent 0a171048e8
commit 9032848c9a
3 changed files with 44 additions and 17 deletions

View File

@@ -550,16 +550,17 @@ static int afp_build_base_relative_path(int volume, uint32 base_entry_id,
static uint32 afp_namespace_entry_id(int volume, const struct stat *stb)
/*
* AFP entry IDs should follow the same object identity mars_nwe already uses
* for namespace/basehandle calls whenever possible. That keeps AFP
* entry-id-based lookups on the existing NetWare object resolver instead of
* maintaining a parallel AFP path database.
* Use mars_nwe namespace/basehandle IDs only for directories. The existing
* reverse mapper is the right object-id -> path path for directory handles,
* but regular files can collide with directory-number mappings on DOS
* namespace volumes. File AFP entry IDs therefore stay on nwatalk/fallback
* IDs until a proven file-entry reverse mapper is available.
*/
{
DEV_NAMESPACE_MAP dnm;
uint32 entry_id;
if (!stb) return(0);
if (!stb || !S_ISDIR(stb->st_mode)) return(0);
dnm.dev = stb->st_dev;
dnm.namespace = NAME_DOS;