Subject: Re: bug#51773: 28.0.60; Issue writing files over WebDAV on MS-Windows

From: Eli Zaretskii <[email-masked]>
Date: Thu, 11 Nov 2021 21:43:26 +0200

> From: Ioannis Kappas <[email-masked]>
> Date: Thu, 11 Nov 2021 19:22:16 +0000
> 
> Thus a solution, which I have tested it to work, is to add the
> ERROR_INVALID_FUNCTION to the predicate
> 
> diff --git a/src/w32.c b/src/w32.c
> index 9fe698d28d..0e066b12e7 100644
> --- a/src/w32.c
> +++ b/src/w32.c
> @@ -6614,10 +6614,11 @@ acl_get_file (const char *fname, acl_type_t type)
>      || err == ERROR_INVALID_NAME)
>       errno = ENOENT;
>     else if (err == ERROR_NOT_SUPPORTED
> -    /* ERROR_ACCESS_DENIED is what we get for a volume
> -       mounted by WebDAV, which evidently doesn't
> -       support ACLs.  */
> -    || err == ERROR_ACCESS_DENIED)
> +    /* ERROR_ACCESS_DENIED or ERROR_INVALID_FUNCTION is
> +       what we get for a volume mounted by WebDAV,
> +       which evidently doesn't support ACLs.  */
> +    || err == ERROR_ACCESS_DENIED
> +    || err == ERROR_INVALID_FUNCTION)
>       errno = ENOTSUP;
>     else
>       errno = EIO;
> 
> Please let me know if you require more info.

Thanks, installed on the emacs-28 branch (there was one more place
which needed the same fix, a few lines above the one you fixed).