emacs-bug-tracker
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#51773: closed (28.0.60; Issue writing files over WebDAV on MS-Window


From: GNU bug Tracking System
Subject: bug#51773: closed (28.0.60; Issue writing files over WebDAV on MS-Windows)
Date: Thu, 11 Nov 2021 19:44:02 +0000

Your message dated Thu, 11 Nov 2021 21:43:26 +0200
with message-id <83pmr6zdep.fsf@gnu.org>
and subject line Re: bug#51773: 28.0.60; Issue writing files over WebDAV on 
MS-Windows
has caused the debbugs.gnu.org bug report #51773,
regarding 28.0.60; Issue writing files over WebDAV on MS-Windows
to be marked as done.

(If you believe you have received this mail in error, please contact
help-debbugs@gnu.org.)


-- 
51773: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=51773
GNU Bug Tracking System
Contact help-debbugs@gnu.org with problems
--- Begin Message --- Subject: 28.0.60; Issue writing files over WebDAV on MS-Windows Date: Thu, 11 Nov 2021 19:16:19 +0000
Hi,

There appears to be an issue with Emacs on MS-Windows that prevents
writing to files over WebDAV with the following error message:

  Getting ACLs: Input/output error, //<server>//...//<filename>

To reproduce

1. C-x f to a UNC path or mapped drive pointing to a WebDAV server.
2. Insert some text and C-x s to save the file.
3. The above error message appears, the buffer is still marked as
modified and any other attempt to save the file fails with the same
error.

Analysis to follow.

In GNU Emacs 28.0.60 (build 2, x86_64-w64-mingw32)
 of 2021-11-11
Repository revision: 6dae01ad6da1bcbced062c0d46a6759c7a0570e4
Repository branch: emacs-28
Windowing system distributor 'Microsoft Corp.', version 10



--- End Message ---
--- Begin Message --- Subject: Re: bug#51773: 28.0.60; Issue writing files over WebDAV on MS-Windows Date: Thu, 11 Nov 2021 21:43:26 +0200
> From: Ioannis Kappas <ioannis.kappas@gmail.com>
> 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).


--- End Message ---

reply via email to

[Prev in Thread] Current Thread [Next in Thread]