diff --git a/tests/linux/afp_entry_id_smoke.c b/tests/linux/afp_entry_id_smoke.c index 9553738..70e8685 100644 --- a/tests/linux/afp_entry_id_smoke.c +++ b/tests/linux/afp_entry_id_smoke.c @@ -108,6 +108,11 @@ static NWCCODE allocate_temp_dir_handle(NWCONN_HANDLE conn, const char *volume, * Allocate Temporary Directory Handle request. This matches the way the * ncpfs tools allocate short directory handles and lets libncp choose the * correct request encoding for the connected server. + * + * Pass NCP_PATH_STD so libncp converts the VOL: path to NetWare's + * component-counted path format. Passing the raw "SYS:" bytes makes the + * server interpret the request payload incorrectly and returns 0x98 before + * the AFP endpoint is reached. */ err = ncp_ns_alloc_short_dir_handle(conn, NW_NS_DOS, @@ -115,7 +120,7 @@ static NWCCODE allocate_temp_dir_handle(NWCONN_HANDLE conn, const char *volume, 0, 0, (const unsigned char *)root_path, - volume_len + 1, + NCP_PATH_STD, NCP_ALLOC_TEMPORARY, &handle, NULL);