On Mon, Jan 15, 2018 at 11:59 AM, Ryan Underwood <r...@greymarketlabs.com>
wrote:

> Aaron and Mike,
>
> This may be an issue in the source for recording.c (line 83 and again for
> the naming retries):
>
>
>
>     /* Attempt to open recording */
>
>     *int* fd = open(basename, O_CREAT | O_EXCL | O_WRONLY, S_IRUSR |
> S_IWUSR);
>
>
>
> man(2) for open states that if you use O_CREAT you must supply the mode
> parameter which will set the permissions. However, the fd that is returned
> may still work as a r/w—so the program functions but the permissions may
> not be correct. For reference: http://man7.org/linux/man-
> pages/man2/open.2.html Perhaps this should be changed to open(3) with the
> intended mode_t supplied. I hesitate to even suggest this because I would
> have expected it to be a problem for more people if it’s actually the case.
>

The mode is specified there, actually. Things probably blur together a bit,
but there are indeed three parameters there. That last parameter, S_IRUSR |
S_IWUSR, is the symbolic way to represent mode 0600.

Using docker on windows they get created as rwxr-xr-x but that is a
> docker/windows concern (I think) so I’m unable to reproduce this behavior.
>

My suspicion is that Windows is ignoring the specified value, that the
underlying filesystem doesn't support UNIX-style file permissions, or that
something else at the system level is overriding things back to 0755.

- Mike

Reply via email to